Prasad, Kamal R wrote:
Hello,
Can someone tell me the back-end optimizations available for itanium
(IA64)?
We (HP) may be able to contribute to this from our side.
To add to the summary Vlad already did, you may want to take a look at
the notes from the last meeting of the Gelato GCC Itanium group in
Moscow available at http://gcc.gelato.org/MeetingNotes. This is a good
summary of what is considered the most important works for Itanium in
GCC. More information about the meeting is at
http://gcc.gelato.org/MoscowMeeting.
Our team is currently focused on performance tuning and compile time
improvement of the new scheduler for Itanium, available on the sel-sched
branch. As of data dependence propagation, there will be a Google SoC
project about this; I hope to have more data in a few weeks to discuss.
I have sent a patch to fix modulo scheduling on Itanium some time ago.
It was considered acceptable by IBM folks, and I think that it will go
in with the other fixes done by them, but I don't know the details.
Also, Dmitry Zhurikhin from our team tried to use resource-aware
constraints in modulo scheduling for his MS thesis, which worked for two
tests from SPEC. He will work on better heuristics for scheduling in
another SoC project this summer.
I would also suggest to tune default parameters of some optimizations
for Itanium. For example, there was a patch from Canqun Yang about
increasing prefetching parameters for Itanium, which produced much
better results than the default values. However, that was for the old
RTL prefetch pass, which is replaced by the tree ssa implementation done
by Zdenek. Inlining parameters for Itanium can be more aggressive too.
This kind of work is quite simple, but requires a lot of machine
resources, and people usually don't have access to many Itaniums. (We
have only two, for example.) So maybe you can help here.
Andrey