class AddrLabelMap

Declaration

class AddrLabelMap { /* full declaration omitted */ };

Declared at: llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:176

Member Variables

private llvm::MCContext& Context
private DenseMap<AssertingVH<llvm::BasicBlock>, llvm::AddrLabelMap::AddrLabelSymEntry> AddrLabelSymbols
private std::vector<AddrLabelMapCallbackPtr> BBCallbacks
Callbacks for the BasicBlock's that we have entries for. We use this so we get notified if a block is deleted or RAUWd.
private DenseMap<AssertingVH<llvm::Function>, std::vector<MCSymbol*>> DeletedAddrLabelsNeedingEmission
This is a per-function list of symbols whose corresponding BasicBlock got deleted. These symbols need to be emitted at some point in the file, so AsmPrinter emits them after the function body.

Method Overview

Methods

AddrLabelMap(llvm::MCContext& context)

Declared at: llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:199

Parameters

llvm::MCContext& context

void UpdateForDeletedBlock(llvm::BasicBlock* BB)

Declared at: llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:211

Parameters

llvm::BasicBlock* BB

void UpdateForRAUWBlock(llvm::BasicBlock* Old,
                        llvm::BasicBlock* New)

Declared at: llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:212

Parameters

llvm::BasicBlock* Old
llvm::BasicBlock* New

ArrayRef<llvm::MCSymbol*>
getAddrLabelSymbolToEmit(llvm::BasicBlock* BB)

Declared at: llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:206

Parameters

llvm::BasicBlock* BB

void takeDeletedSymbolsForFunction(
    llvm::Function* F,
    std::vector<MCSymbol*>& Result)

Description

If we have any deleted symbols for F, return them.

Declared at: llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:208

Parameters

llvm::Function* F
std::vector<MCSymbol*>& Result

~AddrLabelMap()

Declared at: llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:201