diff options
Diffstat (limited to 'gcc/tree-ssa-loop-unswitch.c')
-rw-r--r-- | gcc/tree-ssa-loop-unswitch.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/tree-ssa-loop-unswitch.c b/gcc/tree-ssa-loop-unswitch.c index 77acd66..bf9fafa6 100644 --- a/gcc/tree-ssa-loop-unswitch.c +++ b/gcc/tree-ssa-loop-unswitch.c @@ -536,6 +536,12 @@ find_loop_guard (struct loop *loop) guard_edge->src->index, guard_edge->dest->index); return NULL; } + if (guard_edge->dest == loop->latch) + { + if (dump_file && (dump_flags & TDF_DETAILS)) + fprintf (dump_file, "Guard edge destination is loop latch.\n"); + return NULL; + } if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, |