glsl: Don't clone assignment conditions

At this point, this should always be NULL.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14573>
This commit is contained in:
Ian Romanick 2022-01-14 18:11:14 -08:00 committed by Marge Bot
parent d27e3c6adc
commit 697a460e49
2 changed files with 7 additions and 14 deletions

View file

@ -259,17 +259,11 @@ ir_texture::clone(void *mem_ctx, struct hash_table *ht) const
ir_assignment * ir_assignment *
ir_assignment::clone(void *mem_ctx, struct hash_table *ht) const ir_assignment::clone(void *mem_ctx, struct hash_table *ht) const
{ {
ir_rvalue *new_condition = NULL; assert(this->condition == NULL);
if (this->condition) return new(mem_ctx) ir_assignment(this->lhs->clone(mem_ctx, ht),
new_condition = this->condition->clone(mem_ctx, ht); this->rhs->clone(mem_ctx, ht),
this->write_mask);
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;
} }
ir_function * ir_function *

View file

@ -415,11 +415,10 @@ ir_array_splitting_visitor::visit_leave(ir_assignment *ir)
ir_rvalue *rhs_i = ir_rvalue *rhs_i =
new(mem_ctx) ir_dereference_array(ir->rhs->clone(mem_ctx, NULL), new(mem_ctx) ir_dereference_array(ir->rhs->clone(mem_ctx, NULL),
new(mem_ctx) ir_constant(i)); new(mem_ctx) ir_constant(i));
ir_rvalue *condition_i =
ir->condition ? ir->condition->clone(mem_ctx, NULL) : NULL;
ir_assignment *assign_i = assert(ir->condition == NULL);
new(mem_ctx) ir_assignment(lhs_i, rhs_i, condition_i);
ir_assignment *assign_i = new(mem_ctx) ir_assignment(lhs_i, rhs_i);
ir->insert_before(assign_i); ir->insert_before(assign_i);
assign_i->accept(this); assign_i->accept(this);