glsl2: Add constant propagation.
Whereas constant folding evaluates constant expressions at rvalue nodes, constant propagation tracks constant components of vectors across execution to replace (possibly swizzled) variable dereferences with constant values, triggering possible constant folding or reduced variable liveness.
This commit is contained in:
@@ -1296,6 +1296,7 @@ link_shaders(struct gl_shader_program *prog)
|
||||
progress = do_dead_code_local(ir) || progress;
|
||||
progress = do_dead_code(ir) || progress;
|
||||
progress = do_tree_grafting(ir) || progress;
|
||||
progress = do_constant_propagation(ir) || progress;
|
||||
progress = do_constant_variable(ir) || progress;
|
||||
progress = do_constant_folding(ir) || progress;
|
||||
progress = do_algebraic(ir) || progress;
|
||||
|
Reference in New Issue
Block a user