9 Nov 06 notes from GCC improvement for Itanium conference call

Vladimir Makarov vmakarov@redhat.com
Tue Nov 21 15:42:00 GMT 2006


Vladimir Yanovsky wrote:

>> You may want to be aware of this:
>> http://gcc.gnu.org/wiki/SwingModuloScheduling
>> It could be related.
>>
>> Vladimir
>>
>>
>> >Comments by Vladimir:
>> >---------------------
>> >About software pipelining for Itanium: It is completely broken, more
>> >accurately it never worked for Itanium. Because it is very (probably
>> >most) important optimization for Itanium, after making SP working it
>> >should be switched on by default at least for Itanium to keep it
>> >working.  GCC has a lot of optimizations which are not on by default
>> >and they have tendency to be broken sometime.
>
>
>
> I'm not sure whether Vladimir Makarov's comment above refers to modulo
> scheduling (which is a special case of software pipelining) or to the 
> RCSP
> (resource-constrained software pipelining). Anyhow, what I really 
> meant to
> cite from the original note is this:
>
That comment was about SMS.  Last time when I tried SMS for Itanium on 
SPEC2000 a few monts ago, a lot of tests did not work.  As RCSP I don't 
think we need this.  It is too complicated algorithm.  Mainstream 
approach is modulo scheduling.  I hope people from ISP RAS will 
implement enhanced software pipleining (as part of their new insn 
scheduler) as a complimentary software pipelining algorithm for loops 
with branches.

Imho the big problem of implementing software pipelining in gcc 
environment is passes working after the MS and changing the pipelined 
code.  SMS is actually good for gcc because it makes register allocator 
changes (when register pressure is high) is less frequent. 
 Unfortunately reload (ant other subsequent passes) does other 
transformations too (not only spilling registers when the pressure is 
high).  But as Dorit wrote in her email SMS works well at least for PPC.

>
>> We also plan to fix swing modulo scheduling to make it work on ia64
>> and improve it by propagating data dependency information to RTL. We
>> plan to discuss this project on the GCC mailing list in a few weeks.
>
>
>




More information about the Gcc mailing list