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

An operation position describes an operation node in the IR. More...

#include "Conversion/PDLToPDLInterp/Predicate.h"

Inheritance diagram for mlir::pdl_to_pdl_interp::OperationPosition:

Public Member Functions

 OperationPosition (const KeyTy &key)
unsigned getDepth () const
 Returns the depth of this position.
bool isRoot () const
 Returns if this operation position corresponds to the root.
bool isOperandDefiningOp () const
 Returns if this operation represents an operand defining op.
Public Member Functions inherited from mlir::pdl_to_pdl_interp::PredicateBase< OperationPosition, Position, std::pair< Position *, unsigned >, Predicates::OperationPos >
 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 OperationPositiongetRoot (StorageUniquer &uniquer)
 Gets the root position.
static OperationPositionget (StorageUniquer &uniquer, Position *parent)
 Gets an operation position with the given parent.
Static Public Member Functions inherited from mlir::pdl_to_pdl_interp::PredicateBase< OperationPosition, Position, std::pair< Position *, unsigned >, Predicates::OperationPos >
static OperationPositionget (StorageUniquer &uniquer, Args &&...args)
 Get an instance of this position.
static OperationPositionconstruct (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< OperationPosition, Position, std::pair< Position *, unsigned >, Predicates::OperationPos >
using KeyTy
using Base
Protected Member Functions inherited from mlir::StorageUniquer::BaseStorage
 BaseStorage ()=default
Protected Attributes inherited from mlir::pdl_to_pdl_interp::PredicateBase< OperationPosition, Position, std::pair< Position *, unsigned >, Predicates::OperationPos >
KeyTy key
Protected Attributes inherited from mlir::pdl_to_pdl_interp::Position
Positionparent = nullptr
 Link to the parent position.

Detailed Description

An operation position describes an operation node in the IR.

Other position kinds are formed with respect to an operation position.

Definition at line 257 of file Predicate.h.

Constructor & Destructor Documentation

◆ OperationPosition()

mlir::pdl_to_pdl_interp::OperationPosition::OperationPosition ( const KeyTy & key)
inlineexplicit

Member Function Documentation

◆ get()

OperationPosition * mlir::pdl_to_pdl_interp::OperationPosition::get ( StorageUniquer & uniquer,
Position * parent )
inlinestatic

◆ getDepth()

unsigned mlir::pdl_to_pdl_interp::OperationPosition::getDepth ( ) const
inline

◆ getRoot()

OperationPosition * mlir::pdl_to_pdl_interp::OperationPosition::getRoot ( StorageUniquer & uniquer)
inlinestatic

◆ hashKey()

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

◆ isOperandDefiningOp()

bool OperationPosition::isOperandDefiningOp ( ) const

Returns if this operation represents an operand defining op.

Definition at line 55 of file Predicate.cpp.

References mlir::pdl_to_pdl_interp::Position::parent.

Referenced by getTreePredicates().

◆ isRoot()

bool mlir::pdl_to_pdl_interp::OperationPosition::isRoot ( ) const
inline

Returns if this operation position corresponds to the root.

Definition at line 283 of file Predicate.h.

References getDepth().

Referenced by getTreePredicates().


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