llvm34-3.4.1-0b with clang-omp/openmp support

Jack Howarth <[email protected]>
Newsgroups gmane.os.apple.fink.devel
Message-ID <CAP5Ds0BC4Xqj5+2PXo8PGCDkr9-hShsAuWud0Pv+j-wYPM=qWw@mail.gmail.com>
    The attached llvm34.info and the new clang-omp.patch (containing a
merge of current clang-omp github at
commit f9e2fd7640f8fc06ebe1ef2f065c6158f6b4b6ef) provides a clang compiler
with functional -fopenmp support that uses the current libiomp5.dylib built
from llvm.org's openmp svn trunk. The libiomp5.dylib is stored in
%p/opt/llvm-3.4/lib and the clang compiler is perl edited to
emit%p/opt/llvm-3.4/lib/libiomp5.dylib rather than -liomp5 to allow the
shared library to be found. The single omp.h header is stored in
%p/opt/llvm-3.4/lib/clang/%v/include in order to be found by the clang
compiler, The new info file requires a openmp-r208472.tar.gz tar ball
generated with…

svn co -r208472 http://llvm.org/svn/llvm-project/openmp/trunk/ openmp-r20847
tar -zcvf openmp-r20847.tar.gz openmp-r20847

Tested with 'fink -m' on x86_64-apple-darwin11 against Xcode 4.6.3 and on
x86_64-apple-darwin12/13 against Xcode 5.1.1. The resulting clang compiler
in llvm34 produces the OpenMP3.1_Validation test results…

Summary:
S Number of tested Open MP constructs: 62
S Number of used tests:                123
S Number of failed tests:              5
S Number of successful tests:          118
S + from this were verified:           113

Normal tests:
N Number of failed tests:              2
N + from this fail compilation:        0
N + from this timed out                0
N Number of successful tests:          60
N + from this were verified:           57

Orphaned tests:
O Number of failed tests:              3
O + from this fail compilation:        0
O + from this timed out                0
O Number of successful tests:          58
O + from this were verified:           56

and exposed a potentially darwin-specific regression
in bin/c/ctest_omp_taskyield (which segfaults on darwin11/12/13). Reported
as https://github.com/clang-omp/clang/issues/34.
Compiles and completely passes the taskbench-1.0-2011.07.15 from
http://web.cs.uh.edu/%7Eopenuh/download/.
                 Jack
ps the changes to the current llvm34-3.4.1-0a are…


Index: llvm34.info
===================================================================
RCS file: /cvsroot/fink/dists/10.7/stable/main/finkinfo/languages/
llvm34.info,v
retrieving revision 1.13
diff -r1.13 llvm34.info
4c4
< Revision: 0a
---
> Revision: 0b
42a43,44
> Source7: mirror:sourceforge:fink/openmp-r208472.tar.gz
> Source7-MD5: 26f5b2bcd0e3220316d212f451aec741
56a59,60
> PatchFile6: clang-omp.patch
> PatchFile6-MD5: 1a16e148456889d101bb3026df969e5a
80a85,87
>   $patch_filter %{PatchFile6} | patch -p1
>   # use complete path to libiomp5.dylib instead of -liomp5
>   perl -pi -e 's|-liomp5|%p/opt/llvm-3.4/lib/libiomp5.dylib|g'
lib/Driver/Tools.cpp test/OpenMP/linking.c
178d184
<
962a969,978
>
> pushd %b/../openmp-r208472/runtime
> make -j1  compiler=clang
> OPENMP_DIR=`ls tmp | grep dyn`
>   pushd tmp/$OPENMP_DIR
> install -m 755 libiomp5.dylib %i/opt/llvm-3.4/lib
> install_name_tool -id "%p/opt/llvm-3.4/lib/libiomp5.dylib"
"%i/opt/llvm-3.4/lib/libiomp5.dylib"
> install -m 644 omp.h %i/opt/llvm-3.4/lib/clang/%v/include
> popd
> popd
1000a1017
> opt/llvm-3.4/lib/libiomp5.dylib
1035a1053
> %p/opt/llvm-3.4/lib/libiomp5.dylib 5.0.0  %n (>= 3.4-0)
1298a1317,1325
>
> Generate openmp-r208472 with..
> svn co -r208472 http://llvm.org/svn/llvm-project/openmp/trunk/openmp-r20847
> tar -zcvf openmp-r20847.tar.gz openmp-r20847
>
> Current clang-omp.patch generated by diff of clang 3.4 source and
clang-omp from
> git co -b clang-omp https://github.com/clang-omp/clang.git
> at commit f9e2fd7640f8fc06ebe1ef2f065c6158f6b4b6ef.
>
clang-omp.patch (application/octet-stream, 737.7 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.