LLVM: include/llvm/CodeGen/PseudoSourceValue.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef LLVM_CODEGEN_PSEUDOSOURCEVALUE_H
14#define LLVM_CODEGEN_PSEUDOSOURCEVALUE_H
15
17
18namespace llvm {
19
27
29
30
31
32
34public:
45
46private:
47 unsigned Kind;
51
54
55
56
57 virtual void printCustom(raw_ostream &O) const;
58
59public:
61
63
64 unsigned kind() const { return Kind; }
65
67 bool isGOT() const { return Kind == GOT; }
70
72
76
77
78
80
81
82
84
85
86
88};
89
90
91
93 const int FI;
94
95public:
98
102
104
106
108
109 void printCustom(raw_ostream &OS) const override;
110
112};
113
115protected:
117
118public:
122};
123
124
127
128public:
131
135
137};
138
139
141 const char *ES;
142
143public:
146
150
152};
153
154}
155
156#endif
static bool mayAlias(MachineInstr &MIa, SmallVectorImpl< MachineInstr * > &MemInsns, AliasAnalysis *AA)
static bool isConstant(const MachineInstr &MI)
CallEntryPseudoSourceValue(unsigned Kind, const TargetMachine &TM)
bool isAliased(const MachineFrameInfo *) const override
Test whether the memory pointed to by this PseudoSourceValue may also be pointed to by an LLVM IR Val...
LLVM_ABI ExternalSymbolPseudoSourceValue(const char *ES, const TargetMachine &TM)
const char * getSymbol() const
Definition PseudoSourceValue.h:151
static bool classof(const PseudoSourceValue *V)
Definition PseudoSourceValue.h:147
FixedStackPseudoSourceValue(int FI, const TargetMachine &TM)
Definition PseudoSourceValue.h:96
static bool classof(const PseudoSourceValue *V)
Definition PseudoSourceValue.h:99
int getFrameIndex() const
Definition PseudoSourceValue.h:111
LLVM_ABI GlobalValuePseudoSourceValue(const GlobalValue *GV, const TargetMachine &TM)
const GlobalValue * getValue() const
Definition PseudoSourceValue.h:136
static bool classof(const PseudoSourceValue *V)
Definition PseudoSourceValue.h:132
MIRFormater - Interface to format MIR operand based on target.
The MachineFrameInfo class represents an abstract stack frame until prolog/epilog code is inserted.
A description of a memory reference used in the backend.
Special value supplied for machine level alias analysis.
Definition PseudoSourceValue.h:33
bool isGOT() const
Definition PseudoSourceValue.h:67
friend class MachineMemOperand
Definition PseudoSourceValue.h:52
virtual ~PseudoSourceValue()
unsigned getAddressSpace() const
Definition PseudoSourceValue.h:71
PseudoSourceValue(unsigned Kind, const TargetMachine &TM)
friend class MIRFormatter
Definition PseudoSourceValue.h:53
unsigned getTargetCustom() const
Definition PseudoSourceValue.h:73
PSVKind
Definition PseudoSourceValue.h:35
@ GOT
Definition PseudoSourceValue.h:37
@ Stack
Definition PseudoSourceValue.h:36
@ GlobalValueCallEntry
Definition PseudoSourceValue.h:41
@ JumpTable
Definition PseudoSourceValue.h:38
@ ExternalSymbolCallEntry
Definition PseudoSourceValue.h:42
@ ConstantPool
Definition PseudoSourceValue.h:39
@ TargetCustom
Definition PseudoSourceValue.h:43
@ FixedStack
Definition PseudoSourceValue.h:40
bool isStack() const
Definition PseudoSourceValue.h:66
bool isConstantPool() const
Definition PseudoSourceValue.h:68
bool isJumpTable() const
Definition PseudoSourceValue.h:69
unsigned kind() const
Definition PseudoSourceValue.h:64
Primary interface to the complete machine description for the target machine.
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.
raw_ostream & operator<<(raw_ostream &OS, const APFixedPoint &FX)