Fixed new_d_defaultProj(), handle Bad predecessor.
authorMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Mon, 29 Nov 2010 21:00:50 +0000 (21:00 +0000)
committerMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Mon, 29 Nov 2010 21:00:50 +0000 (21:00 +0000)
[r28166]

ir/ir/ircons.c

index 316dc05..86d9c28 100644 (file)
@@ -586,9 +586,10 @@ ir_node *new_d_Const_long(dbg_info *db, ir_mode *mode, long value)
 ir_node *new_d_defaultProj(dbg_info *db, ir_node *arg, long max_proj)
 {
        ir_node *res;
-       assert(is_Cond(arg));
+       assert(is_Cond(arg) || is_Bad(arg));
        assert(get_irg_phase_state(current_ir_graph) == phase_building);
-       arg->attr.cond.default_proj = max_proj;
+       if (is_Cond(arg))
+               arg->attr.cond.default_proj = max_proj;
        res = new_d_Proj(db, arg, mode_X, max_proj);
        return res;
 }