MLIR  16.0.0git
Static Public Member Functions | List of all members
mlir::detail::pdl_function_builder::ProcessPDLValueBasedOn< T, BaseT > Struct Template Reference

This struct provides a simplified model for processing types that are based on another type, e.g. More...

#include "mlir/IR/PatternMatch.h"

+ Inheritance diagram for mlir::detail::pdl_function_builder::ProcessPDLValueBasedOn< T, BaseT >:

Static Public Member Functions

static LogicalResult verifyAsArg (function_ref< LogicalResult(const Twine &)> errorFn, PDLValue pdlValue, size_t argIdx)
 
static T processAsArg (PDLValue pdlValue)
 
static LogicalResult verifyAsArg (function_ref< LogicalResult(const Twine &)> errorFn, BaseT value, size_t argIdx)
 Explicitly add the expected parent API to ensure the parent class implements the necessary API (and doesn't implicitly inherit it from somewhere else). More...
 
static T processAsArg (BaseT baseValue)
 

Detailed Description

template<typename T, typename BaseT>
struct mlir::detail::pdl_function_builder::ProcessPDLValueBasedOn< T, BaseT >

This struct provides a simplified model for processing types that are based on another type, e.g.

APInt is based on the handling for IntegerAttr. This allows for building the necessary processing functions on top of the base value instead of a PDLValue. Derived users should implement the following (which subsume the ProcessPDLValue variants):

static LogicalResult verifyAsArg( function_ref<LogicalResult(const Twine &)> errorFn, const BaseT &baseValue, size_t argIdx);

static T processAsArg(BaseT baseValue);

Definition at line 883 of file PatternMatch.h.

Member Function Documentation

◆ processAsArg() [1/2]

template<typename T, typename BaseT>
static T mlir::detail::pdl_function_builder::ProcessPDLValueBasedOn< T, BaseT >::processAsArg ( PDLValue  pdlValue)
inlinestatic

Definition at line 893 of file PatternMatch.h.

◆ processAsArg() [2/2]

template<typename T, typename BaseT>
static T mlir::detail::pdl_function_builder::ProcessPDLValueBasedOn< T, BaseT >::processAsArg ( BaseT  baseValue)
static

◆ verifyAsArg() [1/2]

template<typename T, typename BaseT>
static LogicalResult mlir::detail::pdl_function_builder::ProcessPDLValueBasedOn< T, BaseT >::verifyAsArg ( function_ref< LogicalResult(const Twine &)>  errorFn,
PDLValue  pdlValue,
size_t  argIdx 
)
inlinestatic

Definition at line 885 of file PatternMatch.h.

◆ verifyAsArg() [2/2]

template<typename T, typename BaseT>
static LogicalResult mlir::detail::pdl_function_builder::ProcessPDLValueBasedOn< T, BaseT >::verifyAsArg ( function_ref< LogicalResult(const Twine &)>  errorFn,
BaseT  value,
size_t  argIdx 
)
inlinestatic

Explicitly add the expected parent API to ensure the parent class implements the necessary API (and doesn't implicitly inherit it from somewhere else).

Definition at line 902 of file PatternMatch.h.


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