[Mlir-commits] [mlir] [mlir] Replace PointerUnion::dyn_cast with llvm::dyn_cast (NFC) (PR #233681)

Kazu Hirata llvmlistbot at llvm.org
Mon Oct 19 22:06:39 PDT 2026


https://github.com/kazutakahirata created https://github.com/llvm/llvm-project/pull/233681

PointerUnion::dyn_cast has been soft-deprecated.  This patch replaces it
with llvm::dyn_cast:

- PadTilingInterface.cpp: Each OpFoldResult in paddedShape is a
  nonnull Attribute or Value, and dynamic dimensions must be valid
  Values.
- TestOps.td: CallWithSegmentsOp::setCalleeFromCallable is an unused
  CallOpInterface implementation on a test op.

This patch completes the migration away from PointerUnion::dyn_cast
under mlir/.

Assisted-by: Antigravity


>From 871b0a877efa8a0edfe393c1e45e4140796ab64f Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Sun, 18 Oct 2026 23:08:32 -0700
Subject: [PATCH] [mlir] Replace PointerUnion::dyn_cast with llvm::dyn_cast
 (NFC)

PointerUnion::dyn_cast has been soft-deprecated.  This patch replaces it
with llvm::dyn_cast:

- PadTilingInterface.cpp: Each OpFoldResult in paddedShape is a
  nonnull Attribute or Value, and dynamic dimensions must be valid
  Values.
- TestOps.td: CallWithSegmentsOp::setCalleeFromCallable is an unused
  CallOpInterface implementation on a test op.

This patch completes the migration away from PointerUnion::dyn_cast
under mlir/.

Assisted-by: Antigravity
---
 mlir/lib/Dialect/Linalg/Transforms/PadTilingInterface.cpp | 2 +-
 mlir/test/lib/Dialect/Test/TestOps.td                     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/mlir/lib/Dialect/Linalg/Transforms/PadTilingInterface.cpp b/mlir/lib/Dialect/Linalg/Transforms/PadTilingInterface.cpp
index 8c6ad2e65bd79..c87b8f4ad6bac 100644
--- a/mlir/lib/Dialect/Linalg/Transforms/PadTilingInterface.cpp
+++ b/mlir/lib/Dialect/Linalg/Transforms/PadTilingInterface.cpp
@@ -254,7 +254,7 @@ static Value padOperand(OpBuilder &builder, TilingInterface opToPad,
     std::optional<int64_t> cst = getConstantIntValue(ofr);
     tensorShape.push_back(cst.has_value() ? *cst : ShapedType::kDynamic);
     if (!cst.has_value())
-      dynDims.push_back(ofr.dyn_cast<Value>());
+      dynDims.push_back(dyn_cast<Value>(ofr));
   }
   // TODO: use dispatchIndexOpFoldResults(paddedShape, dynDims, paddedShape);
 
diff --git a/mlir/test/lib/Dialect/Test/TestOps.td b/mlir/test/lib/Dialect/Test/TestOps.td
index f95d4419a83ad..0a64885d8e292 100644
--- a/mlir/test/lib/Dialect/Test/TestOps.td
+++ b/mlir/test/lib/Dialect/Test/TestOps.td
@@ -4884,7 +4884,7 @@ def CallWithSegmentsOp : TEST_Op<"call_with_segments",
       return ::mlir::CallInterfaceCallable();
     }
     void $cppClass::setCalleeFromCallable(::mlir::CallInterfaceCallable callee) {
-      if (auto sym = callee.dyn_cast<::mlir::SymbolRefAttr>())
+      if (auto sym = dyn_cast<::mlir::SymbolRefAttr>(callee))
         (*this)->setDiscardableAttr("callee", sym);
       else
         (*this)->removeDiscardableAttr("callee");



More information about the Mlir-commits mailing list