LLVM: lib/Target/NVPTX/NVPTXMCExpr.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11#ifndef LLVM_LIB_TARGET_NVPTX_NVPTXMCEXPR_H

12#define LLVM_LIB_TARGET_NVPTX_NVPTXMCEXPR_H

13

16#include

17

18namespace llvm {

19

21public:

29

30private:

31 const VariantKind Kind;

33

35 : Kind(Kind), Flt(std::move(Flt)) {}

36

37public:

38

39

40

41 static const NVPTXFloatMCExpr *create(VariantKind Kind, const APFloat &Flt,

42 MCContext &Ctx);

43

48

53

58

63

64

65

66

67

68

70

71

73

74

75

83

87};

88

89

90

91class NVPTXGenericMCSymbolRefExpr : public MCTargetExpr {

92private:

94

95 explicit NVPTXGenericMCSymbolRefExpr(const MCSymbolRefExpr *_SymExpr)

96 : SymExpr(_SymExpr) {}

97

98public:

99

100

101

102 static const NVPTXGenericMCSymbolRefExpr

104

105

106

107

108

109

111

112

113

121

125 };

126}

127

128#endif

This file declares a class to represent arbitrary precision floating point values and provide a varie...

static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")

This class is intended to be used as a base class for asm properties and features specific to the tar...

Context object for machine code objects.

Base class for the full range of assembler expressions which are needed for parsing.

@ Target

Target specific expression.

Streaming machine code generation interface.

Represent a reference to a symbol from inside an expression.

Definition NVPTXMCExpr.h:20

static const NVPTXFloatMCExpr * createConstantBFPHalf(const APFloat &Flt, MCContext &Ctx)

Definition NVPTXMCExpr.h:44

static const NVPTXFloatMCExpr * createConstantFPHalf(const APFloat &Flt, MCContext &Ctx)

Definition NVPTXMCExpr.h:49

VariantKind

Definition NVPTXMCExpr.h:22

@ VK_NVPTX_HALF_PREC_FLOAT

Definition NVPTXMCExpr.h:25

@ VK_NVPTX_BFLOAT_PREC_FLOAT

Definition NVPTXMCExpr.h:24

@ VK_NVPTX_DOUBLE_PREC_FLOAT

Definition NVPTXMCExpr.h:27

@ VK_NVPTX_None

Definition NVPTXMCExpr.h:23

@ VK_NVPTX_SINGLE_PREC_FLOAT

Definition NVPTXMCExpr.h:26

APFloat getAPFloat() const

getSubExpr - Get the child of this expression.

Definition NVPTXMCExpr.h:72

VariantKind getKind() const

getOpcode - Get the kind of this expression.

Definition NVPTXMCExpr.h:69

void visitUsedExpr(MCStreamer &Streamer) const override

Definition NVPTXMCExpr.h:81

static const NVPTXFloatMCExpr * createConstantFPSingle(const APFloat &Flt, MCContext &Ctx)

Definition NVPTXMCExpr.h:54

static const NVPTXFloatMCExpr * create(VariantKind Kind, const APFloat &Flt, MCContext &Ctx)

void printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const override

bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm) const override

Definition NVPTXMCExpr.h:77

static const NVPTXFloatMCExpr * createConstantFPDouble(const APFloat &Flt, MCContext &Ctx)

Definition NVPTXMCExpr.h:59

static bool classof(const MCExpr *E)

Definition NVPTXMCExpr.h:84

MCFragment * findAssociatedFragment() const override

Definition NVPTXMCExpr.h:82

static const NVPTXGenericMCSymbolRefExpr * create(const MCSymbolRefExpr *SymExpr, MCContext &Ctx)

void visitUsedExpr(MCStreamer &Streamer) const override

Definition NVPTXMCExpr.h:119

MCFragment * findAssociatedFragment() const override

Definition NVPTXMCExpr.h:120

const MCSymbolRefExpr * getSymbolExpr() const

getOpcode - Get the kind of this expression.

Definition NVPTXMCExpr.h:110

bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm) const override

Definition NVPTXMCExpr.h:115

void printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const override

static bool classof(const MCExpr *E)

Definition NVPTXMCExpr.h:122

This class implements an extremely fast bulk output stream that can only output to a stream.

This is an optimization pass for GlobalISel generic memory operations.

OutputIt move(R &&Range, OutputIt Out)

Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.

Implement std::hash so that hash_code can be used in STL containers.