[Mlir-commits] [mlir] [Conversion] Migrate away from PointerUnion::{is, get} (NFC) (PR #122421)
Kazu Hirata
llvmlistbot at llvm.org
Fri Jan 10 12:17:55 PST 2025
https://github.com/kazutakahirata updated https://github.com/llvm/llvm-project/pull/122421
>From da377784f195fad07844219f0b81298c05e3e685 Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Thu, 9 Jan 2025 20:55:01 -0800
Subject: [PATCH 1/2] [Conversion] Migrate away from PointerUnion::{is,get}
(NFC)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
---
.../Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp | 2 +-
mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp | 16 ++++++++--------
.../VectorToLLVM/ConvertVectorToLLVM.cpp | 2 +-
3 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp b/mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
index 49a391938eaf69..04bc62262c3d89 100644
--- a/mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
+++ b/mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
@@ -911,7 +911,7 @@ LogicalResult ReinterpretCastPattern::matchAndRewrite(
if (auto val = dyn_cast<Value>(offset))
return val;
- int64_t attrVal = cast<IntegerAttr>(offset.get<Attribute>()).getInt();
+ int64_t attrVal = cast<IntegerAttr>(cast<Attribute>(offset)).getInt();
Attribute attr = rewriter.getIntegerAttr(intType, attrVal);
return rewriter.createOrFold<spirv::ConstantOp>(loc, intType, attr);
}();
diff --git a/mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp b/mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
index e1de125ccaeded..cc32f9fd059c67 100644
--- a/mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
+++ b/mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
@@ -241,12 +241,12 @@ struct ConvertUpdateHaloOp
// convert a OpFoldResult into a Value
auto toValue = [&rewriter, &loc](OpFoldResult &v) {
- return v.is<Value>()
- ? v.get<Value>()
+ return isa<Value>(v)
+ ? cast<Value>(v)
: rewriter.create<::mlir::arith::ConstantOp>(
loc,
rewriter.getIndexAttr(
- cast<IntegerAttr>(v.get<Attribute>()).getInt()));
+ cast<IntegerAttr>(cast<Attribute>(v)).getInt()));
};
auto dest = op.getDestination();
@@ -267,11 +267,11 @@ struct ConvertUpdateHaloOp
getMixedValues(op.getStaticHaloSizes(), op.getHaloSizes(), rewriter);
// subviews need Index values
for (auto &sz : haloSizes) {
- if (sz.is<Value>()) {
- sz = rewriter
- .create<arith::IndexCastOp>(loc, rewriter.getIndexType(),
- sz.get<Value>())
- .getResult();
+ if (auto value = dyn_cast<Value>(sz)) {
+ sz =
+ rewriter
+ .create<arith::IndexCastOp>(loc, rewriter.getIndexType(), value)
+ .getResult();
}
}
diff --git a/mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp b/mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
index 9657f583c375bb..d688d8e2ab6588 100644
--- a/mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
+++ b/mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
@@ -124,7 +124,7 @@ static Value getAsLLVMValue(OpBuilder &builder, Location loc,
return builder.create<LLVM::ConstantOp>(loc, intAttr).getResult();
}
- return foldResult.get<Value>();
+ return cast<Value>(foldResult);
}
namespace {
>From 4fd5d27b160924cb9c5e98a5eb9a8a6ba003f9a7 Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Fri, 10 Jan 2025 12:16:59 -0800
Subject: [PATCH 2/2] Address a comment.
---
mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp b/mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
index cc32f9fd059c67..eb265c621564a7 100644
--- a/mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
+++ b/mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
@@ -240,13 +240,12 @@ struct ConvertUpdateHaloOp
auto loc = op.getLoc();
// convert a OpFoldResult into a Value
- auto toValue = [&rewriter, &loc](OpFoldResult &v) {
- return isa<Value>(v)
- ? cast<Value>(v)
- : rewriter.create<::mlir::arith::ConstantOp>(
- loc,
- rewriter.getIndexAttr(
- cast<IntegerAttr>(cast<Attribute>(v)).getInt()));
+ auto toValue = [&rewriter, &loc](OpFoldResult &v) -> Value {
+ if (auto value = dyn_cast<Value>(v))
+ return value;
+ return rewriter.create<::mlir::arith::ConstantOp>(
+ loc, rewriter.getIndexAttr(
+ cast<IntegerAttr>(cast<Attribute>(v)).getInt()));
};
auto dest = op.getDestination();
More information about the Mlir-commits
mailing list