diff options
| author | 2021-07-12 05:22:01 -0300 | |
|---|---|---|
| committer | 2021-07-22 21:51:40 -0400 | |
| commit | bf2956d77ab0ad06c4b5505cc9906e51e5878274 (patch) | |
| tree | 3aae336c0dc3fe65351d5e6e312a214351e2e2fc /src/shader_recompiler/ir_opt/ssa_rewrite_pass.cpp | |
| parent | glsl: Clamp shared mem size to GL_MAX_COMPUTE_SHARED_MEMORY_SIZE (diff) | |
| download | yuzu-bf2956d77ab0ad06c4b5505cc9906e51e5878274.tar.gz yuzu-bf2956d77ab0ad06c4b5505cc9906e51e5878274.tar.xz yuzu-bf2956d77ab0ad06c4b5505cc9906e51e5878274.zip | |
shader: Avoid usage of C++20 ranges to build in clang
Diffstat (limited to 'src/shader_recompiler/ir_opt/ssa_rewrite_pass.cpp')
| -rw-r--r-- | src/shader_recompiler/ir_opt/ssa_rewrite_pass.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/shader_recompiler/ir_opt/ssa_rewrite_pass.cpp b/src/shader_recompiler/ir_opt/ssa_rewrite_pass.cpp index dcaced83f..53145fb5e 100644 --- a/src/shader_recompiler/ir_opt/ssa_rewrite_pass.cpp +++ b/src/shader_recompiler/ir_opt/ssa_rewrite_pass.cpp | |||
| @@ -14,7 +14,6 @@ | |||
| 14 | // https://link.springer.com/chapter/10.1007/978-3-642-37051-9_6 | 14 | // https://link.springer.com/chapter/10.1007/978-3-642-37051-9_6 |
| 15 | // | 15 | // |
| 16 | 16 | ||
| 17 | #include <ranges> | ||
| 18 | #include <span> | 17 | #include <span> |
| 19 | #include <variant> | 18 | #include <variant> |
| 20 | #include <vector> | 19 | #include <vector> |
| @@ -243,7 +242,9 @@ public: | |||
| 243 | void SealBlock(IR::Block* block) { | 242 | void SealBlock(IR::Block* block) { |
| 244 | const auto it{incomplete_phis.find(block)}; | 243 | const auto it{incomplete_phis.find(block)}; |
| 245 | if (it != incomplete_phis.end()) { | 244 | if (it != incomplete_phis.end()) { |
| 246 | for (auto& [variant, phi] : it->second) { | 245 | for (auto& pair : it->second) { |
| 246 | auto& variant{pair.first}; | ||
| 247 | auto& phi{pair.second}; | ||
| 247 | std::visit([&](auto& variable) { AddPhiOperands(variable, *phi, block); }, variant); | 248 | std::visit([&](auto& variable) { AddPhiOperands(variable, *phi, block); }, variant); |
| 248 | } | 249 | } |
| 249 | } | 250 | } |
| @@ -373,8 +374,9 @@ void VisitBlock(Pass& pass, IR::Block* block) { | |||
| 373 | 374 | ||
| 374 | void SsaRewritePass(IR::Program& program) { | 375 | void SsaRewritePass(IR::Program& program) { |
| 375 | Pass pass; | 376 | Pass pass; |
| 376 | for (IR::Block* const block : program.post_order_blocks | std::views::reverse) { | 377 | const auto end{program.post_order_blocks.rend()}; |
| 377 | VisitBlock(pass, block); | 378 | for (auto block = program.post_order_blocks.rbegin(); block != end; ++block) { |
| 379 | VisitBlock(pass, *block); | ||
| 378 | } | 380 | } |
| 379 | } | 381 | } |
| 380 | 382 | ||