[PATCH] D86364: [ValueTracking] Interpret GEPs as a series of adds multiplied by the related scaling factor
Quentin Colombet via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 8 11:08:33 PDT 2020
qcolombet added a comment.
Hi @nikic,
Thanks for the comments.
> To clarify, are you referring to caching within a single known bits query here (for the case where one instruction is recursively referenced multiple times), or across multiple queries?
I was referring to caching within a single known bits.
For GISel it actually helped quite a lot, but anyhow this is orthogonal.
> This patch has very little benefit for standard targets (we really don't care about alignment all that much),
This actually helps more than alignment. The idea is that you get ranges for some addresses and on some targets this actually can get a dramatical improvement because some addressing modes are not supported for all ranges.
> This reduces the number of known bits queries on GEPs a lot and would make us less susceptible to how expensive they are.
Although interesting, again I am not really after alignment here and really about ranges. I.e., the full bit analysis is required.
Anyway, I'll rework the patch to have the ability to inject some target specific code here (probably by plumbing TargetTransfromInfo in here) and we'll see how this looks.
Cheers,
-Quentin
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D86364/new/
https://reviews.llvm.org/D86364
More information about the llvm-commits
mailing list