[PATCH] D148244: [IRCE] Support inverted range check's predicate
Serguei Katkov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 29 00:49:27 PDT 2023
skatkov added inline comments.
================
Comment at: llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp:374
+ // successor - outside it. Invert branch for opposite case
+ if (!L->contains(BI->getSuccessor(0)) && L->contains(BI->getSuccessor(1))) {
+ IRBuilder<> Builder(BI);
----------------
skatkov wrote:
> Can we move this transformation AFTER profitability check? The idea is that if we will not add this check to consideration, no need to do modification.
>
> I guess it should work:
> 1) Get operand idx of edge coming to loop
> 2) use this operand number in getEdgeProbability
> 3) if we pass check, do transformation if operand idx != 0.
No operand idx but successor idx...
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D148244/new/
https://reviews.llvm.org/D148244
More information about the llvm-commits
mailing list