LLVM
8.0.1
|
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 TargetInstrInfo &TII) | |
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. More... | |
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. More... | |
virtual bool | mayAlias (const MachineFrameInfo *) const |
Return true if the memory pointed to by this PseudoSourceValue can ever alias an LLVM IR Value. More... | |
Friends | |
class | MachineMemOperand |
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 37 of file PseudoSourceValue.h.
Enumerator | |
---|---|
Stack | |
GOT | |
JumpTable | |
ConstantPool | |
FixedStack | |
GlobalValueCallEntry | |
ExternalSymbolCallEntry | |
TargetCustom |
Definition at line 39 of file PseudoSourceValue.h.
|
explicit |
Definition at line 28 of file PseudoSourceValue.cpp.
References llvm::TargetInstrInfo::getAddressSpaceForPseudoSourceKind().
|
virtual |
Definition at line 34 of file PseudoSourceValue.cpp.
References llvm::RISCVFenceField::O, and TargetCustom.
|
inline |
Definition at line 74 of file PseudoSourceValue.h.
Referenced by llvm::MachinePointerInfo::MachinePointerInfo().
|
inline |
Definition at line 76 of file PseudoSourceValue.h.
References isAliased(), isConstant(), mayAlias(), and 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::FixedStackPseudoSourceValue, llvm::AMDGPUBufferPseudoSourceValue, and llvm::AMDGPUImagePseudoSourceValue.
Definition at line 51 of file PseudoSourceValue.cpp.
References isConstantPool(), isGOT(), isJumpTable(), isStack(), and llvm_unreachable.
Referenced by llvm::FixedStackPseudoSourceValue::classof(), and getTargetCustom().
|
virtual |
Test whether the memory pointed to by this PseudoSourceValue has a constant value.
Reimplemented in llvm::CallEntryPseudoSourceValue, llvm::FixedStackPseudoSourceValue, llvm::AMDGPUBufferPseudoSourceValue, and llvm::AMDGPUImagePseudoSourceValue.
Definition at line 43 of file PseudoSourceValue.cpp.
References isConstantPool(), isGOT(), isJumpTable(), isStack(), and llvm_unreachable.
Referenced by llvm::FixedStackPseudoSourceValue::classof(), and getTargetCustom().
|
inline |
Definition at line 71 of file PseudoSourceValue.h.
References ConstantPool.
Referenced by isAliased(), isConstant(), and mayAlias().
|
inline |
Definition at line 70 of file PseudoSourceValue.h.
References GOT.
Referenced by isAliased(), isConstant(), and mayAlias().
|
inline |
Definition at line 72 of file PseudoSourceValue.h.
References JumpTable.
Referenced by isAliased(), isConstant(), and mayAlias().
|
inline |
Definition at line 69 of file PseudoSourceValue.h.
References Stack.
Referenced by isAliased(), isConstant(), and isStackPtrRelative().
|
inline |
Definition at line 67 of file PseudoSourceValue.h.
References Kind.
Referenced by llvm::FixedStackPseudoSourceValue::classof(), llvm::GlobalValuePseudoSourceValue::classof(), llvm::ExternalSymbolPseudoSourceValue::classof(), and INITIALIZE_PASS().
|
virtual |
Return true if the memory pointed to by this PseudoSourceValue can ever alias an LLVM IR Value.
Reimplemented in llvm::CallEntryPseudoSourceValue, llvm::FixedStackPseudoSourceValue, llvm::AMDGPUBufferPseudoSourceValue, and llvm::AMDGPUImagePseudoSourceValue.
Definition at line 57 of file PseudoSourceValue.cpp.
References isConstantPool(), isGOT(), and isJumpTable().
Referenced by llvm::FixedStackPseudoSourceValue::classof(), getTargetCustom(), and llvm::MachineInstr::mayAlias().
|
friend |
|
friend |
Definition at line 56 of file PseudoSourceValue.h.