LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Public Attributes | List of all members
llvm::MachineConstantPoolEntry Class Reference

An entry in a MachineConstantPool. More...

#include <MachineConstantPool.h>

Collaboration diagram for llvm::MachineConstantPoolEntry:
Collaboration graph
[legend]

Public Member Functions

 MachineConstantPoolEntry (const Constant *V, unsigned A)
 
 MachineConstantPoolEntry (MachineConstantPoolValue *V, unsigned A)
 
bool isMachineConstantPoolEntry () const
 
int getAlignment () const
 
TypegetType () const
 
unsigned getRelocationInfo () const
 

Public Attributes

union {
   const Constant *   ConstVal
 
   MachineConstantPoolValue *   MachineCPVal
 
Val
 The constant itself. More...
 
unsigned Alignment
 

Detailed Description

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 75 of file MachineConstantPool.h.

Constructor & Destructor Documentation

llvm::MachineConstantPoolEntry::MachineConstantPoolEntry ( const Constant V,
unsigned  A 
)
inline

Definition at line 87 of file MachineConstantPool.h.

References Val.

llvm::MachineConstantPoolEntry::MachineConstantPoolEntry ( MachineConstantPoolValue V,
unsigned  A 
)
inline

Definition at line 91 of file MachineConstantPool.h.

References Alignment, and Val.

Member Function Documentation

int llvm::MachineConstantPoolEntry::getAlignment ( ) const
inline

Definition at line 104 of file MachineConstantPool.h.

References Alignment.

Referenced by llvm::AsmPrinter::EmitConstantPool(), and GetConstantPoolSizeInBytes().

unsigned MachineConstantPoolEntry::getRelocationInfo ( ) const

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 801 of file MachineFunction.cpp.

References isMachineConstantPoolEntry(), and Val.

Referenced by llvm::AsmPrinter::EmitConstantPool().

Type * MachineConstantPoolEntry::getType ( ) const
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 100 of file MachineConstantPool.h.

References Alignment.

Referenced by llvm::AsmPrinter::EmitConstantPool(), llvm::ARMAsmPrinter::EmitInstruction(), llvm::MipsAsmPrinter::EmitInstruction(), getRelocationInfo(), getType(), and llvm::ARMBaseInstrInfo::produceSameValue().

Member Data Documentation

unsigned llvm::MachineConstantPoolEntry::Alignment

The required alignment for this entry. The top bit is set when Val is a target specific MachineConstantPoolValue.

Definition at line 85 of file MachineConstantPool.h.

Referenced by getAlignment(), isMachineConstantPoolEntry(), and MachineConstantPoolEntry().

const Constant* llvm::MachineConstantPoolEntry::ConstVal
MachineConstantPoolValue* llvm::MachineConstantPoolEntry::MachineCPVal
union { ... } llvm::MachineConstantPoolEntry::Val

The documentation for this class was generated from the following files: