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