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