mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-15 07:39:31 +00:00
fix GetOrCreateTemporarySymbol to require a name, clients
should use CreateTempSymbol() if they don't care about the name. llvm-svn: 98712
This commit is contained in:
parent
b66f9c24a7
commit
962d3d700b
@ -73,9 +73,10 @@ namespace llvm {
|
||||
/// one if it does.
|
||||
///
|
||||
/// @param Name - The symbol name, for debugging purposes only, temporary
|
||||
/// symbols do not surive assembly. If non-empty the name must be unique
|
||||
/// across all symbols.
|
||||
MCSymbol *GetOrCreateTemporarySymbol(StringRef Name = "");
|
||||
/// symbols do not surive assembly.
|
||||
MCSymbol *GetOrCreateTemporarySymbol(StringRef Name) {
|
||||
return GetOrCreateSymbol(Name, true);
|
||||
}
|
||||
MCSymbol *GetOrCreateTemporarySymbol(const Twine &Name);
|
||||
|
||||
/// LookupSymbol - Get the symbol for \p Name, or null.
|
||||
|
@ -332,7 +332,7 @@ void MachineCodeAnalysis::getAnalysisUsage(AnalysisUsage &AU) const {
|
||||
MCSymbol *MachineCodeAnalysis::InsertLabel(MachineBasicBlock &MBB,
|
||||
MachineBasicBlock::iterator MI,
|
||||
DebugLoc DL) const {
|
||||
MCSymbol *Label = MBB.getParent()->getContext().GetOrCreateTemporarySymbol();
|
||||
MCSymbol *Label = MBB.getParent()->getContext().CreateTempSymbol();
|
||||
BuildMI(MBB, MI, DL, TII->get(TargetOpcode::GC_LABEL)).addSym(Label);
|
||||
return Label;
|
||||
}
|
||||
|
@ -49,17 +49,6 @@ MCSymbol *MCContext::CreateTempSymbol() {
|
||||
"tmp" + Twine(NextUniqueID++));
|
||||
}
|
||||
|
||||
|
||||
MCSymbol *MCContext::GetOrCreateTemporarySymbol(StringRef Name) {
|
||||
// If there is no name, create a new anonymous symbol.
|
||||
// FIXME: Remove this. This form of the method should always take a name.
|
||||
if (Name.empty())
|
||||
return GetOrCreateTemporarySymbol(Twine(MAI.getPrivateGlobalPrefix()) +
|
||||
"tmp" + Twine(NextUniqueID++));
|
||||
|
||||
return GetOrCreateSymbol(Name, true);
|
||||
}
|
||||
|
||||
MCSymbol *MCContext::GetOrCreateTemporarySymbol(const Twine &Name) {
|
||||
SmallString<128> NameSV;
|
||||
Name.toVector(NameSV);
|
||||
|
@ -317,7 +317,7 @@ getExprForDwarfReference(const MCSymbol *Sym, Mangler *Mang,
|
||||
case dwarf::DW_EH_PE_pcrel: {
|
||||
// Emit a label to the streamer for the current position. This gives us
|
||||
// .-foo addressing.
|
||||
MCSymbol *PCSym = getContext().GetOrCreateTemporarySymbol();
|
||||
MCSymbol *PCSym = getContext().CreateTempSymbol();
|
||||
Streamer.EmitLabel(PCSym);
|
||||
const MCExpr *PC = MCSymbolRefExpr::Create(PCSym, getContext());
|
||||
return MCBinaryExpr::CreateSub(Res, PC, getContext());
|
||||
|
@ -427,7 +427,7 @@ void X86AsmPrinter::EmitInstruction(const MachineInstr *MI) {
|
||||
// MYGLOBAL + (. - PICBASE)
|
||||
// However, we can't generate a ".", so just emit a new label here and refer
|
||||
// to it.
|
||||
MCSymbol *DotSym = OutContext.GetOrCreateTemporarySymbol();
|
||||
MCSymbol *DotSym = OutContext.CreateTempSymbol();
|
||||
OutStreamer.EmitLabel(DotSym);
|
||||
|
||||
// Now that we have emitted the label, lower the complex operand expression.
|
||||
|
Loading…
Reference in New Issue
Block a user