summaryrefslogtreecommitdiffstats
path: root/ir_hierarchical_visitor.cpp
diff options
context:
space:
mode:
authorIan Romanick <[email protected]>2010-05-19 12:02:19 +0200
committerIan Romanick <[email protected]>2010-05-26 15:23:25 -0700
commitf3a002b503542fe2544025c6a42d552fdc4907c2 (patch)
tree647f6bba599e317ced48e8f484f4933b6708e1fb /ir_hierarchical_visitor.cpp
parent70fe8b66632f4afd87ebb12a450b1e639428e88f (diff)
Refactor ir_dereference support for ir_hierarchical_visitor
Move the accept method for hierarchical visitors from ir_dereference to the derived classes. This was mostly straight-forward, but I suspect that ir_dead_code_local may be broken now.
Diffstat (limited to 'ir_hierarchical_visitor.cpp')
-rw-r--r--ir_hierarchical_visitor.cpp25
1 files changed, 23 insertions, 2 deletions
diff --git a/ir_hierarchical_visitor.cpp b/ir_hierarchical_visitor.cpp
index 4fec0d7c752..ad474878355 100644
--- a/ir_hierarchical_visitor.cpp
+++ b/ir_hierarchical_visitor.cpp
@@ -46,6 +46,13 @@ ir_hierarchical_visitor::visit(ir_loop_jump *ir)
}
ir_visitor_status
+ir_hierarchical_visitor::visit(ir_dereference_variable *ir)
+{
+ (void) ir;
+ return visit_continue;
+}
+
+ir_visitor_status
ir_hierarchical_visitor::visit_enter(ir_loop *ir)
{
(void) ir;
@@ -116,14 +123,28 @@ ir_hierarchical_visitor::visit_leave(ir_swizzle *ir)
}
ir_visitor_status
-ir_hierarchical_visitor::visit_enter(ir_dereference *ir)
+ir_hierarchical_visitor::visit_enter(ir_dereference_array *ir)
+{
+ (void) ir;
+ return visit_continue;
+}
+
+ir_visitor_status
+ir_hierarchical_visitor::visit_leave(ir_dereference_array *ir)
+{
+ (void) ir;
+ return visit_continue;
+}
+
+ir_visitor_status
+ir_hierarchical_visitor::visit_enter(ir_dereference_record *ir)
{
(void) ir;
return visit_continue;
}
ir_visitor_status
-ir_hierarchical_visitor::visit_leave(ir_dereference *ir)
+ir_hierarchical_visitor::visit_leave(ir_dereference_record *ir)
{
(void) ir;
return visit_continue;