#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 |
HALIDE_ALWAYS_INLINE Expr | make (MatcherState &state, halide_type_t type_hint) const |
HALIDE_ALWAYS_INLINE | SliceOp (Vec v, Base b, Stride s, Lanes l) |
Public Attributes | |
Vec | vec |
Base | base |
Stride | stride |
Lanes | lanes |
Static Public Attributes | |
static constexpr uint32_t | binds = Vec::binds | Base::binds | Stride::binds | Lanes::binds |
static constexpr IRNodeType | min_node_type = IRNodeType::Shuffle |
static constexpr IRNodeType | max_node_type = IRNodeType::Shuffle |
static constexpr bool | canonical = Vec::canonical && Base::canonical && Stride::canonical && Lanes::canonical |
static constexpr bool | foldable = false |
|
inline |
|
inlinenoexcept |
Definition at line 2147 of file IRMatch.h.
References base, HALIDE_ALWAYS_INLINE, Halide::Internal::Shuffle::is_slice(), lanes, Halide::Type::lanes(), Halide::Internal::IRMatcher::bindings< T >::mask, match(), Halide::Internal::Shuffle, Halide::Internal::Shuffle::slice_begin(), Halide::Internal::Shuffle::slice_stride(), stride, Halide::Internal::BaseExprNode::type, vec, and Halide::Internal::Shuffle::vectors.
Referenced by match().
|
inline |
Definition at line 2161 of file IRMatch.h.
References base, halide_scalar_value_t::i64, lanes, Halide::Internal::Shuffle::make_slice(), stride, halide_scalar_value_t::u, and vec.
Vec Halide::Internal::IRMatcher::SliceOp< Vec, Base, Stride, Lanes >::vec |
Base Halide::Internal::IRMatcher::SliceOp< Vec, Base, Stride, Lanes >::base |
Stride Halide::Internal::IRMatcher::SliceOp< Vec, Base, Stride, Lanes >::stride |
Lanes Halide::Internal::IRMatcher::SliceOp< Vec, Base, Stride, Lanes >::lanes |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |