------- Comment #3 from bergner at gcc dot gnu dot org 2009-08-26 15:14 ------- Actually, they're already reordered by the time we call ira_color and the ira dumps shows that:
;; Function f (f) starting the processing of deferred insns ending the processing of deferred insns df_analyze called scanning new insn with uid = 14. verify found no changes in insn with uid = 14. deleting insn with uid = 9. Building IRA IR ... Giving us: (insn 7 4 8 2 pr41171.c:4 (set (reg:SI 121) (const_int 7 [0x7])) 344 {*movsi_internal1} (expr_list:REG_EQUIV (const_int 7 [0x7]) (nil))) (insn 8 7 14 2 pr41171.c:4 (set (mem:SI (reg:SI 3 3 [ x ]) [2 S4 A32]) (reg:SI 121)) 344 {*movsi_internal1} (expr_list:REG_DEAD (reg:SI 121) (expr_list:REG_DEAD (reg:SI 3 3 [ x ]) (expr_list:REG_EQUAL (const_int 7 [0x7]) (nil))))) (insn 14 8 10 2 pr41171.c:5 (set (reg:SI 122) (const_int 4 [0x4])) 344 {*movsi_internal1} (expr_list:REG_EQUIV (const_int 4 [0x4]) (nil))) (insn 10 14 13 2 pr41171.c:5 (set (mem:SI (reg:SI 4 4 [ y ]) [2 S4 A32]) (reg:SI 122)) 344 {*movsi_internal1} (expr_list:REG_DEAD (reg:SI 122) (expr_list:REG_DEAD (reg:SI 4 4 [ y ]) (expr_list:REG_EQUAL (const_int 4 [0x4]) (nil))))) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41171