mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-17 20:23:59 +00:00
Support BufferSize on ProcResGroup for unified MOp schedulers.
And add Sandybridge/Haswell resource buffers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184034 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -1476,6 +1476,19 @@ void CodeGenSchedModels::collectProcResources() {
|
||||
Record *ModelDef = (*RAI)->getValueAsDef("SchedModel");
|
||||
addReadAdvance(*RAI, getProcModel(ModelDef).Index);
|
||||
}
|
||||
// Add ProcResGroups that are defined within this processor model, which may
|
||||
// not be directly referenced but may directly specify a buffer size.
|
||||
RecVec ProcResGroups = Records.getAllDerivedDefinitions("ProcResGroup");
|
||||
for (RecIter RI = ProcResGroups.begin(), RE = ProcResGroups.end();
|
||||
RI != RE; ++RI) {
|
||||
if (!(*RI)->getValueInit("SchedModel")->isComplete())
|
||||
continue;
|
||||
CodeGenProcModel &PM = getProcModel((*RI)->getValueAsDef("SchedModel"));
|
||||
RecIter I = std::find(PM.ProcResourceDefs.begin(),
|
||||
PM.ProcResourceDefs.end(), *RI);
|
||||
if (I == PM.ProcResourceDefs.end())
|
||||
PM.ProcResourceDefs.push_back(*RI);
|
||||
}
|
||||
// Finalize each ProcModel by sorting the record arrays.
|
||||
for (unsigned PIdx = 0, PEnd = ProcModels.size(); PIdx != PEnd; ++PIdx) {
|
||||
CodeGenProcModel &PM = ProcModels[PIdx];
|
||||
|
Reference in New Issue
Block a user