diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6c17ce4dd7d3b1a551bbbb1cf781bcf672bdcdfb..4bf7fa081d50a795dec6222f91ae2ffb9595b190 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2012-07-03  Nick Clifton  <nickc@redhat.com>
+
+	* config/mep/mep.c (mep_reorg_regmove): Use
+	next_nonnote_non_debug_insn to advance to the next insn.  Do not
+	expect delete_insn to return an rtx.
+
 2012-07-03  Richard Guenther  <rguenther@suse.de>
 
 	* doc/install.texi (CLooG): Clarify how CLooG needs to be
diff --git a/gcc/config/mep/mep.c b/gcc/config/mep/mep.c
index a6615edcd0b0a23811aa8214664bd8d41c48a777..2abff38186dc22c12dd9ce2ac3bca95c60be5701 100644
--- a/gcc/config/mep/mep.c
+++ b/gcc/config/mep/mep.c
@@ -5022,7 +5022,7 @@ mep_reorg_regmove (rtx insns)
       done = 1;
       for (insn = insns; insn; insn = next)
 	{
-	  next = NEXT_INSN (insn);
+	  next = next_nonnote_nondebug_insn (insn);
 	  if (GET_CODE (insn) != INSN)
 	    continue;
 	  pat = PATTERN (insn);
@@ -5035,7 +5035,7 @@ mep_reorg_regmove (rtx insns)
 	      && find_regno_note (insn, REG_DEAD, REGNO (SET_SRC (pat)))
 	      && mep_compatible_reg_class (REGNO (SET_SRC (pat)), REGNO (SET_DEST (pat))))
 	    {
-	      follow = next_nonnote_insn (insn);
+	      follow = next_nonnote_nondebug_insn (insn);
 	      if (dump_file)
 		fprintf (dump_file, "superfluous moves: considering %d\n", INSN_UID (insn));
 
@@ -5096,7 +5096,7 @@ mep_reorg_regmove (rtx insns)
 					       follow, where))
 		{
 		  count ++;
-		  next = delete_insn (insn);
+		  delete_insn (insn);
 		  if (dump_file)
 		    {
 		      fprintf (dump_file, "\n----- Success!  new insn:\n\n");