diff --git a/.pick_status.json b/.pick_status.json index 722e26450c0..16a064ae1b6 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1014,7 +1014,7 @@ "description": "aco/insert_exec_mask: ensure top mask is not a temporary at loop exits", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/amd/compiler/aco_insert_exec_mask.cpp b/src/amd/compiler/aco_insert_exec_mask.cpp index c28d4b2ba42..06c4ab3666c 100644 --- a/src/amd/compiler/aco_insert_exec_mask.cpp +++ b/src/amd/compiler/aco_insert_exec_mask.cpp @@ -270,6 +270,7 @@ add_coupling_code(exec_ctx& ctx, Block* block, std::vector> for (unsigned i = 1; i < phi->operands.size(); i++) phi->operands[i] = get_exec_op(ctx.info[header_preds[i]].exec[info.num_exec_masks - 1].first); + restore_exec = true; } if (info.has_divergent_break) {