[PATCH] D89587: [CGSCC] Detect devirtualization in more cases
Alina Sbirlea via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 16 17:29:19 PST 2020
asbirlea added a comment.
Could you clarify why a map and not a SmallVector?
I was expecting the indirect calls to be added by all CGSCC passes, e.g. `lib/Transforms/IPO/Inliner.cpp:750`. Adding the calls in `updateCG...` instead, introduces a single point of failure so less chances of having passes forget to add them; the one thing I'm not clear is if the `updateCG...` call may be added too late in a CGSCC pass; for the inliner, it seems fine (thank you for adding the tests) but I'm not clear if this will hold for other passes. I don't have a use case now, just making a note to verify this for coroutines.
The check that all accesses are still indirect on the return looks good.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D89587/new/
https://reviews.llvm.org/D89587
More information about the llvm-commits
mailing list