public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* ira-loop-pressure not marked as optimization?
@ 2014-03-06 13:55 Paulo Matos
  2014-03-06 15:16 ` Vladimir Makarov
  0 siblings, 1 reply; 6+ messages in thread
From: Paulo Matos @ 2014-03-06 13:55 UTC (permalink / raw)
  To: gcc

Hi,

Upon noticing ira-hoist-pressure in `gcc --help=optimizers` and not ira-loop-pressure,
I am wondering why the latter is not marked as an Optimization in common.opt:

fira-loop-pressure
Common Report Var(flag_ira_loop_pressure)
Use IRA based register pressure calculation
in RTL loop optimizations.

Should we mark it as such?

Cheers,

Paulo Matos



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: ira-loop-pressure not marked as optimization?
  2014-03-06 13:55 ira-loop-pressure not marked as optimization? Paulo Matos
@ 2014-03-06 15:16 ` Vladimir Makarov
  2014-03-06 20:15   ` Paulo J. Matos
  0 siblings, 1 reply; 6+ messages in thread
From: Vladimir Makarov @ 2014-03-06 15:16 UTC (permalink / raw)
  To: Paulo Matos, gcc

On 03/06/2014 08:55 AM, Paulo Matos wrote:
> Hi,
>
> Upon noticing ira-hoist-pressure in `gcc --help=optimizers` and not ira-loop-pressure,
> I am wondering why the latter is not marked as an Optimization in common.opt:
>
> fira-loop-pressure
> Common Report Var(flag_ira_loop_pressure)
> Use IRA based register pressure calculation
> in RTL loop optimizations.
>
> Should we mark it as such?
>
>
It is not an optimization strictly speaking.  It is a better register
pressure calculation used for invariant loop motion decisions.

On the other hand, using this option can improve generated code
performance (e.g. as I remember it improved SPECFP2000 by 1% for
ppc64).  So I guess, it should mark as such in order to see this
possibility to improve the code by a programmer.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: ira-loop-pressure not marked as optimization?
  2014-03-06 15:16 ` Vladimir Makarov
@ 2014-03-06 20:15   ` Paulo J. Matos
  2014-03-06 21:03     ` Vladimir Makarov
  0 siblings, 1 reply; 6+ messages in thread
From: Paulo J. Matos @ 2014-03-06 20:15 UTC (permalink / raw)
  To: gcc

On 06/03/14 15:15, Vladimir Makarov wrote:
> On 03/06/2014 08:55 AM, Paulo Matos wrote:
>> Hi,
>>
>> Upon noticing ira-hoist-pressure in `gcc --help=optimizers` and not ira-loop-pressure,
>> I am wondering why the latter is not marked as an Optimization in common.opt:
>>
>> fira-loop-pressure
>> Common Report Var(flag_ira_loop_pressure)
>> Use IRA based register pressure calculation
>> in RTL loop optimizations.
>>
>> Should we mark it as such?
>>
>>
> It is not an optimization strictly speaking.  It is a better register
> pressure calculation used for invariant loop motion decisions.
>
> On the other hand, using this option can improve generated code
> performance (e.g. as I remember it improved SPECFP2000 by 1% for
> ppc64).  So I guess, it should mark as such in order to see this
> possibility to improve the code by a programmer.
>
>

I have just run a few long benchmarks and even though I had high 
expectations for improving performance the flag in our port causes a ~3% 
degradation in performance. Haven't had time to investigate why.

Still, would you accept a patch to mark this flag as an optimization?

-- 
PMatos

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: ira-loop-pressure not marked as optimization?
  2014-03-06 20:15   ` Paulo J. Matos
@ 2014-03-06 21:03     ` Vladimir Makarov
  2014-03-06 21:08       ` Paulo Matos
  2014-03-06 23:45       ` Paulo J. Matos
  0 siblings, 2 replies; 6+ messages in thread
From: Vladimir Makarov @ 2014-03-06 21:03 UTC (permalink / raw)
  To: Paulo J. Matos, gcc

On 03/06/2014 03:14 PM, Paulo J. Matos wrote:
> On 06/03/14 15:15, Vladimir Makarov wrote:
>> On 03/06/2014 08:55 AM, Paulo Matos wrote:
>>> Hi,
>>>
>>> Upon noticing ira-hoist-pressure in `gcc --help=optimizers` and not
>>> ira-loop-pressure,
>>> I am wondering why the latter is not marked as an Optimization in
>>> common.opt:
>>>
>>> fira-loop-pressure
>>> Common Report Var(flag_ira_loop_pressure)
>>> Use IRA based register pressure calculation
>>> in RTL loop optimizations.
>>>
>>> Should we mark it as such?
>>>
>>>
>> It is not an optimization strictly speaking.  It is a better register
>> pressure calculation used for invariant loop motion decisions.
>>
>> On the other hand, using this option can improve generated code
>> performance (e.g. as I remember it improved SPECFP2000 by 1% for
>> ppc64).  So I guess, it should mark as such in order to see this
>> possibility to improve the code by a programmer.
>>
>>
>
> I have just run a few long benchmarks and even though I had high
> expectations for improving performance the flag in our port causes a
> ~3% degradation in performance. Haven't had time to investigate why.
>


Strange.  What port is this?  Can I see the benchmarks.  I know Pat
Haugen from IBM found a bug which can generated worse code in some cases
and has a fix.  I hope Pat submits it on stage 1.
 
> Still, would you accept a patch to mark this flag as an optimization?
>
I think we should.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: ira-loop-pressure not marked as optimization?
  2014-03-06 21:03     ` Vladimir Makarov
@ 2014-03-06 21:08       ` Paulo Matos
  2014-03-06 23:45       ` Paulo J. Matos
  1 sibling, 0 replies; 6+ messages in thread
From: Paulo Matos @ 2014-03-06 21:08 UTC (permalink / raw)
  To: Vladimir Makarov, gcc

On 06/03/14 21:03, Vladimir Makarov wrote:
> On 03/06/2014 03:14 PM, Paulo J. Matos wrote:
>>
>> I have just run a few long benchmarks and even though I had high
>> expectations for improving performance the flag in our port causes a
>> ~3% degradation in performance. Haven't had time to investigate why.
>>
>
>
> Strange.  What port is this?  Can I see the benchmarks.  I know Pat
> Haugen from IBM found a bug which can generated worse code in some cases
> and has a fix.  I hope Pat submits it on stage 1.
>

Vladimir, unfortunately I cannot send the benchmarks as they are private 
customer code. However, I will investigate the degradation and try to 
find a case which I can reduce and post on the list.

The port is for an internal Broadcom chip, SIMD/VLIW sharing some 
similarities and technical issues from a compiler point of view as IA-64.

>> Still, would you accept a patch to mark this flag as an optimization?
>>
> I think we should.
>

I will submit a patch to gcc-patches.

Thanks,

-- 
Paulo Matos

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: ira-loop-pressure not marked as optimization?
  2014-03-06 21:03     ` Vladimir Makarov
  2014-03-06 21:08       ` Paulo Matos
@ 2014-03-06 23:45       ` Paulo J. Matos
  1 sibling, 0 replies; 6+ messages in thread
From: Paulo J. Matos @ 2014-03-06 23:45 UTC (permalink / raw)
  To: gcc

On 06/03/14 21:03, Vladimir Makarov wrote:
> On 03/06/2014 03:14 PM, Paulo J. Matos wrote:
>> Still, would you accept a patch to mark this flag as an optimization?
>>
> I think we should.
>
>

Submitted to gcc-patches for approval.

-- 
PMatos

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-03-06 23:45 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-03-06 13:55 ira-loop-pressure not marked as optimization? Paulo Matos
2014-03-06 15:16 ` Vladimir Makarov
2014-03-06 20:15   ` Paulo J. Matos
2014-03-06 21:03     ` Vladimir Makarov
2014-03-06 21:08       ` Paulo Matos
2014-03-06 23:45       ` Paulo J. Matos

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).