From c960722d5208cc8a4a994ab7ee79cab5adbbc04c Mon Sep 17 00:00:00 2001 From: Sebastian Buchwald Date: Sat, 13 Dec 2008 20:45:12 +0000 Subject: [PATCH] Ignore End keeps. [r24628] --- ir/be/beflags.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/ir/be/beflags.c b/ir/be/beflags.c index 0016f8ae4..cb1e068b2 100644 --- a/ir/be/beflags.c +++ b/ir/be/beflags.c @@ -91,18 +91,15 @@ static int can_move(ir_node *node, ir_node *after) assert(get_irn_n_edges_kind(out, EDGE_KIND_DEP) == 0); foreach_out_edge(out, edge2) { ir_node *out2 = get_edge_src_irn(edge2); - /* phi represents a usage at block end */ - if(is_Phi(out2)) - continue; - /* ignore End keeps */ - if (is_End(out2)) + /* Phi or End represents a usage at block end. */ + if(is_Phi(out2) || is_End(out2)) continue; if(is_Sync(out2)) { const ir_edge_t *edge3; foreach_out_edge(out2, edge3) { ir_node *out3 = get_edge_src_irn(edge3); - /* phi represents a usage at block end */ - if(is_Phi(out3)) + /* Phi or End represents a usage at block end. */ + if(is_Phi(out3) || is_End(out3)) continue; assert(!is_Sync(out3)); if(sched_get_time_step(out3) <= sched_get_time_step(after)) { -- 2.20.1