On 11/25/09 07:34, Amker.Cheng wrote:
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.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?
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
