50 lines
1.5 KiB
C++
50 lines
1.5 KiB
C++
//===---------- 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 <omptarget.h>
|
|
|
|
#include <cstdint>
|
|
|
|
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
|