glsl: Use do_common_optimization in the standalone compiler.
authorKenneth Graunke <kenneth@whitecape.org>
Thu, 25 Nov 2010 07:54:03 +0000 (23:54 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 25 Nov 2010 09:21:05 +0000 (01:21 -0800)
NOTE: This is a candidate for the 7.9 branch.

src/glsl/main.cpp

index 3302851..c8fc267 100644 (file)
@@ -218,26 +218,7 @@ compile_shader(struct gl_context *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);