1 //===-- Lower/OpenMP.h -- lower Open MP directives --------------*- 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 // Coding style: https://mlir.llvm.org/getting_started/DeveloperGuide/ 10 // 11 //===----------------------------------------------------------------------===// 12 13 #ifndef FORTRAN_LOWER_OPENMP_H 14 #define FORTRAN_LOWER_OPENMP_H 15 16 namespace Fortran { 17 namespace parser { 18 struct OpenMPConstruct; 19 struct OmpEndLoopDirective; 20 } // namespace parser 21 22 namespace lower { 23 24 class AbstractConverter; 25 26 namespace pft { 27 struct Evaluation; 28 } // namespace pft 29 30 void genOpenMPConstruct(AbstractConverter &, pft::Evaluation &, 31 const parser::OpenMPConstruct &); 32 33 void genOpenMPEndLoop(AbstractConverter &, pft::Evaluation &, 34 const parser::OmpEndLoopDirective &); 35 36 } // namespace lower 37 } // namespace Fortran 38 39 #endif // FORTRAN_LOWER_OPENMP_H 40