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

View file

@ -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);