[PATCH] D148631: ValueTracking: fdiv sign handling in computeKnownFPClass

Jay Foad via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 20 03:04:58 PDT 2023


foad added inline comments.


================
Comment at: llvm/lib/Analysis/ValueTracking.cpp:4579
+    const bool WantNegative =
+        (InterestedClasses & KnownFPClass::OrderedLessThanZeroMask) != fcNone;
+    if (!WantNan && !WantNegative)
----------------



================
Comment at: llvm/lib/Analysis/ValueTracking.cpp:4587
     computeKnownFPClass(Op->getOperand(1), DemandedElts,
                         fcNan | fcInf | fcZero | fcSubnormal, KnownRHS,
                         Depth + 1, Q, TLI);
----------------



================
Comment at: llvm/lib/Analysis/ValueTracking.cpp:4591-4592
+    bool KnowSomethingUseful =
+        KnownRHS.isKnownNeverNaN() || KnownRHS.isKnownNeverInfinity() ||
+        KnownRHS.isKnownNeverZero() || KnownRHS.signBitIsZeroOrNaN();
 
----------------
neverInfinity and neverZero are not useful on their own, only if you already know neverNan.


================
Comment at: llvm/lib/Analysis/ValueTracking.cpp:4597
+                          fcNan | fcInf | fcZero |
+                              KnownFPClass::OrderedLessThanZeroMask,
+                          KnownLHS, Depth + 1, Q, TLI);
----------------



CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D148631/new/

https://reviews.llvm.org/D148631



More information about the llvm-commits mailing list