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:

committed by
Ian Romanick

parent
216580dbd7
commit
e46a454305
4
ir.h
4
ir.h
@@ -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;
|
||||||
|
|
||||||
|
@@ -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"
|
||||||
|
@@ -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"
|
||||||
|
@@ -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");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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)");
|
||||||
|
@@ -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"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user