[llvm] [ValueTracking] Use `SimplifyQuery` in `isKnownNonEqual` (PR #124942)

Yingwei Zheng via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 30 18:54:55 PST 2025


================
@@ -1609,17 +1609,13 @@ if.else:
   ret i16 0
 }
 
-; TODO: %cmp always evaluates to false
-
 define i1 @test_simplify_icmp2(double %x) {
 ; CHECK-LABEL: @test_simplify_icmp2(
 ; CHECK-NEXT:    [[ABS:%.*]] = tail call double @llvm.fabs.f64(double [[X:%.*]])
 ; CHECK-NEXT:    [[COND:%.*]] = fcmp oeq double [[ABS]], 0x7FF0000000000000
 ; CHECK-NEXT:    br i1 [[COND]], label [[IF_THEN:%.*]], label [[IF_ELSE:%.*]]
 ; CHECK:       if.then:
-; CHECK-NEXT:    [[CAST:%.*]] = bitcast double [[X]] to i64
-; CHECK-NEXT:    [[CMP:%.*]] = icmp eq i64 [[CAST]], 3458764513820540928
-; CHECK-NEXT:    ret i1 [[CMP]]
+; CHECK-NEXT:    ret i1 false
----------------
dtcxzyw wrote:

With DC we will have a more precise KnownBits: https://github.com/llvm/llvm-project/blob/8af24ce51630e4811a68201e863ea496196586ac/llvm/lib/Analysis/ValueTracking.cpp#L3830-L3840


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


More information about the llvm-commits mailing list