]> gcc.gnu.org Git - gcc.git/commitdiff
reg-stack.c (subst_stack_regs_pat): Handle correctly USEs of dead registers.
authorJan Hubicka <jh@suse.cz>
Mon, 24 Jan 2000 18:58:32 +0000 (19:58 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Mon, 24 Jan 2000 18:58:32 +0000 (18:58 +0000)
* reg-stack.c (subst_stack_regs_pat): Handle correctly USEs of
dead registers.

From-SVN: r31588

gcc/ChangeLog
gcc/reg-stack.c

index 5b4d3ea42d9c7c3647dd921cbdda96006cb746a2..a04ed4fc4babd9e40201c46f039109c61cae47c1 100644 (file)
@@ -1,3 +1,8 @@
+Mon Jan 24 19:49:47 MET 2000  Jan Hubicka  <jh@suse.cz>
+
+       * reg-stack.c (subst_stack_regs_pat): Handle correctly USEs of
+       dead registers.
+
 Mon Jan 24 17:37:31 MET 2000  Jan Hubicka  <jh@suse.cz>
 
        * i386.h (FIRST_PSEUDO_REGISTER): Set to 21.
index 45ef11c5ce35a0e37b194799fe48ca074f607af5..2edd57906cd8f3ca78a36e7abf760448a46352d2 100644 (file)
@@ -1383,24 +1383,12 @@ subst_stack_regs_pat (insn, regstack, pat)
       if (STACK_REG_P (*src) 
           && find_regno_note (insn, REG_DEAD, REGNO (*src)))
         {
-          /* In stupid allocation the USE might be used to extend lifetime
-             of variable to given scope.  This may end up as USE of dead
-             register.  */
-          if (optimize || get_hard_regnum (regstack, *src) != -1)
-            emit_pop_insn (insn, regstack, *src, EMIT_AFTER);
+          emit_pop_insn (insn, regstack, *src, EMIT_AFTER);
           return;
         }
+      /* ??? Uninitialized USE should not happen.  */
       else if (get_hard_regnum (regstack, *src) == -1)
-       {
-          if (optimize)
-            abort();
-          if (GET_CODE (PATTERN (insn)) != USE)
-            abort();
-          PATTERN (insn) = gen_rtx_SET (GET_MODE (*src), *src,
-                                        CONST0_RTX (GET_MODE (*src)));
-          subst_stack_regs_pat (insn, regstack, PATTERN (insn));
-          return;
-       }
+       abort();
       break;
 
     case CLOBBER:
This page took 0.084214 seconds and 5 git commands to generate.