This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PING] [patch] PR tree-optimizations/26969 (vectorizer)
- From: Victor Kaplansky <VICTORK at il dot ibm dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Tue, 1 Aug 2006 14:41:26 +0300
- Subject: [PING] [patch] PR tree-optimizations/26969 (vectorizer)
Please refer to the following link for the posted patch,
http://gcc.gnu.org/ml/gcc-patches/2006-06/msg00376.html
For reference repeated below.
[patch] PR tree-optimizations/26969 (vectorizer)
From: Victor Kaplansky <VICTORK at il dot ibm dot com>
To: gcc-patches at gcc dot gnu dot org
Cc: OLGA at il dot ibm dot com
Date: Thu, 8 Jun 2006 00:23:33 +0300
Subject: [patch] PR tree-optimizations/26969 (vectorizer)
The testcase attached below ICEs when compiled with -funswitch-loops.
This happens because (vect_do_peeling_for_alignment) was designed in an
assumption that latch is empty. Thus it doesn't handle PHIs in latches.
(vect_analyze_loop_form) checks the latch is empty, but doesn't check that
list
of its PHIs is empty as well.
Ideally, I'd think, it would be nice to enhance loop peeling to handle
PHIs in latches.
This patch modify (vect_analyze_loop_form) to avoid vectorization of loops
with non-empty list of PHIs in the latch.
Bootstrapped and tested on the vectorizer testcases on powerpc-linux.
ok for mainline?
thanks,
-- Victor
:ADDPATCH SSA (vectorizer):
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.
(See attached file: pr26969.patch.txt)(See attached file:
unswitch-loops-pr26969.c)
Attachment: pr26969.patch.txt
Description: Text document
Attachment: unswitch-loops-pr26969.c
Description: Binary data