1 | //===-- OpenACCClauses.def - List of implemented OpenACC Clauses -- 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 defines a list of currently implemented OpenACC Clauses (and |
10 | // eventually, the entire list) in a way that makes generating 'visitor' and |
11 | // other lists easier. |
12 | // |
13 | // The primary macro is a single-argument version taking the name of the Clause |
14 | // as used in Clang source (so `Default` instead of `default`). |
15 | // |
16 | // VISIT_CLAUSE(CLAUSE_NAME) |
17 | // |
18 | // CLAUSE_ALIAS(ALIAS_NAME, CLAUSE_NAME, DEPRECATED) |
19 | |
20 | #ifndef CLAUSE_ALIAS |
21 | #define CLAUSE_ALIAS(ALIAS_NAME, CLAUSE_NAME, false) |
22 | #endif |
23 | |
24 | VISIT_CLAUSE(Auto) |
25 | VISIT_CLAUSE(Async) |
26 | VISIT_CLAUSE(Attach) |
27 | VISIT_CLAUSE(Copy) |
28 | CLAUSE_ALIAS(PCopy, Copy, true) |
29 | CLAUSE_ALIAS(PresentOrCopy, Copy, true) |
30 | VISIT_CLAUSE(CopyIn) |
31 | CLAUSE_ALIAS(PCopyIn, CopyIn, true) |
32 | CLAUSE_ALIAS(PresentOrCopyIn, CopyIn, true) |
33 | VISIT_CLAUSE(CopyOut) |
34 | CLAUSE_ALIAS(PCopyOut, CopyOut, true) |
35 | CLAUSE_ALIAS(PresentOrCopyOut, CopyOut, true) |
36 | VISIT_CLAUSE(Create) |
37 | CLAUSE_ALIAS(PCreate, Create, true) |
38 | CLAUSE_ALIAS(PresentOrCreate, Create, true) |
39 | VISIT_CLAUSE(Default) |
40 | VISIT_CLAUSE(DevicePtr) |
41 | VISIT_CLAUSE(DeviceType) |
42 | CLAUSE_ALIAS(DType, DeviceType, false) |
43 | VISIT_CLAUSE(FirstPrivate) |
44 | VISIT_CLAUSE(If) |
45 | VISIT_CLAUSE(Independent) |
46 | VISIT_CLAUSE(NoCreate) |
47 | VISIT_CLAUSE(NumGangs) |
48 | VISIT_CLAUSE(NumWorkers) |
49 | VISIT_CLAUSE(Present) |
50 | VISIT_CLAUSE(Private) |
51 | VISIT_CLAUSE(Reduction) |
52 | VISIT_CLAUSE(Self) |
53 | VISIT_CLAUSE(Seq) |
54 | VISIT_CLAUSE(VectorLength) |
55 | VISIT_CLAUSE(Wait) |
56 | |
57 | #undef VISIT_CLAUSE |
58 | #undef CLAUSE_ALIAS |
59 | |