[llvm] [llvm] FloatingPointPredicateUtils declare template specializations (PR #141368)
Tim Gymnich via llvm-commits
llvm-commits at lists.llvm.org
Sat May 24 13:16:22 PDT 2025
https://github.com/tgymnich created https://github.com/llvm/llvm-project/pull/141368
None
>From cfa098f336e4dec8d54733746b59ba572b9c6d5f Mon Sep 17 00:00:00 2001
From: Tim Gymnich <tim at gymni.ch>
Date: Sat, 24 May 2025 22:13:15 +0200
Subject: [PATCH] [llvm] FloatingPointPredicateUtils declare template
specializations
---
.../llvm/Analysis/FloatingPointPredicateUtils.h | 12 ++++++++++++
.../GlobalISel/MachineFloatingPointPredicateUtils.h | 13 +++++++++++++
2 files changed, 25 insertions(+)
diff --git a/llvm/include/llvm/Analysis/FloatingPointPredicateUtils.h b/llvm/include/llvm/Analysis/FloatingPointPredicateUtils.h
index c1824950b55c4..ea48de5974170 100644
--- a/llvm/include/llvm/Analysis/FloatingPointPredicateUtils.h
+++ b/llvm/include/llvm/Analysis/FloatingPointPredicateUtils.h
@@ -17,6 +17,18 @@ namespace llvm {
using FloatingPointPredicateUtils =
GenericFloatingPointPredicateUtils<SSAContext>;
+template <>
+DenormalMode FloatingPointPredicateUtils::queryDenormalMode(const Function &F,
+ Value *Val);
+
+template <>
+bool FloatingPointPredicateUtils::lookThroughFAbs(const Function &F, Value *LHS,
+ Value *&Src);
+
+template <>
+std::optional<APFloat>
+FloatingPointPredicateUtils::matchConstantFloat(const Function &F, Value *Val);
+
/// Returns a pair of values, which if passed to llvm.is.fpclass, returns the
/// same result as an fcmp with the given operands.
///
diff --git a/llvm/include/llvm/CodeGen/GlobalISel/MachineFloatingPointPredicateUtils.h b/llvm/include/llvm/CodeGen/GlobalISel/MachineFloatingPointPredicateUtils.h
index d3a31165bb63e..26910978fa8c8 100644
--- a/llvm/include/llvm/CodeGen/GlobalISel/MachineFloatingPointPredicateUtils.h
+++ b/llvm/include/llvm/CodeGen/GlobalISel/MachineFloatingPointPredicateUtils.h
@@ -17,6 +17,19 @@ namespace llvm {
using MachineFloatingPointPredicateUtils =
GenericFloatingPointPredicateUtils<MachineSSAContext>;
+template <>
+DenormalMode
+MachineFloatingPointPredicateUtils::queryDenormalMode(const MachineFunction &MF,
+ Register Val);
+
+template <>
+bool MachineFloatingPointPredicateUtils::lookThroughFAbs(
+ const MachineFunction &MF, Register LHS, Register &Src);
+
+template <>
+std::optional<APFloat> MachineFloatingPointPredicateUtils::matchConstantFloat(
+ const MachineFunction &MF, Register Val);
+
/// Compute the possible floating-point classes that \p LHS could be based on
/// fcmp \Pred \p LHS, \p RHS.
///
More information about the llvm-commits
mailing list