intel/ir: Represent logical edge of BREAK instruction.
authorFrancisco Jerez <currojerez@riseup.net>
Tue, 6 Aug 2019 01:21:05 +0000 (18:21 -0700)
committerFrancisco Jerez <currojerez@riseup.net>
Fri, 11 Oct 2019 19:24:16 +0000 (12:24 -0700)
Currently only the physical back-edge is represented, which
incidentally also leads to the exit block of the loop, but we need the
direct logical edge in addition for our logical CFG representation to
be complete.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
src/intel/compiler/brw_cfg.cpp

index d5e8913e058084ffd1b74ddbadb1642a89c706ec..70a7530e2653160928e9448dbceb5e151ebba46f 100644 (file)
@@ -352,6 +352,7 @@ cfg_t::cfg_t(exec_list *instructions)
           */
          assert(cur_do != NULL);
          cur->add_successor(mem_ctx, cur_do, bblock_link_physical);
+         cur->add_successor(mem_ctx, cur_while, bblock_link_logical);
 
         next = new_block();
         if (inst->predicate)