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

A position describing the users of a value or a range of values. More...

#include "Conversion/PDLToPDLInterp/Predicate.h"

Inheritance diagram for mlir::pdl_to_pdl_interp::UsersPosition:

Public Member Functions

 UsersPosition (const KeyTy &key)
bool useRepresentative () const
 Indicates whether to compute a range of a representative.
Public Member Functions inherited from mlir::pdl_to_pdl_interp::PredicateBase< UsersPosition, Position, std::pair< Position *, bool >, Predicates::UsersPos >
 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< UsersPosition, Position, std::pair< Position *, bool >, Predicates::UsersPos >
static UsersPositionget (StorageUniquer &uniquer, Args &&...args)
 Get an instance of this position.
static UsersPositionconstruct (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< UsersPosition, Position, std::pair< Position *, bool >, Predicates::UsersPos >
using KeyTy
using Base
Protected Member Functions inherited from mlir::StorageUniquer::BaseStorage
 BaseStorage ()=default
Protected Attributes inherited from mlir::pdl_to_pdl_interp::PredicateBase< UsersPosition, Position, std::pair< Position *, bool >, Predicates::UsersPos >
KeyTy key
Protected Attributes inherited from mlir::pdl_to_pdl_interp::Position
Positionparent = nullptr
 Link to the parent position.

Detailed Description

A position describing the users of a value or a range of values.

The second value in the key indicates whether we choose users of a representative for a range (this is true, e.g., in the upward traversals).

Definition at line 392 of file Predicate.h.

Constructor & Destructor Documentation

◆ UsersPosition()

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

Member Function Documentation

◆ hashKey()

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

◆ useRepresentative()

bool mlir::pdl_to_pdl_interp::UsersPosition::useRepresentative ( ) const
inline

Indicates whether to compute a range of a representative.

Definition at line 403 of file Predicate.h.

References mlir::pdl_to_pdl_interp::PredicateBase< UsersPosition, Position, std::pair< Position *, bool >, Predicates::UsersPos >::key.


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