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()

Declared at: llvm/lib/CodeGen/AsmPrinter/AddressPool.h:39

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)

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)

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()

Declared at: llvm/lib/CodeGen/AsmPrinter/AddressPool.h:53

bool hasBeenUsed() const

Declared at: llvm/lib/CodeGen/AsmPrinter/AddressPool.h:49

bool isEmpty()

Declared at: llvm/lib/CodeGen/AsmPrinter/AddressPool.h:47

void resetUsedFlag(bool HasBeenUsed = false)

Declared at: llvm/lib/CodeGen/AsmPrinter/AddressPool.h:51

Parameters

bool HasBeenUsed = false

void setLabel(llvm::MCSymbol* Sym)

Declared at: llvm/lib/CodeGen/AsmPrinter/AddressPool.h:54

Parameters

llvm::MCSymbol* Sym