X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fglsl%2Fopt_dead_code_local.cpp;h=39962bd602ef8ba89a2ad34eba903d82cdbdc437;hb=f41e1db3273a31285360241c4342f0a403ee0b03;hp=88dcdc25176602c4f65efcb5d15db2b132e0c2e3;hpb=61c59234f916406512b3591f46599cc29a5d8e23;p=mesa.git diff --git a/src/glsl/opt_dead_code_local.cpp b/src/glsl/opt_dead_code_local.cpp index 88dcdc25176..39962bd602e 100644 --- a/src/glsl/opt_dead_code_local.cpp +++ b/src/glsl/opt_dead_code_local.cpp @@ -38,8 +38,6 @@ #include "ir_optimization.h" #include "glsl_types.h" -using std::printf; - static bool debug = false; class assignment_entry : public exec_node @@ -131,15 +129,8 @@ process_assignment(void *ctx, ir_assignment *ir, exec_list *assignments) var = ir->lhs->variable_referenced(); assert(var); - bool always_assign = true; - if (ir->condition) { - ir_constant *condition = ir->condition->as_constant(); - if (!condition || !condition->value.b[0]) - always_assign = false; - } - /* Now, check if we did a whole-variable assignment. */ - if (always_assign && (ir->whole_variable_written() != NULL)) { + if (!ir->condition && (ir->whole_variable_written() != NULL)) { /* We did a whole-variable assignment. So, any instruction in * the assignment list with the same LHS is dead. */