glsl: Use do_common_optimization in the standalone compiler.

NOTE: This is a candidate for the 7.9 branch.
(cherry picked from commit a82592de92)
This commit is contained in:
Kenneth Graunke 2010-11-24 23:54:03 -08:00 committed by Ian Romanick
parent c055239bae
commit d595657e5a

View file

@ -208,26 +208,7 @@ compile_shader(GLcontext *ctx, struct gl_shader *shader)
if (!state->error && !shader->ir->is_empty()) {
bool progress;
do {
progress = false;
progress = do_function_inlining(shader->ir) || progress;
progress = do_if_simplification(shader->ir) || progress;
progress = do_copy_propagation(shader->ir) || progress;
progress = do_dead_code_local(shader->ir) || progress;
progress = do_dead_code_unlinked(shader->ir) || progress;
progress = do_tree_grafting(shader->ir) || progress;
progress = do_constant_propagation(shader->ir) || progress;
progress = do_constant_variable_unlinked(shader->ir) || progress;
progress = do_constant_folding(shader->ir) || progress;
progress = do_algebraic(shader->ir) || progress;
progress = do_vec_index_to_swizzle(shader->ir) || progress;
progress = do_vec_index_to_cond_assign(shader->ir) || progress;
progress = do_swizzle_swizzle(shader->ir) || progress;
loop_state *ls = analyze_loop_variables(shader->ir);
progress = set_loop_controls(shader->ir, ls) || progress;
progress = unroll_loops(shader->ir, ls, 32) || progress;
delete ls;
progress = do_common_optimization(shader->ir, false, 32);
} while (progress);
validate_ir_tree(shader->ir);