llvm/openmp/runtime/src/ompt-internal.h

/*
 * ompt-internal.h - header of OMPT internal data structures
 */

//===----------------------------------------------------------------------===//
//
// 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
//
//===----------------------------------------------------------------------===//

#ifndef __OMPT_INTERNAL_H__
#define __OMPT_INTERNAL_H__

#include "ompt-event-specific.h"
#include "omp-tools.h"

#define OMPT_VERSION

#define _OMP_EXTERN

#define OMPT_INVOKER(x)

#define ompt_callback(e)

ompt_callbacks_internal_t;

ompt_callbacks_active_t;

#define TASK_TYPE_DETAILS_FORMAT(info)

ompt_task_info_t;

ompt_team_info_t;

ompt_lw_taskteam_t;

ompt_thread_info_t;

extern ompt_callbacks_internal_t ompt_callbacks;

#if OMPT_SUPPORT && OMPT_OPTIONAL
#if USE_FAST_MEMORY
#define KMP_OMPT_DEPS_ALLOC
#define KMP_OMPT_DEPS_FREE
#else
#define KMP_OMPT_DEPS_ALLOC
#define KMP_OMPT_DEPS_FREE
#endif
#endif /* OMPT_SUPPORT && OMPT_OPTIONAL */

#ifdef __cplusplus
extern "C" {
#endif

void ompt_pre_init(void);
void ompt_post_init(void);
void ompt_fini(void);

#define OMPT_GET_RETURN_ADDRESS(level)
#define OMPT_GET_FRAME_ADDRESS(level)

int __kmp_control_tool(uint64_t command, uint64_t modifier, void *arg);

extern ompt_callbacks_active_t ompt_enabled;

#if KMP_OS_WINDOWS
#define UNLIKELY
#define OMPT_NOINLINE
#else
#define UNLIKELY(x)
#define OMPT_NOINLINE
#endif

#ifdef __cplusplus
}
#endif

#endif