[clang] [llvm] [mlir] [TableGen] Only store direct superclasses in Record (PR #123072)
Min-Yih Hsu via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 17 09:37:29 PST 2025
================
@@ -3415,10 +3419,11 @@ namespace {
AttrClass *findSuperClass(const Record *R) const {
// TableGen flattens the superclass list, so we just need to walk it
// in reverse.
- auto SuperClasses = R->getSuperClasses();
- for (signed i = 0, e = SuperClasses.size(); i != e; ++i) {
- auto SuperClass = findClassByRecord(SuperClasses[e - i - 1].first);
- if (SuperClass) return SuperClass;
+ std::vector<const Record *> SuperClasses = R->getSuperClasses();
+ for (const Record *R : reverse(SuperClasses)) {
+ AttrClass *SuperClass = findClassByRecord(R);
+ if (SuperClass)
+ return SuperClass;
----------------
mshockwave wrote:
```suggestion
if (AttrClass *SuperClass = findClassByRecord(R);)
return SuperClass;
```
https://github.com/llvm/llvm-project/pull/123072
More information about the llvm-commits
mailing list