[PATCH] D102234: [SimpleLoopBoundSplit] Split Bound of Loop which has conditional branch with IV

JinGu Kang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 14 02:37:57 PDT 2021


jaykang10 added a comment.

In D102234#2758839 <https://reviews.llvm.org/D102234#2758839>, @mkazantsev wrote:

> General question: does this pass do something that IRCE doesn't? From what I've read, it looks a very limited version of InductiveRangeCheckElimination, with only difference that it works for non-loop-existing conditions.
>
> Maybe what you are looking for is to add a flag into IRCE that it works with such conditions.

@mkazantsev I appreciate your comments. I will update code following them.

Yep, you are right. It is a limited version of IRCE pass. For the first time, I tried to extend IRCE pass with extending SCEV or changing the population order of loop in new pass manager in order to handle my motivational examples. You can see the discussion with below patches.
https://reviews.llvm.org/D101409
https://reviews.llvm.org/D100566
https://reviews.llvm.org/D99774

During discussion, @reames recommended to write a limited pass to handle my motivational example rather than extending IRCE pass because he feels IRCE pass has some problems and it is overkill to handle my motivational example. You can see the discussion with below email thread.
https://lists.llvm.org/pipermail/llvm-dev/2021-April/150281.html

I am aiming to enable transformation like IRCE pass or something like that in the pipeline of new pass manager. If it is possible to enable IRCE pass in the pipeline of new pass manager, I am OK to add the new flag to IRCE pass. If it is not possible, I would try to write transformation pass like this patch or alternative which can be accepted into upstream.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D102234/new/

https://reviews.llvm.org/D102234



More information about the llvm-commits mailing list