summaryrefslogtreecommitdiff
path: root/src/glsl/ir_optimization.h
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2010-08-09 17:03:46 -0700
committerEric Anholt <eric@anholt.net>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 c6e7beb447..97a0c25216 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);