[llvm-branch-commits] [llvm] InstCombine: Infer fast math flags for sqrt (PR #176003)
Matt Arsenault via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Wed Jan 14 11:09:43 PST 2026
================
@@ -2056,6 +2056,28 @@ inferFastMathValueFlags(FastMathFlags FMF, FPClassTest ValidResults,
return FMF;
}
+/// Apply epilog fixups to a floating-point intrinsic. See if the result can
+/// fold to a constant, or apply fast math flags.
+static Value *simplifyDemandedFPClassResult(CallInst *FPOp, FastMathFlags FMF,
+ FPClassTest DemandedMask,
+ KnownFPClass &Known,
+ ArrayRef<KnownFPClass> KnownSrcs) {
+ FPClassTest ValidResults = DemandedMask & Known.KnownFPClasses;
+ Constant *SingleVal = getFPClassConstant(FPOp->getType(), ValidResults,
+ /*IsCanonicalizing=*/true);
+ if (SingleVal)
+ return SingleVal;
+
+ FastMathFlags InferredFMF =
+ inferFastMathValueFlags(FMF, ValidResults, KnownSrcs);
+ if (InferredFMF != FMF) {
+ FPOp->setFastMathFlags(InferredFMF);
----------------
arsenm wrote:
Missing the attribute drop
https://github.com/llvm/llvm-project/pull/176003
More information about the llvm-branch-commits
mailing list