ir_print_visitor: Print empty else blocks more compactly
authorIan Romanick <ian.d.romanick@intel.com>
Thu, 12 Aug 2010 21:55:48 +0000 (14:55 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Fri, 3 Sep 2010 18:55:21 +0000 (11:55 -0700)
src/glsl/ir_print_visitor.cpp

index f47ad87..9d81cef 100644 (file)
@@ -405,19 +405,23 @@ ir_print_visitor::visit(ir_if *ir)
    printf(")\n");
 
    indent();
-   printf("(\n");
-   indentation++;
+   if (!ir->else_instructions.is_empty()) {
+      printf("(\n");
+      indentation++;
 
-   foreach_iter(exec_list_iterator, iter, ir->else_instructions) {
-      ir_instruction *const inst = (ir_instruction *) iter.get();
+      foreach_iter(exec_list_iterator, iter, ir->else_instructions) {
+        ir_instruction *const inst = (ir_instruction *) iter.get();
 
+        indent();
+        inst->accept(this);
+        printf("\n");
+      }
+      indentation--;
       indent();
-      inst->accept(this);
-      printf("\n");
+      printf("))\n");
+   } else {
+      printf("())\n");
    }
-   indentation--;
-   indent();
-   printf("))\n");
 }