diff options
Diffstat (limited to 'llvm/utils/TableGen/CodeGenSchedule.cpp')
-rw-r--r-- | llvm/utils/TableGen/CodeGenSchedule.cpp | 30 |
1 files changed, 1 insertions, 29 deletions
diff --git a/llvm/utils/TableGen/CodeGenSchedule.cpp b/llvm/utils/TableGen/CodeGenSchedule.cpp index d1b141e3160..57a426bffb3 100644 --- a/llvm/utils/TableGen/CodeGenSchedule.cpp +++ b/llvm/utils/TableGen/CodeGenSchedule.cpp @@ -120,10 +120,6 @@ CodeGenSchedModels::CodeGenSchedModels(RecordKeeper &RK, // (For per-operand resources mapped to itinerary classes). collectProcItinRW(); - // Find UnsupportedFeatures records for each processor. - // (For per-operand resources mapped to itinerary classes). - collectProcUnsupportedFeatures(); - // Infer new SchedClasses from SchedVariant. inferSchedClasses(); @@ -833,15 +829,6 @@ void CodeGenSchedModels::collectProcItinRW() { } } -// Gather the unsupported features for processor models. -void CodeGenSchedModels::collectProcUnsupportedFeatures() { - for (CodeGenProcModel &ProcModel : ProcModels) { - for (Record *Pred : ProcModel.ModelDef->getValueAsListOfDefs("UnsupportedFeatures")) { - ProcModel.UnsupportedFeaturesDefs.push_back(Pred); - } - } -} - /// Infer new classes from existing classes. In the process, this may create new /// SchedWrites from sequences of existing SchedWrites. void CodeGenSchedModels::inferSchedClasses() { @@ -1553,8 +1540,6 @@ void CodeGenSchedModels::checkCompleteness() { for (const CodeGenInstruction *Inst : Target.getInstructionsByEnumValue()) { if (Inst->hasNoSchedulingInfo) continue; - if (ProcModel.isUnsupported(*Inst)) - continue; unsigned SCIdx = getSchedClassIdx(*Inst); if (!SCIdx) { if (Inst->TheDef->isValueUnset("SchedRW") && !HadCompleteModel) { @@ -1590,10 +1575,7 @@ void CodeGenSchedModels::checkCompleteness() { << "- Consider setting 'CompleteModel = 0' while developing new models.\n" << "- Pseudo instructions can be marked with 'hasNoSchedulingInfo = 1'.\n" << "- Instructions should usually have Sched<[...]> as a superclass, " - "you may temporarily use an empty list.\n" - << "- Instructions related to unsupported features can be excluded with " - "list<Predicate> UnsupportedFeatures = [HasA,..,HasY]; in the " - "processor model.\n\n"; + "you may temporarily use an empty list.\n\n"; PrintFatalError("Incomplete schedule model"); } } @@ -1774,16 +1756,6 @@ unsigned CodeGenProcModel::getProcResourceIdx(Record *PRDef) const { return 1 + (PRPos - ProcResourceDefs.begin()); } -bool CodeGenProcModel::isUnsupported(const CodeGenInstruction &Inst) const { - for (const Record *TheDef : UnsupportedFeaturesDefs) { - for (const Record *PredDef : Inst.TheDef->getValueAsListOfDefs("Predicates")) { - if (TheDef->getName() == PredDef->getName()) - return true; - } - } - return false; -} - #ifndef NDEBUG void CodeGenProcModel::dump() const { dbgs() << Index << ": " << ModelName << " " |