From: Francisco Jerez Date: Fri, 27 Sep 2019 21:50:00 +0000 (-0700) Subject: intel/ir: Represent physical edge of unconditional CONTINUE instruction. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6965a02e09de2d31e5fa951ffa2ae401b2197fb1;p=mesa.git intel/ir: Represent physical edge of unconditional CONTINUE instruction. This edge doesn't exist in the original scalar program, but it represents a potential control flow path the EU will take in cases where control flow isn't uniform across channels of the same SIMD thread. Reviewed-by: Jordan Justen Reviewed-by: Caio Marcelo de Oliveira Filho --- diff --git a/src/intel/compiler/brw_cfg.cpp b/src/intel/compiler/brw_cfg.cpp index d5e0a08c74c..87a423d998f 100644 --- a/src/intel/compiler/brw_cfg.cpp +++ b/src/intel/compiler/brw_cfg.cpp @@ -334,6 +334,8 @@ cfg_t::cfg_t(exec_list *instructions) next = new_block(); if (inst->predicate) cur->add_successor(mem_ctx, next, bblock_link_logical); + else + cur->add_successor(mem_ctx, next, bblock_link_physical); set_next_block(&cur, next, ip); break;