summaryrefslogtreecommitdiff
path: root/openmp/runtime/src/kmp_utility.cpp
AgeCommit message (Collapse)Author
2024-03-12[OpenMP] Remove unused logical/physical CPUID information (#83298)Jonathan Peyton
2023-12-14[openmp][wasm] Allow compiling OpenMP to WebAssembly (#71297)Andrew Brown
This change allows building the static OpenMP runtime, `libomp.a`, as WebAssembly. It builds on the work done in [D142593] but goes further in several ways: - it makes the OpenMP CMake files more WebAssembly-aware - it conditions much more code (or code that had been refactored since [D142593]) for `KMP_ARCH_WASM` and `KMP_OS_WASI` - it fixes a Clang crash due to unimplemented common symbols in WebAssembly The commit messages have more details. Please understand this PR as a start, not the completed work, for WebAssembly support in OpenMP. Getting the tests running somehow would be a good next step, e.g.; but what is contained here works, at least with recent versions of [wasi-sdk] and engines that support [wasi-threads]. I suspect the same is true for Emscripten and browsers, but I have not tested that workflow. [D142593]: https://reviews.llvm.org/D142593 [wasi-sdk]: https://github.com/WebAssembly/wasi-sdk [wasi-threads]: https://github.com/WebAssembly/wasi-threads --------- Co-authored-by: Atanas Atanasov <atanas.atanasov@intel.com>
2023-01-03[OpenMP] Solve potential VERSION script error w/ OMPT symbolsJP Lehr
The patch adds the symbols if OMPT_SUPPORT is not defined. Github issue: https://github.com/llvm/llvm-project/issues/59660 Reviewed By: jhuber6 Differential Revision: https://reviews.llvm.org/D140591
2022-11-08[OpenMP][mingw] Fix build for aarch64 targetAlvin Wong
This patch changes AArch64 + `__GNUC__` to use `__sync` builtins to implement internal atomic macros just like for Unix, because mingw-w64 is missing some of the intrinsics which the MSVC codepath is using. Then some remaining intel-only functions are removed from dllexport to fix linking. This should fix https://github.com/llvm/llvm-project/issues/56349. Reviewed By: natgla Differential Revision: https://reviews.llvm.org/D137168
2021-10-14[OpenMP][host runtime] Add initial hybrid CPU supportPeyton, Jonathan L
Detect, through CPUID.1A, and show user different core types through KMP_AFFINITY=verbose mechanism. Offer future runtime optimizations __kmp_is_hybrid_cpu() to know whether running on a hybrid system or not. Differential Revision: https://reviews.llvm.org/D110435
2021-10-14[OpenMP][host runtime] small fixup of RTM CPUID bit checkPeyton, Jonathan L
2021-10-01[OpenMP][host runtime] Introduce kmp_cpuinfo_flags_t to replace integer flagsPeyton, Jonathan L
Store CPUID support flags as bits instead of using entire integers. Differential Revision: https://reviews.llvm.org/D110091
2021-03-15[OpenMP] Remove unused cpu_stackoffset memberPeyton, Jonathan L
2021-02-20[OpenMP][NFC] clang-format the whole openmp projectShilei Tian
Same script as D95318. Test files are excluded. Reviewed By: AndreyChurbanov Differential Revision: https://reviews.llvm.org/D97088
2020-12-31[OpenMP] libomp: Handle implicit conversion warningsTerry Wilmarth
This patch partially prepares the runtime source code to be built with -Wconversion, which should trigger warnings if any implicit conversions can possibly change a value. For builds done with icc or gcc, all such warnings are handled in this patch. clang gives a much longer list of warnings, particularly for sign conversions, which the other compilers don't report. The -Wconversion flag is commented into cmake files, but I'm not going to turn it on. If someone thinks it is important, and wants to fix all the clang warnings, they are welcome to. Types of changes made here involve either improving the consistency of types used so that no conversion is needed, or else performing careful explicit conversions, when we're sure a problem won't arise. Patch is a combination of changes by Terry Wilmarth and Johnny Peyton. Differential Revision: https://reviews.llvm.org/D92942
2020-04-04[OpenMP] NFC: Fix trivial typoKazuaki Ishizaki
Differential Revision: https://reviews.llvm.org/D77430
2019-01-19Update more file headers across all of the LLVM projects in the monorepoChandler Carruth
to reflect the new license. These used slightly different spellings that defeated my regular expressions. We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach. Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository. llvm-svn: 351648
2018-12-10Support clang compiling under windows-gnu and windows-msvcAndrey Churbanov
Patch by Peiyuan Song <squallatf@gmail.com> Differential Revision: https://reviews.llvm.org/D53422 llvm-svn: 348756
2017-11-09Add const to some variables to avoid const_castsJonas Hahnfeld
In these places the const attribute seems correct and doesn't need any other change, so let's do it. Differential Revision: https://reviews.llvm.org/D39756 llvm-svn: 317798
2017-10-20Apply formatting changesJonathan Peyton
.clang-format's comments are removed and a (hopefully) final set of formatting changes are applied. Differential Revision: https://reviews.llvm.org/D38837 Differential Revision: https://reviews.llvm.org/D38920 llvm-svn: 316227
2017-09-27Remove unnecessary semicolonsJonathan Peyton
Removes semicolons after if {} blocks, function definitions, etc. I was able to apply the large OMPT patch cleanly on top of this one with no conflicts. llvm-svn: 314340
2017-07-03OpenMP RTL cleanup: eliminated warnings with -Wcast-qual.Andrey Churbanov
Changes are: replaced C-style casts with cons_cast and reinterpret_cast; type of several counters changed to signed; type of parameters of 32-bit and 64-bit AND and OR intrinsics changes to unsigned; changed files formatted using clang-format version 3.8.1. Differential Revision: https://reviews.llvm.org/D34759 llvm-svn: 307020
2017-05-12Clang-format and whitespace cleanup of source codeJonathan Peyton
This patch contains the clang-format and cleanup of the entire code base. Some of clang-formats changes made the code look worse in places. A best effort was made to resolve the bulk of these problems, but many remain. Most of the problems were mangling line-breaks and tabbing of comments. Patch by Terry Wilmarth Differential Revision: https://reviews.llvm.org/D32659 llvm-svn: 302929
2016-12-14Follow up to r289732: Update comments in source files to reference .cpp filesJonathan Peyton
Patch by Hansang Bae llvm-svn: 289739
2016-12-14Change source files from .c to .cppJonathan Peyton
Patch by Hansang Bae Differential Revision: https://reviews.llvm.org/D26688 llvm-svn: 289732