Halide
Halide::Internal::IRMatcher::VectorReduceOp< A, B, reduce_op > 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 A2 , typename B2 , VectorReduce::Operator reduce_op_2>
HALIDE_ALWAYS_INLINE bool match (const VectorReduceOp< A2, B2, reduce_op_2 > &op, MatcherState &state) const noexcept
 
HALIDE_ALWAYS_INLINE Expr make (MatcherState &state, halide_type_t type_hint) const
 

Public Attributes

a
 
lanes
 

Static Public Attributes

constexpr static uint32_t binds = bindings<A>::mask | bindings<B>::mask
 
constexpr static IRNodeType min_node_type = IRNodeType::VectorReduce
 
constexpr static IRNodeType max_node_type = IRNodeType::VectorReduce
 
constexpr static bool canonical = A::canonical
 
constexpr static bool foldable = false
 

Detailed Description

template<typename A, typename B, VectorReduce::Operator reduce_op>
struct Halide::Internal::IRMatcher::VectorReduceOp< A, B, reduce_op >

Definition at line 1876 of file IRMatch.h.

Member Function Documentation

◆ match() [1/2]

◆ match() [2/2]

template<typename A , typename B , VectorReduce::Operator reduce_op>
template<uint32_t bound, typename A2 , typename B2 , VectorReduce::Operator reduce_op_2>
HALIDE_ALWAYS_INLINE bool Halide::Internal::IRMatcher::VectorReduceOp< A, B, reduce_op >::match ( const VectorReduceOp< A2, B2, reduce_op_2 > &  op,
MatcherState state 
) const
inlinenoexcept

◆ make()

Member Data Documentation

◆ a

◆ lanes

◆ binds

template<typename A , typename B , VectorReduce::Operator reduce_op>
constexpr static uint32_t Halide::Internal::IRMatcher::VectorReduceOp< A, B, reduce_op >::binds = bindings<A>::mask | bindings<B>::mask
staticconstexpr

Definition at line 1881 of file IRMatch.h.

◆ min_node_type

template<typename A , typename B , VectorReduce::Operator reduce_op>
constexpr static IRNodeType Halide::Internal::IRMatcher::VectorReduceOp< A, B, reduce_op >::min_node_type = IRNodeType::VectorReduce
staticconstexpr

Definition at line 1883 of file IRMatch.h.

◆ max_node_type

template<typename A , typename B , VectorReduce::Operator reduce_op>
constexpr static IRNodeType Halide::Internal::IRMatcher::VectorReduceOp< A, B, reduce_op >::max_node_type = IRNodeType::VectorReduce
staticconstexpr

Definition at line 1884 of file IRMatch.h.

◆ canonical

template<typename A , typename B , VectorReduce::Operator reduce_op>
constexpr static bool Halide::Internal::IRMatcher::VectorReduceOp< A, B, reduce_op >::canonical = A::canonical
staticconstexpr

Definition at line 1885 of file IRMatch.h.

◆ foldable

template<typename A , typename B , VectorReduce::Operator reduce_op>
constexpr static bool Halide::Internal::IRMatcher::VectorReduceOp< A, B, reduce_op >::foldable = false
staticconstexpr

Definition at line 1916 of file IRMatch.h.


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