Fix use of an unitialized value in the LegalizeOps expansion for ISD::SUB. No in...
authorOwen Anderson <resistor@mac.com>
Mon, 21 May 2012 22:39:20 +0000 (22:39 +0000)
committerOwen Anderson <resistor@mac.com>
Mon, 21 May 2012 22:39:20 +0000 (22:39 +0000)
Patch by Micah Villmow.

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

lib/CodeGen/SelectionDAG/LegalizeDAG.cpp

index b8cb897a86fa0c90a0f16c979271bb48d9c04041..f77c74b9eb89e42a094c6a9a37afd92b8ae37e05 100644 (file)
@@ -3064,7 +3064,7 @@ void SelectionDAGLegalize::ExpandNode(SDNode *Node) {
            "Don't know how to expand this subtraction!");
     Tmp1 = DAG.getNode(ISD::XOR, dl, VT, Node->getOperand(1),
                DAG.getConstant(APInt::getAllOnesValue(VT.getSizeInBits()), VT));
-    Tmp1 = DAG.getNode(ISD::ADD, dl, VT, Tmp2, DAG.getConstant(1, VT));
+    Tmp1 = DAG.getNode(ISD::ADD, dl, VT, Tmp1, DAG.getConstant(1, VT));
     Results.push_back(DAG.getNode(ISD::ADD, dl, VT, Node->getOperand(0), Tmp1));
     break;
   }