[PATCH] D89587: [CGSCC] Detect devirtualization in more cases
Arthur Eubanks via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 13 18:11:36 PST 2020
aeubanks added a comment.
It turns out that using promoted edges didn't catch the case where a function that returns a function pointer is inlined into another function that calls the returned function pointer. That test happened to pass previously because we were accidentally always detecting promoted edges so we always reran the pipeline at least once, which was fixed in https://reviews.llvm.org/D91046.
The WeakTrackingVH approach seems to cover all cases that the promoted edge method caught, so I just used that in updateCGAndAnalysisManagerForPass() as you suggested offline.
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