[PATCH] D99174: [ARM] Enable UpperBound unrolling for all loops

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 23 06:29:38 PDT 2021


dmgreen added inline comments.


================
Comment at: llvm/test/Transforms/LoopUnroll/ARM/upperbound.ll:78
+; CHECK-NEXT:    [[SWITCH:%.*]] = icmp ult i32 [[L86_OFF]], 24
+; CHECK-NEXT:    br i1 [[SWITCH]], label [[FOR_END_I_IF_END8_I_CRIT_EDGE_I:%.*]], label [[FOR_INC_I_3_I_5:%.*]]
 ; CHECK:       for.end.i.if.end8.i_crit_edge.i:
----------------
SjoerdMeijer wrote:
> I find this test change a bit difficult to read. What exactly is changing here?
> This first check here s just a check to see if the loop executes at all, but from the other changes below I find it difficult to see if this gets now unrolled or if there are other changes.
It is getting fully unrolled, which combined with the array values becoming constant and known, managed to simplify most of the unrolled code away.  I was just using it as an example of something that will now be unrolled beneficially.


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

https://reviews.llvm.org/D99174



More information about the llvm-commits mailing list