diff options
| author | Chris Lattner <sabre@nondot.org> | 2005-04-02 03:22:40 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2005-04-02 03:22:40 +0000 |
| commit | f4b457987fca50a1dc86e1a60dad2cff2b060945 (patch) | |
| tree | 4ead33742c8bb76f3811c7d6518b3ec954f08a0b /lib/CodeGen | |
| parent | d4b57286dc52d3c5f087f5b8e1d542605d52de01 (diff) | |
Fix a bug when inserting a libcall into a function with no other calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20999 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
| -rw-r--r-- | lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp index f75d5f8a6a..d1aae309d2 100644 --- a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp +++ b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp @@ -1428,7 +1428,8 @@ static void FindEarliestAdjCallStackUp(SDNode *Node, SDNode *&Found) { static SDNode *FindAdjCallStackUp(SDNode *Node) { if (Node->getOpcode() == ISD::ADJCALLSTACKUP) return Node; - assert(!Node->use_empty() && "Could not find ADJCALLSTACKUP!"); + if (Node->use_empty()) + return 0; // No adjcallstackup if (Node->hasOneUse()) // Simple case, only has one user to check. return FindAdjCallStackUp(*Node->use_begin()); @@ -1484,7 +1485,8 @@ SDOperand SelectionDAGLegalize::ExpandLibCall(const char *Name, SDNode *Node, SDNode *OutChain; SDOperand InChain = FindInputOutputChains(Node, OutChain, DAG.getEntryNode()); - // TODO. Link in chains. + if (InChain.Val == 0) + InChain = DAG.getEntryNode(); TargetLowering::ArgListTy Args; for (unsigned i = 0, e = Node->getNumOperands(); i != e; ++i) { |
