Changeset View
Changeset View
Standalone View
Standalone View
mlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp
Show First 20 Lines • Show All 555 Lines • ▼ Show 20 Lines | patterns.insert<RangeOpConversion, ReshapeOpConversion, SliceOpConversion, | ||||
TransposeOpConversion, YieldOpConversion>(ctx, converter); | TransposeOpConversion, YieldOpConversion>(ctx, converter); | ||||
// Populate the type conversions for the linalg types. | // Populate the type conversions for the linalg types. | ||||
converter.addConversion( | converter.addConversion( | ||||
[&](RangeType type) { return convertRangeType(type, converter); }); | [&](RangeType type) { return convertRangeType(type, converter); }); | ||||
} | } | ||||
namespace { | namespace { | ||||
struct ConvertLinalgToLLVMPass : public ModulePass<ConvertLinalgToLLVMPass> { | struct ConvertLinalgToLLVMPass | ||||
: public OperationPass<ConvertLinalgToLLVMPass, ModuleOp> { | |||||
/// Include the generated pass utilities. | /// Include the generated pass utilities. | ||||
#define GEN_PASS_ConvertLinalgToLLVM | #define GEN_PASS_ConvertLinalgToLLVM | ||||
#include "mlir/Conversion/Passes.h.inc" | #include "mlir/Conversion/Passes.h.inc" | ||||
void runOnModule() override; | void runOnOperation() override; | ||||
}; | }; | ||||
} // namespace | } // namespace | ||||
void ConvertLinalgToLLVMPass::runOnModule() { | void ConvertLinalgToLLVMPass::runOnOperation() { | ||||
auto module = getModule(); | auto module = getOperation(); | ||||
// Convert to the LLVM IR dialect using the converter defined above. | // Convert to the LLVM IR dialect using the converter defined above. | ||||
OwningRewritePatternList patterns; | OwningRewritePatternList patterns; | ||||
LLVMTypeConverter converter(&getContext()); | LLVMTypeConverter converter(&getContext()); | ||||
populateAffineToStdConversionPatterns(patterns, &getContext()); | populateAffineToStdConversionPatterns(patterns, &getContext()); | ||||
populateLoopToStdConversionPatterns(patterns, &getContext()); | populateLoopToStdConversionPatterns(patterns, &getContext()); | ||||
populateStdToLLVMConversionPatterns(converter, patterns); | populateStdToLLVMConversionPatterns(converter, patterns); | ||||
populateVectorToLLVMMatrixConversionPatterns(converter, patterns); | populateVectorToLLVMMatrixConversionPatterns(converter, patterns); | ||||
Show All 15 Lines |