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] |
Hi, Currently, tree unrolling pass(cunroll) does not allow any code size growth in O2 mode. Code size growth is permitted only if O3 or funroll-loops/fpeel-loops is used. I have created a patch to allow partial code size increase in O2 mode. With funroll-loops the maximum allowed code growth is 400 unrolled insns. I have set it to 200 unrolled insns in O2 mode. This patch improves an image processing benchmark by 20%. It improves most benchmarks by 1-2%. The code size increase is <1% for all the benchmarks except the image processing benchmark which increases by 6% (perf improves by 20%). I am working on getting this patch reviewed for trunk. Here is the disussion on this: http://gcc.gnu.org/ml/gcc-patches/2013-11/msg02643.html I have incorporated the comments on making the patch simpler. I will follow-up on that patch to trunk by also getting data on limiting complete peeling with O2. Is this ok for the google branch? Thanks Sri
Attachment:
google_4_8_loop_unroll_O2.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |