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