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.