[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