//===---------- private.h - Target independent OpenMP target RTL ----------===// // // 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. // //===----------------------------------------------------------------------===// // // Private function declarations and helper macros for debugging output. // //===----------------------------------------------------------------------===// #ifndef _OMPTARGET_PRIVATE_H #define _OMPTARGET_PRIVATE_H #include #include extern int target_data_begin(DeviceTy &Device, int32_t arg_num, void **args_base, void **args, int64_t *arg_sizes, int64_t *arg_types); extern int target_data_end(DeviceTy &Device, int32_t arg_num, void **args_base, void **args, int64_t *arg_sizes, int64_t *arg_types); extern void target_data_update(DeviceTy &Device, int32_t arg_num, void **args_base, void **args, int64_t *arg_sizes, int64_t *arg_types); extern int target(int64_t device_id, void *host_ptr, int32_t arg_num, void **args_base, void **args, int64_t *arg_sizes, int64_t *arg_types, int32_t team_num, int32_t thread_limit, int IsTeamConstruct); extern int CheckDeviceAndCtors(int64_t device_id); #ifdef OMPTARGET_DEBUG extern int DebugLevel; #define DP(...) \ do { \ if (DebugLevel > 0) { \ DEBUGP("Libomptarget", __VA_ARGS__); \ } \ } while (false) #else // OMPTARGET_DEBUG #define DP(...) {} #endif // OMPTARGET_DEBUG #endif