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; +template <> +DenormalMode FloatingPointPredicateUtils::queryDenormalMode(const Function &F, + Value *Val); + +template <> +bool FloatingPointPredicateUtils::lookThroughFAbs(const Function &F, Value *LHS, + Value *&Src); + +template <> +std::optional +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; +template <> +DenormalMode +MachineFloatingPointPredicateUtils::queryDenormalMode(const MachineFunction &MF, + Register Val); + +template <> +bool MachineFloatingPointPredicateUtils::lookThroughFAbs( + const MachineFunction &MF, Register LHS, Register &Src); + +template <> +std::optional 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. ///