aboutsummaryrefslogtreecommitdiff
path: root/gcc/haifa-sched.c
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2002-06-04 11:46:14 -0600
committerJeff Law <law@gcc.gnu.org>2002-06-04 11:46:14 -0600
commit85d692168905f7ccb3463f5b8a1fda54fe7ea22f (patch)
tree100d6f14c9cba9eedae456288118fc9c150d270b /gcc/haifa-sched.c
parent63f4a88e2873b14f843f02a0aeb4c8de73c51f57 (diff)
downloadgcc-85d692168905f7ccb3463f5b8a1fda54fe7ea22f.zip
gcc-85d692168905f7ccb3463f5b8a1fda54fe7ea22f.tar.gz
gcc-85d692168905f7ccb3463f5b8a1fda54fe7ea22f.tar.bz2
sched-int.h (struct deps): New field libcall_block_tail_insn.
* sched-int.h (struct deps): New field libcall_block_tail_insn. * sched_deps.c (init_deps): Initialize libcall_block_tail_insn. * sched_deps.c (sched_analyze_insn): If libcall_block_tail_insn is set, then mark the current insn as being part of a libcall scheduling group. (sched_analyze): Set and clear libcall_block_tail_insn appropriately. * haifa-sched.c (schedule_block): Do not count USE or CLOBBER insns against the issue rate. From-SVN: r54251
Diffstat (limited to 'gcc/haifa-sched.c')
-rw-r--r--gcc/haifa-sched.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c
index b59f7e1..0dc84e5 100644
--- a/gcc/haifa-sched.c
+++ b/gcc/haifa-sched.c
@@ -2166,7 +2166,10 @@ schedule_block (b, rgn_n_insns)
can_issue_more =
(*targetm.sched.variable_issue) (sched_dump, sched_verbose,
insn, can_issue_more);
- else
+ /* A naked CLOBBER or USE generates no instruction, so do
+ not count them against the issue rate. */
+ else if (GET_CODE (PATTERN (insn)) != USE
+ && GET_CODE (PATTERN (insn)) != CLOBBER)
can_issue_more--;
schedule_insn (insn, &ready, clock_var);