ir_mode *mode = get_irn_mode(p);
long proj = get_Proj_proj(p);
+ /* ignore Bound checks of Bad */
+ if (is_Bad(get_Bound_index(n)))
+ return 1;
ASSERT_AND_RET_DBG(
((proj == pn_Bound_M && mode == mode_M) ||
(proj == pn_Bound_X_except && mode == mode_X) ||
if (is_Bad(pred_j))
continue;
+#if 0
+ /* currently this checks fails for blocks with exception
+ outputs (and these are NOT basic blocks). So it is disabled yet. */
ASSERT_AND_RET_DBG(
(pred_i == pred_j) || (get_irn_n(pred_i, -1) != get_irn_n(pred_j, -1)),
"At least two different PhiM predecessors are in the same block",
0,
ir_printf("%+F and %+F of %+F are in %+F\n", pred_i, pred_j, n, get_irn_n(pred_i, -1))
);
+#endif
}
}
}