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
- public AddrLabelMap(llvm::MCContext & context)
- public void UpdateForDeletedBlock(llvm::BasicBlock * BB)
- public void UpdateForRAUWBlock(llvm::BasicBlock * Old, llvm::BasicBlock * New)
- public ArrayRef<llvm::MCSymbol *> getAddrLabelSymbolToEmit(llvm::BasicBlock * BB)
- public void takeDeletedSymbolsForFunction(llvm::Function * F, std::vector<MCSymbol *> & Result)
- public ~AddrLabelMap()
Methods
¶AddrLabelMap(llvm::MCContext& context)
AddrLabelMap(llvm::MCContext& context)
Declared at: llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:199
Parameters
- llvm::MCContext& context
¶void UpdateForDeletedBlock(llvm::BasicBlock* BB)
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)
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)
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)
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()
~AddrLabelMap()
Declared at: llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:201