|
| 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.
|
| 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.
|
| 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.
|
| detail::AttrOpMatcher | mlir::m_Attr (StringRef attrName) |
| | Matches a named attribute operation.
|
| detail::NameOpMatcher | mlir::m_Op (StringRef opName) |
| | Matches a named operation.
|
| 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.
|
| 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.
|
| detail::constant_float_predicate_matcher | mlir::m_AnyZeroFloat () |
| | Matches a constant scalar / vector splat / tensor splat float (both positive and negative) zero.
|
| detail::constant_float_predicate_matcher | mlir::m_PosZeroFloat () |
| | Matches a constant scalar / vector splat / tensor splat float positive zero.
|
| detail::constant_float_predicate_matcher | mlir::m_NegZeroFloat () |
| | Matches a constant scalar / vector splat / tensor splat float negative zero.
|
| detail::constant_float_predicate_matcher | mlir::m_OneFloat () |
| | Matches a constant scalar / vector splat / tensor splat float ones.
|
| detail::constant_float_predicate_matcher | mlir::m_NaNFloat () |
| | Matches a constant scalar / vector splat / tensor splat float ones.
|
| detail::constant_float_predicate_matcher | mlir::m_PosInfFloat () |
| | Matches a constant scalar / vector splat / tensor splat float positive infinity.
|
| detail::constant_float_predicate_matcher | mlir::m_NegInfFloat () |
| | Matches a constant scalar / vector splat / tensor splat float negative infinity.
|
| detail::constant_int_predicate_matcher | mlir::m_Zero () |
| | Matches a constant scalar / vector splat / tensor splat integer zero.
|
| detail::constant_int_predicate_matcher | mlir::m_NonZero () |
| | Matches a constant scalar / vector splat / tensor splat integer that is any non-zero value.
|
| 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.
|
| 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.
|
| 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.
|
| detail::constant_int_predicate_matcher | mlir::m_One () |
| | Matches a constant scalar / vector splat / tensor splat integer one.
|
| template<typename OpClass> |
| detail::op_matcher< OpClass > | mlir::m_Op () |
| | Matches the given OpClass.
|
| template<typename Pattern> |
| bool | mlir::matchPattern (Value value, const Pattern &pattern) |
| | Entry point for matching a pattern over a Value.
|
| template<typename Pattern> |
| bool | mlir::matchPattern (Operation *op, const Pattern &pattern) |
| | Entry point for matching a pattern over an Operation.
|
| template<typename Pattern> |
| bool | mlir::matchPattern (Attribute attr, const Pattern &pattern) |
| | Entry point for matching a pattern over an Attribute.
|
| 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.
|
| 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.
|
| 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) |