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. | |
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.