On 05/30/2016 09:26 AM, Jan Hubicka wrote:
Hi,
this is version of patch I intend to commit after re-testing at x86_64-linux
with loop peeling enabled at -O3.

It drops -fpeel-all-loops, add logic to not peel loops multiple times
and fix profile updating.

Bootstrapped/regtested x86_64-linux

Honza

        * doc/invoke.texi (-fpeel-loops,-O3): Update documentation.
        * opts.c (default_options): Enable peel loops at -O3.
        * tree-ssa-loop-ivcanon.c (peeled_loops): New static var.
        (try_peel_loop): Do not re-peel already peeled loops;
        use likely upper bounds; fix profile updating.
        (pass_complete_unroll::execute): Initialize peeled_loops.
        
        * gcc.dg/tree-ssa/peel1.c: New testcase.
        * gcc.dg/tree-ssa/peel2.c: New testcase.
        * gcc.dg/tree-ssa/pr61743-1.c: Disable loop peeling.
        * gcc.dg/tree-ssa/pr61743-2.c: Disable loop peeling.

The documentation parts look OK (and I'm glad we don't need to add yet another new option).

-Sandra

Reply via email to