summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2006-10-12 20:35:19 +0000
committerEvan Cheng <evan.cheng@apple.com>2006-10-12 20:35:19 +0000
commit1fae00f1ad97f3aa128f9622e152fdb383a07347 (patch)
tree5c6373bd65c5969faddeb9711f5905587f3d07e3 /utils
parent130a6471b90f66e99b1f9f42877fdf611c330ac6 (diff)
downloadllvm-1fae00f1ad97f3aa128f9622e152fdb383a07347.tar.gz
llvm-1fae00f1ad97f3aa128f9622e152fdb383a07347.tar.bz2
llvm-1fae00f1ad97f3aa128f9622e152fdb383a07347.tar.xz
Use RemoveDeadNode to kill dead node.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30917 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils')
-rw-r--r--utils/TableGen/DAGISelEmitter.cpp16
1 files changed, 4 insertions, 12 deletions
diff --git a/utils/TableGen/DAGISelEmitter.cpp b/utils/TableGen/DAGISelEmitter.cpp
index 5221fe025b..fdc67a157b 100644
--- a/utils/TableGen/DAGISelEmitter.cpp
+++ b/utils/TableGen/DAGISelEmitter.cpp
@@ -3741,16 +3741,6 @@ OS << " unsigned NumKilled = ISelKilled.size();\n";
OS << " RemoveKilled();\n";
OS << "}\n\n";
- OS << "void DeleteNode(SDNode *N) {\n";
- OS << " CurDAG->DeleteNode(N);\n";
- OS << " for (SDNode::op_iterator I = N->op_begin(), E = N->op_end(); "
- << "I != E; ++I) {\n";
- OS << " SDNode *Operand = I->Val;\n";
- OS << " if (Operand->use_empty())\n";
- OS << " DeleteNode(Operand);\n";
- OS << " }\n";
- OS << "}\n";
-
OS << "// SelectRoot - Top level entry to DAG isel.\n";
OS << "SDOperand SelectRoot(SDOperand Root) {\n";
OS << " SelectRootInit();\n";
@@ -3774,8 +3764,10 @@ OS << " unsigned NumKilled = ISelKilled.size();\n";
OS << " if (ResNode != Node) {\n";
OS << " if (ResNode)\n";
OS << " ReplaceUses(Node, ResNode);\n";
- OS << " if (Node->use_empty()) // Don't delete EntryToken, etc.\n";
- OS << " DeleteNode(Node);\n";
+ OS << " if (Node->use_empty()) { // Don't delete EntryToken, etc.\n";
+ OS << " CurDAG->RemoveDeadNode(Node, ISelKilled);\n";
+ OS << " RemoveKilled();\n";
+ OS << " }\n";
OS << " }\n";
OS << " }\n";
OS << " }\n";