Halide 19.0.0
Halide compiler and libraries
|
#include <IRMatch.h>
Classes | |
struct | pattern_tag |
Public Member Functions | |
template<int i, uint32_t bound, typename = typename std::enable_if<(i < sizeof...(Args))>::type> | |
HALIDE_ALWAYS_INLINE bool | match_args (int, const Call &c, MatcherState &state) const noexcept |
template<int i, uint32_t binds> | |
HALIDE_ALWAYS_INLINE bool | match_args (double, const Call &c, MatcherState &state) const noexcept |
template<uint32_t bound> | |
HALIDE_ALWAYS_INLINE bool | match (const BaseExprNode &e, MatcherState &state) const noexcept |
template<int i, typename = typename std::enable_if<(i < sizeof...(Args))>::type> | |
HALIDE_ALWAYS_INLINE void | print_args (int, std::ostream &s) const |
template<int i> | |
HALIDE_ALWAYS_INLINE void | print_args (double, std::ostream &s) const |
HALIDE_ALWAYS_INLINE void | print_args (std::ostream &s) const |
HALIDE_ALWAYS_INLINE Expr | make (MatcherState &state, halide_type_t type_hint) const |
HALIDE_ALWAYS_INLINE void | make_folded_const (halide_scalar_value_t &val, halide_type_t &ty, MatcherState &state) const noexcept |
HALIDE_ALWAYS_INLINE | Intrin (Call::IntrinsicOp intrin, Args... args) noexcept |
Public Attributes | |
Call::IntrinsicOp | intrin |
std::tuple< Args... > | args |
Type | optional_type_hint |
Static Public Attributes | |
static constexpr uint32_t | binds = bitwise_or_reduce((bindings<Args>::mask)...) |
static constexpr IRNodeType | min_node_type = IRNodeType::Call |
static constexpr IRNodeType | max_node_type = IRNodeType::Call |
static constexpr bool | canonical = and_reduce((Args::canonical)...) |
static constexpr bool | foldable = true |
|
inlinenoexcept |
|
inlinenoexcept |
Definition at line 1363 of file IRMatch.h.
References Halide::Internal::Call::args, Halide::Internal::IRMatcher::Intrin< Args >::args, Halide::Internal::IRMatcher::Intrin< Args >::match(), and Halide::Internal::IRMatcher::Intrin< Args >::match_args().
Referenced by Halide::Internal::IRMatcher::Intrin< Args >::match(), and Halide::Internal::IRMatcher::Intrin< Args >::match_args().
|
inlinenoexcept |
|
inlinenoexcept |
Definition at line 1375 of file IRMatch.h.
References Halide::Internal::Call, Halide::Internal::IRMatcher::Intrin< Args >::intrin, Halide::Internal::Call::is_intrinsic(), Halide::Internal::IRMatcher::Intrin< Args >::match_args(), and Halide::Internal::IRMatcher::Intrin< Args >::optional_type_hint.
Referenced by Halide::Internal::IRMatcher::Intrin< Args >::match_args().
|
inline |
Definition at line 1387 of file IRMatch.h.
References Halide::Internal::IRMatcher::Intrin< Args >::args, and Halide::Internal::IRMatcher::Intrin< Args >::print_args().
Referenced by Halide::Internal::IRMatcher::operator<<(), Halide::Internal::IRMatcher::Intrin< Args >::print_args(), and Halide::Internal::IRMatcher::Intrin< Args >::print_args().
|
inline |
|
inline |
Definition at line 1400 of file IRMatch.h.
References Halide::Internal::IRMatcher::Intrin< Args >::print_args().
|
inline |
Definition at line 1405 of file IRMatch.h.
References Halide::Internal::abs(), Halide::Internal::Call::abs, Halide::absd(), Halide::Internal::Call::absd, Halide::Internal::IRMatcher::Intrin< Args >::args, Halide::Internal::IRMatcher::const_min(), Halide::Internal::Call::halving_add, Halide::Internal::IRMatcher::halving_add(), Halide::Internal::Call::halving_sub, Halide::Internal::IRMatcher::halving_sub(), internal_error, Halide::Internal::IRMatcher::Intrin< Args >::intrin, Halide::Internal::Call::likely, Halide::likely(), Halide::Internal::Call::likely_if_innermost, Halide::likely_if_innermost(), Halide::Internal::IRMatcher::Intrin< Args >::make(), Halide::Internal::Call::mul_shift_right, Halide::Internal::IRMatcher::mul_shift_right(), Halide::Internal::IRMatcher::Intrin< Args >::optional_type_hint, Halide::Internal::Call::rounding_halving_add, Halide::Internal::IRMatcher::rounding_halving_add(), Halide::Internal::Call::rounding_mul_shift_right, Halide::Internal::IRMatcher::rounding_mul_shift_right(), Halide::Internal::Call::rounding_shift_left, Halide::Internal::IRMatcher::rounding_shift_left(), Halide::Internal::Call::rounding_shift_right, Halide::Internal::IRMatcher::rounding_shift_right(), Halide::Internal::Call::saturating_add, Halide::Internal::IRMatcher::saturating_add(), Halide::Internal::Call::saturating_cast, Halide::Internal::IRMatcher::saturating_cast(), Halide::Internal::Call::saturating_sub, Halide::Internal::IRMatcher::saturating_sub(), Halide::Internal::Call::shift_left, Halide::Internal::Call::shift_right, Halide::Internal::Call::widen_right_add, Halide::Internal::IRMatcher::widen_right_add(), Halide::Internal::Call::widen_right_mul, Halide::Internal::IRMatcher::widen_right_mul(), Halide::Internal::Call::widen_right_sub, Halide::Internal::IRMatcher::widen_right_sub(), Halide::Internal::Call::widening_add, Halide::Internal::IRMatcher::widening_add(), Halide::Internal::Call::widening_mul, Halide::Internal::IRMatcher::widening_mul(), Halide::Internal::Call::widening_sub, and Halide::Internal::IRMatcher::widening_sub().
Referenced by Halide::Internal::IRMatcher::Intrin< Args >::make().
|
inlinenoexcept |
Definition at line 1465 of file IRMatch.h.
References Halide::Internal::IRMatcher::Intrin< Args >::args, halide_type_t::code, halide_type_int, halide_scalar_value_t::i64, internal_error, Halide::Internal::IRMatcher::Intrin< Args >::intrin, Halide::Internal::Call::shift_left, Halide::Internal::Call::shift_right, and halide_scalar_value_t::u.
Call::IntrinsicOp Halide::Internal::IRMatcher::Intrin< Args >::intrin |
std::tuple<Args...> Halide::Internal::IRMatcher::Intrin< Args >::args |
Type Halide::Internal::IRMatcher::Intrin< Args >::optional_type_hint |
Definition at line 1352 of file IRMatch.h.
Referenced by Halide::Internal::IRMatcher::Intrin< Args >::make(), Halide::Internal::IRMatcher::Intrin< Args >::match(), and Halide::Internal::IRMatcher::saturating_cast().
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |