summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/frontend/maxwell/control_flow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/shader_recompiler/frontend/maxwell/control_flow.cpp')
-rw-r--r--src/shader_recompiler/frontend/maxwell/control_flow.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/shader_recompiler/frontend/maxwell/control_flow.cpp b/src/shader_recompiler/frontend/maxwell/control_flow.cpp
index 1e9b8e426..784f9df8a 100644
--- a/src/shader_recompiler/frontend/maxwell/control_flow.cpp
+++ b/src/shader_recompiler/frontend/maxwell/control_flow.cpp
@@ -434,7 +434,10 @@ CFG::AnalysisState CFG::AnalyzeBRX(Block* block, Location pc, Instruction inst,
block->indirect_branches.reserve(targets.size());
for (const u32 target : targets) {
Block* const branch{AddLabel(block, block->stack, target, function_id)};
- block->indirect_branches.push_back(branch);
+ block->indirect_branches.push_back({
+ .block{branch},
+ .address{target},
+ });
}
block->cond = IR::Condition{true};
block->end = pc + 1;
@@ -530,8 +533,8 @@ std::string CFG::Dot() const {
}
break;
case EndClass::IndirectBranch:
- for (Block* const branch : block.indirect_branches) {
- add_branch(branch, false);
+ for (const IndirectBranch& branch : block.indirect_branches) {
+ add_branch(branch.block, false);
}
break;
case EndClass::Call: