diff options
author | Evan Cheng <evan.cheng@apple.com> | 2006-05-25 20:16:55 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2006-05-25 20:16:55 +0000 |
commit | 553ef1be94dffdedbc6e1fce9de91f77e5f12b95 (patch) | |
tree | a5b45aa4dd822f0604b82bb783d893bf4962bc40 | |
parent | 6b5783d0b17abffe6665a95e3168642d5f465cef (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.cpp | 12 |
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"; |