DFA quantitative slot restriction

Dan Towner dant@picochip.com
Wed Nov 13 07:10:00 GMT 2002


Hi all,

I am using the DFA scheduler to target a VLIW processor. The processor 
has 3 slots, plus a special immediate constant slot. The constant slot 
may be used by any *one* of the other three slots.

I want to be able to restrict the VLIW packet to use no more than 3 of 
the 4 slot resources (e.g., 3 instructions, without a constant, or 2 
instructions, one of which uses a constant). Setting ISSUE_RATE to 3 
won't work though, because there one instruction might use two slots. I 
thought about using the TARGET_SCHED_VARIABLE_ISSUE hook, but this won't 
work either, for the same reason. For example, if 2 instructions have 
been issued already, then another 1 instruction can be issued, so long 
as it doesn't contain a constant. However, the VARIABLE_ISSUE hook might 
work if it knew what instruction was about to be scheduled. Is it safe 
to store a reference to the ready list, so that the next instruction can 
be examined (e.g., in SCHED_REORDER)? I am using the 
MULTIPASS_DFA_LOOKAHEAD as well - would storing a reference to the ready 
list in SCHED_REORDER invalidate some of the assumptions of DFA_LOOKAHEAD?

Thanks,

Dan.

=============================================================================
Daniel Towner
picoChip Designs Ltd., Riverside Buildings, 108, Walcot Street, BATH, 
BA1 5BG
dant@picochip.com
07786 702589




More information about the Gcc mailing list