MLIR 24.0.0git
mlir::pdl_to_pdl_interp::PredicateUniquer Class Reference

This class provides a storage uniquer that is used to allocate predicate instances. More...

#include "Conversion/PDLToPDLInterp/Predicate.h"

Inheritance diagram for mlir::pdl_to_pdl_interp::PredicateUniquer:

Public Member Functions

 PredicateUniquer ()
Public Member Functions inherited from mlir::StorageUniquer
 StorageUniquer ()
 ~StorageUniquer ()
void disableMultithreading (bool disable=true)
 Set the flag specifying if multi-threading is disabled within the uniquer.
template<typename Storage>
void registerParametricStorageType (TypeID id)
 Register a new parametric storage class, this is necessary to create instances of this class type.
template<typename Storage>
void registerParametricStorageType ()
 Utility override when the storage type represents the type id.
template<typename Storage>
void registerSingletonStorageType (TypeID id, function_ref< void(Storage *)> initFn)
 Register a new singleton storage class, this is necessary to get the singletone instance.
template<typename Storage>
void registerSingletonStorageType (TypeID id)
template<typename Storage>
void registerSingletonStorageType (function_ref< void(Storage *)> initFn={})
 Utility override when the storage type represents the type id.
template<typename Storage, typename... Args>
Storage * get (function_ref< void(Storage *)> initFn, TypeID id, Args &&...args)
 Gets a uniqued instance of 'Storage'.
template<typename Storage, typename... Args>
Storage * get (function_ref< void(Storage *)> initFn, Args &&...args)
 Utility override when the storage type represents the type id.
template<typename Storage>
Storage * get (TypeID id)
 Gets a uniqued instance of 'Storage' which is a singleton storage type.
template<typename Storage>
Storage * get ()
 Utility override when the storage type represents the type id.
bool isSingletonStorageInitialized (TypeID id)
 Test if there is a singleton storage uniquer initialized for the provided TypeID.
bool isParametricStorageInitialized (TypeID id)
 Test if there is a parametric storage uniquer initialized for the provided TypeID.
void beginTransientScope ()
 Begins a transient scope.
void endTransientScope ()
 Ends the transient scope and resets back to the base state, freeing all transiently allocated storage instances and clearing transient lookup tables.
bool isInTransientScope () const
 Returns true if the uniquer is currently in a transient scope.
template<typename Storage, typename... Args>
LogicalResult mutate (TypeID id, Storage *storage, Args &&...args)
 Changes the mutable component of 'storage' by forwarding the trailing arguments to the 'mutate' function of the derived class.

Detailed Description

This class provides a storage uniquer that is used to allocate predicate instances.

Definition at line 566 of file Predicate.h.

Constructor & Destructor Documentation

◆ PredicateUniquer()

mlir::pdl_to_pdl_interp::PredicateUniquer::PredicateUniquer ( )
inline

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