diff options
Diffstat (limited to 'source/opt/optimizer.cpp')
-rw-r--r-- | source/opt/optimizer.cpp | 42 |
1 files changed, 9 insertions, 33 deletions
diff --git a/source/opt/optimizer.cpp b/source/opt/optimizer.cpp index be0daebd..381589b5 100644 --- a/source/opt/optimizer.cpp +++ b/source/opt/optimizer.cpp @@ -60,7 +60,6 @@ struct Optimizer::Impl { spv_target_env target_env; // Target environment. opt::PassManager pass_manager; // Internal implementation pass manager. - std::unordered_set<uint32_t> live_locs; // Arg to debug dead output passes }; Optimizer::Optimizer(spv_target_env env) : impl_(new Impl(env)) { @@ -525,7 +524,7 @@ bool Optimizer::RegisterPassFromFlag(const std::string& flag) { } else if (pass_name == "remove-dont-inline") { RegisterPass(CreateRemoveDontInlinePass()); } else if (pass_name == "eliminate-dead-input-components") { - RegisterPass(CreateEliminateDeadInputComponentsSafePass()); + RegisterPass(CreateEliminateDeadInputComponentsPass()); } else if (pass_name == "fix-func-call-param") { RegisterPass(CreateFixFuncCallArgumentsPass()); } else if (pass_name == "convert-to-sampled-image") { @@ -785,10 +784,14 @@ Optimizer::PassToken CreateLocalMultiStoreElimPass() { MakeUnique<opt::SSARewritePass>()); } -Optimizer::PassToken CreateAggressiveDCEPass(bool preserve_interface, - bool remove_outputs) { +Optimizer::PassToken CreateAggressiveDCEPass() { return MakeUnique<Optimizer::PassToken::Impl>( - MakeUnique<opt::AggressiveDCEPass>(preserve_interface, remove_outputs)); + MakeUnique<opt::AggressiveDCEPass>(false)); +} + +Optimizer::PassToken CreateAggressiveDCEPass(bool preserve_interface) { + return MakeUnique<Optimizer::PassToken::Impl>( + MakeUnique<opt::AggressiveDCEPass>(preserve_interface)); } Optimizer::PassToken CreateRemoveUnusedInterfaceVariablesPass() { @@ -1013,34 +1016,7 @@ Optimizer::PassToken CreateInterpolateFixupPass() { Optimizer::PassToken CreateEliminateDeadInputComponentsPass() { return MakeUnique<Optimizer::PassToken::Impl>( - MakeUnique<opt::EliminateDeadIOComponentsPass>(spv::StorageClass::Input, - /* safe_mode */ false)); -} - -Optimizer::PassToken CreateEliminateDeadOutputComponentsPass() { - return MakeUnique<Optimizer::PassToken::Impl>( - MakeUnique<opt::EliminateDeadIOComponentsPass>(spv::StorageClass::Output, - /* safe_mode */ false)); -} - -Optimizer::PassToken CreateEliminateDeadInputComponentsSafePass() { - return MakeUnique<Optimizer::PassToken::Impl>( - MakeUnique<opt::EliminateDeadIOComponentsPass>(spv::StorageClass::Input, - /* safe_mode */ true)); -} - -Optimizer::PassToken CreateAnalyzeLiveInputPass( - std::unordered_set<uint32_t>* live_locs, - std::unordered_set<uint32_t>* live_builtins) { - return MakeUnique<Optimizer::PassToken::Impl>( - MakeUnique<opt::AnalyzeLiveInputPass>(live_locs, live_builtins)); -} - -Optimizer::PassToken CreateEliminateDeadOutputStoresPass( - std::unordered_set<uint32_t>* live_locs, - std::unordered_set<uint32_t>* live_builtins) { - return MakeUnique<Optimizer::PassToken::Impl>( - MakeUnique<opt::EliminateDeadOutputStoresPass>(live_locs, live_builtins)); + MakeUnique<opt::EliminateDeadInputComponentsPass>()); } Optimizer::PassToken CreateConvertToSampledImagePass( |