MLIR 22.0.0git
ConvertOpenMPToLLVM.h
Go to the documentation of this file.
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 DialectRegistry;
16class ConversionTarget;
17class MLIRContext;
18class Pass;
20
21#define GEN_PASS_DECL_CONVERTOPENMPTOLLVMPASS
22#include "mlir/Conversion/Passes.h.inc"
23
24/// Configure dynamic conversion legality of regionless operations from OpenMP
25/// to LLVM.
27 ConversionTarget &target, const LLVMTypeConverter &typeConverter);
28
29/// Populate the given list with patterns that convert from OpenMP to LLVM.
30void populateOpenMPToLLVMConversionPatterns(LLVMTypeConverter &converter,
31 RewritePatternSet &patterns);
32
33/// Registers the `ConvertToLLVMPatternInterface` interface in the `OpenMP`
34/// dialect.
35void registerConvertOpenMPToLLVMInterface(DialectRegistry &registry);
36} // namespace mlir
37
38#endif // MLIR_CONVERSION_OPENMPTOLLVM_CONVERTOPENMPTOLLVM_H
The DialectRegistry maps a dialect namespace to a constructor for the matching dialect.
Conversion from types to the LLVM IR dialect.
MLIRContext is the top-level object for a collection of MLIR operations.
Definition MLIRContext.h:63
The abstract base pass class.
Definition Pass.h:51
Include the generated interface declarations.
void populateOpenMPToLLVMConversionPatterns(LLVMTypeConverter &converter, RewritePatternSet &patterns)
Populate the given list with patterns that convert from OpenMP to LLVM.
const FrozenRewritePatternSet & patterns
void registerConvertOpenMPToLLVMInterface(DialectRegistry &registry)
Registers the ConvertToLLVMPatternInterface interface in the OpenMP dialect.
void configureOpenMPToLLVMConversionLegality(ConversionTarget &target, const LLVMTypeConverter &typeConverter)
Configure dynamic conversion legality of regionless operations from OpenMP to LLVM.