[llvm] r309630 - DebugInfo: Put range base specifier entry functionality behind a flag

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 1 07:52:46 PDT 2017


On Tue, Aug 1, 2017 at 6:26 AM Robinson, Paul <paul.robinson at sony.com>
wrote:

>
>
> > -----Original Message-----
> > From: llvm-commits [mailto:llvm-commits-bounces at lists.llvm.org] On
> Behalf
> > Of David Blaikie via llvm-commits
> > Sent: Monday, July 31, 2017 2:49 PM
> > To: llvm-commits at lists.llvm.org
> > Subject: [llvm] r309630 - DebugInfo: Put range base specifier entry
> > functionality behind a flag
> >
> > Author: dblaikie
> > Date: Mon Jul 31 14:48:42 2017
> > New Revision: 309630
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=309630&view=rev
> > Log:
> > DebugInfo: Put range base specifier entry functionality behind a flag
> >
> > Chromium's gold build seems to have trouble with this (gold produces
> > errors) - not sure if it's gold that's not coping with the valid
> > representation, or a bug in the implementation in LLVM, etc.
> >
> > Modified:
> >     llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
> >     llvm/trunk/test/DebugInfo/X86/range_reloc.ll
> >
> > Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
> > URL: http://llvm.org/viewvc/llvm-
> >
> project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp?rev=309630&r1=309
> > 629&r2=309630&view=diff
> >
> ==========================================================================
> > ====
> > --- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (original)
> > +++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Mon Jul 31 14:48:42
> > 2017
> > @@ -61,10 +61,14 @@ static cl::opt<bool>
> >  DisableDebugInfoPrinting("disable-debug-info-print", cl::Hidden,
> >                           cl::desc("Disable debug info printing"));
> >
> > +static cl::opt<bool> UseDwarfRangesBaseAddressSpecifier(
> > +    "use-dwarf-ranges-base-address-specifier", cl::Hidden,
> > +    cl::desc("Disable debug info printing"), cl::init(false));
>
> Looks like a copy-pasto on the description.
>

Ah, yeah - fixed in 309685


>
> > +
> >  static cl::opt<bool>
> > -GenerateGnuPubSections("generate-gnu-dwarf-pub-sections", cl::Hidden,
> > -                       cl::desc("Generate GNU-style pubnames and
> > pubtypes"),
> > -                       cl::init(false));
> > +    GenerateGnuPubSections("generate-gnu-dwarf-pub-sections",
> cl::Hidden,
> > +                           cl::desc("Generate GNU-style pubnames and
> > pubtypes"),
> > +                           cl::init(false));
>
> Spurious reformatting?
>

Yeah - must've touched that line by accident while working in vim (where I
have it setup to autoformat any touched lines). Thanks for
mentioning/noticing! (not much to do about it now - not like reverting the
change would have any positive impact - still leave the blame as-is, etc.
But good to notice/be aware of/try to avoid in the future)

Thanks!
- Dave


> --paulr
>
> >
> >  static cl::opt<bool> GenerateARangeSection("generate-arange-section",
> >                                             cl::Hidden,
> > @@ -1882,7 +1886,8 @@ void DwarfDebug::emitDebugRanges() {
> >          // or optnone where there may be holes in a single CU's section
> >          // contrubutions.
> >          auto *Base = CUBase;
> > -        if (!Base && P.second.size() > 1) {
> > +        if (!Base && P.second.size() > 1 &&
> > +            UseDwarfRangesBaseAddressSpecifier) {
> >            BaseIsSet = true;
> >            // FIXME/use care: This may not be a useful base address if
> > it's not
> >            // the lowest address/range in this object.
> >
> > Modified: llvm/trunk/test/DebugInfo/X86/range_reloc.ll
> > URL: http://llvm.org/viewvc/llvm-
> >
> project/llvm/trunk/test/DebugInfo/X86/range_reloc.ll?rev=309630&r1=309629&
> > r2=309630&view=diff
> >
> ==========================================================================
> > ====
> > --- llvm/trunk/test/DebugInfo/X86/range_reloc.ll (original)
> > +++ llvm/trunk/test/DebugInfo/X86/range_reloc.ll Mon Jul 31 14:48:42 2017
> > @@ -1,4 +1,5 @@
> > -; RUN: llc -filetype=asm -mtriple=x86_64-pc-linux-gnu %s -o - |
> FileCheck
> > %s
> > +; RUN: llc -filetype=asm -mtriple=x86_64-pc-linux-gnu %s -o -
> -use-dwarf-
> > ranges-base-address-specifier | FileCheck --check-prefix=COMMON --check-
> > prefix=BASE %s
> > +; RUN: llc -filetype=asm -mtriple=x86_64-pc-linux-gnu %s -o - |
> FileCheck
> > --check-prefix=COMMON --check-prefix=NOBASE %s
> >
> >  ; Group ranges in a range list that apply to the same section and use a
> > base
> >  ; address selection entry to reduce the number of relocations to one
> > reloc per
> > @@ -13,23 +14,27 @@
> >  ; in the linked executable. Without compression in the objects, the win
> > would be
> >  ; smaller (the growth of debug_ranges itself would be more significant).
> >
> > -; CHECK: {{^.Ldebug_ranges0}}
> > -; CHECK-NEXT:   .quad   .Lfunc_begin0
> > -; CHECK-NEXT:   .quad   .Lfunc_end0
> > -; CHECK-NEXT:   .quad   -1
> > -; CHECK-NEXT:   .quad   .Lfunc_begin1
> > -; CHECK-NEXT:   .quad   .Lfunc_begin1-.Lfunc_begin1
> > -; CHECK-NEXT:   .quad   .Lfunc_end1-.Lfunc_begin1
> > -; CHECK-NEXT:   .quad   .Lfunc_begin3-.Lfunc_begin1
> > -; CHECK-NEXT:   .quad   .Lfunc_end3-.Lfunc_begin1
> > -; CHECK-NEXT:   .quad   -1
> > -; CHECK-NEXT:   .quad   0
> > -; CHECK-NEXT:   .quad   .Lfunc_begin4
> > -; CHECK-NEXT:   .quad   .Lfunc_end4
> > -; CHECK-NEXT:   .quad   .Lfunc_begin5
> > -; CHECK-NEXT:   .quad   .Lfunc_end5
> > -; CHECK-NEXT:   .quad   0
> > -; CHECK-NEXT:   .quad   0
> > +; COMMON: {{^.Ldebug_ranges0}}
> > +; COMMON-NEXT:   .quad   .Lfunc_begin0
> > +; COMMON-NEXT:   .quad   .Lfunc_end0
> > +; BASE-NEXT:   .quad   -1
> > +; BASE-NEXT:   .quad   .Lfunc_begin1
> > +; BASE-NEXT:   .quad   .Lfunc_begin1-.Lfunc_begin1
> > +; BASE-NEXT:   .quad   .Lfunc_end1-.Lfunc_begin1
> > +; BASE-NEXT:   .quad   .Lfunc_begin3-.Lfunc_begin1
> > +; BASE-NEXT:   .quad   .Lfunc_end3-.Lfunc_begin1
> > +; BASE-NEXT:   .quad   -1
> > +; BASE-NEXT:   .quad   0
> > +; NOBASE-NEXT:   .quad   .Lfunc_begin1
> > +; NOBASE-NEXT:   .quad   .Lfunc_end1
> > +; NOBASE-NEXT:   .quad   .Lfunc_begin3
> > +; NOBASE-NEXT:   .quad   .Lfunc_end3
> > +; COMMON-NEXT:   .quad   .Lfunc_begin4
> > +; COMMON-NEXT:   .quad   .Lfunc_end4
> > +; COMMON-NEXT:   .quad   .Lfunc_begin5
> > +; COMMON-NEXT:   .quad   .Lfunc_end5
> > +; COMMON-NEXT:   .quad   0
> > +; COMMON-NEXT:   .quad   0
> >
> >  ; Function Attrs: noinline nounwind optnone uwtable
> >  define void @_Z2f1v() #0 section "a" !dbg !7 {
> >
> >
> > _______________________________________________
> > llvm-commits mailing list
> > llvm-commits at lists.llvm.org
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170801/cdaed107/attachment.html>


More information about the llvm-commits mailing list