MLIR  20.0.0git
Public Member Functions | Static Public Member Functions | List of all members
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< unsigned > getOperandGroupNumber () const
 Returns the group number of this position. More...
 
bool isVariadic () const
 Returns if the operand group has unknown size. More...
 
- 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. 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< OperandGroupPosition, Position, std::tuple< OperationPosition *, std::optional< unsigned >, bool >, Predicates::OperandGroupPos >
static OperandGroupPositionget (StorageUniquer &uniquer, Args &&...args)
 Get an instance of this position. More...
 
static OperandGroupPositionconstruct (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< OperandGroupPosition, Position, std::tuple< OperationPosition *, std::optional< unsigned >, bool >, Predicates::OperandGroupPos >
using KeyTy = std::tuple< OperationPosition *, std::optional< unsigned >, bool >
 
using Base = PredicateBase< OperandGroupPosition, 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< 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. More...
 

Detailed Description

A position describing an operand group of an operation.

Definition at line 223 of file Predicate.h.

Constructor & Destructor Documentation

◆ OperandGroupPosition()

OperandGroupPosition::OperandGroupPosition ( const KeyTy key)
explicit

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

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

◆ hashKey()

static 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 243 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: