From: Bernd Schmidt Date: Thu, 1 Mar 2001 14:25:30 +0000 (+0000) Subject: Rotate bundles earlier in ia64_sched_reorder X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2d1b811d7e693d0a5d3593a0593394ce4aa6a2c1;p=gcc.git Rotate bundles earlier in ia64_sched_reorder From-SVN: r40157 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c72d69ed0fa..0247ae2b117 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -5,6 +5,7 @@ (gen_nop_type): New function. (ia64_emit_nops): New function. (ia64_reorg): Call it. + (ia64_sched_reorder): Move code that rotates bundles up a bit. * reload1.c (eliminate_regs_in_insn): Restrict the special case code not to try to optimize adds with anything but a REG destination. diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index 1b49a5cd60b..2b72959bdbb 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -5665,6 +5665,15 @@ ia64_sched_reorder (dump, sched_verbose, ready, pn_ready, reorder_type) dump_current_packet (dump); } + if (reorder_type == 0) + { + if (sched_data.cur == 6) + rotate_two_bundles (sched_verbose ? dump : NULL); + else if (sched_data.cur >= 3) + rotate_one_bundle (sched_verbose ? dump : NULL); + sched_data.first_slot = sched_data.cur; + } + /* First, move all USEs, CLOBBERs and other crud out of the way. */ highest = ready[n_ready - 1]; for (insnp = ready; insnp < e_ready; insnp++) @@ -5738,15 +5747,6 @@ ia64_sched_reorder (dump, sched_verbose, ready, pn_ready, reorder_type) } } - if (reorder_type == 0) - { - if (sched_data.cur == 6) - rotate_two_bundles (sched_verbose ? dump : NULL); - else if (sched_data.cur >= 3) - rotate_one_bundle (sched_verbose ? dump : NULL); - sched_data.first_slot = sched_data.cur; - } - return itanium_reorder (sched_verbose ? dump : NULL, ready, e_ready, reorder_type == 1); }