llvm-capstone/openmp/libomptarget
Shilei Tian dc049a4ea6 [OpenMP] Make libomptarget link against libomp
In `libomptarget` we use a couple of functions from `libomp`, but we didn't link
`libomptarget` against `libomp`. That will not work on some platforms such
as macOS. A linker error will be encountered because those symbols are not resolved
at link time when building `libomptarget`. This patch simply makes `libomptarget`
link agains `libomp`, makes it a "user" of `libomp`. I think this will not break
the policies between `libomp` and `libomptarget`.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D149617
2023-05-01 19:01:45 -04:00
..
cmake/Modules [Libomptarget] Update handling of architectures for DeviceRTL 2023-03-08 11:22:33 -06:00
DeviceRTL Revert "[OpenMP] Introduce kernel environment" 2023-04-22 20:56:35 -04:00
docs [NFC] Initial documentation for declare target indirect support. 2021-11-08 15:12:03 -08:00
include Emit info message when use_device_address variable does not have a device counterpart. 2023-05-01 09:07:48 -04:00
plugins Revert "[OpenMP] Introduce kernel environment" 2023-04-22 20:56:35 -04:00
plugins-nextgen [OpenMP] Only enable version script if supported 2023-04-30 23:34:56 -04:00
src [OpenMP] Make libomptarget link against libomp 2023-05-01 19:01:45 -04:00
test Emit info message when use_device_address variable does not have a device counterpart. 2023-05-01 09:07:48 -04:00
tools [Libomptarget][NFC] Address a few warnings in libomptarget 2023-01-23 08:56:03 -06:00
utils Revert "[OpenMP] Codegen aggregate for outlined function captures" 2022-09-15 03:08:46 +00:00
CMakeLists.txt [Libomptarget] Remove unused test targets in libomptaget 2023-01-30 06:34:15 -06:00
README.txt

    README for the LLVM* OpenMP* Offloading Runtime Library (libomptarget)
    ======================================================================

How to Build the LLVM* OpenMP* Offloading Runtime Library (libomptarget)
========================================================================
In-tree build:

$ cd where-you-want-to-live
Check out openmp (libomptarget lives under ./libomptarget) into llvm/projects
$ cd where-you-want-to-build
$ mkdir build && cd build
$ cmake path/to/llvm -DCMAKE_C_COMPILER=<C compiler> -DCMAKE_CXX_COMPILER=<C++ compiler>
$ make omptarget

Out-of-tree build:

$ cd where-you-want-to-live
Check out openmp (libomptarget lives under ./libomptarget)
$ cd where-you-want-to-live/openmp/libomptarget
$ mkdir build && cd build
$ cmake path/to/openmp -DCMAKE_C_COMPILER=<C compiler> -DCMAKE_CXX_COMPILER=<C++ compiler>
$ make

For details about building, please look at README.rst in the parent directory.

Architectures Supported
=======================
The current library has been only tested in Linux operating system and the
following host architectures:
* Intel(R) 64 architecture
* IBM(R) Power architecture (big endian)
* IBM(R) Power architecture (little endian)
* ARM(R) AArch64 architecture (little endian)

The currently supported offloading device architectures are:
* Intel(R) 64 architecture (generic 64-bit plugin - mostly for testing purposes)
* IBM(R) Power architecture (big endian) (generic 64-bit plugin - mostly for testing purposes)
* IBM(R) Power architecture (little endian) (generic 64-bit plugin - mostly for testing purposes)
* ARM(R) AArch64 architecture (little endian) (generic 64-bit plugin - mostly for testing purposes)
* CUDA(R) enabled 64-bit NVIDIA(R) GPU architectures

Supported RTL Build Configurations
==================================
Supported Architectures: Intel(R) 64, IBM(R) Power 7 and Power 8

              ---------------------------
              |   gcc      |   clang    |
--------------|------------|------------|
| Linux* OS   |  Yes(1)    |  Yes(2)    |
-----------------------------------------

(1) gcc version 4.8.2 or later is supported.
(2) clang version 3.7 or later is supported.


Front-end Compilers that work with this RTL
===========================================

The following compilers are known to do compatible code generation for
this RTL:
  - clang (from https://github.com/clang-ykt )
  - clang (development branch at http://clang.llvm.org - several features still
    under development)

-----------------------------------------------------------------------

Notices
=======
This library and related compiler support is still under development, so the
employed interface is likely to change in the future.

*Other names and brands may be claimed as the property of others.