class AddressPool
Declaration
class AddressPool { /* full declaration omitted */ };
Declared at: llvm/lib/CodeGen/AsmPrinter/AddressPool.h:23
Member Variables
- private DenseMap<const llvm::MCSymbol*, llvm::AddressPool::AddressPoolEntry> Pool
- private bool HasBeenUsed = false
- Record whether the AddressPool has been queried for an address index since the last "resetUsedFlag" call. Used to implement type unit fallback - a type that references addresses cannot be placed in a type unit when using fission.
- private llvm::MCSymbol* AddressTableBaseSym = nullptr
- Symbol designates the start of the contribution to the address table.
Method Overview
- public AddressPool()
- public void emit(llvm::AsmPrinter & Asm, llvm::MCSection * AddrSection)
- private llvm::MCSymbol * emitHeader(llvm::AsmPrinter & Asm, llvm::MCSection * Section)
- public unsigned int getIndex(const llvm::MCSymbol * Sym, bool TLS = false)
- public llvm::MCSymbol * getLabel()
- public bool hasBeenUsed() const
- public bool isEmpty()
- public void resetUsedFlag(bool HasBeenUsed = false)
- public void setLabel(llvm::MCSymbol * Sym)
Methods
¶AddressPool()
AddressPool()
Declared at: llvm/lib/CodeGen/AsmPrinter/AddressPool.h:39
¶void emit(llvm::AsmPrinter& Asm,
llvm::MCSection* AddrSection)
void emit(llvm::AsmPrinter& Asm,
llvm::MCSection* AddrSection)
Declared at: llvm/lib/CodeGen/AsmPrinter/AddressPool.h:45
Parameters
- llvm::AsmPrinter& Asm
- llvm::MCSection* AddrSection
¶llvm::MCSymbol* emitHeader(
llvm::AsmPrinter& Asm,
llvm::MCSection* Section)
llvm::MCSymbol* emitHeader(
llvm::AsmPrinter& Asm,
llvm::MCSection* Section)
Declared at: llvm/lib/CodeGen/AsmPrinter/AddressPool.h:57
Parameters
- llvm::AsmPrinter& Asm
- llvm::MCSection* Section
¶unsigned int getIndex(const llvm::MCSymbol* Sym,
bool TLS = false)
unsigned int getIndex(const llvm::MCSymbol* Sym,
bool TLS = false)
Description
Returns the index into the address pool with the given label/symbol.
Declared at: llvm/lib/CodeGen/AsmPrinter/AddressPool.h:43
Parameters
- const llvm::MCSymbol* Sym
- bool TLS = false
¶llvm::MCSymbol* getLabel()
llvm::MCSymbol* getLabel()
Declared at: llvm/lib/CodeGen/AsmPrinter/AddressPool.h:53
¶bool hasBeenUsed() const
bool hasBeenUsed() const
Declared at: llvm/lib/CodeGen/AsmPrinter/AddressPool.h:49
¶bool isEmpty()
bool isEmpty()
Declared at: llvm/lib/CodeGen/AsmPrinter/AddressPool.h:47
¶void resetUsedFlag(bool HasBeenUsed = false)
void resetUsedFlag(bool HasBeenUsed = false)
Declared at: llvm/lib/CodeGen/AsmPrinter/AddressPool.h:51
Parameters
- bool HasBeenUsed = false
¶void setLabel(llvm::MCSymbol* Sym)
void setLabel(llvm::MCSymbol* Sym)
Declared at: llvm/lib/CodeGen/AsmPrinter/AddressPool.h:54
Parameters
- llvm::MCSymbol* Sym