[PATCH] D43687: Improve merging of debug locations (fixes PR 36410)

David Blaikie via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 8 13:26:14 PST 2018


dblaikie accepted this revision.
dblaikie added a comment.

What does the resulting DWARF look like when the scope is preserved but the InlinedAt is commoned at a higher level? I feel like this would produce pretty broken debug info, right? It'd make it look like there was a call from a place that doesn't have such a call? (though I suppose that's what happens without inlining too)

(I wonder if it's the best thing to drop the location for the non-calls, or whether we'll eventually want to do this merging logic even to non-calls, to make for longer valid variable locations for example)

I guess this produces the same sort of line table/stacktrace behavior as if the inlined call had not been inlined, but merely commoned - except we're going to get some fictitious calls (if part of the two inlinings is commoned and part is not - now there will be, virtually, 3 calls/inlined subroutines, I think)


Repository:
  rL LLVM

https://reviews.llvm.org/D43687





More information about the llvm-commits mailing list