[PATCH] D101174: [IRCE] Relieve bound check on isSafeIncreasingBound and isSafeDecreasingBound
Roman Lebedev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 27 04:14:36 PDT 2021
lebedev.ri added a comment.
> With the order, if there are sibling loops, the target loop's predecessor could be located in previously processed loop which has complex CFG from optimization. From this situation, it is not easy to expect isLoopEntryGuardedByCond returns true.
I'm having a hard time parsing your messages :/
What does "is not easy" mean?
Is there some particular pattern that SCEV doesn't handle?
Perhaps it can be easily taught about it.
In D101174#2719193 <https://reviews.llvm.org/D101174#2719193>, @jaykang10 wrote:
>> I think you didn't answer the question though.
>
> From my opinion, it will not regress old-pm and it will not be affected by the population order of loops in new-pm. This change just relieves the bound check for new loop. If it is not proper answer for your question, please let me know.
Okay. So am i understanding correctly that we simply don't need that other check, and we don't have correctness problems when omitting it?
No further comments from me, thanks.
================
Comment at: llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp:715
return false;
LLVM_DEBUG(dbgs() << "irce: isSafeIncreasingBound with:\n");
----------------
Does this need a `SE.isKnownPositive(Step)`, like one in `isSafeDecreasingBound()`?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D101174/new/
https://reviews.llvm.org/D101174
More information about the llvm-commits
mailing list