revivie max_irg_visited
[libfirm] / ir / be / bepeephole.c
index ca5bb2e..c2d4d16 100644 (file)
@@ -37,7 +37,7 @@
 #include "beirg.h"
 #include "belive_t.h"
 #include "bearch.h"
-#include "benode_t.h"
+#include "benode.h"
 #include "besched.h"
 #include "bemodule.h"
 
@@ -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);