[mips] Specify the correct value type when combining a CMovFP node.
authorVasileios Kalintiris <Vasileios.Kalintiris@imgtec.com>
Wed, 4 Mar 2015 12:10:18 +0000 (12:10 +0000)
committerVasileios Kalintiris <Vasileios.Kalintiris@imgtec.com>
Wed, 4 Mar 2015 12:10:18 +0000 (12:10 +0000)
This commit fixes a bug introduced in r230956 where we were creating
CMovFP_{T,F} nodes with multiple return value types (one for each operand).
With this change the return value type of the new node is the same as the
value type of the True/False operands of the original node.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231237 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Mips/MipsISelLowering.cpp

index 0b54d59c1e56403de92318accc191a60a4bb7925..9c50c908f1252a8e0f886b490dc38bb01f352ea6 100644 (file)
@@ -640,10 +640,8 @@ static SDValue performCMovFPCombine(SDNode *N, SelectionDAG &DAG,
                                                          MipsISD::CMovFP_T;
 
   SDValue FCC = N->getOperand(1), Glue = N->getOperand(3);
-  SDVTList VTs = DAG.getVTList(FCC.getValueType(), ValueIfTrue.getValueType(),
-                               ValueIfFalse.getValueType(),
-                               Glue.getValueType());
-  return DAG.getNode(Opc, SDLoc(N), VTs, ValueIfFalse, FCC, ValueIfTrue, Glue);
+  return DAG.getNode(Opc, SDLoc(N), ValueIfFalse.getValueType(),
+                     ValueIfFalse, FCC, ValueIfTrue, Glue);
 }
 
 static SDValue performANDCombine(SDNode *N, SelectionDAG &DAG,