aboutsummaryrefslogtreecommitdiff
path: root/source/opt/optimizer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/opt/optimizer.cpp')
-rw-r--r--source/opt/optimizer.cpp42
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(