This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Improve unrolled size estimates


On Mon, May 11, 2009 at 1:41 PM, Jan Hubicka <hubicka@ucw.cz> wrote:
> Hi,
> it turned out that there is some extra testsuite compensation neccesary
> since in vectorizer testsuite we now tend fully unroll internal loops
> preventing vectorization. ?In some cases unrolling makes sense, in some
> cases we make code size growth because we account loads and stores to
> have size of 0 I will fix by followup patch. ?Still it seems to make
> sense to increase iteration counts here to make tests more robust, it is
> not first time I am hitting this problem with cost improvements. ?Note
> that in slp-3.c I didn't managed to increase loop sufficiently, so I
> just updated the count. ?It is going to get fixed by the load/store
> cases. ?I also added bogus warning for Wunreachable-2.c testcase that
> got broken by patch fixing costs of calling functions with prototype
> only.
>
> Bootstrapped/regtested x86_64-linux, will commit it shortly.
>
> Honza
>
> ? ? ? ?* tree-ssa-loop-ivcanon.c: Include target.h
> ? ? ? ?(struct loop_size): new structure.
> ? ? ? ?(constant_after_peeling): New predicate.
> ? ? ? ?(tree_estimate_loop_size): New function.
> ? ? ? ?(estimated_unrolled_size): Rewrite for new estimates.
> ? ? ? ?(try_unroll_loop_completely): Use new estimates.
> ? ? ? ?* Makefile.in (tree-ssa-loop-ivcanon.o): Add dependenc on target.h
>
> ? ? ? ?* gcc.dg/tree-ssa/pr21829.c: Simplify matching since
> ? ? ? ?we now optimize better.
> ? ? ? ?* gcc.dg/Wunreachable-8.c: Bogus warnings now come
> ? ? ? ?out at different places.
> ? ? ? ?* gcc.dg/vect/vect-92.c: Increase loop iteration count to prevent
> ? ? ? ?unroling.
> ? ? ? ?* gcc.dg/vect/vect-76.c: Likewise.
> ? ? ? ?* gcc.dg/vect/vect-70.c: Likewise.
> ? ? ? ?* gcc.dg/vect/vect-66.c: Likewise.
> ? ? ? ?* gcc.dg/vect/no-section-anchors-vect-66.c: Likewise.
> ? ? ? ?* gcc.dg/vect/slp-3.c: One of loops gets now fully unrolled.

This caused:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40123

It only happens on Linux/x86-64 with -m32.


-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]