Merge pull request #1241 from greg-lunarg/kg9

Add DeadInsertElim to legalization and RedundancyElim to -Os.
This commit is contained in:
John Kessenich 2018-02-08 08:59:05 -07:00 committed by GitHub
commit 2f658e1f08
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -6114,16 +6114,20 @@ void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector<unsign
optimizer.RegisterPass(CreateLocalSingleBlockLoadStoreElimPass()); optimizer.RegisterPass(CreateLocalSingleBlockLoadStoreElimPass());
optimizer.RegisterPass(CreateLocalSingleStoreElimPass()); optimizer.RegisterPass(CreateLocalSingleStoreElimPass());
optimizer.RegisterPass(CreateInsertExtractElimPass()); optimizer.RegisterPass(CreateInsertExtractElimPass());
optimizer.RegisterPass(CreateDeadInsertElimPass());
optimizer.RegisterPass(CreateAggressiveDCEPass()); optimizer.RegisterPass(CreateAggressiveDCEPass());
optimizer.RegisterPass(CreateDeadBranchElimPass()); optimizer.RegisterPass(CreateDeadBranchElimPass());
optimizer.RegisterPass(CreateCFGCleanupPass()); optimizer.RegisterPass(CreateCFGCleanupPass());
optimizer.RegisterPass(CreateBlockMergePass()); optimizer.RegisterPass(CreateBlockMergePass());
optimizer.RegisterPass(CreateLocalMultiStoreElimPass()); optimizer.RegisterPass(CreateLocalMultiStoreElimPass());
optimizer.RegisterPass(CreateInsertExtractElimPass()); optimizer.RegisterPass(CreateInsertExtractElimPass());
optimizer.RegisterPass(CreateAggressiveDCEPass()); optimizer.RegisterPass(CreateDeadInsertElimPass());
if (options->optimizeSize) {
optimizer.RegisterPass(CreateRedundancyEliminationPass());
// TODO(greg-lunarg): Add this when AMD driver issues are resolved // TODO(greg-lunarg): Add this when AMD driver issues are resolved
// if (options->optimizeSize)
// optimizer.RegisterPass(CreateCommonUniformElimPass()); // optimizer.RegisterPass(CreateCommonUniformElimPass());
}
optimizer.RegisterPass(CreateAggressiveDCEPass());
if (!optimizer.Run(spirv.data(), spirv.size(), &spirv)) if (!optimizer.Run(spirv.data(), spirv.size(), &spirv))
return; return;