aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2006-05-25 20:16:55 +0000
committerEvan Cheng <evan.cheng@apple.com>2006-05-25 20:16:55 +0000
commit553ef1be94dffdedbc6e1fce9de91f77e5f12b95 (patch)
treea5b45aa4dd822f0604b82bb783d893bf4962bc40
parent6b5783d0b17abffe6665a95e3168642d5f465cef (diff)
Can't trust NodeDepth when checking for possibility of load folding creating
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
-rw-r--r--utils/TableGen/DAGISelEmitter.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/utils/TableGen/DAGISelEmitter.cpp b/utils/TableGen/DAGISelEmitter.cpp
index 8f2744f012..4a399cdfc0 100644
--- a/utils/TableGen/DAGISelEmitter.cpp
+++ b/utils/TableGen/DAGISelEmitter.cpp
@@ -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";