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 | 890404fa0e973d1cb983c10631a0094b6be2fe7f (patch) | |
tree | 4cd7e0b19786bd8068bdfa292e0a52ec48081e36 /lib | |
parent | f86fee697dea8e278e6a3aa44ceda26a26696964 (diff) | |
download | external_llvm-890404fa0e973d1cb983c10631a0094b6be2fe7f.zip external_llvm-890404fa0e973d1cb983c10631a0094b6be2fe7f.tar.gz external_llvm-890404fa0e973d1cb983c10631a0094b6be2fe7f.tar.bz2 |
After early-lowering the FORMAL_ARGUMENTS node, delete it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53874 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp index b500b6a..12c54c1 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/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; |