+ new_immBlock();
+ add_immBlock_pred(get_irg_current_block(irg), f_l2);
+ add_immBlock_pred(get_irg_current_block(irg), f_l1);
+ x = new_Return (get_store(), 0, NULL);
+ mature_immBlock (get_irg_current_block(irg));
+
+ add_immBlock_pred (get_irg_end_block(irg), x);
+ mature_immBlock (get_irg_end_block(irg));
+
+ irg_finalize_cons (irg);
+
+ /* --- method loop2 ------------------------------------------------------ */
+
+#undef METHODNAME
+#define METHODNAME "loop2"
+
+ ent = new_entity (owner, new_id_from_str (METHODNAME), proc_tp);
+ get_entity_ld_name(ent); /* To enforce name mangling for vcg graph name */
+
+ irg = new_ir_graph (ent, NUM_OF_LOCAL_VARS);
+
+ /* to make several conditionals */
+ expr = new_Const (mode_Is, new_tarval_from_long (0, mode_Is));
+ c1 = new_Const (mode_Is, new_tarval_from_long (1, mode_Is));
+ c2 = new_Const (mode_Is, new_tarval_from_long (2, mode_Is));
+ c3 = new_Const (mode_Is, new_tarval_from_long (3, mode_Is));
+ c4 = new_Const (mode_Is, new_tarval_from_long (4, mode_Is));
+ c5 = new_Const (mode_Is, new_tarval_from_long (5, mode_Is));
+
+ cond = new_Cond(new_Proj(new_Cmp(expr, c1), mode_b, pn_Cmp_Eq));
+ f2 = new_Proj(cond, mode_X, 0);
+ t = new_Proj(cond, mode_X, 1);
+ mature_immBlock(get_irg_current_block(irg));
+
+ new_immBlock();
+ add_immBlock_pred(get_irg_current_block(irg), t);
+ cond = new_Cond(new_Proj(new_Cmp(expr, c5), mode_b, pn_Cmp_Eq));
+ f = new_Proj(cond, mode_X, 0);
+ t = new_Proj(cond, mode_X, 1);
+ mature_immBlock(get_irg_current_block(irg));
+
+ loopBlock1 = new_immBlock();
+ add_immBlock_pred(loopBlock1, t);
+ cond = new_Cond(new_Proj(new_Cmp(expr, c2), mode_b, pn_Cmp_Eq));
+ f_l1 = new_Proj(cond, mode_X, 0);
+ t_l1 = new_Proj(cond, mode_X, 1);
+
+ loopBlock2 = new_immBlock();
+ add_immBlock_pred(loopBlock2, f);
+ cond = new_Cond(new_Proj(new_Cmp(expr, c3), mode_b, pn_Cmp_Eq));
+ f_l2 = new_Proj(cond, mode_X, 0);
+ t_l2 = new_Proj(cond, mode_X, 1);
+
+ loopBlock3 = new_immBlock();
+ add_immBlock_pred(loopBlock3, f2);
+ cond = new_Cond(new_Proj(new_Cmp(expr, c4), mode_b, pn_Cmp_Eq));
+ f_l3 = new_Proj(cond, mode_X, 0);
+ t_l3 = new_Proj(cond, mode_X, 1);
+
+ add_immBlock_pred(loopBlock1, t_l2);
+ add_immBlock_pred(loopBlock2, t_l1);
+ add_immBlock_pred(loopBlock3, f_l2);
+ add_immBlock_pred(loopBlock2, t_l3);
+ mature_immBlock(loopBlock1);
+ mature_immBlock(loopBlock2);
+ mature_immBlock(loopBlock3);
+
+ new_immBlock();
+ add_immBlock_pred(get_irg_current_block(irg), f_l1);
+ add_immBlock_pred(get_irg_current_block(irg), f_l3);
+ x = new_Return (get_store(), 0, NULL);
+ mature_immBlock (get_irg_current_block(irg));
+
+ add_immBlock_pred (get_irg_end_block(irg), x);
+ mature_immBlock (get_irg_end_block(irg));
+
+ irg_finalize_cons (irg);
+
+ /* --- more ... ------------------------------------------------------ */