[llvm] r197927 - Debug info: Add enumerators to the __apple_names accelerator table.

Eric Christopher echristo at gmail.com
Fri Dec 27 15:23:48 PST 2013


Hi Adrian,

Unfortunately I'm going to object to this patch at the moment. We've not
discussed it and the documentation hasn't been updated - especially as it
is part of an ongoing standardization effort. Also it changes the
documented contents of the table and so should possibly have changed the
version number (though with standardization we may need to have a separate
format).

Please revert and let's discuss this. FWIW I'm not necessarily against it
but it does greatly increase the size of the table which is why we hadn't
included them in the first place.

To start the discussion along those lines, gcc only includes them in the
pubnames table if one of the actual enumerators has been referenced,
otherwise it leaves it out.

Thanks.

-eric

On Mon Dec 23 2013 at 3:55:57 PM, Adrian Prantl <aprantl at apple.com> wrote:

Author: adrian
Date: Mon Dec 23 17:50:20 2013
New Revision: 197927

URL: http://llvm.org/viewvc/llvm-project?rev=197927&view=rev
Log:
Debug info: Add enumerators to the __apple_names accelerator table.
rdar://problem/11516681.

Modified:
    llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
    llvm/trunk/test/DebugInfo/X86/enum-class.ll

Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/
AsmPrinter/DwarfUnit.cpp?rev=197927&r1=197926&r2=197927&view=diff
============================================================
==================
--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp Mon Dec 23 17:50:20 2013
@@ -1773,6 +1773,9 @@ void DwarfUnit::constructEnumTypeDIE(DIE
       int64_t Value = Enum.getEnumValue();
       addSInt(Enumerator, dwarf::DW_AT_const_value, dwarf::DW_FORM_sdata,
               Value);
+
+      // Add the enumerator to the __apple_names accelerator table.
+      addAccelName(Name, Enumerator);
     }
   }
   DIType DTy = resolve(CTy.getTypeDerivedFrom());

Modified: llvm/trunk/test/DebugInfo/X86/enum-class.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInf
o/X86/enum-class.ll?rev=197927&r1=197926&r2=197927&view=diff
============================================================
==================
--- llvm/trunk/test/DebugInfo/X86/enum-class.ll (original)
+++ llvm/trunk/test/DebugInfo/X86/enum-class.ll Mon Dec 23 17:50:20 2013
@@ -1,6 +1,17 @@
 ; RUN: llc -O0 -mtriple=x86_64-apple-darwin %s -o %t -filetype=obj
 ; RUN: llvm-dwarfdump -debug-dump=info %t | FileCheck %s

+; Also test that the enumerators show up in the __apple_names accelerator
table.
+; RUN: llc -O0 -mtriple=x86_64-apple-darwin -filetype=asm < %s -o - |
FileCheck --check-prefix=ACCEL-CHECK %s
+; ACCEL-CHECK: .section        __DWARF,__apple_names,regular,debug
+; ACCEL-CHECK-NOT: .section
+; ACCEL-CHECK: A1
+; ACCEL-CHECK-NOT: .section
+; ACCEL-CHECK: C1
+; ACCEL-CHECK-NOT: .section
+; ACCEL-CHECK: B1
+
+
 @a = global i32 0, align 4
 @b = global i64 0, align 8
 @c = global i32 0, align 4


_______________________________________________
llvm-commits mailing list
llvm-commits at cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131227/4c67003c/attachment.html>


More information about the llvm-commits mailing list