From e663a15098f8a028df413e0d2de0247c5f5991ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Wed, 3 Feb 2021 15:32:32 +0100 Subject: [PATCH] aco: don't create unnecessary exec phi on merge blocks No fossil-db changes. Reviewed-by: Rhys Perry Part-of: --- src/amd/compiler/aco_insert_exec_mask.cpp | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/amd/compiler/aco_insert_exec_mask.cpp b/src/amd/compiler/aco_insert_exec_mask.cpp index 8cb4fab1de5..96d1ccaa0b0 100644 --- a/src/amd/compiler/aco_insert_exec_mask.cpp +++ b/src/amd/compiler/aco_insert_exec_mask.cpp @@ -577,7 +577,7 @@ unsigned add_coupling_code(exec_ctx& ctx, Block* block, if (block->kind & block_kind_merge) num_exec_masks--; - else if (block->kind & block_kind_top_level) + if (block->kind & block_kind_top_level) num_exec_masks = std::min(num_exec_masks, 2u); /* create phis for diverged exec masks */ @@ -604,12 +604,6 @@ unsigned add_coupling_code(exec_ctx& ctx, Block* block, i++; } - if (block->kind & block_kind_top_level && ctx.info[idx].exec.size() == 3) { - assert(ctx.info[idx].exec.back().second == mask_type_exact); - assert(block->kind & block_kind_merge); - ctx.info[idx].exec.pop_back(); - } - /* try to satisfy the block's needs */ if (ctx.handle_wqm) { if (block->kind & block_kind_top_level && ctx.info[idx].exec.size() == 2) {