|
LLVM 22.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 |
| LLVM_ABI friend 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 33 of file PseudoSourceValue.h.
| Enumerator | |
|---|---|
| Stack | |
| GOT | |
| JumpTable | |
| ConstantPool | |
| FixedStack | |
| GlobalValueCallEntry | |
| ExternalSymbolCallEntry | |
| TargetCustom | |
Definition at line 35 of file PseudoSourceValue.h.
|
explicit |
Definition at line 27 of file PseudoSourceValue.cpp.
Referenced by llvm::AMDGPUPseudoSourceValue::AMDGPUPseudoSourceValue(), llvm::CallEntryPseudoSourceValue::CallEntryPseudoSourceValue(), llvm::FixedStackPseudoSourceValue::classof(), llvm::FixedStackPseudoSourceValue::FixedStackPseudoSourceValue(), llvm::operator<<, and MIRFormatter.
|
virtualdefault |
|
inline |
Definition at line 71 of file PseudoSourceValue.h.
|
inline |
Definition at line 73 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::AMDGPUGWSResourcePseudoSourceValue, llvm::AMDGPUPseudoSourceValue, llvm::CallEntryPseudoSourceValue, 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::AMDGPUPseudoSourceValue, llvm::CallEntryPseudoSourceValue, and llvm::FixedStackPseudoSourceValue.
Definition at line 41 of file PseudoSourceValue.cpp.
References isConstantPool(), isGOT(), isJumpTable(), isStack(), and llvm_unreachable.
|
inline |
Definition at line 68 of file PseudoSourceValue.h.
References ConstantPool.
Referenced by isAliased(), isConstant(), and mayAlias().
|
inline |
Definition at line 67 of file PseudoSourceValue.h.
References GOT.
Referenced by isAliased(), isConstant(), and mayAlias().
|
inline |
Definition at line 69 of file PseudoSourceValue.h.
References JumpTable.
Referenced by isAliased(), isConstant(), and mayAlias().
|
inline |
Definition at line 66 of file PseudoSourceValue.h.
References Stack.
Referenced by isAliased(), and isConstant().
|
inline |
Definition at line 64 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::AMDGPUGWSResourcePseudoSourceValue, llvm::AMDGPUPseudoSourceValue, llvm::CallEntryPseudoSourceValue, and llvm::FixedStackPseudoSourceValue.
Definition at line 55 of file PseudoSourceValue.cpp.
References isConstantPool(), isGOT(), and isJumpTable().
Referenced by llvm::TargetInstrInfo::describeLoadedValue(), and MemOperandsHaveAlias().
|
friend |
References LLVM_ABI, and PseudoSourceValue().
|
friend |
Definition at line 52 of file PseudoSourceValue.h.
References MachineMemOperand.
Referenced by MachineMemOperand.
|
friend |
Definition at line 53 of file PseudoSourceValue.h.
References MIRFormatter, and PseudoSourceValue().
Referenced by MIRFormatter.