tree-optimization/100359 - restore unroll at -O3
authorRichard Biener <rguenther@suse.de>
Wed, 5 Jan 2022 15:29:53 +0000 (16:29 +0100)
committerRichard Biener <rguenther@suse.de>
Mon, 10 Jan 2022 10:08:42 +0000 (11:08 +0100)
commit92e114d66e93d60dcef97c66cddbae38b657d768
tree4f637ed6d4d46c427fe061536cc60080b0686b7e
parenta42dd9febbbeb328af5b3b6adf4431dd7bcca113
tree-optimization/100359 - restore unroll at -O3

This fixes a mistake done with r8-5008 when introducing
allow_peel to the unroll code.  The intent was to allow
peeling that doesn't grow code but the result was that
with -O3 and UL_ALL this wasn't done.  The following
instantiates the desired effect by adjusting ul to UL_NO_GROWTH
if peeling is not allowed.

2022-01-05  Richard Biener  <rguenther@suse.de>

PR tree-optimization/100359
* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
Allow non-growing peeling with !allow_peel and UL_ALL.

* gcc.dg/tree-ssa/pr100359.c: New testcase.
gcc/testsuite/gcc.dg/tree-ssa/pr100359.c [new file with mode: 0644]
gcc/tree-ssa-loop-ivcanon.c