nir: Add an array copy optimization
This peephole optimization looks for a series of load/store_deref or copy_deref instructions that copy an array from one variable to another and turns it into a copy_deref that copies the entire array. The pattern it looks for is extremely specific but it's good enough to pick up on the input array copies in DXVK and should also be able to pick up the sequence generated by spirv_to_nir for a OpLoad of a large composite followed by OpStore. It can always be improved later if needed. Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
This commit is contained in:
@@ -2971,6 +2971,8 @@ bool nir_opt_dce(nir_shader *shader);
|
||||
|
||||
bool nir_opt_dead_cf(nir_shader *shader);
|
||||
|
||||
bool nir_opt_find_array_copies(nir_shader *shader);
|
||||
|
||||
bool nir_opt_gcm(nir_shader *shader, bool value_number);
|
||||
|
||||
bool nir_opt_if(nir_shader *shader);
|
||||
|
Reference in New Issue
Block a user