diff options
author | Bernd Schmidt <bernds@redhat.com> | 2001-03-01 14:25:30 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2001-03-01 14:25:30 +0000 |
commit | 2d1b811d7e693d0a5d3593a0593394ce4aa6a2c1 (patch) | |
tree | 80726c359bbb796183b313f2c8ba871a69680f43 /gcc | |
parent | 7a87c39c565d48bdf978027c77672de58eeff6fc (diff) | |
download | gcc-2d1b811d7e693d0a5d3593a0593394ce4aa6a2c1.zip gcc-2d1b811d7e693d0a5d3593a0593394ce4aa6a2c1.tar.gz gcc-2d1b811d7e693d0a5d3593a0593394ce4aa6a2c1.tar.bz2 |
Rotate bundles earlier in ia64_sched_reorder
From-SVN: r40157
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 1 | ||||
-rw-r--r-- | gcc/config/ia64/ia64.c | 18 |
2 files changed, 10 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c72d69e..0247ae2 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 1b49a5c..2b72959 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); } |