Commit fc7bb8f0 by Ben Clayton

Vulkan: Use the optimization passes automatically added by CoroSplit

This pass is automatically added by LLVM when using the CoroSplit pass which is not peformed by regular functions. These passes have been shown to provide a big performance gain for certain dEQP tests. Bug: b/135609394 Bug: b/137167505 Change-Id: Iecdae495bc741c855c38daf67f95ad83155fc213 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33969 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com> Reviewed-by: 's avatarChris Forbes <chrisforbes@google.com> Tested-by: 's avatarBen Clayton <bclayton@google.com>
parent 221a2746
......@@ -82,7 +82,14 @@ bool HasExtensionProperty(const char* extensionName, const VkExtensionProperties
void setReactorDefaultConfig()
{
auto cfg = rr::Config::Edit()
.set(rr::Optimization::Level::Default);
.set(rr::Optimization::Level::Default)
.clearOptimizationPasses()
.add(rr::Optimization::Pass::ScalarReplAggregates)
.add(rr::Optimization::Pass::SCCP)
.add(rr::Optimization::Pass::CFGSimplification)
.add(rr::Optimization::Pass::EarlyCSEPass)
.add(rr::Optimization::Pass::CFGSimplification)
.add(rr::Optimization::Pass::InstructionCombining);
rr::Nucleus::adjustDefaultConfig(cfg);
}
......
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