diff options
| author | Evan Cheng <evan.cheng@apple.com> | 2006-10-12 20:35:19 +0000 | 
|---|---|---|
| committer | Evan Cheng <evan.cheng@apple.com> | 2006-10-12 20:35:19 +0000 | 
| commit | 8e770f558930196cc0be41cb7a324eba0ac727bb (patch) | |
| tree | 064e3e92e66539420ef2f686288dc39b9eb91f50 /llvm | |
| parent | a731cb674ac055b99748f4faa453d623b62ad67e (diff) | |
| download | bcm5719-llvm-8e770f558930196cc0be41cb7a324eba0ac727bb.tar.gz bcm5719-llvm-8e770f558930196cc0be41cb7a324eba0ac727bb.zip  | |
Use RemoveDeadNode to kill dead node.
llvm-svn: 30917
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/utils/TableGen/DAGISelEmitter.cpp | 16 | 
1 files changed, 4 insertions, 12 deletions
diff --git a/llvm/utils/TableGen/DAGISelEmitter.cpp b/llvm/utils/TableGen/DAGISelEmitter.cpp index 5221fe025bf..fdc67a157bc 100644 --- a/llvm/utils/TableGen/DAGISelEmitter.cpp +++ b/llvm/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";  | 

