On Thu, May 6, 2010 at 11:47 AM, roy rosen <roy.1ro...@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