From: Chris Lattner Date: Mon, 8 Mar 2010 23:02:59 +0000 (+0000) Subject: Remove a version of EmitDifference. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=effa868d385d861fd1937ccac759bebe9b76596b;p=oota-llvm.git Remove a version of EmitDifference. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98002 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 633d586e564..247a3c57aab 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -2672,8 +2672,8 @@ void DwarfDebug::emitCommonDebugFrame() { Asm->getObjFileLowering().getDwarfFrameSection()); Asm->OutStreamer.EmitLabel(getTempLabel("debug_frame_common")); - EmitDifference("debug_frame_common_end", 0, - "debug_frame_common_begin", 0, true); + EmitDifference(getTempLabel("debug_frame_common_end"), + getTempLabel("debug_frame_common_begin"), true); EOL("Length of Common Information Entry"); Asm->OutStreamer.EmitLabel(getTempLabel("debug_frame_common_begin")); @@ -2708,8 +2708,8 @@ DwarfDebug::emitFunctionDebugFrame(const FunctionDebugFrameInfo&DebugFrameInfo){ Asm->OutStreamer.SwitchSection( Asm->getObjFileLowering().getDwarfFrameSection()); - EmitDifference("debug_frame_end", DebugFrameInfo.Number, - "debug_frame_begin", DebugFrameInfo.Number, true); + EmitDifference(getDWLabel("debug_frame_end", DebugFrameInfo.Number), + getDWLabel("debug_frame_begin", DebugFrameInfo.Number), true); EOL("Length of Frame Information Entry"); Asm->OutStreamer.EmitLabel(getDWLabel("debug_frame_begin", @@ -2740,8 +2740,8 @@ void DwarfDebug::emitDebugPubNames() { Asm->OutStreamer.SwitchSection( Asm->getObjFileLowering().getDwarfPubNamesSection()); - EmitDifference("pubnames_end", ModuleCU->getID(), - "pubnames_begin", ModuleCU->getID(), true); + EmitDifference(getDWLabel("pubnames_end", ModuleCU->getID()), + getDWLabel("pubnames_begin", ModuleCU->getID()), true); EOL("Length of Public Names Info"); Asm->OutStreamer.EmitLabel(getDWLabel("pubnames_begin", ModuleCU->getID())); @@ -2753,7 +2753,8 @@ void DwarfDebug::emitDebugPubNames() { true, false); EOL("Offset of Compilation Unit Info"); - EmitDifference("info_end", ModuleCU->getID(), "info_begin", ModuleCU->getID(), + EmitDifference(getDWLabel("info_end", ModuleCU->getID()), + getDWLabel("info_begin", ModuleCU->getID()), true); EOL("Compilation Unit Length"); @@ -2778,8 +2779,8 @@ void DwarfDebug::emitDebugPubTypes() { // Start the dwarf pubnames section. Asm->OutStreamer.SwitchSection( Asm->getObjFileLowering().getDwarfPubTypesSection()); - EmitDifference("pubtypes_end", ModuleCU->getID(), - "pubtypes_begin", ModuleCU->getID(), true); + EmitDifference(getDWLabel("pubtypes_end", ModuleCU->getID()), + getDWLabel("pubtypes_begin", ModuleCU->getID()), true); EOL("Length of Public Types Info"); Asm->OutStreamer.EmitLabel(getDWLabel("pubtypes_begin", ModuleCU->getID())); @@ -2791,7 +2792,8 @@ void DwarfDebug::emitDebugPubTypes() { getTempLabel("section_info"), true, false); EOL("Offset of Compilation ModuleCU Info"); - EmitDifference("info_end", ModuleCU->getID(), "info_begin", ModuleCU->getID(), + EmitDifference(getDWLabel("info_end", ModuleCU->getID()), + getDWLabel("info_begin", ModuleCU->getID()), true); EOL("Compilation ModuleCU Length"); @@ -2872,7 +2874,8 @@ void DwarfDebug::EmitDebugARanges() { // Range 1 EmitReference("text_begin", 0); EOL("Address"); - EmitDifference("text_end", 0, "text_begin", 0, true); EOL("Length"); + EmitDifference(getTempLabel("text_end"), getTempLabel("text_begin"), + true); EOL("Length"); Asm->EmitInt32(0); EOL("EOM (1)"); Asm->EmitInt32(0); EOL("EOM (2)"); @@ -2925,8 +2928,8 @@ void DwarfDebug::emitDebugInlineInfo() { Asm->OutStreamer.SwitchSection( Asm->getObjFileLowering().getDwarfDebugInlineSection()); - EmitDifference("debug_inlined_end", 1, - "debug_inlined_begin", 1, true); + EmitDifference(getDWLabel("debug_inlined_end", 1), + getDWLabel("debug_inlined_begin", 1), true); EOL("Length of Debug Inlined Information Entry"); Asm->OutStreamer.EmitLabel(getDWLabel("debug_inlined_begin", 1)); diff --git a/lib/CodeGen/AsmPrinter/DwarfException.cpp b/lib/CodeGen/AsmPrinter/DwarfException.cpp index f854fc5939f..b5c6bbe7054 100644 --- a/lib/CodeGen/AsmPrinter/DwarfException.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfException.cpp @@ -94,8 +94,8 @@ void DwarfException::EmitCIE(const Function *PersonalityFn, unsigned Index) { Asm->OutStreamer.EmitLabel(getDWLabel("eh_frame_common", Index)); // Define the eh frame length. - EmitDifference("eh_frame_common_end", Index, - "eh_frame_common_begin", Index, true); + EmitDifference(getDWLabel("eh_frame_common_end", Index), + getDWLabel("eh_frame_common_begin", Index), true); EOL("Length of Common Information Entry"); // EH frame header. @@ -222,8 +222,8 @@ void DwarfException::EmitFDE(const FunctionEHFrameInfo &EHFrameInfo) { O << *EHFrameInfo.FunctionEHSym << ":\n"; // EH frame header. - EmitDifference("eh_frame_end", EHFrameInfo.Number, - "eh_frame_begin", EHFrameInfo.Number, + EmitDifference(getDWLabel("eh_frame_end", EHFrameInfo.Number), + getDWLabel("eh_frame_begin", EHFrameInfo.Number), true); EOL("Length of Frame Information Entry"); @@ -238,8 +238,8 @@ void DwarfException::EmitFDE(const FunctionEHFrameInfo &EHFrameInfo) { EmitReference(getDWLabel("eh_func_begin", EHFrameInfo.Number), FDEEncoding); EOL("FDE initial location"); - EmitDifference("eh_func_end", EHFrameInfo.Number, - "eh_func_begin", EHFrameInfo.Number, + EmitDifference(getDWLabel("eh_func_end", EHFrameInfo.Number), + getDWLabel("eh_func_begin", EHFrameInfo.Number), SizeOfEncodedValue(FDEEncoding) == 4); EOL("FDE address range"); @@ -829,7 +829,8 @@ void DwarfException::EmitExceptionTable() { getDWLabel(BeginTag, BeginNumber), true); else - EmitDifference("label", S.EndLabel, BeginTag, BeginNumber, true); + EmitDifference(getDWLabel("label", S.EndLabel), + getDWLabel(BeginTag, BeginNumber), true); EOL("Region length"); diff --git a/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp b/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp index fcef94eb64c..23b2158272f 100644 --- a/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp @@ -276,32 +276,6 @@ void DwarfPrinter::EmitDifference(const MCSymbol *TagHi, const MCSymbol *TagLo, } } -/// EmitDifference - Emit the difference between two labels. If this assembler -/// supports .set, we emit a .set of a temporary and then use it in the .word. -void DwarfPrinter::EmitDifference(const char *TagHi, unsigned NumberHi, - const char *TagLo, unsigned NumberLo, - bool IsSmall) { - if (MAI->hasSetDirective()) { - // FIXME: switch to OutStreamer.EmitAssignment. - O << "\t.set\t"; - PrintLabelName("set", SetCounter, Flavor); - O << ","; - PrintLabelName(getDWLabel(TagHi, NumberHi)); - O << "-"; - PrintLabelName(getDWLabel(TagLo, NumberLo)); - O << "\n"; - - PrintRelDirective(IsSmall); - PrintLabelName("set", SetCounter, Flavor); - ++SetCounter; - } else { - PrintRelDirective(IsSmall); - PrintLabelName(getDWLabel(TagHi, NumberHi)); - O << "-"; - PrintLabelName(getDWLabel(TagLo, NumberLo)); - } -} - void DwarfPrinter::EmitSectionOffset(const MCSymbol *Label, const MCSymbol *Section, bool IsSmall, bool isEH, @@ -367,7 +341,8 @@ void DwarfPrinter::EmitFrameMoves(const char *BaseLabel, unsigned BaseLabelID, // Advance row if new location. if (BaseLabel && LabelID && (BaseLabelID != LabelID || !IsLocal)) { EmitCFAByte(dwarf::DW_CFA_advance_loc4); - EmitDifference("label", LabelID, BaseLabel, BaseLabelID, true); + EmitDifference(getDWLabel("label", LabelID), + getDWLabel(BaseLabel, BaseLabelID), true); Asm->O << '\n'; BaseLabelID = LabelID; diff --git a/lib/CodeGen/AsmPrinter/DwarfPrinter.h b/lib/CodeGen/AsmPrinter/DwarfPrinter.h index c4b9497bb53..016553a6961 100644 --- a/lib/CodeGen/AsmPrinter/DwarfPrinter.h +++ b/lib/CodeGen/AsmPrinter/DwarfPrinter.h @@ -139,10 +139,6 @@ public: /// EmitDifference - Emit the difference between two labels. void EmitDifference(const MCSymbol *LabelHi, const MCSymbol *LabelLo, bool IsSmall = false); - void EmitDifference(const char *TagHi, unsigned NumberHi, - const char *TagLo, unsigned NumberLo, - bool IsSmall = false); - void EmitSectionOffset(const MCSymbol *Label, const MCSymbol *Section, bool IsSmall = false, bool isEH = false, bool useSet = true);