[llvm] WIP: [SelectionDAG] Remove `UnsafeFPMath` in LegalizeDAG (PR #146316)

via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 30 01:19:49 PDT 2025


https://github.com/paperchalice created https://github.com/llvm/llvm-project/pull/146316

None

>From f6d2e57e222aa3ba045f1c0d22e73ebd43e53013 Mon Sep 17 00:00:00 2001
From: PaperChalice <liujunchang97 at outlook.com>
Date: Mon, 30 Jun 2025 16:19:04 +0800
Subject: [PATCH] Remove `UnsafeFPMath` in LegalizeDAG

---
 llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
index f5f4d71236fee..6e23f62f20df0 100644
--- a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
@@ -3794,7 +3794,7 @@ bool SelectionDAGLegalize::ExpandNode(SDNode *Node) {
     break;
   case ISD::FP_TO_FP16:
     LLVM_DEBUG(dbgs() << "Legalizing FP_TO_FP16\n");
-    if (!TLI.useSoftFloat() && TM.Options.UnsafeFPMath) {
+    if (!TLI.useSoftFloat() && Node->getFlags().hasApproximateFuncs()) {
       SDValue Op = Node->getOperand(0);
       MVT SVT = Op.getSimpleValueType();
       if ((SVT == MVT::f64 || SVT == MVT::f80) &&



More information about the llvm-commits mailing list