16 #ifndef LLVM_CODEGEN_MACHINECONSTANTPOOL_H
17 #define LLVM_CODEGEN_MACHINECONSTANTPOOL_H
27 class FoldingSetNodeID;
31 class MachineConstantPool;
37 virtual void anchor();
56 unsigned Alignment) = 0;
136 unsigned PoolAlignment;
137 std::vector<MachineConstantPoolEntry> Constants;
145 : TM(TM), PoolAlignment(1) {}
159 bool isEmpty()
const {
return Constants.empty(); }
MachineConstantPoolValue * MachineCPVal
COFF::RelocationTypeX86 Type
The machine constant pool.
virtual void print(raw_ostream &O) const =0
print - Implement operator<<
virtual void addSelectionDAGCSEId(FoldingSetNodeID &ID)=0
MachineConstantPoolEntry(MachineConstantPoolValue *V, unsigned A)
unsigned getRelocationInfo() const
MachineConstantPoolEntry(const Constant *V, unsigned A)
ID
LLVM Calling Convention Representation.
virtual int getExistingMachineCPValue(MachineConstantPool *CP, unsigned Alignment)=0
An entry in a MachineConstantPool.
MachineConstantPoolValue(Type *ty)
bool isMachineConstantPoolEntry() const
const Constant * ConstVal
bool isEmpty() const
isEmpty - Return true if this constant pool contains no constants.
LLVM Constant Representation.
union llvm::MachineConstantPoolEntry::@29 Val
The constant itself.
MachineConstantPool(const TargetMachine &TM)
The only constructor.
void print(raw_ostream &OS) const
void dump() const
dump - Call print(cerr) to be called from the debugger.
unsigned getConstantPoolAlignment() const
raw_ostream & operator<<(raw_ostream &OS, const APInt &I)
virtual ~MachineConstantPoolValue()
const std::vector< MachineConstantPoolEntry > & getConstants() const
virtual unsigned getRelocationInfo() const =0
unsigned getConstantPoolIndex(const Constant *C, unsigned Alignment)