diff options
Diffstat (limited to 'openmp/offload/src/compiler_if_target.h')
-rw-r--r-- | openmp/offload/src/compiler_if_target.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/openmp/offload/src/compiler_if_target.h b/openmp/offload/src/compiler_if_target.h new file mode 100644 index 00000000000..49d2c1c6099 --- /dev/null +++ b/openmp/offload/src/compiler_if_target.h @@ -0,0 +1,50 @@ +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.txt for details. +// +//===----------------------------------------------------------------------===// + + +/*! \file + \brief The interface between compiler-generated target code and runtime library +*/ + +#ifndef COMPILER_IF_TARGET_H_INCLUDED +#define COMPILER_IF_TARGET_H_INCLUDED + +#include "offload_target.h" + +#define OFFLOAD_TARGET_ENTER OFFLOAD_PREFIX(target_enter) +#define OFFLOAD_TARGET_LEAVE OFFLOAD_PREFIX(target_leave) +#define OFFLOAD_TARGET_MAIN OFFLOAD_PREFIX(target_main) + +/*! \fn OFFLOAD_TARGET_ENTER + \brief Fill in variable addresses using VarDesc array. + \brief Then call back the runtime library to fetch data. + \param ofld Offload descriptor created by runtime. + \param var_desc_num Number of variable descriptors. + \param var_desc Pointer to VarDesc array. + \param var_desc2 Pointer to VarDesc2 array. +*/ +extern "C" void OFFLOAD_TARGET_ENTER( + OFFLOAD ofld, + int var_desc_num, + VarDesc *var_desc, + VarDesc2 *var_desc2 +); + +/*! \fn OFFLOAD_TARGET_LEAVE + \brief Call back the runtime library to gather outputs using VarDesc array. + \param ofld Offload descriptor created by OFFLOAD_TARGET_ACQUIRE. +*/ +extern "C" void OFFLOAD_TARGET_LEAVE( + OFFLOAD ofld +); + +// Entry point for the target application. +extern "C" void OFFLOAD_TARGET_MAIN(void); + +#endif // COMPILER_IF_TARGET_H_INCLUDED |