[Mesa-dev] [PATCH 3/4] nir/lower_phis_to_scalar: undef is trivially scalarizable

Connor Abbott cwabbott0 at gmail.com
Wed Jul 1 10:16:59 PDT 2015


On Wed, Jul 1, 2015 at 8:02 AM, Rob Clark <robdclark at gmail.com> wrote:
> From: Rob Clark <robclark at freedesktop.org>
>
> Signed-off-by: Rob Clark <robclark at freedesktop.org>
> ---
>  src/glsl/nir/nir_lower_phis_to_scalar.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/src/glsl/nir/nir_lower_phis_to_scalar.c b/src/glsl/nir/nir_lower_phis_to_scalar.c
> index a57d253..739170d 100644
> --- a/src/glsl/nir/nir_lower_phis_to_scalar.c
> +++ b/src/glsl/nir/nir_lower_phis_to_scalar.c
> @@ -75,6 +75,7 @@ is_phi_src_scalarizable(nir_phi_src *src,
>        return should_lower_phi(nir_instr_as_phi(src_instr), state);
>
>     case nir_instr_type_load_const:
> +   case nir_instr_type_ssa_undef:
>        /* These are trivially scalarizable */
>        return true;
>
> --
> 2.4.3
>

We might wind up with a mov to pick off a component of the undef,
which I don't think we can get rid of right now, but it should be easy
enough to handle and Jason is writing an undef propagation pass that
should clean it up.

Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>


More information about the mesa-dev mailing list