mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-31 10:30:08 +00:00
fix AsmPrinter::GetBlockAddressSymbol to always return a unique
label instead of trying to form one based on the BB name (which causes collisions if the name is empty). This fixes PR6608 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98495 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -104,6 +104,18 @@ void MachineModuleInfo::AnalyzeModule(Module &M) {
|
||||
UsedFunctions.insert(F);
|
||||
}
|
||||
|
||||
/// getAddrLabelSymbol - Return the symbol to be used for the specified basic
|
||||
/// block when its address is taken. This cannot be its normal LBB label
|
||||
/// because the block may be accessed outside its containing function.
|
||||
MCSymbol *MachineModuleInfo::getAddrLabelSymbol(const BasicBlock *BB) {
|
||||
assert(BB->hasAddressTaken() &&
|
||||
"Shouldn't get label for block without address taken");
|
||||
MCSymbol *&Entry = AddrLabelSymbols[const_cast<BasicBlock*>(BB)];
|
||||
if (Entry) return Entry;
|
||||
return Entry = Context.CreateTempSymbol();
|
||||
}
|
||||
|
||||
|
||||
//===-EH-------------------------------------------------------------------===//
|
||||
|
||||
/// getOrCreateLandingPadInfo - Find or create an LandingPadInfo for the
|
||||
|
Reference in New Issue
Block a user