We already calculate WideVT above, just reuse it.
authorEric Christopher <echristo@gmail.com>
Mon, 28 Apr 2014 22:24:57 +0000 (22:24 +0000)
committerEric Christopher <echristo@gmail.com>
Mon, 28 Apr 2014 22:24:57 +0000 (22:24 +0000)
Patch by Jan Vesely <jan.vesely@rutgers.edu>.

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

lib/CodeGen/SelectionDAG/LegalizeDAG.cpp

index 7e4958ef805c899048e9f3482cc4153fc379183b..dac372fceacf335e24ddc15eea3bbca7d8d3a690 100644 (file)
@@ -3711,8 +3711,7 @@ void SelectionDAGLegalize::ExpandNode(SDNode *Node) {
       BottomHalf = DAG.getNode(Ops[isSigned][1], dl, DAG.getVTList(VT, VT), LHS,
                                RHS);
       TopHalf = BottomHalf.getValue(1);
-    } else if (TLI.isTypeLegal(EVT::getIntegerVT(*DAG.getContext(),
-                                                 VT.getSizeInBits() * 2))) {
+    } else if (TLI.isTypeLegal(WideVT)) {
       LHS = DAG.getNode(Ops[isSigned][2], dl, WideVT, LHS);
       RHS = DAG.getNode(Ops[isSigned][2], dl, WideVT, RHS);
       Tmp1 = DAG.getNode(ISD::MUL, dl, WideVT, LHS, RHS);