summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMHazardRecognizer.cpp
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2010-12-08 20:04:29 +0000
committerAndrew Trick <atrick@apple.com>2010-12-08 20:04:29 +0000
commit00067fb147ffc9b91d96bff6441efdf519a6f90f (patch)
treef13836fe2de0637b3741c8967425ea63138475a7 /llvm/lib/Target/ARM/ARMHazardRecognizer.cpp
parent55bc7187ac2d8e26cd7fcf90b46746592b749af8 (diff)
downloadbcm5719-llvm-00067fb147ffc9b91d96bff6441efdf519a6f90f.tar.gz
bcm5719-llvm-00067fb147ffc9b91d96bff6441efdf519a6f90f.zip
Generalize PostRAHazardRecognizer so it can be used in any pass for
both forward and backward scheduling. Rename it to ScoreboardHazardRecognizer (Scoreboard is one word). Remove integer division from the scoreboard's critical path. llvm-svn: 121274
Diffstat (limited to 'llvm/lib/Target/ARM/ARMHazardRecognizer.cpp')
-rw-r--r--llvm/lib/Target/ARM/ARMHazardRecognizer.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/llvm/lib/Target/ARM/ARMHazardRecognizer.cpp b/llvm/lib/Target/ARM/ARMHazardRecognizer.cpp
index 317934faec5..b8d385b6e3d 100644
--- a/llvm/lib/Target/ARM/ARMHazardRecognizer.cpp
+++ b/llvm/lib/Target/ARM/ARMHazardRecognizer.cpp
@@ -68,14 +68,14 @@ ARMHazardRecognizer::getHazardType(SUnit *SU) {
}
}
- return PostRAHazardRecognizer::getHazardType(SU);
+ return ScoreboardHazardRecognizer::getHazardType(SU);
}
void ARMHazardRecognizer::Reset() {
LastMI = 0;
Stalls = 0;
ITBlockSize = 0;
- PostRAHazardRecognizer::Reset();
+ ScoreboardHazardRecognizer::Reset();
}
void ARMHazardRecognizer::EmitInstruction(SUnit *SU) {
@@ -103,12 +103,16 @@ void ARMHazardRecognizer::EmitInstruction(SUnit *SU) {
Stalls = 0;
}
- PostRAHazardRecognizer::EmitInstruction(SU);
+ ScoreboardHazardRecognizer::EmitInstruction(SU);
}
void ARMHazardRecognizer::AdvanceCycle() {
if (Stalls && --Stalls == 0)
// Stalled for 4 cycles but still can't schedule any other instructions.
LastMI = 0;
- PostRAHazardRecognizer::AdvanceCycle();
+ ScoreboardHazardRecognizer::AdvanceCycle();
+}
+
+void ARMHazardRecognizer::RecedeCycle() {
+ llvm_unreachable("reverse ARM hazard checking unsupported");
}
OpenPOWER on IntegriCloud