LLVM 20.0.0git
|
Special value supplied for machine level alias analysis. More...
#include "llvm/CodeGen/PseudoSourceValue.h"
Public Types | |
enum | PSVKind : unsigned { Stack , GOT , JumpTable , ConstantPool , FixedStack , GlobalValueCallEntry , ExternalSymbolCallEntry , TargetCustom } |
Public Member Functions | |
PseudoSourceValue (unsigned Kind, const TargetMachine &TM) | |
virtual | ~PseudoSourceValue () |
unsigned | kind () const |
bool | isStack () const |
bool | isGOT () const |
bool | isConstantPool () const |
bool | isJumpTable () const |
unsigned | getAddressSpace () const |
unsigned | getTargetCustom () const |
virtual bool | isConstant (const MachineFrameInfo *) const |
Test whether the memory pointed to by this PseudoSourceValue has a constant value. | |
virtual bool | isAliased (const MachineFrameInfo *) const |
Test whether the memory pointed to by this PseudoSourceValue may also be pointed to by an LLVM IR Value. | |
virtual bool | mayAlias (const MachineFrameInfo *) const |
Return true if the memory pointed to by this PseudoSourceValue can ever alias an LLVM IR Value. | |
Friends | |
class | MachineMemOperand |
class | MIRFormatter |
raw_ostream & | llvm::operator<< (raw_ostream &OS, const PseudoSourceValue *PSV) |
Special value supplied for machine level alias analysis.
It indicates that a memory access references the functions stack frame (e.g., a spill slot), below the stack frame (e.g., argument space), or constant pool.
Definition at line 31 of file PseudoSourceValue.h.
Enumerator | |
---|---|
Stack | |
GOT | |
JumpTable | |
ConstantPool | |
FixedStack | |
GlobalValueCallEntry | |
ExternalSymbolCallEntry | |
TargetCustom |
Definition at line 33 of file PseudoSourceValue.h.
|
explicit |
Definition at line 27 of file PseudoSourceValue.cpp.
|
virtualdefault |
|
inline |
Definition at line 69 of file PseudoSourceValue.h.
|
inline |
Definition at line 71 of file PseudoSourceValue.h.
References TargetCustom.
|
virtual |
Test whether the memory pointed to by this PseudoSourceValue may also be pointed to by an LLVM IR Value.
Reimplemented in llvm::CallEntryPseudoSourceValue, llvm::AMDGPUPseudoSourceValue, llvm::AMDGPUGWSResourcePseudoSourceValue, and llvm::FixedStackPseudoSourceValue.
Definition at line 49 of file PseudoSourceValue.cpp.
References isConstantPool(), isGOT(), isJumpTable(), isStack(), and llvm_unreachable.
|
virtual |
Test whether the memory pointed to by this PseudoSourceValue has a constant value.
Reimplemented in llvm::CallEntryPseudoSourceValue, llvm::AMDGPUPseudoSourceValue, and llvm::FixedStackPseudoSourceValue.
Definition at line 41 of file PseudoSourceValue.cpp.
References isConstantPool(), isGOT(), isJumpTable(), isStack(), and llvm_unreachable.
|
inline |
Definition at line 66 of file PseudoSourceValue.h.
References ConstantPool.
Referenced by isAliased(), isConstant(), and mayAlias().
|
inline |
Definition at line 65 of file PseudoSourceValue.h.
References GOT.
Referenced by isAliased(), isConstant(), and mayAlias().
|
inline |
Definition at line 67 of file PseudoSourceValue.h.
References JumpTable.
Referenced by isAliased(), isConstant(), and mayAlias().
|
inline |
Definition at line 64 of file PseudoSourceValue.h.
References Stack.
Referenced by isAliased(), and isConstant().
|
inline |
Definition at line 62 of file PseudoSourceValue.h.
Referenced by ValidateMVEStore().
|
virtual |
Return true if the memory pointed to by this PseudoSourceValue can ever alias an LLVM IR Value.
Reimplemented in llvm::FixedStackPseudoSourceValue, llvm::CallEntryPseudoSourceValue, llvm::AMDGPUPseudoSourceValue, and llvm::AMDGPUGWSResourcePseudoSourceValue.
Definition at line 55 of file PseudoSourceValue.cpp.
References isConstantPool(), isGOT(), and isJumpTable().
Referenced by llvm::TargetInstrInfo::describeLoadedValue(), and MemOperandsHaveAlias().
|
friend |
|
friend |
Definition at line 50 of file PseudoSourceValue.h.
|
friend |
Definition at line 51 of file PseudoSourceValue.h.