MLIR
21.0.0git
|
Computes the backward-slice of all transitive defs reachable from rootOp
, if innerMatcher
matches.
More...
Namespaces | |
internal | |
Classes | |
struct | has_simple_match |
struct | has_simple_match< T, std::void_t< decltype(std::declval< T >().match(std::declval< Operation * >()))> > |
struct | has_bound_match |
struct | has_bound_match< T, std::void_t< decltype(std::declval< T >().match(std::declval< Operation * >(), std::declval< SetVector< Operation * > & >()))> > |
class | MatcherInterface |
class | MatcherFnImpl |
class | VariadicMatcher |
class | DynMatcher |
class | VariadicOperatorMatcher |
struct | VariadicOperatorMatcherFunc |
class | MatchFinder |
Finds and collects matches from the IR. More... | |
class | Registry |
class | BackwardSliceMatcher |
class | PredicateBackwardSliceMatcher |
Computes the backward-slice of all transitive defs reachable from rootOp , if innerMatcher matches. More... | |
class | PredicateForwardSliceMatcher |
Computes the forward-slice of all users reachable from rootOp , if innerMatcher matches. More... | |
class | VariantMatcher |
class | VariantValue |
struct | ParserValue |
struct | MatcherCompletion |
class | RegistryManager |
Typedefs | |
using | VariadicOperatorFunction = bool(*)(Operation *op, SetVector< Operation * > *matchedOps, ArrayRef< DynMatcher > innerMatchers) |
using | ConstructorMap = llvm::StringMap< std::unique_ptr< const internal::MatcherDescriptor > > |
using | MatcherCtor = const internal::MatcherDescriptor * |
Enumerations | |
enum class | ArgKind { Boolean , Matcher , Signed , String } |
Functions | |
template<typename Matcher > | |
BackwardSliceMatcher< Matcher > | m_GetDefinitions (Matcher innerMatcher, int64_t maxDepth, bool inclusive, bool omitBlockArguments, bool omitUsesFromAbove) |
Matches transitive defs of a top-level operation up to N levels. More... | |
template<typename Matcher > | |
BackwardSliceMatcher< Matcher > | m_GetAllDefinitions (Matcher innerMatcher, int64_t maxDepth) |
Matches all transitive defs of a top-level operation up to N levels. More... | |
template<typename BaseMatcher , typename Filter > | |
PredicateBackwardSliceMatcher< BaseMatcher, Filter > | m_GetDefinitionsByPredicate (BaseMatcher innerMatcher, Filter filterMatcher, bool inclusive, bool omitBlockArguments, bool omitUsesFromAbove) |
Matches all transitive defs of a top-level operation and stops where filterMatcher rejects. More... | |
template<typename BaseMatcher , typename Filter > | |
PredicateForwardSliceMatcher< BaseMatcher, Filter > | m_GetUsersByPredicate (BaseMatcher innerMatcher, Filter filterMatcher, bool inclusive) |
Matches all users of a top-level operation and stops where filterMatcher rejects. More... | |
Computes the backward-slice of all transitive defs reachable from rootOp
, if innerMatcher
matches.
The traversal stops once the desired depth level is reached.
Example: starting from node 9, assuming the matcher
1 2 3 4 |_______| |______| | | | | 5 6 |___|_____________| | | 7 8 |_______________| | 9
Assuming all local orders match the numbering order: {5, 7, 6, 8, 9}
using mlir::query::matcher::ConstructorMap = typedef llvm::StringMap<std::unique_ptr<const internal::MatcherDescriptor> > |
Definition at line 25 of file Registry.h.
using mlir::query::matcher::MatcherCtor = typedef const internal::MatcherDescriptor * |
Definition at line 29 of file RegistryManager.h.
using mlir::query::matcher::VariadicOperatorFunction = typedef bool (*)(Operation *op, SetVector<Operation *> *matchedOps, ArrayRef<DynMatcher> innerMatchers) |
Definition at line 98 of file MatchersInternal.h.
|
strong |
Enumerator | |
---|---|
Boolean | |
Matcher | |
Signed | |
String |
Definition at line 24 of file VariantValue.h.
|
inline |
Matches all transitive defs of a top-level operation up to N levels.
Definition at line 207 of file SliceMatchers.h.
|
inline |
Matches transitive defs of a top-level operation up to N levels.
Definition at line 197 of file SliceMatchers.h.
|
inline |
Matches all transitive defs of a top-level operation and stops where filterMatcher
rejects.
Definition at line 218 of file SliceMatchers.h.
|
inline |
Matches all users of a top-level operation and stops where filterMatcher
rejects.
Definition at line 230 of file SliceMatchers.h.