1//===- ArmSMEToLLVM.h - Convert ArmSME to LLVM dialect ----------*- C++ -*-===//
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
9#ifndef MLIR_CONVERSION_ARMSMETOLLVM_ARMSMETOLLVM_H_
10#define MLIR_CONVERSION_ARMSMETOLLVM_ARMSMETOLLVM_H_
11
12#include <memory>
13
14#include "mlir/Dialect/ArmSME/Transforms/Passes.h"
15#include "mlir/Interfaces/FunctionInterfaces.h"
16
17namespace mlir {
18class Pass;
19class RewritePatternSet;
20
21#define GEN_PASS_DECL_CONVERTARMSMETOLLVM
22#include "mlir/Conversion/Passes.h.inc"
23
24/// Create a pass to convert from the ArmSME dialect to LLVM intrinsics.
25std::unique_ptr<Pass>
26createConvertArmSMEToLLVMPass(bool dumpTileLiveRanges = false);
27
28/// Configure target to convert from the ArmSME dialect to LLVM intrinsics.
29void configureArmSMEToLLVMConversionLegality(ConversionTarget &target);
30
31/// Populate the given list with patterns that convert from the ArmSME dialect
32/// to LLVM intrinsics.
33void populateArmSMEToLLVMConversionPatterns(LLVMTypeConverter &converter,
34 RewritePatternSet &patterns);
35
36} // namespace mlir
37
38#endif // MLIR_CONVERSION_ARMSMETOLLVM_ARMSMETOLLVM_H_
39

source code of mlir/include/mlir/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.h