summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2016-03-01 20:03:21 +0000
committerMatthias Braun <matze@braunis.de>2016-03-01 20:03:21 +0000
commit17cb57995eb9535c30cdff864b6157a34d1f5143 (patch)
treeb3f0a74bf54273a3ceba97c71bec0daaa24cdd5f /llvm/lib/Target/ARM
parent8e0a734fc5ee45e2dc8926c58b6ed68fd57500ea (diff)
downloadbcm5719-llvm-17cb57995eb9535c30cdff864b6157a34d1f5143.tar.gz
bcm5719-llvm-17cb57995eb9535c30cdff864b6157a34d1f5143.zip
TableGen: Check scheduling models for completeness
TableGen checks at compiletime that for scheduling models with "CompleteModel = 1" one of the following holds: - Is marked with the hasNoSchedulingInfo flag - The instruction is a subclass of Sched - There are InstRW definitions in the scheduling model Typical steps necessary to complete a model: - Ensure all pseudo instructions that are expanded before machine scheduling (usually everything handled with EmitYYY() functions in XXXTargetLowering). - If a CPU does not support some instructions mark the corresponding resource unsupported: "WriteRes<WriteXXX, []> { let Unsupported = 1; }". - Add missing scheduling information. Differential Revision: http://reviews.llvm.org/D17747 llvm-svn: 262384
Diffstat (limited to 'llvm/lib/Target/ARM')
-rw-r--r--llvm/lib/Target/ARM/ARMScheduleA8.td1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMScheduleA8.td b/llvm/lib/Target/ARM/ARMScheduleA8.td
index 2c6382542ab..154a889b41a 100644
--- a/llvm/lib/Target/ARM/ARMScheduleA8.td
+++ b/llvm/lib/Target/ARM/ARMScheduleA8.td
@@ -1070,6 +1070,7 @@ def CortexA8Model : SchedMachineModel {
// This is overriden by OperandCycles if the
// Itineraries are queried instead.
let MispredictPenalty = 13; // Based on estimate of pipeline depth.
+ let CompleteModel = 0;
let Itineraries = CortexA8Itineraries;
}
OpenPOWER on IntegriCloud