This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Scheduling and inserting NOPs


Boris Boesler writes:
 > 
 > Am 22.11.2007 um 17:28 schrieb Andrew Haley:
 > 
 > > I'd still do what I suggested: walk the instruction list inserting
 > > NOPs, first based on the information from sched, and if that doesn't
 > > work out because stuff has moved, just count instructions to make sure
 > > you don't violate the constraints.
 > 
 >   Where is the sched info?

You just told me that "someone simply stored cycle and insn (recorded
in TARGET_SCHED_REORDER) in a hash-table and reused this info in
TARGET_MACHINE_DEPENDENT_REORG."  That info.

 >   I'm following another approach:
 >   I "cache" the last n insns and check with my bypass guard function  
 > if the bypass will be ignored. If the bypass will be ignored then I  
 > have to insert NOPs. This works basically, but there are two obstacles:

 > 1) in the future I have to check the scheduling across basic block  
 > boundaries

Ooh, that really is nasty; you'll need the CFG for that.

 > 2) the approach fails if instruction fill a branch delay slots; NOPs  
 > are not inserted at all because I can't handle the sequence at the  
 > moment.

I suspect this is what Ian was referring to.  In any case, you're well
on the way now, by the sounds of it.

Andrew.

-- 
Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SL4 1TE, UK
Registered in England and Wales No. 3798903


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]