[llvm-branch-commits] [llvm] ValueTracking: Improve handling of fadd in computeKnownFPClass. (PR #174123)
Matt Arsenault via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri Jan 2 02:55:44 PST 2026
================
@@ -5640,13 +5648,25 @@ void computeKnownFPClass(const Value *V, const APInt &DemandedElts,
if (KnownLHS.cannotBeOrderedLessThanZero() &&
KnownRHS.cannotBeOrderedLessThanZero())
Known.knownNot(KnownFPClass::OrderedLessThanZeroMask);
+ if (KnownLHS.cannotBeOrderedGreaterThanZero() &&
+ KnownRHS.cannotBeOrderedGreaterThanZero())
+ Known.knownNot(KnownFPClass::OrderedGreaterThanZeroMask);
+
if (!F)
break;
const fltSemantics &FltSem =
Op->getType()->getScalarType()->getFltSemantics();
DenormalMode Mode = F->getDenormalMode(FltSem);
+ if (SameOperands) {
+ // Doubling 0 will give the same 0.
----------------
arsenm wrote:
I suppose there is still an issue here with mismatched input and output modes. e.g., this needs an output check if the output mode is preserve-sign and the input is IEEE
https://github.com/llvm/llvm-project/pull/174123
More information about the llvm-branch-commits
mailing list