[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