[PATCH] D98212: [wip][basicaa] look through phis and selects when searching for underlying object
Nikita Popov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 9 07:43:51 PST 2021
nikic added a comment.
> DecomposeGEP needed to be in sync with getUnderlyingObject in a very fragile manner. However, I can't find any good reason for this. Simple recursing through the base of the decomposed gep gives us the same number of recursive calls, and it doesn't seem to matter if the underlying object search is ahead of the recursion. All it does is add a small constant amount of additional work per step, at worst.
Yes, I believe this is just a historical leftover. It should be safe to not have these in sync.
What this patch does generally makes sense to me, but unfortunately the compile-time impact is fairly significant: https://llvm-compile-time-tracker.com/compare.php?from=e81d813717b2ef227c5b995057153d2cca027afb&to=5adf4f2dab6c553151b76929726959759e6bd8dd&stat=instructions The impact is somewhat unexpected to me -- the additional checks done here don't look expensive and tightly limited.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D98212/new/
https://reviews.llvm.org/D98212
More information about the llvm-commits
mailing list