[PATCH] D148230: ValueTracking: fadd +0 cannot return -0
Jay Foad via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 21 03:55:09 PDT 2023
foad added inline comments.
================
Comment at: llvm/include/llvm/Analysis/ValueTracking.h:281
+ /// Return true if it's known this can never be a positive subnormal
+ bool isKnownNeverPosSubnormal() const {
+ return isKnownNever(fcPosSubnormal);
----------------
Matter of taste I guess, but I don't think a helper function this simple actually helps.
================
Comment at: llvm/lib/Analysis/ValueTracking.cpp:3936
return isKnownNeverNegZero() &&
(isKnownNeverNegSubnormal() || inputDenormalIsIEEE(F, Ty));
}
----------------
Could use inputDenormalIsIEEEOrPosZero here.
================
Comment at: llvm/lib/Analysis/ValueTracking.cpp:3943
+ return isKnownNeverPosZero() &&
+ (isKnownNeverSubnormal() || inputDenormalIsIEEEOrPosZero(F, Ty));
+}
----------------
This doesn't work. If denormal mode is PosZero then a denormal can be flushed to +0, so this function should return false.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D148230/new/
https://reviews.llvm.org/D148230
More information about the llvm-commits
mailing list