mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
[CodeGenSchedule][NFC] Always emit ProcResourceUnits.
Summary: Right now only the ProcResourceUnits that are directly referenced by instructions are emitted. This change emits all of them, so that analysis passes can use the information. This has no functional impact. It typically adds a few entries (e.g. 4 for X86/haswell) to the generated ProcRes table. Reviewers: gchatelet Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D42903 llvm-svn: 324228
This commit is contained in:
parent
4f2f540e75
commit
06256b141d
@ -1564,6 +1564,14 @@ void CodeGenSchedModels::collectProcResources() {
|
||||
if (!is_contained(PM.ProcResourceDefs, PRG))
|
||||
PM.ProcResourceDefs.push_back(PRG);
|
||||
}
|
||||
// Add ProcResourceUnits unconditionally.
|
||||
for (Record *PRU : Records.getAllDerivedDefinitions("ProcResourceUnits")) {
|
||||
if (!PRU->getValueInit("SchedModel")->isComplete())
|
||||
continue;
|
||||
CodeGenProcModel &PM = getProcModel(PRU->getValueAsDef("SchedModel"));
|
||||
if (!is_contained(PM.ProcResourceDefs, PRU))
|
||||
PM.ProcResourceDefs.push_back(PRU);
|
||||
}
|
||||
// Finalize each ProcModel by sorting the record arrays.
|
||||
for (CodeGenProcModel &PM : ProcModels) {
|
||||
std::sort(PM.WriteResDefs.begin(), PM.WriteResDefs.end(),
|
||||
|
Loading…
Reference in New Issue
Block a user