summaryrefslogtreecommitdiff
path: root/gcc/tree-vect-analyze.c
diff options
context:
space:
mode:
authorvictork <victork@138bc75d-0d04-0410-961f-82ee72b054a4>2006-08-07 11:28:31 +0000
committervictork <victork@138bc75d-0d04-0410-961f-82ee72b054a4>2006-08-07 11:28:31 +0000
commit0bf7f84736d44a77940785b2014ea9d8edaba578 (patch)
tree2a815da8cd510d65ff313810b7ecb7deddfa81f0 /gcc/tree-vect-analyze.c
parent899164c59f66740a114ca2b08731e03003005023 (diff)
downloadgcc-0bf7f84736d44a77940785b2014ea9d8edaba578.tar.gz
ChangeLog
PR tree-optimization/26969 * tree-vect-analyze.c (vect_analyze_loop_form): Add check of latch witch an empty list of PHIs. testsuite/Changelog: PR tree-optimizations/26969 * gcc.dg/vect/vect.exp: Compile tests prefixed with "unswitch-loops" with -funswitch-loops. * gcc.dg/vect/unswitch-loops-pr26969.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115995 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-vect-analyze.c')
-rw-r--r--gcc/tree-vect-analyze.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-vect-analyze.c b/gcc/tree-vect-analyze.c
index 9df8ba26606..f247cd9ab31 100644
--- a/gcc/tree-vect-analyze.c
+++ b/gcc/tree-vect-analyze.c
@@ -1889,7 +1889,8 @@ vect_analyze_loop_form (struct loop *loop)
that the loop is represented as a do-while (with a proper if-guard
before the loop if needed), where the loop header contains all the
executable statements, and the latch is empty. */
- if (!empty_block_p (loop->latch))
+ if (!empty_block_p (loop->latch)
+ || phi_nodes (loop->latch))
{
if (vect_print_dump_info (REPORT_BAD_FORM_LOOPS))
fprintf (vect_dump, "not vectorized: unexpected loop form.");