diff options
author | Chris Lattner <sabre@nondot.org> | 2008-02-03 03:20:59 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2008-02-03 03:20:59 +0000 |
commit | a47b9bcbdec16c2fa7cee84e72b5d0a306519a7a (patch) | |
tree | 6de86e35e8f1fdc3b856348e77329bc8d00f6753 | |
parent | a658baba78e9cb0a9efbc5e4921c63f7b92a920c (diff) |
don't do ReplaceUses on a result that doesn't exist.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46673 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/ARM/ARMISelDAGToDAG.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/Target/ARM/ARMISelDAGToDAG.cpp b/lib/Target/ARM/ARMISelDAGToDAG.cpp index 56bbce7328..6278c4e161 100644 --- a/lib/Target/ARM/ARMISelDAGToDAG.cpp +++ b/lib/Target/ARM/ARMISelDAGToDAG.cpp @@ -732,8 +732,10 @@ SDNode *ARMDAGToDAGISel::Select(SDOperand Op) { SDOperand Ops[] = { N1, Tmp2, N3, Chain, InFlag }; SDNode *ResNode = CurDAG->getTargetNode(Opc, MVT::Other, MVT::Flag, Ops, 5); Chain = SDOperand(ResNode, 0); - InFlag = SDOperand(ResNode, 1); - ReplaceUses(SDOperand(Op.Val, 1), InFlag); + if (Op.Val->getNumValues() == 2) { + InFlag = SDOperand(ResNode, 1); + ReplaceUses(SDOperand(Op.Val, 1), InFlag); + } ReplaceUses(SDOperand(Op.Val, 0), SDOperand(Chain.Val, Chain.ResNo)); return NULL; } |