Fix a crash I introduced into the IA64 backend with my copyfromreg change.

It used to crash on any function that took float arguments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22973 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2005-08-22 21:33:11 +00:00
parent a411cbca5c
commit 0a00bece0d

View File

@ -202,7 +202,9 @@ IA64TargetLowering::LowerArguments(Function &F, SelectionDAG &DAG) {
argPreg[count] = args_FP[used_FPArgs++];
argOpc[count] = IA64::FMOV;
argt = newroot = DAG.getCopyFromReg(DAG.getRoot(), argVreg[count],
getValueType(I->getType()));
MVT::f64);
if (I->getType() == Type::FloatTy)
argt = DAG.getNode(ISD::FP_ROUND, MVT::f32, argt);
break;
case MVT::i1: // NOTE: as far as C abi stuff goes,
// bools are just boring old ints