[PATCH] D111916: [DebugInfo] Fixup DIEs for inlined functions
David Blaikie via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 15 19:38:27 PDT 2021
dblaikie added a comment.
So, currently we put the DIEs in the concrete definition and then when we didn't need a concrete one we end up with this weird uninitialized DIE with a few children, that we'd like to have those up in the abstract origin instead, right?
And this change moves those DIEs up at the end, trying to filter the DIEs even if we did end up legitimately creating the concrete DIE (so we only move the DIEs that should reside in the abstract origin? (ie: we don't move up a local non-static variable from concrete to abstract))?
Hmm - what would happen if we moved them up earlier - like as soon as we create the concrete one properly/legitimately, we move anything that came before that up to the abstract origin?
I guess that would break down if we hadn't created the abstract origin at that point (ie: would leave the static local down in the concrete definition instead of the abstract definition)?
Maybe we could always create the abstract origin, then at the end collapse it down into the concrete definition if it's unused/there are no inline instances? Less need to try to separate things out?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D111916/new/
https://reviews.llvm.org/D111916
More information about the llvm-commits
mailing list