Haifa: Why? Why not?
Jeffrey A Law
law@cygnus.com
Sat Jan 10 21:39:00 GMT 1998
In message < Pine.GSO.3.92.980108084800.24745A-100000@johnson.cs.nyu.edu >you w
rite:
> Hi,
>
> Could somebody give me a brief pro and con for using the "enable haifa"
> option? I would be using this on a sparc-sun-solaris version 2.5.1.
Haifa has two main goals:
* Better scheduling for superscalar architectures. To actually get the
most out of haifa old hacks done to make the old scheduler generate
reasonable code must be removed. In the development tree, the PA,
rs6000 and alpha I think have been tuned in this manner for haifa.
* Better scheduling by allowing cross block scheduling of the critical
path. However, the superscalar issues tend to dominate cross block
scheduling improvements.
I was seeing ~8% performance improvement for floating point code on PAs.
Are there any risks? Just the typical ones when using relatively new
code. I'm not aware of any code generation bugs in the haifa scheduler.
Haifa is a configure time option.
scheduling passes (in general) are runtime options.
jeff
More information about the Gcc
mailing list