[Mlir-commits] [mlir] c3529a5 - [mlir] Mark methods from mlir::OpState that just forward to mlir::Operation as deprecated.
Christian Sigg
llvmlistbot at llvm.org
Thu Jan 7 00:08:57 PST 2021
Author: Christian Sigg
Date: 2021-01-07T09:08:47+01:00
New Revision: c3529a5b0806843e75f0b6d9a83bb36de70b5ae6
URL: https://github.com/llvm/llvm-project/commit/c3529a5b0806843e75f0b6d9a83bb36de70b5ae6
DIFF: https://github.com/llvm/llvm-project/commit/c3529a5b0806843e75f0b6d9a83bb36de70b5ae6.diff
LOG: [mlir] Mark methods from mlir::OpState that just forward to mlir::Operation as deprecated.
The functions will be removed by January 20th.
All call sites within MLIR have been converted in previous changes.
Reviewed By: rriddle
Differential Revision: https://reviews.llvm.org/D94191
Added:
Modified:
mlir/include/mlir/IR/OpDefinition.h
mlir/lib/IR/Operation.cpp
Removed:
################################################################################
diff --git a/mlir/include/mlir/IR/OpDefinition.h b/mlir/include/mlir/IR/OpDefinition.h
index 11dc4b77b677..e698ced314a1 100644
--- a/mlir/include/mlir/IR/OpDefinition.h
+++ b/mlir/include/mlir/IR/OpDefinition.h
@@ -105,26 +105,32 @@ class OpState {
Operation *getOperation() { return state; }
/// Return the dialect that this refers to.
- Dialect *getDialect() { return getOperation()->getDialect(); }
+ LLVM_ATTRIBUTE_DEPRECATED(
+ Dialect *getDialect(),
+ "Use Operation::getDialect() instead (replace '.' with '->').");
/// Return the parent Region of this operation.
- Region *getParentRegion() { return getOperation()->getParentRegion(); }
+ LLVM_ATTRIBUTE_DEPRECATED(
+ Region *getParentRegion(),
+ "Use Operation::getParentRegion() instead (replace '.' with '->').");
/// Returns the closest surrounding operation that contains this operation
/// or nullptr if this is a top-level operation.
- Operation *getParentOp() { return getOperation()->getParentOp(); }
+ LLVM_ATTRIBUTE_DEPRECATED(
+ Operation *getParentOp(),
+ "Use Operation::getParentOp() instead (replace '.' with '->').");
/// Return the closest surrounding parent operation that is of type 'OpTy'.
template <typename OpTy>
- OpTy getParentOfType() {
- return getOperation()->getParentOfType<OpTy>();
- }
+ LLVM_ATTRIBUTE_DEPRECATED(
+ OpTy getParentOfType(),
+ "Use Operation::getParentOfType() instead (replace '.' with '->').");
/// Returns the closest surrounding parent operation with trait `Trait`.
template <template <typename T> class Trait>
- Operation *getParentWithTrait() {
- return getOperation()->getParentWithTrait<Trait>();
- }
+ LLVM_ATTRIBUTE_DEPRECATED(
+ Operation *getParentWithTrait(),
+ "Use Operation::getParentWithTrait() instead (replace '.' with '->').");
/// Return the context this operation belongs to.
MLIRContext *getContext() { return getOperation()->getContext(); }
@@ -153,35 +159,43 @@ class OpState {
using dialect_attr_range = Operation::dialect_attr_range;
/// Return a range corresponding to the dialect attributes for this operation.
- dialect_attr_range getDialectAttrs() { return state->getDialectAttrs(); }
- dialect_attr_iterator dialect_attr_begin() {
- return state->dialect_attr_begin();
- }
- dialect_attr_iterator dialect_attr_end() { return state->dialect_attr_end(); }
+ LLVM_ATTRIBUTE_DEPRECATED(
+ dialect_attr_range getDialectAttrs(),
+ "Use Operation::getDialectAttrs() instead (replace '.' with '->').");
+ LLVM_ATTRIBUTE_DEPRECATED(
+ dialect_attr_iterator dialect_attr_begin(),
+ "Use Operation::dialect_attr_begin() instead (replace '.' with '->').");
+ LLVM_ATTRIBUTE_DEPRECATED(
+ dialect_attr_iterator dialect_attr_end(),
+ "Use Operation::dialect_attr_end() instead (replace '.' with '->').");
/// Return an attribute with the specified name.
- Attribute getAttr(StringRef name) { return state->getAttr(name); }
+ LLVM_ATTRIBUTE_DEPRECATED(
+ Attribute getAttr(StringRef name),
+ "Use Operation::getAttr() instead (replace '.' with '->').");
/// If the operation has an attribute of the specified type, return it.
template <typename AttrClass>
- AttrClass getAttrOfType(StringRef name) {
- return getAttr(name).dyn_cast_or_null<AttrClass>();
- }
+ LLVM_ATTRIBUTE_DEPRECATED(
+ AttrClass getAttrOfType(StringRef name),
+ "Use Operation::getAttrOfType() instead (replace '.' with '->').");
/// If the an attribute exists with the specified name, change it to the new
/// value. Otherwise, add a new attribute with the specified name/value.
- void setAttr(Identifier name, Attribute value) {
- state->setAttr(name, value);
- }
- void setAttr(StringRef name, Attribute value) {
- setAttr(Identifier::get(name, getContext()), value);
- }
+ LLVM_ATTRIBUTE_DEPRECATED(
+ void setAttr(Identifier name, Attribute value),
+ "Use Operation::setAttr() instead (replace '.' with '->').");
+ LLVM_ATTRIBUTE_DEPRECATED(
+ void setAttr(StringRef name, Attribute value),
+ "Use Operation::setAttr() instead (replace '.' with '->').");
/// Set the attributes held by this operation.
- void setAttrs(ArrayRef<NamedAttribute> attributes) {
- state->setAttrs(DictionaryAttr::get(attributes, getContext()));
- }
- void setAttrs(DictionaryAttr newAttrs) { state->setAttrs(newAttrs); }
+ LLVM_ATTRIBUTE_DEPRECATED(
+ void setAttrs(ArrayRef<NamedAttribute> attributes),
+ "Use Operation::setAttrs() instead (replace '.' with '->').");
+ LLVM_ATTRIBUTE_DEPRECATED(
+ void setAttrs(DictionaryAttr newAttrs),
+ "Use Operation::setAttrs() instead (replace '.' with '->').");
/// Set the dialect attributes for this operation, and preserve all dependent.
template <typename DialectAttrs>
@@ -258,6 +272,19 @@ class OpState {
friend AbstractOperation;
};
+template <typename OpTy>
+OpTy OpState::getParentOfType() {
+ return getOperation()->getParentOfType<OpTy>();
+}
+template <template <typename T> class Trait>
+Operation *OpState::getParentWithTrait() {
+ return getOperation()->getParentWithTrait<Trait>();
+}
+template <typename AttrClass>
+AttrClass OpState::getAttrOfType(StringRef name) {
+ return getAttr(name).dyn_cast_or_null<AttrClass>();
+}
+
// Allow comparing operators.
inline bool operator==(OpState lhs, OpState rhs) {
return lhs.getOperation() == rhs.getOperation();
diff --git a/mlir/lib/IR/Operation.cpp b/mlir/lib/IR/Operation.cpp
index 285d31a8f52e..4152121dd548 100644
--- a/mlir/lib/IR/Operation.cpp
+++ b/mlir/lib/IR/Operation.cpp
@@ -692,6 +692,30 @@ InFlightDiagnostic OpState::emitRemark(const Twine &message) {
return getOperation()->emitRemark(message);
}
+Dialect *OpState::getDialect() { return getOperation()->getDialect(); }
+Region *OpState::getParentRegion() { return getOperation()->getParentRegion(); }
+Operation *OpState::getParentOp() { return getOperation()->getParentOp(); }
+OpState::dialect_attr_range OpState::getDialectAttrs() {
+ return state->getDialectAttrs();
+}
+OpState::dialect_attr_iterator OpState::dialect_attr_begin() {
+ return state->dialect_attr_begin();
+}
+OpState::dialect_attr_iterator OpState::dialect_attr_end() {
+ return state->dialect_attr_end();
+}
+Attribute OpState::getAttr(StringRef name) { return state->getAttr(name); }
+void OpState::setAttr(Identifier name, Attribute value) {
+ state->setAttr(name, value);
+}
+void OpState::setAttr(StringRef name, Attribute value) {
+ setAttr(Identifier::get(name, getContext()), value);
+}
+void OpState::setAttrs(ArrayRef<NamedAttribute> attributes) {
+ state->setAttrs(DictionaryAttr::get(attributes, getContext()));
+}
+void OpState::setAttrs(DictionaryAttr newAttrs) { state->setAttrs(newAttrs); }
+
//===----------------------------------------------------------------------===//
// Op Trait implementations
//===----------------------------------------------------------------------===//
More information about the Mlir-commits
mailing list