On 11/07/2012 12:08 PM, Paulo Matos wrote: > >> -----Original Message----- >> From: Bernd Schmidt [mailto:ber...@codesourcery.com] >> Sent: 07 November 2012 10:48 >> To: Paulo Matos >> Cc: gcc@gcc.gnu.org >> Subject: Re: Defining scheduling resource constraint >> >> Yes... I seem to remember the documentation is just wrong for that hook >> (and the interface is somewhat broken). As you noted, you can't just >> remove insns from the ready list without moving them somewhere else. >> > > But if I can't remove an insn from the ready list (by 'remove' I mean > reorder such that gcc understands that the insn should be postponed > to the next cycle) in the reorder hook, I will give the adjust > priorities hook a try and maybe here I can ensure that two insns that > write to the same registers do not have the same priority.
You can effectively remove it by returning zero if all the insns on the ready list would cause a conflict. The scheduler will then force the next cycle. Seriously, all this exists in c6x.c, you just need to copy that code. Bernd