This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
DFA quantitative slot restriction
- From: Dan Towner <dant at picochip dot com>
- To: gcc at gcc dot gnu dot org
- Date: Wed, 13 Nov 2002 13:44:29 +0000
- Subject: DFA quantitative slot restriction
- Organization: picoChip Designs Ltd.
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