haifa-sched.c (sched_analyze): Put all JUMP_INSNs on the last pending memory flush...
authorJeffrey A Law <law@cygnus.com>
Tue, 18 Aug 1998 21:58:15 +0000 (21:58 +0000)
committerJeff Law <law@gcc.gnu.org>
Tue, 18 Aug 1998 21:58:15 +0000 (15:58 -0600)
        * haifa-sched.c (sched_analyze): Put all JUMP_INSNs on the last
        pending memory flush list.

From-SVN: r21836

gcc/ChangeLog
gcc/haifa-sched.c

index 02b3a5fe1136acb1271246d2d67363c9c7d74ed9..d8c9d06adcdcc485c40df40f151fce925533a734 100644 (file)
@@ -5,6 +5,9 @@ Tue Aug 18 12:40:27 1998  Richard Henderson  <rth@cygnus.com>
 
 Tue Aug 18 10:33:30 1998  Jeffrey A Law  (law@cygnus.com)
 
+       * haifa-sched.c (sched_analyze): Put all JUMP_INSNs on the last
+       pending memory flush list.
+
        * combine.c (can_combine_p): Allow combining insns with REG_RETVAL
        notes.
        (try_combine): Allow combining insns with REG_LIBCALL notes.
index 23a7865468e0775059eb3613726d9057af659e46..0eebda9e38a5f3b2da4982489eadb22222305ebc 100644 (file)
@@ -3813,6 +3813,10 @@ sched_analyze (head, tail)
     {
       if (GET_CODE (insn) == INSN || GET_CODE (insn) == JUMP_INSN)
        {
+         /* Make each JUMP_INSN a scheduling barrier for memory references.  */
+         if (GET_CODE (insn) == JUMP_INSN)
+           last_pending_memory_flush
+             = alloc_INSN_LIST (insn, last_pending_memory_flush);
          sched_analyze_insn (PATTERN (insn), insn, loop_notes);
          loop_notes = 0;
        }