MLIR  16.0.0git
Classes | Namespaces | Enumerations
Predicate.h File Reference
#include "mlir/IR/MLIRContext.h"
#include "mlir/IR/OperationSupport.h"
#include "mlir/IR/PatternMatch.h"
#include "mlir/IR/Types.h"
+ Include dependency graph for Predicate.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  mlir::pdl_to_pdl_interp::PredicateBase< ConcreteT, BaseT, Key, Kind >
 Base class for all predicates, used to allow efficient pointer comparison. More...
 
class  mlir::pdl_to_pdl_interp::PredicateBase< ConcreteT, BaseT, void, Kind >
 Base storage for simple predicates that only unique with the kind. More...
 
class  mlir::pdl_to_pdl_interp::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  mlir::pdl_to_pdl_interp::AttributePosition
 A position describing an attribute of an operation. More...
 
struct  mlir::pdl_to_pdl_interp::AttributeLiteralPosition
 A position describing a literal attribute. More...
 
struct  mlir::pdl_to_pdl_interp::ForEachPosition
 A position describing an iterative choice of an operation. More...
 
struct  mlir::pdl_to_pdl_interp::OperandPosition
 A position describing an operand of an operation. More...
 
struct  mlir::pdl_to_pdl_interp::OperandGroupPosition
 A position describing an operand group of an operation. More...
 
struct  mlir::pdl_to_pdl_interp::OperationPosition
 An operation position describes an operation node in the IR. More...
 
struct  mlir::pdl_to_pdl_interp::ResultPosition
 A position describing a result of an operation. More...
 
struct  mlir::pdl_to_pdl_interp::ResultGroupPosition
 A position describing a result group of an operation. More...
 
struct  mlir::pdl_to_pdl_interp::TypePosition
 A position describing the result type of an entity, i.e. More...
 
struct  mlir::pdl_to_pdl_interp::TypeLiteralPosition
 A position describing a literal type or type range. More...
 
struct  mlir::pdl_to_pdl_interp::UsersPosition
 A position describing the users of a value or a range of values. More...
 
class  mlir::pdl_to_pdl_interp::Qualifier
 An ordinal predicate consists of a "Question" and a set of acceptable "Answers" (later converted to ordinal values). More...
 
struct  mlir::pdl_to_pdl_interp::AttributeAnswer
 An Answer representing an Attribute value. More...
 
struct  mlir::pdl_to_pdl_interp::OperationNameAnswer
 An Answer representing an OperationName value. More...
 
struct  mlir::pdl_to_pdl_interp::TrueAnswer
 An Answer representing a boolean true value. More...
 
struct  mlir::pdl_to_pdl_interp::FalseAnswer
 An Answer representing a boolean 'false' value. More...
 
struct  mlir::pdl_to_pdl_interp::TypeAnswer
 An Answer representing a Type value. More...
 
struct  mlir::pdl_to_pdl_interp::UnsignedAnswer
 An Answer representing an unsigned value. More...
 
struct  mlir::pdl_to_pdl_interp::AttributeQuestion
 Compare an Attribute to a constant value. More...
 
struct  mlir::pdl_to_pdl_interp::ConstraintQuestion
 Apply a parameterized constraint to multiple position values. More...
 
struct  mlir::pdl_to_pdl_interp::EqualToQuestion
 Compare the equality of two values. More...
 
struct  mlir::pdl_to_pdl_interp::IsNotNullQuestion
 Compare a positional value with null, i.e. check if it exists. More...
 
struct  mlir::pdl_to_pdl_interp::OperandCountQuestion
 Compare the number of operands of an operation with a known value. More...
 
struct  mlir::pdl_to_pdl_interp::OperandCountAtLeastQuestion
 
struct  mlir::pdl_to_pdl_interp::OperationNameQuestion
 Compare the name of an operation with a known value. More...
 
struct  mlir::pdl_to_pdl_interp::ResultCountQuestion
 Compare the number of results of an operation with a known value. More...
 
struct  mlir::pdl_to_pdl_interp::ResultCountAtLeastQuestion
 
struct  mlir::pdl_to_pdl_interp::TypeQuestion
 Compare the type of an attribute or value with a known type. More...
 
class  mlir::pdl_to_pdl_interp::PredicateUniquer
 This class provides a storage uniquer that is used to allocate predicate instances. More...
 
class  mlir::pdl_to_pdl_interp::PredicateBuilder
 This class provides utilities for constructing predicates. More...
 

Namespaces

 mlir
 Include the generated interface declarations.
 
 mlir::pdl_to_pdl_interp
 
 mlir::pdl_to_pdl_interp::Predicates
 

Enumerations

enum  mlir::pdl_to_pdl_interp::Predicates::Kind : unsigned {
  mlir::pdl_to_pdl_interp::Predicates::OperationPos, mlir::pdl_to_pdl_interp::Predicates::OperandPos, mlir::pdl_to_pdl_interp::Predicates::OperandGroupPos, mlir::pdl_to_pdl_interp::Predicates::AttributePos,
  mlir::pdl_to_pdl_interp::Predicates::ResultPos, mlir::pdl_to_pdl_interp::Predicates::ResultGroupPos, mlir::pdl_to_pdl_interp::Predicates::TypePos, mlir::pdl_to_pdl_interp::Predicates::AttributeLiteralPos,
  mlir::pdl_to_pdl_interp::Predicates::TypeLiteralPos, mlir::pdl_to_pdl_interp::Predicates::UsersPos, mlir::pdl_to_pdl_interp::Predicates::ForEachPos, mlir::pdl_to_pdl_interp::Predicates::IsNotNullQuestion,
  mlir::pdl_to_pdl_interp::Predicates::OperationNameQuestion, mlir::pdl_to_pdl_interp::Predicates::TypeQuestion, mlir::pdl_to_pdl_interp::Predicates::AttributeQuestion, mlir::pdl_to_pdl_interp::Predicates::OperandCountAtLeastQuestion,
  mlir::pdl_to_pdl_interp::Predicates::OperandCountQuestion, mlir::pdl_to_pdl_interp::Predicates::ResultCountAtLeastQuestion, mlir::pdl_to_pdl_interp::Predicates::ResultCountQuestion, mlir::pdl_to_pdl_interp::Predicates::EqualToQuestion,
  mlir::pdl_to_pdl_interp::Predicates::ConstraintQuestion, mlir::pdl_to_pdl_interp::Predicates::AttributeAnswer, mlir::pdl_to_pdl_interp::Predicates::FalseAnswer, mlir::pdl_to_pdl_interp::Predicates::OperationNameAnswer,
  mlir::pdl_to_pdl_interp::Predicates::TrueAnswer, mlir::pdl_to_pdl_interp::Predicates::TypeAnswer, mlir::pdl_to_pdl_interp::Predicates::UnsignedAnswer
}
 An enumeration of the kinds of predicates. More...