1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 12:41:49 +01:00

Changed flag operand of ISD::FP_ROUND to TargetConstant as it should not get checked for legalisation

llvm-svn: 148275
This commit is contained in:
Pete Cooper 2012-01-17 01:54:07 +00:00
parent c54b1a7001
commit 0823273538

View File

@ -197,7 +197,7 @@ static SDValue getCopyFromParts(SelectionDAG &DAG, DebugLoc DL,
// FP_ROUND's are always exact here. // FP_ROUND's are always exact here.
if (ValueVT.bitsLT(Val.getValueType())) if (ValueVT.bitsLT(Val.getValueType()))
return DAG.getNode(ISD::FP_ROUND, DL, ValueVT, Val, return DAG.getNode(ISD::FP_ROUND, DL, ValueVT, Val,
DAG.getIntPtrConstant(1)); DAG.getTargetConstant(1, TLI.getPointerTy()));
return DAG.getNode(ISD::FP_EXTEND, DL, ValueVT, Val); return DAG.getNode(ISD::FP_EXTEND, DL, ValueVT, Val);
} }
@ -2691,7 +2691,8 @@ void SelectionDAGBuilder::visitFPTrunc(const User &I) {
SDValue N = getValue(I.getOperand(0)); SDValue N = getValue(I.getOperand(0));
EVT DestVT = TLI.getValueType(I.getType()); EVT DestVT = TLI.getValueType(I.getType());
setValue(&I, DAG.getNode(ISD::FP_ROUND, getCurDebugLoc(), setValue(&I, DAG.getNode(ISD::FP_ROUND, getCurDebugLoc(),
DestVT, N, DAG.getIntPtrConstant(0))); DestVT, N,
DAG.getTargetConstant(0, TLI.getPointerTy())));
} }
void SelectionDAGBuilder::visitFPExt(const User &I){ void SelectionDAGBuilder::visitFPExt(const User &I){