LLVM API Documentation
An entry in a MachineConstantPool. More...
#include <MachineConstantPool.h>
Public Member Functions | |
MachineConstantPoolEntry (const Constant *V, unsigned A) | |
MachineConstantPoolEntry (MachineConstantPoolValue *V, unsigned A) | |
bool | isMachineConstantPoolEntry () const |
int | getAlignment () const |
Type * | getType () const |
unsigned | getRelocationInfo () const |
SectionKind | getSectionKind (const DataLayout *DL) const |
Public Attributes | |
union { | |
const Constant * ConstVal | |
MachineConstantPoolValue * MachineCPVal | |
} | Val |
The constant itself. | |
unsigned | Alignment |
An entry in a MachineConstantPool.
This class is a data container for one entry in a MachineConstantPool. It contains a pointer to the value and an offset from the start of the constant pool.
Definition at line 76 of file MachineConstantPool.h.
llvm::MachineConstantPoolEntry::MachineConstantPoolEntry | ( | const Constant * | V, |
unsigned | A | ||
) | [inline] |
Definition at line 88 of file MachineConstantPool.h.
References Val.
llvm::MachineConstantPoolEntry::MachineConstantPoolEntry | ( | MachineConstantPoolValue * | V, |
unsigned | A | ||
) | [inline] |
Definition at line 92 of file MachineConstantPool.h.
int llvm::MachineConstantPoolEntry::getAlignment | ( | ) | const [inline] |
Definition at line 105 of file MachineConstantPool.h.
References Alignment.
Referenced by llvm::AsmPrinter::EmitConstantPool().
getRelocationInfo - This method classifies the entry according to whether or not it may generate a relocation entry. This must be conservative, so if it might codegen to a relocatable entry, it should say so. The return values are:
0: This constant pool entry is guaranteed to never have a relocation applied to it (because it holds a simple constant like '4'). 1: This entry has relocations, but the entries are guaranteed to be resolvable by the static linker, so the dynamic linker will never see them. 2: This entry may have arbitrary relocations.
Definition at line 839 of file MachineFunction.cpp.
References isMachineConstantPoolEntry(), and Val.
Referenced by getSectionKind().
SectionKind MachineConstantPoolEntry::getSectionKind | ( | const DataLayout * | DL | ) | const |
Definition at line 846 of file MachineFunction.cpp.
References llvm::SectionKind::getMergeableConst(), llvm::SectionKind::getMergeableConst16(), llvm::SectionKind::getMergeableConst4(), llvm::SectionKind::getMergeableConst8(), llvm::SectionKind::getReadOnlyWithRel(), llvm::SectionKind::getReadOnlyWithRelLocal(), getRelocationInfo(), getType(), llvm::DataLayout::getTypeAllocSize(), and llvm_unreachable.
Referenced by llvm::AsmPrinter::EmitConstantPool(), and llvm::X86AsmPrinter::GetCPISymbol().
Type * MachineConstantPoolEntry::getType | ( | ) | const |
Definition at line 832 of file MachineFunction.cpp.
References isMachineConstantPoolEntry(), and Val.
Referenced by llvm::AsmPrinter::EmitConstantPool(), llvm::X86AsmPrinter::EmitInstruction(), and getSectionKind().
bool llvm::MachineConstantPoolEntry::isMachineConstantPoolEntry | ( | ) | const [inline] |
isMachineConstantPoolEntry - Return true if the MachineConstantPoolEntry is indeed a target specific constantpool entry, not a wrapper over a Constant.
Definition at line 101 of file MachineConstantPool.h.
References Alignment.
Referenced by llvm::AsmPrinter::EmitConstantPool(), llvm::ARMAsmPrinter::EmitInstruction(), llvm::X86AsmPrinter::EmitInstruction(), llvm::MipsAsmPrinter::EmitInstruction(), llvm::X86AsmPrinter::GetCPISymbol(), getRelocationInfo(), getType(), and llvm::ARMBaseInstrInfo::produceSameValue().
The required alignment for this entry. The top bit is set when Val is a target specific MachineConstantPoolValue.
Definition at line 86 of file MachineConstantPool.h.
Referenced by getAlignment(), isMachineConstantPoolEntry(), and MachineConstantPoolEntry().
Definition at line 80 of file MachineConstantPool.h.
Referenced by llvm::AsmPrinter::EmitConstantPool(), llvm::ARMAsmPrinter::EmitInstruction(), llvm::X86AsmPrinter::EmitInstruction(), llvm::MipsAsmPrinter::EmitInstruction(), llvm::X86AsmPrinter::GetCPISymbol(), and llvm::ARMBaseInstrInfo::produceSameValue().
Definition at line 81 of file MachineConstantPool.h.
Referenced by llvm::AsmPrinter::EmitConstantPool(), llvm::ARMAsmPrinter::EmitInstruction(), llvm::MipsAsmPrinter::EmitInstruction(), and llvm::ARMBaseInstrInfo::produceSameValue().
union { ... } llvm::MachineConstantPoolEntry::Val |
The constant itself.
Referenced by llvm::AsmPrinter::EmitConstantPool(), llvm::ARMAsmPrinter::EmitInstruction(), llvm::X86AsmPrinter::EmitInstruction(), llvm::MipsAsmPrinter::EmitInstruction(), llvm::X86AsmPrinter::GetCPISymbol(), getRelocationInfo(), getType(), MachineConstantPoolEntry(), and llvm::ARMBaseInstrInfo::produceSameValue().