From e100a3bb5d681607423d4aa1b541c1e46b047e8b Mon Sep 17 00:00:00 2001
From: Michael Meissner <meissner@gcc.gnu.org>
Date: Thu, 11 May 1995 13:46:51 +0000
Subject: [PATCH] Eliminate dead code caused by last patch

From-SVN: r9618
---
 gcc/flow.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/gcc/flow.c b/gcc/flow.c
index 1143e53a3ea6..a39b66881cb5 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -2382,20 +2382,15 @@ mark_used_regs (needed, live, x, final, insn)
 	      != GET_MODE_SIZE (GET_MODE (SUBREG_REG (x)))))
 	reg_changes_size[REGNO (SUBREG_REG (x))] = 1;
 
-      /* In case the SUBREG is not of a register, don't optimize */
-      if (GET_CODE (SUBREG_REG (x)) != REG)
-	{
-	  mark_used_regs (needed, live, SUBREG_REG (x), final, insn);
-	  return;
-	}
-
       /* While we're here, optimize this case.  */
       x = SUBREG_REG (x);
 
-      /* Must verify that it is a register, since the RS/6000 port has
-	 (subreg:QI (lshift:SI ...)).  */
+      /* In case the SUBREG is not of a register, don't optimize */
       if (GET_CODE (x) != REG)
-	goto retry;
+	{
+	  mark_used_regs (needed, live, x, final, insn);
+	  return;
+	}
 
       /* ... fall through ... */