9 #ifndef MLIR_CONVERSION_STANDARDTOLLVM_CONVERTSTANDARDTOLLVMPASS_H_ 10 #define MLIR_CONVERSION_STANDARDTOLLVM_CONVERTSTANDARDTOLLVMPASS_H_ 12 #include "llvm/ADT/STLExtras.h" 21 class DialectConversion;
23 class LLVMTypeConverter;
27 template <
typename T>
class OpPassBase;
32 class OwningRewritePatternList;
38 std::function<void(LLVMTypeConverter &, OwningRewritePatternList &)>;
44 std::function<std::unique_ptr<LLVMTypeConverter>(
MLIRContext *)>;
65 std::unique_ptr<OpPassBase<ModuleOp>>
74 std::unique_ptr<OpPassBase<ModuleOp>>
77 bool useAlloca =
false);
86 template <
typename TypeConverter = LLVMTypeConverter>
87 std::unique_ptr<OpPassBase<ModuleOp>>
89 bool useAlloca =
false) {
93 return std::make_unique<TypeConverter>(context);
109 #endif // MLIR_CONVERSION_STANDARDTOLLVM_CONVERTSTANDARDTOLLVMPASS_H_ Definition: InferTypeOpInterface.cpp:20
Definition: PassRegistry.cpp:413
Definition: Attributes.h:139
std::unique_ptr< OpPassBase< ModuleOp > > createLowerToLLVMPass(LLVMPatternListFiller patternListFiller, bool useAlloca=false)
Definition: ConvertStandardToLLVMPass.h:88
void populateStdToLLVMConversionPatterns(LLVMTypeConverter &converter, OwningRewritePatternList &patterns)
Collect a set of patterns to convert from the Standard dialect to LLVM.
Definition: ConvertStandardToLLVM.cpp:2142
void ensureDistinctSuccessors(ModuleOp m)
Definition: ConvertStandardToLLVM.cpp:2060
void populateStdToLLVMMemoryConversionPatters(LLVMTypeConverter &converter, OwningRewritePatternList &patterns)
Definition: ConvertStandardToLLVM.cpp:2124
std::function< std::unique_ptr< LLVMTypeConverter >(MLIRContext *)> LLVMTypeConverterMaker
Definition: ConvertStandardToLLVMPass.h:44
Definition: PatternMatch.h:418
void populateStdToLLVMNonMemoryConversionPatterns(LLVMTypeConverter &converter, OwningRewritePatternList &patterns)
Collect a set of patterns to convert from the Standard dialect to LLVM.
Definition: ConvertStandardToLLVM.cpp:2069
std::function< void(LLVMTypeConverter &, OwningRewritePatternList &)> LLVMPatternListFiller
Definition: ConvertStandardToLLVMPass.h:38
Conversion from types in the Standard dialect to the LLVM IR dialect.
Definition: ConvertStandardToLLVM.h:37
Definition: MLIRContext.h:34