|
template<typename MatcherClass > |
std::enable_if_t< llvm::is_detected< detail::has_compatible_matcher_t, MatcherClass, Value >::value, bool > | mlir::detail::matchOperandOrValueAtIndex (Operation *op, unsigned idx, MatcherClass &matcher) |
| Statically switch to a Value matcher. More...
|
|
template<typename MatcherClass > |
std::enable_if_t< llvm::is_detected< detail::has_compatible_matcher_t, MatcherClass, Operation * >::value, bool > | mlir::detail::matchOperandOrValueAtIndex (Operation *op, unsigned idx, MatcherClass &matcher) |
| Statically switch to an Operation matcher. More...
|
|
template<typename TupleT , class CallbackT , std::size_t... Is> |
constexpr void | mlir::detail::enumerateImpl (TupleT &&tuple, CallbackT &&callback, std::index_sequence< Is... >) |
|
template<typename... Tys, typename CallbackT > |
constexpr void | mlir::detail::enumerate (std::tuple< Tys... > &tuple, CallbackT &&callback) |
|
detail::constant_op_matcher | mlir::m_Constant () |
| Matches a constant foldable operation. More...
|
|
detail::AttrOpMatcher | mlir::m_Attr (StringRef attrName) |
| Matches a named attribute operation. More...
|
|
detail::NameOpMatcher | mlir::m_Op (StringRef opName) |
| Matches a named operation. More...
|
|
template<typename AttrT > |
detail::constant_op_binder< AttrT > | mlir::m_Constant (AttrT *bind_value) |
| Matches a value from a constant foldable operation and writes the value to bind_value. More...
|
|
template<typename AttrT > |
detail::AttrOpBinder< AttrT > | mlir::m_Attr (StringRef attrName, AttrT *bindValue) |
| Matches a named attribute operation and writes the value to bind_value. More...
|
|
detail::constant_float_predicate_matcher | mlir::m_AnyZeroFloat () |
| Matches a constant scalar / vector splat / tensor splat float (both positive and negative) zero. More...
|
|
detail::constant_float_predicate_matcher | mlir::m_PosZeroFloat () |
| Matches a constant scalar / vector splat / tensor splat float positive zero. More...
|
|
detail::constant_float_predicate_matcher | mlir::m_NegZeroFloat () |
| Matches a constant scalar / vector splat / tensor splat float negative zero. More...
|
|
detail::constant_float_predicate_matcher | mlir::m_OneFloat () |
| Matches a constant scalar / vector splat / tensor splat float ones. More...
|
|
detail::constant_float_predicate_matcher | mlir::m_NaNFloat () |
| Matches a constant scalar / vector splat / tensor splat float ones. More...
|
|
detail::constant_float_predicate_matcher | mlir::m_PosInfFloat () |
| Matches a constant scalar / vector splat / tensor splat float positive infinity. More...
|
|
detail::constant_float_predicate_matcher | mlir::m_NegInfFloat () |
| Matches a constant scalar / vector splat / tensor splat float negative infinity. More...
|
|
detail::constant_int_predicate_matcher | mlir::m_Zero () |
| Matches a constant scalar / vector splat / tensor splat integer zero. More...
|
|
detail::constant_int_predicate_matcher | mlir::m_NonZero () |
| Matches a constant scalar / vector splat / tensor splat integer that is any non-zero value. More...
|
|
detail::constant_int_range_predicate_matcher | mlir::m_IntRangeWithoutZeroU () |
| Matches a constant scalar / vector splat / tensor splat integer or a unsigned integer range that does not contain zero. More...
|
|
detail::constant_int_range_predicate_matcher | mlir::m_IntRangeWithoutZeroS () |
| Matches a constant scalar / vector splat / tensor splat integer or a signed integer range that does not contain zero. More...
|
|
detail::constant_int_range_predicate_matcher | mlir::m_IntRangeWithoutNegOneS () |
| Matches a constant scalar / vector splat / tensor splat integer or a signed integer range that does not contain minus one. More...
|
|
detail::constant_int_predicate_matcher | mlir::m_One () |
| Matches a constant scalar / vector splat / tensor splat integer one. More...
|
|
template<typename OpClass > |
detail::op_matcher< OpClass > | mlir::m_Op () |
| Matches the given OpClass. More...
|
|
template<typename Pattern > |
bool | mlir::matchPattern (Value value, const Pattern &pattern) |
| Entry point for matching a pattern over a Value. More...
|
|
template<typename Pattern > |
bool | mlir::matchPattern (Operation *op, const Pattern &pattern) |
| Entry point for matching a pattern over an Operation. More...
|
|
template<typename Pattern > |
bool | mlir::matchPattern (Attribute attr, const Pattern &pattern) |
| Entry point for matching a pattern over an Attribute. More...
|
|
detail::constant_float_value_binder | mlir::m_ConstantFloat (FloatAttr::ValueType *bind_value) |
| Matches a constant holding a scalar/vector/tensor float (splat) and writes the float value to bind_value. More...
|
|
detail::constant_int_value_binder | mlir::m_ConstantInt (IntegerAttr::ValueType *bind_value) |
| Matches a constant holding a scalar/vector/tensor integer (splat) and writes the integer value to bind_value. More...
|
|
template<typename OpType , typename... Matchers> |
auto | mlir::m_Op (Matchers... matchers) |
|
auto | mlir::matchers::m_Any () |
|
auto | mlir::matchers::m_Any (Value *val) |
|
auto | mlir::matchers::m_Val (Value v) |
|