- /* in a matured block we can immediated determine the phi arguments */
- if (block->attr.block.is_matured) {
+ /* We ran into a cycle. This may happen in unreachable loops. */
+ if (irn_visited_else_mark(block)) {
+ /* Since the loop is unreachable, return a Bad. */
+ return new_r_Bad(irg);
+ }
+
+ /* in a matured block we can immediately determine the phi arguments */
+ if (get_Block_matured(block)) {