Lines Matching defs:FMF

370       // Intersect FMF from the fneg instructions and union those with the
372 FastMathFlags FMF = TI->getFastMathFlags();
373 FMF &= FI->getFastMathFlags();
374 FMF |= SI.getFastMathFlags();
378 NewSelI->setFastMathFlags(FMF);
380 NewFNeg->setFastMathFlags(FMF);
411 FastMathFlags FMF = cast<FPMathOperator>(TII)->getFastMathFlags();
412 FMF &= cast<FPMathOperator>(FII)->getFastMathFlags();
413 FMF |= SelectFPOp->getFastMathFlags();
420 NewLdexp->setFastMathFlags(FMF);
544 FastMathFlags FMF;
546 FMF = SI.getFastMathFlags();
548 TVI->getOpcode(), TVI->getType(), true, FMF.noSignedZeros());
565 !computeKnownFPClass(FalseVal, FMF, fcNan, &SI).isKnownNeverNaN())
571 cast<Instruction>(NewSel)->setFastMathFlags(FMF);
578 BO->setHasNoNaNs(BO->hasNoNaNs() && FMF.noNaNs());
579 BO->setHasNoInfs(BO->hasNoInfs() && FMF.noInfs());
582 BO->setHasNoSignedZeros(BO->hasNoSignedZeros() && FMF.noSignedZeros());
2538 // Note: FMF from the select can not be propagated to the new instructions.
2858 FastMathFlags FMF = cast<FPMathOperator>(TrueVal)->getFastMathFlags();
2859 if (FMF.noNaNs() && !SI.hasNoNaNs()) {
2863 if (FMF.noInfs() && !SI.hasNoInfs()) {
3636 bool InstCombinerImpl::fmulByZeroIsZero(Value *MulVal, FastMathFlags FMF,
3638 KnownFPClass Known = computeKnownFPClass(MulVal, FMF, fcNegative, CtxI);
3641 (FMF.noSignedZeros() || Known.signBitIsZeroOrNaN());
3651 FastMathFlags FMF = cast<FPMathOperator>(TrueVal)->getFastMathFlags();
3654 FMF.setNoSignedZeros(SelectIsNSZ);
3655 return IC.fmulByZeroIsZero(MulRHS, FMF, &CtxI);
3839 // FIXME: The FMF should propagate from the select, not the fcmp.
3883 // TODO: Try to forward-propagate FMF from select arms to the select.
4226 // TODO: preserve FMF flags