static bool
opt_undef_vecN(nir_builder *b, nir_alu_instr *alu)
{
- if (alu->op != nir_op_vec2 &&
- alu->op != nir_op_vec3 &&
- alu->op != nir_op_vec4 &&
- alu->op != nir_op_mov)
+ if (!nir_op_is_vec(alu->op))
return false;
assert(alu->dest.dest.is_ssa);
case nir_intrinsic_store_per_vertex_output:
case nir_intrinsic_store_ssbo:
case nir_intrinsic_store_shared:
+ case nir_intrinsic_store_global:
+ case nir_intrinsic_store_scratch:
arg_index = 0;
break;
default:
nir_metadata_block_index |
nir_metadata_dominance);
} else {
-#ifndef NDEBUG
- function->impl->valid_metadata &= ~nir_metadata_not_properly_reset;
-#endif
+ nir_metadata_preserve(function->impl, nir_metadata_all);
}
}
}