[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