This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Reset source location for instructions moved out of its original residing basic block

On Thu, Nov 1, 2012 at 4:07 PM, Xinliang David Li <> wrote:
> On Thu, Nov 1, 2012 at 3:57 PM, Ian Lance Taylor <> wrote:
>> On Thu, Nov 1, 2012 at 10:00 AM, Dehao Chen <> wrote:
>>> I see your point. How about we guard these changes with a flag, say
>>> -gless-jumpy, so that people can always choose between better coverage
>>> and less jumpy gdb behavior (it's also important for some other
>>> clients like AutoFDO). I will have a series of patches to follow soon
>>> that can be guarded by this flag.
>> This feels to me like an attempt to address the problem in the wrong
>> place.  It seems to me that it would be better to do one of:
>> * Use -Og and ensure that -Og does not move the code around.
>> Presumably this would lead to worse runtime performance and better
>> performance in the debugger.
>> * Add heuristics to the debugger to jump around less.
>> * Add a new debug facility to mark the statement as attached to a
>> particular source location, but moved relative to other source
>> locations.  Add facilities to the debugger to take that into account.
>> That said, I suppose I can imagine a mode like you suggest.  It
>> shouldn't be a -g option, it should be a -f option, like
>> -fdiscard-moved-insn-debug-locations or something.  That would be
>> along the lines of -fno-var-tracking: we generate worse debug info
>> upon user request.

I don't see why debug info would be worse if we add something like
-fdiscard-moved-insn-debug-locations, as long as it is not turned on
by default. Any thoughts?

> Or have a common umbrella option to guard all changes that improves DOC.

Is it like -Og approach as Ian mentioned? Yes, we can sacrifice some
performance (maybe 5%?) to get more accurate source level profile. But
if we plan to use AutoFDOed binary to collect AutoFDO profile, it'll
suffer the same debug problem again...


> David
>> Ian

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]