MLIR  15.0.0git
mlir::pdl_to_pdl_interp Namespace Reference

Predicates

Classes

An Answer representing an Attribute value. More...

struct  AttributeLiteralPosition
A position describing a literal attribute. More...

struct  AttributePosition
A position describing an attribute of an operation. More...

struct  AttributeQuestion
Compare an Attribute to a constant value. More...

struct  BoolNode
A BoolNode denotes a question with a boolean-like result. More...

struct  ConstraintQuestion
Apply a parameterized constraint to multiple position values. More...

struct  EqualToQuestion
Compare the equality of two values. More...

struct  ExitNode
An ExitNode is a special sentinel node that denotes the end of matcher. More...

An Answer representing a boolean 'false' value. More...

struct  ForEachPosition
A position describing an iterative choice of an operation. More...

struct  IsNotNullQuestion
Compare a positional value with null, i.e. check if it exists. More...

class  MatcherNode
This class represents the base of a predicate matcher node. More...

struct  OperandCountAtLeastQuestion

struct  OperandCountQuestion
Compare the number of operands of an operation with a known value. More...

struct  OperandGroupPosition
A position describing an operand group of an operation. More...

struct  OperandPosition
A position describing an operand of an operation. More...

An Answer representing an OperationName value. More...

struct  OperationNameQuestion
Compare the name of an operation with a known value. More...

struct  OperationPosition
An operation position describes an operation node in the IR. More...

class  OptimalBranching
The optimal branching algorithm solver. More...

class  Position
A position describes a value on the input IR on which a predicate may be applied, such as an operation or attribute. More...

struct  PositionalPredicate
A PositionalPredicate is a predicate that is associated with a specific positional value. More...

class  PredicateBase
Base class for all predicates, used to allow efficient pointer comparison. More...

class  PredicateBase< ConcreteT, BaseT, void, Kind >
Base storage for simple predicates that only unique with the kind. More...

class  PredicateBuilder
This class provides utilities for constructing predicates. More...

class  PredicateUniquer
This class provides a storage uniquer that is used to allocate predicate instances. More...

class  Qualifier
An ordinal predicate consists of a "Question" and a set of acceptable "Answers" (later converted to ordinal values). More...

struct  ResultCountAtLeastQuestion

struct  ResultCountQuestion
Compare the number of results of an operation with a known value. More...

struct  ResultGroupPosition
A position describing a result group of an operation. More...

struct  ResultPosition
A position describing a result of an operation. More...

struct  RootOrderingEntry
The information associated with an edge in the cost graph. More...

struct  SuccessNode
A SuccessNode denotes that a given high level pattern has successfully been matched. More...

struct  SwitchNode
A SwitchNode denotes a question with multiple potential results. More...

An Answer representing a boolean true value. More...

An Answer representing a Type value. More...

struct  TypeLiteralPosition
A position describing a literal type or type range. More...

struct  TypePosition
A position describing the result type of an entity, i.e. More...

struct  TypeQuestion
Compare the type of an attribute or value with a known type. More...

An Answer representing an unsigned value. More...

struct  UsersPosition
A position describing the users of a value or a range of values. More...

Typedefs

using RootOrderingGraph = DenseMap< Value, DenseMap< Value, RootOrderingEntry > >
A directed graph representing the cost of ordering the roots in the predicate tree. More...

◆ RootOrderingGraph

 using mlir::pdl_to_pdl_interp::RootOrderingGraph = typedef DenseMap >

A directed graph representing the cost of ordering the roots in the predicate tree.

It is represented as an adjacency map, where the outer map is indexed by the target node, and the inner map is indexed by the source node. Each edge is associated with a cost and the underlying connector value.

Definition at line 78 of file RootOrdering.h.