[PATCH] D148073: [SCEV] Improve willNotOverflow by checking min/max in wide range with context
Max Kazantsev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 12 00:47:22 PDT 2023
mkazantsev added inline comments.
================
Comment at: llvm/test/Analysis/ScalarEvolution/guards.ll:26
; CHECK-NEXT: call void (i1, ...) @llvm.experimental.guard(i1 true) [ "deopt"() ]
-; CHECK-NEXT: [[IV_INC_CMP:%.*]] = icmp ult i32 [[IV_INC]], [[LEN]]
+; CHECK-NEXT: [[IV_INC_CMP:%.*]] = icmp slt i32 [[IV_INC]], [[LEN]]
; CHECK-NEXT: call void (i1, ...) @llvm.experimental.guard(i1 [[IV_INC_CMP]]) [ "deopt"() ]
----------------
Arguably regression
================
Comment at: llvm/test/Transforms/IndVarSimplify/elim-extend.ll:141
+; CHECK-NEXT: [[LFTR_WIDEIV:%.*]] = trunc i64 [[INDVARS_IV_NEXT]] to i32
+; CHECK-NEXT: [[EXITCOND:%.*]] = icmp ne i32 [[LFTR_WIDEIV]], [[LIMITDEC]]
; CHECK-NEXT: br i1 [[EXITCOND]], label [[INNERLOOP]], label [[INNEREXIT:%.*]]
----------------
Regression, but apparently fix should be in other place.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D148073/new/
https://reviews.llvm.org/D148073
More information about the llvm-commits
mailing list