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
