[llvm] [NFC][TableGen] Eliminate use of `ConstRecIter` from SubtargetEmitter (PR #130162)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 7 08:40:50 PST 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-tablegen
Author: Rahul Joshi (jurahul)
<details>
<summary>Changes</summary>
- Eliminate use of `ConstRecIter` from `expandProcResources` by using `all_of()` to simplify the code.
---
Full diff: https://github.com/llvm/llvm-project/pull/130162.diff
1 Files Affected:
- (modified) llvm/utils/TableGen/SubtargetEmitter.cpp (+7-9)
``````````diff
diff --git a/llvm/utils/TableGen/SubtargetEmitter.cpp b/llvm/utils/TableGen/SubtargetEmitter.cpp
index d4510f2757349..c398b6f9bf7cd 100644
--- a/llvm/utils/TableGen/SubtargetEmitter.cpp
+++ b/llvm/utils/TableGen/SubtargetEmitter.cpp
@@ -1029,9 +1029,9 @@ void SubtargetEmitter::expandProcResources(
for (unsigned I = 0, E = PRVec.size(); I != E; ++I) {
const Record *PRDef = PRVec[I];
ConstRecVec SubResources;
- if (PRDef->isSubClassOf("ProcResGroup"))
+ if (PRDef->isSubClassOf("ProcResGroup")) {
SubResources = PRDef->getValueAsListOfDefs("Resources");
- else {
+ } else {
SubResources.push_back(PRDef);
PRDef = SchedModels.findProcResUnits(PRDef, PM, PRDef->getLoc());
for (const Record *SubDef = PRDef;
@@ -1053,13 +1053,11 @@ void SubtargetEmitter::expandProcResources(
if (PR == PRDef || !PR->isSubClassOf("ProcResGroup"))
continue;
ConstRecVec SuperResources = PR->getValueAsListOfDefs("Resources");
- ConstRecIter SubI = SubResources.begin(), SubE = SubResources.end();
- for (; SubI != SubE; ++SubI) {
- if (!is_contained(SuperResources, *SubI)) {
- break;
- }
- }
- if (SubI == SubE) {
+ bool AllContained =
+ all_of(SubResources, [SuperResources](const Record *SubResource) {
+ return is_contained(SuperResources, SubResource);
+ });
+ if (AllContained) {
PRVec.push_back(PR);
ReleaseAtCycles.push_back(ReleaseAtCycles[I]);
AcquireAtCycles.push_back(AcquireAtCycles[I]);
``````````
</details>
https://github.com/llvm/llvm-project/pull/130162
More information about the llvm-commits
mailing list