Start trying to fill in a few bits of ir_constant_expression.cpp
[mesa.git] / ir_print_visitor.cpp
index 8b2080f7ec520c266fb04ab73afed8c606eb135e..e6b24d2d5bce9456d43dc20a7d3b564428fd18e9 100644 (file)
@@ -96,6 +96,8 @@ void ir_print_visitor::visit(ir_expression *ir)
       "sqrt",
       "exp",
       "log",
+      "exp2",
+      "log2",
       "f2i",
       "i2f",
       "u2f",
@@ -263,3 +265,27 @@ ir_print_visitor::visit(ir_return *ir)
 
    printf(")");
 }
+
+
+void
+ir_print_visitor::visit(ir_if *ir)
+{
+   printf("(if ");
+   ir->condition->accept(this);
+
+   printf("(\n");
+   foreach_iter(exec_list_iterator, iter, ir->then_instructions) {
+      ir_instruction *const inst = (ir_instruction *) iter.get();
+
+      inst->accept(this);
+   }
+   printf(")\n");
+
+   printf("(\n");
+   foreach_iter(exec_list_iterator, iter, ir->else_instructions) {
+      ir_instruction *const inst = (ir_instruction *) iter.get();
+
+      inst->accept(this);
+   }
+   printf("))\n");
+}