Halide
Halide::Internal::IRMatcher::SelectOp< C, T, F > Struct Template Reference

#include <IRMatch.h>

Classes

struct  pattern_tag
 

Public Member Functions

template<uint32_t bound>
HALIDE_ALWAYS_INLINE bool match (const BaseExprNode &e, MatcherState &state) const noexcept
 
template<uint32_t bound, typename C2 , typename T2 , typename F2 >
HALIDE_ALWAYS_INLINE bool match (const SelectOp< C2, T2, F2 > &instance, MatcherState &state) const noexcept
 
HALIDE_ALWAYS_INLINE Expr make (MatcherState &state, halide_type_t type_hint) const
 
template<typename C1 = C>
HALIDE_ALWAYS_INLINE void make_folded_const (halide_scalar_value_t &val, halide_type_t &ty, MatcherState &state) const noexcept
 

Public Attributes

c
 
t
 
f
 

Static Public Attributes

constexpr static uint32_t binds = bindings<C>::mask | bindings<T>::mask | bindings<F>::mask
 
constexpr static IRNodeType min_node_type = IRNodeType::Select
 
constexpr static IRNodeType max_node_type = IRNodeType::Select
 
constexpr static bool canonical = C::canonical && T::canonical && F::canonical
 
constexpr static bool foldable = C::foldable && T::foldable && F::foldable
 

Detailed Description

template<typename C, typename T, typename F>
struct Halide::Internal::IRMatcher::SelectOp< C, T, F >

Definition at line 1673 of file IRMatch.h.

Member Function Documentation

◆ match() [1/2]

◆ match() [2/2]

template<typename C , typename T , typename F >
template<uint32_t bound, typename C2 , typename T2 , typename F2 >
HALIDE_ALWAYS_INLINE bool Halide::Internal::IRMatcher::SelectOp< C, T, F >::match ( const SelectOp< C2, T2, F2 > &  instance,
MatcherState state 
) const
inlinenoexcept

◆ make()

◆ make_folded_const()

Member Data Documentation

◆ c

◆ t

◆ f

◆ binds

template<typename C , typename T , typename F >
constexpr static uint32_t Halide::Internal::IRMatcher::SelectOp< C, T, F >::binds = bindings<C>::mask | bindings<T>::mask | bindings<F>::mask
staticconstexpr

Definition at line 1679 of file IRMatch.h.

◆ min_node_type

template<typename C , typename T , typename F >
constexpr static IRNodeType Halide::Internal::IRMatcher::SelectOp< C, T, F >::min_node_type = IRNodeType::Select
staticconstexpr

Definition at line 1681 of file IRMatch.h.

◆ max_node_type

template<typename C , typename T , typename F >
constexpr static IRNodeType Halide::Internal::IRMatcher::SelectOp< C, T, F >::max_node_type = IRNodeType::Select
staticconstexpr

Definition at line 1682 of file IRMatch.h.

◆ canonical

template<typename C , typename T , typename F >
constexpr static bool Halide::Internal::IRMatcher::SelectOp< C, T, F >::canonical = C::canonical && T::canonical && F::canonical
staticconstexpr

Definition at line 1684 of file IRMatch.h.

◆ foldable

template<typename C , typename T , typename F >
constexpr static bool Halide::Internal::IRMatcher::SelectOp< C, T, F >::foldable = C::foldable && T::foldable && F::foldable
staticconstexpr

Definition at line 1708 of file IRMatch.h.


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