Undo one misguided optimization attempt in previous change.
authorBernd Schmidt <bernds@cygnus.co.uk>
Tue, 14 Dec 1999 12:40:02 +0000 (12:40 +0000)
committerBernd Schmidt <crux@gcc.gnu.org>
Tue, 14 Dec 1999 12:40:02 +0000 (12:40 +0000)
From-SVN: r30915

gcc/ChangeLog
gcc/reload1.c

index 91bb220223661c108001e3dab53fdc7b8e964372..a4423d0cf18f032e6a21bb8ef98d04178cb02f3f 100644 (file)
@@ -1,5 +1,8 @@
 1999-12-14  Bernd Schmidt  <bernds@cygnus.co.uk>
 
+       * reload1.c (reload): Can't avoid select_reload_regs/finish_spills
+       if something changed.  Back out that part of yesterday's changes.
+
        * loop.c (loop_max_reg): New static variable.
        (loop_optimize): Initialize it.  Eliminate one unnecessary call to
        max_reg_num.
index 4bdcaf8de9df34165e8f6d27f75c6acd272bcf13..bedcebb5d16221c76a8970c92861e6b6c57c0e16 100644 (file)
@@ -948,18 +948,13 @@ reload (first, global, dumpfile)
            }
       }
 
-      /* No point in trying to select reload registers if we know we're
-        going to re-run everything again.  */
-      if (! something_changed)
-       {
-         select_reload_regs (dumpfile);
+      select_reload_regs (dumpfile);
+      if (failure)
+       goto failed;
 
-         if (failure)
-           goto failed;
+      if (insns_need_reload != 0 || did_spill)
+       something_changed |= finish_spills (global, dumpfile);
 
-         if (insns_need_reload != 0 || did_spill)
-           something_changed |= finish_spills (global, dumpfile);
-       }
       if (! something_changed)
        break;