[PATCH] D142556: [DebugInfo] Merge partially matching chains of inlined locations

David Blaikie via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 27 09:34:52 PST 2023


dblaikie added a subscriber: JDevlieghere.
dblaikie added a comment.

In D142556#4085390 <https://reviews.llvm.org/D142556#4085390>, @dstenb wrote:

> In D142556#4080303 <https://reviews.llvm.org/D142556#4080303>, @dblaikie wrote:
>
>> Oh, neat idea - but I wonder what it does to the DIE tree, rather than just the line table? Do we end up with 3 inlined_subroutines? (one for each of the original calls, if tehy have any unique instructions after inlining, then one for this sythesized call? I guess that's not strictly worse - the instructions were from some sort of inlining... )
>
> Yes, we will end up with 3 inlined_subroutines in the example above (as both original calls have unique instructions):

Fair enough - makes sense!

How's the performance?

(@aprantl @JDevlieghere - this seems pretty reasonable/good to me in terms of direction (Haven't looked in detail at the code, but at a glance it seems plausible, if perf is OK) - how about you folks?)



================
Comment at: llvm/lib/IR/DebugInfoMetadata.cpp:194
+
+      return static_cast<DIScope *>(nullptr);
+    };
----------------
Probably add an explicit return type to the lambda, rather than a cast on the return expression here.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D142556/new/

https://reviews.llvm.org/D142556



More information about the llvm-commits mailing list