This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/52173] internal compiler error: verify_ssa failed possibly caused by itm
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 21 Sep 2012 13:27:30 +0000
- Subject: [Bug middle-end/52173] internal compiler error: verify_ssa failed possibly caused by itm
- Auto-submitted: auto-generated
- References: <bug-52173-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52173
--- Comment #14 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-09-21 13:27:30 UTC ---
We have broken immediate uses of .MEM_2 (for example). Before update-ssa:
main ()
{
int a.1;
int a.0;
int i;
<bb 2>:
<bb 8>:
# i_10 = PHI <0(2)>
# .MEM_11 = PHI <.MEM_3(D)(2)>
<bb 9>:
# .MEM_4 = VDEF <.MEM_2>
__transaction_atomic // SUBCODE=[ GTMA_HAVE_LOAD GTMA_HAVE_STORE ]
...
<bb 3>:
# .MEM_12 = VDEF <.MEM_2>
__transaction_atomic // SUBCODE=[ GTMA_HAVE_LOAD GTMA_HAVE_STORE ]
...
<bb 7>:
# VUSE <.MEM_2>
return 0;
but debug_immediate_uses shows:
.MEM_2 : -->2 uses.
# VUSE <.MEM_2>
return 0;
# .MEM_12 = VDEF <.MEM_2>
__transaction_atomic // SUBCODE=[ GTMA_HAVE_LOAD GTMA_HAVE_STORE ]
that means that update_stmt didn't do its job or it wasn't called.
Aahhhh. Because in gimple_copy:
/* Make copy of operands. */
if (num_ops > 0)
{
...
/* SSA operands need to be updated. */
gimple_set_modified (copy, true);
}
there are zero (real) operands but we _do_ have virtual ops.