MLIR  22.0.0git
OpenMPDialect.h
Go to the documentation of this file.
1 //===- OpenMPDialect.h - MLIR Dialect for OpenMP ----------------*- 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 // This file declares the OpenMP dialect in MLIR.
10 //
11 //===----------------------------------------------------------------------===//
12 
13 #ifndef MLIR_DIALECT_OPENMP_OPENMPDIALECT_H_
14 #define MLIR_DIALECT_OPENMP_OPENMPDIALECT_H_
15 
20 #include "mlir/IR/Dialect.h"
21 #include "mlir/IR/OpDefinition.h"
22 #include "mlir/IR/PatternMatch.h"
23 #include "mlir/IR/SymbolTable.h"
26 #include "llvm/Frontend/OpenMP/OMPDeviceConstants.h"
27 
28 #define GET_TYPEDEF_CLASSES
29 #include "mlir/Dialect/OpenMP/OpenMPOpsTypes.h.inc"
30 
31 #include "mlir/Dialect/OpenMP/OpenMPOpsDialect.h.inc"
32 
34 
35 #include "mlir/Dialect/OpenMP/OpenMPTypeInterfaces.h.inc"
36 
37 #define GET_OP_CLASSES
38 #include "mlir/Dialect/OpenMP/OpenMPOps.h.inc"
39 
40 namespace mlir::omp {
41 /// Find the omp.new_cli, generator, and consumer of a canonical loop info.
42 std::tuple<NewCliOp, OpOperand *, OpOperand *> decodeCli(mlir::Value cli);
43 } // namespace mlir::omp
44 
45 #endif // MLIR_DIALECT_OPENMP_OPENMPDIALECT_H_
This class represents an instance of an SSA value in the MLIR system, representing a computable value...
Definition: Value.h:96
std::tuple< NewCliOp, OpOperand *, OpOperand * > decodeCli(mlir::Value cli)
Find the omp.new_cli, generator, and consumer of a canonical loop info.