LLVM  6.0.0svn
Public Member Functions | Protected Member Functions | List of all members
llvm::ARMConstantPoolValue Class Reference

ARMConstantPoolValue - ARM specific constantpool value. More...

#include "Target/ARM/ARMConstantPoolValue.h"

Inheritance diagram for llvm::ARMConstantPoolValue:
Inheritance graph
[legend]
Collaboration diagram for llvm::ARMConstantPoolValue:
Collaboration graph
[legend]

Public Member Functions

 ~ARMConstantPoolValue () override
 
ARMCP::ARMCPModifier getModifier () const
 
StringRef getModifierText () const
 
bool hasModifier () const
 
bool mustAddCurrentAddress () const
 
unsigned getLabelId () const
 
unsigned char getPCAdjustment () const
 
bool isGlobalValue () const
 
bool isExtSymbol () const
 
bool isBlockAddress () const
 
bool isLSDA () const
 
bool isMachineBasicBlock () const
 
bool isPromotedGlobal () const
 
int getExistingMachineCPValue (MachineConstantPool *CP, unsigned Alignment) override
 
void addSelectionDAGCSEId (FoldingSetNodeID &ID) override
 
virtual bool hasSameValue (ARMConstantPoolValue *ACPV)
 hasSameValue - Return true if this ARM constpool value can share the same constantpool entry as another ARM constpool value. More...
 
bool equals (const ARMConstantPoolValue *A) const
 
void print (raw_ostream &O) const override
 print - Implement operator<< More...
 
void print (raw_ostream *O) const
 
void dump () const
 
- Public Member Functions inherited from llvm::MachineConstantPoolValue
 MachineConstantPoolValue (Type *ty)
 
virtual ~MachineConstantPoolValue ()=default
 
TypegetType () const
 getType - get type of this MachineConstantPoolValue. More...
 

Protected Member Functions

 ARMConstantPoolValue (Type *Ty, unsigned id, ARMCP::ARMCPKind Kind, unsigned char PCAdj, ARMCP::ARMCPModifier Modifier, bool AddCurrentAddress)
 
 ARMConstantPoolValue (LLVMContext &C, unsigned id, ARMCP::ARMCPKind Kind, unsigned char PCAdj, ARMCP::ARMCPModifier Modifier, bool AddCurrentAddress)
 
template<typename Derived >
int getExistingMachineCPValueImpl (MachineConstantPool *CP, unsigned Alignment)
 

Detailed Description

ARMConstantPoolValue - ARM specific constantpool value.

This is used to represent PC-relative displacement between the address of the load instruction and the constant being loaded, i.e. (&GV-(LPIC+8)).

Definition at line 62 of file ARMConstantPoolValue.h.

Constructor & Destructor Documentation

◆ ARMConstantPoolValue() [1/2]

ARMConstantPoolValue::ARMConstantPoolValue ( Type Ty,
unsigned  id,
ARMCP::ARMCPKind  Kind,
unsigned char  PCAdj,
ARMCP::ARMCPModifier  Modifier,
bool  AddCurrentAddress 
)
protected

◆ ARMConstantPoolValue() [2/2]

ARMConstantPoolValue::ARMConstantPoolValue ( LLVMContext C,
unsigned  id,
ARMCP::ARMCPKind  Kind,
unsigned char  PCAdj,
ARMCP::ARMCPModifier  Modifier,
bool  AddCurrentAddress 
)
protected

Definition at line 41 of file ARMConstantPoolValue.cpp.

References ~ARMConstantPoolValue().

◆ ~ARMConstantPoolValue()

ARMConstantPoolValue::~ARMConstantPoolValue ( )
overridedefault

Referenced by ARMConstantPoolValue().

Member Function Documentation

◆ addSelectionDAGCSEId()

void ARMConstantPoolValue::addSelectionDAGCSEId ( FoldingSetNodeID ID)
overridevirtual

◆ dump()

LLVM_DUMP_METHOD void ARMConstantPoolValue::dump ( ) const

Definition at line 101 of file ARMConstantPoolValue.cpp.

References llvm::errs().

◆ equals()

bool llvm::ARMConstantPoolValue::equals ( const ARMConstantPoolValue A) const
inline

◆ getExistingMachineCPValue()

int ARMConstantPoolValue::getExistingMachineCPValue ( MachineConstantPool CP,
unsigned  Alignment 
)
overridevirtual

◆ getExistingMachineCPValueImpl()

template<typename Derived >
int llvm::ARMConstantPoolValue::getExistingMachineCPValueImpl ( MachineConstantPool CP,
unsigned  Alignment 
)
inlineprotected

Definition at line 80 of file ARMConstantPoolValue.h.

References llvm::MachineConstantPool::getConstants().

◆ getLabelId()

unsigned llvm::ARMConstantPoolValue::getLabelId ( ) const
inline

◆ getModifier()

ARMCP::ARMCPModifier llvm::ARMConstantPoolValue::getModifier ( ) const
inline

◆ getModifierText()

StringRef ARMConstantPoolValue::getModifierText ( ) const

◆ getPCAdjustment()

unsigned char llvm::ARMConstantPoolValue::getPCAdjustment ( ) const
inline

◆ hasModifier()

bool llvm::ARMConstantPoolValue::hasModifier ( ) const
inline

Definition at line 103 of file ARMConstantPoolValue.h.

References llvm::ARMCP::no_modifier.

◆ hasSameValue()

bool ARMConstantPoolValue::hasSameValue ( ARMConstantPoolValue ACPV)
virtual

hasSameValue - Return true if this ARM constpool value can share the same constantpool entry as another ARM constpool value.

Reimplemented in llvm::ARMConstantPoolMBB, llvm::ARMConstantPoolSymbol, and llvm::ARMConstantPoolConstant.

Definition at line 86 of file ARMConstantPoolValue.cpp.

References llvm::ARMCP::CPExtSymbol, and llvm::ARMCP::CPValue.

Referenced by llvm::ARMConstantPoolConstant::hasSameValue(), llvm::ARMConstantPoolSymbol::hasSameValue(), llvm::ARMConstantPoolMBB::hasSameValue(), and llvm::ARMBaseInstrInfo::produceSameValue().

◆ isBlockAddress()

bool llvm::ARMConstantPoolValue::isBlockAddress ( ) const
inline

◆ isExtSymbol()

bool llvm::ARMConstantPoolValue::isExtSymbol ( ) const
inline

◆ isGlobalValue()

bool llvm::ARMConstantPoolValue::isGlobalValue ( ) const
inline

◆ isLSDA()

bool llvm::ARMConstantPoolValue::isLSDA ( ) const
inline

◆ isMachineBasicBlock()

bool llvm::ARMConstantPoolValue::isMachineBasicBlock ( ) const
inline

◆ isPromotedGlobal()

bool llvm::ARMConstantPoolValue::isPromotedGlobal ( ) const
inline

◆ mustAddCurrentAddress()

bool llvm::ARMConstantPoolValue::mustAddCurrentAddress ( ) const
inline

◆ print() [1/2]

void ARMConstantPoolValue::print ( raw_ostream O) const
overridevirtual

◆ print() [2/2]

void llvm::ARMConstantPoolValue::print ( raw_ostream O) const
inline

Definition at line 133 of file ARMConstantPoolValue.h.

References llvm::dump(), and print().

Referenced by print().


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