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