MLIR
24.0.0git
include
mlir
Conversion
OpenMPToLLVM
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
13
namespace
mlir
{
14
class
DialectRegistry
;
15
class
LLVMTypeConverter
;
16
class
ConversionTarget;
17
class
MLIRContext
;
18
class
Pass
;
19
class
RewritePatternSet
;
20
21
// MLIROpenMPToLLVMConversion provides the conversion helpers and dialect
22
// interface below. MLIROpenMPToLLVM also provides the standalone pass.
23
#define GEN_PASS_DECL_CONVERTOPENMPTOLLVMPASS
24
#include "mlir/Conversion/Passes.h.inc"
25
26
/// Configure dynamic conversion legality of regionless operations from OpenMP
27
/// to LLVM.
28
void
configureOpenMPToLLVMConversionLegality
(
29
ConversionTarget
&
target
,
const
LLVMTypeConverter &typeConverter);
30
31
/// Populate the given list with patterns that convert from OpenMP to LLVM.
32
void
populateOpenMPToLLVMConversionPatterns
(LLVMTypeConverter &converter,
33
RewritePatternSet &patterns);
34
35
/// Registers the `ConvertToLLVMPatternInterface` interface in the `OpenMP`
36
/// dialect.
37
void
registerConvertOpenMPToLLVMInterface
(DialectRegistry ®istry);
38
}
// namespace mlir
39
40
#endif
// MLIR_CONVERSION_OPENMPTOLLVM_CONVERTOPENMPTOLLVM_H
target
target
Definition
LinalgTransformOps.cpp:2157
ConversionTarget
mlir::DialectRegistry
The DialectRegistry maps a dialect namespace to a constructor for the matching dialect.
Definition
DialectRegistry.h:150
mlir::LLVMTypeConverter
Conversion from types to the LLVM IR dialect.
Definition
TypeConverter.h:35
mlir::MLIRContext
MLIRContext is the top-level object for a collection of MLIR operations.
Definition
MLIRContext.h:64
mlir::Pass
The abstract base pass class.
Definition
Pass.h:52
mlir::RewritePatternSet
Definition
PatternMatch.h:829
mlir
Include the generated interface declarations.
Definition
ABIRewriteContext.h:32
mlir::populateOpenMPToLLVMConversionPatterns
void populateOpenMPToLLVMConversionPatterns(LLVMTypeConverter &converter, RewritePatternSet &patterns)
Populate the given list with patterns that convert from OpenMP to LLVM.
Definition
OpenMPToLLVM.cpp:168
mlir::registerConvertOpenMPToLLVMInterface
void registerConvertOpenMPToLLVMInterface(DialectRegistry ®istry)
Registers the ConvertToLLVMPatternInterface interface in the OpenMP dialect.
Definition
OpenMPToLLVM.cpp:210
mlir::configureOpenMPToLLVMConversionLegality
void configureOpenMPToLLVMConversionLegality(ConversionTarget &target, const LLVMTypeConverter &typeConverter)
Configure dynamic conversion legality of regionless operations from OpenMP to LLVM.
Definition
OpenMPToLLVM.cpp:143
Generated on
for MLIR by
1.14.0