1//===- ConvertVectorToLLVM.h - Utils to convert from the vector dialect ---===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8#ifndef MLIR_CONVERSION_VECTORTOLLVM_CONVERTVECTORTOLLVM_H_
9#define MLIR_CONVERSION_VECTORTOLLVM_CONVERTVECTORTOLLVM_H_
10
11#include "mlir/Transforms/DialectConversion.h"
12
13namespace mlir {
14class LLVMTypeConverter;
15
16/// Collect a set of patterns to convert from Vector contractions to LLVM Matrix
17/// Intrinsics. To lower to assembly, the LLVM flag -lower-matrix-intrinsics
18/// will be needed when invoking LLVM.
19void populateVectorToLLVMMatrixConversionPatterns(LLVMTypeConverter &converter,
20 RewritePatternSet &patterns);
21
22/// Collect a set of patterns to convert from the Vector dialect to LLVM.
23void populateVectorToLLVMConversionPatterns(
24 LLVMTypeConverter &converter, RewritePatternSet &patterns,
25 bool reassociateFPReductions = false, bool force32BitVectorIndices = false);
26
27} // namespace mlir
28
29#endif // MLIR_CONVERSION_VECTORTOLLVM_CONVERTVECTORTOLLVM_H_
30

source code of mlir/include/mlir/Conversion/VectorToLLVM/ConvertVectorToLLVM.h