LLVM  15.0.0git
llvm::MachineConstantPool Class Reference

The MachineConstantPool class keeps track of constants referenced by a function which must be spilled to memory. More...

#include "llvm/CodeGen/MachineConstantPool.h"

## Public Member Functions

MachineConstantPool (const DataLayout &DL)
The only constructor. More...

~MachineConstantPool ()

Align getConstantPoolAlign () const
Return the alignment required by the whole constant pool, of which the first element must be aligned. More...

unsigned getConstantPoolIndex (const Constant *C, Align Alignment)
getConstantPoolIndex - Create a new entry in the constant pool or return an existing one. More...

unsigned getConstantPoolIndex (MachineConstantPoolValue *V, Align Alignment)

bool isEmpty () const
isEmpty - Return true if this constant pool contains no constants. More...

const std::vector< MachineConstantPoolEntry > & getConstants () const

void print (raw_ostream &OS) const
print - Used by the MachineFunction printer to print information about constant pool objects. More...

void dump () const
dump - Call print(cerr) to be called from the debugger. More...

## Detailed Description

The MachineConstantPool class keeps track of constants referenced by a function which must be spilled to memory.

This is used for constants which are unable to be used directly as operands to instructions, which typically include floating point and large integer constants.

Instructions reference the address of these constant pool constants through the use of MO_ConstantPoolIndex values. When emitting assembly or machine code, these virtual address references are converted to refer to the address of the function constant pool values. The machine constant pool.

Definition at line 117 of file MachineConstantPool.h.

## ◆ MachineConstantPool()

 llvm::MachineConstantPool::MachineConstantPool ( const DataLayout & DL )
inlineexplicit

The only constructor.

Definition at line 128 of file MachineConstantPool.h.

References DL.

## ◆ ~MachineConstantPool()

 MachineConstantPool::~MachineConstantPool ( )

Definition at line 1417 of file MachineFunction.cpp.

References Deleted.

## ◆ dump()

 LLVM_DUMP_METHOD void MachineConstantPool::dump ( ) const

dump - Call print(cerr) to be called from the debugger.

Definition at line 1529 of file MachineFunction.cpp.

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

## ◆ getConstantPoolAlign()

 Align llvm::MachineConstantPool::getConstantPoolAlign ( ) const
inline

Return the alignment required by the whole constant pool, of which the first element must be aligned.

Definition at line 134 of file MachineConstantPool.h.

## ◆ getConstantPoolIndex() [1/2]

 unsigned MachineConstantPool::getConstantPoolIndex ( const Constant * C, Align Alignment )

getConstantPoolIndex - Create a new entry in the constant pool or return an existing one.

Create a new entry in the constant pool or return an existing one.

User must specify the minimum required alignment for the object.

User must specify the log2 of the minimum required alignment for the object.

Definition at line 1477 of file MachineFunction.cpp.

References CanShareConstantPoolEntry(), DL, llvm::numbers::e, llvm::getAlign(), and i.

## ◆ getConstantPoolIndex() [2/2]

 unsigned MachineConstantPool::getConstantPoolIndex ( MachineConstantPoolValue * V, Align Alignment )

Definition at line 1496 of file MachineFunction.cpp.

## ◆ getConstants()

 const std::vector& llvm::MachineConstantPool::getConstants ( ) const
inline

## ◆ isEmpty()

 bool llvm::MachineConstantPool::isEmpty ( ) const
inline

isEmpty - Return true if this constant pool contains no constants.

Definition at line 143 of file MachineConstantPool.h.

## ◆ print()

 void MachineConstantPool::print ( raw_ostream & OS ) const

print - Used by the MachineFunction printer to print information about constant pool objects.

Implemented in MachineFunction.cpp

Definition at line 1513 of file MachineFunction.cpp.

References llvm::numbers::e, and i.

Referenced by dump().

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