9#ifndef MLIR_CONVERSION_CONVERTTOLLVM_TOLLVMINTERFACE_H
10#define MLIR_CONVERSION_CONVERTTOLLVM_TOLLVMINTERFACE_H
17class ConversionTarget;
65#include "mlir/Conversion/ConvertToLLVM/ToLLVMAttrInterface.h.inc"
67#include "mlir/Conversion/ConvertToLLVM/ToLLVMOpInterface.h.inc"
This class represents an analysis manager for a particular operation instance.
virtual void populateConvertToLLVMConversionPatterns(ConversionTarget &target, LLVMTypeConverter &typeConverter, RewritePatternSet &patterns) const =0
Hook for derived dialect interface to provide conversion patterns and mark dialect legal for the conv...
virtual void loadDependentDialects(MLIRContext *context) const
Hook for derived dialect interface to load the dialects they target.
ConvertToLLVMPatternInterface(Dialect *dialect)
detail::DialectInterfaceBase< ConcreteType, DialectInterface > Base
The base class used for all derived interface types.
Dialects are groups of MLIR operations, types and attributes, as well as behavior associated with the...
Conversion from types to the LLVM IR dialect.
MLIRContext is the top-level object for a collection of MLIR operations.
Operation is the basic unit of execution within MLIR.
DialectInterfaceBase< ConcreteType, DialectInterface > Base
Include the generated interface declarations.
const FrozenRewritePatternSet & patterns
void populateConversionTargetFromOperation(Operation *op, ConversionTarget &target, TypeConverter &typeConverter, RewritePatternSet &patterns)
Recursively walk the IR and collect all dialects implementing the interface, and populate the convers...
void populateOpConvertToLLVMConversionPatterns(Operation *op, ConversionTarget &target, LLVMTypeConverter &typeConverter, RewritePatternSet &patterns)
Helper function for populating LLVM conversion patterns.