LLVM 23.0.0git
llvm::SDPatternMatch::FunnelShiftLike_match< T0_P, T1_P, T2_P, Left > Struct Template Reference

#include "llvm/CodeGen/SDPatternMatch.h"

Public Member Functions

 FunnelShiftLike_match (const T0_P &Op0, const T1_P &Op1, const T2_P &Op2)
template<typename MatchContext>
bool matchOperands (const MatchContext &Ctx, SDValue X, SDValue Y, SDValue Z)
template<typename MatchContext>
bool matchShiftOr (const MatchContext &Ctx, SDValue N, unsigned BitWidth)
template<typename MatchContext>
bool match (const MatchContext &Ctx, SDValue N)

Static Public Member Functions

static bool hasComplementaryConstantShifts (const APInt &ShlV, const APInt &SrlV, unsigned BitWidth)

Public Attributes

T0_P Op0
T1_P Op1
T2_P Op2

Detailed Description

template<typename T0_P, typename T1_P, typename T2_P, bool Left>
struct llvm::SDPatternMatch::FunnelShiftLike_match< T0_P, T1_P, T2_P, Left >

Definition at line 982 of file SDPatternMatch.h.

Constructor & Destructor Documentation

◆ FunnelShiftLike_match()

template<typename T0_P, typename T1_P, typename T2_P, bool Left>
llvm::SDPatternMatch::FunnelShiftLike_match< T0_P, T1_P, T2_P, Left >::FunnelShiftLike_match ( const T0_P & Op0,
const T1_P & Op1,
const T2_P & Op2 )
inline

Definition at line 987 of file SDPatternMatch.h.

References Op0, Op1, and Op2.

Member Function Documentation

◆ hasComplementaryConstantShifts()

template<typename T0_P, typename T1_P, typename T2_P, bool Left>
bool llvm::SDPatternMatch::FunnelShiftLike_match< T0_P, T1_P, T2_P, Left >::hasComplementaryConstantShifts ( const APInt & ShlV,
const APInt & SrlV,
unsigned BitWidth )
inlinestatic

◆ match()

template<typename T0_P, typename T1_P, typename T2_P, bool Left>
template<typename MatchContext>
bool llvm::SDPatternMatch::FunnelShiftLike_match< T0_P, T1_P, T2_P, Left >::match ( const MatchContext & Ctx,
SDValue N )
inline

◆ matchOperands()

template<typename T0_P, typename T1_P, typename T2_P, bool Left>
template<typename MatchContext>
bool llvm::SDPatternMatch::FunnelShiftLike_match< T0_P, T1_P, T2_P, Left >::matchOperands ( const MatchContext & Ctx,
SDValue X,
SDValue Y,
SDValue Z )
inline

Definition at line 1003 of file SDPatternMatch.h.

References Op0, Op1, Op2, X, and Y.

Referenced by match(), and matchShiftOr().

◆ matchShiftOr()

template<typename T0_P, typename T1_P, typename T2_P, bool Left>
template<typename MatchContext>
bool llvm::SDPatternMatch::FunnelShiftLike_match< T0_P, T1_P, T2_P, Left >::matchShiftOr ( const MatchContext & Ctx,
SDValue N,
unsigned BitWidth )

Member Data Documentation

◆ Op0

template<typename T0_P, typename T1_P, typename T2_P, bool Left>
T0_P llvm::SDPatternMatch::FunnelShiftLike_match< T0_P, T1_P, T2_P, Left >::Op0

Definition at line 983 of file SDPatternMatch.h.

Referenced by FunnelShiftLike_match(), match(), and matchOperands().

◆ Op1

template<typename T0_P, typename T1_P, typename T2_P, bool Left>
T1_P llvm::SDPatternMatch::FunnelShiftLike_match< T0_P, T1_P, T2_P, Left >::Op1

Definition at line 984 of file SDPatternMatch.h.

Referenced by FunnelShiftLike_match(), match(), and matchOperands().

◆ Op2

template<typename T0_P, typename T1_P, typename T2_P, bool Left>
T2_P llvm::SDPatternMatch::FunnelShiftLike_match< T0_P, T1_P, T2_P, Left >::Op2

Definition at line 985 of file SDPatternMatch.h.

Referenced by FunnelShiftLike_match(), match(), and matchOperands().


The documentation for this struct was generated from the following file: