aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/CodeGen/ScheduleHazardRecognizer.h
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2012-05-24 22:11:09 +0000
committerAndrew Trick <atrick@apple.com>2012-05-24 22:11:09 +0000
commit0a39d4e4c86540d7c89f6dbe511b70466e132715 (patch)
tree73189a6fb80b58f6d376859a8c947ee0d51bd12a /include/llvm/CodeGen/ScheduleHazardRecognizer.h
parent2aa689dfbf26f9f566ce7f7d72fc28e7d76e903a (diff)
downloadexternal_llvm-0a39d4e4c86540d7c89f6dbe511b70466e132715.zip
external_llvm-0a39d4e4c86540d7c89f6dbe511b70466e132715.tar.gz
external_llvm-0a39d4e4c86540d7c89f6dbe511b70466e132715.tar.bz2
misched: Added ScoreboardHazardRecognizer.
The Hazard checker implements in-order contraints, or interlocked resources. Ready instructions with hazards do not enter the available queue and are not visible to other heuristics. The major code change is the addition of SchedBoundary to encapsulate the state at the top or bottom of the schedule, including both a pending and available queue. The scheduler now counts cycles in sync with the hazard checker. These are minimum cycle counts based on known hazards. Targets with no itinerary (x86_64) currently remain at cycle 0. To fix this, we need to provide some maximum issue width for all targets. We also need to add the concept of expected latency vs. minimum latency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157427 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/ScheduleHazardRecognizer.h')
-rw-r--r--include/llvm/CodeGen/ScheduleHazardRecognizer.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/llvm/CodeGen/ScheduleHazardRecognizer.h b/include/llvm/CodeGen/ScheduleHazardRecognizer.h
index 2f53baa..fd62841 100644
--- a/include/llvm/CodeGen/ScheduleHazardRecognizer.h
+++ b/include/llvm/CodeGen/ScheduleHazardRecognizer.h
@@ -55,7 +55,7 @@ public:
/// other instruction is available, issue it first.
/// * NoopHazard: issuing this instruction would break the program. If
/// some other instruction can be issued, do so, otherwise issue a noop.
- virtual HazardType getHazardType(SUnit *m, int Stalls) {
+ virtual HazardType getHazardType(SUnit *m, int Stalls = 0) {
return NoHazard;
}