[llvm-commits] [llvm] r131146 - in /llvm/trunk: lib/MC/MCDwarf.cpp test/DebugInfo/eh_symbol.ll

Galina Kistanova gkistanova at gmail.com
Fri May 13 12:29:59 PDT 2011


Hello Rafael,

Would you move llvm/trunk/test/DebugInfo/eh_symbol.ll test in to the
X86 foulder, please? It is platform-dependent now.

Thanks

Galina


On Tue, May 10, 2011 at 12:51 PM, Rafael Espindola
<rafael.espindola at gmail.com> wrote:
> Author: rafael
> Date: Tue May 10 14:51:53 2011
> New Revision: 131146
>
> URL: http://llvm.org/viewvc/llvm-project?rev=131146&view=rev
> Log:
> The EH symbols are only needed in eh_frame, not debug_frame.
>
> Added:
>    llvm/trunk/test/DebugInfo/eh_symbol.ll
> Modified:
>    llvm/trunk/lib/MC/MCDwarf.cpp
>
> Modified: llvm/trunk/lib/MC/MCDwarf.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCDwarf.cpp?rev=131146&r1=131145&r2=131146&view=diff
> ==============================================================================
> --- llvm/trunk/lib/MC/MCDwarf.cpp (original)
> +++ llvm/trunk/lib/MC/MCDwarf.cpp Tue May 10 14:51:53 2011
> @@ -633,7 +633,7 @@
>   const TargetAsmInfo &asmInfo = context.getTargetAsmInfo();
>
>   MCSymbol *sectionStart;
> -  if (asmInfo.isFunctionEHFrameSymbolPrivate())
> +  if (asmInfo.isFunctionEHFrameSymbolPrivate() || !IsEH)
>     sectionStart = context.CreateTempSymbol();
>   else
>     sectionStart = context.GetOrCreateSymbol(Twine("EH_frame") + Twine(CIENum));
> @@ -739,7 +739,7 @@
>   MCSymbol *fdeEnd = context.CreateTempSymbol();
>   const TargetAsmInfo &asmInfo = context.getTargetAsmInfo();
>
> -  if (!asmInfo.isFunctionEHFrameSymbolPrivate()) {
> +  if (!asmInfo.isFunctionEHFrameSymbolPrivate() && IsEH) {
>     MCSymbol *EHSym = context.GetOrCreateSymbol(
>       frame.Function->getName() + Twine(".eh"));
>     streamer.EmitEHSymAttributes(frame.Function, EHSym);
>
> Added: llvm/trunk/test/DebugInfo/eh_symbol.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/eh_symbol.ll?rev=131146&view=auto
> ==============================================================================
> --- llvm/trunk/test/DebugInfo/eh_symbol.ll (added)
> +++ llvm/trunk/test/DebugInfo/eh_symbol.ll Tue May 10 14:51:53 2011
> @@ -0,0 +1,18 @@
> +; RUN: llc -mtriple=i386-apple-macosx -disable-cfi %s -o - | FileCheck %s
> +
> +; test that we don't produce foo.eh symbols is a debug_frame section.
> +; CHECK-NOT: .globl    _f.eh
> +
> +define i32 @f() nounwind readnone optsize {
> +entry:
> +  ret i32 42
> +}
> +
> +!llvm.dbg.sp = !{!0}
> +
> +!0 = metadata !{i32 589870, i32 0, metadata !1, metadata !"f", metadata !"f", metadata !"", metadata !1, i32 1, metadata !3, i1 false, i1 true, i32 0, i32 0, i32 0, i32 256, i1 true, i32 ()* @f, null, null} ; [ DW_TAG_subprogram ]
> +!1 = metadata !{i32 589865, metadata !"/home/espindola/llvm/test.c", metadata !"/home/espindola/tmpfs/build", metadata !2} ; [ DW_TAG_file_type ]
> +!2 = metadata !{i32 589841, i32 0, i32 12, metadata !"/home/espindola/llvm/test.c", metadata !"/home/espindola/tmpfs/build", metadata !"clang version 3.0 ()", i1 true, i1 true, metadata !"", i32 0} ; [ DW_TAG_compile_unit ]
> +!3 = metadata !{i32 589845, metadata !1, metadata !"", metadata !1, i32 0, i64 0, i64 0, i32 0, i32 0, i32 0, metadata !4, i32 0, i32 0} ; [ DW_TAG_subroutine_type ]
> +!4 = metadata !{metadata !5}
> +!5 = metadata !{i32 589860, metadata !2, metadata !"int", null, i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ]
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>




More information about the llvm-commits mailing list