diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp index 9cf39144f01cd3f50b4d40787a8f06a501b7f89f..aa8ed0bbc02e6a18abcc42fa39429b5fbb78d5d2 100755 --- a/SPIRV/GlslangToSpv.cpp +++ b/SPIRV/GlslangToSpv.cpp @@ -7024,18 +7024,18 @@ void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector<unsign optimizer.RegisterPass(CreateLocalAccessChainConvertPass()); optimizer.RegisterPass(CreateLocalSingleBlockLoadStoreElimPass()); optimizer.RegisterPass(CreateLocalSingleStoreElimPass()); + optimizer.RegisterPass(CreateSimplificationPass()); optimizer.RegisterPass(CreateAggressiveDCEPass()); - optimizer.RegisterPass(CreateInsertExtractElimPass()); + optimizer.RegisterPass(CreateVectorDCEPass()); optimizer.RegisterPass(CreateDeadInsertElimPass()); optimizer.RegisterPass(CreateAggressiveDCEPass()); - optimizer.RegisterPass(CreateCCPPass()); - optimizer.RegisterPass(CreateSimplificationPass()); optimizer.RegisterPass(CreateDeadBranchElimPass()); - optimizer.RegisterPass(CreateCFGCleanupPass()); optimizer.RegisterPass(CreateBlockMergePass()); optimizer.RegisterPass(CreateLocalMultiStoreElimPass()); + optimizer.RegisterPass(CreateIfConversionPass()); + optimizer.RegisterPass(CreateSimplificationPass()); optimizer.RegisterPass(CreateAggressiveDCEPass()); - optimizer.RegisterPass(CreateInsertExtractElimPass()); + optimizer.RegisterPass(CreateVectorDCEPass()); optimizer.RegisterPass(CreateDeadInsertElimPass()); if (options->optimizeSize) { optimizer.RegisterPass(CreateRedundancyEliminationPass()); @@ -7043,6 +7043,7 @@ void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector<unsign // optimizer.RegisterPass(CreateCommonUniformElimPass()); } optimizer.RegisterPass(CreateAggressiveDCEPass()); + optimizer.RegisterPass(CreateCFGCleanupPass()); if (!optimizer.Run(spirv.data(), spirv.size(), &spirv)) return; diff --git a/known_good.json b/known_good.json index 3b202f6c3d63b7f2f64017f827ac7f9f97cdc34e..7027d4827787605e3ce5f382592f124f348521e2 100644 --- a/known_good.json +++ b/known_good.json @@ -5,7 +5,7 @@ "site" : "github", "subrepo" : "KhronosGroup/SPIRV-Tools", "subdir" : "External/spirv-tools", - "commit" : "a579e720a8d7805ec9ebf657a4c6fa67ec268f7e" + "commit" : "545d6ca26d3beddcb8dc5dc363deb1544a2eeb87" }, { "name" : "spirv-tools/external/spirv-headers",