From dcbf82d5096be78a811f0e3fcbb2c30446e903de Mon Sep 17 00:00:00 2001 From: Matthias Braun Date: Mon, 9 Nov 2009 13:05:35 +0000 Subject: [PATCH] be robust against anchor in outedges in skip_barrier peephole [r26723] --- ir/be/bepeephole.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ir/be/bepeephole.c b/ir/be/bepeephole.c index 5f4a2f0b9..c2d4d1615 100644 --- a/ir/be/bepeephole.c +++ b/ir/be/bepeephole.c @@ -265,8 +265,14 @@ static void skip_barrier(ir_node *ret_blk, ir_graph *irg) { foreach_out_edge_safe(irn, edge, next) { ir_node *proj = get_edge_src_irn(edge); - int pn = (int)get_Proj_proj(proj); - ir_node *pred = get_irn_n(irn, pn); + int pn; + ir_node *pred; + + if (is_Anchor(proj)) + continue; + + pn = (int) get_Proj_proj(proj); + pred = get_irn_n(irn, pn); edges_reroute_kind(proj, pred, EDGE_KIND_NORMAL, irg); edges_reroute_kind(proj, pred, EDGE_KIND_DEP, irg); -- 2.20.1