remove ins_permuted from CMovcc and Setcc constructors (again)
[libfirm] / ir / be / bepeephole.c
index c8869dd..c2d4d16 100644 (file)
 #include "irgmod.h"
 #include "error.h"
 
-#include "beirg_t.h"
+#include "beirg.h"
 #include "belive_t.h"
-#include "bearch_t.h"
-#include "benode_t.h"
-#include "besched_t.h"
+#include "bearch.h"
+#include "benode.h"
+#include "besched.h"
 #include "bemodule.h"
 
 DEBUG_ONLY(static firm_dbg_module_t *dbg = NULL;)
@@ -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);