[PATCH] D148655: ValueTracking: Handle powi in computeKnownFPClass
    Jay Foad via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Wed Apr 19 01:47:31 PDT 2023
    
    
  
foad added inline comments.
================
Comment at: llvm/lib/Analysis/ValueTracking.cpp:4463
+
+        if (ExponentKnownBits.Zero.isOneBitSet(0)) { // Is even
+          Known.knownNot(KnownFPClass::OrderedLessThanZeroMask);
----------------
This is checking that bit 0 is the //only// bit known to be zero. I think you want `ExponentKnownBits.Zero[0]`.
================
Comment at: llvm/lib/Analysis/ValueTracking.cpp:4464
+        if (ExponentKnownBits.Zero.isOneBitSet(0)) { // Is even
+          Known.knownNot(KnownFPClass::OrderedLessThanZeroMask);
+          break;
----------------
I don't think the result can be -0 here either, can it?
================
Comment at: llvm/lib/Analysis/ValueTracking.cpp:4479-4481
+        if (KnownSrc.cannotBeOrderedLessThanZero() &&
+            KnownSrc.isKnownNeverNegZero())
+          Known.knownNot(KnownFPClass::OrderedLessThanZeroMask);
----------------
I think this simplifies to:
```
  if (KnownSrc.isKnownNot(fcNegative))
    Known.knownNot(fcNegative);
```
================
Comment at: llvm/lib/Analysis/ValueTracking.cpp:4484-4486
+      case Intrinsic::pow: {
+        break;
+      }
----------------
Remove this?
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D148655/new/
https://reviews.llvm.org/D148655
    
    
More information about the llvm-commits
mailing list