aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-03-08 23:02:59 +0000
committerChris Lattner <sabre@nondot.org>2010-03-08 23:02:59 +0000
commiteffa868d385d861fd1937ccac759bebe9b76596b (patch)
tree83ce882fcbb812a20d752125bd70b836675c816e
parentf5fd499791bd65a31183324dabc5eefc201f9e2e (diff)
downloadexternal_llvm-effa868d385d861fd1937ccac759bebe9b76596b.zip
external_llvm-effa868d385d861fd1937ccac759bebe9b76596b.tar.gz
external_llvm-effa868d385d861fd1937ccac759bebe9b76596b.tar.bz2
Remove a version of EmitDifference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98002 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfDebug.cpp29
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfException.cpp15
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfPrinter.cpp29
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfPrinter.h4
4 files changed, 26 insertions, 51 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
index 633d586..247a3c5 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 f854fc5..b5c6bbe 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 fcef94e..23b2158 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 c4b9497..016553a 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);