MLIR  18.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 1120 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 ( BaseT  baseValue)
static

◆ processAsArg() [2/2]

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

Definition at line 1130 of file PatternMatch.h.

◆ 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,
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 1139 of file PatternMatch.h.

References mlir::success().

◆ 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,
PDLValue  pdlValue,
size_t  argIdx 
)
inlinestatic

Definition at line 1122 of file PatternMatch.h.

References mlir::failed(), and mlir::failure().


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