| /* | |
| * ompd-specific.h -- OpenMP debug support | |
| */ | |
| //===----------------------------------------------------------------------===// | |
| // | |
| // 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 | |
| // | |
| //===----------------------------------------------------------------------===// | |
| #include "kmp.h" | |
| #include "omp-tools.h" | |
| #include <stdint.h> | |
| #ifndef __OMPD_SPECIFIC_H__ | |
| #define __OMPD_SPECIFIC_H__ | |
| #if OMPD_SUPPORT | |
| void ompd_init(); | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| extern char *ompd_env_block; | |
| extern ompd_size_t ompd_env_block_size; | |
| extern char *__kmp_tool_verbose_init; | |
| #ifdef __cplusplus | |
| } /* extern "C" */ | |
| #endif | |
| extern uint64_t ompd_state; | |
| #define OMPD_ENABLE_BP 0x1 | |
| #define OMPD_FOREACH_ACCESS(OMPD_ACCESS) \ | |
| OMPD_ACCESS(kmp_base_info_t, th_current_task) \ | |
| OMPD_ACCESS(kmp_base_info_t, th_team) \ | |
| OMPD_ACCESS(kmp_base_info_t, th_info) \ | |
| OMPD_ACCESS(kmp_base_info_t, ompt_thread_info) \ | |
| \ | |
| OMPD_ACCESS(kmp_base_root_t, r_in_parallel) \ | |
| \ | |
| OMPD_ACCESS(kmp_base_team_t, ompt_team_info) \ | |
| OMPD_ACCESS(kmp_base_team_t, ompt_serialized_team_info) \ | |
| OMPD_ACCESS(kmp_base_team_t, t_active_level) \ | |
| OMPD_ACCESS(kmp_base_team_t, t_implicit_task_taskdata) \ | |
| OMPD_ACCESS(kmp_base_team_t, t_master_tid) \ | |
| OMPD_ACCESS(kmp_base_team_t, t_nproc) \ | |
| OMPD_ACCESS(kmp_base_team_t, t_level) \ | |
| OMPD_ACCESS(kmp_base_team_t, t_parent) \ | |
| OMPD_ACCESS(kmp_base_team_t, t_pkfn) \ | |
| OMPD_ACCESS(kmp_base_team_t, t_threads) \ | |
| \ | |
| OMPD_ACCESS(kmp_desc_t, ds) \ | |
| \ | |
| OMPD_ACCESS(kmp_desc_base_t, ds_thread) \ | |
| OMPD_ACCESS(kmp_desc_base_t, ds_tid) \ | |
| \ | |
| OMPD_ACCESS(kmp_info_t, th) \ | |
| \ | |
| OMPD_ACCESS(kmp_r_sched_t, r_sched_type) \ | |
| OMPD_ACCESS(kmp_r_sched_t, chunk) \ | |
| \ | |
| OMPD_ACCESS(kmp_root_t, r) \ | |
| \ | |
| OMPD_ACCESS(kmp_internal_control_t, dynamic) \ | |
| OMPD_ACCESS(kmp_internal_control_t, max_active_levels) \ | |
| OMPD_ACCESS(kmp_internal_control_t, nproc) \ | |
| OMPD_ACCESS(kmp_internal_control_t, proc_bind) \ | |
| OMPD_ACCESS(kmp_internal_control_t, sched) \ | |
| OMPD_ACCESS(kmp_internal_control_t, default_device) \ | |
| OMPD_ACCESS(kmp_internal_control_t, thread_limit) \ | |
| \ | |
| OMPD_ACCESS(kmp_taskdata_t, ompt_task_info) \ | |
| OMPD_ACCESS(kmp_taskdata_t, td_flags) \ | |
| OMPD_ACCESS(kmp_taskdata_t, td_icvs) \ | |
| OMPD_ACCESS(kmp_taskdata_t, td_parent) \ | |
| OMPD_ACCESS(kmp_taskdata_t, td_team) \ | |
| \ | |
| OMPD_ACCESS(kmp_task_t, routine) \ | |
| \ | |
| OMPD_ACCESS(kmp_team_p, t) \ | |
| \ | |
| OMPD_ACCESS(kmp_nested_nthreads_t, used) \ | |
| OMPD_ACCESS(kmp_nested_nthreads_t, nth) \ | |
| \ | |
| OMPD_ACCESS(kmp_nested_proc_bind_t, used) \ | |
| OMPD_ACCESS(kmp_nested_proc_bind_t, bind_types) \ | |
| \ | |
| OMPD_ACCESS(ompt_task_info_t, frame) \ | |
| OMPD_ACCESS(ompt_task_info_t, scheduling_parent) \ | |
| OMPD_ACCESS(ompt_task_info_t, task_data) \ | |
| \ | |
| OMPD_ACCESS(ompt_team_info_t, parallel_data) \ | |
| \ | |
| OMPD_ACCESS(ompt_thread_info_t, state) \ | |
| OMPD_ACCESS(ompt_thread_info_t, wait_id) \ | |
| OMPD_ACCESS(ompt_thread_info_t, thread_data) \ | |
| \ | |
| OMPD_ACCESS(ompt_data_t, value) \ | |
| OMPD_ACCESS(ompt_data_t, ptr) \ | |
| \ | |
| OMPD_ACCESS(ompt_frame_t, exit_frame) \ | |
| OMPD_ACCESS(ompt_frame_t, enter_frame) \ | |
| \ | |
| OMPD_ACCESS(ompt_lw_taskteam_t, parent) \ | |
| OMPD_ACCESS(ompt_lw_taskteam_t, ompt_team_info) \ | |
| OMPD_ACCESS(ompt_lw_taskteam_t, ompt_task_info) | |
| #define OMPD_FOREACH_BITFIELD(OMPD_BITFIELD) \ | |
| OMPD_BITFIELD(kmp_tasking_flags_t, final) \ | |
| OMPD_BITFIELD(kmp_tasking_flags_t, tiedness) \ | |
| OMPD_BITFIELD(kmp_tasking_flags_t, tasktype) \ | |
| OMPD_BITFIELD(kmp_tasking_flags_t, task_serial) \ | |
| OMPD_BITFIELD(kmp_tasking_flags_t, tasking_ser) \ | |
| OMPD_BITFIELD(kmp_tasking_flags_t, team_serial) \ | |
| OMPD_BITFIELD(kmp_tasking_flags_t, started) \ | |
| OMPD_BITFIELD(kmp_tasking_flags_t, executing) \ | |
| OMPD_BITFIELD(kmp_tasking_flags_t, complete) \ | |
| OMPD_BITFIELD(kmp_tasking_flags_t, freed) \ | |
| OMPD_BITFIELD(kmp_tasking_flags_t, native) | |
| #define OMPD_FOREACH_SIZEOF(OMPD_SIZEOF) \ | |
| OMPD_SIZEOF(kmp_info_t) \ | |
| OMPD_SIZEOF(kmp_taskdata_t) \ | |
| OMPD_SIZEOF(kmp_task_t) \ | |
| OMPD_SIZEOF(kmp_tasking_flags_t) \ | |
| OMPD_SIZEOF(kmp_thread_t) \ | |
| OMPD_SIZEOF(ompt_data_t) \ | |
| OMPD_SIZEOF(ompt_id_t) \ | |
| OMPD_SIZEOF(__kmp_avail_proc) \ | |
| OMPD_SIZEOF(__kmp_max_nth) \ | |
| OMPD_SIZEOF(__kmp_stksize) \ | |
| OMPD_SIZEOF(__kmp_omp_cancellation) \ | |
| OMPD_SIZEOF(__kmp_max_task_priority) \ | |
| OMPD_SIZEOF(__kmp_display_affinity) \ | |
| OMPD_SIZEOF(__kmp_affinity_format) \ | |
| OMPD_SIZEOF(__kmp_tool_libraries) \ | |
| OMPD_SIZEOF(__kmp_tool_verbose_init) \ | |
| OMPD_SIZEOF(__kmp_tool) \ | |
| OMPD_SIZEOF(ompd_state) \ | |
| OMPD_SIZEOF(kmp_nested_nthreads_t) \ | |
| OMPD_SIZEOF(__kmp_nested_nth) \ | |
| OMPD_SIZEOF(kmp_nested_proc_bind_t) \ | |
| OMPD_SIZEOF(__kmp_nested_proc_bind) \ | |
| OMPD_SIZEOF(int) \ | |
| OMPD_SIZEOF(char) \ | |
| OMPD_SIZEOF(__kmp_gtid) \ | |
| OMPD_SIZEOF(__kmp_nth) | |
| #endif /* OMPD_SUPPORT */ | |
| #endif |