nir: Pull nir_instr_can_cse()'s SSA checks out of the switch.

This should not be a change in behavior, as all current cases that
potentially answer "yes" require SSA.

The next patch will introduce another case that requires SSA.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
Kenneth Graunke 2015-01-21 12:20:59 -08:00
parent d7743bb1c2
commit cbdd623f13

View file

@ -139,12 +139,16 @@ dest_is_ssa(nir_dest *dest, void *data)
static bool
nir_instr_can_cse(nir_instr *instr)
{
/* We only handle SSA. */
if (!nir_foreach_dest(instr, dest_is_ssa, NULL) ||
!nir_foreach_src(instr, src_is_ssa, NULL))
return false;
switch (instr->type) {
case nir_instr_type_alu:
case nir_instr_type_load_const:
case nir_instr_type_phi:
return nir_foreach_dest(instr, dest_is_ssa, NULL) &&
nir_foreach_src(instr, src_is_ssa, NULL);
return true;
case nir_instr_type_tex:
return false; /* TODO */
case nir_instr_type_intrinsic: