llvm-project/openmp/runtime/src
Jonathan Peyton 6564a70415 [OpenMP][libomp] Fix register constraint for tpause and umwait
Register constraint switched to "=q" which means very specifically (from
https://gcc.gnu.org/onlinedocs/gcc/Machine-Constraints.html#Machine-Constraints)

> Any register accessible as rl. In 32-bit mode, a, b, c, and d; in 64-bit
mode, any integer register.

Older gcc versions (8.x and below) were trying to use esi or edi for the
8 bit flag variable, but it wound up displaying this error in the end:

kmp_lock.cpp: In function ‘void __kmp_spin_backoff(kmp_backoff_t*)’:
kmp_lock.cpp:2684:1: error: unsupported size for integer register
Hence the correct restriction is "=q" instead of "=r".

Fixes: https://github.com/llvm/llvm-project/issues/53309
Differential Revision: https://reviews.llvm.org/D120519
2022-03-07 14:55:49 -06:00
..
i18n [OpenMP][libomp] Add core attributes to KMP_HW_SUBSET 2021-12-10 14:34:33 -06:00
include [OpenMP] libomp: omp_in_explicit_task() implemented. 2022-03-05 21:46:39 +03:00
thirdparty/ittnotify [OpenMP] Silence build warnings when built with MinGW 2021-11-17 18:51:18 +02:00
CMakeLists.txt [openmp][cmake] `CMAKE_INSTALL_BINDIR` usage should not be quoted 2022-01-29 23:52:50 +00:00
dllexports [OpenMP] libomp: omp_in_explicit_task() implemented. 2022-03-05 21:46:39 +03:00
exports_so.txt Revert "[openmp] Add OMPT initialization in libomptarget" 2021-11-10 12:44:25 +01:00
extractExternal.cpp
kmp.h [OpenMP][libomp] Fix register constraint for tpause and umwait 2022-03-07 14:55:49 -06:00
kmp_affinity.cpp [OpenMP][libomp] Introduce oneAPI compiler support 2022-02-14 14:10:33 -06:00
kmp_affinity.h [OpenMP][libomp] Add use-all syntax to KMP_HW_SUBSET 2021-12-20 13:45:21 -06:00
kmp_alloc.cpp [OpenMP] libomp: add OpenMP 5.1 memory allocation routines. 2021-10-11 19:25:00 +03:00
kmp_atomic.cpp [OpenMP][libomp] Introduce oneAPI compiler support 2022-02-14 14:10:33 -06:00
kmp_atomic.h [OpenMP][libomp] Introduce oneAPI compiler support 2022-02-14 14:10:33 -06:00
kmp_barrier.cpp [OpenMP][libomp] Introduce oneAPI compiler support 2022-02-14 14:10:33 -06:00
kmp_barrier.h [OpenMP] libomp: Add new experimental barrier: two-level distributed barrier 2021-07-29 14:09:26 -05:00
kmp_cancel.cpp
kmp_config.h.cmake [openmp] Do not use shared memory on Android 2021-08-09 09:41:32 -07:00
kmp_csupport.cpp [OpenMP][libomp] Introduce oneAPI compiler support 2022-02-14 14:10:33 -06:00
kmp_debug.cpp
kmp_debug.h
kmp_debugger.cpp [OpenMP][libomp] Introduce oneAPI compiler support 2022-02-14 14:10:33 -06:00
kmp_debugger.h
kmp_dispatch.cpp [OpenMP] Add use of TPAUSE 2022-01-18 10:14:32 -06:00
kmp_dispatch.h [OpenMP] Add use of TPAUSE 2022-01-18 10:14:32 -06:00
kmp_dispatch_hier.h [OpenMP] libomp: fix dynamic loop dispatcher 2021-06-22 16:29:01 +03:00
kmp_environment.cpp
kmp_environment.h
kmp_error.cpp Added API for "masked" construct via two entrypoints: __kmpc_masked, 2021-03-05 09:29:57 -06:00
kmp_error.h
kmp_ftn_cdecl.cpp
kmp_ftn_entry.h [OpenMP] libomp: omp_in_explicit_task() implemented. 2022-03-05 21:46:39 +03:00
kmp_ftn_extra.cpp
kmp_ftn_os.h [OpenMP] libomp: omp_in_explicit_task() implemented. 2022-03-05 21:46:39 +03:00
kmp_ftn_stdcall.cpp
kmp_global.cpp [OpenMP] Add use of TPAUSE 2022-01-18 10:14:32 -06:00
kmp_gsupport.cpp [OpenMP][OMPT][GOMP] task frame support in KMP_API_NAME_GOMP_PARALLEL_SECTIONS 2021-10-22 11:01:10 -05:00
kmp_i18n.cpp
kmp_i18n.h [OpenMP] Fix warnings due to redundant semicolons. NFC. 2021-05-02 21:51:06 +03:00
kmp_import.cpp
kmp_io.cpp
kmp_io.h
kmp_itt.cpp [OpenMP] libomp: fix ittnotify usage. 2021-10-13 20:49:05 +03:00
kmp_itt.h [OpenMP] libomp: fix ittnotify usage. 2021-10-13 20:49:05 +03:00
kmp_itt.inl [OpenMP] libomp: fix ittnotify usage. 2021-10-13 20:49:05 +03:00
kmp_lock.cpp [OpenMP][libomp] Introduce oneAPI compiler support 2022-02-14 14:10:33 -06:00
kmp_lock.h [OpenMP] Add use of TPAUSE 2022-01-18 10:14:32 -06:00
kmp_omp.h Added API for "masked" construct via two entrypoints: __kmpc_masked, 2021-03-05 09:29:57 -06:00
kmp_os.h [OpenMP][libomp] Introduce oneAPI compiler support 2022-02-14 14:10:33 -06:00
kmp_platform.h [OpenMP] Changes to enable MSVC ARM64 build of libomp 2021-05-11 23:03:12 +03:00
kmp_runtime.cpp [OpenMP][libomp] Introduce oneAPI compiler support 2022-02-14 14:10:33 -06:00
kmp_safe_c_api.h [OpenMP] Fix incorrect KMP_STRLEN() macro 2021-04-05 09:03:09 -05:00
kmp_sched.cpp [OpenMP] libomp: fix bug in implementation of distribute construct. 2022-02-11 17:34:26 +03:00
kmp_settings.cpp [OpenMP] libomp: fix UB when LIBOMP_NUM_HIDDEN_HELPER_THREADS=1. 2022-02-12 03:00:38 +03:00
kmp_settings.h [OpenMP][OMPD] Implementation of OMPD debugging library - libompd. 2021-06-08 16:44:22 +05:30
kmp_stats.cpp Added API for "masked" construct via two entrypoints: __kmpc_masked, 2021-03-05 09:29:57 -06:00
kmp_stats.h [OpenMP] libomp: Add new experimental barrier: two-level distributed barrier 2021-07-29 14:09:26 -05:00
kmp_stats_timing.cpp
kmp_stats_timing.h
kmp_str.cpp [OpenMP] libomp: Add new experimental barrier: two-level distributed barrier 2021-07-29 14:09:26 -05:00
kmp_str.h [OpenMP] libomp: Add new experimental barrier: two-level distributed barrier 2021-07-29 14:09:26 -05:00
kmp_stub.cpp [OpenMP][libomp] Introduce oneAPI compiler support 2022-02-14 14:10:33 -06:00
kmp_stub.h
kmp_taskdeps.cpp [OpenMP] Add missing `tt_hidden_helper_task_encountered` along with `tt_found_proxy_tasks` 2021-12-29 23:22:53 -05:00
kmp_taskdeps.h [OpenMP] libomp: runtime part of omp_all_memory task dependence implementation. 2021-09-08 16:55:32 +03:00
kmp_tasking.cpp [OpenMP] libomp: implemented task priorities. 2022-03-07 22:24:18 +03:00
kmp_threadprivate.cpp Added API for "masked" construct via two entrypoints: __kmpc_masked, 2021-03-05 09:29:57 -06:00
kmp_utility.cpp [OpenMP][host runtime] Add initial hybrid CPU support 2021-10-14 16:49:42 -05:00
kmp_version.cpp [OpenMP][libomp] Introduce oneAPI compiler support 2022-02-14 14:10:33 -06:00
kmp_version.h
kmp_wait_release.cpp [OpenMP] libomp: Add new experimental barrier: two-level distributed barrier 2021-07-29 14:09:26 -05:00
kmp_wait_release.h [OpenMP] Add use of TPAUSE 2022-01-18 10:14:32 -06:00
kmp_wrapper_getpid.h
kmp_wrapper_malloc.h
libomp.rc.var
ompd-specific.cpp [libomp] ompd_init(): fix heap-buffer-overflow when constructing libompd.so path 2021-07-13 15:36:46 +03:00
ompd-specific.h [OpenMP][OMPD] Implementation of OMPD debugging library - libompd. 2021-06-08 16:44:22 +05:30
ompt-event-specific.h Revert "[openmp] Add OMPT initialization in libomptarget" 2021-11-10 12:44:25 +01:00
ompt-general.cpp [OpenMP][libomp] Introduce oneAPI compiler support 2022-02-14 14:10:33 -06:00
ompt-internal.h Revert "[openmp] Add OMPT initialization in libomptarget" 2021-11-10 12:44:25 +01:00
ompt-specific.cpp [OpenMP][OMPT] thread_num determination during execution of nested serialized parallel regions 2021-10-25 18:21:20 +02:00
ompt-specific.h [OpenMP] Misc. changes that add or remove pointer/bound checks 2021-03-23 18:55:08 -05:00
test-touch.c
z_Linux_asm.S
z_Linux_util.cpp [OpenMP][libomp] Add support for offline CPUs in Linux 2021-11-17 16:28:01 -06:00
z_Windows_NT-586_asm.asm
z_Windows_NT-586_util.cpp [OpenMP] Changes to enable MSVC ARM64 build of libomp 2021-05-11 23:03:12 +03:00
z_Windows_NT_util.cpp [OpenMP][libomp] Introduce oneAPI compiler support 2022-02-14 14:10:33 -06:00