OSDN Git Service

* haifa-sched.c (sched_analyze): Put all JUMP_INSNs on the last
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 18 Aug 1998 21:58:15 +0000 (21:58 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 18 Aug 1998 21:58:15 +0000 (21:58 +0000)
        pending memory flush list.

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

gcc/ChangeLog
gcc/haifa-sched.c

index 02b3a5f..d8c9d06 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 23a7865..0eebda9 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;
        }