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]

Re: [PATCH][RFC] Move IVOPTs closer to RTL expansion


On Mon, Sep 9, 2013 at 10:01 AM, Bin.Cheng <amker.cheng@gmail.com> wrote:
> On Wed, Sep 4, 2013 at 5:20 PM, Richard Biener <rguenther@suse.de> wrote:
>>
>> The patch below moves IVOPTs out of the GIMPLE loop pipeline more
>> closer to RTL expansion.  That's done for multiple reasons.
>>
>> First, the loop passes that at the moment preceede IVOPTs leave
>> around IL that is in desparate need of basic re-optimization
>> like CSE, constant propagation and DCE.  That puts extra load
>> on IVOPTs and its cost model, increasing compile-time and
>> possibly confusing it.
>>
>> Second, IVOPTs introduces lowered memory accesses that it
>> expects to stay as is, likewise it produces auto-inc/dec
>> sequences that it expects to stay as is until RTL expansion.
>> Passes such as DOM can break this expectation and make the
>> work done by IVOPTs a waste.
>>
>> I remember doing this excercise in the GCC 4.3 timeframe where
>> benchmarking on x86_64 showed no gains or losses (but x86_64
>> isn't very sensitive to IV choices).
>>
>> Any help with benchmarking this on targets other than x86_64
>> is appreciated (I'll re-do x86_64).

I will bootstrap and make check on arm a15.

-- 
Best Regards.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]