fix lower_mode_b: phi inputs may be bad
authorMatthias Braun <matze@braunis.de>
Mon, 2 May 2011 12:04:43 +0000 (14:04 +0200)
committerMatthias Braun <matze@braunis.de>
Mon, 2 May 2011 12:04:43 +0000 (14:04 +0200)
ir/lower/lower_mode_b.c

index 6c79119..7c1383d 100644 (file)
@@ -215,10 +215,10 @@ static ir_node *lower_node(ir_node *node)
                ARR_APP1(ir_node*, lowered_nodes, node);
 
                for (i = 0; i < arity; ++i) {
-                       ir_node *in     = get_irn_n(node, i);
-                       ir_node *low_in = lower_node(in);
+                       ir_node *in         = get_irn_n(node, i);
+                       ir_node *lowered_in = is_Bad(in) ? in : lower_node(in);
 
-                       set_irn_n(new_phi, i, low_in);
+                       set_irn_n(new_phi, i, lowered_in);
                }
 
                return new_phi;