Can't trust NodeDepth when checking for possibility of load folding creating
authorEvan Cheng <evan.cheng@apple.com>
Thu, 25 May 2006 20:16:55 +0000 (20:16 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Thu, 25 May 2006 20:16:55 +0000 (20:16 +0000)
a cycle. This increase the search space and will increase compile time (in
practice it appears to be small, e.g. 176.gcc goes from 62 sec to 65 sec)
that will be addressed later.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28476 91177308-0d34-0410-b5e6-96231b3b80d8

utils/TableGen/DAGISelEmitter.cpp

index 8f2744f012bcfbea057d60dc15ea5212accc887d..4a399cdfc03155bbd695ab7bea8e1ae7edf91ed6 100644 (file)
@@ -3481,13 +3481,11 @@ void DAGISelEmitter::run(std::ostream &OS) {
   OS << "  if (found || !Visited.insert(Use).second) return;\n";
   OS << "  for (unsigned i = 0, e = Use->getNumOperands(); i != e; ++i) {\n";
   OS << "    SDNode *N = Use->getOperand(i).Val;\n";
-  OS << "    if (N->getNodeDepth() >= Def->getNodeDepth()) {\n";
-  OS << "      if (N != Def) {\n";
-  OS << "        findNonImmUse(N, Def, found, Visited);\n";
-  OS << "      } else {\n";
-  OS << "        found = true;\n";
-  OS << "        break;\n";
-  OS << "      }\n";
+  OS << "    if (N != Def) {\n";
+  OS << "      findNonImmUse(N, Def, found, Visited);\n";
+  OS << "    } else {\n";
+  OS << "      found = true;\n";
+  OS << "      break;\n";
   OS << "    }\n";
   OS << "  }\n";
   OS << "}\n";