14 #ifndef LLVM_CODEGEN_PSEUDOSOURCEVALUE_H 15 #define LLVM_CODEGEN_PSEUDOSOURCEVALUE_H 25 class MachineFrameInfo;
26 class MachineMemOperand;
28 class TargetInstrInfo;
30 raw_ostream &
operator<<(raw_ostream &OS,
const MachineMemOperand &MMO);
31 class PseudoSourceValue;
32 raw_ostream &
operator<<(raw_ostream &OS,
const PseudoSourceValue* PSV);
160 std::map<int, std::unique_ptr<FixedStackPseudoSourceValue>> FSValues;
164 std::unique_ptr<const GlobalValuePseudoSourceValue>>
This class represents lattice values for constants.
virtual bool mayAlias(const MachineFrameInfo *) const
Return true if the memory pointed to by this PseudoSourceValue can ever alias an LLVM IR 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 Val...
virtual ~PseudoSourceValue()
int getFrameIndex() const
virtual bool isConstant(const MachineFrameInfo *) const
Test whether the memory pointed to by this PseudoSourceValue has a constant value.
A description of a memory reference used in the backend.
const HexagonInstrInfo * TII
The MachineFrameInfo class represents an abstract stack frame until prolog/epilog code is inserted...
unsigned getTargetCustom() const
TargetInstrInfo - Interface to description of machine instruction set.
unsigned getAddressSpace() const
bool isConstantPool() const
static bool classof(const PseudoSourceValue *V)
FixedStackPseudoSourceValue(int FI, const TargetInstrInfo &TII)
StringMap - This is an unconventional map that is specialized for handling keys that are "strings"...
A specialized pseudo source value for holding external symbol values.
Special value supplied for machine level alias analysis.
A specialized pseudo soruce value for holding GlobalValue values.
static bool classof(const PseudoSourceValue *V)
const GlobalValue * getValue() const
static bool classof(const PseudoSourceValue *V)
PseudoSourceValue(unsigned Kind, const TargetInstrInfo &TII)
raw_ostream & operator<<(raw_ostream &OS, const APInt &I)
This class implements an extremely fast bulk output stream that can only output to a stream...
Manages creation of pseudo source values.
A specialized PseudoSourceValue for holding FixedStack values, which must include a frame index...
AddressSpace
An integer that identifies all of the supported AVR address spaces.
const char * getSymbol() const