On Tue, Nov 27, 2012 at 01:00:05PM +0100, Richard Biener wrote:
> 
> This removes dead code as suggested by Jakub.
> 
> Bootstrapped and tested on x86_64-unknown-linux-gnu.

Looks as partial removal only.  IMHO
  gimple_stmt_iterator gsinext = *gsi;
  gimple next_stmt;

  gsi_next (&gsinext);
  next_stmt = gsi_end_p (gsinext) ? NULL : gsi_stmt (gsinext);
can go too and
  /* Fold *& on the lhs.  Don't do this if stmt folded into nothing,
     as we'd changing the next stmt.  */
  if (gimple_has_lhs (stmt) && stmt != next_stmt)
should be:
  /* Fold *& on the lhs.  */
  if (gimple_has_lhs (stmt))

> 2012-11-27  Richard Biener  <rguent...@suse.de>
> 
>       * gimple-fold.c (fold_stmt_1): Remove unnecessary code.
> 
> Index: gcc/gimple-fold.c
> ===================================================================
> --- gcc/gimple-fold.c (revision 193839)
> +++ gcc/gimple-fold.c (working copy)
> @@ -1282,14 +1282,6 @@ fold_stmt_1 (gimple_stmt_iterator *gsi,
>      default:;
>      }
>  
> -  /* If stmt folds into nothing and it was the last stmt in a bb,
> -     don't call gsi_stmt.  */
> -  if (gsi_end_p (*gsi))
> -    {
> -      gcc_assert (next_stmt == NULL);
> -      return changed;
> -    }
> -
>    stmt = gsi_stmt (*gsi);
>  
>    /* Fold *& on the lhs.  Don't do this if stmt folded into nothing,

        Jakub

Reply via email to