[Mesa-dev] [PATCH v2 03/14] nir: cleanup cf nodes earlier in nir_cf_node_remove()

Connor Abbott cwabbott0 at gmail.com
Thu May 21 10:02:52 PDT 2015


On Thu, May 21, 2015 at 12:54 PM, Matt Turner <mattst88 at gmail.com> wrote:
> On Thu, May 21, 2015 at 9:40 AM, Connor Abbott <cwabbott0 at gmail.com> wrote:
>> Before, when we were deleting a cf node that was a block, we were first
>> removing all the instructions and then calling cleanup_cf_node(), at
>> which point cleanup_cf_node() couldn't do its job. Just move it before
>> everything else, which should be ok for the non-block case too.
>
> What's the distinction between a cf node and a block? A cf node may
> not have actual instructions, like for avoiding critical edges?

A cf node (control-flow node) may be a block, a loop, or an if
statement -- it's an element of the control-flow tree. It's defined as
'nir_cf_node' in nir.h, and embedded in nir_if, nir_loop, and
nir_block.


More information about the mesa-dev mailing list