[llvm-branch-commits] [llvm] ValueTracking: Improve handling of fadd in computeKnownFPClass. (PR #174123)

Matt Arsenault via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Thu Jan 1 03:10:00 PST 2026


================
@@ -5640,13 +5648,25 @@ void computeKnownFPClass(const Value *V, const APInt &DemandedElts,
         if (KnownLHS.cannotBeOrderedLessThanZero() &&
             KnownRHS.cannotBeOrderedLessThanZero())
           Known.knownNot(KnownFPClass::OrderedLessThanZeroMask);
+        if (KnownLHS.cannotBeOrderedGreaterThanZero() &&
+            KnownRHS.cannotBeOrderedGreaterThanZero())
+          Known.knownNot(KnownFPClass::OrderedGreaterThanZeroMask);
+
         if (!F)
           break;
 
         const fltSemantics &FltSem =
             Op->getType()->getScalarType()->getFltSemantics();
         DenormalMode Mode = F->getDenormalMode(FltSem);
 
+        if (SameOperands) {
+          // Doubling 0 will give the same 0.
----------------
arsenm wrote:

No, because that would mean the magnitude decreased and this can only increase the magnitude 

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


More information about the llvm-branch-commits mailing list