From 8648fb5b03fb2fdc01cc8c1bdb994928e173817e Mon Sep 17 00:00:00 2001
From: law <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Tue, 22 Dec 1998 23:13:41 +0000
Subject: [PATCH] Wed Dec 23 00:10:01 1998  Jeffrey A Law  (law@cygnus.com)    
     * toplev.c (rest_of_compilation): Do not set reload_completed.         *
 reload1.c (reload): Set reload_completed before calling        
 cleanup_subreg_operands.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24400 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/ChangeLog | 6 ++++++
 gcc/reload1.c | 5 +++++
 gcc/toplev.c  | 2 --
 3 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fd7492607e63..0384fbc25a2c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+Wed Dec 23 00:10:01 1998  Jeffrey A Law  (law@cygnus.com)
+
+	* toplev.c (rest_of_compilation): Do not set reload_completed.
+	* reload1.c (reload): Set reload_completed before calling
+	cleanup_subreg_operands.
+
 Tue Dec 22 23:58:31 1998  Richard Henderson  <rth@cygnus.com>
 
 	* reload1.c (emit_reload_insns): Check `set' not null before use.
diff --git a/gcc/reload1.c b/gcc/reload1.c
index e8bb5fe3e535..b4cb69cc19d5 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -1116,6 +1116,11 @@ reload (first, global, dumpfile)
 	}
     }
 
+  /* We must set reload_completed now since the cleanup_subreg_operands call
+     below will re-recognize each insn and reload may have generated insns
+     which are only valid during and after reload.  */
+  reload_completed = 1;
+
   /* Make a pass over all the insns and delete all USEs which we inserted
      only to tag a REG_EQUAL note on them.  Remove all REG_DEAD and REG_UNUSED
      notes.  Delete all CLOBBER insns and simplify (subreg (reg)) operands.
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 5e586b839981..5608af6e43e5 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -3967,8 +3967,6 @@ rest_of_compilation (decl)
   if (failure)
     goto exit_rest_of_compilation;
 
-  reload_completed = 1;
-
   /* Do a very simple CSE pass over just the hard registers.  */
   if (optimize > 0)
     reload_cse_regs (insns);
-- 
GitLab