[MCSched] Bind PFM Counters to the CPUs instead of the SchedModel.
Summary:
The pfm counters are now in the ExegesisTarget rather than the
MCSchedModel (PR39165).
This also compresses the pfm counter tables (PR37068).
Reviewers: RKSimon, gchatelet
Subscribers: mgrang, llvm-commits
Differential Revision: https://reviews.llvm.org/D52932
llvm-svn: 345243
diff --git a/llvm/utils/TableGen/CodeGenSchedule.cpp b/llvm/utils/TableGen/CodeGenSchedule.cpp
index e94ed76..a9a36a8 100644
--- a/llvm/utils/TableGen/CodeGenSchedule.cpp
+++ b/llvm/utils/TableGen/CodeGenSchedule.cpp
@@ -350,7 +350,7 @@
unsigned OpcodeIdx = Opcode2Index[Opcode];
if (OpcodeMasks[OpcodeIdx].first[ProcIndex]) {
std::string Message =
- "Opcode " + Opcode->getName().str() +
+ "Opcode " + Opcode->getName().str() +
" used by multiple InstructionEquivalenceClass definitions.";
PrintFatalError(EC->getLoc(), Message);
}
@@ -487,9 +487,6 @@
// Collect processor RetireControlUnit descriptors if available.
collectRetireControlUnits();
- // Find pfm counter definitions for each processor.
- collectPfmCounters();
-
checkCompleteness();
}
@@ -1789,32 +1786,6 @@
}
}
-// Collect all the RegisterFile definitions available in this target.
-void CodeGenSchedModels::collectPfmCounters() {
- for (Record *Def : Records.getAllDerivedDefinitions("PfmIssueCounter")) {
- CodeGenProcModel &PM = getProcModel(Def->getValueAsDef("SchedModel"));
- PM.PfmIssueCounterDefs.emplace_back(Def);
- }
- for (Record *Def : Records.getAllDerivedDefinitions("PfmCycleCounter")) {
- CodeGenProcModel &PM = getProcModel(Def->getValueAsDef("SchedModel"));
- if (PM.PfmCycleCounterDef) {
- PrintFatalError(Def->getLoc(),
- "multiple cycle counters for " +
- Def->getValueAsDef("SchedModel")->getName());
- }
- PM.PfmCycleCounterDef = Def;
- }
- for (Record *Def : Records.getAllDerivedDefinitions("PfmUopsCounter")) {
- CodeGenProcModel &PM = getProcModel(Def->getValueAsDef("SchedModel"));
- if (PM.PfmUopsCounterDef) {
- PrintFatalError(Def->getLoc(),
- "multiple uops counters for " +
- Def->getValueAsDef("SchedModel")->getName());
- }
- PM.PfmUopsCounterDef = Def;
- }
-}
-
// Collect and sort WriteRes, ReadAdvance, and ProcResources.
void CodeGenSchedModels::collectProcResources() {
ProcResourceDefs = Records.getAllDerivedDefinitions("ProcResourceUnits");