[PATCH] D49426: [DEBUG_INFO] fix .loc directives emitted for missing prologues

Tom Weaver via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 22 08:10:50 PST 2018


TWeaver added a comment.

Hello fellow LLVM contributors.

As my back log at work is now cleared I'm being refocused onto fixing optimized debugging issues.
As a result, I'm resurrecting this piece of work in the hope of getting the line table entries for striped prologues sorted hence-forth.

The current version of this patch was "semi" rejected due to special casing around missing prologues..
it was propsed that a cleaner way to fix this issue would be to avoid emitting line entries with address deltas with 0 values.

I've done a little bit of poking around to see if this is a viable and ran into some issues - primarily that address delta calculations tend to happen in the assembler at the fragment relaxation stage. This is probably to late in the pipe line to be avoiding emitted line entries (I think, I welcome discussion on that point).

as a result, I've instead decided to look at changing the MCObjectStreamer behaviour around reading .loc directives. That is, when two or more directives are read one after another with not interceding instruction, only the last of the set should be streamed/emitted/interpreted for later emission as a line table entry.

What are peoples thoughts on this approach?

Thanks in advance
Tom W


https://reviews.llvm.org/D49426





More information about the llvm-commits mailing list