LLZK 0.1.0
Veridise's ZK Language IR
Loading...
Searching...
No Matches
llzk::polymorphic::detail Namespace Reference

Classes

class  ApplyMapOpGenericAdaptorBase
 
class  CallOpClassReplacePattern
 
class  ConstReadOpGenericAdaptorBase
 
class  CreateArrayOpClassReplacePattern
 
class  GeneralTypeReplacePattern
 
struct  TypeVarTypeStorage
 
class  UnifiableCastOpGenericAdaptorBase
 

Functions

template<typename OpClass, typename Rewriter, typename... Args>
OpClass replaceOpWithNewOp (Rewriter &rewriter, mlir::Operation *op, Args &&...args)
 Wrapper for PatternRewriter.replaceOpWithNewOp() that automatically copies discardable attributes (i.e.
 
template<typename... AdditionalOpClasses>
mlir::RewritePatternSet newGeneralRewritePatternSet (mlir::TypeConverter &tyConv, mlir::MLIRContext *ctx, mlir::ConversionTarget &target)
 Return a new RewritePatternSet that includes a GeneralTypeReplacePattern for all of OpClassesWithStructTypes.WithGeneralBuilder and AdditionalOpClasses.
 
mlir::ConversionTarget newBaseTarget (mlir::MLIRContext *ctx)
 Return a new ConversionTarget allowing all LLZK-required dialects.
 
template<typename... AdditionalOpClasses, typename... AdditionalChecks>
mlir::ConversionTarget newConverterDefinedTarget (mlir::TypeConverter &tyConv, mlir::MLIRContext *ctx, AdditionalChecks &&...checks)
 Return a new ConversionTarget allowing all LLZK-required dialects and defining Op legality based on the given TypeConverter for Ops listed in both fields of OpClassesWithStructTypes and in AdditionalOpClasses.
 

Function Documentation

◆ newBaseTarget()

mlir::ConversionTarget llzk::polymorphic::detail::newBaseTarget ( mlir::MLIRContext * ctx)

Return a new ConversionTarget allowing all LLZK-required dialects.

Definition at line 25 of file SharedImpl.cpp.

◆ newConverterDefinedTarget()

template<typename... AdditionalOpClasses, typename... AdditionalChecks>
mlir::ConversionTarget llzk::polymorphic::detail::newConverterDefinedTarget ( mlir::TypeConverter & tyConv,
mlir::MLIRContext * ctx,
AdditionalChecks &&... checks )

Return a new ConversionTarget allowing all LLZK-required dialects and defining Op legality based on the given TypeConverter for Ops listed in both fields of OpClassesWithStructTypes and in AdditionalOpClasses.

Additional legality checks can be included for certain ops that will run along with the default check. For an op to be considered legal all checks (default plus additional checks if any) must return true.

Definition at line 268 of file SharedImpl.h.

◆ newGeneralRewritePatternSet()

template<typename... AdditionalOpClasses>
mlir::RewritePatternSet llzk::polymorphic::detail::newGeneralRewritePatternSet ( mlir::TypeConverter & tyConv,
mlir::MLIRContext * ctx,
mlir::ConversionTarget & target )

Return a new RewritePatternSet that includes a GeneralTypeReplacePattern for all of OpClassesWithStructTypes.WithGeneralBuilder and AdditionalOpClasses.

Note: GeneralTypeReplacePattern uses the default benefit (1) so additional patterns with a higher priority can be added for any of the Ops already included and that will take precedence.

Definition at line 239 of file SharedImpl.h.

◆ replaceOpWithNewOp()

template<typename OpClass, typename Rewriter, typename... Args>
OpClass llzk::polymorphic::detail::replaceOpWithNewOp ( Rewriter & rewriter,
mlir::Operation * op,
Args &&... args )
inline

Wrapper for PatternRewriter.replaceOpWithNewOp() that automatically copies discardable attributes (i.e.

attributes other than those specifically defined as part of the Op in ODS).

Definition at line 126 of file SharedImpl.h.