LLVM 19.0.0git
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]

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, Align 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.
 
bool equals (const ARMConstantPoolValue *A) const
 
void print (raw_ostream &O) const override
 print - Implement operator<<
 
void print (raw_ostream *O) const
 
void dump () const
 
- Public Member Functions inherited from llvm::MachineConstantPoolValue
 MachineConstantPoolValue (Type *ty)
 
virtual ~MachineConstantPoolValue ()=default
 
TypegetType () const
 
virtual unsigned getSizeInBytes (const DataLayout &DL) const
 
virtual int getExistingMachineCPValue (MachineConstantPool *CP, Align Alignment)=0
 
virtual void addSelectionDAGCSEId (FoldingSetNodeID &ID)=0
 
virtual void print (raw_ostream &O) const =0
 print - Implement operator<<
 

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, Align 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 61 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

Definition at line 33 of file ARMConstantPoolValue.cpp.

◆ ARMConstantPoolValue() [2/2]

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

Definition at line 42 of file ARMConstantPoolValue.cpp.

◆ ~ARMConstantPoolValue()

ARMConstantPoolValue::~ARMConstantPoolValue ( )
overridedefault

Member Function Documentation

◆ addSelectionDAGCSEId()

void ARMConstantPoolValue::addSelectionDAGCSEId ( FoldingSetNodeID ID)
overridevirtual

◆ dump()

LLVM_DUMP_METHOD void ARMConstantPoolValue::dump ( ) const

Definition at line 102 of file ARMConstantPoolValue.cpp.

References llvm::errs().

◆ equals()

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

◆ getExistingMachineCPValue()

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

◆ getExistingMachineCPValueImpl()

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

Definition at line 79 of file ARMConstantPoolValue.h.

References llvm::getAlign().

◆ 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 100 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::ARMConstantPoolConstant, llvm::ARMConstantPoolSymbol, and llvm::ARMConstantPoolMBB.

Definition at line 87 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 130 of file ARMConstantPoolValue.h.

References print().

Referenced by print().


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