http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52173
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
AssignedTo|aldyh at gcc dot gnu.org |rguenth at gcc dot gnu.org
--- Comment #15 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-09-21
13:30:06 UTC ---
I have a patch:
Index: gcc/gimple.c
===================================================================
*** gcc/gimple.c (revision 191613)
--- gcc/gimple.c (working copy)
*************** gimple_copy (gimple stmt)
*** 2333,2355 ****
}
/* Make copy of operands. */
! if (num_ops > 0)
! {
! for (i = 0; i < num_ops; i++)
! gimple_set_op (copy, i, unshare_expr (gimple_op (stmt, i)));
! /* Clear out SSA operand vectors on COPY. */
! if (gimple_has_ops (stmt))
! {
! gimple_set_def_ops (copy, NULL);
! gimple_set_use_ops (copy, NULL);
! }
! if (gimple_has_mem_ops (stmt))
! {
! gimple_set_vdef (copy, gimple_vdef (stmt));
! gimple_set_vuse (copy, gimple_vuse (stmt));
! }
/* SSA operands need to be updated. */
gimple_set_modified (copy, true);
--- 2333,2352 ----
}
/* Make copy of operands. */
! for (i = 0; i < num_ops; i++)
! gimple_set_op (copy, i, unshare_expr (gimple_op (stmt, i)));
! if (gimple_has_mem_ops (stmt))
! {
! gimple_set_vdef (copy, gimple_vdef (stmt));
! gimple_set_vuse (copy, gimple_vuse (stmt));
! }
! /* Clear out SSA operand vectors on COPY. */
! if (gimple_has_ops (stmt))
! {
! gimple_set_def_ops (copy, NULL);
! gimple_set_use_ops (copy, NULL);
/* SSA operands need to be updated. */
gimple_set_modified (copy, true);