vc4: Fix live intervals analysis for screening defs in if statements.
authorEric Anholt <eric@anholt.net>
Wed, 5 Oct 2016 16:07:46 +0000 (09:07 -0700)
committerEric Anholt <eric@anholt.net>
Fri, 7 Oct 2016 01:09:24 +0000 (18:09 -0700)
commitd4ae5ca823227214dd1f536e5f4058bede20b2dd
treef020f96d93ff05007d78f954100852b82faaae5f
parent06cc3dfda49b557b177ea6a5bc4fb87e087df21a
vc4: Fix live intervals analysis for screening defs in if statements.

If a conditional assignment is only conditioned on the exec mask, that's
still screening off the value in the executed channels (and, since we're
not storing to the unexcuted channels, we don't care what's in there).

Fixes a bunch of extra register pressure on Processing's Ribbons demo,
which is failing to allocate.
src/gallium/drivers/vc4/vc4_program.c
src/gallium/drivers/vc4/vc4_qir.h
src/gallium/drivers/vc4/vc4_qir_live_variables.c