ΒΆtemplate <typename LHS, typename RHS>
inline MaxMin_match<
    llvm::FCmpInst,
    LHS,
    RHS,
    llvm::PatternMatch::ufmax_pred_ty>
m_UnordFMax(const LHS& L, const RHS& R)

Description

Match an 'unordered' floating point maximum function. Floating point has one special value 'NaN'. Therefore, there is no total order. However, if we can ignore the 'NaN' value (for example, because of a 'no-nans-float-math' flag) a combination of a fcmp and select has 'maximum' semantics. In the presence of 'NaN' we have to preserve the original select(fcmp(ugt/ge, L, R), L, R) semantics matched by this predicate. max(L, R) iff L and R are not NaN m_UnordFMax(L, R) = L iff L or R are NaN

Declared at: llvm/include/llvm/IR/PatternMatch.h:1928

Templates

LHS
RHS

Parameters

const LHS& L
const RHS& R