mirror of git://gcc.gnu.org/git/gcc.git
tree-vect-loop.c (vect_analyze_loop_operations): Do not vectorize loops that can never run more often than the vectorization factor.
2012-04-20 Richard Guenther <rguenther@suse.de> * tree-vect-loop.c (vect_analyze_loop_operations): Do not vectorize loops that can never run more often than the vectorization factor. From-SVN: r186614
This commit is contained in:
parent
1bde7dabc9
commit
552fd8e693
|
@ -1,3 +1,9 @@
|
||||||
|
2012-04-20 Richard Guenther <rguenther@suse.de>
|
||||||
|
|
||||||
|
* tree-vect-loop.c (vect_analyze_loop_operations): Do not
|
||||||
|
vectorize loops that can never run more often than the
|
||||||
|
vectorization factor.
|
||||||
|
|
||||||
2012-04-19 Jan Hubicka <jh@suse.cz>
|
2012-04-19 Jan Hubicka <jh@suse.cz>
|
||||||
|
|
||||||
* symtab.c (dump_symtab_base): Fix dumping of asm lists.
|
* symtab.c (dump_symtab_base): Fix dumping of asm lists.
|
||||||
|
|
|
@ -1235,6 +1235,7 @@ vect_analyze_loop_operations (loop_vec_info loop_vinfo, bool slp)
|
||||||
int min_scalar_loop_bound;
|
int min_scalar_loop_bound;
|
||||||
unsigned int th;
|
unsigned int th;
|
||||||
bool only_slp_in_loop = true, ok;
|
bool only_slp_in_loop = true, ok;
|
||||||
|
HOST_WIDE_INT max_niter;
|
||||||
|
|
||||||
if (vect_print_dump_info (REPORT_DETAILS))
|
if (vect_print_dump_info (REPORT_DETAILS))
|
||||||
fprintf (vect_dump, "=== vect_analyze_loop_operations ===");
|
fprintf (vect_dump, "=== vect_analyze_loop_operations ===");
|
||||||
|
@ -1407,8 +1408,10 @@ vect_analyze_loop_operations (loop_vec_info loop_vinfo, bool slp)
|
||||||
"vectorization_factor = %d, niters = " HOST_WIDE_INT_PRINT_DEC,
|
"vectorization_factor = %d, niters = " HOST_WIDE_INT_PRINT_DEC,
|
||||||
vectorization_factor, LOOP_VINFO_INT_NITERS (loop_vinfo));
|
vectorization_factor, LOOP_VINFO_INT_NITERS (loop_vinfo));
|
||||||
|
|
||||||
if (LOOP_VINFO_NITERS_KNOWN_P (loop_vinfo)
|
if ((LOOP_VINFO_NITERS_KNOWN_P (loop_vinfo)
|
||||||
&& (LOOP_VINFO_INT_NITERS (loop_vinfo) < vectorization_factor))
|
&& (LOOP_VINFO_INT_NITERS (loop_vinfo) < vectorization_factor))
|
||||||
|
|| ((max_niter = max_stmt_executions_int (loop)) != -1
|
||||||
|
&& max_niter < vectorization_factor))
|
||||||
{
|
{
|
||||||
if (vect_print_dump_info (REPORT_UNVECTORIZED_LOCATIONS))
|
if (vect_print_dump_info (REPORT_UNVECTORIZED_LOCATIONS))
|
||||||
fprintf (vect_dump, "not vectorized: iteration count too small.");
|
fprintf (vect_dump, "not vectorized: iteration count too small.");
|
||||||
|
|
Loading…
Reference in New Issue