MLIR  20.0.0git
OpenMPClauseOperands.h
Go to the documentation of this file.
1 //===-- OpenMPClauseOperands.h ----------------------------------*- 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 structures defining MLIR operands associated with each
10 // OpenMP clause, and structures grouping the appropriate operands for each
11 // construct.
12 //
13 //===----------------------------------------------------------------------===//
14 
15 #ifndef MLIR_DIALECT_OPENMP_OPENMPCLAUSEOPERANDS_H_
16 #define MLIR_DIALECT_OPENMP_OPENMPCLAUSEOPERANDS_H_
17 
19 #include "llvm/ADT/SmallVector.h"
20 
21 #include "mlir/Dialect/OpenMP/OpenMPOpsEnums.h.inc"
22 
23 #define GET_ATTRDEF_CLASSES
24 #include "mlir/Dialect/OpenMP/OpenMPOpsAttributes.h.inc"
25 
26 #include "mlir/Dialect/OpenMP/OpenMPClauseOps.h.inc"
27 
28 namespace mlir {
29 namespace omp {
30 
31 //===----------------------------------------------------------------------===//
32 // Extra clause operand structures.
33 //===----------------------------------------------------------------------===//
34 
36  /// The default capture type.
37  DeclareTargetDeviceType deviceType = DeclareTargetDeviceType::any;
38 };
39 
40 //===----------------------------------------------------------------------===//
41 // Extra operation operand structures.
42 //===----------------------------------------------------------------------===//
43 
44 // TODO: Add `indirect` clause.
45 using DeclareTargetOperands = detail::Clauses<DeviceTypeClauseOps>;
46 
47 /// omp.target_enter_data, omp.target_exit_data and omp.target_update take the
48 /// same clauses, so we give the structure to be shared by all of them a
49 /// representative name.
50 using TargetEnterExitUpdateDataOperands = TargetEnterDataOperands;
51 
52 } // namespace omp
53 } // namespace mlir
54 
55 #endif // MLIR_DIALECT_OPENMP_OPENMPCLAUSEOPERANDS_H_
TargetEnterDataOperands TargetEnterExitUpdateDataOperands
omp.target_enter_data, omp.target_exit_data and omp.target_update take the same clauses,...
detail::Clauses< DeviceTypeClauseOps > DeclareTargetOperands
Include the generated interface declarations.
DeclareTargetDeviceType deviceType
The default capture type.