Commit 28ae0a4b by Ben Clayton

Reactor: Add new 'EarlyCSEPass' optimization pass.

Documentation: http://llvm.org/doxygen/structllvm_1_1EarlyCSEPass.html Bug: b/135609394 Change-Id: Ie7c6a99be46832797c3871b00fee33dea979f207 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33951 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by: 's avatarBen Clayton <bclayton@google.com> Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
parent 056d6922
...@@ -414,6 +414,7 @@ namespace sw ...@@ -414,6 +414,7 @@ namespace sw
html += "<option value='7'" + (config.optimization[pass] == rr::Optimization::Pass::DeadStoreElimination ? selected : empty) + ">Dead Store Elimination</option>\n"; html += "<option value='7'" + (config.optimization[pass] == rr::Optimization::Pass::DeadStoreElimination ? selected : empty) + ">Dead Store Elimination</option>\n";
html += "<option value='8'" + (config.optimization[pass] == rr::Optimization::Pass::SCCP ? selected : empty) + ">Sparse Conditional Copy Propagation</option>\n"; html += "<option value='8'" + (config.optimization[pass] == rr::Optimization::Pass::SCCP ? selected : empty) + ">Sparse Conditional Copy Propagation</option>\n";
html += "<option value='9'" + (config.optimization[pass] == rr::Optimization::Pass::ScalarReplAggregates ? selected : empty) + ">Scalar Replacement of Aggregates</option>\n"; html += "<option value='9'" + (config.optimization[pass] == rr::Optimization::Pass::ScalarReplAggregates ? selected : empty) + ">Scalar Replacement of Aggregates</option>\n";
html += "<option value='10'" + (config.optimization[pass] == rr::Optimization::Pass::EarlyCSEPass ? selected : empty) + ">Eliminate trivially redundant instructions</option>\n";
html += "</select></td></tr>\n"; html += "</select></td></tr>\n";
} }
......
...@@ -392,6 +392,7 @@ namespace ...@@ -392,6 +392,7 @@ namespace
case rr::Optimization::Pass::DeadStoreElimination: passManager->add(llvm::createDeadStoreEliminationPass()); break; case rr::Optimization::Pass::DeadStoreElimination: passManager->add(llvm::createDeadStoreEliminationPass()); break;
case rr::Optimization::Pass::SCCP: passManager->add(llvm::createSCCPPass()); break; case rr::Optimization::Pass::SCCP: passManager->add(llvm::createSCCPPass()); break;
case rr::Optimization::Pass::ScalarReplAggregates: passManager->add(llvm::createSROAPass()); break; case rr::Optimization::Pass::ScalarReplAggregates: passManager->add(llvm::createSROAPass()); break;
case rr::Optimization::Pass::EarlyCSEPass: passManager->add(llvm::createEarlyCSEPass()); break;
default: default:
UNREACHABLE("pass: %d", int(pass)); UNREACHABLE("pass: %d", int(pass));
} }
......
...@@ -57,6 +57,7 @@ namespace rr ...@@ -57,6 +57,7 @@ namespace rr
DeadStoreElimination, DeadStoreElimination,
SCCP, SCCP,
ScalarReplAggregates, ScalarReplAggregates,
EarlyCSEPass,
Count, Count,
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment