diff options
Diffstat (limited to 'gcc/tree-vect-loop-manip.c')
-rw-r--r-- | gcc/tree-vect-loop-manip.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/tree-vect-loop-manip.c b/gcc/tree-vect-loop-manip.c index 5ee2c38..2f82061 100644 --- a/gcc/tree-vect-loop-manip.c +++ b/gcc/tree-vect-loop-manip.c @@ -569,6 +569,11 @@ slpeel_add_loop_guard (basic_block guard_bb, tree cond, enter_e->count -= new_e->count; enter_e->probability = inverse_probability (probability); set_immediate_dominator (CDI_DOMINATORS, guard_to, dom_bb); + + /* Split enter_e to preserve LOOPS_HAVE_PREHEADERS. */ + if (enter_e->dest->loop_father->header == enter_e->dest) + split_edge (enter_e); + return new_e; } |