[flang-commits] [flang] [flang] Replace PointerUnion::dyn_cast with llvm::dyn_cast (NFC) (PR #235608)

Kazu Hirata via flang-commits flang-commits at lists.llvm.org
Sun Oct 25 23:22:48 PDT 2026


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

PointerUnion::dyn_cast has been soft-deprecated in favor of
llvm::dyn_cast and llvm::dyn_cast_if_present.  This patch replaces
PointerUnion::dyn_cast with llvm::dyn_cast.

Note that AliasAnalysis::Source::SourceOrigin::u is always initialized
with nonnull values, and other methods in AliasAnalysis.cpp already
use llvm::dyn_cast and llvm::cast on origin.u.

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

Assisted-by: Antigravity


>From 2e032ff073d67bf60f933a2ace4b8b50f1b07f7f Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Sun, 25 Oct 2026 09:00:15 -0700
Subject: [PATCH] [flang] Replace PointerUnion::dyn_cast with llvm::dyn_cast
 (NFC)

PointerUnion::dyn_cast has been soft-deprecated in favor of
llvm::dyn_cast and llvm::dyn_cast_if_present.  This patch replaces
PointerUnion::dyn_cast with llvm::dyn_cast.

Note that AliasAnalysis::Source::SourceOrigin::u is always initialized
with nonnull values, and other methods in AliasAnalysis.cpp already
use llvm::dyn_cast and llvm::cast on origin.u.

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

Assisted-by: Antigravity
---
 flang/lib/Optimizer/Analysis/AliasAnalysis.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/flang/lib/Optimizer/Analysis/AliasAnalysis.cpp b/flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
index 9abf8232261636..cbedfd7c8fa439 100644
--- a/flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
+++ b/flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
@@ -473,7 +473,7 @@ bool AliasAnalysis::Source::isDeclaredAllocatable() const {
     return var && var.isAllocatable();
   };
 
-  auto value = origin.u.dyn_cast<mlir::Value>();
+  auto value = llvm::dyn_cast<mlir::Value>(origin.u);
   return (value && isAllocatable(value.getDefiningOp())) ||
          isAllocatable(origin.instantiationPoint);
 }
@@ -491,7 +491,7 @@ bool AliasAnalysis::Source::isCrayPointerOrPointee() const {
 }
 
 bool AliasAnalysis::Source::isDummyArgument() const {
-  if (auto v = origin.u.dyn_cast<mlir::Value>()) {
+  if (auto v = llvm::dyn_cast<mlir::Value>(origin.u)) {
     return fir::isDummyArgument(v);
   }
   return false;



More information about the flang-commits mailing list