Revert "[OpenMP] [OMPT] [3/8] Implemented callback registration in libomptarget"
This reverts commit 2b234ce3f0
.
This commit is contained in:
parent
60865f1689
commit
4763e877f7
|
@ -1,64 +0,0 @@
|
|||
//===--------- ompt_device_callbacks.h - OMPT callbacks -- 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
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// Interface used by both target-independent and device-dependent runtimes
|
||||
// to coordinate registration and invocation of OMPT callbacks
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef _OMPT_DEVICE_CALLBACKS_H
|
||||
#define _OMPT_DEVICE_CALLBACKS_H
|
||||
|
||||
#ifdef OMPT_SUPPORT
|
||||
|
||||
#include <omp-tools.h>
|
||||
|
||||
#define FOREACH_OMPT_TARGET_CALLBACK(macro) \
|
||||
FOREACH_OMPT_DEVICE_EVENT(macro) \
|
||||
FOREACH_OMPT_NOEMI_EVENT(macro) \
|
||||
FOREACH_OMPT_EMI_EVENT(macro)
|
||||
|
||||
/// Internal representation for OMPT device callback functions.
|
||||
class OmptDeviceCallbacksTy {
|
||||
public:
|
||||
/// Initialize the enabled flag and all the callbacks
|
||||
void init() {
|
||||
Enabled = false;
|
||||
#define initName(Name, Type, Code) Name##_fn = 0;
|
||||
FOREACH_OMPT_TARGET_CALLBACK(initName)
|
||||
#undef initName
|
||||
}
|
||||
|
||||
/// Used to register callbacks. \p Lookup is used to query a given callback
|
||||
/// by name and the result is assigned to the corresponding callback function.
|
||||
void registerCallbacks(ompt_function_lookup_t Lookup) {
|
||||
Enabled = true;
|
||||
#define OmptBindCallback(Name, Type, Code) \
|
||||
Name##_fn = (Name##_t)Lookup(#Name); \
|
||||
DP("OMPT: class bound %s=%p\n", #Name, ((void *)(uint64_t)Name##_fn));
|
||||
|
||||
FOREACH_OMPT_TARGET_CALLBACK(OmptBindCallback);
|
||||
#undef OmptBindCallback
|
||||
}
|
||||
|
||||
private:
|
||||
/// Set to true if callbacks for this library have been initialized
|
||||
bool Enabled;
|
||||
|
||||
/// Callback functions
|
||||
#define DeclareName(Name, Type, Code) Name##_t Name##_fn;
|
||||
FOREACH_OMPT_TARGET_CALLBACK(DeclareName)
|
||||
#undef DeclareName
|
||||
};
|
||||
|
||||
/// Device callbacks object for the library that performs the instantiation
|
||||
extern OmptDeviceCallbacksTy OmptDeviceCallbacks;
|
||||
|
||||
#endif // OMPT_SUPPORT
|
||||
|
||||
#endif // _OMPT_DEVICE_CALLBACKS_H
|
|
@ -19,15 +19,12 @@
|
|||
|
||||
#include "omp-tools.h"
|
||||
#include "ompt_connector.h"
|
||||
#include "ompt_device_callbacks.h"
|
||||
#include "private.h"
|
||||
|
||||
#define fnptr_to_ptr(x) ((void *)(uint64_t)x)
|
||||
|
||||
/// Used to indicate whether OMPT was enabled for this library
|
||||
bool ompt_enabled = false;
|
||||
/// Object maintaining all the callbacks for this library
|
||||
OmptDeviceCallbacksTy OmptDeviceCallbacks;
|
||||
|
||||
/// This is the function called by the higher layer (libomp) responsible
|
||||
/// for initializing OMPT in this library. This is passed to libomp
|
||||
|
@ -40,11 +37,7 @@ static int ompt_libomptarget_initialize(ompt_function_lookup_t lookup,
|
|||
ompt_data_t *tool_data) {
|
||||
DP("enter ompt_libomptarget_initialize!\n");
|
||||
ompt_enabled = true;
|
||||
// The lookup parameter is provided by libomp which already has the
|
||||
// tool callbacks registered at this point. The registration call
|
||||
// below causes the same callback functions to be registered in
|
||||
// libomptarget as well
|
||||
OmptDeviceCallbacks.registerCallbacks(lookup);
|
||||
// TODO use the parameters to populate callbacks in libomptarget
|
||||
DP("exit ompt_libomptarget_initialize!\n");
|
||||
return 0;
|
||||
}
|
||||
|
@ -75,9 +68,6 @@ __attribute__((constructor(102))) static void ompt_init(void) {
|
|||
OmptResult.finalize = ompt_libomptarget_finalize;
|
||||
OmptResult.tool_data.value = 0;
|
||||
|
||||
// Initialize the device callbacks first
|
||||
OmptDeviceCallbacks.init();
|
||||
|
||||
// Now call connect that causes the above init/fini functions to be called
|
||||
LibompConnector.connect(&OmptResult);
|
||||
DP("OMPT: Exit ompt_init\n");
|
||||
|
|
Loading…
Reference in New Issue