------- Comment #30 from amylaar at gcc dot gnu dot org 2010-07-07 17:27 ------- (In reply to comment #28) > No, the culprit is loop header copying which causes
I also see changes in the MEM_* after loop header copying. It happens during the second call of copy_loop_header. Alas, it seems that copy_loop_header is innocent, because it gets different freed ssa name versions for debug / no debug compilation: Debug: Breakpoint 5, copy_loop_headers () at ../../gcc/gcc/tree-ssa-loop-ch.c:140 140 loop_optimizer_init (LOOPS_HAVE_PREHEADERS (gdb) call debug_tree(cfun->gimple_df->free_ssanames) <ssa_name 0xb7db20f0 nothrow var <var_decl 0xb7d97060 retval.3>def_stmt version 87 in-free-list> (gdb) call debug_tree(cfun->gimple_df->free_ssanames->common.chain) <ssa_name 0xb7dacfc0 nothrow var <var_decl 0xb7d91d80 retval.1>def_stmt version 83 in-free-list> No debug: Breakpoint 5, copy_loop_headers () at ../../gcc/gcc/tree-ssa-loop-ch.c:140 140 loop_optimizer_init (LOOPS_HAVE_PREHEADERS (gdb) call debug_tree(cfun->gimple_df->free_ssanames) <ssa_name 0xb7da5f90 nothrow var <var_decl 0xb7d95060 retval.3>def_stmt version 87 in-free-list> (gdb) call debug_tree(cfun->gimple_df->free_ssanames->common.chain) <ssa_name 0xb7da5db0 nothrow var <var_decl 0xb7d90d80 retval.1>def_stmt version 82 in-free-list> -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44832