------- Comment #9 from steven at gcc dot gnu dot org 2005-12-17 18:23 ------- Breakpoint 7, compute_transp (x=0x4021557c, indx=0, bmap=0x894e1b8, set_p=0) at gcse.c:2500 2500 rtx list_entry = canon_modify_mem_list[bb_index]; (gdb) p debug_rtx(x) (mem/s/j:SI (plus:SI (reg/f:SI 20 frame) (const_int -8 [0xfffffff8])) [0 <variable>._M_impl._M_start_node+0 S4 A32]) $33 = void (gdb) next 2502 while (list_entry) (gdb) 2509 dest = XEXP (list_entry, 0); (gdb) 2510 list_entry = XEXP (list_entry, 1); (gdb) 2511 dest_addr = XEXP (list_entry, 0); (gdb) 2513 if (canon_true_dependence (dest, GET_MODE (dest), dest_addr, (gdb) 2522 list_entry = XEXP (list_entry, 1); (gdb) p debug_rtx(x) (mem/s/j:SI (plus:SI (reg/f:SI 20 frame) (const_int -8 [0xfffffff8])) [0 <variable>._M_impl._M_start_node+0 S4 A32]) $34 = void (gdb) p debug_rtx(dest) (mem/s/j/c:SI (plus:SI (reg/f:SI 20 frame) (const_int -8 [0xfffffff8])) [0 clusters.D.1846._M_impl._M_finish_cur+0 S4 A32]) $35 = void (gdb)
so (mem/s/j/c:SI (plus:SI (reg/f:SI 20 frame) (const_int -8 [0xfffffff8]))) and (mem/s/j/c:SI (plus:SI (reg/f:SI 20 frame) (const_int -8 [0xfffffff8]))) don't conflict... But frame is not changed in the function, so surely this is wrong? (Maybe this is obvious to people with better RTL-fu than me, so don't be too harsh on me ;-) -- steven at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |alias http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25130