[llvm-branch-commits] [mlir] check float cast (PR #166618)

Maksim Levental via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Nov 5 11:13:55 PST 2025


https://github.com/makslevental created https://github.com/llvm/llvm-project/pull/166618

None

>From 186a5f9dd5545db6e3ccb228174e9f6edbce95d5 Mon Sep 17 00:00:00 2001
From: makslevental <maksim.levental at gmail.com>
Date: Wed, 5 Nov 2025 11:13:09 -0800
Subject: [PATCH] check float cast

---
 mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp b/mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
index 632e1a7f02602..99d181f6262cd 100644
--- a/mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
+++ b/mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
@@ -583,9 +583,11 @@ struct FancyAddFLowering : public ConvertOpToLLVMPattern<arith::AddFOp> {
     auto parent = op->getParentOfType<ModuleOp>();
     if (!parent)
       return failure();
+    auto floatTy = dyn_cast<FloatType>(op.getType());
+    if (!floatTy)
+      return failure();
     FailureOr<Operation *> adder =
         LLVM::lookupOrCreateApFloatAddFFn(rewriter, parent);
-    auto floatTy = cast<FloatType>(op.getType());
 
     // Cast operands to 64-bit integers.
     Location loc = op.getLoc();



More information about the llvm-branch-commits mailing list