MLIR
20.0.0git
|
A position describing an operand group of an operation. More...
#include "Conversion/PDLToPDLInterp/Predicate.h"
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 KeyTy & | getValue () 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... | |
Position * | getParent () 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 OperandGroupPosition * | get (StorageUniquer &uniquer, Args &&...args) |
Get an instance of this position. More... | |
static OperandGroupPosition * | construct (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 | |
Position * | parent = nullptr |
Link to the parent position. More... | |
A position describing an operand group of an operation.
Definition at line 223 of file Predicate.h.
|
explicit |
|
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.
|
inlinestatic |
Returns a hash suitable for the given keytype.
Definition at line 231 of file Predicate.h.
References mlir::polynomial::hash_value(), and mlir::pdl_to_pdl_interp::PredicateBase< OperandGroupPosition, Position, std::tuple< OperationPosition *, std::optional< unsigned >, bool >, Predicates::OperandGroupPos >::key.
|
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.