[llvm] [SelectionDAGBuilder] Remove NoNaNsFPMath uses (PR #169904)
via llvm-commits
llvm-commits at lists.llvm.org
Sat Jan 3 04:46:10 PST 2026
================
@@ -6775,10 +6778,14 @@ static SDValue foldAndOrOfSETCC(SDNode *LogicOp, SelectionDAG &DAG) {
NewOpcode = IsSigned ? ISD::SMAX : ISD::UMAX;
} else if (OpVT.isFloatingPoint())
NewOpcode = getMinMaxOpcodeForCompareFold(
- Operand1, Operand2, CC, LogicOp->getOpcode(), DAG,
- isFMAXNUMFMINNUM_IEEE, isFMAXNUMFMINNUM);
+ Operand1, Operand2,
+ LHSSetCCFlags.hasNoNaNs() && RHSSetCCFlags.hasNoNaNs(), CC,
+ LogicOp->getOpcode(), DAG, isFMAXNUMFMINNUM_IEEE, isFMAXNUMFMINNUM);
if (NewOpcode != ISD::DELETED_NODE) {
+ // Propagate fast-math flags from setcc.
+ SelectionDAG::FlagInserter FlagInserter(DAG, LHS->getFlags() &
----------------
paperchalice wrote:
Unfortunately `getSetCC` doesn't support `SDNodeFlags`.
https://github.com/llvm/llvm-project/pull/169904
More information about the llvm-commits
mailing list