diff options
author | Dan Gohman <gohman@apple.com> | 2008-07-21 21:04:07 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2008-07-21 21:04:07 +0000 |
commit | a6191cde79d19300ecc1c882b4ab1ed4709b86af (patch) | |
tree | fc41b44618ad94f49961c7d9afa9fe548f9e072a | |
parent | fa374ca2238e3853f5e33b2fd48e4c9f73dffc0d (diff) | |
download | bcm5719-llvm-a6191cde79d19300ecc1c882b4ab1ed4709b86af.tar.gz bcm5719-llvm-a6191cde79d19300ecc1c882b4ab1ed4709b86af.zip |
After early-lowering the FORMAL_ARGUMENTS node, delete it.
llvm-svn: 53874
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp index b500b6ab6b3..12c54c1eeff 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp @@ -4686,6 +4686,13 @@ void TargetLowering::LowerArguments(Function &F, SelectionDAG &DAG, (Result->getNumValues()+1 == TmpRes.Val->getNumValues() && TmpRes.getValue(Result->getNumValues()).getValueType() == MVT::Flag)) && "Lowering produced unexpected number of results!"); + + // The FORMAL_ARGUMENTS node itself is likely no longer needed. + if (Result != TmpRes.Val && Result->use_empty()) { + HandleSDNode Dummy(DAG.getRoot()); + DAG.RemoveDeadNode(Result); + } + Result = TmpRes.Val; unsigned NumArgRegs = Result->getNumValues() - 1; |