ia64.c (ia64_internal_sched_reorder): Emit stop bit before asm as needed.
authorRichard Henderson <rth@redhat.com>
Sun, 19 Aug 2001 02:46:30 +0000 (19:46 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Sun, 19 Aug 2001 02:46:30 +0000 (19:46 -0700)
        * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
        bit before asm as needed.

From-SVN: r45018

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

index 30b7c23d9ff4d522294e4829ce50d01bcc7878b5..c77f0f37bed27e910c113c8d4628fd9634bb527d 100644 (file)
@@ -1,3 +1,8 @@
+2001-08-18  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
+       bit before asm as needed.
+
 2001-08-18  Richard Henderson  <rth@redhat.com>
 
        * timevar.def (TV_MACH_DEP): New.
index 52fc6e504f253eeaea16a22127eeaf509d154a9b..a8070de82f4480b2c91a23cc020da1aa93bdad52 100644 (file)
@@ -6114,6 +6114,12 @@ ia64_internal_sched_reorder (dump, sched_verbose, ready, pn_ready,
   else if (n_ready > 0)
     {
       /* Only asm insns left.  */
+      if (ia64_final_schedule && group_barrier_needed_p (ready[n_ready - 1]))
+       {
+         schedule_stop (sched_verbose ? dump : NULL);
+         sched_data.last_was_stop = 1;
+         maybe_rotate (sched_verbose ? dump : NULL);
+       }
       cycle_end_fill_slots (sched_verbose ? dump : NULL);
       return 1;
     }