MLIR  20.0.0git
Public Member Functions | Static Public Member Functions | List of all members
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. More...
 
- 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. 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< UsersPosition, Position, std::pair< Position *, bool >, Predicates::UsersPos >
static UsersPositionget (StorageUniquer &uniquer, Args &&...args)
 Get an instance of this position. More...
 
static UsersPositionconstruct (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< UsersPosition, Position, std::pair< Position *, bool >, Predicates::UsersPos >
using KeyTy = std::pair< Position *, bool >
 
using Base = PredicateBase< UsersPosition, Position, std::pair< Position *, bool >, Kind >
 
- 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. More...
 

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

Constructor & Destructor Documentation

◆ UsersPosition()

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

Member Function Documentation

◆ hashKey()

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