]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
* config/ms1/ms1.c (ms1_reorg_hazard): Don't count noop moves.
authorNathan Sidwell <nathan@codesourcery.com>
Thu, 1 Dec 2005 15:03:23 +0000 (15:03 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Thu, 1 Dec 2005 15:03:23 +0000 (15:03 +0000)
From-SVN: r107821

gcc/ChangeLog
gcc/config/ms1/ms1.c

index 17808f0f73875841b2cb431d1e749d05c30f6449..28a1856011ce62087dec4b6c0c9f29c5c9e9d462 100644 (file)
@@ -1,5 +1,7 @@
 2005-12-01  Nathan Sidwell  <nathan@codesourcery.com>
 
+       * config/ms1/ms1.c (ms1_reorg_hazard): Don't count noop moves.
+
        * vec.h (VEC_block_remove): New.
 
 2005-12-01  Gabriel Dos Reis  <gdr@integrable-solutions.net>
index 19f02a1c7469d67a405d583ed02a60ef08a13d47..9bc5138d4c3bdc90719ecf798086cbdc9f31b25b 100644 (file)
@@ -1915,7 +1915,16 @@ ms1_reorg_hazard (void)
                      break;
                    }
                }
-             count -= INSN_CODE (prev) >= 0;
+
+             if (INSN_CODE (prev) >= 0)
+               {
+                 rtx set = single_set (prev);
+
+                 /* A noop set will get deleted in a later split pass,
+                    so we can't count on it for hazard avoidance.  */
+                 if (!set || !set_noop_p (set))
+                   count--;
+               }
            }
 
          if (rescan)