diff options
| author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-03-05 10:57:09 +0000 |
|---|---|---|
| committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-03-05 10:57:09 +0000 |
| commit | d74ee1050558fc583b90b340eafef3ca861bad95 (patch) | |
| tree | 770dfc86ef282949c7880c0d291120a357cbca83 | |
| parent | e24a805c5d49b4186ec201ac3b3e37ba1ea810d6 (diff) | |
| download | ppe42-gcc-d74ee1050558fc583b90b340eafef3ca861bad95.tar.gz ppe42-gcc-d74ee1050558fc583b90b340eafef3ca861bad95.zip | |
2007-03-05 Richard Guenther <rguenther@suse.de>
Dorit Nuzman <dorit@il.ibm.com>
PR tree-optimization/26420
* tree-vectorizer.c (vectorize_loops): Bail out early if there
are no loops in the function. Only print the number of
vectorized loops if it is greater than zero or we are supposed
to print information about unvectorized loops.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122544 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 9 | ||||
| -rw-r--r-- | gcc/tree-vectorizer.c | 11 |
2 files changed, 18 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5b125fdf6f3..0b6a01d898e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2007-03-05 Richard Guenther <rguenther@suse.de> + Dorit Nuzman <dorit@il.ibm.com> + + PR tree-optimization/26420 + * tree-vectorizer.c (vectorize_loops): Bail out early if there + are no loops in the function. Only print the number of + vectorized loops if it is greater than zero or we are supposed + to print information about unvectorized loops. + 2007-03-05 Revital Eres <eres@il.ibm.com> * gcc.dg/var-expand1.c: New test. diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c index 2a53b9c9fa3..b0aedf74b2c 100644 --- a/gcc/tree-vectorizer.c +++ b/gcc/tree-vectorizer.c @@ -2196,6 +2196,12 @@ vectorize_loops (void) loop_iterator li; struct loop *loop; + vect_loops_num = number_of_loops (); + + /* Bail out if there are no loops. */ + if (vect_loops_num <= 1) + return 0; + /* Fix the verbosity level if not defined explicitly by the user. */ vect_set_dump_settings (); @@ -2208,7 +2214,6 @@ vectorize_loops (void) /* If some loop was duplicated, it gets bigger number than all previously defined loops. This fact allows us to run only over initial loops skipping newly generated ones. */ - vect_loops_num = number_of_loops (); FOR_EACH_LOOP (li, loop, 0) { loop_vec_info loop_vinfo; @@ -2225,7 +2230,9 @@ vectorize_loops (void) } vect_loop_location = UNKNOWN_LOC; - if (vect_print_dump_info (REPORT_VECTORIZED_LOOPS)) + if (vect_print_dump_info (REPORT_UNVECTORIZED_LOOPS) + || (vect_print_dump_info (REPORT_VECTORIZED_LOOPS) + && num_vectorized_loops > 0)) fprintf (vect_dump, "vectorized %u loops in function.\n", num_vectorized_loops); |

