mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
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. llvm-svn: 28476
This commit is contained in:
parent
abb909e3bb
commit
1e9556ee06
@ -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";
|
||||
|
Loading…
Reference in New Issue
Block a user