pocl (1.2-5) unstable; urgency=medium
authorAndreas Beckmann <anbe@debian.org>
Mon, 4 Feb 2019 23:39:59 +0000 (23:39 +0000)
committerAndreas Beckmann <anbe@debian.org>
Mon, 4 Feb 2019 23:39:59 +0000 (23:39 +0000)
  * Disable dh_dwz which fails on 32-bit platforms, see #918903.

[dgit import unpatched pocl 1.2-5]

31 files changed:
1  2 
debian/changelog
debian/clean
debian/control
debian/copyright
debian/libpocl-dev.install
debian/libpocl2-common.install
debian/libpocl2.install
debian/libpocl2.lintian-overrides
debian/libpocl2.symbols
debian/patches/0001-Fix-linker-flags-for-Apple.patch
debian/patches/0002-Fix-kernel-debug-data-emission.patch
debian/patches/armhf.patch
debian/patches/custom_try_compile_clang_silent.patch
debian/patches/distro.patch
debian/patches/find-clang-march-mcpu-flag.patch
debian/patches/generic-cpu.patch
debian/patches/more-printf-tests.patch
debian/patches/no-compiler-rt.patch
debian/patches/printf.patch
debian/patches/series
debian/patches/sphinx.patch
debian/pocl-doc.doc-base
debian/pocl-doc.docs
debian/pocl-opencl-icd.docs
debian/pocl-opencl-icd.install
debian/pocl-opencl-icd.lintian-overrides
debian/rules
debian/source/format
debian/source/lintian-overrides
debian/upstream/metadata
debian/watch

index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..92797feea216c89fd97adc2613ae8d0743cd0c0e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,558 @@@
++pocl (1.2-5) unstable; urgency=medium
++
++  * Disable dh_dwz which fails on 32-bit platforms, see #918903.
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 05 Feb 2019 00:39:59 +0100
++
++pocl (1.2-4) unstable; urgency=medium
++
++  * Cherry-pick upstream "Fix kernel debug data emission".  (Closes: #919824)
++  * Switch to debhelper-compat (= 12).
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Mon, 04 Feb 2019 16:08:38 +0100
++
++pocl (1.2-3) experimental; urgency=medium
++
++  * kernel/test_printf: Add more tests.
++  * Perform compile test to select -march or -mcpu for clang.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Mon, 21 Jan 2019 01:34:24 +0100
++
++pocl (1.2-2) unstable; urgency=medium
++
++  * Update symbols files.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 15 Jan 2019 16:55:49 +0100
++
++pocl (1.2-1) experimental; urgency=medium
++
++  * New upstream release.
++  * Remove patches that were applied upstream.
++  * Cherry-pick upstream commit fixing LINK_WITH_CLANG.
++  * Do not link with --rtlib=compiler-rt at all.
++  * Ignore kernel/test_printf failure on i686.
++
++ -- Andreas Beckmann <anbe@debian.org>  Fri, 11 Jan 2019 19:49:24 +0100
++
++pocl (1.2~rc2-1) experimental; urgency=medium
++
++  * New upstream release candidate.
++  * Refresh/remove patches.
++  * Update symbols files for amd64 and i386.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Fri, 07 Sep 2018 19:14:21 +0200
++
++pocl (1.1-9) unstable; urgency=medium
++
++  * Drop unused deprecated module 'sphinx.ext.pngmath'.  (Closes: #918828)
++  * Update symbols files.
++
++ -- Andreas Beckmann <anbe@debian.org>  Thu, 10 Jan 2019 00:56:33 +0100
++
++pocl (1.1-8) unstable; urgency=medium
++
++  * Update symbols files.  (Closes: #916024)
++  * Fix building in armel chroot on arm64 host.  (Closes: #917244)
++  * Switch to debhelper-compat (= 11).
++  * Bump Standards-Version to 4.3.0, no changes needed.
++  * Update Lintian overrides.
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 08 Jan 2019 13:04:26 +0100
++
++pocl (1.1-7) unstable; urgency=medium
++
++  * Update symbols files.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Fri, 07 Sep 2018 16:04:52 +0200
++
++pocl (1.1-6) experimental; urgency=medium
++
++  * pocl-opencl-icd: Mark as Multi-Arch: same.
++  * Fix building in armhf chroot on arm64 host.
++  * Bump Standards-Version to 4.2.1, no changes needed.
++  * Update symbols files.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Thu, 06 Sep 2018 14:11:03 +0200
++
++pocl (1.1-5) unstable; urgency=medium
++
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Mon, 09 Apr 2018 14:42:39 +0200
++
++pocl (1.1-4) experimental; urgency=medium
++
++  * Run clinfo during testing.
++  * Do not link with --rtlib=compiler-rt on non-x86.  (Closes: #892426)
++  * Prevent PIC/no-PIC option clash on mips64el.
++  * Set target cpu for armel to arm946e-s (arch=armv5te).
++  * Set target cpu for armhf to arm1156t2f-s (arch=armv6t2) with
++    -mfpu=vfp3-d16. Probably suboptimal (should rather be arch=armv7-a without
++    neon,vfp4), but passes all tests.  (Closes: #888063)
++  * Bump Standards-Version to 4.1.4, no changes needed.
++
++ -- Andreas Beckmann <anbe@debian.org>  Fri, 06 Apr 2018 19:39:01 +0200
++
++pocl (1.1-3) experimental; urgency=medium
++
++  * Add support for building for the GENERIC cpu, i.e. llvm defaults.
++  * Build with -DLLC_HOST_CPU=GENERIC on most architectures.
++  * Build with -DKERNELLIB_HOST_CPU_VARIANTS=distro on amd64.
++  * Switch to llvm 6.0.
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 27 Mar 2018 13:12:40 +0200
++
++pocl (1.1-2) experimental; urgency=medium
++
++  * Switch to llvm 5.0.
++  * Update symbols files for amd64 and i386.
++  * Cherry-pick upstream commits for libhwloc 2.0 support.
++  * Cherry-pick upstream commit fixing test_clCreateSubDevices with 3 CUs.
++  * Cherry-pick upstream commit fixing reported values of native/preferred
++    vector width for unsupported types.
++  * pocl-doc: Mark as Multi-Arch: foreign.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Sun, 25 Mar 2018 17:35:44 +0200
++
++pocl (1.1-1) unstable; urgency=medium
++
++  * New upstream release.
++  * Remove patches, applied or fixed upstream.
++  * Remove -DFORCE_OCL_KERNEL_TARGET_CPU=ON, fixed upstream.
++  * Report the error code on test failure.
++  * Point watch file to git tags on github.
++  * Add debian/upstream/metadata.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Sat, 10 Mar 2018 00:37:43 +0100
++
++pocl (1.1~rc2-1) experimental; urgency=medium
++
++  * New upstream release candidate.  (Closes: #888062)
++  * Remove patches that were applied upstream.
++  * Update symbols files.
++  * Do not attempt to run the testsuite during an arch-indep build.
++  * Set LLVM_ARCH for arm64, armel, armhf to generic.
++  * Set LLVM_ARCH for s390x to z10.  (Closes: #888064)
++  * Drop internal helper library packages libpoclu-dev and libpoclu2.
++  * Add altivec.patch to get rid of the conflicting bool and vector macros
++    from altivec.h.  (Closes: #764561)
++  * Update Lintian overrides.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 27 Feb 2018 17:31:09 +0100
++
++pocl (1.0-2) unstable; urgency=medium
++
++  * Merge changes from 0.14-7.
++  * Build with SLEEF instead of VECMATHLIB.
++  * HACK: Ignore test failure for kernel/test_fabs on i386.
++  * Add and use new CMake option -DFORCE_OCL_KERNEL_TARGET_CPU=ON.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Fri, 19 Jan 2018 01:11:11 +0100
++
++pocl (1.0-1) experimental; urgency=medium
++
++  * New upstream release.
++  * Refresh/remove patches.
++  * Build with -DPOCL_ICD_ABSOLUTE_PATH=OFF.
++  * Rename library packages for SOVERSION bump: 1 => 2.
++  * Update symbols files for amd64 and i386.
++  * Build with -DENABLE_VECMATHLIB=ON.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Wed, 17 Jan 2018 14:13:19 +0100
++
++pocl (0.14-7) unstable; urgency=medium
++
++  * Switch to llvm 4.0.  (Closes: #873417)
++  * Update symbols files for amd64 and i386.
++
++ -- Andreas Beckmann <anbe@debian.org>  Wed, 17 Jan 2018 18:36:08 +0100
++
++pocl (0.14-6) unstable; urgency=medium
++
++  * Switch to debhelper compat level 11.
++  * Bump Standards-Version to 4.1.3, no changes needed.
++  * Switch Vcs-* to salsa.debian.org.
++  * Remove superfluous patches.
++
++ -- Andreas Beckmann <anbe@debian.org>  Wed, 17 Jan 2018 06:13:22 +0100
++
++pocl (0.14-5) unstable; urgency=medium
++
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Mon, 18 Dec 2017 01:44:17 +0100
++
++pocl (0.14-4) experimental; urgency=medium
++
++  * Switch to llvm 3.9.
++  * Update symbols files for amd64 and i386.
++
++ -- Andreas Beckmann <anbe@debian.org>  Sat, 16 Dec 2017 05:24:25 +0100
++
++pocl (0.14-3) experimental; urgency=medium
++
++  * Cherry-pick upstream [c9d2cd15] "llvm/Flatten: switch back to
++    force-inlining only some funcs", fixing kernel/test_convert_type_* failing
++    on i386 with LLC_HOST_CPU=i686.
++  * Switch LLC_HOST_CPU from "pentium3" to the correct baseline "i686" on
++    i386.
++  * kernel/test_printf actually passes on i386 with LLC_HOST_CPU=i686.
++  * Only override POCL_CACHE_DIR for the testsuite, not HOME.
++
++ -- Andreas Beckmann <anbe@debian.org>  Fri, 15 Dec 2017 07:08:32 +0100
++
++pocl (0.14-2) experimental; urgency=medium
++
++  * Cherry-pick upstream [62b74d6f] "Fix malloc size in tests/runtime/
++    test_clBuildProgram.c", fixing runtime/clBuildProgram failing frequently
++    on i386.
++  * Try to guess the minimal cpu for more architectures.
++
++ -- Andreas Beckmann <anbe@debian.org>  Thu, 14 Dec 2017 01:37:41 +0100
++
++pocl (0.14-1) experimental; urgency=medium
++
++  * New upstream release.
++  * The autotools based build system is gone.
++  * Refresh/remove patches.
++  * Use the CMAKE_INSTALL_SYSCONFDIR setting for /etc.
++  * Update symbols files.
++  * Update copyright holders and years.
++  * Remove pocl-standalone(1) manpage. The binary is no longer shipped.
++  * Ship the new poclcc binary in libpocl-dev.
++  * Do not downgrade to -std=c++11, fixing test_fabs failing on i386.
++    (Closes: #883613)
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 12 Dec 2017 03:48:35 +0100
++
++pocl (0.13-14) unstable; urgency=medium
++
++  * Bump Standards-Version to 4.1.2, no changes needed.
++  * cmake-no-get_cpu_name.patch: Rename/redo as
++    cmake-no-llvm-sys-getHostCPUName.patch to not use
++    llvm::sys::getHostCPUName().
++  * Clean up generated include/CL/cl.hpp* to fix building twice in a row.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Fri, 08 Dec 2017 18:55:52 +0100
++
++pocl (0.13-13) experimental; urgency=medium
++
++  * Fix cmake i386 detection, thanks to James Price.  (Closes: #882875)
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 28 Nov 2017 03:04:06 +0100
++
++pocl (0.13-12) experimental; urgency=medium
++
++  * Switch to cmake build system.
++  * llvmopencl.so.7 is now a private library.  (Closes: #823528)
++  * cmake-no-fno-rtti.patch: Build without -fno-rtti (a workaround for
++    clang-3.7), like autotools, to avoid symbol changes.
++  * cmake-no-get_cpu_name.patch: Do not use get_cpu_name(), makes some tests
++    fail.
++  * cmake-forcibly-link-regtests-with-pthread.patch: Link regression tests
++    with -lpthread unconditionally, otherwise test_issue_231 fails.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Mon, 27 Nov 2017 16:01:58 +0100
++
++pocl (0.13-11) unstable; urgency=medium
++
++  * Add Built-Using control field for linking against static clang libraries.
++  * do-not-export-clang-symbols.patch: Link static clang libraries with
++    --exclude-libs to not export their symbols.
++  * Update symbols files.
++
++ -- Andreas Beckmann <anbe@debian.org>  Sun, 26 Nov 2017 19:22:48 +0100
++
++pocl (0.13-10) unstable; urgency=medium
++
++  * Update symbols files.
++  * Bump Standards-Version to 4.1.1, no changes needed.
++  * Use dpkg makefile snippets instead of parsing the changelog manually.
++  * Switch B-D-I: python-sphinx to python3-sphinx.
++  * Set Rules-Requires-Root: no.
++  * set-POCL_DEVICE_ADDRESS_BITS-before-use.patch: Fix use-before-init in
++    CMakeLists.txt causing i386 to be misdetected as x86_64.
++  * Do not export libOpenCL.so.1 symbols.
++
++ -- Andreas Beckmann <anbe@debian.org>  Sat, 25 Nov 2017 21:03:13 +0100
++
++pocl (0.13-9) unstable; urgency=medium
++
++  * Work around using clang-3.8 with libstdc++-7-dev.  (Closes: #853620)
++  * Update symbols files.
++  * Switch to debhelper compat level 10.
++  * Bump Standards-Version to 4.0.1.
++  * Raise Priority to optional.
++  * Support nodoc build.
++  * Do not mark the -dev packages as Multi-Arch: foreign.
++  * Move kernel-<triplet>.bc from libpocl1-common into libpocl1.
++
++ -- Andreas Beckmann <anbe@debian.org>  Mon, 07 Aug 2017 04:57:35 +0200
++
++pocl (0.13-8) unstable; urgency=medium
++
++  * Enable more hardening.
++  * Reduce superfluous dependencies by linking with --as-needed.
++  * Update symbols files.
++  * Update lintian overrides.
++
++ -- Andreas Beckmann <anbe@debian.org>  Mon, 10 Oct 2016 13:38:39 +0200
++
++pocl (0.13-7) unstable; urgency=medium
++
++  * Update symbols files.
++
++ -- Andreas Beckmann <anbe@debian.org>  Fri, 09 Sep 2016 19:51:19 +0200
++
++pocl (0.13-6) unstable; urgency=medium
++
++  * Update symbols files.  (Closes: #835690, #836219)
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 06 Sep 2016 14:55:01 +0200
++
++pocl (0.13-5) unstable; urgency=medium
++
++  * Build-depend on the llvm-3.8 release version.
++  * Update symbols files.
++
++ -- Andreas Beckmann <anbe@debian.org>  Mon, 11 Jul 2016 04:24:40 +0200
++
++pocl (0.13-4) unstable; urgency=medium
++
++  * Use CLOCK_UPTIME_FAST on kFreeBSD.
++  * Update symbols files.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Sun, 03 Jul 2016 16:17:52 +0200
++
++pocl (0.13-3) experimental; urgency=medium
++
++  * Switch to llvm 3.8.
++  * Update symbols files for amd64 and i386.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Wed, 22 Jun 2016 14:37:21 +0200
++
++pocl (0.13-2) unstable; urgency=medium
++
++  * Update symbols files.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Wed, 22 Jun 2016 11:40:19 +0200
++
++pocl (0.13-1) experimental; urgency=medium
++
++  * New upstream release.  (Closes: #820480)
++  * Refresh llvm-system-libs.patch, new upstream only supports llvm 3.7/3.8.
++  * Remove fix-image-args.patch, fixed upstream.
++  * glibc-2.23.patch: New, add support for glibc 2.23.
++  * Update symbols files for amd64 and i386.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Wed, 15 Jun 2016 18:55:21 +0200
++
++pocl (0.12-6) unstable; urgency=medium
++
++  * Update symbols files.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 14 Jun 2016 20:11:10 +0200
++
++pocl (0.12-5) experimental; urgency=medium
++
++  * Switch to llvm 3.7.
++  * Update symbols files for amd64 and i386.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Thu, 09 Jun 2016 10:26:04 +0200
++
++pocl (0.12-4) unstable; urgency=medium
++
++  * Update symbols files.
++
++ -- Andreas Beckmann <anbe@debian.org>  Wed, 08 Jun 2016 02:36:14 +0200
++
++pocl (0.12-3) unstable; urgency=medium
++
++  * Fix OpenCL headers for GNU/Hurd.
++  * Update symbols files.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Sat, 28 May 2016 17:17:37 +0200
++
++pocl (0.12-2) experimental; urgency=medium
++
++  * Add B-D: sphinx-common for binary-arch builds with 'dh --with sphinxdoc'.
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 10 May 2016 20:32:16 +0200
++
++pocl (0.12-1) experimental; urgency=medium
++
++  * New upstream release.
++  * Refresh patches.
++  * Update symbols files for amd64 and i386.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Mon, 09 May 2016 14:44:03 +0200
++
++pocl (0.11-5) unstable; urgency=medium
++
++  * Work around clang failing to find sys/cdefs.h on !linux.
++
++ -- Andreas Beckmann <anbe@debian.org>  Fri, 27 May 2016 12:29:56 +0200
++
++pocl (0.11-4) unstable; urgency=medium
++
++  * Add B-D: sphinx-common for binary-arch builds with 'dh --with sphinxdoc'.
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 17 May 2016 12:45:38 +0200
++
++pocl (0.11-3) unstable; urgency=medium
++
++  * Update symbols files.
++  * Provide documentation package (pocl-doc), thanks to Ghislain Vaillant.
++
++ -- Andreas Beckmann <anbe@debian.org>  Sun, 08 May 2016 02:57:38 +0200
++
++pocl (0.11-2) unstable; urgency=medium
++
++  * Make the B-D on clang versioned to match llvm.
++  * Drop superfluous B-D.
++  * Fix testsuite failure on i386.  (Closes: #822563)
++  * Switch back target cpu to pentium3 on any-i386.
++  * Fix arm64 detection.  (Closes: #787686)
++  * Move libpocl1-common to section utils.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Wed, 27 Apr 2016 10:17:50 +0200
++
++pocl (0.11-1) experimental; urgency=medium
++
++  [ Vincent Danjean ]
++  * New upstream version  (Closes: #795321)
++  * Switch to llvm-3.6  (Closes: #803652)
++  * Fix "FTBFS on arm64" by targeting llvm arch to cortex-a53 on arm64
++    (Closes: #787686)
++  * Fix "vcs-browser field does not work" by fixing URL in debian/control
++    (Closes: #775844)
++
++  [ Andreas Beckmann ]
++  * Use a temporary, writable $HOME while running the testsuite.
++  * Show the full tests/testsuite.log on testsuite failures.
++  * Drop the -dbg package in favor of autogenerated -dbgsym packages.
++  * Update symbols files for amd64 and i386.
++  * llvm-config --system-libs is only needed with static llvm.
++  * Fix detection of image and sampler arguments, thanks to James Price.
++    (Closes: #799322)
++  * Put package under "Debian OpenCL Maintainers" team maintenance.
++  * Add Vincent Danjean and myself to Uploaders.
++  * Bump Standards-Version to 3.9.8 (no changes needed).
++
++ -- Andreas Beckmann <anbe@debian.org>  Mon, 25 Apr 2016 09:49:29 +0200
++
++pocl (0.10-12) experimental; urgency=medium
++
++  * Update again symbol file for armel
++  * apply partial fix for armhf (only one test fail, due to neon instruction)
++
++ -- Vincent Danjean <vdanjean@debian.org>  Sun, 02 Nov 2014 01:36:13 +0100
++
++pocl (0.10-11) experimental; urgency=medium
++
++  * Correctly fix FreeBSD include
++  * Update symbols file
++
++ -- Vincent Danjean <vdanjean@debian.org>  Mon, 27 Oct 2014 12:31:47 +0100
++
++pocl (0.10-10) unstable; urgency=medium
++
++  * fix symbol file (again), perhaps due to previous target adjustment
++  * trying pentium-m (for i386) and nehalem (for freebsd-i386) as
++    processor target
++
++ -- Vincent Danjean <vdanjean@debian.org>  Sat, 25 Oct 2014 22:32:40 +0200
++
++pocl (0.10-9) unstable; urgency=medium
++
++  * fix symbol file (again)
++  * lowering armhf llvm target (cortex-a5 instead of cortex-a7)
++    The good one should be ARMv7-A but it does not exist in LLVM
++    https://wiki.debian.org/ArmHardFloatPort
++  * bumping i386 target (from i686 to pentium4)
++    => some officially Debian supported i386 systems wont work with
++    pocl
++
++ -- Vincent Danjean <vdanjean@debian.org>  Fri, 24 Oct 2014 14:20:00 +0200
++
++pocl (0.10-8) unstable; urgency=medium
++
++  * fix symbol file for other architecture (!amd64)
++
++ -- Vincent Danjean <vdanjean@debian.org>  Fri, 24 Oct 2014 08:09:48 +0200
++
++pocl (0.10-7) unstable; urgency=medium
++
++  * bump minimum arch on i386 (from i586 to i686)
++  * to not ignore failed testsuite anymore at build time
++
++ -- Vincent Danjean <vdanjean@debian.org>  Wed, 22 Oct 2014 21:07:51 +0200
++
++pocl (0.10-6) unstable; urgency=medium
++
++  * Fix OpenCL headers for i386 FreeBSD
++  * use pkg-kde-tools to handle C++ symbols
++  * Try to support more Debian architectures.
++
++ -- Vincent Danjean <vdanjean@debian.org>  Wed, 22 Oct 2014 12:31:11 +0200
++
++pocl (0.10-5) unstable; urgency=medium
++
++  * Fix arm configure.ac detection
++  * try to support more Debian architectures
++
++ -- Vincent Danjean <vdanjean@debian.org>  Tue, 21 Oct 2014 14:50:28 +0200
++
++pocl (0.10-4) unstable; urgency=medium
++
++  * No need to provide utlist.h that is already provided in the uthash-dev
++    package (Closes: #764571)
++  * Fix some glitches in descriptions
++  * Remove old unneeded patches
++  * Add clang-3.5 dependency for libpocl1 (required when running a kernel)
++  * Fix default host CPU for the OpenCL compiler
++  * Add info in build logs to help debugging
++
++ -- Vincent Danjean <vdanjean@debian.org>  Fri, 10 Oct 2014 22:23:38 +0200
++
++pocl (0.10-3) unstable; urgency=medium
++
++  * Move the manpage in the correct package
++
++ -- Vincent Danjean <vdanjean@debian.org>  Wed, 08 Oct 2014 00:03:28 +0200
++
++pocl (0.10-2) unstable; urgency=medium
++
++  * Fix URLs, project name and update the copyright list
++    (initially created in 2012 with 0.7 version)
++
++ -- Vincent Danjean <vdanjean@debian.org>  Mon, 06 Oct 2014 23:22:34 +0200
++
++pocl (0.10-1) unstable; urgency=medium
++
++  * Initial release. (Closes: #676504: ITP: pocl -- Portable OpenCL)
++
++ -- Vincent Danjean <vdanjean@debian.org>  Sun, 05 Oct 2014 21:15:18 +0200
diff --cc debian/clean
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0774fe8e5af931cb60a53d47722c50d0133b3bfc
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,6 @@@
++include/CL/cl.hpp
++include/CL/cl.hpp.patched
++
++build-doc/
++debian/kcache/
++debian/stamp-failed-testsuite
diff --cc debian/control
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9edc7ff3ffa1640a6e6a4ff6dc4e941d9ce4c17b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,136 @@@
++Source: pocl
++Section: libs
++Priority: optional
++Maintainer: Debian OpenCL Maintainers <pkg-opencl-devel@lists.alioth.debian.org>
++Uploaders: Vincent Danjean <vdanjean@debian.org>,
++ Andreas Beckmann <anbe@debian.org>,
++Build-Depends:
++ debhelper-compat (= 12),
++ pkg-config,
++ libhwloc-dev,
++ libltdl-dev,
++ ocl-icd-dev (>= 2.2.3),
++ ocl-icd-libopencl1 (>= 2.2.3),
++ ocl-icd-opencl-dev,
++ clang-6.0,
++ libclang-6.0-dev,
++ llvm-6.0-dev,
++ pkg-kde-tools,
++ sphinx-common,
++ cmake,
++ clinfo,
++Build-Depends-Indep:
++ python3-sphinx,
++Rules-Requires-Root: no
++Standards-Version: 4.3.0
++Homepage: http://portablecl.org
++Vcs-Browser: https://salsa.debian.org/opencl-team/pocl
++Vcs-Git: https://salsa.debian.org/opencl-team/pocl.git
++
++Package: pocl-opencl-icd
++Architecture: any
++Multi-Arch: same
++Depends:
++ libpocl2 (= ${binary:Version}),
++ ${misc:Depends}
++Provides:
++ opencl-icd,
++ opencl-icd-1.1-1,
++ opencl-icd-1.2-1,
++Description: pocl ICD
++ Portable Computing Language is an open source implementation of the OpenCL
++ standard which can be easily adapted for new targets. One of the goals of the
++ project is improving performance portability of OpenCL programs, avoiding the
++ need for target-dependent manual optimizations. A "native" target is included,
++ which allows running OpenCL kernels on the host (CPU).
++ .
++ This package allows one to use pocl as an installable client driver (ICD) for
++ OpenCL.
++
++Package: libpocl2-common
++Architecture: all
++Multi-Arch: foreign
++Section: utils
++Depends:
++ ${misc:Depends}
++Breaks:
++ libpocl1-common,
++Replaces:
++ libpocl1-common,
++Description: common files for the pocl library
++ Portable Computing Language is an open source implementation of the OpenCL
++ standard which can be easily adapted for new targets. One of the goals of the
++ project is improving performance portability of OpenCL programs, avoiding the
++ need for target-dependent manual optimizations. A "native" target is included,
++ which allows running OpenCL kernels on the host (CPU).
++ .
++ This package provides the architecture independent files of the pocl library.
++
++Package: libpocl2
++Architecture: any
++Multi-Arch: same
++Pre-Depends:
++ ${misc:Pre-Depends}
++Depends:
++ libpocl2-common (= ${source:Version}),
++ clang-${LLVM:Version},
++ ${shlibs:Depends},
++ ${misc:Depends}
++Recommends:
++ pocl-opencl-icd,
++Breaks:
++ libpocl1-common (<< 0.13-9),
++Replaces:
++ libpocl1-common (<< 0.13-9),
++Built-Using:
++ ${Built-Using:clang},
++Description: Portable Computing Language library
++ Portable Computing Language is an open source implementation of the OpenCL
++ standard which can be easily adapted for new targets. One of the goals of the
++ project is improving performance portability of OpenCL programs, avoiding the
++ need for target-dependent manual optimizations. A "native" target is included,
++ which allows running OpenCL kernels on the host (CPU).
++ .
++ This package provides the core of pocl.
++
++Package: libpocl-dev
++Architecture: any
++Section: libdevel
++Depends:
++ libpocl2 (= ${binary:Version}),
++ ${shlibs:Depends},
++ ${misc:Depends}
++Description: development files for the pocl library
++ Portable Computing Language is an open source implementation of the OpenCL
++ standard which can be easily adapted for new targets. One of the goals of the
++ project is improving performance portability of OpenCL programs, avoiding the
++ need for target-dependent manual optimizations. A "native" target is included,
++ which allows running OpenCL kernels on the host (CPU).
++ .
++ This package provides the development files for the pocl library. Unless very
++ specific needs, this package is useless. This package is only required to link
++ directly and explicitly with pocl.
++ .
++ To develop OpenCL programs (that can be run with pocl), the opencl-dev virtual
++ package (provided by ocl-icd-opencl-dev for example) is required, not this one.
++
++Package: pocl-doc
++Architecture: all
++Multi-Arch: foreign
++Section: doc
++Depends:
++ ${sphinxdoc:Depends},
++ ${misc:Depends}
++Built-Using: ${sphinxdoc:Built-Using}
++Description: documentation for the pocl library
++ Portable Computing Language is an open source implementation of the OpenCL
++ standard which can be easily adapted for new targets. One of the goals of the
++ project is improving performance portability of OpenCL programs, avoiding the
++ need for target-dependent manual optimizations. A "native" target is included,
++ which allows running OpenCL kernels on the host (CPU).
++ .
++ This package provides the development files for the pocl library.  Unless very
++ specific needs, this package is useless.  This package is only required to link
++ directly and explicitly with pocl.
++ .
++ This package provides the documentation for the pocl library.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a7100ff48599fb4015aaa639929eb969be81e1dc
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,100 @@@
++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
++Upstream-Name: Portable Computing Language
++Source: http://portablecl.org/download.html
++
++Files: *
++Copyright: 2012-2017 pocl developers
++           2010-2017 Naoki Shibata
++           2010-2017 ARM Ltd.
++           2011-2012 Carlos Sánchez de La Lama
++           2011-2017 Pekka Jääskeläinen / Tampere University of Technology
++           2011-2014 Kalle Raiskila
++           2011-2014 Erik Schnetter
++           2011-2015 Ville Korhonen / Tampere University of Technology
++           2011-2015 Universidad Rey Juan Carlos
++           2012-2017 Christian Rau
++           2012      Cyril Roelandt
++           2012      Timo Viitanen
++           2013      Jesse Towner
++           2013      Kalray
++           2013      Victor Oliveira
++           2014-2016 Advanced Micro Devices, Inc.
++           2014      Felix Bytow
++           2014-2015 Matias Koskela
++           2014-2017 Michal Babej
++           2015-2016 Giuseppe Bilotta
++           2016      Tom Gall
++           2016-2017 James Price
++License: Expat
++
++Files: include/utlist.h
++Copyright: 2007-2011, Troy D. Hanson   http://uthash.sourceforge.net
++License: Free-Software-2
++
++Files: include/CL/*.h*
++Copyright: 2008-2015 The Khronos Group Inc.
++License: Free-Software-3
++
++Files: debian/*
++Copyright: 2012 Vincent Danjean <vdanjean@debian.org>
++           Â© 2016-2019 Andreas Beckmann <anbe@debian.org>
++License: Expat
++
++License: Expat
++ Permission is hereby granted, free of charge, to any person obtaining a copy
++ of this software and associated documentation files (the "Software"), to deal
++ in the Software without restriction, including without limitation the rights
++ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
++ copies of the Software, and to permit persons to whom the Software is
++ furnished to do so, subject to the following conditions:
++ .
++ The above copyright notice and this permission notice shall be included in
++ all copies or substantial portions of the Software.
++ .
++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
++ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
++ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
++ THE SOFTWARE.
++
++License: Free-Software-2
++ Redistribution and use in source and binary forms, with or without
++ modification, are permitted provided that the following conditions are met:
++ .
++ * Redistributions of source code must retain the above copyright
++ notice, this list of conditions and the following disclaimer.
++ .
++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
++ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
++ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
++ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
++ OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
++ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
++ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
++ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
++ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
++ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
++ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++
++License: Free-Software-3
++ Permission is hereby granted, free of charge, to any person obtaining a
++ copy of this software and/or associated documentation files (the
++ "Materials"), to deal in the Materials without restriction, including
++ without limitation the rights to use, copy, modify, merge, publish,
++ distribute, sublicense, and/or sell copies of the Materials, and to
++ permit persons to whom the Materials are furnished to do so, subject to
++ the following conditions:
++ .
++ The above copyright notice and this permission notice shall be included
++ in all copies or substantial portions of the Materials.
++ .
++ THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
++ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
++ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
++ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
++ MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3919254260d6de7845df2111c16d5a0275dd610b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++usr/bin
++usr/lib/*/libpocl.so
++usr/lib/*/pkgconfig/pocl.pc
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a8e36eed4846299568b6adb158dbb0a41276f14e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/share/pocl/include
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6fc0cea9a438f4220b674109cfb54d97cf2c1050
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++usr/lib/*/pocl
++usr/lib/*/libpocl.*so.*
++usr/share/pocl/*.bc
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d6ef943de02b83ad704699cb6ed81f86b100d239
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++# we use fake debian revisions to mark symbol (dis)appearance on compiler version changes
++symbols-file-contains-debian-revision
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..60471e98261f43a21bceff72ca10993a517b2eb3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,554 @@@
++# SymbolsHelper-Confirmed: 1.2 amd64 arm64 armel armhf i386 mips mips64el mipsel powerpc powerpcspe ppc64 ppc64el s390x sparc64
++libpocl.so.2 #PACKAGE# #MINVER#
++* Build-Depends-Package: libpocl-dev
++#MISSING: 0.11# Header@Base 0.10
++#MISSING: 0.11# KernelName@Base 0.10
++ X@Base 0.13
++ Y@Base 0.10
++ _Z10KernelNameB5cxx11@Base 0.11
++ _Z12pocl_exists2RN4llvm5TwineE@Base 1.1
++ _Z12pocl_remove2RN4llvm5TwineE@Base 1.1
++ _Z12pocl_rename2RN4llvm5TwineES1_@Base 1.1
++#MISSING: 0.14# _Z13GlobalContextv@Base 0.10
++#MISSING: 0.12-5~llvm3.7# _Z18cleanPathForOutputRN5clang11FileManagerERN4llvm15SmallVectorImplIcEE@Base 0.11
++ (optional=buildconfig|arch=any-amd64)_Z19getX86KernelLibNamev@Base 0.13
++#MISSING: 0.11# _Z21createWIVectorizePassv@Base 0.10
++#MISSING: 0.14# _Z26pocl_llvm_get_kernel_countP11_cl_programPPN4llvm11NamedMDNodeE@Base 0.12
++#MISSING: 0.14# _Z31createWorkItemAliasAnalysisPassv@Base 0.10
++#MISSING: 0.14# _Z33pocl_llvm_get_kernel_arg_metadataPKcPN4llvm6ModuleEP10_cl_kernel@Base 0.10
++ _Z37pocl_update_program_llvm_irs_unlockedP11_cl_programj@Base 1.1
++#MISSING: 0.14# _Z4linkPN4llvm6ModuleEPKS0_@Base 0.10
++#MISSING: 0.14# _Z6HeaderB5cxx11@Base 0.11
++#MISSING: 0.14-7~llvm4.0# _ZN10WorkItemAA3runERN4llvm8FunctionEPNS0_15AnalysisManagerIS1_EE@Base 0.13-3~llvm3.8
++ _ZN10WorkItemAA3runERN4llvm8FunctionEPNS0_15AnalysisManagerIS1_JEEE@Base 0.14-7~llvm4.0
++ _ZN10WorkItemAA6PassIDE@Base 0.13-3~llvm3.8
++ _ZN16WorkItemAAResult2IDE@Base 0.13-3~llvm3.8
++ _ZN16WorkItemAAResult5aliasERKN4llvm14MemoryLocationES3_@Base 0.13-3~llvm3.8
++ _ZN17BreakConstantGEPs13runOnFunctionERN4llvm8FunctionE@Base 0.10
++ _ZN17BreakConstantGEPs2IDE@Base 0.10
++ _ZN21WorkItemAliasAnalysis13runOnFunctionERN4llvm8FunctionE@Base 0.13-3~llvm3.8
++ _ZN21WorkItemAliasAnalysis2IDE@Base 0.13
++#MISSING: 0.13-3~llvm3.8# _ZN21WorkItemAliasAnalysis5aliasERKN4llvm14MemoryLocationES3_@Base 0.13
++ _ZN21WorkItemAliasAnalysis6anchorEv@Base 0.13-3~llvm3.8
++ _ZN4llvm11TypeBuilderINS_13_pocl_contextELb1EE12size_t_widthE@Base 0.10
++#MISSING: 0.11# (optional=templinst)_ZN4llvm15SmallVectorImplIPN4pocl14ParallelRegionEEaSERKS4_@Base 0.10
++ (optional=templinst)_ZN4llvm15callDefaultCtorI17BreakConstantGEPsEEPNS_4PassEv@Base 0.10
++ (optional=templinst)_ZN4llvm15callDefaultCtorI21WorkItemAliasAnalysisEEPNS_4PassEv@Base 0.13
++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl12LoopBarriersEEEPNS_4PassEv@Base 0.10
++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl13PHIsToAllocasEEEPNS_4PassEv@Base 0.10
++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl13WorkitemLoopsEEEPNS_4PassEv@Base 0.10
++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl14AllocasToEntryEEEPNS_4PassEv@Base 0.10
++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl14IsolateRegionsEEEPNS_4PassEv@Base 0.10
++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl18RemoveBarrierCallsEEEPNS_4PassEv@Base 0.14
++#MISSING: 0.14-4~llvm3.9# (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl19TargetAddressSpacesEEEPNS_4PassEv@Base 0.10
++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl19WorkitemReplicationEEEPNS_4PassEv@Base 0.10
++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl20CanonicalizeBarriersEEEPNS_4PassEv@Base 0.10
++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl20ImplicitLoopBarriersEEEPNS_4PassEv@Base 0.10
++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl22BarrierTailReplicationEEEPNS_4PassEv@Base 0.10
++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl22WorkitemHandlerChooserEEEPNS_4PassEv@Base 0.10
++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl23RemoveOptnoneFromWIFuncEEEPNS_4PassEv@Base 1.0
++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl25OptimizeWorkItemFuncCallsEEEPNS_4PassEv@Base 1.0
++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl26VariableUniformityAnalysisEEEPNS_4PassEv@Base 0.10
++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl27HandleSamplerInitializationEEEPNS_4PassEv@Base 0.14
++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl27ImplicitConditionalBarriersEEEPNS_4PassEv@Base 0.10
++ (optional=templinst)_ZN4llvm15callDefaultCtorIN4pocl9WorkgroupEEEPNS_4PassEv@Base 0.10
++#MISSING: 1.0# _ZN4pocl12BarrierBlock7classofEPKN4llvm10BasicBlockE@Base 0.10
++ _ZN4pocl12LoopBarriers11ProcessLoopEPN4llvm4LoopERNS1_13LPPassManagerE@Base 0.10
++ _ZN4pocl12LoopBarriers2IDE@Base 0.10
++ _ZN4pocl12LoopBarriers9runOnLoopEPN4llvm4LoopERNS1_13LPPassManagerE@Base 0.10
++ _ZN4pocl12WGLocalSizeXE@Base 0.12
++ _ZN4pocl12WGLocalSizeYE@Base 0.12
++ _ZN4pocl12WGLocalSizeZE@Base 0.12
++ _ZN4pocl13AddWIMetadataE@Base 0.10
++ _ZN4pocl13PHIsToAllocas13runOnFunctionERN4llvm8FunctionE@Base 0.10
++ _ZN4pocl13PHIsToAllocas17BreakPHIToAllocasEPN4llvm7PHINodeE@Base 0.10
++ _ZN4pocl13PHIsToAllocas2IDE@Base 0.10
++ _ZN4pocl13WorkitemLoops13RegionOfBlockEPN4llvm10BasicBlockE@Base 0.10
++ _ZN4pocl13WorkitemLoops13runOnFunctionERN4llvm8FunctionE@Base 0.10
++ _ZN4pocl13WorkitemLoops14AddContextSaveEPN4llvm11InstructionES3_@Base 0.10
++ _ZN4pocl13WorkitemLoops14AppendIncBlockEPN4llvm10BasicBlockEPNS1_5ValueE@Base 0.10
++ _ZN4pocl13WorkitemLoops15GetContextArrayEPN4llvm11InstructionE@Base 0.10
++ _ZN4pocl13WorkitemLoops15ProcessFunctionERN4llvm8FunctionE@Base 0.10
++#MISSING: 0.14# (subst)_ZN4pocl13WorkitemLoops16CreateLoopAroundERNS_14ParallelRegionEPN4llvm10BasicBlockES5_bPNS3_5ValueE{size_t}b@Base 0.10
++ (subst)_ZN4pocl13WorkitemLoops16CreateLoopAroundERNS_14ParallelRegionEPN4llvm10BasicBlockES5_bPNS3_5ValueE{size_t}bS7_@Base 0.14
++#MISSING: 0.14-4~llvm3.9# _ZN4pocl13WorkitemLoops16GetLinearWiIndexERN4llvm9IRBuilderILb1ENS1_14ConstantFolderENS1_24IRBuilderDefaultInserterILb1EEEEEPNS1_6ModuleEPNS_14ParallelRegionE@Base 0.14
++ _ZN4pocl13WorkitemLoops16GetLinearWiIndexERN4llvm9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEEPNS1_6ModuleEPNS_14ParallelRegionE@Base 0.14-4~llvm3.9
++ _ZN4pocl13WorkitemLoops17AddContextRestoreEPN4llvm5ValueEPNS1_11InstructionES5_b@Base 0.10
++ _ZN4pocl13WorkitemLoops21AddContextSaveRestoreEPN4llvm11InstructionE@Base 0.10
++ _ZN4pocl13WorkitemLoops22releaseParallelRegionsEv@Base 1.0
++ _ZN4pocl13WorkitemLoops23FixMultiRegionVariablesEPNS_14ParallelRegionE@Base 0.10
++ _ZN4pocl13WorkitemLoops23ShouldNotBeContextSavedEPN4llvm11InstructionE@Base 0.10
++ _ZN4pocl13WorkitemLoops2IDE@Base 0.10
++ _ZN4pocl14AllocasToEntry13runOnFunctionERN4llvm8FunctionE@Base 0.10
++ _ZN4pocl14AllocasToEntry2IDE@Base 0.10
++ _ZN4pocl14AllocasToEntryC1Ev@Base 0.10
++ _ZN4pocl14AllocasToEntryC2Ev@Base 0.10
++ _ZN4pocl14IsolateRegions11runOnRegionEPN4llvm6RegionERNS1_13RGPassManagerE@Base 0.10
++ _ZN4pocl14IsolateRegions13addDummyAfterEPN4llvm6RegionEPNS1_10BasicBlockE@Base 0.10
++ _ZN4pocl14IsolateRegions14addDummyBeforeEPN4llvm6RegionEPNS1_10BasicBlockE@Base 0.10
++ _ZN4pocl14IsolateRegions2IDE@Base 0.10
++ _ZN4pocl14ParallelRegion10chainAfterEPS0_@Base 0.10
++ _ZN4pocl14ParallelRegion12InjectPrintFEPN4llvm11InstructionENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt6vectorIPNS1_5ValueESaISC_EE@Base 0.11
++#MISSING: 0.11# _ZN4pocl14ParallelRegion12InjectPrintFEPN4llvm11InstructionESsRSt6vectorIPNS1_5ValueESaIS6_EE@Base 0.10
++ _ZN4pocl14ParallelRegion12LocalIDXLoadEv@Base 0.10
++ _ZN4pocl14ParallelRegion12LocalIDYLoadEv@Base 0.10
++ _ZN4pocl14ParallelRegion12LocalIDZLoadEv@Base 0.10
++ _ZN4pocl14ParallelRegion13AddBlockAfterEPN4llvm10BasicBlockES3_@Base 0.10
++ (subst)_ZN4pocl14ParallelRegion13AddIDMetadataERN4llvm11LLVMContextE{size_t}{size_t}{size_t}@Base 0.10
++ _ZN4pocl14ParallelRegion14AddBlockBeforeEPN4llvm10BasicBlockES3_@Base 0.10
++ _ZN4pocl14ParallelRegion14insertPrologueEjjj@Base 0.10
++ _ZN4pocl14ParallelRegion15LocalizeIDLoadsEv@Base 0.10
++ _ZN4pocl14ParallelRegion17GenerateTempNamesEPN4llvm10BasicBlockE@Base 0.10
++ _ZN4pocl14ParallelRegion17insertLocalIdInitEPN4llvm10BasicBlockEjjj@Base 0.10
++ _ZN4pocl14ParallelRegion18InjectRegionPrintFEv@Base 0.10
++ _ZN4pocl14ParallelRegion23AddParallelLoopMetadataEPN4llvm6MDNodeE@Base 0.10
++ _ZN4pocl14ParallelRegion23InjectVariablePrintoutsEv@Base 0.10
++ _ZN4pocl14ParallelRegion4dumpEv@Base 0.10
++ _ZN4pocl14ParallelRegion5idGenE@Base 0.10
++ _ZN4pocl14ParallelRegion5purgeEv@Base 0.10
++ _ZN4pocl14ParallelRegion5remapERN4llvm8ValueMapIPKNS1_5ValueENS1_14WeakTrackingVHENS1_14ValueMapConfigIS5_NS1_3sys10SmartMutexILb0EEEEEEE@Base 1.1-2~llvm5.0
++#MISSING: 1.1-2~llvm5.0# _ZN4pocl14ParallelRegion5remapERN4llvm8ValueMapIPKNS1_5ValueENS1_6WeakVHENS1_14ValueMapConfigIS5_NS1_3sys10SmartMutexILb0EEEEEEE@Base 0.10
++ _ZN4pocl14ParallelRegion6CreateERKN4llvm11SmallPtrSetIPNS1_10BasicBlockELj8EEES4_S4_@Base 0.10
++ _ZN4pocl14ParallelRegion6VerifyEv@Base 0.10
++ _ZN4pocl14ParallelRegion8HasBlockEPN4llvm10BasicBlockE@Base 0.10
++ _ZN4pocl14ParallelRegion9SetExitBBEPN4llvm10BasicBlockE@Base 0.10
++ _ZN4pocl14ParallelRegion9dumpNamesEv@Base 0.10
++ _ZN4pocl14ParallelRegion9replicateERN4llvm8ValueMapIPKNS1_5ValueENS1_14WeakTrackingVHENS1_14ValueMapConfigIS5_NS1_3sys10SmartMutexILb0EEEEEEERKNS1_5TwineE@Base 1.1-2~llvm5.0
++#MISSING: 1.1-2~llvm5.0# _ZN4pocl14ParallelRegion9replicateERN4llvm8ValueMapIPKNS1_5ValueENS1_6WeakVHENS1_14ValueMapConfigIS5_NS1_3sys10SmartMutexILb0EEEEEEERKNS1_5TwineE@Base 0.10
++ _ZN4pocl14ParallelRegionC1Ei@Base 0.10
++ _ZN4pocl14ParallelRegionC2Ei@Base 0.10
++ _ZN4pocl15WorkitemHandler10InitializeEPNS_6KernelE@Base 0.10
++ _ZN4pocl15WorkitemHandler12dominatesUseEPN4llvm24DominatorTreeWrapperPassERNS1_11InstructionEj@Base 0.10
++ _ZN4pocl15WorkitemHandler12movePhiNodesEPN4llvm10BasicBlockES3_@Base 0.10
++ _ZN4pocl15WorkitemHandler13runOnFunctionERN4llvm8FunctionE@Base 0.10
++ _ZN4pocl15WorkitemHandler26fixUndominatedVariableUsesEPN4llvm24DominatorTreeWrapperPassERNS1_8FunctionE@Base 0.10
++ _ZN4pocl15WorkitemHandlerC1ERc@Base 0.10
++ _ZN4pocl15WorkitemHandlerC2ERc@Base 0.10
++ _ZN4pocl18RemoveBarrierCalls13runOnFunctionERN4llvm8FunctionE@Base 0.14
++ _ZN4pocl18RemoveBarrierCalls2IDE@Base 0.14
++ _ZN4pocl18RemoveBarrierCallsC1Ev@Base 0.14
++ _ZN4pocl18RemoveBarrierCallsC2Ev@Base 0.14
++ _ZN4pocl18WGDynamicLocalSizeE@Base 0.14
++#MISSING: 0.14-4~llvm3.9# _ZN4pocl19TargetAddressSpaces11runOnModuleERN4llvm6ModuleE@Base 0.10
++#MISSING: 0.14-4~llvm3.9# _ZN4pocl19TargetAddressSpaces2IDE@Base 0.10
++#MISSING: 0.14-4~llvm3.9# _ZN4pocl19TargetAddressSpacesC1Ev@Base 0.10
++#MISSING: 0.14-4~llvm3.9# _ZN4pocl19TargetAddressSpacesC2Ev@Base 0.10
++ _ZN4pocl19WorkitemReplication13runOnFunctionERN4llvm8FunctionE@Base 0.10
++ _ZN4pocl19WorkitemReplication15ProcessFunctionERN4llvm8FunctionE@Base 0.10
++ _ZN4pocl19WorkitemReplication2IDE@Base 0.10
++ _ZN4pocl20CanonicalizeBarriers13runOnFunctionERN4llvm8FunctionE@Base 0.10
++ _ZN4pocl20CanonicalizeBarriers15ProcessFunctionERN4llvm8FunctionE@Base 0.10
++ _ZN4pocl20CanonicalizeBarriers2IDE@Base 0.10
++ _ZN4pocl20ImplicitLoopBarriers11ProcessLoopEPN4llvm4LoopERNS1_13LPPassManagerE@Base 0.10
++ _ZN4pocl20ImplicitLoopBarriers19AddInnerLoopBarrierEPN4llvm4LoopERNS1_13LPPassManagerE@Base 0.10
++ _ZN4pocl20ImplicitLoopBarriers2IDE@Base 0.10
++ _ZN4pocl20ImplicitLoopBarriers9runOnLoopEPN4llvm4LoopERNS1_13LPPassManagerE@Base 0.10
++ _ZN4pocl22BarrierTailReplication11CleanupPHIsEPN4llvm10BasicBlockE@Base 0.10
++ _ZN4pocl22BarrierTailReplication12FindSubgraphERSt6vectorIPN4llvm10BasicBlockESaIS4_EES4_@Base 0.10
++ _ZN4pocl22BarrierTailReplication13runOnFunctionERN4llvm8FunctionE@Base 0.10
++ _ZN4pocl22BarrierTailReplication15FindBarriersDFSEPN4llvm10BasicBlockERSt3setIS3_St4lessIS3_ESaIS3_EE@Base 0.10
++ _ZN4pocl22BarrierTailReplication15ProcessFunctionERN4llvm8FunctionE@Base 0.10
++ _ZN4pocl22BarrierTailReplication16UpdateReferencesERKSt6vectorIPN4llvm10BasicBlockESaIS4_EERNS2_8ValueMapIPKNS2_5ValueENS2_14WeakTrackingVHENS2_14ValueMapConfigISC_NS2_3sys10SmartMutexILb0EEEEEEE@Base 1.1-2~llvm5.0
++#MISSING: 1.1-2~llvm5.0# _ZN4pocl22BarrierTailReplication16UpdateReferencesERKSt6vectorIPN4llvm10BasicBlockESaIS4_EERNS2_8ValueMapIPKNS2_5ValueENS2_6WeakVHENS2_14ValueMapConfigISC_NS2_3sys10SmartMutexILb0EEEEEEE@Base 0.10
++ _ZN4pocl22BarrierTailReplication17ReplicateSubgraphEPN4llvm10BasicBlockEPNS1_8FunctionE@Base 0.10
++ _ZN4pocl22BarrierTailReplication20ReplicateBasicBlocksERSt6vectorIPN4llvm10BasicBlockESaIS4_EERNS2_8ValueMapIPKNS2_5ValueENS2_14WeakTrackingVHENS2_14ValueMapConfigISB_NS2_3sys10SmartMutexILb0EEEEEEES7_PNS2_8FunctionE@Base 1.1-2~llvm5.0
++#MISSING: 1.1-2~llvm5.0# _ZN4pocl22BarrierTailReplication20ReplicateBasicBlocksERSt6vectorIPN4llvm10BasicBlockESaIS4_EERNS2_8ValueMapIPKNS2_5ValueENS2_6WeakVHENS2_14ValueMapConfigISB_NS2_3sys10SmartMutexILb0EEEEEEES7_PNS2_8FunctionE@Base 0.10
++ _ZN4pocl22BarrierTailReplication24ReplicateJoinedSubgraphsEPN4llvm10BasicBlockES3_RSt3setIS3_St4lessIS3_ESaIS3_EE@Base 0.10
++ _ZN4pocl22BarrierTailReplication2IDE@Base 0.10
++ _ZN4pocl22WorkitemHandlerChooser13runOnFunctionERN4llvm8FunctionE@Base 0.10
++ _ZN4pocl22WorkitemHandlerChooser2IDE@Base 0.10
++ _ZN4pocl23RemoveOptnoneFromWIFunc13runOnFunctionERN4llvm8FunctionE@Base 1.0
++ _ZN4pocl23RemoveOptnoneFromWIFunc2IDE@Base 1.0
++ _ZN4pocl23RemoveOptnoneFromWIFuncC1Ev@Base 1.0
++ _ZN4pocl23RemoveOptnoneFromWIFuncC2Ev@Base 1.0
++ _ZN4pocl23eraseFunctionAndCallersEPN4llvm8FunctionE@Base 1.0
++ _ZN4pocl25OptimizeWorkItemFuncCalls13runOnFunctionERN4llvm8FunctionE@Base 1.0
++ _ZN4pocl25OptimizeWorkItemFuncCalls2IDE@Base 1.0
++ _ZN4pocl25OptimizeWorkItemFuncCallsC1Ev@Base 1.0
++ _ZN4pocl25OptimizeWorkItemFuncCallsC2Ev@Base 1.0
++ _ZN4pocl26VariableUniformityAnalysis10setUniformEPN4llvm8FunctionEPNS1_5ValueEb@Base 0.10
++ _ZN4pocl26VariableUniformityAnalysis13runOnFunctionERN4llvm8FunctionE@Base 0.10
++ _ZN4pocl26VariableUniformityAnalysis14doFinalizationERN4llvm6ModuleE@Base 0.10
++ _ZN4pocl26VariableUniformityAnalysis18shouldBePrivatizedEPN4llvm8FunctionEPNS1_5ValueE@Base 0.10
++ _ZN4pocl26VariableUniformityAnalysis19analyzeBBDivergenceEPN4llvm8FunctionEPNS1_10BasicBlockES5_@Base 0.10
++ _ZN4pocl26VariableUniformityAnalysis22markInductionVariablesERN4llvm8FunctionERNS1_4LoopE@Base 0.14
++ _ZN4pocl26VariableUniformityAnalysis2IDE@Base 0.10
++ _ZN4pocl26VariableUniformityAnalysis9isUniformEPN4llvm8FunctionEPNS1_5ValueE@Base 0.10
++ _ZN4pocl26VariableUniformityAnalysisC1Ev@Base 0.10
++ _ZN4pocl26VariableUniformityAnalysisC2Ev@Base 0.10
++ _ZN4pocl26regenerate_kernel_metadataERN4llvm6ModuleERSt3mapIPNS0_8FunctionES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE@Base 0.10
++ _ZN4pocl27HandleSamplerInitialization13runOnFunctionERN4llvm8FunctionE@Base 0.14
++ _ZN4pocl27HandleSamplerInitialization2IDE@Base 0.14
++ _ZN4pocl27HandleSamplerInitializationC1Ev@Base 0.14
++ _ZN4pocl27HandleSamplerInitializationC2Ev@Base 0.14
++ _ZN4pocl27ImplicitConditionalBarriers13runOnFunctionERN4llvm8FunctionE@Base 0.10
++ _ZN4pocl27ImplicitConditionalBarriers27firstNonBackedgePredecessorEPN4llvm10BasicBlockE@Base 0.10
++ _ZN4pocl27ImplicitConditionalBarriers2IDE@Base 0.10
++ _ZN4pocl6Kernel13getExitBlocksERN4llvm15SmallVectorImplIPNS1_10BasicBlockEEE@Base 1.0
++#MISSING: 1.0# _ZN4pocl6Kernel13getExitBlocksERN4llvm15SmallVectorImplIPNS_12BarrierBlockEEE@Base 0.10
++ _ZN4pocl6Kernel18getParallelRegionsEPN4llvm8LoopInfoE@Base 0.10
++ (subst)_ZN4pocl6Kernel20addLocalSizeInitCodeE{size_t}{size_t}{size_t}@Base 0.10
++ _ZN4pocl6Kernel26createParallelRegionBeforeEPN4llvm10BasicBlockE@Base 1.0
++#MISSING: 1.0# _ZN4pocl6Kernel26createParallelRegionBeforeEPNS_12BarrierBlockE@Base 0.10
++ _ZN4pocl7chopBBsERN4llvm8FunctionERNS0_4PassE@Base 0.10
++ _ZN4pocl7dumpCFGERN4llvm8FunctionENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS0_11SmallVectorIPNS_14ParallelRegionELj8EEEPSt3setIPNS0_10BasicBlockESt4lessISG_ESaISG_EE@Base 0.11
++#MISSING: 0.11# _ZN4pocl7dumpCFGERN4llvm8FunctionESsPNS0_11SmallVectorIPNS_14ParallelRegionELj8EEEPSt3setIPNS0_10BasicBlockESt4lessISA_ESaISA_EE@Base 0.10
++#MISSING: 0.12# _ZN4pocl9LocalSizeE@Base 0.10
++ _ZN4pocl9Workgroup11runOnModuleERN4llvm6ModuleE@Base 0.10
++ _ZN4pocl9Workgroup17isKernelToProcessERKN4llvm8FunctionE@Base 0.10
++ _ZN4pocl9Workgroup20hasWorkgroupBarriersERKN4llvm8FunctionE@Base 0.11
++ _ZN4pocl9Workgroup2IDE@Base 0.10
++ _ZNK21WorkItemAliasAnalysis16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.13
++ _ZNK4pocl12LoopBarriers16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.10
++ _ZNK4pocl13PHIsToAllocas16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.10
++ _ZNK4pocl13WorkitemLoops16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.10
++ _ZNK4pocl14IsolateRegions16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.10
++ _ZNK4pocl18RemoveBarrierCalls16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.14
++ _ZNK4pocl19WorkitemReplication16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.10
++ _ZNK4pocl20CanonicalizeBarriers16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.10
++ _ZNK4pocl20ImplicitLoopBarriers16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.10
++ _ZNK4pocl22BarrierTailReplication16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.10
++ _ZNK4pocl22WorkitemHandlerChooser16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.10
++ _ZNK4pocl26VariableUniformityAnalysis16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.10
++ _ZNK4pocl26VariableUniformityAnalysis20isUniformityAnalyzedEPN4llvm8FunctionEPNS1_5ValueE@Base 0.10
++ _ZNK4pocl27HandleSamplerInitialization16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.14
++ _ZNK4pocl27ImplicitConditionalBarriers16getAnalysisUsageERN4llvm13AnalysisUsageE@Base 0.10
++ (optional=templinst)_ZNKSt8_Rb_treeIPN4llvm10BasicBlockES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE4findERKS2_@Base 1.1-6~llvm6.0+gcc8
++ (optional=templinst)_ZNSt11_Deque_baseIPN4llvm6RegionESaIS2_EED1Ev@Base 1.1-6~llvm6.0+gcc8
++ (optional=templinst)_ZNSt11_Deque_baseIPN4llvm6RegionESaIS2_EED2Ev@Base 1.1-6~llvm6.0+gcc8
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail12DirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.14-7~llvm4.0
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail12DirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.14-7~llvm4.0
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail12DirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.14-7~llvm4.0
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail12DirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.14-7~llvm4.0
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail12DirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.14-7~llvm4.0
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail12DirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.14-7~llvm4.0
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail12DirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.14-7~llvm4.0
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail12DirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.14-7~llvm4.0
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail12DirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.14-7~llvm4.0
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail12DirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.14-7~llvm4.0
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail12DirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.14-7~llvm4.0
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail12DirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.14-7~llvm4.0
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail15RecDirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.14-7~llvm4.0
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail15RecDirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.14-7~llvm4.0
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail15RecDirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.14-7~llvm4.0
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail15RecDirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.14-7~llvm4.0
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail15RecDirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.14-7~llvm4.0
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail15RecDirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.14-7~llvm4.0
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail15RecDirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.14-7~llvm4.0
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail15RecDirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.14-7~llvm4.0
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail15RecDirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.14-7~llvm4.0
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail15RecDirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.14-7~llvm4.0
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail15RecDirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.14-7~llvm4.0
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail15RecDirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.14-7~llvm4.0
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.12-5~llvm3.7
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.12-5~llvm3.7
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.12-5~llvm3.7
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.12-5~llvm3.7
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.12-5~llvm3.7
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.12-5~llvm3.7
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.12-5~llvm3.7
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.12-5~llvm3.7
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.12-5~llvm3.7
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.12-5~llvm3.7
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.12-5~llvm3.7
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.12-5~llvm3.7
++#MISSING: 0.14-7~llvm4.0# (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5clang25ModuleDependencyCollectorESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.10
++#MISSING: 0.14-7~llvm4.0# (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5clang25ModuleDependencyCollectorESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.10
++#MISSING: 0.14-7~llvm4.0# (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5clang25ModuleDependencyCollectorESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.10
++#MISSING: 0.14-7~llvm4.0# (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5clang25ModuleDependencyCollectorESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.10
++#MISSING: 0.14-7~llvm4.0# (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5clang25ModuleDependencyCollectorESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.10
++#MISSING: 0.14-7~llvm4.0# (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5clang25ModuleDependencyCollectorESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.10
++ (optional=templinst)_ZNSt6vectorIN4llvm3sys2fs18directory_iteratorESaIS3_EE12emplace_backIJS3_EEEvDpOT_@Base 0.10
++ (optional=templinst)_ZNSt6vectorIN4llvm3sys2fs18directory_iteratorESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_@Base 0.13-9~llvm3.8+gcc7
++ (optional=templinst)_ZNSt6vectorIN5clang17FrontendInputFileESaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_@Base 0.13-9~llvm3.8+gcc7
++ (optional=templinst)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12emplace_backIJS5_EEEvDpOT_@Base 0.11
++ (optional=templinst)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_@Base 0.13-9~llvm3.8+gcc7
++ (optional=templinst)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_@Base 0.13-9~llvm3.8+gcc7
++ (optional=templinst)_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_@Base 0.13-9~llvm3.8+gcc7
++ (optional=templinst)_ZNSt6vectorIPN4llvm10BasicBlockESaIS2_EE15_M_range_insertIPS2_EEvN9__gnu_cxx17__normal_iteratorIS6_S4_EET_SA_St20forward_iterator_tag@Base 0.10
++ (optional=templinst)_ZNSt6vectorIPN4llvm10BasicBlockESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_@Base 0.13-9~llvm3.8+gcc7
++ (optional=templinst)_ZNSt6vectorIPN4llvm10BasicBlockESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_@Base 0.13-9~llvm3.8+gcc7
++ (optional=templinst)_ZNSt6vectorIPN4llvm10BasicBlockESaIS2_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS2_S4_EERS7_@Base 0.10
++ (optional=templinst)_ZNSt6vectorIPN4llvm11InstructionESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_@Base 0.13-9~llvm3.8+gcc7
++#MISSING: 0.14-4~llvm3.9# (optional=templinst)_ZNSt6vectorIPN4llvm12MemIntrinsicESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_@Base 0.13-9~llvm3.8+gcc7
++ (optional=templinst)_ZNSt6vectorIPN4llvm4TypeESaIS2_EE12emplace_backIJS2_EEEvDpOT_@Base 1.0
++ (optional=templinst)_ZNSt6vectorIPN4llvm4TypeESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_@Base 0.13-9~llvm3.8+gcc7
++ (optional=templinst)_ZNSt6vectorIPN4llvm5ValueESaIS2_EE12emplace_backIJS2_EEEvDpOT_@Base 0.10
++ (optional=templinst)_ZNSt6vectorIPN4llvm5ValueESaIS2_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS2_S4_EEEEvS9_T_SA_St20forward_iterator_tag@Base 0.10
++ (optional=templinst)_ZNSt6vectorIPN4llvm5ValueESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_@Base 0.13-9~llvm3.8+gcc7
++ (optional=templinst)_ZNSt6vectorIPN4llvm8CallInstESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_@Base 1.0
++ (optional=templinst)_ZNSt6vectorIPN4llvm8ConstantESaIS2_EE12emplace_backIJS2_EEEvDpOT_@Base 0.10
++ (optional=templinst)_ZNSt6vectorIPN4llvm8ConstantESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_@Base 0.13-9~llvm3.8+gcc7
++ (optional=templinst)_ZNSt6vectorIPN4llvm8FunctionESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_@Base 0.14
++#MISSING: 0.14-4~llvm3.9# (optional=templinst)_ZNSt6vectorIPN4llvm8FunctionESaIS2_EE17_M_realloc_insertIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_@Base 0.13-9~llvm3.8+gcc7
++#MISSING: 0.14-7~llvm4.0# (optional=templinst)_ZNSt7__cxx1110_List_baseISt4pairIPvSt10unique_ptrIN4llvm6detail21AnalysisResultConceptINS4_8FunctionEEESt14default_deleteIS8_EEESaISC_EE8_M_clearEv@Base 0.13-3~llvm3.8
++ (optional=templinst)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@Base 1.1-6~llvm6.0+gcc8
++ (optional=templinst)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag@Base 1.1-6~llvm6.0+gcc8
++ (optional=templinst)_ZNSt7__cxx114listIN4llvm9StringRefESaIS2_EE4sortIPFbS2_S2_EEEvT_@Base 0.11
++ (optional=templinst)_ZNSt7__cxx114listIN4llvm9StringRefESaIS2_EE5mergeIPFbS2_S2_EEEvOS4_T_@Base 0.11
++#MISSING: 0.14-7~llvm4.0# (optional=templinst)_ZNSt8_Rb_treeIN4llvm9StringRefESt4pairIKS1_NS0_11TargetRecip11RecipParamsEESt10_Select1stIS6_ESt4lessIS1_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E@Base 0.12-5~llvm3.7
++ (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St9_IdentityIS5_ESt4lessIS5_ESaIS5_EE24_M_get_insert_unique_posERKS5_@Base 1.0
++ (optional=templinst|arch=amd64 arm64 mips64el ppc64el sparc64)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St9_IdentityIS5_ESt4lessIS5_ESaIS5_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERKS5_@Base 1.0
++ (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St9_IdentityIS5_ESt4lessIS5_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E@Base 1.0
++ (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_PN4llvm11InstructionEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE24_M_get_insert_unique_posERS7_@Base 0.11
++ (optional=templinst|arch=amd64 arm64 kfreebsd-amd64 mips64el ppc64el sparc64 x32)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_PN4llvm11InstructionEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorISB_ERS7_@Base 0.11
++ (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_PN4llvm11InstructionEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE8_M_eraseEPSt13_Rb_tree_nodeISB_E@Base 0.11
++ (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E@Base 1.1-2~llvm5.0
++ (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorIPN4llvm8CallInstESaISB_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESP_IJEEEEESt17_Rb_tree_iteratorISE_ESt23_Rb_tree_const_iteratorISE_EDpOT_@Base 1.1-6~llvm6.0+gcc8
++ (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorIPN4llvm8CallInstESaISB_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE24_M_get_insert_unique_posERS7_@Base 1.0
++ (optional=templinst|arch=amd64 arm64 mips64el ppc64el sparc64)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorIPN4llvm8CallInstESaISB_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorISE_ERS7_@Base 1.0
++ (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorIPN4llvm8CallInstESaISB_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE8_M_eraseEPSt13_Rb_tree_nodeISE_E@Base 1.0
++ (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE24_M_get_insert_unique_posERS7_@Base 0.11
++ (optional=templinst|arch=amd64 arm64 kfreebsd-amd64 mips64el ppc64el sparc64 x32)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS8_ERS7_@Base 0.11
++ (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E@Base 0.11
++ (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE24_M_get_insert_unique_posERS7_@Base 1.0
++ (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS8_ERS7_@Base 1.0
++ (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E@Base 1.0
++ (optional=templinst|arch=!amd64 !arm64 !mips64el !ppc64el !sparc64)_ZNSt8_Rb_treeIP13_cl_device_idSt4pairIKS1_PN4llvm13TargetMachineEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESI_IJEEEEESt17_Rb_tree_iteratorIS7_ESt23_Rb_tree_const_iteratorIS7_EDpOT_@Base 1.1-6~llvm6.0+gcc8
++ (optional=templinst)_ZNSt8_Rb_treeIP13_cl_device_idSt4pairIKS1_PN4llvm13TargetMachineEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE24_M_get_insert_unique_posERS3_@Base 1.0
++ (optional=templinst|arch=amd64 arm64 mips64el ppc64el sparc64)_ZNSt8_Rb_treeIP13_cl_device_idSt4pairIKS1_PN4llvm13TargetMachineEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS7_ERS3_@Base 1.0
++ (optional=templinst)_ZNSt8_Rb_treeIP13_cl_device_idSt4pairIKS1_PN4llvm13TargetMachineEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE8_M_eraseEPSt13_Rb_tree_nodeIS7_E@Base 1.0
++ (optional=templinst|arch=!amd64 !arm64 !mips64el !ppc64el !sparc64)_ZNSt8_Rb_treeIP13_cl_device_idSt4pairIKS1_PN4llvm6ModuleEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESI_IJEEEEESt17_Rb_tree_iteratorIS7_ESt23_Rb_tree_const_iteratorIS7_EDpOT_@Base 1.1-6~llvm6.0+gcc8
++ (optional=templinst)_ZNSt8_Rb_treeIP13_cl_device_idSt4pairIKS1_PN4llvm6ModuleEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE24_M_get_insert_unique_posERS3_@Base 0.10
++ (optional=templinst|arch=amd64 arm64 kfreebsd-amd64 mips64el ppc64el sparc64 x32)_ZNSt8_Rb_treeIP13_cl_device_idSt4pairIKS1_PN4llvm6ModuleEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS7_ERS3_@Base 0.10
++ (optional=templinst)_ZNSt8_Rb_treeIP13_cl_device_idSt4pairIKS1_PN4llvm6ModuleEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE8_M_eraseEPSt13_Rb_tree_nodeIS7_E@Base 0.10
++ (optional=templinst|arch=!amd64 !arm64 !mips64el !ppc64el !sparc64)_ZNSt8_Rb_treeIP13_cl_device_idSt4pairIKS1_PN4llvm6legacy11PassManagerEESt10_Select1stIS8_ESt4lessIS1_ESaIS8_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESJ_IJEEEEESt17_Rb_tree_iteratorIS8_ESt23_Rb_tree_const_iteratorIS8_EDpOT_@Base 1.1-6~llvm6.0+gcc8
++ (optional=templinst)_ZNSt8_Rb_treeIP13_cl_device_idSt4pairIKS1_PN4llvm6legacy11PassManagerEESt10_Select1stIS8_ESt4lessIS1_ESaIS8_EE24_M_get_insert_unique_posERS3_@Base 0.10
++ (optional=templinst|arch=amd64 arm64 kfreebsd-amd64 mips64el ppc64el sparc64 x32)_ZNSt8_Rb_treeIP13_cl_device_idSt4pairIKS1_PN4llvm6legacy11PassManagerEESt10_Select1stIS8_ESt4lessIS1_ESaIS8_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS8_ERS3_@Base 0.10
++ (optional=templinst)_ZNSt8_Rb_treeIP13_cl_device_idSt4pairIKS1_PN4llvm6legacy11PassManagerEESt10_Select1stIS8_ESt4lessIS1_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E@Base 0.10
++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm10BasicBlockES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE16_M_insert_uniqueIRKS2_EESt4pairISt17_Rb_tree_iteratorIS2_EbEOT_@Base 0.10
++ (optional=templinst|arch=amd64 arm64)_ZNSt8_Rb_treeIPN4llvm10BasicBlockES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE16_M_insert_uniqueIS2_EESt4pairISt17_Rb_tree_iteratorIS2_EbEOT_@Base 0.13-6~llvm3.8+gcc6
++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm10BasicBlockES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE24_M_get_insert_unique_posERKS2_@Base 0.13-6~llvm3.8+gcc6
++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm10BasicBlockES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE4findERKS2_@Base 1.1-6~llvm6.0+gcc8
++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm10BasicBlockES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E@Base 0.10
++ (optional=templinst|arch=!amd64 !arm64 !mips64el !ppc64el !sparc64)_ZNSt8_Rb_treeIPN4llvm10BasicBlockESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJOS2_EESG_IJEEEEESt17_Rb_tree_iteratorIS5_ESt23_Rb_tree_const_iteratorIS5_EDpOT_@Base 1.1-6~llvm6.0+gcc8
++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm10BasicBlockESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE24_M_get_insert_unique_posERS4_@Base 0.10
++ (optional=templinst|arch=amd64 arm64 kfreebsd-amd64 mips64el ppc64el sparc64 x32)_ZNSt8_Rb_treeIPN4llvm10BasicBlockESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4_@Base 0.10
++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm10BasicBlockESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E@Base 0.10
++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm11InstructionES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE16_M_insert_uniqueIRKS2_EESt4pairISt17_Rb_tree_iteratorIS2_EbEOT_@Base 1.1-6~llvm6.0+gcc8
++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm11InstructionES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE16_M_insert_uniqueIS2_EESt4pairISt17_Rb_tree_iteratorIS2_EbEOT_@Base 0.10
++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm11InstructionES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E@Base 0.10
++ (optional=templinst|arch=!amd64 !arm64 !mips64el !ppc64el !sparc64)_ZNSt8_Rb_treeIPN4llvm11InstructionESt4pairIKS2_jESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS4_EESG_IJEEEEESt17_Rb_tree_iteratorIS5_ESt23_Rb_tree_const_iteratorIS5_EDpOT_@Base 1.1-6~llvm6.0+gcc8
++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm11InstructionESt4pairIKS2_jESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE24_M_get_insert_unique_posERS4_@Base 0.10
++ (optional=templinst|arch=amd64 arm64 kfreebsd-amd64 mips64el ppc64el sparc64 x32)_ZNSt8_Rb_treeIPN4llvm11InstructionESt4pairIKS2_jESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4_@Base 0.10
++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm11InstructionESt4pairIKS2_jESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E@Base 0.10
++#MISSING: 0.14-4~llvm3.9# (optional=templinst)_ZNSt8_Rb_treeIPN4llvm4TypeESt4pairIKS2_PNS0_10StructTypeEESt10_Select1stIS7_ESt4lessIS2_ESaIS7_EE24_M_get_insert_unique_posERS4_@Base 0.13
++#MISSING: 0.14-4~llvm3.9# (optional=templinst|arch=amd64 arm64 kfreebsd-amd64 mips64el sparc64 x32)_ZNSt8_Rb_treeIPN4llvm4TypeESt4pairIKS2_PNS0_10StructTypeEESt10_Select1stIS7_ESt4lessIS2_ESaIS7_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS7_ERS4_@Base 0.13
++#MISSING: 0.14-4~llvm3.9# (optional=templinst)_ZNSt8_Rb_treeIPN4llvm4TypeESt4pairIKS2_PNS0_10StructTypeEESt10_Select1stIS7_ESt4lessIS2_ESaIS7_EE8_M_eraseEPSt13_Rb_tree_nodeIS7_E@Base 0.13
++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm5ValueESt4pairIKS2_bESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE24_M_get_insert_unique_posERS4_@Base 0.10
++ (optional=templinst|arch=amd64 arm64 kfreebsd-amd64 mips64el ppc64el sparc64 x32)_ZNSt8_Rb_treeIPN4llvm5ValueESt4pairIKS2_bESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4_@Base 0.10
++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm5ValueESt4pairIKS2_bESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE4findERS4_@Base 1.1-6~llvm6.0+gcc8
++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm5ValueESt4pairIKS2_bESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE7_M_copyINSB_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS5_EPKSF_PSt18_Rb_tree_node_baseRT_@Base 0.13-6~llvm3.8+gcc6
++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm5ValueESt4pairIKS2_bESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E@Base 0.10
++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm8CallInstES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE16_M_insert_uniqueIRKS2_EESt4pairISt17_Rb_tree_iteratorIS2_EbEOT_@Base 0.14-7~llvm4.0
++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm8CallInstES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E@Base 0.14-7~llvm4.0
++#MISSING: 0.14-4~llvm3.9# (optional=templinst)_ZNSt8_Rb_treeIPN4llvm8FunctionESt4pairIKS2_S2_ESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSD_PSt13_Rb_tree_nodeIS5_E@Base 0.10
++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm8FunctionESt4pairIKS2_S2_ESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSD_PSt13_Rb_tree_nodeIS5_E@Base 1.2
++ (optional=templinst|arch=!amd64 !arm64 !mips64el !ppc64el !sparc64)_ZNSt8_Rb_treeIPN4llvm8FunctionESt4pairIKS2_S2_ESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJOS2_EESG_IJEEEEESt17_Rb_tree_iteratorIS5_ESt23_Rb_tree_const_iteratorIS5_EDpOT_@Base 1.1-6~llvm6.0+gcc8
++ (optional=templinst|arch=!amd64 !arm64 !mips64el !ppc64el !sparc64)_ZNSt8_Rb_treeIPN4llvm8FunctionESt4pairIKS2_S2_ESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS4_EESG_IJEEEEESt17_Rb_tree_iteratorIS5_ESt23_Rb_tree_const_iteratorIS5_EDpOT_@Base 1.1-6~llvm6.0+gcc8
++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm8FunctionESt4pairIKS2_S2_ESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE24_M_get_insert_unique_posERS4_@Base 0.10
++ (optional=templinst|arch=amd64 arm64 mips64el ppc64el sparc64)_ZNSt8_Rb_treeIPN4llvm8FunctionESt4pairIKS2_S2_ESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4_@Base 0.10
++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm8FunctionESt4pairIKS2_S2_ESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E@Base 0.10
++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm8FunctionESt4pairIKS2_St3mapIPNS0_5ValueEbSt4lessIS7_ESaIS3_IKS7_bEEEESt10_Select1stISE_ES8_IS2_ESaISE_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSL_PSt13_Rb_tree_nodeISE_E@Base 0.10
++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm8FunctionESt4pairIKS2_St3mapIPNS0_5ValueEbSt4lessIS7_ESaIS3_IKS7_bEEEESt10_Select1stISE_ES8_IS2_ESaISE_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS4_EESO_IJEEEEESt17_Rb_tree_iteratorISE_ESt23_Rb_tree_const_iteratorISE_EDpOT_@Base 1.1-6~llvm6.0+gcc8
++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm8FunctionESt4pairIKS2_St3mapIPNS0_5ValueEbSt4lessIS7_ESaIS3_IKS7_bEEEESt10_Select1stISE_ES8_IS2_ESaISE_EE24_M_get_insert_unique_posERS4_@Base 0.10
++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm8FunctionESt4pairIKS2_St3mapIPNS0_5ValueEbSt4lessIS7_ESaIS3_IKS7_bEEEESt10_Select1stISE_ES8_IS2_ESaISE_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorISE_ERS4_@Base 0.10
++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm8FunctionESt4pairIKS2_St3mapIPNS0_5ValueEbSt4lessIS7_ESaIS3_IKS7_bEEEESt10_Select1stISE_ES8_IS2_ESaISE_EE7_M_copyINSJ_11_Alloc_nodeEEEPSt13_Rb_tree_nodeISE_EPKSN_PSt18_Rb_tree_node_baseRT_@Base 0.13-6~llvm3.8+gcc6
++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm8FunctionESt4pairIKS2_St3mapIPNS0_5ValueEbSt4lessIS7_ESaIS3_IKS7_bEEEESt10_Select1stISE_ES8_IS2_ESaISE_EE7_M_copyINSJ_20_Reuse_or_alloc_nodeEEEPSt13_Rb_tree_nodeISE_EPKSN_PSt18_Rb_tree_node_baseRT_@Base 0.13-6~llvm3.8+gcc6
++ (optional=templinst)_ZNSt8_Rb_treeIPN4llvm8FunctionESt4pairIKS2_St3mapIPNS0_5ValueEbSt4lessIS7_ESaIS3_IKS7_bEEEESt10_Select1stISE_ES8_IS2_ESaISE_EE8_M_eraseEPSt13_Rb_tree_nodeISE_E@Base 0.10
++#MISSING: 0.13-6~llvm3.8+gcc6# (optional=templinst)_ZNSt8_Rb_treeIPN4pocl14ParallelRegionESt4pairIKS2_bESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE22_M_emplace_hint_uniqueIIRKSt21piecewise_construct_tSt5tupleIIRS4_EESG_IIEEEEESt17_Rb_tree_iteratorIS5_ESt23_Rb_tree_const_iteratorIS5_EDpOT_@Base 0.10
++ (optional=templinst|arch=!amd64 !arm64 !mips64el !ppc64el !sparc64)_ZNSt8_Rb_treeIPN4pocl14ParallelRegionESt4pairIKS2_bESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS4_EESG_IJEEEEESt17_Rb_tree_iteratorIS5_ESt23_Rb_tree_const_iteratorIS5_EDpOT_@Base 0.10
++ (optional=templinst)_ZNSt8_Rb_treeIPN4pocl14ParallelRegionESt4pairIKS2_bESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE24_M_get_insert_unique_posERS4_@Base 0.10
++ (optional=templinst|arch=amd64 arm64 kfreebsd-amd64 mips64el ppc64el sparc64 x32)_ZNSt8_Rb_treeIPN4pocl14ParallelRegionESt4pairIKS2_bESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4_@Base 0.10
++ (optional=templinst)_ZNSt8_Rb_treeIPN4pocl14ParallelRegionESt4pairIKS2_bESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E@Base 0.10
++#MISSING: 0.14-4~llvm3.9# (optional=templinst)_ZNSt8_Rb_treeIjSt4pairIKjjESt10_Select1stIS2_ESt4lessIjESaIS2_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSA_PSt13_Rb_tree_nodeIS2_E@Base 0.10
++#MISSING: 0.14-4~llvm3.9# (optional=templinst)_ZNSt8_Rb_treeIjSt4pairIKjjESt10_Select1stIS2_ESt4lessIjESaIS2_EE24_M_get_insert_unique_posERS1_@Base 0.10
++#MISSING: 0.14-4~llvm3.9# (optional=templinst)_ZNSt8_Rb_treeIjSt4pairIKjjESt10_Select1stIS2_ESt4lessIjESaIS2_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS2_ERS1_@Base 0.10
++#MISSING: 0.14-4~llvm3.9# (optional=templinst)_ZNSt8_Rb_treeIjSt4pairIKjjESt10_Select1stIS2_ESt4lessIjESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E@Base 0.10
++ (optional=templinst|arch=amd64 arm64 kfreebsd-amd64 s390x x32)_ZSt11__make_heapIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEENS0_5__ops15_Iter_less_iterEEvT_SF_RT0_@Base 0.13-9~llvm3.8+gcc7
++ (optional=templinst|subst)_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEE{ssize_t}S7_NS0_5__ops15_Iter_less_iterEEvT_T0_SG_T1_T2_@Base 0.12
++ (optional=templinst)_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEENS0_5__ops15_Iter_less_iterEEvT_SF_T0_@Base 0.12
++ (optional=templinst)_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEENS0_5__ops14_Val_less_iterEEvT_T0_@Base 1.1
++ (optional=templinst)_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPPN4llvm10BasicBlockESt6vectorIS4_SaIS4_EEEENS0_5__ops16_Iter_equals_valIKS4_EEET_SE_SE_T0_St26random_access_iterator_tag@Base 0.10
++ _ZTI17BreakConstantGEPs@Base 0.12-5~llvm3.7
++ _ZTI21WorkItemAliasAnalysis@Base 0.13
++#MISSING: 1.1-2~llvm5.0# _ZTIN4llvm10SelectInstE@Base 0.12-5~llvm3.7
++ _ZTIN4llvm17raw_pwrite_streamE@Base 0.13-3~llvm3.8
++ _ZTIN4llvm18ValueMapCallbackVHIPKNS_5ValueENS_14WeakTrackingVHENS_14ValueMapConfigIS3_NS_3sys10SmartMutexILb0EEEEEEE@Base 1.1-2~llvm5.0
++#MISSING: 1.1-2~llvm5.0# _ZTIN4llvm18ValueMapCallbackVHIPKNS_5ValueENS_6WeakVHENS_14ValueMapConfigIS3_NS_3sys10SmartMutexILb0EEEEEEE@Base 0.10
++ _ZTIN4llvm2cl11OptionValueIbEE@Base 0.12-5~llvm3.7
++ _ZTIN4llvm2cl15OptionValueBaseIbLb0EEE@Base 0.12-5~llvm3.7
++ _ZTIN4llvm2cl15OptionValueCopyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE@Base 0.12-5~llvm3.7
++ _ZTIN4llvm2cl15OptionValueCopyIbEE@Base 0.12-5~llvm3.7
++ _ZTIN4pocl12LoopBarriersE@Base 0.12-5~llvm3.7
++ _ZTIN4pocl13PHIsToAllocasE@Base 0.12-5~llvm3.7
++ _ZTIN4pocl13WorkitemLoopsE@Base 0.12-5~llvm3.7
++ _ZTIN4pocl14AllocasToEntryE@Base 0.12-5~llvm3.7
++ _ZTIN4pocl14IsolateRegionsE@Base 0.12-5~llvm3.7
++ _ZTIN4pocl15WorkitemHandlerE@Base 0.12-5~llvm3.7
++ _ZTIN4pocl18RemoveBarrierCallsE@Base 0.14
++#MISSING: 0.14-4~llvm3.9# _ZTIN4pocl19TargetAddressSpacesE@Base 0.12-5~llvm3.7
++ _ZTIN4pocl19WorkitemReplicationE@Base 0.12-5~llvm3.7
++ _ZTIN4pocl20CanonicalizeBarriersE@Base 0.12-5~llvm3.7
++ _ZTIN4pocl20ImplicitLoopBarriersE@Base 0.12-5~llvm3.7
++ _ZTIN4pocl22BarrierTailReplicationE@Base 0.12-5~llvm3.7
++ _ZTIN4pocl22WorkitemHandlerChooserE@Base 0.12-5~llvm3.7
++ _ZTIN4pocl23RemoveOptnoneFromWIFuncE@Base 1.0
++ _ZTIN4pocl25OptimizeWorkItemFuncCallsE@Base 1.0
++ _ZTIN4pocl26VariableUniformityAnalysisE@Base 0.12-5~llvm3.7
++ _ZTIN4pocl27HandleSamplerInitializationE@Base 0.14
++ _ZTIN4pocl27ImplicitConditionalBarriersE@Base 0.12-5~llvm3.7
++ _ZTIN4pocl9WorkgroupE@Base 0.12-5~llvm3.7
++ (arch=armel)_ZTIN9__gnu_cxx7__mutexE@Base 1.0
++ (arch=armel)_ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 0.10
++ (arch=!armel)_ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 0.10
++ (arch=armel)_ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 0.10
++ (arch=!armel)_ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 0.10
++ (arch=armel armhf powerpcspe)_ZTISt19_Sp_make_shared_tag@Base 0.10
++ (arch=armel)_ZTISt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail12DirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.14-7~llvm4.0
++ (arch=!armel)_ZTISt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail12DirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.14-7~llvm4.0
++ (arch=armel)_ZTISt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail15RecDirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.14-7~llvm4.0
++ (arch=!armel)_ZTISt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail15RecDirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.14-7~llvm4.0
++ (arch=armel)_ZTISt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.12-5~llvm3.7
++ (arch=!armel)_ZTISt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.12-5~llvm3.7
++ _ZTS17BreakConstantGEPs@Base 0.12-5~llvm3.7
++ _ZTS21WorkItemAliasAnalysis@Base 0.13
++#MISSING: 1.1-2~llvm5.0# _ZTSN4llvm10SelectInstE@Base 0.12-5~llvm3.7
++ _ZTSN4llvm17raw_pwrite_streamE@Base 0.13-3~llvm3.8
++ _ZTSN4llvm18ValueMapCallbackVHIPKNS_5ValueENS_14WeakTrackingVHENS_14ValueMapConfigIS3_NS_3sys10SmartMutexILb0EEEEEEE@Base 1.1-2~llvm5.0
++#MISSING: 1.1-2~llvm5.0# _ZTSN4llvm18ValueMapCallbackVHIPKNS_5ValueENS_6WeakVHENS_14ValueMapConfigIS3_NS_3sys10SmartMutexILb0EEEEEEE@Base 0.10
++ _ZTSN4llvm2cl11OptionValueIbEE@Base 0.12-5~llvm3.7
++ _ZTSN4llvm2cl15OptionValueBaseIbLb0EEE@Base 0.12-5~llvm3.7
++ _ZTSN4llvm2cl15OptionValueCopyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE@Base 0.12-5~llvm3.7
++ _ZTSN4llvm2cl15OptionValueCopyIbEE@Base 0.12-5~llvm3.7
++ _ZTSN4pocl12LoopBarriersE@Base 0.12-5~llvm3.7
++ _ZTSN4pocl13PHIsToAllocasE@Base 0.12-5~llvm3.7
++ _ZTSN4pocl13WorkitemLoopsE@Base 0.12-5~llvm3.7
++ _ZTSN4pocl14AllocasToEntryE@Base 0.12-5~llvm3.7
++ _ZTSN4pocl14IsolateRegionsE@Base 0.12-5~llvm3.7
++ _ZTSN4pocl15WorkitemHandlerE@Base 0.12-5~llvm3.7
++ _ZTSN4pocl18RemoveBarrierCallsE@Base 0.14
++#MISSING: 0.14-4~llvm3.9# _ZTSN4pocl19TargetAddressSpacesE@Base 0.12-5~llvm3.7
++ _ZTSN4pocl19WorkitemReplicationE@Base 0.12-5~llvm3.7
++ _ZTSN4pocl20CanonicalizeBarriersE@Base 0.12-5~llvm3.7
++ _ZTSN4pocl20ImplicitLoopBarriersE@Base 0.12-5~llvm3.7
++ _ZTSN4pocl22BarrierTailReplicationE@Base 0.12-5~llvm3.7
++ _ZTSN4pocl22WorkitemHandlerChooserE@Base 0.12-5~llvm3.7
++ _ZTSN4pocl23RemoveOptnoneFromWIFuncE@Base 1.0
++ _ZTSN4pocl25OptimizeWorkItemFuncCallsE@Base 1.0
++ _ZTSN4pocl26VariableUniformityAnalysisE@Base 0.12-5~llvm3.7
++ _ZTSN4pocl27HandleSamplerInitializationE@Base 0.14
++ _ZTSN4pocl27ImplicitConditionalBarriersE@Base 0.12-5~llvm3.7
++ _ZTSN4pocl9WorkgroupE@Base 0.12-5~llvm3.7
++ (arch=armel)_ZTSN9__gnu_cxx7__mutexE@Base 1.0
++ (arch=armel)_ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 0.10
++ (arch=!armel)_ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 0.10
++ (arch=armel)_ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 0.10
++ (arch=!armel)_ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 0.10
++ _ZTSSt19_Sp_make_shared_tag@Base 0.10
++ (arch=armel)_ZTSSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail12DirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.14-7~llvm4.0
++ (arch=!armel)_ZTSSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail12DirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.14-7~llvm4.0
++ (arch=armel)_ZTSSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail15RecDirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.14-7~llvm4.0
++ (arch=!armel)_ZTSSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail15RecDirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.14-7~llvm4.0
++ (arch=armel)_ZTSSt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.12-5~llvm3.7
++ (arch=!armel)_ZTSSt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.12-5~llvm3.7
++ _ZTV17BreakConstantGEPs@Base 0.10
++ _ZTV21WorkItemAliasAnalysis@Base 0.13
++#MISSING: 1.1-2~llvm5.0# _ZTVN4llvm10SelectInstE@Base 0.12-5~llvm3.7
++ _ZTVN4llvm17raw_pwrite_streamE@Base 0.13-3~llvm3.8
++ _ZTVN4llvm18ValueMapCallbackVHIPKNS_5ValueENS_14WeakTrackingVHENS_14ValueMapConfigIS3_NS_3sys10SmartMutexILb0EEEEEEE@Base 1.1-2~llvm5.0
++#MISSING: 1.1-2~llvm5.0# _ZTVN4llvm18ValueMapCallbackVHIPKNS_5ValueENS_6WeakVHENS_14ValueMapConfigIS3_NS_3sys10SmartMutexILb0EEEEEEE@Base 0.10
++ _ZTVN4llvm2cl11OptionValueIbEE@Base 0.10
++ _ZTVN4llvm2cl15OptionValueCopyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE@Base 0.11
++ _ZTVN4pocl12LoopBarriersE@Base 0.10
++ _ZTVN4pocl13PHIsToAllocasE@Base 0.10
++ _ZTVN4pocl13WorkitemLoopsE@Base 0.10
++ _ZTVN4pocl14AllocasToEntryE@Base 0.10
++ _ZTVN4pocl14IsolateRegionsE@Base 0.10
++ _ZTVN4pocl15WorkitemHandlerE@Base 0.10
++ _ZTVN4pocl18RemoveBarrierCallsE@Base 0.14
++#MISSING: 0.14-4~llvm3.9# _ZTVN4pocl19TargetAddressSpacesE@Base 0.10
++ _ZTVN4pocl19WorkitemReplicationE@Base 0.10
++ _ZTVN4pocl20CanonicalizeBarriersE@Base 0.10
++ _ZTVN4pocl20ImplicitLoopBarriersE@Base 0.10
++ _ZTVN4pocl22BarrierTailReplicationE@Base 0.10
++ _ZTVN4pocl22WorkitemHandlerChooserE@Base 0.10
++ _ZTVN4pocl23RemoveOptnoneFromWIFuncE@Base 1.0
++ _ZTVN4pocl25OptimizeWorkItemFuncCallsE@Base 1.0
++ _ZTVN4pocl26VariableUniformityAnalysisE@Base 0.10
++ _ZTVN4pocl27HandleSamplerInitializationE@Base 0.14
++ _ZTVN4pocl27ImplicitConditionalBarriersE@Base 0.10
++ _ZTVN4pocl9WorkgroupE@Base 0.10
++ (arch=armel)_ZTVSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail12DirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.14-7~llvm4.0
++ (arch=!armel)_ZTVSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail12DirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.14-7~llvm4.0
++ (arch=armel)_ZTVSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail15RecDirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.14-7~llvm4.0
++ (arch=!armel)_ZTVSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail15RecDirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.14-7~llvm4.0
++ (arch=armel)_ZTVSt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.12-5~llvm3.7
++ (arch=!armel)_ZTVSt23_Sp_counted_ptr_inplaceIN5clang22PCHContainerOperationsESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.12-5~llvm3.7
++ (arch=!powerpcspe)_ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag@Base 1.1-8~llvm6.0+gcc8.2
++#MISSING: 0.14# check_compiler_cache@Base 0.10
++ clGetExtensionFunctionAddress@Base 0.10
++ clGetExtensionFunctionAddressForPlatform@Base 1.0
++ cl_context_count@Base 1.1
++#MISSING: 0.14# context_set_properties@Base 0.10
++#MISSING: 0.14# cpufreq_file@Base 0.10
++#MISSING: 0.14# cpuinfo@Base 0.10
++#MISSING: 1.0# create_workitem_aa_plugin@Base 0.10
++#MISSING: 1.0# currentPoclDevice@Base 0.14
++#MISSING: 0.14# fill_dev_image_t@Base 0.10
++#MISSING: 0.14# fill_dev_sampler_t@Base 0.12
++#MISSING: 0.14# find_env@Base 0.10
++#MISSING: 0.14# get_cpu_name@Base 0.13
++#MISSING: 0.14# llvm_codegen@Base 0.10
++#MISSING: 0.13-3~llvm3.8# (c++)"non-virtual thunk to WorkItemAliasAnalysis::alias(llvm::MemoryLocation const&, llvm::MemoryLocation const&)@Base" 0.13
++#MISSING: 0.13-3~llvm3.8# (c++)"non-virtual thunk to WorkItemAliasAnalysis::getAnalysisUsage(llvm::AnalysisUsage&) const@Base" 0.13
++#MISSING: 0.12# pocl_SHA1_Final@Base 0.11
++#MISSING: 0.12# pocl_SHA1_Init@Base 0.11
++#MISSING: 0.12# pocl_SHA1_Update@Base 0.11
++#MISSING: 0.12# pocl_basic_malloc@Base 0.11
++#MISSING: 0.13# pocl_basic_set_buffer_image_limits@Base 0.12
++#MISSING: 0.11# pocl_command_enqueue@Base 0.10
++#MISSING: 0.14# pocl_compact_queue_list@Base 0.12
++ pocl_context_handling_lock@Base 1.1
++#MISSING: 0.14# pocl_cpufreq_get_max@Base 0.10
++#MISSING: 0.12# pocl_cpuinfo_append_cpu_name@Base 0.10
++#MISSING: 0.14# pocl_cpuinfo_detect_compute_unit_count@Base 0.10
++#MISSING: 0.14# pocl_cpuinfo_detect_device_info@Base 0.10
++#MISSING: 0.14# pocl_cpuinfo_detect_max_clock_frequency@Base 0.10
++#MISSING: 0.14# pocl_cpuinfo_get_cpu_name_and_vendor@Base 0.12
++#MISSING: 0.11# pocl_create_command@Base 0.10
++#MISSING: 0.11# pocl_create_event@Base 0.10
++#MISSING: 0.12# pocl_debug_messages@Base 0.11
++#MISSING: 0.12# pocl_debug_timespec@Base 0.11
++#MISSING: 0.14# pocl_find_img_format@Base 0.10
++#MISSING: 0.14# pocl_finish_all_queues@Base 0.12
++#MISSING: 0.14# pocl_free_global_mem@Base 0.13
++#MISSING: 0.14# pocl_free_llvm_irs@Base 0.12
++ pocl_get_bool_option@Base 0.10
++ pocl_get_int_option@Base 0.10
++ pocl_get_string_option@Base 0.10
++#MISSING: 0.14# pocl_init_mem_manager@Base 0.10
++ pocl_is_option_set@Base 0.10
++#MISSING: 0.14# pocl_llvm_build_program@Base 0.10
++#MISSING: 0.14# pocl_llvm_codegen@Base 0.10
++#MISSING: 0.14# pocl_llvm_generate_workgroup_function@Base 0.10
++#MISSING: 0.14# pocl_llvm_get_kernel_count@Base 0.12
++#MISSING: 0.14# pocl_llvm_get_kernel_metadata@Base 0.10
++#MISSING: 0.14# pocl_llvm_get_kernel_names@Base 0.10
++#MISSING: 0.14# pocl_llvm_update_binaries@Base 0.10
++#MISSING: 0.14# pocl_map_mem_cmd@Base 0.10
++#MISSING: 0.14# pocl_mem_manager_free_command@Base 0.10
++#MISSING: 0.14# pocl_mem_manager_free_event@Base 0.10
++#MISSING: 0.14# pocl_mem_manager_new_command@Base 0.10
++#MISSING: 0.14# pocl_mem_manager_new_event@Base 0.10
++#MISSING: 0.14# pocl_memalign_alloc@Base 0.11
++#MISSING: 0.14# pocl_memalign_alloc_global_mem@Base 0.13
++#MISSING: 0.14# pocl_print_system_memory_stats@Base 0.13
++#MISSING: 0.13# pocl_pthread_malloc@Base 0.11
++#MISSING: 0.14# pocl_rect_copy@Base 0.13
++#MISSING: 0.14# pocl_set_buffer_image_limits@Base 0.13
++#MISSING: 0.14# pocl_setup_device_for_system_memory@Base 0.13
++#MISSING: 0.12# pocl_sysfs_detect_compute_unit_count@Base 0.11
++#MISSING: 0.14# pocl_update_program_llvm_irs@Base 0.11
++#MISSING: 0.12# supported_image_formats@Base 0.10
++#MISSING: 0.14# ta_pool_lock@Base 0.10
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2b2c3352bd62cb1ea48083b832d7e281a609eb02
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,156 @@@
++From da9aef695ce327ec9efd942d5a0872ee39de5d29 Mon Sep 17 00:00:00 2001
++From: Michal Babej <michal.babej@tut.fi>
++Date: Thu, 11 Oct 2018 12:19:34 +0300
++Subject: [PATCH] Fix linker flags for Apple
++
++---
++ CMakeLists.txt          | 25 ++++++++++++++++++-------
++ cmake/LLVM.cmake        | 14 +++++++++++++-
++ config.h.in.cmake       |  5 ++---
++ lib/CL/devices/common.c |  2 +-
++ 4 files changed, 34 insertions(+), 12 deletions(-)
++
++diff --git a/CMakeLists.txt b/CMakeLists.txt
++index c9bdd1f2..84b51ff3 100644
++--- a/CMakeLists.txt
+++++ b/CMakeLists.txt
++@@ -650,14 +650,20 @@ set(ENABLE_SPIRV ${SPIRV} CACHE INTERNAL "SPIR-V enabled" FORCE)
++ 
++ ######################################################################################
++ 
+++# fully device-side printf on devices which support it (only CPU backend ATM), disabled by default.
+++# this requires 128bit integer support because of the code in "errol" float-to-string conversion routine
+++# the output is not 100% compatible with glibc's printf (%f with large argument prints zeroes after
+++# last significant digit - 16-18th digit or so, unlike glibc which prints digits up to decimal point).
++ if(CLANG_HAS_RTLIB_128)
++   option(ENABLE_POCL_FLOAT_CONVERSION "Enable use of pocl's own float-to-decimal conversion code in OpenCL printf(). Defaults to OFF (uses snprintf from C library). Requires compiler-rt." OFF)
++ else()
++-  set(ENABLE_POCL_FLOAT_CONVERSION OFF CACHE INTERNAL "rtlib")
+++  set(ENABLE_POCL_FLOAT_CONVERSION OFF CACHE INTERNAL "pocl's own float-to-decimal conversion code")
++ endif()
++ 
++ unset(RTLIB_FLAG)
++ if(ENABLE_POCL_FLOAT_CONVERSION)
+++  # force link with Clang; otherwise not needed on x86 but in this case we need rtlib
+++  set(LINK_WITH_CLANG ON CACHE INTERNAL "Link using Clang")
++   set(RTLIB_FLAG "-DENABLE_POCL_FLOAT_CONVERSION")
++ endif()
++ 
++@@ -699,21 +705,25 @@ if(UNIX)
++     # MacOS ld outputs useless warnings like
++     # ld: warning: -macosx_version_min not specificed, assuming 10.7
++     # suppress them with -w.
++-    set(DEFAULT_HOST_LD_FLAGS "-dylib -w -lm")
+++    if(LINK_WITH_CLANG)
+++      set(DEFAULT_HOST_LD_FLAGS "-dynamiclib -w -lm")
+++    else()
+++      set(DEFAULT_HOST_LD_FLAGS "-dylib -w -lm")
+++    endif()
++   elseif(ANDROID_COMPILER)
++     set(DEFAULT_HOST_LD_FLAGS "-L/system/lib/ -shared -ldl -lc -lm /system/lib/crtbegin_so.o /system/lib/crtend_so.o")
++   else()
++-    if(ENABLE_POCL_FLOAT_CONVERSION)
++-      set(DEFAULT_HOST_LD_FLAGS "-shared -lm --rtlib=compiler-rt")
++-    else()
++-      set(DEFAULT_HOST_LD_FLAGS "-shared -lm")
++-    endif()
+++    set(DEFAULT_HOST_LD_FLAGS "-shared -lm")
++   endif()
++   set(LIBMATH "-lm")
++ elseif(WIN32)
++   set(LIBMATH)
++ endif()
++ 
+++if(LINK_WITH_CLANG AND (CLANG_HAS_RTLIB_128 OR CLANG_HAS_RTLIB))
+++  set(DEFAULT_HOST_LD_FLAGS "${DEFAULT_HOST_LD_FLAGS} --rtlib=compiler-rt")
+++endif()
+++
++ ######################################################################################
++ 
++ if(UNIX)
++@@ -1495,6 +1505,7 @@ if (OCS_AVAILABLE)
++   MESSAGE(STATUS "")
++   MESSAGE(STATUS "CLANG_HAS_RTLIB: ${CLANG_HAS_RTLIB}")
++   MESSAGE(STATUS "CLANG_HAS_RTLIB_128: ${CLANG_HAS_RTLIB_128}")
+++  MESSAGE(STATUS "LINK_WITH_CLANG: ${LINK_WITH_CLANG}")
++   MESSAGE(STATUS "CLANG_MARCH_FLAG: ${CLANG_MARCH_FLAG}")
++   MESSAGE(STATUS "CLANG_TARGET_OPTION: ${CLANG_TARGET_OPTION}")
++   MESSAGE(STATUS "LLVM_VERSION: ${LLVM_VERSION}")
++diff --git a/cmake/LLVM.cmake b/cmake/LLVM.cmake
++index 74e700cb..eeb567fd 100644
++--- a/cmake/LLVM.cmake
+++++ b/cmake/LLVM.cmake
++@@ -296,6 +296,7 @@ if(NOT DEFINED LLVM_SPIRV)
++     message(STATUS "Found llvm-spirv: ${LLVM_SPIRV}")
++   endif()
++ endif()
+++
++ ####################################################################
++ 
++ # try compile with any compiler (supplied as argument)
++@@ -452,7 +453,7 @@ endif()
++ ####################################################################
++ ####################################################################
++ 
++-if(NOT DEFINED CLANG_HAS_RTLIB)
+++if(NOT DEFINED LINK_WITH_CLANG)
++ 
++   set(RT128 OFF)
++   set(RT64 OFF)
++@@ -483,6 +484,17 @@ if(NOT DEFINED CLANG_HAS_RTLIB)
++   set(CLANG_HAS_RTLIB ${RT64} CACHE INTERNAL "Clang's compiler-rt available with 64bit types")
++   set(CLANG_HAS_RTLIB_128 ${RT128} CACHE INTERNAL "Clang's compiler-rt available with 128bit types")
++ 
+++  if(LLVM_OLDER_THAN_5_0)
+++    if(X86)
+++      set(LINK_WITH_CLANG OFF CACHE INTERNAL "Link using Clang")
+++    else()
+++      set(LINK_WITH_CLANG ON CACHE INTERNAL "Link using Clang")
+++    endif()
+++  else()
+++    # on LLVM 5.0+ we use the library API directly instead of forking
+++    set(LINK_WITH_CLANG ON CACHE INTERNAL "Link using Clang")
+++  endif()
+++
++ endif()
++ 
++ ####################################################################
++diff --git a/config.h.in.cmake b/config.h.in.cmake
++index a03c448b..ac4d6b3f 100644
++--- a/config.h.in.cmake
+++++ b/config.h.in.cmake
++@@ -13,9 +13,6 @@
++ 
++ #define CLANG "@CLANG@"
++ 
++-#cmakedefine CLANG_HAS_RTLIB
++-#cmakedefine CLANG_HAS_RTLIB_128
++-
++ #define CLANG_RESOURCE_DIR "@CLANG_RESOURCE_DIR@"
++ 
++ /* clang++ executable */
++@@ -136,6 +133,8 @@
++ 
++ #define LINK_COMMAND "@LINK_COMMAND@"
++ 
+++#cmakedefine LINK_WITH_CLANG
+++
++ /* Defined to greatest expected alignment for extended types, in bytes. */
++ #define MAX_EXTENDED_ALIGNMENT @MAX_EXTENDED_ALIGNMENT@
++ 
++diff --git a/lib/CL/devices/common.c b/lib/CL/devices/common.c
++index 31b30a9e..0455bba2 100644
++--- a/lib/CL/devices/common.c
+++++ b/lib/CL/devices/common.c
++@@ -198,7 +198,7 @@ llvm_codegen (const char* tmpdir, cl_ker
++   char *const args1[]
++ #ifndef POCL_ANDROID
++ /* use Clang as linker, when compiler-rt is available and needed */
++-#if defined(ENABLE_POCL_FLOAT_CONVERSION) || defined(CLANG_HAS_RTLIB)
+++#if defined(LINK_WITH_CLANG)
++       = { CLANG,
++ #else
++       = { LINK_COMMAND,
++-- 
++2.11.0
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..20711c29d8282b43ce3f17d9ffcf45bb032873ae
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,109 @@@
++From 9eac2cf03cedd74a70828adac17d6d9f7059abe9 Mon Sep 17 00:00:00 2001
++From: =?UTF-8?q?Pekka=20J=C3=A4=C3=A4skel=C3=A4inen?=
++ <pekka.jaaskelainen@parmance.com>
++Date: Thu, 4 Oct 2018 17:20:51 +0300
++Subject: [PATCH] Fix kernel debug data emission
++
++It is now (again) generated with the OpenCL standard build option -g.
++---
++ CHANGES                             | 11 ++++++-----
++ doc/sphinx/source/env_variables.rst |  6 ++++++
++ lib/CL/pocl_build.c                 |  9 +++++++--
++ lib/CL/pocl_llvm_build.cc           |  6 ------
++ lib/llvmopencl/Workgroup.cc         |  2 ++
++ lib/llvmopencl/linker.cpp           | 27 ++++++++++++++-------------
++ 6 files changed, 35 insertions(+), 26 deletions(-)
++
++diff --git a/lib/CL/pocl_build.c b/lib/CL/pocl_build.c
++index 8252e4aa..5c0e348f 100644
++--- a/lib/CL/pocl_build.c
+++++ b/lib/CL/pocl_build.c
++@@ -273,7 +277,8 @@ process_options (const char *options, char *modded_options, char *link_options,
++       else if (memcmp (token, "-g", 2) == 0)
++         {
++ #ifndef LLVM_OLDER_THAN_3_8
++-          token = "-debug-info-kind=line-tables-only";
+++          token = "-dwarf-column-info -debug-info-kind=limited " \
+++         "-dwarf-version=4 -debugger-tuning=gdb";
++ #endif
++         }
++       else if (memcmp (token, "-D", 2) == 0 || memcmp (token, "-I", 2) == 0)
++diff --git a/lib/CL/pocl_llvm_build.cc b/lib/CL/pocl_llvm_build.cc
++index 830dab8f..5cd081d5 100644
++--- a/lib/CL/pocl_llvm_build.cc
+++++ b/lib/CL/pocl_llvm_build.cc
++@@ -546,9 +546,6 @@ int pocl_llvm_build_program(cl_program program,
++ 
++ #ifdef LLVM_OLDER_THAN_3_9
++   (*mod)->setPICLevel(PICLevel::Large);
++-#else
++-  (*mod)->setPICLevel(PICLevel::BigPIC);
++-  (*mod)->setPIELevel(PIELevel::Large);
++ #endif
++ 
++ 
++@@ -644,9 +641,6 @@ int pocl_llvm_link_program(cl_program program, unsigned device_i,
++     linked_module->setDataLayout(libmodule->getDataLayout());
++ #ifdef LLVM_OLDER_THAN_3_9
++     linked_module->setPICLevel(PICLevel::Large);
++-#else
++-    linked_module->setPICLevel(PICLevel::BigPIC);
++-    linked_module->setPIELevel(PIELevel::Large);
++ #endif
++ 
++ #else
++diff --git a/lib/llvmopencl/Workgroup.cc b/lib/llvmopencl/Workgroup.cc
++index 6115dd8c..331e8faa 100644
++--- a/lib/llvmopencl/Workgroup.cc
+++++ b/lib/llvmopencl/Workgroup.cc
++@@ -722,6 +722,8 @@ static Function *createWrapper(Module &M, Function *F,
++     replacePrintfCalls(pb, pbp, pbc, true, poclPrintf, M, L, printfCache);
++   }
++ 
+++  L->setSubprogram(F->getSubprogram());
+++
++   return L;
++ }
++ 
++diff --git a/lib/llvmopencl/linker.cpp b/lib/llvmopencl/linker.cpp
++index 5fd0bae3..d33b7863 100644
++--- a/lib/llvmopencl/linker.cpp
+++++ b/lib/llvmopencl/linker.cpp
++@@ -343,20 +343,21 @@ static void shared_copy(llvm::Module *program, const llvm::Module *lib,
++   llvm::Module::const_named_metadata_iterator mi,me;
++   for (mi=lib->named_metadata_begin(), me=lib->named_metadata_end();
++        mi != me; mi++) {
++-      const NamedMDNode &NMD=*mi;
++-      /* This causes problems, because multiple wchar_size */
++-      if (NMD.getName() == StringRef("llvm.module.flags"))
++-        continue;
++-      /* This causes problems with NVidia,
++-       * and is regenerated by pocl-ptx-gen anyway */
++-      if (NMD.getName() == StringRef("nvvm.annotations"))
++-        continue;
++-      DB_PRINT(" %s:\n", NMD.getName().data());
++-      NamedMDNode *NewNMD=program->getOrInsertNamedMetadata(NMD.getName());
++-      for (unsigned i=0, e=NMD.getNumOperands(); i != e; ++i)
++-        NewNMD->addOperand(MapMetadata(NMD.getOperand(i), vvm));
+++    const NamedMDNode &NMD = *mi;
+++    // This causes problems with NVidia, and is regenerated by pocl-ptx-gen
+++    // anyway.
+++    if (NMD.getName() == StringRef("nvvm.annotations"))
+++      continue;
+++    DB_PRINT(" %s:\n", NMD.getName().data());
+++    if (NamedMDNode *Old = program->getNamedMetadata(NMD.getName())) {
+++      // Let's not overwrite existing metadata such as llvm.module.flags and
+++      // opencl.ocl.version.
+++      continue;
+++    }
+++    NamedMDNode *NewNMD = program->getOrInsertNamedMetadata(NMD.getName());
+++    for (unsigned i = 0, e = NMD.getNumOperands(); i != e; ++i)
+++      NewNMD->addOperand(MapMetadata(NMD.getOperand(i), vvm));
++   }
++-
++ }
++ 
++ int link(llvm::Module *program, const llvm::Module *lib, std::string &log) {
++-- 
++2.11.0
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2d454b69105d1988b7a8782096789d8679f3c6b3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,15 @@@
++Author: Andreas Beckmann <anbe@debian.org>
++Description: HACK! fix building in armel/armhf chroot on arm64 host
++
++--- a/cmake/LLVM.cmake
+++++ b/cmake/LLVM.cmake
++@@ -23,6 +23,9 @@
++ #
++ #=============================================================================
++ 
+++MESSAGE(STATUS "CMAKE_HOST_SYSTEM_PROCESSOR: ${CMAKE_HOST_SYSTEM_PROCESSOR}")
+++MESSAGE(STATUS "CMAKE_LIBRARY_ARCHITECTURE: ${CMAKE_LIBRARY_ARCHITECTURE}")
+++
++ if(DEFINED WITH_LLVM_CONFIG AND WITH_LLVM_CONFIG)
++   # search for preferred version
++   if(IS_ABSOLUTE "${WITH_LLVM_CONFIG}")
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..565fb32b46080fb23bfda4ae935f72bc6349114c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,32 @@@
++From 86559dfcbac37a90b4e73c4b89c4ba211cf3e377 Mon Sep 17 00:00:00 2001
++From: Andreas Beckmann <anbe@debian.org>
++Date: Wed, 16 Jan 2019 21:24:12 +0000
++Subject: [PATCH 1/2] add custom_try_compile_clang_silent macro
++
++---
++ cmake/LLVM.cmake | 7 ++++++-
++ 1 file changed, 6 insertions(+), 1 deletion(-)
++
++--- a/cmake/LLVM.cmake
+++++ b/cmake/LLVM.cmake
++@@ -360,6 +360,11 @@ macro(custom_try_compile_clang SOURCE1 S
++   custom_try_compile_c_cxx("${CLANG}" "c" "${SOURCE1}" "${SOURCE2}" ${RES_VAR}  "-c" ${ARGN})
++ endmacro()
++ 
+++# clang++ try-compile macro
+++macro(custom_try_compile_clang_silent SOURCE1 SOURCE2 RES_VAR)
+++  custom_try_compile_c_cxx_silent("${CLANG}" "c" "${SOURCE1}" "${SOURCE2}" ${RES_VAR} "-c" ${ARGN})
+++endmacro()
+++
++ # clang++ try-link macro
++ macro(custom_try_link_clang SOURCE1 SOURCE2 RES_VAR)
++   set(RANDOM_FILENAME "${CMAKE_BINARY_DIR}/compile_test_${RNDNAME}.${SUFFIX}")
++@@ -768,7 +773,7 @@ endif()
++ if(NOT DEFINED ${CL_DISABLE_HALF})
++   set(CL_DISABLE_HALF 0)
++   message(STATUS "Checking fp16 support")
++-  custom_try_compile_c_cxx_silent("${CLANG}" "c" "__fp16 callfp16(__fp16 a) { return a * (__fp16)1.8; };" "__fp16 x=callfp16((__fp16)argc);" RESV -c ${CLANG_TARGET_OPTION}${LLC_TRIPLE} ${CLANG_MARCH_FLAG}${LLC_HOST_CPU})
+++  custom_try_compile_clang_silent("__fp16 callfp16(__fp16 a) { return a * (__fp16)1.8; };" "__fp16 x=callfp16((__fp16)argc);" RESV ${CLANG_TARGET_OPTION}${LLC_TRIPLE} ${CLANG_MARCH_FLAG}${LLC_HOST_CPU})
++   if(RESV)
++     set(CL_DISABLE_HALF 1)
++   endif()
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9cc7c80e92ce682fbca1e388bf399df0e35a6a60
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,38 @@@
++Author: Andreas Beckmann <anbe@debian.org>
++Description: tune distro mode
++
++--- a/lib/kernel/host/CMakeLists.txt
+++++ b/lib/kernel/host/CMakeLists.txt
++@@ -69,8 +69,8 @@ separate_arguments(DEVICE_CL_FLAGS)
++ function(x86_distro_variant_to_flags VARIANT OUT_LLC_FLAGS OUT_CLANG_FLAGS)
++ 
++   if("${VARIANT}" STREQUAL "sse2")
++-    set(CLANG_F "${CLANG_MARCH_FLAG}athlon64")
++-    set(LLC_F "-mcpu=athlon64")
+++    set(CLANG_F "${CLANG_MARCH_FLAG}x86-64")
+++    set(LLC_F "-mcpu=x86-64")
++ 
++   elseif("${VARIANT}" STREQUAL "ssse3")
++     set(CLANG_F "${CLANG_MARCH_FLAG}core2")
++--- a/CMakeLists.txt
+++++ b/CMakeLists.txt
++@@ -944,6 +944,9 @@ endif()
++ set(KERNELLIB_HOST_DISTRO_VARIANTS 0)
++ if(KERNELLIB_HOST_CPU_VARIANTS STREQUAL "distro")
++   if(X86_64 OR I386)
+++    if("${LLC_HOST_CPU}" STREQUAL "GENERIC")
+++      set(HOST_CPU_FORCED 0 CACHE INTERNAL "CPU is forced by user")
+++    endif()
++     if(HOST_CPU_FORCED)
++       message(FATAL_ERROR "Cannot build with CPU autodetection distro variants build, and enforce LLC_HOST_CPU at the same time. Please pick one")
++     endif()
++@@ -951,6 +954,9 @@ if(KERNELLIB_HOST_CPU_VARIANTS STREQUAL
++     if(NOT LLVM_OLDER_THAN_3_9)
++       list(APPEND KERNELLIB_HOST_CPU_VARIANTS avx512)
++     endif()
+++    if("${LLC_HOST_CPU}" STREQUAL "GENERIC")
+++      list(INSERT KERNELLIB_HOST_CPU_VARIANTS 0 ${LLC_HOST_CPU})
+++    endif()
++   else()
++     message(FATAL_ERROR "Don't know what CPU variants to use for kernel library on this platform.")
++   endif()
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0c362936cef4bd74d16d94aa69e9ee2141cf7215
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,54 @@@
++From 13eadfc3b66cda5c523a669dcb2914a591002403 Mon Sep 17 00:00:00 2001
++From: Andreas Beckmann <anbe@debian.org>
++Date: Wed, 16 Jan 2019 21:37:17 +0000
++Subject: [PATCH 2/2] perform compile test to select -march or -mcpu for clang
++
++---
++ cmake/LLVM.cmake | 29 ++++++++++++++++++++---------
++ 1 file changed, 20 insertions(+), 9 deletions(-)
++
++--- a/cmake/LLVM.cmake
+++++ b/cmake/LLVM.cmake
++@@ -503,15 +503,6 @@ if(NOT DEFINED LINK_WITH_CLANG)
++ endif()
++ 
++ ####################################################################
++-#X86 has -march and -mcpu reversed, for clang
++-
++-if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "(powerpc|armv7|aarch64)")
++-  set(CLANG_MARCH_FLAG "-mcpu=")
++-else()
++-  set(CLANG_MARCH_FLAG "-march=")
++-endif()
++-
++-####################################################################
++ 
++ macro(CHECK_ALIGNOF TYPE TYPEDEF OUT_VAR)
++ 
++@@ -716,6 +707,26 @@ endif()
++ 
++ 
++ ####################################################################
+++# Some architectures have -march and -mcpu reversed
+++
+++if(NOT DEFINED ${CLANG_MARCH_FLAG})
+++  message(STATUS "Checking clang -march vs. -mcpu flag")
+++  custom_try_compile_clang_silent("" "return 0;" RES ${CLANG_TARGET_OPTION}${LLC_TRIPLE} -march=${LLC_HOST_CPU})
+++  if(NOT RES)
+++    set(CLANG_MARCH_FLAG "-march=")
+++  else()
+++    custom_try_compile_clang_silent("" "return 0;" RES ${CLANG_TARGET_OPTION}${LLC_TRIPLE} -mcpu=${LLC_HOST_CPU})
+++    if(NOT RES)
+++      set(CLANG_MARCH_FLAG "-mcpu=")
+++    else()
+++      message(FATAL_ERROR "Could not determine whether to use -march or -mcpu with clang")
+++    endif()
+++  endif()
+++
+++  set(CLANG_MARCH_FLAG ${CLANG_MARCH_FLAG} CACHE INTERNAL "Clang option used to specify the target cpu")
+++endif()
+++
+++####################################################################
++ 
++ # This tests that we can actually link to the llvm libraries.
++ # Mostly to catch issues like #295 - cannot find -ledit
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..79c1804085171461b53670ff3a75cb2cac0f9337
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,70 @@@
++Author: Andreas Beckmann <anbe@debian.org>
++Description: add support for a GENERIC cpu type that uses llvm defaults
++
++--- a/lib/kernel/host/CMakeLists.txt
+++++ b/lib/kernel/host/CMakeLists.txt
++@@ -224,6 +224,11 @@ else()
++   set(LLC_CPUFLAGS "-mcpu=${VARIANT}")
++ endif()
++ 
+++if("${VARIANT}" STREQUAL "GENERIC")
+++  set(CLANG_CPUFLAGS "")
+++  set(LLC_CPUFLAGS "")
+++endif()
+++
++ separate_arguments(CLANG_CPUFLAGS)
++ separate_arguments(LLC_CPUFLAGS)
++ set(CLANG_FLAGS ${HOST_CLANG_FLAGS} ${CLANG_CPUFLAGS}
++--- a/lib/CL/devices/basic/basic.c
+++++ b/lib/CL/devices/basic/basic.c
++@@ -350,6 +350,9 @@ pocl_init_cpu_device_infos (cl_device_id
++   if(dev->llvm_cpu && (!strcmp(dev->llvm_cpu, "(unknown)")))
++     dev->llvm_cpu = OCL_KERNEL_TARGET_CPU;
++ 
+++  if(dev->llvm_cpu && (!strcmp(dev->llvm_cpu, "GENERIC")))
+++    dev->llvm_cpu = NULL;
+++
++ #else /* No compiler, no CPU info */
++   dev->llvm_cpu = NULL;
++   dev->llvm_target_triplet = "";
++--- a/lib/CL/pocl_llvm_build.cc
+++++ b/lib/CL/pocl_llvm_build.cc
++@@ -846,7 +846,7 @@ kernel_library
++       kernellib += getX86KernelLibName();
++     else
++ #endif
++-      kernellib += device->llvm_cpu;
+++      kernellib += device->llvm_cpu ? device->llvm_cpu : "GENERIC";
++   }
++   kernellib += ".bc";
++ 
++--- a/cmake/LLVM.cmake
+++++ b/cmake/LLVM.cmake
++@@ -711,17 +711,25 @@ endif()
++ 
++ if(NOT DEFINED ${CLANG_MARCH_FLAG})
++   message(STATUS "Checking clang -march vs. -mcpu flag")
++-  custom_try_compile_clang_silent("" "return 0;" RES ${CLANG_TARGET_OPTION}${LLC_TRIPLE} -march=${LLC_HOST_CPU})
+++ if(LLC_HOST_CPU STREQUAL "GENERIC" AND NOT KERNELLIB_HOST_CPU_VARIANTS STREQUAL "distro")
+++  set(CLANG_MARCH_FLAG "-None=")
+++ else()
+++  set(LLC_HOST_CPU_TEST "${LLC_HOST_CPU}")
+++  if(LLC_HOST_CPU STREQUAL "GENERIC")
+++    set(LLC_HOST_CPU_TEST "${LLC_HOST_CPU_AUTO}")
+++  endif()
+++  custom_try_compile_clang_silent("" "return 0;" RES ${CLANG_TARGET_OPTION}${LLC_TRIPLE} -march=${LLC_HOST_CPU_TEST})
++   if(NOT RES)
++     set(CLANG_MARCH_FLAG "-march=")
++   else()
++-    custom_try_compile_clang_silent("" "return 0;" RES ${CLANG_TARGET_OPTION}${LLC_TRIPLE} -mcpu=${LLC_HOST_CPU})
+++    custom_try_compile_clang_silent("" "return 0;" RES ${CLANG_TARGET_OPTION}${LLC_TRIPLE} -mcpu=${LLC_HOST_CPU_TEST})
++     if(NOT RES)
++       set(CLANG_MARCH_FLAG "-mcpu=")
++     else()
++       message(FATAL_ERROR "Could not determine whether to use -march or -mcpu with clang")
++     endif()
++   endif()
+++ endif()
++ 
++   set(CLANG_MARCH_FLAG ${CLANG_MARCH_FLAG} CACHE INTERNAL "Clang option used to specify the target cpu")
++ endif()
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d278698d17547aa07ae240ff65af3e8a516e0bb2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,28 @@@
++Author: Andreas Beckmann <anbe@debian.org>
++Description: add more printf tests
++
++--- a/tests/kernel/test_printf.cl
+++++ b/tests/kernel/test_printf.cl
++@@ -179,4 +179,9 @@ kernel void test_printf()
++   printf("|%s|%4s|%-4s|%4s|%.4s|\n", "aa", "bb", "cc", "dddddddddd", "eeeeee");
++   printf("|%p|%12p|%-12p|\n", (void*)0x2349aacc, (void*)0xdeaddeed, (void*)0x92820384);
++ 
+++  printf ("\nPARAMETER PASSING\n\n");
+++
+++  printf("%c %#v2hhx %#v2hhx %c\n", '*', (char2)(0xFA, 0xFB), (char2)(0xFC, 0xFD), '.');
+++  printf("%c %#v2hx %#v2hx %c\n", '*', (short2)(0x1234, 0x8765), (short2)(0xBEEF, 0xF00D), '.');
+++  printf("%c %#v2hlx %#v2hlx %c\n", '*', (int2)(0x12345678, 0x87654321), (int2)(0x2468ACE0, 0xFDB97531), '.');
++ }
++--- a/tests/kernel/test_printf_expout.txt
+++++ b/tests/kernel/test_printf_expout.txt
++@@ -151,4 +151,10 @@ VECTORS
++ |a|   b|c   |
++ |aa|  bb|cc  |dddddddddd|eeee|
++ |0x2349aacc|  0xdeaddeed|0x92820384  |
+++
+++PARAMETER PASSING
+++
+++* 0xfa,0xfb 0xfc,0xfd .
+++* 0x1234,0x8765 0xbeef,0xf00d .
+++* 0x12345678,0x87654321 0x2468ace0,0xfdb97531 .
++ OK
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..423fb7b957e69da058b5f10e08f7d40ec1fa33be
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,23 @@@
++Author: Andreas Beckmann <anbe@debian.org>
++Description: do not link with --rtlib=compiler-rt
++
++that library is not available on most architectures
++and does not seem to be needed at all
++
++fixes a testsuite error on armhf
++
++--- a/CMakeLists.txt
+++++ b/CMakeLists.txt
++@@ -717,9 +717,9 @@ elseif(WIN32)
++   set(LIBMATH)
++ endif()
++ 
++-if(LINK_WITH_CLANG AND (CLANG_HAS_RTLIB_128 OR CLANG_HAS_RTLIB))
++-  set(DEFAULT_HOST_LD_FLAGS "${DEFAULT_HOST_LD_FLAGS} --rtlib=compiler-rt")
++-endif()
+++#if(LINK_WITH_CLANG AND (CLANG_HAS_RTLIB_128 OR CLANG_HAS_RTLIB))
+++#  set(DEFAULT_HOST_LD_FLAGS "${DEFAULT_HOST_LD_FLAGS} --rtlib=compiler-rt")
+++#endif()
++ 
++ ######################################################################################
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2b42c977d9e9351d84d72f244b8ec9177c7af235
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,33 @@@
++Author: Andreas Beckmann <anbe@debian.org>
++Description: HACK! kernel/test_printf fails on i686
++ #--- tests/kernel/test_printf_expout.txt
++ #+++ /tmp/cmake_testrun_tkeWb
++ @@ -145,8 +145,8 @@ VECTORS
++  0x1.4p+3,0x1.15p-141,0x1.52d02cp+78,0x0p+0
++  0x1.68p+6,0x1.2p+3,0x1.ccccccp-1,0x1.70a3d8p-4
++  0x1p+12,0x1p+0,0x1p-3,0x1p-7
++ -0xfa,0xfb
++ -0x1234,0x8765
++ +0xfa,0
++ +0x1234,0
++  0x12345678,0x87654321
++  |a|   b|c   |
++  |aa|  bb|cc  |dddddddddd|eeee|
++Bug: https://github.com/pocl/pocl/issues/682
++
++diff --git a/tests/kernel/CMakeLists.txt b/tests/kernel/CMakeLists.txt
++index 634d184a..6df4d6ce 100644
++--- a/tests/kernel/CMakeLists.txt
+++++ b/tests/kernel/CMakeLists.txt
++@@ -221,6 +221,11 @@ add_test_pocl(NAME "kernel/test_printf"
++               EXPECTED_OUTPUT "test_printf_expout.txt"
++               COMMAND "kernel" "test_printf")
++ 
+++if(LLC_HOST_CPU STREQUAL "i686")
+++  set_tests_properties("kernel/test_printf"
+++    PROPERTIES WILL_FAIL 1)
+++endif()
+++
++ add_test_pocl(NAME "kernel/test_sizeof_uint"
++               EXPECTED_OUTPUT "test_sizeof_expout.txt"
++               COMMAND "kernel" "test_sizeof")
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9d0f779fd5eacfe7a0348082faf20596756fcd90
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,11 @@@
++0001-Fix-linker-flags-for-Apple.patch
++0002-Fix-kernel-debug-data-emission.patch
++more-printf-tests.patch
++custom_try_compile_clang_silent.patch
++find-clang-march-mcpu-flag.patch
++generic-cpu.patch
++distro.patch
++no-compiler-rt.patch
++armhf.patch
++sphinx.patch
++printf.patch
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b6f005179db29ab89c24da9c2c6c5cdaeaf065a3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,15 @@@
++Author: Andreas Beckmann <anbe@debian.org>
++Description: drop unused deprecated module 'sphinx.ext.pngmath'
++Bug-Debian: https://bugs.debian.org/918828
++
++--- a/doc/sphinx/source/conf.py
+++++ b/doc/sphinx/source/conf.py
++@@ -22,7 +22,7 @@ import sys, os
++ 
++ # Add any Sphinx extension module names here, as strings. They can be extensions
++ # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
++-extensions = ['sphinx.ext.pngmath']
+++extensions = []
++ 
++ # Add any paths that contain templates here, relative to this directory.
++ templates_path = ['_templates']
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d4c905ba275dbc004de4bc037d5bc524fdc11414
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,8 @@@
++Document: pocl-doc
++Title: Documentation for the pocl library
++Author: The pocl developers
++Section: Programming
++
++Format: HTML
++Index: /usr/share/doc/pocl-doc/html/index.html
++Files: /usr/share/doc/pocl-doc/html/*.html
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7a69846d00ee392c604ea81a4dfe79782be0e288
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++build-doc/html
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..724e0844955307c264b28a9319b65da3e99bb2c5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++README
++TODO
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..65491496652c437377b1a5f726e10579bcea10d7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++etc/OpenCL/vendors/pocl.icd
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3a993fddeabc9627da88839b98beb6e29a688c4d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++# This is kind of a meta-package.
++package-contains-no-arch-dependent-files
diff --cc debian/rules
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..792933e45efb6d03479ce9c8dbc5c9c6524b58ce
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,128 @@@
++#!/usr/bin/make -f
++# See debhelper(7) (uncomment to enable)
++# output every command that modifies files on the build system.
++#DH_VERBOSE = 1
++
++# see EXAMPLES in dpkg-buildflags(1) and read /usr/share/dpkg/*
++DPKG_EXPORT_BUILDFLAGS = 1
++include /usr/share/dpkg/default.mk
++include /usr/share/dpkg/architecture.mk
++include /usr/share/dpkg/pkg-info.mk
++
++# When updating this variable, do not forget to adapt the build-depends
++# in debian/control
++LLVM_VERSION=6.0
++
++# see FEATURE AREAS in dpkg-buildflags(1)
++export DEB_BUILD_MAINT_OPTIONS = hardening=+all
++
++# see ENVIRONMENT in dpkg-buildflags(1)
++# package maintainers to append CFLAGS
++#export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic
++# package maintainers to append LDFLAGS
++export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
++
++LLVM_ARCH-amd64                        = distro
++#LLVM_ARCH-amd64                       = x86-64
++#LLVM_ARCH-arm64                       = generic
++LLVM_ARCH-armel                        = arm946e-s            # arch=armv5te
++# armhf should rather be arch=armv7-a, e.g. cpu=cortex-a5 or similar with attr=+vfp3,+d16,+thumb2,-neon,-vfp4
++LLVM_ARCH-armhf                        = arm1156t2f-s
++LLVM_ARCH-hurd-i386            = $(LLVM_ARCH-i386)
++LLVM_ARCH-i386                         = i686                 # clang targets pentium4 by default
++LLVM_ARCH-kfreebsd-amd64       = $(LLVM_ARCH-amd64)
++LLVM_ARCH-kfreebsd-i386                = $(LLVM_ARCH-i386)
++#LLVM_ARCH-mips                        = mips32r2 # guess
++#LLVM_ARCH-mips64el            = mips64r2 # guess
++#LLVM_ARCH-mipsel              = mips32r2 # guess
++#LLVM_ARCH-powerpc             = ppc
++#LLVM_ARCH-ppc64                       = ppc64 # guess
++#LLVM_ARCH-ppc64el             = ppc64le
++#LLVM_ARCH-s390x                       = z10
++#LLVM_ARCH-sparc64             = v8 # guess
++LLVM_ARCH-x32                  = $(LLVM_ARCH-amd64)
++
++LLC_HOST_CPU   = $(or $(patsubst pocl_cpu=%,%,$(filter pocl_cpu=%,$(DEB_BUILD_OPTIONS))),$(LLVM_ARCH-$(DEB_HOST_ARCH)),GENERIC)
++
++ifeq ($(DEB_HOST_ARCH),armhf)
++# NEON, optional for Debian, must not be used
++EXTRA_HOST_CLANG_FLAGS         = -mfpu=vfp3-d16
++# TODO: export KERNEL_LIB_OPT_FLAGS= -mattr=-neon,+d16,+vfp3,-vfp4,+v7,+aclass,+thumb2
++endif
++
++# doc for symbols:
++# http://www.eyrie.org/~eagle/journal/2012-01/008.html
++# main packaging script based on dh7 syntax
++%:
++      dh $@ --with pkgkde_symbolshelper --with sphinxdoc --buildsystem=cmake
++
++var2flag               = $(if $(strip $($1)),-D$1="$($1)")
++POCL_CONFIGURE_FLAGS   =
++POCL_CONFIGURE_FLAGS  += -DENABLE_ICD=yes
++POCL_CONFIGURE_FLAGS  += -DWITH_LLVM_CONFIG=/usr/bin/llvm-config-$(LLVM_VERSION)
++POCL_CONFIGURE_FLAGS  += $(if $(filter distro,$(LLC_HOST_CPU)),-DLLC_HOST_CPU=GENERIC -DKERNELLIB_HOST_CPU_VARIANTS=distro,-DLLC_HOST_CPU=$(LLC_HOST_CPU))
++POCL_CONFIGURE_FLAGS  += $(call var2flag,EXTRA_HOST_CLANG_FLAGS)
++POCL_CONFIGURE_FLAGS  += -DPOCL_ICD_ABSOLUTE_PATH=OFF
++
++override_dh_auto_configure:
++      @echo Using LLC_HOST_CPU=$(LLC_HOST_CPU)
++      -/usr/lib/llvm-$(LLVM_VERSION)/bin/llc -version
++      -/usr/lib/llvm-$(LLVM_VERSION)/bin/llc -mattr=help
++      dh_auto_configure -- $(POCL_CONFIGURE_FLAGS)
++
++override_dh_auto_build-indep:
++ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
++      sphinx-build -N -b html doc/sphinx/source build-doc/html
++else
++      mkdir -p build-doc/html
++endif
++
++override_dh_shlibdeps:
++      dh_shlibdeps -a -- --warnings=7
++
++override_dh_missing:
++      dh_missing --list-missing
++
++override_dh_auto_test-indep:
++override_dh_auto_test-arch:
++      # Failure in testsuite is delayed until symbols handling
++      # and all files are logged.
++      $(RM) debian/stamp-failed-testsuite
++      $(RM) -r debian/kcache
++      mkdir debian/kcache
++      env POCL_CACHE_DIR=$(CURDIR)/debian/kcache \
++              OCL_ICD_VENDORS=$(CURDIR)/obj-$(DEB_HOST_GNU_TYPE)/ocl-vendors/pocl-tests.icd \
++              POCL_BUILDING=1 POCL_DEVICES=basic clinfo
++      env POCL_CACHE_DIR=$(CURDIR)/debian/kcache \
++              OCL_ICD_VENDORS=$(CURDIR)/obj-$(DEB_HOST_GNU_TYPE)/ocl-vendors/pocl-tests.icd \
++              POCL_BUILDING=1 clinfo
++      @set -ex; if ! env POCL_CACHE_DIR="$(CURDIR)/debian/kcache" dh_auto_test ; then \
++              echo "***** The testsuite has failed! *****" ; \
++              touch debian/stamp-failed-testsuite; \
++      fi
++      $(RM) -r debian/kcache
++
++run_dh_makeshlibs:
++      dh_makeshlibs
++
++delayed_check_dh_auto_test_result: run_dh_makeshlibs
++      @set -ex; if test -f debian/stamp-failed-testsuite ; then \
++              echo "***** The testsuite has failed! *****" ; \
++              exit 1 ; \
++      fi
++      @test -f obj-*/Testing/Temporary/LastTest.log && echo 'The testsuite has passed all tests.' || echo '*** The testsuite was *NOT* run! ***'
++
++override_dh_makeshlibs: run_dh_makeshlibs delayed_check_dh_auto_test_result
++
++# fails on 32-bit: #918903
++override_dh_dwz:
++
++override_dh_gencontrol:
++      dh_gencontrol -- \
++              -V'LLVM:Version=$(LLVM_VERSION)' \
++              -V'Built-Using:clang=$(shell dpkg-query -f '$${source:Package} (= $${source:Version})' -W libclang-$(LLVM_VERSION)-dev)' \
++
++
++fix-symbols:
++      pkgkde-getbuildlogs
++      echo "pkgkde-symbolshelper batchpatch -v $(DEB_VERSION_EPOCH_UPSTREAM) pocl_$(DEB_DISTRIBUTION)_logs/pocl_$(DEB_VERSION)_*build"
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..163aaf8d82b6c54f23c45f32895dbdfdcc27b047
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++3.0 (quilt)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..aa75a96e059fdc6498cb9a6edd5ad6dcbc8651a5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++# the examples directory only contains CMakeFiles for external testsuites
++package-does-not-install-examples examples/
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0e0b4804c05d5a8d703020d6dfa730ed420fb7c5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++Name: Portable Computing Language
++Repository: https://github.com/pocl/pocl.git
++Repository-Browse: https://github.com/pocl/pocl
diff --cc debian/watch
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..07b60fca4cea29cd3ee5d527fc80bdca5fe36de9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++version=4
++opts="uversionmangle=s/-RC(\d*)/~rc$1/, filenamemangle=s%(?:.*?)?v?(\d[\d.]*)\.tar\.gz%@PACKAGE@-$1.tar.gz%" \
++   https://github.com/pocl/pocl/releases \
++   (?:.*?/)?v?(\d[\d.RC-]*)\.tar\.gz debian uupdate