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
16namespace mlir {
17class Pass;
18class RewritePatternSet;
19
20#define GEN_PASS_DECL_CONVERTARMSMETOLLVM
21#include "mlir/Conversion/Passes.h.inc"
22
23/// Create a pass to convert from the ArmSME dialect to LLVM intrinsics.
24std::unique_ptr<Pass> createConvertArmSMEToLLVMPass();
25
26/// Configure target to convert from the ArmSME dialect to LLVM intrinsics.
27void configureArmSMEToLLVMConversionLegality(ConversionTarget &target);
28
29/// Populate the given list with patterns that convert from the ArmSME dialect
30/// to LLVM intrinsics.
31void populateArmSMEToLLVMConversionPatterns(LLVMTypeConverter &converter,
32 RewritePatternSet &patterns);
33
34} // namespace mlir
35
36#endif // MLIR_CONVERSION_ARMSMETOLLVM_ARMSMETOLLVM_H_
37

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