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 | e99faac423e51254d7c5609e5366ffd226ac3534 (patch) | |
| tree | 251f50a04754c58ca62558d08a51ab4e5a1cfd6a /llvm/lib/Target/ARM | |
| parent | f34dfe4f282885685de3fc03c6ee1cd1f92b45a8 (diff) | |
| download | bcm5719-llvm-e99faac423e51254d7c5609e5366ffd226ac3534.tar.gz bcm5719-llvm-e99faac423e51254d7c5609e5366ffd226ac3534.zip | |
don't do ReplaceUses on a result that doesn't exist.
llvm-svn: 46673
Diffstat (limited to 'llvm/lib/Target/ARM')
| -rw-r--r-- | llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp b/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp index 56bbce7328b..6278c4e1617 100644 --- a/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp +++ b/llvm/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; } |

