MLIR 22.0.0git
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< unsignedgetResultGroupNumber () const
 Returns the group number of this position.
bool isVariadic () const
 Returns if the result group has unknown size.
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.
const KeyTygetValue () const
 Return the key value of this predicate.
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.
PositiongetParent () const
 Returns the parent position. The root operation position has no parent.
Predicates::Kind getKind () const
 Returns the kind of this position.

Static Public Member Functions

static llvm::hash_code hashKey (const KeyTy &key)
 Returns a hash suitable for the given keytype.
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.
static ResultGroupPositionconstruct (StorageUniquer::StorageAllocator &alloc, KeyT &&key)
 Construct an instance with the given storage allocator.
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
using Base
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.

Detailed Description

A position describing a result group of an operation.

Definition at line 332 of file Predicate.h.

Constructor & Destructor Documentation

◆ ResultGroupPosition()

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 348 of file Predicate.h.

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

◆ hashKey()

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 354 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: