[llvm] 1d9f77f - ValueTracking: Really remove CannotBeOrderedLessThanZero

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 7 05:21:07 PDT 2023


Author: Matt Arsenault
Date: 2023-08-07T08:14:41-04:00
New Revision: 1d9f77f54f70989c7b3f5648f2b980e442929ed1

URL: https://github.com/llvm/llvm-project/commit/1d9f77f54f70989c7b3f5648f2b980e442929ed1
DIFF: https://github.com/llvm/llvm-project/commit/1d9f77f54f70989c7b3f5648f2b980e442929ed1.diff

LOG: ValueTracking: Really remove CannotBeOrderedLessThanZero

6640df94f9abd4f9fef0263afbf7978ac55832b8 did not actually remove it,
just its final user. cannotBeOrderedLessThanZeroImpl still has a user
which needs to be updated before it can be removed.

The users of SignBitMustBeZero currently have broken expectations for
nan handling, so requires more work to replace.

Added: 
    

Modified: 
    llvm/include/llvm/Analysis/ValueTracking.h
    llvm/lib/Analysis/ValueTracking.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/include/llvm/Analysis/ValueTracking.h b/llvm/include/llvm/Analysis/ValueTracking.h
index 8cab01c2f11dd9..824b1375a852d9 100644
--- a/llvm/include/llvm/Analysis/ValueTracking.h
+++ b/llvm/include/llvm/Analysis/ValueTracking.h
@@ -490,9 +490,6 @@ inline bool cannotBeNegativeZero(const Value *V, const DataLayout &DL,
   return Known.isKnownNeverNegZero();
 }
 
-bool CannotBeOrderedLessThanZero(const Value *V, const DataLayout &DL,
-                                 const TargetLibraryInfo *TLI);
-
 /// Return true if we can prove that the specified FP value is either NaN or
 /// never less than -0.0.
 ///

diff  --git a/llvm/lib/Analysis/ValueTracking.cpp b/llvm/lib/Analysis/ValueTracking.cpp
index 6bffab61d01479..80db4d8581af74 100644
--- a/llvm/lib/Analysis/ValueTracking.cpp
+++ b/llvm/lib/Analysis/ValueTracking.cpp
@@ -3650,6 +3650,8 @@ Intrinsic::ID llvm::getIntrinsicForCallSite(const CallBase &CB,
   return Intrinsic::not_intrinsic;
 }
 
+/// Deprecated, use computeKnownFPClass instead.
+///
 /// If \p SignBitOnly is true, test for a known 0 sign bit rather than a
 /// standard ordered compare. e.g. make -0.0 olt 0.0 be true because of the sign
 /// bit despite comparing equal.
@@ -3841,13 +3843,9 @@ static bool cannotBeOrderedLessThanZeroImpl(const Value *V,
   return false;
 }
 
-bool llvm::CannotBeOrderedLessThanZero(const Value *V, const DataLayout &DL,
-                                       const TargetLibraryInfo *TLI) {
-  return cannotBeOrderedLessThanZeroImpl(V, DL, TLI, false, 0);
-}
-
 bool llvm::SignBitMustBeZero(const Value *V, const DataLayout &DL,
                              const TargetLibraryInfo *TLI) {
+  // FIXME: Use computeKnownFPClass and pass all arguments
   return cannotBeOrderedLessThanZeroImpl(V, DL, TLI, true, 0);
 }
 


        


More information about the llvm-commits mailing list