[Mlir-commits] [mlir] Mark `isa/dyn_cast/cast/...` member functions deprecated. (PR #89238)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Thu Apr 18 07:19:30 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-mlir
@llvm/pr-subscribers-mlir-core
Author: Christian Sigg (chsigg)
<details>
<summary>Changes</summary>
See https://mlir.llvm.org/deprecation
---
Full diff: https://github.com/llvm/llvm-project/pull/89238.diff
4 Files Affected:
- (modified) mlir/include/mlir/IR/Attributes.h (+7-2)
- (modified) mlir/include/mlir/IR/Location.h (+3)
- (modified) mlir/include/mlir/IR/Types.h (+6-1)
- (modified) mlir/include/mlir/IR/Value.h (+5-1)
``````````diff
diff --git a/mlir/include/mlir/IR/Attributes.h b/mlir/include/mlir/IR/Attributes.h
index cc0cee6a31183c..509a67f61c7a6a 100644
--- a/mlir/include/mlir/IR/Attributes.h
+++ b/mlir/include/mlir/IR/Attributes.h
@@ -50,14 +50,19 @@ class Attribute {
/// Casting utility functions. These are deprecated and will be removed,
/// please prefer using the `llvm` namespace variants instead.
template <typename... Tys>
+ [[deprecated("Use isa<U>() instead")]]
bool isa() const;
template <typename... Tys>
+ [[deprecated("Use isa_and_nonnull<U>() instead")]]
bool isa_and_nonnull() const;
template <typename U>
+ [[deprecated("Use dyn_cast<U>() instead")]]
U dyn_cast() const;
template <typename U>
+ [[deprecated("Use dyn_cast_or_null<U>() instead")]]
U dyn_cast_or_null() const;
template <typename U>
+ [[deprecated("Use cast<U>() instead")]]
U cast() const;
/// Return a unique identifier for the concrete attribute type. This is used
@@ -172,7 +177,7 @@ bool Attribute::isa() const {
template <typename... Tys>
bool Attribute::isa_and_nonnull() const {
- return llvm::isa_and_present<Tys...>(*this);
+ return llvm::isa_and_nonnull<Tys...>(*this);
}
template <typename U>
@@ -182,7 +187,7 @@ U Attribute::dyn_cast() const {
template <typename U>
U Attribute::dyn_cast_or_null() const {
- return llvm::dyn_cast_if_present<U>(*this);
+ return llvm::dyn_cast_or_null<U>(*this);
}
template <typename U>
diff --git a/mlir/include/mlir/IR/Location.h b/mlir/include/mlir/IR/Location.h
index d4268e804f4f7a..b7afb160743825 100644
--- a/mlir/include/mlir/IR/Location.h
+++ b/mlir/include/mlir/IR/Location.h
@@ -78,14 +78,17 @@ class Location {
/// Type casting utilities on the underlying location.
template <typename U>
+ [[deprecated("Use isa<U>() instead")]]
bool isa() const {
return llvm::isa<U>(*this);
}
template <typename U>
+ [[deprecated("Use dyn_cast<U>() instead")]]
U dyn_cast() const {
return llvm::dyn_cast<U>(*this);
}
template <typename U>
+ [[deprecated("Use cast<U>() instead")]]
U cast() const {
return llvm::cast<U>(*this);
}
diff --git a/mlir/include/mlir/IR/Types.h b/mlir/include/mlir/IR/Types.h
index a89e13b625bf40..69ef27018bc1b4 100644
--- a/mlir/include/mlir/IR/Types.h
+++ b/mlir/include/mlir/IR/Types.h
@@ -97,14 +97,19 @@ class Type {
bool operator!() const { return impl == nullptr; }
template <typename... Tys>
+ [[deprecated("Use isa<U>() instead")]]
bool isa() const;
template <typename... Tys>
+ [[deprecated("Use isa_and_nonnull<U>() instead")]]
bool isa_and_nonnull() const;
template <typename U>
+ [[deprecated("Use dyn_cast<U>() instead")]]
U dyn_cast() const;
template <typename U>
+ [[deprecated("Use dyn_cast_or_null<U>() instead")]]
U dyn_cast_or_null() const;
template <typename U>
+ [[deprecated("Use cast<U>() instead")]]
U cast() const;
/// Return a unique identifier for the concrete type. This is used to support
@@ -323,7 +328,7 @@ bool Type::isa() const {
template <typename... Tys>
bool Type::isa_and_nonnull() const {
- return llvm::isa_and_present<Tys...>(*this);
+ return llvm::isa_and_nonnull<Tys...>(*this);
}
template <typename U>
diff --git a/mlir/include/mlir/IR/Value.h b/mlir/include/mlir/IR/Value.h
index a74d0faa1dfc4b..cdbc6cc374368c 100644
--- a/mlir/include/mlir/IR/Value.h
+++ b/mlir/include/mlir/IR/Value.h
@@ -98,21 +98,25 @@ class Value {
constexpr Value(detail::ValueImpl *impl = nullptr) : impl(impl) {}
template <typename U>
+ [[deprecated("Use isa<U>() instead")]]
bool isa() const {
return llvm::isa<U>(*this);
}
template <typename U>
+ [[deprecated("Use dyn_cast<U>() instead")]]
U dyn_cast() const {
return llvm::dyn_cast<U>(*this);
}
template <typename U>
+ [[deprecated("Use dyn_cast_or_null<U>() instead")]]
U dyn_cast_or_null() const {
- return llvm::dyn_cast_if_present<U>(*this);
+ return llvm::dyn_cast_or_null<U>(*this);
}
template <typename U>
+ [[deprecated("Use cast<U>() instead")]]
U cast() const {
return llvm::cast<U>(*this);
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/89238
More information about the Mlir-commits
mailing list