glsl: Make ir_rvalue_visitor visit ir_discard::condition.

This was forgotten.

I omitted the NULL check since we don't check ir_assignment::condition
either.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
Kenneth Graunke 2015-02-23 22:00:34 -08:00
parent 926d8b0510
commit 44b45da994
2 changed files with 22 additions and 0 deletions

View File

@ -134,6 +134,13 @@ ir_rvalue_base_visitor::rvalue_visit(ir_call *ir)
return visit_continue;
}
ir_visitor_status
ir_rvalue_base_visitor::rvalue_visit(ir_discard *ir)
{
handle_rvalue(&ir->condition);
return visit_continue;
}
ir_visitor_status
ir_rvalue_base_visitor::rvalue_visit(ir_return *ir)
{
@ -204,6 +211,12 @@ ir_rvalue_visitor::visit_leave(ir_call *ir)
return rvalue_visit(ir);
}
ir_visitor_status
ir_rvalue_visitor::visit_leave(ir_discard *ir)
{
return rvalue_visit(ir);
}
ir_visitor_status
ir_rvalue_visitor::visit_leave(ir_return *ir)
{
@ -270,6 +283,12 @@ ir_rvalue_enter_visitor::visit_enter(ir_call *ir)
return rvalue_visit(ir);
}
ir_visitor_status
ir_rvalue_enter_visitor::visit_enter(ir_discard *ir)
{
return rvalue_visit(ir);
}
ir_visitor_status
ir_rvalue_enter_visitor::visit_enter(ir_return *ir)
{

View File

@ -36,6 +36,7 @@ public:
ir_visitor_status rvalue_visit(ir_call *);
ir_visitor_status rvalue_visit(ir_dereference_array *);
ir_visitor_status rvalue_visit(ir_dereference_record *);
ir_visitor_status rvalue_visit(ir_discard *);
ir_visitor_status rvalue_visit(ir_expression *);
ir_visitor_status rvalue_visit(ir_if *);
ir_visitor_status rvalue_visit(ir_return *);
@ -54,6 +55,7 @@ public:
virtual ir_visitor_status visit_leave(ir_call *);
virtual ir_visitor_status visit_leave(ir_dereference_array *);
virtual ir_visitor_status visit_leave(ir_dereference_record *);
virtual ir_visitor_status visit_leave(ir_discard *);
virtual ir_visitor_status visit_leave(ir_expression *);
virtual ir_visitor_status visit_leave(ir_if *);
virtual ir_visitor_status visit_leave(ir_return *);
@ -70,6 +72,7 @@ public:
virtual ir_visitor_status visit_enter(ir_call *);
virtual ir_visitor_status visit_enter(ir_dereference_array *);
virtual ir_visitor_status visit_enter(ir_dereference_record *);
virtual ir_visitor_status visit_enter(ir_discard *);
virtual ir_visitor_status visit_enter(ir_expression *);
virtual ir_visitor_status visit_enter(ir_if *);
virtual ir_visitor_status visit_enter(ir_return *);