1 2 README for the LLVM* OpenMP* Runtime Library 3 ============================================ 4 5How to Build Documentation 6========================== 7 8The main documentation is in Doxygen* format, and this distribution 9should come with pre-built PDF documentation in doc/Reference.pdf. 10However, an HTML version can be built by executing: 11 12% doxygen doc/doxygen/config 13 14in the runtime directory. 15 16That will produce HTML documentation in the doc/doxygen/generated 17directory, which can be accessed by pointing a web browser at the 18index.html file there. 19 20If you don't have Doxygen installed, you can download it from 21www.doxygen.org. 22 23 24How to Build the LLVM* OpenMP* Runtime Library 25============================================== 26In-tree build: 27 28$ cd where-you-want-to-live 29Check out openmp into llvm/projects 30$ cd where-you-want-to-build 31$ mkdir build && cd build 32$ cmake path/to/llvm -DCMAKE_C_COMPILER=<C compiler> -DCMAKE_CXX_COMPILER=<C++ compiler> 33$ make omp 34 35Out-of-tree build: 36 37$ cd where-you-want-to-live 38Check out openmp 39$ cd where-you-want-to-live/openmp 40$ mkdir build && cd build 41$ cmake path/to/openmp -DCMAKE_C_COMPILER=<C compiler> -DCMAKE_CXX_COMPILER=<C++ compiler> 42$ make 43 44For details about building, please look at README.rst. 45 46Architectures Supported 47======================= 48* IA-32 architecture 49* Intel(R) 64 architecture 50* Intel(R) Many Integrated Core Architecture 51* ARM* architecture 52* Aarch64 (64-bit ARM) architecture 53* IBM(R) Power architecture (big endian) 54* IBM(R) Power architecture (little endian) 55* MIPS and MIPS64 architectures 56* RISC-V 64 bit architecture 57 58Supported RTL Build Configurations 59================================== 60 61Supported Architectures: IA-32 architecture, Intel(R) 64, and 62Intel(R) Many Integrated Core Architecture 63 64 ---------------------------------------------- 65 | icc/icl | gcc | clang | 66--------------|---------------|----------------------------| 67| Linux* OS | Yes(1,5) | Yes(2,4) | Yes(4,6,7) | 68| FreeBSD* | No | No | Yes(4,6,7,8) | 69| OS X* | Yes(1,3,4) | No | Yes(4,6,7) | 70| Windows* OS | Yes(1,4) | No | No | 71------------------------------------------------------------ 72 73(1) On IA-32 architecture and Intel(R) 64, icc/icl versions 12.x are 74 supported (12.1 is recommended). 75(2) GCC* version 4.7 is supported. 76(3) For icc on OS X*, OS X* version 10.5.8 is supported. 77(4) Intel(R) Many Integrated Core Architecture not supported. 78(5) On Intel(R) Many Integrated Core Architecture, icc/icl versions 13.0 79 or later are required. 80(6) Clang* version 3.3 is supported. 81(7) Clang* currently does not offer a software-implemented 128 bit extended 82 precision type. Thus, all entry points reliant on this type are removed 83 from the library and cannot be called in the user program. The following 84 functions are not available: 85 __kmpc_atomic_cmplx16_* 86 __kmpc_atomic_float16_* 87 __kmpc_atomic_*_fp 88(8) Community contribution provided AS IS, not tested by Intel. 89 90Supported Architectures: IBM(R) Power 7 and Power 8 91 92 ----------------------------- 93 | gcc | clang | 94--------------|------------|--------------| 95| Linux* OS | Yes(1,2) | Yes(3,4) | 96------------------------------------------- 97 98(1) On Power 7, gcc version 4.8.2 is supported. 99(2) On Power 8, gcc version 4.8.2 is supported. 100(3) On Power 7, clang version 3.7 is supported. 101(4) On Power 8, clang version 3.7 is supported. 102 103 104Front-end Compilers that work with this RTL 105=========================================== 106 107The following compilers are known to do compatible code generation for 108this RTL: clang (from the OpenMP development branch at 109http://clang-omp.github.io/ ), Intel compilers, GCC. See the documentation 110for more details. 111 112----------------------------------------------------------------------- 113 114Notices 115======= 116 117*Other names and brands may be claimed as the property of others. 118