(get_last_value): Never use value from later insn, even if reg is only
authorRichard Kenner <kenner@gcc.gnu.org>
Thu, 10 Dec 1992 17:45:01 +0000 (12:45 -0500)
committerRichard Kenner <kenner@gcc.gnu.org>
Thu, 10 Dec 1992 17:45:01 +0000 (12:45 -0500)
set once.

From-SVN: r2856

gcc/combine.c

index 8d1a845ffefd27c780607c32b245aa27317a57f5..9632ab294a2c2f3ada97132cbe01f5c22ec9caa4 100644 (file)
@@ -8803,12 +8803,11 @@ get_last_value (x)
     return 0;
 
   /* If the value was set in a later insn that the ones we are processing,
-     we can't use it, but make a quick check to see if the previous insn
-     set it to something.  This is commonly the case when the same pseudo
-     is used by repeated insns.  */
+     we can't use it even if the register was only set once, but make a quick
+     check to see if the previous insn set it to something.  This is commonly
+     the case when the same pseudo is used by repeated insns.  */
 
-  if (reg_n_sets[regno] != 1
-      && INSN_CUID (reg_last_set[regno]) >= subst_low_cuid)
+  if (INSN_CUID (reg_last_set[regno]) >= subst_low_cuid)
     {
       rtx insn, set;