mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-20 14:29:27 +00:00
DAGCombine: always constant fold FMA when target disable FP exceptions
Summary: When trying to constant fold an FMA in the DAG, getNode() fails to fold the FMA if an operand is not finite. In this case this patch allows the constant folding if !TLI->hasFloatingPointExceptions() Reviewers: resistor Reviewed By: resistor Subscribers: hfinkel, llvm-commits Differential Revision: http://reviews.llvm.org/D6912 From: Mehdi Amini <mehdi.amini@apple.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226901 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
efd63170c8
commit
33cf319cd1
@ -3620,7 +3620,7 @@ SDValue SelectionDAG::getNode(unsigned Opcode, SDLoc DL, EVT VT,
|
||||
const APFloat &V3 = N3CFP->getValueAPF();
|
||||
APFloat::opStatus s =
|
||||
V1.fusedMultiplyAdd(V2, V3, APFloat::rmNearestTiesToEven);
|
||||
if (s != APFloat::opInvalidOp)
|
||||
if (!TLI->hasFloatingPointExceptions() || s != APFloat::opInvalidOp)
|
||||
return getConstantFP(V1, VT);
|
||||
}
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user