MLIR  20.0.0git
Classes | Namespaces | Functions
DialectConversion.h File Reference
#include "mlir/Config/mlir-config.h"
#include "mlir/Rewrite/FrozenRewritePatternSet.h"
#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/StringMap.h"
#include <type_traits>

Go to the source code of this file.

Classes

class  mlir::TypeConverter
 Type conversion class. More...
 
class  mlir::TypeConverter::SignatureConversion
 This class provides all of the information necessary to convert a type signature. More...
 
struct  mlir::TypeConverter::SignatureConversion::InputMapping
 This struct represents a range of new types or a single value that remaps an existing signature input. More...
 
class  mlir::TypeConverter::AttributeConversionResult
 The general result of a type attribute conversion callback, allowing for early termination. More...
 
class  mlir::ConversionPattern
 Base class for the conversion patterns. More...
 
class  mlir::OpConversionPattern< SourceOp >
 OpConversionPattern is a wrapper around ConversionPattern that allows for matching and rewriting against an instance of a derived operation class as opposed to a raw Operation. More...
 
class  mlir::OpInterfaceConversionPattern< SourceOp >
 OpInterfaceConversionPattern is a wrapper around ConversionPattern that allows for matching and rewriting against an instance of an OpInterface class as opposed to a raw Operation. More...
 
class  mlir::OpTraitConversionPattern< TraitType >
 OpTraitConversionPattern is a wrapper around ConversionPattern that allows for matching and rewriting against instances of an operation that possess a given trait. More...
 
class  mlir::ConversionPatternRewriter
 This class implements a pattern rewriter for use with ConversionPatterns. More...
 
class  mlir::ConversionTarget
 This class describes a specific conversion target. More...
 
struct  mlir::ConversionTarget::LegalOpDetails
 A structure containing additional information describing a specific legal operation instance. More...
 
class  mlir::PDLConversionConfig
 A PDL configuration that is used to supported dialect conversion functionality. More...
 
struct  mlir::ConversionConfig
 Dialect conversion configuration. More...
 

Namespaces

 mlir
 Include the generated interface declarations.
 
 mlir::detail
 AttrTypeReplacer.
 

Functions

FailureOr< Operation * > mlir::convertOpResultTypes (Operation *op, ValueRange operands, const TypeConverter &converter, ConversionPatternRewriter &rewriter)
 Generic utility to convert op result types according to type converter without knowing exact op type. More...
 
void mlir::populateFunctionOpInterfaceTypeConversionPattern (StringRef functionLikeOpName, RewritePatternSet &patterns, const TypeConverter &converter)
 Add a pattern to the given pattern list to convert the signature of a FunctionOpInterface op with the given type converter. More...
 
template<typename FuncOpT >
void mlir::populateFunctionOpInterfaceTypeConversionPattern (RewritePatternSet &patterns, const TypeConverter &converter)
 
void mlir::populateAnyFunctionOpInterfaceTypeConversionPattern (RewritePatternSet &patterns, const TypeConverter &converter)
 
void mlir::registerConversionPDLFunctions (RewritePatternSet &patterns)
 Register the dialect conversion PDL functions with the given pattern set. More...
 
void mlir::reconcileUnrealizedCasts (ArrayRef< UnrealizedConversionCastOp > castOps, SmallVectorImpl< UnrealizedConversionCastOp > *remainingCastOps=nullptr)
 Try to reconcile all given UnrealizedConversionCastOps and store the left-over ops in remainingCastOps (if provided). More...
 
LogicalResult mlir::applyPartialConversion (ArrayRef< Operation * > ops, const ConversionTarget &target, const FrozenRewritePatternSet &patterns, ConversionConfig config=ConversionConfig())
 Below we define several entry points for operation conversion. More...
 
LogicalResult mlir::applyPartialConversion (Operation *op, const ConversionTarget &target, const FrozenRewritePatternSet &patterns, ConversionConfig config=ConversionConfig())
 
LogicalResult mlir::applyFullConversion (ArrayRef< Operation * > ops, const ConversionTarget &target, const FrozenRewritePatternSet &patterns, ConversionConfig config=ConversionConfig())
 Apply a complete conversion on the given operations, and all nested operations. More...
 
LogicalResult mlir::applyFullConversion (Operation *op, const ConversionTarget &target, const FrozenRewritePatternSet &patterns, ConversionConfig config=ConversionConfig())
 
LogicalResult mlir::applyAnalysisConversion (ArrayRef< Operation * > ops, ConversionTarget &target, const FrozenRewritePatternSet &patterns, ConversionConfig config=ConversionConfig())
 Apply an analysis conversion on the given operations, and all nested operations. More...
 
LogicalResult mlir::applyAnalysisConversion (Operation *op, ConversionTarget &target, const FrozenRewritePatternSet &patterns, ConversionConfig config=ConversionConfig())