nir: Implement mul_high lowering for bit sizes other than 32
[mesa.git] / src / compiler / glsl / ir_hv_accept.cpp
index bf3f3d4f0429b29035791111bc8d59fade795315..6e5e25378e1bb998ffc1901ac885d2066d3885f9 100644 (file)
@@ -230,7 +230,8 @@ ir_texture::accept(ir_hierarchical_visitor *v)
       break;
    }
 
-   return (s == visit_stop) ? s : v->visit_leave(this);
+   assert(s == visit_continue);
+   return v->visit_leave(this);
 }
 
 
@@ -377,6 +378,18 @@ ir_discard::accept(ir_hierarchical_visitor *v)
 }
 
 
+ir_visitor_status
+ir_demote::accept(ir_hierarchical_visitor *v)
+{
+   ir_visitor_status s = v->visit_enter(this);
+
+   if (s != visit_continue)
+      return (s == visit_continue_with_parent) ? visit_continue : s;
+
+   return v->visit_leave(this);
+}
+
+
 ir_visitor_status
 ir_if::accept(ir_hierarchical_visitor *v)
 {
@@ -414,7 +427,8 @@ ir_emit_vertex::accept(ir_hierarchical_visitor *v)
    if (s != visit_continue)
       return (s == visit_continue_with_parent) ? visit_continue : s;
 
-   return (s == visit_stop) ? s : v->visit_leave(this);
+   assert(s == visit_continue);
+   return v->visit_leave(this);
 }
 
 
@@ -429,7 +443,8 @@ ir_end_primitive::accept(ir_hierarchical_visitor *v)
    if (s != visit_continue)
       return (s == visit_continue_with_parent) ? visit_continue : s;
 
-   return (s == visit_stop) ? s : v->visit_leave(this);
+   assert(s == visit_continue);
+   return v->visit_leave(this);
 }
 
 ir_visitor_status