------- Comment #2 from ubizjak at gmail dot com 2007-01-13 23:43 ------- (In reply to comment #1)
> > Combine pass then creates: > > (insn 15 14 16 2 (parallel [ > (set (reg:SI 58 [ temp.27 ]) > (plus:SI (reg/v:SI 62 [ y ]) > (mem:SI (reg/v/f:DI 61 [ x ]) [2 S4 A32]))) > (clobber (reg:CC 17 flags)) > ]) 207 {*addsi_1} (insn_list:REG_DEP_TRUE 6 (insn_list:REG_DEP_TRUE 7 > (nil))) > (expr_list:REG_UNUSED (reg:CC 17 flags) > (expr_list:REG_DEAD (reg/v:SI 62 [ y ]) > (nil)))) > > (insn 16 15 40 2 (set (mem:SI (reg/v/f:DI 61 [ x ]) [2 S4 A32]) > (reg:SI 58 [ temp.27 ])) 40 {*movsi_1} (insn_list:REG_DEP_TRUE 15 > (nil)) > (expr_list:REG_DEAD (reg/v/f:DI 61 [ x ]) > (nil))) > > (insn 40 16 41 2 (set (reg:CCGOC 17 flags) > (compare:CCGOC (reg:SI 58 [ temp.27 ]) > (const_int 0 [0x0]))) 3 {*cmpsi_ccno_1} (nil) > (expr_list:REG_DEAD (reg:SI 58 [ temp.27 ]) > (nil))) Huh, is there any reason why insn 40 does not have any insn links?? It should link to insn 15 as it uses reg 58. This is also seen in .140r.life1 pass. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30455