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?
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
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.
Boris