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: RFA: patch for register pressure sensitive insn scheduling


On Wed, Sep 2, 2009 at 5:41 PM, Vladimir Makarov<vmakarov@redhat.com> wrote:
> Vladimir Makarov wrote:
>>
>> David Edelsohn wrote:
>>>
>>> Vlad,
>>>
>>> Thanks for investigating and addressing this issue in GCC.
>>>
>>> Did you test on POWER6 with the rs6000.c:rs6000_issue_rate()
>>> restriction for the first scheduling pass removed?
>>>
>>>
>>
>> I used the same issue rate (1 for the 1st insn scheduling) as it is
>> defined currently in the trunk.
>>
>> I remembered the discussion about this restriction a few weeks ago. ?I
>> should try to check SPEC without the restriction.
>>
>> So I'll do it and post the results (probably tomorrow).
>>
>
> I've checked register-pressure scheduling (using -fsched-pressure) with and
> without the constraint in rs6000_issue_rate:
>
> ?if (!reload_completed)
> ? return 1;
>
> SPECINT2000 is a bit worse (0.5%) mainly because of (> 3%) vortex
> degradation. ?IMHO, vortex should be ignored unless profile-based
> optimizations are used because it contains hot loop containing only if with
> small then-part and big else-part and most time only the then-part is
> executed.
>
> SPECFP2000 is 0.6% better but taking off art volatility (I am having it on
> 10-15% on power6 and I don't know why), SPECFP2000 is about 2% better in
> overall with 9% improvement on mgrid, almost 3% on mesa, galgel and fma3d
> and 1.5% on equake and apsi.
>
> So I'd definitely remove the constraint for register-pressure sensitive insn
> scheduling using
>
> if (!reload_completed && !flag_sched_pressure)
> ? return 1;

The patch likelky caused PR41241, bootstrap comparison failures on hosts
that have address randomization enabled.  I can reproduce differences in
code-generation with re-building pieces of the 32bit multilib of libgcc
with the stage2 compiler.  -g doesn't seem to be necessary (not that this
proves it isn't a VTA issue in the end).  One bootstrap with this patch
reverted has succeeded (but that's no prove either - only two out of three
bootstraps fail for me).

Richard.

>
>


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