Mesa (master): nir: Handle memcpy in copy_prop_vars and combine_stores
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Oct 2 07:46:23 UTC 2020
Module: Mesa
Branch: master
Commit: e363da3bdd3f16e9e9aba763230238479bfa4995
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e363da3bdd3f16e9e9aba763230238479bfa4995
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Fri Sep 25 23:42:08 2020 -0500
nir: Handle memcpy in copy_prop_vars and combine_stores
Fixes: b2899f72657 "nir: Add a new memcpy intrinsic"
Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6871>
---
src/compiler/nir/nir_opt_combine_stores.c | 3 ++-
src/compiler/nir/nir_opt_copy_prop_vars.c | 4 +++-
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/compiler/nir/nir_opt_combine_stores.c b/src/compiler/nir/nir_opt_combine_stores.c
index 08fa4ac4463..19671b7d223 100644
--- a/src/compiler/nir/nir_opt_combine_stores.c
+++ b/src/compiler/nir/nir_opt_combine_stores.c
@@ -356,7 +356,8 @@ combine_stores_block(struct combine_stores_state *state, nir_block *block)
break;
}
- case nir_intrinsic_copy_deref: {
+ case nir_intrinsic_copy_deref:
+ case nir_intrinsic_memcpy_deref: {
nir_deref_instr *dst = nir_src_as_deref(intrin->src[0]);
nir_deref_instr *src = nir_src_as_deref(intrin->src[1]);
combine_stores_with_deref(state, dst);
diff --git a/src/compiler/nir/nir_opt_copy_prop_vars.c b/src/compiler/nir/nir_opt_copy_prop_vars.c
index 8b41e0e8832..e29b225759d 100644
--- a/src/compiler/nir/nir_opt_copy_prop_vars.c
+++ b/src/compiler/nir/nir_opt_copy_prop_vars.c
@@ -195,7 +195,8 @@ gather_vars_written(struct copy_prop_var_state *state,
case nir_intrinsic_deref_atomic_exchange:
case nir_intrinsic_deref_atomic_comp_swap:
case nir_intrinsic_store_deref:
- case nir_intrinsic_copy_deref: {
+ case nir_intrinsic_copy_deref:
+ case nir_intrinsic_memcpy_deref: {
/* Destination in all of store_deref, copy_deref and the atomics is src[0]. */
nir_deref_instr *dst = nir_src_as_deref(intrin->src[0]);
@@ -1056,6 +1057,7 @@ copy_prop_vars_block(struct copy_prop_var_state *state,
break;
}
+ case nir_intrinsic_memcpy_deref:
case nir_intrinsic_deref_atomic_add:
case nir_intrinsic_deref_atomic_imin:
case nir_intrinsic_deref_atomic_umin:
More information about the mesa-commit
mailing list