mirror of
https://github.com/intel/llvm.git
synced 2026-01-26 21:53:12 +08:00
[flang] This adds the lowering stubs for Open MP.
The lowering bridge will call these lowering hooks to process the Open MP directives that it iterates over in the PFT. This is a mock interface without an implementation in this patch. Reviewed By: kiranchandramohan Differential Revision: https://reviews.llvm.org/D80815
This commit is contained in:
19
flang/include/flang/Lower/AbstractConverter.h
Normal file
19
flang/include/flang/Lower/AbstractConverter.h
Normal file
@@ -0,0 +1,19 @@
|
||||
//===-- Lower/AbstractConverter.h -------------------------------*- C++ -*-===//
|
||||
//
|
||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||
// See https://llvm.org/LICENSE.txt for license information.
|
||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef FORTRAN_LOWER_ABSTRACTCONVERTER_H
|
||||
#define FORTRAN_LOWER_ABSTRACTCONVERTER_H
|
||||
|
||||
namespace Fortran::lower {
|
||||
|
||||
// temporary stub
|
||||
class AbstractConverter;
|
||||
|
||||
} // namespace Fortran::lower
|
||||
|
||||
#endif // FORTRAN_LOWER_ABSTRACTCONVERTER_H
|
||||
35
flang/include/flang/Lower/OpenMP.h
Normal file
35
flang/include/flang/Lower/OpenMP.h
Normal file
@@ -0,0 +1,35 @@
|
||||
//===-- Lower/OpenMP.h -- lower Open MP directives --------------*- C++ -*-===//
|
||||
//
|
||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||
// See https://llvm.org/LICENSE.txt for license information.
|
||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef FORTRAN_LOWER_OPENMP_H
|
||||
#define FORTRAN_LOWER_OPENMP_H
|
||||
|
||||
namespace Fortran {
|
||||
namespace parser {
|
||||
struct OpenMPConstruct;
|
||||
struct OmpEndLoopDirective;
|
||||
} // namespace parser
|
||||
|
||||
namespace lower {
|
||||
|
||||
class AbstractConverter;
|
||||
|
||||
namespace pft {
|
||||
struct Evaluation;
|
||||
} // namespace pft
|
||||
|
||||
void genOpenMPConstruct(AbstractConverter &, pft::Evaluation &,
|
||||
const parser::OpenMPConstruct &);
|
||||
|
||||
void genOpenMPEndLoop(AbstractConverter &, pft::Evaluation &,
|
||||
const parser::OmpEndLoopDirective &);
|
||||
|
||||
} // namespace lower
|
||||
} // namespace Fortran
|
||||
|
||||
#endif // FORTRAN_LOWER_OPENMP_H
|
||||
@@ -1,5 +1,6 @@
|
||||
|
||||
add_flang_library(FortranLower
|
||||
OpenMP.cpp
|
||||
PFTBuilder.cpp
|
||||
|
||||
LINK_COMPONENTS
|
||||
|
||||
26
flang/lib/Lower/OpenMP.cpp
Normal file
26
flang/lib/Lower/OpenMP.cpp
Normal file
@@ -0,0 +1,26 @@
|
||||
//===-- OpenMP.cpp -- Open MP directive lowering --------------------------===//
|
||||
//
|
||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||
// See https://llvm.org/LICENSE.txt for license information.
|
||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "flang/Lower/OpenMP.h"
|
||||
#include "flang/Lower/AbstractConverter.h"
|
||||
#include "flang/Lower/PFTBuilder.h"
|
||||
#include "flang/Parser/parse-tree.h"
|
||||
|
||||
#define TODO() llvm_unreachable("not yet implemented")
|
||||
|
||||
void Fortran::lower::genOpenMPConstruct(
|
||||
Fortran::lower::AbstractConverter &, Fortran::lower::pft::Evaluation &,
|
||||
const Fortran::parser::OpenMPConstruct &) {
|
||||
TODO();
|
||||
}
|
||||
|
||||
void Fortran::lower::genOpenMPEndLoop(
|
||||
Fortran::lower::AbstractConverter &, Fortran::lower::pft::Evaluation &,
|
||||
const Fortran::parser::OmpEndLoopDirective &) {
|
||||
TODO();
|
||||
}
|
||||
Reference in New Issue
Block a user