[PATCH] D112337: [DebugInfo] Only create concrete DIEs of concrete functions
Ellis Hoag via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 2 11:42:02 PDT 2021
ellis added a comment.
In D112337#3103673 <https://reviews.llvm.org/D112337#3103673>, @dblaikie wrote:
> In D112337#3103579 <https://reviews.llvm.org/D112337#3103579>, @ellis wrote:
>
>> @dblaikie Turns out that since outlined machine functions are created during codegen, we can't see that those SPs are concrete during `beginModule()`. I've left `ProcessedSPNodes` how it was (which does include outlined SPs) and added comments to `ConcreteSPs`.
>
> Does that not cause problems for the strategy in general? Wouldn't this mean new concrete subprograms would show up and break the assumptions made that only ConcreteSPs are the ones that need to be separated from the abstract definition?
Machine outlined subprograms won't be inlined so they won't ever have an abstract origin. For SPs that aren't found in `getAbstractSPDies()` (`constructAbstractSubprogramScopeDIE()` is never called for them), this diff is a no-op.
Maybe `ConcreteSPs` is a bad name now. I guess now it only holds SPs that are concrete and could possibly be inlined (have an abstract origin)
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D112337/new/
https://reviews.llvm.org/D112337
More information about the llvm-commits
mailing list