LLVM 22.0.0git
llvm::ARMConstantPoolConstant Class Reference

ARMConstantPoolConstant - ARM-specific constant pool values for Constants, Functions, and BlockAddresses. More...

#include "Target/ARM/ARMConstantPoolValue.h"

Inheritance diagram for llvm::ARMConstantPoolConstant:
[legend]

Public Types

using promoted_iterator = SmallPtrSet<const GlobalVariable *, 1>::iterator

Public Member Functions

const GlobalValuegetGV () const
const BlockAddressgetBlockAddress () const
iterator_range< promoted_iteratorpromotedGlobals ()
const ConstantgetPromotedGlobalInit () const
int getExistingMachineCPValue (MachineConstantPool *CP, Align Alignment) override
bool hasSameValue (ARMConstantPoolValue *ACPV) override
 hasSameValue - Return true if this ARM constpool value can share the same constantpool entry as another ARM constpool value.
void addSelectionDAGCSEId (FoldingSetNodeID &ID) override
void print (raw_ostream &O) const override
 print - Implement operator<<
bool equals (const ARMConstantPoolConstant *A) const
Public Member Functions inherited from llvm::ARMConstantPoolValue
 ~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
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

Static Public Member Functions

static ARMConstantPoolConstantCreate (const Constant *C, unsigned ID)
static ARMConstantPoolConstantCreate (const GlobalValue *GV, ARMCP::ARMCPModifier Modifier)
static ARMConstantPoolConstantCreate (const GlobalVariable *GV, const Constant *Initializer)
static ARMConstantPoolConstantCreate (const Constant *C, unsigned ID, ARMCP::ARMCPKind Kind, unsigned char PCAdj)
static ARMConstantPoolConstantCreate (const Constant *C, unsigned ID, ARMCP::ARMCPKind Kind, unsigned char PCAdj, ARMCP::ARMCPModifier Modifier, bool AddCurrentAddress)
static bool classof (const ARMConstantPoolValue *APV)

Additional Inherited Members

Protected Member Functions inherited from llvm::ARMConstantPoolValue
 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

ARMConstantPoolConstant - ARM-specific constant pool values for Constants, Functions, and BlockAddresses.

Definition at line 141 of file ARMConstantPoolValue.h.

Member Typedef Documentation

◆ promoted_iterator

Member Function Documentation

◆ addSelectionDAGCSEId()

void ARMConstantPoolConstant::addSelectionDAGCSEId ( FoldingSetNodeID & ID)
overridevirtual

◆ classof()

◆ Create() [1/5]

ARMConstantPoolConstant * ARMConstantPoolConstant::Create ( const Constant * C,
unsigned ID )
static

◆ Create() [2/5]

ARMConstantPoolConstant * ARMConstantPoolConstant::Create ( const Constant * C,
unsigned ID,
ARMCP::ARMCPKind Kind,
unsigned char PCAdj )
static

Definition at line 168 of file ARMConstantPoolValue.cpp.

References llvm::CallingConv::C, and llvm::ARMCP::no_modifier.

◆ Create() [3/5]

ARMConstantPoolConstant * ARMConstantPoolConstant::Create ( const Constant * C,
unsigned ID,
ARMCP::ARMCPKind Kind,
unsigned char PCAdj,
ARMCP::ARMCPModifier Modifier,
bool AddCurrentAddress )
static

Definition at line 175 of file ARMConstantPoolValue.cpp.

References llvm::CallingConv::C.

◆ Create() [4/5]

ARMConstantPoolConstant * ARMConstantPoolConstant::Create ( const GlobalValue * GV,
ARMCP::ARMCPModifier Modifier )
static

◆ Create() [5/5]

ARMConstantPoolConstant * ARMConstantPoolConstant::Create ( const GlobalVariable * GV,
const Constant * Initializer )
static

Definition at line 154 of file ARMConstantPoolValue.cpp.

◆ equals()

bool llvm::ARMConstantPoolConstant::equals ( const ARMConstantPoolConstant * A) const
inline

Definition at line 203 of file ARMConstantPoolValue.h.

References A(), and llvm::ARMConstantPoolValue::equals().

◆ getBlockAddress()

const BlockAddress * ARMConstantPoolConstant::getBlockAddress ( ) const

Definition at line 187 of file ARMConstantPoolValue.cpp.

References llvm::dyn_cast_or_null().

◆ getExistingMachineCPValue()

int ARMConstantPoolConstant::getExistingMachineCPValue ( MachineConstantPool * CP,
Align Alignment )
overridevirtual

◆ getGV()

const GlobalValue * ARMConstantPoolConstant::getGV ( ) const

Definition at line 183 of file ARMConstantPoolValue.cpp.

References llvm::dyn_cast_or_null().

◆ getPromotedGlobalInit()

const Constant * llvm::ARMConstantPoolConstant::getPromotedGlobalInit ( ) const
inline

Definition at line 183 of file ARMConstantPoolValue.h.

◆ hasSameValue()

bool ARMConstantPoolConstant::hasSameValue ( ARMConstantPoolValue * ACPV)
overridevirtual

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

Reimplemented from llvm::ARMConstantPoolValue.

Definition at line 204 of file ARMConstantPoolValue.cpp.

References llvm::ARMConstantPoolValue::ARMConstantPoolValue(), llvm::dyn_cast(), and llvm::ARMConstantPoolValue::hasSameValue().

◆ print()

void ARMConstantPoolConstant::print ( raw_ostream & O) const
overridevirtual

print - Implement operator<<

Implements llvm::MachineConstantPoolValue.

Definition at line 216 of file ARMConstantPoolValue.cpp.

References llvm::ARMConstantPoolValue::print().

◆ promotedGlobals()

iterator_range< promoted_iterator > llvm::ARMConstantPoolConstant::promotedGlobals ( )
inline

Definition at line 179 of file ARMConstantPoolValue.h.

References llvm::iterator_range().


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