MLIR  20.0.0git
Public Member Functions | Static Public Member Functions | List of all members
mlir::pdl_to_pdl_interp::ResultGroupPosition Struct Reference

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

#include "Conversion/PDLToPDLInterp/Predicate.h"

+ Inheritance diagram for mlir::pdl_to_pdl_interp::ResultGroupPosition:

Public Member Functions

 ResultGroupPosition (const KeyTy &key)
 
std::optional< unsigned > getResultGroupNumber () const
 Returns the group number of this position. More...
 
bool isVariadic () const
 Returns if the result group has unknown size. More...
 
- Public Member Functions inherited from mlir::pdl_to_pdl_interp::PredicateBase< ResultGroupPosition, Position, std::tuple< OperationPosition *, std::optional< unsigned >, bool >, Predicates::ResultGroupPos >
 PredicateBase (KeyT &&key)
 
bool operator== (const KeyTy &key) const
 Utility methods required by the storage allocator. More...
 
const KeyTygetValue () const
 Return the key value of this predicate. More...
 
- Public Member Functions inherited from mlir::pdl_to_pdl_interp::Position
 Position (Predicates::Kind kind)
 
virtual ~Position ()
 
unsigned getOperationDepth () const
 Returns the depth of the first ancestor operation position. More...
 
PositiongetParent () const
 Returns the parent position. The root operation position has no parent. More...
 
Predicates::Kind getKind () const
 Returns the kind of this position. More...
 

Static Public Member Functions

static llvm::hash_code hashKey (const KeyTy &key)
 Returns a hash suitable for the given keytype. More...
 
- Static Public Member Functions inherited from mlir::pdl_to_pdl_interp::PredicateBase< ResultGroupPosition, Position, std::tuple< OperationPosition *, std::optional< unsigned >, bool >, Predicates::ResultGroupPos >
static ResultGroupPositionget (StorageUniquer &uniquer, Args &&...args)
 Get an instance of this position. More...
 
static ResultGroupPositionconstruct (StorageUniquer::StorageAllocator &alloc, KeyT &&key)
 Construct an instance with the given storage allocator. More...
 
static bool classof (const Position *pred)
 

Additional Inherited Members

- Public Types inherited from mlir::pdl_to_pdl_interp::PredicateBase< ResultGroupPosition, Position, std::tuple< OperationPosition *, std::optional< unsigned >, bool >, Predicates::ResultGroupPos >
using KeyTy = std::tuple< OperationPosition *, std::optional< unsigned >, bool >
 
using Base = PredicateBase< ResultGroupPosition, Position, std::tuple< OperationPosition *, std::optional< unsigned >, bool >, Kind >
 
- Protected Member Functions inherited from mlir::StorageUniquer::BaseStorage
 BaseStorage ()=default
 
- Protected Attributes inherited from mlir::pdl_to_pdl_interp::PredicateBase< ResultGroupPosition, Position, std::tuple< OperationPosition *, std::optional< unsigned >, bool >, Predicates::ResultGroupPos >
KeyTy key
 
- Protected Attributes inherited from mlir::pdl_to_pdl_interp::Position
Positionparent = nullptr
 Link to the parent position. More...
 

Detailed Description

A position describing a result group of an operation.

Definition at line 323 of file Predicate.h.

Constructor & Destructor Documentation

◆ ResultGroupPosition()

mlir::pdl_to_pdl_interp::ResultGroupPosition::ResultGroupPosition ( const KeyTy key)
inlineexplicit

Member Function Documentation

◆ getResultGroupNumber()

std::optional<unsigned> mlir::pdl_to_pdl_interp::ResultGroupPosition::getResultGroupNumber ( ) const
inline

Returns the group number of this position.

If std::nullopt, this group refers to all results.

Definition at line 339 of file Predicate.h.

References mlir::pdl_to_pdl_interp::PredicateBase< ResultGroupPosition, Position, std::tuple< OperationPosition *, std::optional< unsigned >, bool >, Predicates::ResultGroupPos >::key.

◆ hashKey()

static llvm::hash_code mlir::pdl_to_pdl_interp::ResultGroupPosition::hashKey ( const KeyTy key)
inlinestatic

◆ isVariadic()

bool mlir::pdl_to_pdl_interp::ResultGroupPosition::isVariadic ( ) const
inline

Returns if the result group has unknown size.

If false, the result group has at max one element.

Definition at line 345 of file Predicate.h.

References mlir::pdl_to_pdl_interp::PredicateBase< ResultGroupPosition, Position, std::tuple< OperationPosition *, std::optional< unsigned >, bool >, Predicates::ResultGroupPos >::key.


The documentation for this struct was generated from the following file: