diff options
author | Richard Biener <rguenther@suse.de> | 2017-03-07 13:39:44 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2017-03-07 13:39:44 +0000 |
commit | 5281a167eaf420235edcd5b47425d54a13ff74af (patch) | |
tree | ba300f18620a9bd8bd5636601f23709361a89997 /gcc/tree-vect-loop-manip.c | |
parent | 2413298e2df06c6013fb5533b7e01d6bdb38e4c7 (diff) | |
download | gcc-5281a167eaf420235edcd5b47425d54a13ff74af.zip gcc-5281a167eaf420235edcd5b47425d54a13ff74af.tar.gz gcc-5281a167eaf420235edcd5b47425d54a13ff74af.tar.bz2 |
tree-vect-loop-manip.c (slpeel_add_loop_guard): Preserve preheaders.
2017-03-07 Richard Biener <rguenther@suse.de>
* tree-vect-loop-manip.c (slpeel_add_loop_guard): Preserve
preheaders.
From-SVN: r245950
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; } |