|
LLZK 0.1.0
Veridise's ZK Language IR
|
Common private implementation for poly dialect passes. More...
#include "llzk/Dialect/Array/IR/Ops.h"#include "llzk/Dialect/Constrain/IR/Ops.h"#include "llzk/Dialect/Function/IR/Ops.h"#include "llzk/Dialect/Global/IR/Ops.h"#include "llzk/Dialect/LLZK/IR/AttributeHelper.h"#include "llzk/Dialect/Polymorphic/IR/Ops.h"#include "llzk/Dialect/Struct/IR/Ops.h"#include <mlir/Dialect/Arith/IR/Arith.h>#include <mlir/Dialect/SCF/IR/SCF.h>#include <mlir/Dialect/SCF/Transforms/Patterns.h>#include <mlir/IR/Attributes.h>#include <mlir/IR/BuiltinAttributes.h>#include <mlir/IR/MLIRContext.h>#include <mlir/IR/Operation.h>#include <mlir/IR/PatternMatch.h>#include <mlir/Transforms/DialectConversion.h>#include <llvm/ADT/STLExtras.h>#include <llvm/ADT/SmallVector.h>#include <tuple>Go to the source code of this file.
Namespaces | |
| namespace | llzk |
| namespace | llzk::polymorphic |
| namespace | llzk::polymorphic::detail |
Functions | |
| template<typename OpClass, typename Rewriter, typename... Args> | |
| OpClass | llzk::polymorphic::detail::replaceOpWithNewOp (Rewriter &rewriter, mlir::Operation *op, Args &&...args) |
| Wrapper for PatternRewriter.replaceOpWithNewOp() that automatically copies discardable attributes (i.e., attributes other than those specifically defined as part of the Op in ODS). | |
| 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. | |
| mlir::ConversionTarget | llzk::polymorphic::detail::newBaseTarget (mlir::MLIRContext *ctx) |
| Return a new ConversionTarget allowing all LLZK-required dialects. | |
| 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. | |
Common private implementation for poly dialect passes.
Definition in file SharedImpl.h.