diff options
| author | Evan Cheng <evan.cheng@apple.com> | 2008-02-05 22:44:06 +0000 |
|---|---|---|
| committer | Evan Cheng <evan.cheng@apple.com> | 2008-02-05 22:44:06 +0000 |
| commit | 0f329161115d5a6a9e4dfbf1fb535f8d307fb421 (patch) | |
| tree | 3e78e490cc077bfd3db76d1d4e3a7280770d97c6 /llvm | |
| parent | 9413a016f407ef64fab5210efde25ea8bd825f57 (diff) | |
| download | bcm5719-llvm-0f329161115d5a6a9e4dfbf1fb535f8d307fb421.tar.gz bcm5719-llvm-0f329161115d5a6a9e4dfbf1fb535f8d307fb421.zip | |
Move to getCALLSEQ_END to ensure CALLSEQ_END node produces a flag. This is consistent with the definition in td file.
llvm-svn: 46775
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/lib/Target/CellSPU/SPUISelLowering.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/llvm/lib/Target/CellSPU/SPUISelLowering.cpp b/llvm/lib/Target/CellSPU/SPUISelLowering.cpp index 7dd9b60c2bc..3cac41fa08d 100644 --- a/llvm/lib/Target/CellSPU/SPUISelLowering.cpp +++ b/llvm/lib/Target/CellSPU/SPUISelLowering.cpp @@ -1227,6 +1227,13 @@ LowerCALL(SDOperand Op, SelectionDAG &DAG, const SPUSubtarget *ST) { Chain = DAG.getNode(CallOpc, NodeTys, &Ops[0], Ops.size()); InFlag = Chain.getValue(1); + Chain = DAG.getCALLSEQ_END(Chain, + DAG.getConstant(NumStackBytes, PtrVT), + DAG.getConstant(0, PtrVT), + InFlag); + if (Op.Val->getValueType(0) != MVT::Other) + InFlag = Chain.getValue(1); + SDOperand ResultVals[3]; unsigned NumResults = 0; NodeTys.clear(); @@ -1278,8 +1285,6 @@ LowerCALL(SDOperand Op, SelectionDAG &DAG, const SPUSubtarget *ST) { break; } - Chain = DAG.getNode(ISD::CALLSEQ_END, MVT::Other, Chain, - DAG.getConstant(NumStackBytes, PtrVT)); NodeTys.push_back(MVT::Other); // If the function returns void, just return the chain. |

