This is the mail archive of the gcc@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] | |
On 29/10/14 09:32, Richard Biener wrote:
On Tue, Oct 28, 2014 at 4:55 PM, Evandro Menezes <e.menezes@samsung.com> wrote:While doing some benchmark flag mining on AArch64, I noticed that -fpeel-loops was a mined option often. As a matter of fact, when using it always, even without FDO, it seemed to raise most benchmarks and to leave almost all of the rest flat, with a barely noticeable cost in code-size. It seems to me that it might be safe enough to be implied perhaps at -O3. Is there any reason why this never came into being?
Loop peeling is done by default on AArch64 unless, IIRC, -fvect-cost-model=cheap is specified which switches it off. There was a general thread on loop peeling around the same time last year (https://gcc.gnu.org/ml/gcc/2013-11/msg00307.html) where Richard suggested that peeling vs. non-peeling should be factored into the vector cost model and is a more generic improvement.
Thanks, Tejas.
Not sure, but peeling is/was very stupid (peeling 8 times unconditionally or not at all). At least without FDO (and with -fprofile-use it is enabled). Similar case for -funroll-loops. For GCC 5 peeling now moved to GIMPLE, so maybe things changed for that (but I'd doubt that). Honza?
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |