From ef4997750b2c15a175a51ccb126bcb817b6a22a1 Mon Sep 17 00:00:00 2001 From: Michael Beck Date: Mon, 22 Oct 2007 10:13:36 +0000 Subject: [PATCH] Treat Start as a forking op in remove_critical edges. This will place a block here if needed (before loops for instance) [r16298] --- ir/ir/irgopt.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ir/ir/irgopt.c b/ir/ir/irgopt.c index 81d6e902c..52be875a7 100644 --- a/ir/ir/irgopt.c +++ b/ir/ir/irgopt.c @@ -2259,7 +2259,8 @@ static void walk_critical_cf_edges(ir_node *n, void *env) { goto insert; continue; } - if (is_op_forking(cfop)) { + /* we don't want place nodes in the start block, so handle it like forking */ + if (is_op_forking(cfop) || cfop == op_Start) { /* Predecessor has multiple successors. Insert new control flow edge edges. */ insert: /* set predecessor of new block */ -- 2.20.1