MLIR 22.0.0git
mlir::pdl_to_pdl_interp::OperandGroupPosition Struct Reference

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

#include "Conversion/PDLToPDLInterp/Predicate.h"

Inheritance diagram for mlir::pdl_to_pdl_interp::OperandGroupPosition:

Public Member Functions

 OperandGroupPosition (const KeyTy &key)
std::optional< unsignedgetOperandGroupNumber () const
 Returns the group number of this position.
bool isVariadic () const
 Returns if the operand group has unknown size.
Public Member Functions inherited from mlir::pdl_to_pdl_interp::PredicateBase< OperandGroupPosition, Position, std::tuple< OperationPosition *, std::optional< unsigned >, bool >, Predicates::OperandGroupPos >
 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< OperandGroupPosition, Position, std::tuple< OperationPosition *, std::optional< unsigned >, bool >, Predicates::OperandGroupPos >
static OperandGroupPositionget (StorageUniquer &uniquer, Args &&...args)
 Get an instance of this position.
static OperandGroupPositionconstruct (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< OperandGroupPosition, Position, std::tuple< OperationPosition *, std::optional< unsigned >, bool >, Predicates::OperandGroupPos >
using KeyTy
using Base
Protected Member Functions inherited from mlir::StorageUniquer::BaseStorage
 BaseStorage ()=default
Protected Attributes inherited from mlir::pdl_to_pdl_interp::PredicateBase< OperandGroupPosition, Position, std::tuple< OperationPosition *, std::optional< unsigned >, bool >, Predicates::OperandGroupPos >
KeyTy key
Protected Attributes inherited from mlir::pdl_to_pdl_interp::Position
Positionparent = nullptr
 Link to the parent position.

Detailed Description

A position describing an operand group of an operation.

Definition at line 228 of file Predicate.h.

Constructor & Destructor Documentation

◆ OperandGroupPosition()

Member Function Documentation

◆ getOperandGroupNumber()

std::optional< unsigned > mlir::pdl_to_pdl_interp::OperandGroupPosition::getOperandGroupNumber ( ) const
inline

Returns the group number of this position.

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

Definition at line 242 of file Predicate.h.

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

◆ hashKey()

llvm::hash_code mlir::pdl_to_pdl_interp::OperandGroupPosition::hashKey ( const KeyTy & key)
inlinestatic

◆ isVariadic()

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

Returns if the operand group has unknown size.

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

Definition at line 248 of file Predicate.h.

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


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