LLVM: include/llvm/MC/MCValue.h Source File (original) (raw)

Go to the documentation of this file.

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_MC_MCVALUE_H

14#define LLVM_MC_MCVALUE_H

15

18

19namespace llvm {

21

22

23

24

25

26

27

28

29

31 const MCSymbol *SymA = nullptr, *SymB = nullptr;

32 int64_t Cst = 0;

34

36

37

38 void dump() const;

39

40public:

48

52

53

54 bool isAbsolute() const { return !SymA && !SymB; }

55

57 int64_t Val = 0, uint32_t Specifier = 0) {

59 R.Cst = Val;

60 R.SymA = SymA;

61 R.SymB = SymB;

62 R.Specifier = Specifier;

63 return R;

64 }

65

68 R.Cst = Val;

69 R.SymA = nullptr;

70 R.SymB = nullptr;

71 R.Specifier = 0;

72 return R;

73 }

74

75};

76

77}

78

79#endif

static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")

MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...

static MCValue get(const MCSymbol *SymA, const MCSymbol *SymB=nullptr, int64_t Val=0, uint32_t Specifier=0)

Definition MCValue.h:56

const MCSymbol * getAddSym() const

Definition MCValue.h:49

void setSpecifier(uint32_t S)

Definition MCValue.h:47

friend class MCExpr

Definition MCValue.h:42

int64_t getConstant() const

Definition MCValue.h:44

friend class MCAssembler

Definition MCValue.h:41

void setAddSym(const MCSymbol *A)

Definition MCValue.h:50

void setConstant(int64_t C)

Definition MCValue.h:45

static MCValue get(int64_t Val)

Definition MCValue.h:66

uint32_t getSpecifier() const

Definition MCValue.h:46

const MCSymbol * getSubSym() const

Definition MCValue.h:51

bool isAbsolute() const

Is this an absolute (as opposed to relocatable) value.

Definition MCValue.h:54

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

@ C

The default llvm calling convention, compatible with C.

This is an optimization pass for GlobalISel generic memory operations.