summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMScheduleSwift.td
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2018-03-18 19:56:15 +0000
committerCraig Topper <craig.topper@intel.com>2018-03-18 19:56:15 +0000
commite1d6a4df1cb48da825346a407134cd14120a1b45 (patch)
treef3702ea82c7f828a9714495782b79fde5b75739a /llvm/lib/Target/ARM/ARMScheduleSwift.td
parent203876f104c6f45262c70ddf4c9b77ea2b9523c7 (diff)
downloadbcm5719-llvm-e1d6a4df1cb48da825346a407134cd14120a1b45.tar.gz
bcm5719-llvm-e1d6a4df1cb48da825346a407134cd14120a1b45.zip
[TableGen] When trying to reuse a scheduler class for instructions from an InstRW, make sure we haven't already seen another InstRW containing this instruction on this CPU.
This is similar to the check later when we remap some of the instructions from one class to a new one. But if we reuse the class we don't get to do that check. So many CPUs have violations of this check that I had to add a flag to the SchedMachineModel to allow it to be disabled. Hopefully we can get those cleaned up quickly and remove this flag. A lot of the violations are due to overlapping regular expressions, but that's not the only kind of issue it found. llvm-svn: 327808
Diffstat (limited to 'llvm/lib/Target/ARM/ARMScheduleSwift.td')
-rw-r--r--llvm/lib/Target/ARM/ARMScheduleSwift.td3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMScheduleSwift.td b/llvm/lib/Target/ARM/ARMScheduleSwift.td
index b838688c6f0..026468053b6 100644
--- a/llvm/lib/Target/ARM/ARMScheduleSwift.td
+++ b/llvm/lib/Target/ARM/ARMScheduleSwift.td
@@ -44,6 +44,9 @@ def SwiftModel : SchedMachineModel {
let LoadLatency = 3;
let MispredictPenalty = 14; // A branch direction mispredict.
let CompleteModel = 0; // FIXME: Remove if all instructions are covered.
+
+ // FIXME: Remove when all errors have been fixed.
+ let FullInstRWOverlapCheck = 0;
}
// Swift predicates.
OpenPOWER on IntegriCloud