MLIR  20.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"

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::ConstraintPosition
 A position describing the result of a native constraint. 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 and possibly produce results. 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::ConstraintResultPos , 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...