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);

Reply via email to