X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbepeephole.c;h=c2d4d1615e8242c47976e8bfe1462b8d6b73786a;hb=d081119723f6f0fdff8c0a6ca93492c1a7ed6a6f;hp=5f4a2f0b94ec298744ccaf1c55217ece18b2e535;hpb=e9c215cf4349b990b65b0cd9caf1978c3550ccaa;p=libfirm 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);