VkPipeline: Replace spirv-opt list with RegisterPerformancePasses() The full list of optimization passes was taken from RegisterPerformancePasses(). Let's just call that instead of copying the list. This way, we'll keep track of new optimization passes, or re-orderings that are deemed 'better' when updating SPIRV-Tools. Bug: b/144832356 Change-Id: I90c69131b5e55c185892cefc2e5de8180b44ce9d Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38454 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by: Chris Forbes <chrisforbes@google.com> Reviewed-by: Nicolas Capens <nicolascapens@google.com> Tested-by: Ben Clayton <bclayton@google.com>
diff --git a/src/Vulkan/VkPipeline.cpp b/src/Vulkan/VkPipeline.cpp index 9a4f34f..9bd188b 100644 --- a/src/Vulkan/VkPipeline.cpp +++ b/src/Vulkan/VkPipeline.cpp
@@ -194,40 +194,7 @@ } // Full optimization list taken from spirv-opt. - opt.RegisterPass(spvtools::CreateWrapOpKillPass()) - .RegisterPass(spvtools::CreateDeadBranchElimPass()) - .RegisterPass(spvtools::CreateMergeReturnPass()) - .RegisterPass(spvtools::CreateInlineExhaustivePass()) - .RegisterPass(spvtools::CreateAggressiveDCEPass()) - .RegisterPass(spvtools::CreatePrivateToLocalPass()) - .RegisterPass(spvtools::CreateLocalSingleBlockLoadStoreElimPass()) - .RegisterPass(spvtools::CreateLocalSingleStoreElimPass()) - .RegisterPass(spvtools::CreateAggressiveDCEPass()) - .RegisterPass(spvtools::CreateScalarReplacementPass()) - .RegisterPass(spvtools::CreateLocalAccessChainConvertPass()) - .RegisterPass(spvtools::CreateLocalSingleBlockLoadStoreElimPass()) - .RegisterPass(spvtools::CreateLocalSingleStoreElimPass()) - .RegisterPass(spvtools::CreateAggressiveDCEPass()) - .RegisterPass(spvtools::CreateLocalMultiStoreElimPass()) - .RegisterPass(spvtools::CreateAggressiveDCEPass()) - .RegisterPass(spvtools::CreateCCPPass()) - .RegisterPass(spvtools::CreateAggressiveDCEPass()) - .RegisterPass(spvtools::CreateRedundancyEliminationPass()) - .RegisterPass(spvtools::CreateCombineAccessChainsPass()) - .RegisterPass(spvtools::CreateSimplificationPass()) - .RegisterPass(spvtools::CreateVectorDCEPass()) - .RegisterPass(spvtools::CreateDeadInsertElimPass()) - .RegisterPass(spvtools::CreateDeadBranchElimPass()) - .RegisterPass(spvtools::CreateSimplificationPass()) - .RegisterPass(spvtools::CreateIfConversionPass()) - .RegisterPass(spvtools::CreateCopyPropagateArraysPass()) - .RegisterPass(spvtools::CreateReduceLoadSizePass()) - .RegisterPass(spvtools::CreateAggressiveDCEPass()) - .RegisterPass(spvtools::CreateBlockMergePass()) - .RegisterPass(spvtools::CreateRedundancyEliminationPass()) - .RegisterPass(spvtools::CreateDeadBranchElimPass()) - .RegisterPass(spvtools::CreateBlockMergePass()) - .RegisterPass(spvtools::CreateSimplificationPass()); + opt.RegisterPerformancePasses(); std::vector<uint32_t> optimized; opt.Run(code.data(), code.size(), &optimized);