Skip to content

Commit 0dd0d1c

Browse files
author
git apple-llvm automerger
committed
Merge commit '75dfeef9adba' from llvm.org/main into next
2 parents c64e383 + 75dfeef commit 0dd0d1c

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,16 +43,23 @@ std::string mlir::tblgen::getParameterAccessorName(StringRef name) {
4343
static void collectAllDefs(StringRef selectedDialect,
4444
std::vector<llvm::Record *> records,
4545
SmallVectorImpl<AttrOrTypeDef> &resultDefs) {
46+
// Nothing to do if no defs were found.
47+
if (records.empty())
48+
return;
49+
4650
auto defs = llvm::map_range(
4751
records, [&](const llvm::Record *rec) { return AttrOrTypeDef(rec); });
4852
if (selectedDialect.empty()) {
53+
// If a dialect was not specified, ensure that all found defs belong to the
54+
// same dialect.
4955
if (!llvm::is_splat(
5056
llvm::map_range(defs, [](auto def) { return def.getDialect(); }))) {
5157
llvm::PrintFatalError("defs belonging to more than one dialect. Must "
5258
"select one via '--(attr|type)defs-dialect'");
5359
}
5460
resultDefs.assign(defs.begin(), defs.end());
5561
} else {
62+
// Otherwise, generate the defs that belong to the selected dialect.
5663
auto dialectDefs = llvm::make_filter_range(defs, [&](auto def) {
5764
return def.getDialect().getName().equals(selectedDialect);
5865
});

0 commit comments

Comments
 (0)