On 11/25/09 07:34, Amker.Cheng wrote:
Hi All :
It's possible to define multi delay slots for branch insns by using
define_delay,
and different slot should satisfy its own attribute test "delay-n".
Here comes question, in function "fill_simple_delay_slots", seems
it only uses
slots_filled to record how many slots needs to fill, and puts slot
insns already found
in delay_list. I can't find any codes keeping the information about
which insn in
delay_list belongs to which slot(defined in "define_delay"). So, how does gcc
make sure that insns in delay_list go into right delay slot?
First, it's worth noting very few targets support multiple delay slots
and as a result that code isn't tested nearly as well as handling of
single delay slots.
I'm pretty sure we assume that the first insn we add to the delay list
always goes in the first slot, 2nd insn in the 2nd slot and so-on.
Jeff