1 //===-- OpenMP.cpp -- OpenACC directive lowering --------------------------===//
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 // Coding style: https://mlir.llvm.org/getting_started/DeveloperGuide/
10 //
11 //===----------------------------------------------------------------------===//
12 
13 #include "flang/Lower/OpenACC.h"
14 #include "flang/Lower/Bridge.h"
15 #include "flang/Lower/FIRBuilder.h"
16 #include "flang/Lower/PFTBuilder.h"
17 #include "flang/Parser/parse-tree.h"
18 #include "llvm/Frontend/OpenACC/ACC.h.inc"
19 
20 #define TODO() llvm_unreachable("not yet implemented")
21 
22 void Fortran::lower::genOpenACCConstruct(
23     Fortran::lower::AbstractConverter &absConv,
24     Fortran::lower::pft::Evaluation &eval,
25     const Fortran::parser::OpenACCConstruct &accConstruct) {
26 
27   std::visit(
28       common::visitors{
29           [&](const Fortran::parser::OpenACCBlockConstruct &blockConstruct) {
30             TODO();
31           },
32           [&](const Fortran::parser::OpenACCCombinedConstruct
33                   &combinedConstruct) { TODO(); },
34           [&](const Fortran::parser::OpenACCLoopConstruct &loopConstruct) {
35             TODO();
36           },
37           [&](const Fortran::parser::OpenACCStandaloneConstruct
38                   &standaloneConstruct) { TODO(); },
39           [&](const Fortran::parser::OpenACCRoutineConstruct
40                   &routineConstruct) { TODO(); },
41           [&](const Fortran::parser::OpenACCCacheConstruct &cacheConstruct) {
42             TODO();
43           },
44           [&](const Fortran::parser::OpenACCWaitConstruct &waitConstruct) {
45             TODO();
46           },
47           [&](const Fortran::parser::OpenACCAtomicConstruct &atomicConstruct) {
48             TODO();
49           },
50       },
51       accConstruct.u);
52 }
53