From: Eric Anholt Date: Fri, 8 Apr 2011 17:54:50 +0000 (-1000) Subject: glsl/opt_cpe: Fix a crash when a kill kills for two reasons. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=909bd476ca65035b93399c7b95f7118b1cded3f2;p=mesa.git glsl/opt_cpe: Fix a crash when a kill kills for two reasons. Fixes glsl-copy-propagation-loop-2 when this optimization pass is re-enabled. Reported-by: David Lamparter --- diff --git a/src/glsl/opt_copy_propagation_elements.cpp b/src/glsl/opt_copy_propagation_elements.cpp index 1ffbd4da144..a91e624cb72 100644 --- a/src/glsl/opt_copy_propagation_elements.cpp +++ b/src/glsl/opt_copy_propagation_elements.cpp @@ -390,8 +390,10 @@ ir_copy_propagation_elements_visitor::kill(kill_entry *k) if (entry->lhs == k->var) { entry->write_mask = entry->write_mask & ~k->write_mask; - if (entry->write_mask == 0) + if (entry->write_mask == 0) { entry->remove(); + continue; + } } if (entry->rhs == k->var) { entry->remove();