Imported Upstream version 6.10.0.49

Former-commit-id: 1d6753294b2993e1fbf92de9366bb9544db4189b
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2020-01-16 16:38:04 +00:00
parent d94e79959b
commit 468663ddbb
48518 changed files with 2789335 additions and 61176 deletions

View File

@@ -0,0 +1,116 @@
README for the LLVM* OpenMP* Runtime Library
============================================
How to Build Documentation
==========================
The main documentation is in Doxygen* format, and this distribution
should come with pre-built PDF documentation in doc/Reference.pdf.
However, an HTML version can be built by executing:
% doxygen doc/doxygen/config
in the runtime directory.
That will produce HTML documentation in the doc/doxygen/generated
directory, which can be accessed by pointing a web browser at the
index.html file there.
If you don't have Doxygen installed, you can download it from
www.doxygen.org.
How to Build the LLVM* OpenMP* Runtime Library
==============================================
In-tree build:
$ cd where-you-want-to-live
Check out openmp 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 omp
Out-of-tree build:
$ cd where-you-want-to-live
Check out openmp
$ cd where-you-want-to-live/openmp
$ 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.
Architectures Supported
=======================
* IA-32 architecture
* Intel(R) 64 architecture
* Intel(R) Many Integrated Core Architecture
* ARM* architecture
* Aarch64 (64-bit ARM) architecture
* IBM(R) Power architecture (big endian)
* IBM(R) Power architecture (little endian)
* MIPS and MIPS64 architectures
Supported RTL Build Configurations
==================================
Supported Architectures: IA-32 architecture, Intel(R) 64, and
Intel(R) Many Integrated Core Architecture
----------------------------------------------
| icc/icl | gcc | clang |
--------------|---------------|----------------------------|
| Linux* OS | Yes(1,5) | Yes(2,4) | Yes(4,6,7) |
| FreeBSD* | No | No | Yes(4,6,7,8) |
| OS X* | Yes(1,3,4) | No | Yes(4,6,7) |
| Windows* OS | Yes(1,4) | No | No |
------------------------------------------------------------
(1) On IA-32 architecture and Intel(R) 64, icc/icl versions 12.x are
supported (12.1 is recommended).
(2) GCC* version 4.7 is supported.
(3) For icc on OS X*, OS X* version 10.5.8 is supported.
(4) Intel(R) Many Integrated Core Architecture not supported.
(5) On Intel(R) Many Integrated Core Architecture, icc/icl versions 13.0
or later are required.
(6) Clang* version 3.3 is supported.
(7) Clang* currently does not offer a software-implemented 128 bit extended
precision type. Thus, all entry points reliant on this type are removed
from the library and cannot be called in the user program. The following
functions are not available:
__kmpc_atomic_cmplx16_*
__kmpc_atomic_float16_*
__kmpc_atomic_*_fp
(8) Community contribution provided AS IS, not tested by Intel.
Supported Architectures: IBM(R) Power 7 and Power 8
-----------------------------
| gcc | clang |
--------------|------------|--------------|
| Linux* OS | Yes(1,2) | Yes(3,4) |
-------------------------------------------
(1) On Power 7, gcc version 4.8.2 is supported.
(2) On Power 8, gcc version 4.8.2 is supported.
(3) On Power 7, clang version 3.7 is supported.
(4) On Power 8, clang version 3.7 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 the OpenMP development branch at
http://clang-omp.github.io/ ), Intel compilers, GCC. See the documentation
for more details.
-----------------------------------------------------------------------
Notices
=======
*Other names and brands may be claimed as the property of others.

View File

@@ -0,0 +1 @@
e97c40ce16b3c8f8dabf35150de8c61daefabd30

View File

@@ -0,0 +1,27 @@
html { margin: 0px; } body { margin: 8px; }
html, body {
padding:0px;
font-size:small; font-family:"Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, Helvetica, sans-serif; background-color: #fff; color: #222;
line-height:1.5;
}
h1, h2, h3, tt { color: #000 }
h1 { padding-top:0px; margin-top:0px;}
h2 { color:#333333; padding-top:0.5em; }
h3 { padding-top: 0.5em; margin-bottom: -0.25em; color:#2d58b7}
li { padding-bottom: 0.5em; }
ul { padding-left:1.5em; }
/* Slides */
IMG.img_slide {
display: block;
margin-left: auto;
margin-right: auto
}
.itemTitle { color:#2d58b7 }
/* Tables */
tr { vertical-align:top }

View File

@@ -0,0 +1,243 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<!-- Material used from: HTML 4.01 specs: http://www.w3.org/TR/html401/ -->
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>OpenMP* : Support for the OpenMP language</title>
<link type="text/css" rel="stylesheet" href="menu.css">
<link type="text/css" rel="stylesheet" href="content.css">
</head>
<body>
<div id="menu">
<div>
<a href="http://llvm.org/">LLVM Home</a>
</div>
<div class="submenu">
<label>OpenMP Info</label>
<a href="/index.html">About</a>
</div>
<div class="submenu">
<label>Quick Links</label>
<a href="http://lists.llvm.org/mailman/listinfo/openmp-dev">openmp-dev</a>
<a href="http://lists.llvm.org/mailman/listinfo/openmp-commits">openmp-commits</a>
<a href="http://llvm.org/bugs/">Bug Reports</a>
<a href="http://llvm.org/svn/llvm-project/openmp/trunk/">Browse SVN</a>
<a href="http://llvm.org/viewvc/llvm-project/openmp/trunk/">Browse ViewVC</a>
</div>
</div>
<div id="content">
<!--*********************************************************************-->
<h1>OpenMP&reg;: Support for the OpenMP language</h1>
<!--*********************************************************************-->
<p>The OpenMP subproject of LLVM contains the
components required to build an executable OpenMP program that are
outside the compiler itself.
</p>
<p>Here you can find :-
<ul>
<li>
the code for the runtime library against which
code compiled by <tt>clang -fopenmp</tt> must be linked before it
can run.
</li>
<li>
the library that supports offload to target devices (in
"offload")
</li>
<li>
the OpenUH test-suite used to validate the OpenMP runtime
</li>
</ul>
</p>
<p>Support for the parts of the OpenMP 4.0 (and later) language that are not
associated with the "target" constructs are contained in the
"runtime" directory. Support for offloading computation via the
"target" directive is in the separate "offload" directory. That
builds a library that provides the interfaces for transferring code
and data to attached computational devices such as
the Intel&reg Xeon Phi&#0153 coprocessor or GPUs.
The README.txt in the "offload"
directory describes how to build the offload library.
</p>
<p>All of the code here is <a
href="http://llvm.org/docs/DeveloperPolicy.html#license">dual licensed</a>
under the MIT license and the UIUC License (a BSD-like license).
The LICENSE.txt file at the top of the OpenMP project contains
the license text and associated patent grants.
</p>
<!--=====================================================================-->
<h2 id="dir-structure">Status</h2>
<!--=====================================================================-->
<p>With the release of Clang 3.8.0, OpenMP 3.1 support is enabled in
Clang by default, and the OpenMP runtime is therefore built as a
normal part of the Clang build, and distributed with the binary
distributions.You do not, therefore, need explicitly to check out this code, or
build it out of tree; a normal Clang check out and build will
automatically include building these runtime libraries.
</p>
<!--=====================================================================-->
<h2 id="goals">Features and Goals</h2>
<!--=====================================================================-->
<ul>
<li>Support for the <a href="http://www.openmp.org/mp-documents/OpenMP3.1.pdf">OpenMP
3.1 standard (PDF)</a> has been achieved in the Clang 3.8.0
release.
</li>
<li>Support for the
<a href="http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf">OpenMP
4.0 standard (PDF)</a> and <a href="http://www.openmp.org/mp-documents/OpenMP4.5.pdf">OpenMP
4.5 standard (PDF)</a> is now being implemented. (Some OpenMP 4.0
and 4.5 features are already available).
<li>High performance.</li>
<li>ABI compatibility with <a href="http://gcc.gnu.org">Gcc</a> and
<a href="http://software.intel.com/en-us/intel-compilers">Intel's
existing OpenMP compilers.</a>
We currently have binary compatibility with OpenMP
3.1 code compiled by gcc 4.9, however we do not have support
for OpenMP 4.0 code that uses task cancellation when compiled
by gcc 4.9. How we will support such code remains a research issue.
</li>
</ul>
<!--=====================================================================-->
<h2 id="why">Why have the runtime code here?</h2>
<!--=====================================================================-->
<p>It makes sense to have the runtime sources in the same place
(and with the same license) as the compiler.
</p>
<!--=====================================================================-->
<h2 id="requirements">Platform Support</h2>
<!--=====================================================================-->
<p>The runtime can be built with gcc, icc or clang. However, note
that a runtime built with clang cannot be guaranteed to work with
OpenMP code compiled by the other compilers, since clang does not support
a 128-bit float type, and cannot therefore generate the code used
for reductions of that type (which may occur in user code compiled
by the other compilers).
</p>
<p>The OpenMP runtime is known to work on
<ul>
<li>ARM&reg;&nbsp; architecture processors</li>
<li>PowerPC&trade;&nbsp; processors</li>
<li>32 and 64 bit X86
processors when compiled with clang, with the Intel compiler
or with gcc, and also the Intel&reg;&nbsp;Xeon Phi&trade; product family, when compiled with
the Intel compiler.
</li>
<li>MIPS and MIPS64</li>
</ul>
Ports to other architectures and operating systems are welcome.
</p>
<p>A full OS and archiecture compatibility matrix is in
<a href="README.txt">README.txt</a>
</p>
<!--=====================================================================-->
<h2>Get it and get involved!</h2>
<!--=====================================================================-->
<p>First please review our
<a href="http://llvm.org/docs/DeveloperPolicy.html">Developer's Policy</a>.
<p>To check out the code, use:</p>
<ul>
<li><code>svn co http://llvm.org/svn/llvm-project/openmp/trunk openmp</code></li>
</ul>
<p>
Note that for an in-tree build, you should check out openmp to llvm/projects.
</p>
<p>In-tree build:</p>
<ul>
<li><code>cd where-you-want-to-live</code></li>
<li>Check out openmp into llvm/projects</li>
<li><code>cd where-you-want-to-build</code></li>
<li><code>mkdir build &amp;&amp; cd build</code></li>
<li><code>cmake path/to/llvm -DCMAKE_C_COMPILER=&lt;C compiler&gt; -DCMAKE_CXX_COMPILER=&lt;C++ compiler&gt;</code></li>
<li><code>make omp</code></li>
</ul>
<p>Out-of-tree build:</p>
<ul>
<li><code>cd where-you-want-to-live</code></li>
<li>Check out openmp</li>
<li><code>cd where-you-want-to-live/openmp</code></li>
<li><code>mkdir build &amp;&amp; cd build</code></li>
<li><code>cmake path/to/openmp -DCMAKE_C_COMPILER=&lt;C compiler&gt; -DCMAKE_CXX_COMPILER=&lt;C++ compiler&gt;</code></li>
<li><code>make</code></li>
</ul>
<p>Full details of how to build are in the
<a href="README.txt">README.txt</a> and README.rst in the source code repository.
</p>
<!--=====================================================================-->
<h3>Notes</h3>
<!--=====================================================================-->
<p>
</p>
<p>Send discussions to the
(<a href="http://lists.llvm.org/mailman/listinfo/openmp-dev">OpenMP mailing list</a>).</p>
<!--=====================================================================-->
<h2>Design Documents</h2>
<!--=====================================================================-->
<ul>
<li><a href="Reference.pdf">Runtime design (PDF)</a></li>
</ul>
<!--=====================================================================-->
<h2>Copyright notices</h2>
<!--=====================================================================-->
<ul>
<li>
The OpenMP name and the OpenMP logo are registered trademarks of the
OpenMP Architecture Review Board.
</li>
<li>
Intel is a trademark of Intel Corporation in the U.S. and/or other
countries.
</li>
<li>
PowerPC is a trademark of IBM Corporation in the U.S. and/or other
countries.
</li>
<li>
ARM is a trademark of ARM Corporation in the U.S. and/or
other countries.
</li>
<li>
MIPS is a trademark of MIPS Computer Systems in the U.S. and/or
other countries.
</li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,39 @@
/***************/
/* page layout */
/***************/
[id=menu] {
position:fixed;
width:25ex;
}
[id=content] {
/* ***** EDIT THIS VALUE IF CONTENT OVERLAPS MENU ***** */
position:absolute;
left:29ex;
padding-right:4ex;
}
/**************/
/* menu style */
/**************/
#menu .submenu {
padding-top:1em;
display:block;
}
#menu label {
display:block;
font-weight: bold;
text-align: center;
background-color: rgb(192,192,192);
}
#menu a {
padding:0 .2em;
display:block;
text-align: center;
background-color: rgb(235,235,235);
}
#menu a:visited {
color:rgb(100,50,100);
}