public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* gcc on IA64 platform
@ 2008-05-20  6:58 Tadas V
  2008-05-20  8:17 ` Andrey Belevantsev
  0 siblings, 1 reply; 4+ messages in thread
From: Tadas V @ 2008-05-20  6:58 UTC (permalink / raw)
  To: gcc

Hello,

I am a computer science student and currently I am preparing my master
degree final work on "Compiler optimization on IA64 platforms". So
could you provide some information to me what is the the current
situation with gcc and IA64 platfrom - I mean what are open
optimization issues and so on. After googling a while I found this
document http://gcc.gnu.org/projects/ia64.html and I would like to
know if this information is up-to-date. Looking forward to hearing
from you. Thank you in advance.

Best regards

Tadas V.

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

* Re: gcc on IA64 platform
  2008-05-20  6:58 gcc on IA64 platform Tadas V
@ 2008-05-20  8:17 ` Andrey Belevantsev
  2008-05-20 11:25   ` Gerald Pfeifer
  0 siblings, 1 reply; 4+ messages in thread
From: Andrey Belevantsev @ 2008-05-20  8:17 UTC (permalink / raw)
  To: Tadas V; +Cc: gcc

Hello,

Tadas V wrote:
> I am a computer science student and currently I am preparing my master
> degree final work on "Compiler optimization on IA64 platforms". So
> could you provide some information to me what is the the current
> situation with gcc and IA64 platfrom - I mean what are open
> optimization issues and so on. After googling a while I found this
> document http://gcc.gnu.org/projects/ia64.html and I would like to
> know if this information is up-to-date. Looking forward to hearing
> from you. Thank you in advance.

As you can see from the above page, it comes from the 2001 mini summit, 
so most of the projects mentioned there are already done.  Moreover, GCC 
infrastructure has been dramatically improved since then.  The current 
state can be summarized as follows:

o Alias analysis improvements mentioned on the page are done long ago. 
There are two unfinished IA-64 inspired patches concerning alias 
analysis: improvements of Sanjiv Gupta's patch tracking base+offset 
calculations on RTL done by Alexander Monakov, which we didn't manage to 
submit (see http://gcc.gnu.org/ml/gcc/2007-03/msg00148.html), and the 
patch propagating alias information from Tree SSA to RTL, which produced 
too few disambiguations and should be improved by Alexander Monakov 
during this year's Google Summer of Code.

o Data prefetching is now reimplemented on trees instead of RTL.  There 
was a project by Canqun Yang on tuning the old RTL data prefetching for 
IA-64, but AFAIK it was never ported to the new implementation.

o DFA scheduler was implemented by Vladimir Makarov and checked in long 
ago.  Bundling is now performed using DFA too, see bundling () in 
config/ia64/ia64.c.

o Profile-directed block ordering and inlining is already supported AFAIK.

o Control and data speculation are supported since GCC 4.2 as a result 
of a project of ISP RAS.  The implementation was done by Maxim Kuvyrkov.

o Extended basic block scheduling is implemented and works as a second 
scheduling pass on IA-64.  Superblock formation was also implemented on 
RTL and fairly recently moved to Tree SSA by Robert Kidd.  There is also 
  a treegion scheduling patch on the treegion branch, but it was never 
committed to mainline.

o Modulo scheduling is implemented by IBM Haifa team.  It started 
working on IA-64 since GCC 4.3 after some small bugfixes (sorry I didn't 
mention that in changes.html).  Also, there is a patch that does 
propagation of data dependency information to RTL done by Alexander 
Monakov.  It wasn't committed because there was a stage3 at that time, 
and I think it will be unified with the analogous aliasing patch 
mentioned above.

o We (ISP RAS) are currently preparing selective scheduling 
implementation, also inspired by IA64, for merge with mainline.  The 
actual code is in sel-sched-branch in the SVN repository.

o Rotating registers are not yet supported.

o Link time optimizations (LTO) is an ongoing work, you can take a look 
at LTO branch.

Also, there was a meeting of Gelato GCC group in 2006, and some 
information can be found in the minutes at 
http://gcc.gelato.org/MeetingNotes.  You can also search mailing list 
archives for similar discussions happened in the past.

Hope this helps,
Andrey


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

* Re: gcc on IA64 platform
  2008-05-20  8:17 ` Andrey Belevantsev
@ 2008-05-20 11:25   ` Gerald Pfeifer
  2008-05-20 12:42     ` Andrey Belevantsev
  0 siblings, 1 reply; 4+ messages in thread
From: Gerald Pfeifer @ 2008-05-20 11:25 UTC (permalink / raw)
  To: Andrey Belevantsev; +Cc: Tadas V, gcc

On Tue, 20 May 2008, Andrey Belevantsev wrote:
> As you can see from the above page, it comes from the 2001 mini summit, 
> so most of the projects mentioned there are already done.

Any chance you could make a pass through that page and remove those
items that you know have already been done, or separate those that
are still open and those that have been done into two different
sections?  

And thanks for the summary mail, the list of changes certainly looks
quite impressive. :-)

Gerald

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

* Re: gcc on IA64 platform
  2008-05-20 11:25   ` Gerald Pfeifer
@ 2008-05-20 12:42     ` Andrey Belevantsev
  0 siblings, 0 replies; 4+ messages in thread
From: Andrey Belevantsev @ 2008-05-20 12:42 UTC (permalink / raw)
  To: Gerald Pfeifer; +Cc: gcc

Gerald Pfeifer wrote:
> Any chance you could make a pass through that page and remove those
> items that you know have already been done, or separate those that
> are still open and those that have been done into two different
> sections?  
Sure, I would make a note to do this somewhere during stage2.

Andrey

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

end of thread, other threads:[~2008-05-20 12:42 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-05-20  6:58 gcc on IA64 platform Tadas V
2008-05-20  8:17 ` Andrey Belevantsev
2008-05-20 11:25   ` Gerald Pfeifer
2008-05-20 12:42     ` Andrey Belevantsev

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).