45 lines
1.1 KiB
C++
45 lines
1.1 KiB
C++
//===----------------------------------------------------------------------===//
|
|
//
|
|
// 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.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
|
#include "compiler_if_target.h"
|
|
|
|
extern "C" void OFFLOAD_TARGET_ENTER(
|
|
OFFLOAD ofld,
|
|
int vars_total,
|
|
VarDesc *vars,
|
|
VarDesc2 *vars2
|
|
)
|
|
{
|
|
OFFLOAD_DEBUG_TRACE(3, "%s(%p, %d, %p, %p)\n", __func__, ofld,
|
|
vars_total, vars, vars2);
|
|
ofld->merge_var_descs(vars, vars2, vars_total);
|
|
ofld->scatter_copyin_data();
|
|
}
|
|
|
|
extern "C" void OFFLOAD_TARGET_LEAVE(
|
|
OFFLOAD ofld
|
|
)
|
|
{
|
|
OFFLOAD_DEBUG_TRACE(3, "%s(%p)\n", __func__, ofld);
|
|
ofld->gather_copyout_data();
|
|
}
|
|
|
|
extern "C" void OFFLOAD_TARGET_MAIN(void)
|
|
{
|
|
// initialize target part
|
|
__offload_target_init();
|
|
|
|
// pass control to COI
|
|
PipelineStartExecutingRunFunctions();
|
|
ProcessWaitForShutdown();
|
|
|
|
OFFLOAD_DEBUG_TRACE(2, "Exiting main...\n");
|
|
}
|