-
Notifications
You must be signed in to change notification settings - Fork 14.5k
[mlir] Deprecate NamedAttrList(std::nullopt_t) (NFC) #149544
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[mlir] Deprecate NamedAttrList(std::nullopt_t) (NFC) #149544
Conversation
This patch deprecates NamedAttrList(std::nullopt_t) to avoid use of std::nullopt outside the context of std::optional.
@llvm/pr-subscribers-mlir Author: Kazu Hirata (kazutakahirata) ChangesThis patch deprecates NamedAttrList(std::nullopt_t) to avoid use of Full diff: https://github.com/llvm/llvm-project/pull/149544.diff 6 Files Affected:
diff --git a/mlir/include/mlir/IR/OperationSupport.h b/mlir/include/mlir/IR/OperationSupport.h
index 65e6d4f64e36c..5282c47dd7036 100644
--- a/mlir/include/mlir/IR/OperationSupport.h
+++ b/mlir/include/mlir/IR/OperationSupport.h
@@ -802,6 +802,7 @@ class NamedAttrList {
using size_type = size_t;
NamedAttrList() : dictionarySorted({}, true) {}
+ LLVM_DEPRECATED("Use NamedAttrList() instead", "NamedAttrList()")
NamedAttrList(std::nullopt_t none) : NamedAttrList() {}
NamedAttrList(ArrayRef<NamedAttribute> attributes);
NamedAttrList(DictionaryAttr attributes);
diff --git a/mlir/lib/AsmParser/Parser.cpp b/mlir/lib/AsmParser/Parser.cpp
index 756d3d01a4534..435ff713a1b29 100644
--- a/mlir/lib/AsmParser/Parser.cpp
+++ b/mlir/lib/AsmParser/Parser.cpp
@@ -1198,8 +1198,8 @@ Value OperationParser::createForwardRefPlaceholder(SMLoc loc, Type type) {
auto name = OperationName("builtin.unrealized_conversion_cast", getContext());
auto *op = Operation::create(
getEncodedSourceLocation(loc), name, type, /*operands=*/{},
- /*attributes=*/std::nullopt, /*properties=*/nullptr, /*successors=*/{},
- /*numRegions=*/0);
+ /*attributes=*/NamedAttrList(), /*properties=*/nullptr,
+ /*successors=*/{}, /*numRegions=*/0);
forwardRefPlaceholders[op->getResult(0)] = loc;
forwardRefOps.insert(op);
return op->getResult(0);
diff --git a/mlir/unittests/Debug/FileLineColLocBreakpointManagerTest.cpp b/mlir/unittests/Debug/FileLineColLocBreakpointManagerTest.cpp
index f688fa97e8409..6a81422b6b66b 100644
--- a/mlir/unittests/Debug/FileLineColLocBreakpointManagerTest.cpp
+++ b/mlir/unittests/Debug/FileLineColLocBreakpointManagerTest.cpp
@@ -24,7 +24,7 @@ static Operation *createOp(MLIRContext *context, Location loc,
unsigned int numRegions = 0) {
context->allowUnregisteredDialects();
return Operation::create(loc, OperationName(operationName, context), {}, {},
- std::nullopt, OpaqueProperties(nullptr), {},
+ NamedAttrList(), OpaqueProperties(nullptr), {},
numRegions);
}
diff --git a/mlir/unittests/IR/OperationSupportTest.cpp b/mlir/unittests/IR/OperationSupportTest.cpp
index 4b800fa36a375..7bc1a044d0dad 100644
--- a/mlir/unittests/IR/OperationSupportTest.cpp
+++ b/mlir/unittests/IR/OperationSupportTest.cpp
@@ -24,7 +24,7 @@ static Operation *createOp(MLIRContext *context, ArrayRef<Value> operands = {},
context->allowUnregisteredDialects();
return Operation::create(UnknownLoc::get(context),
OperationName("foo.bar", context), resultTypes,
- operands, std::nullopt, nullptr, {}, numRegions);
+ operands, NamedAttrList(), nullptr, {}, numRegions);
}
namespace {
@@ -236,7 +236,7 @@ TEST(OperationFormatPrintTest, CanPrintNameAsPrefix) {
Operation *op = Operation::create(
NameLoc::get(StringAttr::get(&context, "my_named_loc")),
OperationName("t.op", &context), builder.getIntegerType(16), {},
- std::nullopt, nullptr, {}, 0);
+ NamedAttrList(), nullptr, {}, 0);
std::string str;
OpPrintingFlags flags;
diff --git a/mlir/unittests/IR/ValueTest.cpp b/mlir/unittests/IR/ValueTest.cpp
index fc671be39f1eb..97e32d474d522 100644
--- a/mlir/unittests/IR/ValueTest.cpp
+++ b/mlir/unittests/IR/ValueTest.cpp
@@ -22,7 +22,7 @@ static Operation *createOp(MLIRContext *context, ArrayRef<Value> operands = {},
context->allowUnregisteredDialects();
return Operation::create(UnknownLoc::get(context),
OperationName("foo.bar", context), resultTypes,
- operands, std::nullopt, nullptr, {}, numRegions);
+ operands, NamedAttrList(), nullptr, {}, numRegions);
}
namespace {
diff --git a/mlir/unittests/Transforms/DialectConversion.cpp b/mlir/unittests/Transforms/DialectConversion.cpp
index 7bb27f721414c..6418c9dc0ac5b 100644
--- a/mlir/unittests/Transforms/DialectConversion.cpp
+++ b/mlir/unittests/Transforms/DialectConversion.cpp
@@ -15,7 +15,7 @@ static Operation *createOp(MLIRContext *context) {
context->allowUnregisteredDialects();
return Operation::create(UnknownLoc::get(context),
OperationName("foo.bar", context), {}, {},
- std::nullopt, /*properties=*/nullptr, {}, 0);
+ NamedAttrList(), /*properties=*/nullptr, {}, 0);
}
namespace {
|
@llvm/pr-subscribers-mlir-core Author: Kazu Hirata (kazutakahirata) ChangesThis patch deprecates NamedAttrList(std::nullopt_t) to avoid use of Full diff: https://github.com/llvm/llvm-project/pull/149544.diff 6 Files Affected:
diff --git a/mlir/include/mlir/IR/OperationSupport.h b/mlir/include/mlir/IR/OperationSupport.h
index 65e6d4f64e36c..5282c47dd7036 100644
--- a/mlir/include/mlir/IR/OperationSupport.h
+++ b/mlir/include/mlir/IR/OperationSupport.h
@@ -802,6 +802,7 @@ class NamedAttrList {
using size_type = size_t;
NamedAttrList() : dictionarySorted({}, true) {}
+ LLVM_DEPRECATED("Use NamedAttrList() instead", "NamedAttrList()")
NamedAttrList(std::nullopt_t none) : NamedAttrList() {}
NamedAttrList(ArrayRef<NamedAttribute> attributes);
NamedAttrList(DictionaryAttr attributes);
diff --git a/mlir/lib/AsmParser/Parser.cpp b/mlir/lib/AsmParser/Parser.cpp
index 756d3d01a4534..435ff713a1b29 100644
--- a/mlir/lib/AsmParser/Parser.cpp
+++ b/mlir/lib/AsmParser/Parser.cpp
@@ -1198,8 +1198,8 @@ Value OperationParser::createForwardRefPlaceholder(SMLoc loc, Type type) {
auto name = OperationName("builtin.unrealized_conversion_cast", getContext());
auto *op = Operation::create(
getEncodedSourceLocation(loc), name, type, /*operands=*/{},
- /*attributes=*/std::nullopt, /*properties=*/nullptr, /*successors=*/{},
- /*numRegions=*/0);
+ /*attributes=*/NamedAttrList(), /*properties=*/nullptr,
+ /*successors=*/{}, /*numRegions=*/0);
forwardRefPlaceholders[op->getResult(0)] = loc;
forwardRefOps.insert(op);
return op->getResult(0);
diff --git a/mlir/unittests/Debug/FileLineColLocBreakpointManagerTest.cpp b/mlir/unittests/Debug/FileLineColLocBreakpointManagerTest.cpp
index f688fa97e8409..6a81422b6b66b 100644
--- a/mlir/unittests/Debug/FileLineColLocBreakpointManagerTest.cpp
+++ b/mlir/unittests/Debug/FileLineColLocBreakpointManagerTest.cpp
@@ -24,7 +24,7 @@ static Operation *createOp(MLIRContext *context, Location loc,
unsigned int numRegions = 0) {
context->allowUnregisteredDialects();
return Operation::create(loc, OperationName(operationName, context), {}, {},
- std::nullopt, OpaqueProperties(nullptr), {},
+ NamedAttrList(), OpaqueProperties(nullptr), {},
numRegions);
}
diff --git a/mlir/unittests/IR/OperationSupportTest.cpp b/mlir/unittests/IR/OperationSupportTest.cpp
index 4b800fa36a375..7bc1a044d0dad 100644
--- a/mlir/unittests/IR/OperationSupportTest.cpp
+++ b/mlir/unittests/IR/OperationSupportTest.cpp
@@ -24,7 +24,7 @@ static Operation *createOp(MLIRContext *context, ArrayRef<Value> operands = {},
context->allowUnregisteredDialects();
return Operation::create(UnknownLoc::get(context),
OperationName("foo.bar", context), resultTypes,
- operands, std::nullopt, nullptr, {}, numRegions);
+ operands, NamedAttrList(), nullptr, {}, numRegions);
}
namespace {
@@ -236,7 +236,7 @@ TEST(OperationFormatPrintTest, CanPrintNameAsPrefix) {
Operation *op = Operation::create(
NameLoc::get(StringAttr::get(&context, "my_named_loc")),
OperationName("t.op", &context), builder.getIntegerType(16), {},
- std::nullopt, nullptr, {}, 0);
+ NamedAttrList(), nullptr, {}, 0);
std::string str;
OpPrintingFlags flags;
diff --git a/mlir/unittests/IR/ValueTest.cpp b/mlir/unittests/IR/ValueTest.cpp
index fc671be39f1eb..97e32d474d522 100644
--- a/mlir/unittests/IR/ValueTest.cpp
+++ b/mlir/unittests/IR/ValueTest.cpp
@@ -22,7 +22,7 @@ static Operation *createOp(MLIRContext *context, ArrayRef<Value> operands = {},
context->allowUnregisteredDialects();
return Operation::create(UnknownLoc::get(context),
OperationName("foo.bar", context), resultTypes,
- operands, std::nullopt, nullptr, {}, numRegions);
+ operands, NamedAttrList(), nullptr, {}, numRegions);
}
namespace {
diff --git a/mlir/unittests/Transforms/DialectConversion.cpp b/mlir/unittests/Transforms/DialectConversion.cpp
index 7bb27f721414c..6418c9dc0ac5b 100644
--- a/mlir/unittests/Transforms/DialectConversion.cpp
+++ b/mlir/unittests/Transforms/DialectConversion.cpp
@@ -15,7 +15,7 @@ static Operation *createOp(MLIRContext *context) {
context->allowUnregisteredDialects();
return Operation::create(UnknownLoc::get(context),
OperationName("foo.bar", context), {}, {},
- std::nullopt, /*properties=*/nullptr, {}, 0);
+ NamedAttrList(), /*properties=*/nullptr, {}, 0);
}
namespace {
|
This patch deprecates NamedAttrList(std::nullopt_t) to avoid use of
std::nullopt outside the context of std::optional.