forked from OSchip/llvm-project
MachineModel: Inconsequential TableGen SubtargetEmitter fix.
Drive by fix. I noticed some missing logic that might bite future users. This shouldn't affect the final output on currently modeled targets. llvm-svn: 174142
This commit is contained in:
parent
abb487f57a
commit
4fe440d45c
|
@ -1380,8 +1380,22 @@ void CodeGenSchedModels::collectProcResources() {
|
|||
SCI != SCE; ++SCI) {
|
||||
if (SCI->ItinClassDef)
|
||||
collectItinProcResources(SCI->ItinClassDef);
|
||||
else
|
||||
else {
|
||||
// This class may have a default ReadWrite list which can be overriden by
|
||||
// InstRW definitions.
|
||||
if (!SCI->InstRWs.empty()) {
|
||||
for (RecIter RWI = SCI->InstRWs.begin(), RWE = SCI->InstRWs.end();
|
||||
RWI != RWE; ++RWI) {
|
||||
Record *RWModelDef = (*RWI)->getValueAsDef("SchedModel");
|
||||
IdxVec ProcIndices(1, getProcModel(RWModelDef).Index);
|
||||
IdxVec Writes, Reads;
|
||||
findRWs((*RWI)->getValueAsListOfDefs("OperandReadWrites"),
|
||||
Writes, Reads);
|
||||
collectRWResources(Writes, Reads, ProcIndices);
|
||||
}
|
||||
}
|
||||
collectRWResources(SCI->Writes, SCI->Reads, SCI->ProcIndices);
|
||||
}
|
||||
}
|
||||
// Add resources separately defined by each subtarget.
|
||||
RecVec WRDefs = Records.getAllDerivedDefinitions("WriteRes");
|
||||
|
|
Loading…
Reference in New Issue