summaryrefslogtreecommitdiffstats
path: root/src/glsl/ir_optimization.h
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2010-08-09 17:03:46 -0700
committerEric Anholt <[email protected]>2010-08-09 19:21:18 -0700
commit8bebbeb7c5b26ec9166a4644a2c051238d18509b (patch)
treef2f663f93e10674b2e39f3c1a44a0e8a57060b1b /src/glsl/ir_optimization.h
parent81996ae8618759cf7fdd033042a96f3014659f6c (diff)
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.
Diffstat (limited to 'src/glsl/ir_optimization.h')
-rw-r--r--src/glsl/ir_optimization.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/glsl/ir_optimization.h b/src/glsl/ir_optimization.h
index c6e7beb447f..97a0c25216e 100644
--- a/src/glsl/ir_optimization.h
+++ b/src/glsl/ir_optimization.h
@@ -33,6 +33,7 @@ bool do_constant_folding(exec_list *instructions);
bool do_constant_variable(exec_list *instructions);
bool do_constant_variable_unlinked(exec_list *instructions);
bool do_copy_propagation(exec_list *instructions);
+bool do_constant_propagation(exec_list *instructions);
bool do_dead_code(exec_list *instructions);
bool do_dead_code_local(exec_list *instructions);
bool do_dead_code_unlinked(exec_list *instructions);