[llvm] [SimplifyIndVar] ICMP predicate conversion to EQ/NE (PR #144945)

Philip Reames via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 2 11:45:35 PST 2025


================
@@ -13,7 +13,7 @@ define i32 @guards_applied_to_add_rec(ptr %dst) {
 ; CHECK-NEXT:    [[OUTER_IV_0:%.*]] = phi i32 [ 2, %[[ENTRY]] ], [ [[OUTER_IV_0_NEXT:%.*]], %[[OUTER_LATCH:.*]] ]
 ; CHECK-NEXT:    [[OUTER_IV_1:%.*]] = phi i32 [ 1, %[[ENTRY]] ], [ [[OUTER_IV_0]], %[[OUTER_LATCH]] ]
 ; CHECK-NEXT:    [[SHR28:%.*]] = lshr i32 [[OUTER_IV_1]], 1
-; CHECK-NEXT:    [[PRE:%.*]] = icmp samesign ult i32 [[OUTER_IV_1]], 2
+; CHECK-NEXT:    [[PRE:%.*]] = icmp samesign eq i32 [[OUTER_IV_1]], 1
----------------
preames wrote:

This change is highly suspicious.  1 was previously *not* a value which evaluated to true, and now is?

https://github.com/llvm/llvm-project/pull/144945


More information about the llvm-commits mailing list