scheduling on VLIW architecture

Steven Bosscher stevenb.gcc@gmail.com
Thu May 6 09:57:00 GMT 2010


On Thu, May 6, 2010 at 11:47 AM, roy rosen <roy.1rosen@gmail.com> wrote:
> Hi all.
>
> I work on a VLIW architecture.
> The sched2 pass adds a TImode to insns which should start a new issue group.
> But, after this pass, other passes change the insns, so the sched2
> work that was done is not correct anymore (the groups of insns might
> be invalid).
>
> In particular I see that the compgotos pass deletes and inserts jump
> insns without being aware of the TI attributes which on my port leads
> to an error.
>
> What am I doing wrong? Should I move the sched2 pass to be the last?

Yes -- or at least this is what the ia64 back end does. See
config/ia64/ia64.c:ia64_reorg(), and look in passes.c for
pass_machine_reorg to see what else runs after pass_machine_reorg,
check if there is a pass that may still change insns for your port
(e.g. shorten-branches).

Ciao!
Steven



More information about the Gcc mailing list