The "IsSmall" argument to EmitSectionOffset is always true,
authorChris Lattner <sabre@nondot.org>
Sun, 4 Apr 2010 21:34:40 +0000 (21:34 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 4 Apr 2010 21:34:40 +0000 (21:34 +0000)
constant fold it away.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100356 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/AsmPrinter/DwarfDebug.cpp
lib/CodeGen/AsmPrinter/DwarfPrinter.cpp
lib/CodeGen/AsmPrinter/DwarfPrinter.h

index 09a4a0985a354e040ce5a1dfa175a73e68ac3d58..b09644c47337ac6143fb58e90d4de3d50fbe8c25 100644 (file)
@@ -2567,7 +2567,7 @@ void DwarfDebug::emitDebugInfo() {
   Asm->EmitInt16(dwarf::DWARF_VERSION);
   Asm->OutStreamer.AddComment("Offset Into Abbrev. Section");
   EmitSectionOffset(Asm->GetTempSymbol("abbrev_begin"),
-                    Asm->GetTempSymbol("section_abbrev"), true);
+                    Asm->GetTempSymbol("section_abbrev"));
   Asm->OutStreamer.AddComment("Address Size (in bytes)");
   Asm->EmitInt8(TD->getPointerSize());
 
@@ -2879,7 +2879,7 @@ emitFunctionDebugFrame(const FunctionDebugFrameInfo &DebugFrameInfo) {
 
   Asm->OutStreamer.AddComment("FDE CIE offset");
   EmitSectionOffset(Asm->GetTempSymbol("debug_frame_common"), 
-                    Asm->GetTempSymbol("section_debug_frame"), true);
+                    Asm->GetTempSymbol("section_debug_frame"));
 
   Asm->OutStreamer.AddComment("FDE initial location");
   MCSymbol *FuncBeginSym =
@@ -2918,7 +2918,7 @@ void DwarfDebug::emitDebugPubNames() {
 
   Asm->OutStreamer.AddComment("Offset of Compilation Unit Info");
   EmitSectionOffset(Asm->GetTempSymbol("info_begin", ModuleCU->getID()), 
-                    Asm->GetTempSymbol("section_info"), true);
+                    Asm->GetTempSymbol("section_info"));
 
   Asm->OutStreamer.AddComment("Compilation Unit Length");
   Asm->EmitLabelDifference(Asm->GetTempSymbol("info_end", ModuleCU->getID()),
@@ -2962,7 +2962,7 @@ void DwarfDebug::emitDebugPubTypes() {
 
   Asm->OutStreamer.AddComment("Offset of Compilation ModuleCU Info");
   EmitSectionOffset(Asm->GetTempSymbol("info_begin", ModuleCU->getID()),
-                    Asm->GetTempSymbol("section_info"), true);
+                    Asm->GetTempSymbol("section_info"));
 
   Asm->OutStreamer.AddComment("Compilation ModuleCU Length");
   Asm->EmitLabelDifference(Asm->GetTempSymbol("info_end", ModuleCU->getID()),
@@ -3108,11 +3108,11 @@ void DwarfDebug::emitDebugInlineInfo() {
       Asm->OutStreamer.EmitIntValue(0, 1, 0); // nul terminator.
     } else 
       EmitSectionOffset(getStringPoolEntry(getRealLinkageName(LName)),
-                        Asm->GetTempSymbol("section_str"), true);
+                        Asm->GetTempSymbol("section_str"));
 
     Asm->OutStreamer.AddComment("Function name");
     EmitSectionOffset(getStringPoolEntry(Name),
-                      Asm->GetTempSymbol("section_str"), true);
+                      Asm->GetTempSymbol("section_str"));
     Asm->EmitULEB128(Labels.size(), "Inline count");
 
     for (SmallVector<InlineInfoLabels, 4>::iterator LI = Labels.begin(),
index 495e1be58db0bad91af8c79fe6aa3a78a446f862..a224db840049fba5028803ca9e124758d92af2ff 100644 (file)
@@ -39,20 +39,16 @@ DwarfPrinter::DwarfPrinter(AsmPrinter *A)
 
 
 void DwarfPrinter::EmitSectionOffset(const MCSymbol *Label,
-                                     const MCSymbol *Section, bool IsSmall) {
-  bool isAbsolute = MAI->isAbsoluteDebugSectionOffsets();
-
-  if (!isAbsolute)
-    return Asm->EmitLabelDifference(Label, Section,
-                                    IsSmall ? 4 : TD->getPointerSize());
+                                     const MCSymbol *Section) {
+  if (!MAI->isAbsoluteDebugSectionOffsets())
+    return Asm->EmitLabelDifference(Label, Section, 4);
   
   // On COFF targets, we have to emit the weird .secrel32 directive.
   if (const char *SecOffDir = MAI->getDwarfSectionOffsetDirective()) {
     // FIXME: MCize.
     Asm->OutStreamer.EmitRawText(SecOffDir + Twine(Label->getName()));
   } else {
-    unsigned Size = IsSmall ? 4 : TD->getPointerSize();
-    Asm->OutStreamer.EmitSymbolValue(Label, Size, 0/*AddrSpace*/);
+    Asm->OutStreamer.EmitSymbolValue(Label, 4, 0/*AddrSpace*/);
   }
 }
 
index 54c4f0c8476ba9486d46b7f62098ad61351cbd3d..b6e4a2bbc2bd7a5f4215e4b0ec0d5d6a5c900920 100644 (file)
@@ -74,10 +74,9 @@ public:
   const MCAsmInfo *getMCAsmInfo() const { return MAI; }
   const TargetData *getTargetData() const { return TD; }
 
-  /// EmitSectionOffset - Emit Label-Section or use a special purpose directive
-  /// to emit a section offset if the target has one.
-  void EmitSectionOffset(const MCSymbol *Label, const MCSymbol *Section,
-                         bool IsSmall = false);
+  /// EmitSectionOffset - Emit a 4-byte "Label-Section" value or use a special
+  /// purpose directive to emit a section offset if the target has one.
+  void EmitSectionOffset(const MCSymbol *Label, const MCSymbol *Section);
   
   /// EmitFrameMoves - Emit frame instructions to describe the layout of the
   /// frame.