This is the mail archive of the gcc@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]

DFA quantitative slot restriction


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



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