ir: Give ir_instruction a print visitor helper.

This avoids spamming each file with includes of ir_print_visitor.h
because someone was doing debugging at some point, and is less typing
when doing debugging.
This commit is contained in:
Eric Anholt
2010-06-22 12:09:21 -07:00
committed by Ian Romanick
parent 216580dbd7
commit e46a454305
6 changed files with 13 additions and 9 deletions

4
ir.h
View File

@@ -45,6 +45,10 @@ public:
const struct glsl_type *type; const struct glsl_type *type;
class ir_constant *constant_expression_value(); class ir_constant *constant_expression_value();
/** ir_print_visitor helper for debugging. */
void print(void);
virtual void accept(ir_visitor *) = 0; virtual void accept(ir_visitor *) = 0;
virtual ir_visitor_status accept(ir_hierarchical_visitor *) = 0; virtual ir_visitor_status accept(ir_hierarchical_visitor *) = 0;

View File

@@ -33,7 +33,6 @@
*/ */
#include "ir.h" #include "ir.h"
#include "ir_print_visitor.h"
#include "ir_visitor.h" #include "ir_visitor.h"
#include "ir_optimization.h" #include "ir_optimization.h"
#include "glsl_types.h" #include "glsl_types.h"

View File

@@ -34,7 +34,6 @@
#include "ir.h" #include "ir.h"
#include "ir_visitor.h" #include "ir_visitor.h"
#include "ir_print_visitor.h"
#include "ir_basic_block.h" #include "ir_basic_block.h"
#include "ir_optimization.h" #include "ir_optimization.h"
#include "glsl_types.h" #include "glsl_types.h"

View File

@@ -34,7 +34,6 @@
*/ */
#include "ir.h" #include "ir.h"
#include "ir_print_visitor.h"
#include "ir_basic_block.h" #include "ir_basic_block.h"
#include "ir_optimization.h" #include "ir_optimization.h"
#include "glsl_types.h" #include "glsl_types.h"
@@ -192,8 +191,7 @@ dead_code_local_basic_block(ir_instruction *first,
ir_assignment *ir_assign = ir->as_assignment(); ir_assignment *ir_assign = ir->as_assignment();
if (debug) { if (debug) {
ir_print_visitor v; ir->print();
ir->accept(&v);
printf("\n"); printf("\n");
} }

View File

@@ -27,6 +27,13 @@
static void print_type(const glsl_type *t); static void print_type(const glsl_type *t);
void
ir_instruction::print(void)
{
ir_print_visitor v;
accept(&v);
}
void void
_mesa_print_ir(exec_list *instructions, _mesa_print_ir(exec_list *instructions,
struct _mesa_glsl_parse_state *state) struct _mesa_glsl_parse_state *state)
@@ -48,9 +55,7 @@ _mesa_print_ir(exec_list *instructions,
printf("(\n"); printf("(\n");
foreach_iter(exec_list_iterator, iter, *instructions) { foreach_iter(exec_list_iterator, iter, *instructions) {
ir_print_visitor v; ((ir_instruction *)iter.get())->print();
((ir_instruction *)iter.get())->accept(& v);
printf("\n"); printf("\n");
} }
printf("\n)"); printf("\n)");

View File

@@ -32,7 +32,6 @@
#include "ir.h" #include "ir.h"
#include "ir_visitor.h" #include "ir_visitor.h"
#include "ir_optimization.h" #include "ir_optimization.h"
#include "ir_print_visitor.h"
#include "glsl_types.h" #include "glsl_types.h"
/** /**