[llvm-branch-commits] [llvm] InstCombine: Use SimplifyDemandedFPClass epilog helper function for fma (PR #176017)
Matt Arsenault via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Wed Jan 14 11:40:10 PST 2026
https://github.com/arsenm created https://github.com/llvm/llvm-project/pull/176017
NFC refactor to use shared code for fold to constant or set fast math
flags.
>From 25760c21d712c64df47169ad5b50acefd6216793 Mon Sep 17 00:00:00 2001
From: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: Wed, 14 Jan 2026 20:37:45 +0100
Subject: [PATCH] InstCombine: Use SimplifyDemandedFPClass epilog helper
function for fma
NFC refactor to use shared code for fold to constant or set fast math
flags.
---
.../InstCombine/InstCombineSimplifyDemanded.cpp | 16 ++--------------
1 file changed, 2 insertions(+), 14 deletions(-)
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp b/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
index b198e5e824f1f..ce9dec699b06f 100644
--- a/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
@@ -2582,20 +2582,8 @@ Value *InstCombinerImpl::SimplifyDemandedUseFPClass(Instruction *I,
Known = KnownFPClass::fma(KnownSrc[0], KnownSrc[1], KnownSrc[2], Mode);
}
- FPClassTest ValidResults = DemandedMask & Known.KnownFPClasses;
- if (Constant *SingleVal =
- getFPClassConstant(VTy, ValidResults, /*IsCanonicalizing=*/true))
- return SingleVal;
-
- FastMathFlags InferredFMF =
- inferFastMathValueFlags(FMF, ValidResults, KnownSrc);
- if (InferredFMF != FMF) {
- CI->dropUBImplyingAttrsAndMetadata();
- CI->setFastMathFlags(InferredFMF);
- return I;
- }
-
- break;
+ return simplifyDemandedFPClassResult(CI, FMF, DemandedMask, Known,
+ {KnownSrc});
}
case Intrinsic::maximum:
case Intrinsic::minimum:
More information about the llvm-branch-commits
mailing list