Mesa (main): glsl: Don't clone assignment conditions

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Feb 11 17:59:12 UTC 2022


Module: Mesa
Branch: main
Commit: 697a460e49859968f99f6c178deaaae3a52ecdf9
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=697a460e49859968f99f6c178deaaae3a52ecdf9

Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Fri Jan 14 18:11:14 2022 -0800

glsl: Don't clone assignment conditions

At this point, this should always be NULL.

Reviewed-by: Matt Turner <mattst88 at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14573>

---

 src/compiler/glsl/ir_clone.cpp            | 14 ++++----------
 src/compiler/glsl/opt_array_splitting.cpp |  7 +++----
 2 files changed, 7 insertions(+), 14 deletions(-)

diff --git a/src/compiler/glsl/ir_clone.cpp b/src/compiler/glsl/ir_clone.cpp
index dcf02b5d29a..bc5c25e0e47 100644
--- a/src/compiler/glsl/ir_clone.cpp
+++ b/src/compiler/glsl/ir_clone.cpp
@@ -259,17 +259,11 @@ ir_texture::clone(void *mem_ctx, struct hash_table *ht) const
 ir_assignment *
 ir_assignment::clone(void *mem_ctx, struct hash_table *ht) const
 {
-   ir_rvalue *new_condition = NULL;
-
-   if (this->condition)
-      new_condition = this->condition->clone(mem_ctx, ht);
+   assert(this->condition == NULL);
 
-   ir_assignment *cloned =
-      new(mem_ctx) ir_assignment(this->lhs->clone(mem_ctx, ht),
-                                 this->rhs->clone(mem_ctx, ht),
-                                 new_condition);
-   cloned->write_mask = this->write_mask;
-   return cloned;
+   return new(mem_ctx) ir_assignment(this->lhs->clone(mem_ctx, ht),
+                                     this->rhs->clone(mem_ctx, ht),
+                                     this->write_mask);
 }
 
 ir_function *
diff --git a/src/compiler/glsl/opt_array_splitting.cpp b/src/compiler/glsl/opt_array_splitting.cpp
index 3e3bff701da..7e147ca89e3 100644
--- a/src/compiler/glsl/opt_array_splitting.cpp
+++ b/src/compiler/glsl/opt_array_splitting.cpp
@@ -415,11 +415,10 @@ ir_array_splitting_visitor::visit_leave(ir_assignment *ir)
          ir_rvalue *rhs_i =
             new(mem_ctx) ir_dereference_array(ir->rhs->clone(mem_ctx, NULL),
                                               new(mem_ctx) ir_constant(i));
-         ir_rvalue *condition_i =
-            ir->condition ? ir->condition->clone(mem_ctx, NULL) : NULL;
 
-         ir_assignment *assign_i =
-            new(mem_ctx) ir_assignment(lhs_i, rhs_i, condition_i);
+         assert(ir->condition == NULL);
+
+         ir_assignment *assign_i = new(mem_ctx) ir_assignment(lhs_i, rhs_i);
 
          ir->insert_before(assign_i);
          assign_i->accept(this);



More information about the mesa-commit mailing list