[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