Got it. Thank you.

On Fri, Aug 8, 2014 at 11:07 PM, Jeff Law <l...@redhat.com> wrote:
> On 08/08/14 06:18, Evgeniya Maenkova wrote:
>>
>> As far as I know, there are so many configurations (frontends x
>> backends x applications(benchmarks) x etc), that the same optimization
>> could improve performance in one configuration and degrade at other
>> conditions.
>
> Correct.
>
>
>> What performance tests do you perform before including an optimization
>> in GCC? How do you aggregate the results (taking into account
>> different behavior on different frontend/backend/benchmarks)?
>> Excuse me, if some information is available in GCC documentation,
>> didn’t found so far.
>
> Each developer makes their own determination as to what performance tests
> are appropriate to run and on what platforms to run those tests. Some rely
> largely on SPEC, others utilize large desktop applications such as firefox
> and others are more focused on EEMBC, etc.  It really depends on each
> developer's focus.
>
> In general optimizations on GIMPLE/SSA are in large designed to eliminate as
> much redundancy as possible independent of the target processor.  There are
> exceptions, but as a guiding principle that is correct.
>
> When GIMPLE is lowered to RTL, the expanders query the backend for a
> information to guide lowering to RTL in a target dependent way. Similarly
> the RTL optimizers are designed to query the backend for information to
> guide low level aspects of code generation and optimization.
>
> When optimizations are submitted for inclusion, there's a review process
> where the code reviewers may ask questions or ask for further benchmarks,
> etc.  The reviewers also use their experience to guide submissions in the
> right direction.
>
> So there's no single simple answer.  It varies based on many factors.
>
> jeff


-- 
Thanks,

Evgeniya

perfstories.wordpress.com

Reply via email to