[PATCH] D148655: ValueTracking: Handle powi in computeKnownFPClass

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 24 14:52:39 PDT 2023


arsenm marked 2 inline comments as done.
arsenm added inline comments.


================
Comment at: llvm/lib/Analysis/ValueTracking.cpp:4464
+        if (ExponentKnownBits.Zero.isOneBitSet(0)) { // Is even
+          Known.knownNot(KnownFPClass::OrderedLessThanZeroMask);
+          break;
----------------
foad wrote:
> I don't think the result can be -0 here either, can it?
I think -0 requires an odd exp so yes


================
Comment at: llvm/lib/Analysis/ValueTracking.cpp:4479-4481
+        if (KnownSrc.cannotBeOrderedLessThanZero() &&
+            KnownSrc.isKnownNeverNegZero())
+          Known.knownNot(KnownFPClass::OrderedLessThanZeroMask);
----------------
foad wrote:
> I think this simplifies to:
> ```
>   if (KnownSrc.isKnownNot(fcNegative))
>     Known.knownNot(fcNegative);
> ```
I was trying to avoid handling the denormals flush case but I think a mode check is still needed. 


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

https://reviews.llvm.org/D148655



More information about the llvm-commits mailing list