]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
When moving asms out of the way, don't move all of them to the same place
authorBernd Schmidt <bernds@redhat.com>
Thu, 23 Aug 2001 19:27:54 +0000 (19:27 +0000)
committerBernd Schmidt <bernds@gcc.gnu.org>
Thu, 23 Aug 2001 19:27:54 +0000 (19:27 +0000)
From-SVN: r45138

gcc/ChangeLog
gcc/config/ia64/ia64.c

index a38da711de8f9e072e493f80257658dd3b819594..f58f86e74c2da70f0ee4051b0357babdb8a6444a 100644 (file)
@@ -3,6 +3,9 @@
        * config/ia64/ia64.c (rws_update): If !pred, set write_count
        instead of incrementing it.
 
+       * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
+       asm ready, don't try to move them all into the same array element.
+
 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
 
        * function.c (thread_prologue_and_epilogue_insns): Avoid
index fa73e55d467bfb04f3757efba8af8a968f8d2e1c..ea1cf10d008a65dda639d5fbd0b8dc74d5f3223b 100644 (file)
@@ -6153,8 +6153,8 @@ ia64_internal_sched_reorder (dump, sched_verbose, ready, pn_ready,
            if (GET_CODE (PATTERN (insn)) == ASM_INPUT
                || asm_noperands (PATTERN (insn)) >= 0)
              {
-               rtx lowest = ready[0];
-               ready[0] = insn;
+               rtx lowest = ready[n_asms];
+               ready[n_asms] = insn;
                *insnp = lowest;
                n_asms++;
              }