[PATCH] D42903: [CodeGenSchedule][NFC] Always emit ProcResourceUnits.
Clement Courbet via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 5 03:47:39 PST 2018
courbet created this revision.
courbet added a reviewer: gchatelet.
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.
Repository:
rL LLVM
https://reviews.llvm.org/D42903
Files:
utils/TableGen/CodeGenSchedule.cpp
Index: utils/TableGen/CodeGenSchedule.cpp
===================================================================
--- utils/TableGen/CodeGenSchedule.cpp
+++ utils/TableGen/CodeGenSchedule.cpp
@@ -1564,6 +1564,14 @@
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(),
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D42903.132805.patch
Type: text/x-patch
Size: 849 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180205/67e78edf/attachment.bin>
More information about the llvm-commits
mailing list