haifa

Jason Eckhardt jle@cygnus.com
Mon Apr 10 08:32:00 GMT 2000


>
>
>Subject: haifa
>From: Dragos BADEA <badrian@ss.pub.ro>
>Date: Thu, 6 Apr 2000 19:27:35 +0300 (EET DST)
>
>  Hi!
>
>    Could you tell me please which is the state of art of the haifa
>scheduler - or is there some documentation on it ...?

  Without going into great detail, the haifa scheduler uses a limited form of
  global (inter-block) scheduling.
  That is, it can only perform scheduling motions between control-equivalent
  blocks as well as some speculative motions. It does not perform any motions
  that would require compensation copies during scheduling, such as movement
  below splits or above joins.
  The actual scheduling of instructions is done by a simple, non-backtracking,
  forward list scheduler.

  This inter-block scheme is one of the least aggressive approaches to global
  scheduling, but is easier to implement than other schemes and is at
  least some improvement over intra-block scheduling. 
  
>    Is it supposed to do the scheduling all by itself or together with
>the old scheduler? Does it need some new machine description macros etc.?

  It performs all scheduling itself. Intra-block scheduling (that used to be
  performed by the old scheduler) is a subset of haifa's functionality.

  regards, jason.





More information about the Gcc mailing list