OSDN Git Service

* local-alloc.c (block_alloc): Do not try to avoid false dependencies
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 24 Jun 1998 21:49:34 +0000 (21:49 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 24 Jun 1998 21:49:34 +0000 (21:49 +0000)
        when SMALL_REGISTER_CLASSES is nonzero.
Fixes x86 performance regression.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20704 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/local-alloc.c

index 2e7b800..e6bfeb5 100644 (file)
@@ -1,3 +1,8 @@
+Wed Jun 24 22:44:22 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * local-alloc.c (block_alloc): Do not try to avoid false dependencies
+       when SMALL_REGISTER_CLASSES is nonzero.
+
 Wed Jun 24 17:55:15 1998  Klaus Kaempf  <kkaempf@progis.de>
 
        * alpha.md (call_vms, call_value_vms): Strip leading * from symbol.
index 960e83b..53a3b79 100644 (file)
@@ -1448,7 +1448,9 @@ block_alloc (b)
                 This optimization is only appropriate when we will run
                 a scheduling pass after reload and we are not optimizing
                 for code size.  */
-             if (flag_schedule_insns_after_reload && !optimize_size)
+             if (flag_schedule_insns_after_reload
+                 && !optimize_size
+                 && !SMALL_REGISTER_CLASSES)
                {
                
                  qty_phys_reg[q] = find_free_reg (qty_min_class[q], 
@@ -1467,7 +1469,9 @@ block_alloc (b)
 
 #ifdef INSN_SCHEDULING
          /* Similarly, avoid false dependencies.  */
-         if (flag_schedule_insns_after_reload && !optimize_size
+         if (flag_schedule_insns_after_reload
+             && !optimize_size
+             && !SMALL_REGISTER_CLASSES
              && qty_alternate_class[q] != NO_REGS)
            qty_phys_reg[q] = find_free_reg (qty_alternate_class[q],
                                             qty_mode[q], q, 0, 0,