LLVM  3.7.0
Public Member Functions | Public Attributes | List of all members
llvm::MachineConstantPoolEntry Class Reference

This class is a data container for one entry in a MachineConstantPool. More...

#include <MachineConstantPool.h>

Collaboration diagram for llvm::MachineConstantPoolEntry:
[legend]

Public Member Functions

 MachineConstantPoolEntry (const Constant *V, unsigned A)
 
 MachineConstantPoolEntry (MachineConstantPoolValue *V, unsigned A)
 
bool isMachineConstantPoolEntry () const
 isMachineConstantPoolEntry - Return true if the MachineConstantPoolEntry is indeed a target specific constantpool entry, not a wrapper over a Constant. More...
 
int getAlignment () const
 
TypegetType () const
 
unsigned getRelocationInfo () const
 getRelocationInfo - This method classifies the entry according to whether or not it may generate a relocation entry. More...
 
SectionKind getSectionKind (const DataLayout *DL) const
 

Public Attributes

union {
   const Constant *   ConstVal
 
   MachineConstantPoolValue *   MachineCPVal
 
Val
 The constant itself. More...
 
unsigned Alignment
 The required alignment for this entry. More...
 

Detailed Description

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. An entry in a MachineConstantPool

Definition at line 76 of file MachineConstantPool.h.

Constructor & Destructor Documentation

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.

References Alignment, and Val.

Member Function Documentation

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

Definition at line 105 of file MachineConstantPool.h.

References Alignment.

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

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

References isMachineConstantPoolEntry(), and Val.

Referenced by getSectionKind().

SectionKind MachineConstantPoolEntry::getSectionKind ( const DataLayout DL) const
Type * MachineConstantPoolEntry::getType ( ) const
bool llvm::MachineConstantPoolEntry::isMachineConstantPoolEntry ( ) const
inline

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 86 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: