LLVM 23.0.0git
llvm::VPlanPatternMatch::Blend2_match< Op0_t, Op1_t, Op2_t > Struct Template Reference

Match a VPBlendRecipe with 2 incoming values ([I0, I1, M1] == normalized([I0, M0, I1, M1])) as select(M1, I1, I0), mirroring how it is lowered. More...

#include "Transforms/Vectorize/VPlanPatternMatch.h"

Public Member Functions

 Blend2_match (const Op0_t &MaskOp, const Op1_t &TrueOp, const Op2_t &FalseOp)
template<typename T>
bool match (const T *Val) const

Public Attributes

Op0_t MaskOp
Op1_t TrueOp
Op2_t FalseOp

Detailed Description

template<typename Op0_t, typename Op1_t, typename Op2_t>
struct llvm::VPlanPatternMatch::Blend2_match< Op0_t, Op1_t, Op2_t >

Match a VPBlendRecipe with 2 incoming values ([I0, I1, M1] == normalized([I0, M0, I1, M1])) as select(M1, I1, I0), mirroring how it is lowered.

Definition at line 784 of file VPlanPatternMatch.h.

Constructor & Destructor Documentation

◆ Blend2_match()

template<typename Op0_t, typename Op1_t, typename Op2_t>
llvm::VPlanPatternMatch::Blend2_match< Op0_t, Op1_t, Op2_t >::Blend2_match ( const Op0_t & MaskOp,
const Op1_t & TrueOp,
const Op2_t & FalseOp )
inline

Definition at line 789 of file VPlanPatternMatch.h.

References FalseOp, MaskOp, and TrueOp.

Member Function Documentation

◆ match()

template<typename Op0_t, typename Op1_t, typename Op2_t>
template<typename T>
bool llvm::VPlanPatternMatch::Blend2_match< Op0_t, Op1_t, Op2_t >::match ( const T * Val) const
inline

Definition at line 792 of file VPlanPatternMatch.h.

References llvm::dyn_cast(), FalseOp, MaskOp, T, and TrueOp.

Member Data Documentation

◆ FalseOp

template<typename Op0_t, typename Op1_t, typename Op2_t>
Op2_t llvm::VPlanPatternMatch::Blend2_match< Op0_t, Op1_t, Op2_t >::FalseOp

Definition at line 787 of file VPlanPatternMatch.h.

Referenced by Blend2_match(), and match().

◆ MaskOp

template<typename Op0_t, typename Op1_t, typename Op2_t>
Op0_t llvm::VPlanPatternMatch::Blend2_match< Op0_t, Op1_t, Op2_t >::MaskOp

Definition at line 785 of file VPlanPatternMatch.h.

Referenced by Blend2_match(), and match().

◆ TrueOp

template<typename Op0_t, typename Op1_t, typename Op2_t>
Op1_t llvm::VPlanPatternMatch::Blend2_match< Op0_t, Op1_t, Op2_t >::TrueOp

Definition at line 786 of file VPlanPatternMatch.h.

Referenced by Blend2_match(), and match().


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