summaryrefslogtreecommitdiff
path: root/ir.cpp
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2010-04-06 11:52:09 -0700
committerEric Anholt <eric@anholt.net>2010-04-06 11:52:09 -0700
commit70b74928a220aff024664714877defb0caedf33f (patch)
tree25654ba34cbf54d81ae0ec3aa8dfb8e68e6ee4a5 /ir.cpp
parente5a9e70cde3dda27dca045b12c5a818215b1a449 (diff)
Make constant folding descend into if statements.
Diffstat (limited to 'ir.cpp')
-rw-r--r--ir.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/ir.cpp b/ir.cpp
index 0708e49285..99a966e154 100644
--- a/ir.cpp
+++ b/ir.cpp
@@ -24,6 +24,7 @@
#include "main/imports.h"
#include "main/simple_list.h"
#include "ir.h"
+#include "ir_visitor.h"
#include "glsl_types.h"
ir_assignment::ir_assignment(ir_rvalue *lhs, ir_rvalue *rhs,
@@ -367,3 +368,12 @@ ir_call::get_error_instruction()
call->type = glsl_type::error_type;
return call;
}
+
+void
+visit_exec_list(exec_list *list, ir_visitor *visitor)
+{
+ foreach_iter(exec_list_iterator, iter, *list) {
+ ((ir_instruction *)iter.get())->accept(visitor);
+ }
+}
+