Liu Haibin <[EMAIL PROTECTED]> writes: > Hi, > > I got a dump of sha.c.27.flow2 from gcc 3.4.1. I don't quite > understand the LOG_LINKS of insn 498. LOG_LINKS in insn 498 shows that > it has a data dependence (a read after write dependence) with insn 3. > Why is it so? I don't see any dependence between "mov r14 r4" and > "addi r3, r4, 28". The bottom is the whole dump of the basic block. > > (insn 3 4 11 0 (set (reg/v/f:SI 14 r14 [orig:46 sha_info ] [46]) > (reg:SI 4 r4 [ sha_info ])) 8 {movsi_internal} (nil) > (expr_list:REG_DEAD (reg:SI 4 r4 [ sha_info ]) > (nil))) > > ........ > > (insn 498 375 560 0 (set (reg/f:SI 3 r3 [235]) > (plus:SI (reg/v/f:SI 14 r14 [orig:46 sha_info ] [46]) > (const_int 28 [0x1c]))) 20 {addsi3} (insn_list 3 (nil)) > (nil))
I don't see any dependence between "mov r14,r4" and "addi r3,r4,28" either, but the insn 498 you show is actually "addi r3,r14,28", and that has a fairly obvious read-after-write dependency. Ian