[llvm-branch-commits] [llvm] ValueTracking: Special case fmul by llvm.amdgcn.trig.preop (PR #183373)
Jay Foad via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Thu Feb 26 03:50:29 PST 2026
================
@@ -5573,37 +5579,44 @@ void computeKnownFPClass(const Value *V, const APInt &DemandedElts,
Op->getType()->getScalarType()->getFltSemantics())
: DenormalMode::getDynamic();
+ Value *LHS = Op->getOperand(0);
+ Value *RHS = Op->getOperand(1);
// X * X is always non-negative or a NaN.
// FIXME: Should check isGuaranteedNotToBeUndef
- if (Op->getOperand(0) == Op->getOperand(1)) {
+ if (LHS == RHS) {
KnownFPClass KnownSrc;
- computeKnownFPClass(Op->getOperand(0), DemandedElts, fcAllFlags, KnownSrc,
- Q, Depth + 1);
+ computeKnownFPClass(LHS, DemandedElts, fcAllFlags, KnownSrc, Q,
+ Depth + 1);
Known = KnownFPClass::square(KnownSrc, Mode);
break;
}
+ KnownFPClass KnownLHS, KnownRHS;
+
const APFloat *CRHS;
- if (match(Op->getOperand(1), m_APFloat(CRHS))) {
- KnownFPClass KnownLHS;
+ if (match(RHS, m_APFloat(CRHS))) {
computeKnownFPClass(Op->getOperand(0), DemandedElts, fcAllFlags, KnownLHS,
----------------
jayfoad wrote:
Pull this out of the `if`? Also:
```suggestion
computeKnownFPClass(LHS, DemandedElts, fcAllFlags, KnownLHS,
```
https://github.com/llvm/llvm-project/pull/183373
More information about the llvm-branch-commits
mailing list