1//===- OpenMPToLLVM.h - Utils to convert from the OpenMP 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_OPENMPTOLLVM_CONVERTOPENMPTOLLVM_H
9#define MLIR_CONVERSION_OPENMPTOLLVM_CONVERTOPENMPTOLLVM_H
10
11#include <memory>
12
13namespace mlir {
14class LLVMTypeConverter;
15class ConversionTarget;
16class MLIRContext;
17class Pass;
18class RewritePatternSet;
19
20#define GEN_PASS_DECL_CONVERTOPENMPTOLLVMPASS
21#include "mlir/Conversion/Passes.h.inc"
22
23/// Configure dynamic conversion legality of regionless operations from OpenMP
24/// to LLVM.
25void configureOpenMPToLLVMConversionLegality(ConversionTarget &target,
26 LLVMTypeConverter &typeConverter);
27
28/// Populate the given list with patterns that convert from OpenMP to LLVM.
29void populateOpenMPToLLVMConversionPatterns(LLVMTypeConverter &converter,
30 RewritePatternSet &patterns);
31} // namespace mlir
32
33#endif // MLIR_CONVERSION_OPENMPTOLLVM_CONVERTOPENMPTOLLVM_H
34

source code of mlir/include/mlir/Conversion/OpenMPToLLVM/ConvertOpenMPToLLVM.h