[LegalizeIntegerTypes] Use GetExpandedInteger instead of SplitInteger in ExpandIntRes...
authorCraig Topper <craig.topper@sifive.com>
Wed, 24 Feb 2021 07:52:01 +0000 (23:52 -0800)
committerCraig Topper <craig.topper@sifive.com>
Wed, 24 Feb 2021 07:53:45 +0000 (23:53 -0800)
We know the input is going to be expanded as well, so we should
just ask for the already expanded operands. Otherwise we create
nodes that are just going to need to be legalized.

llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp

index 962ae67..8316289 100644 (file)
@@ -3940,10 +3940,10 @@ void DAGTypeLegalizer::ExpandIntRes_XMULO(SDNode *N,
     // %res = { %5.0, %0 || %1.1 || %2.1 || %5.1 }
     SDValue LHS = N->getOperand(0), RHS = N->getOperand(1);
     SDValue LHSHigh, LHSLow, RHSHigh, RHSLow;
-    SplitInteger(LHS, LHSLow, LHSHigh);
-    SplitInteger(RHS, RHSLow, RHSHigh);
-    EVT HalfVT = LHSLow.getValueType()
-      , BitVT = N->getValueType(1);
+    GetExpandedInteger(LHS, LHSLow, LHSHigh);
+    GetExpandedInteger(RHS, RHSLow, RHSHigh);
+    EVT HalfVT = LHSLow.getValueType();
+    EVT BitVT = N->getValueType(1);
     SDVTList VTHalfMulO = DAG.getVTList(HalfVT, BitVT);
     SDVTList VTFullAddO = DAG.getVTList(VT, BitVT);