[arch-commits] Commit in ldc/repos/community-x86_64 (4 files)
Dan Printzell
wild at archlinux.org
Tue Apr 28 20:37:49 UTC 2020
Date: Tuesday, April 28, 2020 @ 20:37:48
Author: wild
Revision: 622091
archrelease: copy trunk to community-x86_64
Added:
ldc/repos/community-x86_64/PKGBUILD
(from rev 622090, ldc/trunk/PKGBUILD)
ldc/repos/community-x86_64/fix-llvm_prefetch-for-LLVM-10.patch
(from rev 622090, ldc/trunk/fix-llvm_prefetch-for-LLVM-10.patch)
Deleted:
ldc/repos/community-x86_64/PKGBUILD
ldc/repos/community-x86_64/fix-llvm_prefetch-for-LLVM-10.patch
-------------------------------------+
PKGBUILD | 221 ++++++++++++++++------------------
fix-llvm_prefetch-for-LLVM-10.patch | 110 ++++++++--------
2 files changed, 163 insertions(+), 168 deletions(-)
Deleted: PKGBUILD
===================================================================
--- PKGBUILD 2020-04-28 20:37:40 UTC (rev 622090)
+++ PKGBUILD 2020-04-28 20:37:48 UTC (rev 622091)
@@ -1,113 +0,0 @@
-# Maintainer: Dan Printzell <arch at vild.io>
-# Contributor: Mihails Strasuns <public at dicebot.lv>
-# Contributor: Sven-Hendrik Haase <sh at lutzhaase.com>
-
-pkgname=('ldc' 'liblphobos')
-groups=('dlang' 'dlang-ldc')
-pkgver=1.20.1
-_pkgcommit=96437a25c28a2a6fbeb36dc6a46b600e56021051
-_dversion=2.090.1
-_clangversion=10.0.0 # related to where ldc2 looks for compiler-rt sanitizers
-epoch=2
-pkgrel=3
-pkgdesc="A D Compiler based on the LLVM Compiler Infrastructure including D runtime and libphobos2"
-arch=('x86_64')
-url="https://github.com/ldc-developers/ldc"
-license=('BSD')
-makedepends=('git' 'cmake' 'llvm' 'ldc')
-
-source=(
- "git+https://github.com/ldc-developers/ldc#commit=$_pkgcommit"
- "ldc-druntime::git+https://github.com/ldc-developers/druntime.git"
- "ldc-phobos::git+https://github.com/ldc-developers/phobos.git"
- "ldc-testsuite::git+https://github.com/ldc-developers/dmd-testsuite.git"
- "fix-llvm_prefetch-for-LLVM-10.patch"
-)
-
-sha256sums=('SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'f123e482402416d262739a21de4c156cc37912c0f796f9d2239607a173680e28')
-
-prepare() {
- cd "$srcdir/ldc"
-
- git submodule init
- git config submodule.druntime.url "$srcdir/ldc-druntime"
- git config submodule.phobos.url "$srcdir/ldc-phobos"
- git config submodule.tests/d2/dmd-testsuite.url "$srcdir/ldc-testsuite"
- git submodule update
-
- # https://github.com/ldc-developers/ldc/issues/3397
- patch -Np1 -d runtime/druntime <../fix-llvm_prefetch-for-LLVM-10.patch
-
- # Set version used for path construction in getFullClangCompilerRTLibPath()
- sed -i "s/ldc::llvm_version_base/\"$_clangversion\"/" driver/linker-gcc.cpp
-}
-
-build() {
- cd "$srcdir/ldc"
-
- mkdir -p build && cd build
-
- cmake \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_SKIP_RPATH=ON \
- -DINCLUDE_INSTALL_DIR=/usr/include/dlang/ldc \
- -DBUILD_SHARED_LIBS=BOTH \
- -DBUILD_LTO_LIBS=ON \
- -DLDC_WITH_LLD=OFF \
- -DD_COMPILER_FLAGS="-link-defaultlib-shared=false -linker=gold -flto=full" \
- -DADDITIONAL_DEFAULT_LDC_SWITCHES="\"-link-defaultlib-shared\"" \
- ..
- make
-}
-
-check() {
- cd "$srcdir/ldc/build"
- make all-test-runners
-}
-
-package_ldc() {
- depends=('liblphobos' 'llvm-libs' 'gcc' 'compiler-rt')
- backup=('etc/ldc2.conf')
- provides=("d-compiler=$_dversion")
-
- cd "$srcdir/ldc/build"
- make install DESTDIR="$pkgdir"
-
- # move bash-completion
- mkdir -p "$pkgdir/usr/share/bash-completion/completions/"
- mv "$pkgdir/etc/bash_completion.d/ldc2" "$pkgdir/usr/share/bash-completion/completions/"
- rm -rf "$pkgdir/etc/bash_completion.d"
-
- # remove liblphobos files
- rm -rf "$pkgdir/usr/include"
- rm -rf "$pkgdir/usr/lib"
-
- # symlinks
- ln -s /usr/share/bash-completion/completions/ldc2 "$pkgdir/usr/share/bash-completion/completions/ldc"
- ln -s /usr/bin/ldc2 "$pkgdir/usr/bin/ldc"
- ln -s /usr/bin/ldmd2 "$pkgdir/usr/bin/ldmd"
-
- # licenses
- install -D -m644 "$srcdir/ldc/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
-}
-
-package_liblphobos() {
- provides=('d-runtime' 'd-stdlib')
- depends=('curl')
- options=('staticlibs')
-
- cd "$srcdir/ldc/build"
- make install DESTDIR="$pkgdir"
-
- # remove ldc files
- rm -rf "$pkgdir/usr/bin/"
- rm -rf "$pkgdir/etc/"
-
- # licenses
- install -D -m644 "$srcdir/ldc/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
-}
Copied: ldc/repos/community-x86_64/PKGBUILD (from rev 622090, ldc/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2020-04-28 20:37:48 UTC (rev 622091)
@@ -0,0 +1,108 @@
+# Maintainer: Dan Printzell <arch at vild.io>
+# Contributor: Mihails Strasuns <public at dicebot.lv>
+# Contributor: Sven-Hendrik Haase <sh at lutzhaase.com>
+
+pkgname=('ldc' 'liblphobos')
+groups=('dlang' 'dlang-ldc')
+pkgver=1.21.0
+_pkgcommit=7022448f25113cfa5cc04124b6bcbb24547c7590
+_dversion=2.091.1
+_clangversion=10.0.0 # related to where ldc2 looks for compiler-rt sanitizers
+epoch=2
+pkgrel=1
+pkgdesc="A D Compiler based on the LLVM Compiler Infrastructure including D runtime and libphobos2"
+arch=('x86_64')
+url="https://github.com/ldc-developers/ldc"
+license=('BSD')
+makedepends=('git' 'cmake' 'llvm' 'ldc')
+
+source=(
+ "git+https://github.com/ldc-developers/ldc#commit=$_pkgcommit"
+ "ldc-druntime::git+https://github.com/ldc-developers/druntime.git"
+ "ldc-phobos::git+https://github.com/ldc-developers/phobos.git"
+ "ldc-testsuite::git+https://github.com/ldc-developers/dmd-testsuite.git"
+)
+
+sha256sums=('SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP')
+
+prepare() {
+ cd "$srcdir/ldc"
+
+ git submodule init
+ git config submodule.druntime.url "$srcdir/ldc-druntime"
+ git config submodule.phobos.url "$srcdir/ldc-phobos"
+ git config submodule.tests/d2/dmd-testsuite.url "$srcdir/ldc-testsuite"
+ git submodule update
+
+ # Set version used for path construction in getFullClangCompilerRTLibPath()
+ sed -i "s/ldc::llvm_version_base/\"$_clangversion\"/" driver/linker-gcc.cpp
+}
+
+build() {
+ cd "$srcdir/ldc"
+
+ mkdir -p build && cd build
+
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DINCLUDE_INSTALL_DIR=/usr/include/dlang/ldc \
+ -DBUILD_SHARED_LIBS=BOTH \
+ -DBUILD_LTO_LIBS=ON \
+ -DLDC_WITH_LLD=OFF \
+ -DD_COMPILER_FLAGS="-link-defaultlib-shared=false -linker=gold -flto=full" \
+ -DADDITIONAL_DEFAULT_LDC_SWITCHES="\"-link-defaultlib-shared\"" \
+ ..
+ make
+}
+
+check() {
+ cd "$srcdir/ldc/build"
+ make all-test-runners
+}
+
+package_ldc() {
+ depends=('liblphobos' 'llvm-libs' 'gcc' 'compiler-rt')
+ backup=('etc/ldc2.conf')
+ provides=("d-compiler=$_dversion")
+
+ cd "$srcdir/ldc/build"
+ make install DESTDIR="$pkgdir"
+
+ # move bash-completion
+ mkdir -p "$pkgdir/usr/share/bash-completion/completions/"
+ mv "$pkgdir/etc/bash_completion.d/ldc2" "$pkgdir/usr/share/bash-completion/completions/"
+ rm -rf "$pkgdir/etc/bash_completion.d"
+
+ # remove liblphobos files
+ rm -rf "$pkgdir/usr/include"
+ rm -rf "$pkgdir/usr/lib"
+
+ # symlinks
+ ln -s /usr/share/bash-completion/completions/ldc2 "$pkgdir/usr/share/bash-completion/completions/ldc"
+ ln -s /usr/bin/ldc2 "$pkgdir/usr/bin/ldc"
+ ln -s /usr/bin/ldmd2 "$pkgdir/usr/bin/ldmd"
+
+ # licenses
+ install -D -m644 "$srcdir/ldc/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+package_liblphobos() {
+ provides=('d-runtime' 'd-stdlib')
+ depends=('curl')
+ options=('staticlibs')
+
+ cd "$srcdir/ldc/build"
+ make install DESTDIR="$pkgdir"
+
+ # remove ldc files
+ rm -rf "$pkgdir/usr/bin/"
+ rm -rf "$pkgdir/etc/"
+
+ # licenses
+ install -D -m644 "$srcdir/ldc/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
Deleted: fix-llvm_prefetch-for-LLVM-10.patch
===================================================================
--- fix-llvm_prefetch-for-LLVM-10.patch 2020-04-28 20:37:40 UTC (rev 622090)
+++ fix-llvm_prefetch-for-LLVM-10.patch 2020-04-28 20:37:48 UTC (rev 622091)
@@ -1,55 +0,0 @@
-diff --git a/src/core/simd.d b/src/core/simd.d
-index c27dc4c1..7641c8a9 100644
---- a/src/core/simd.d
-+++ b/src/core/simd.d
-@@ -84,6 +84,20 @@ version (LDC)
- enum dataCache = 1;
- llvm_prefetch(address, writeFetch, locality, dataCache);
- }
-+
-+ unittest
-+ {
-+ float[4] data = [ 0.5, 1, 1.5, 2 ];
-+ auto ptr = &data[0];
-+
-+ prefetch!(false, 0)(ptr);
-+ auto v = loadUnaligned!float4(ptr);
-+ v *= 2;
-+ storeUnaligned!float4(v, ptr);
-+
-+ float[4] expected = [ 1, 2, 3, 4 ];
-+ assert(data == expected);
-+ }
- }
- else version (D_SIMD)
- {
-diff --git a/src/ldc/intrinsics.di b/src/ldc/intrinsics.di
-index 914cd5e1..091b2aac 100644
---- a/src/ldc/intrinsics.di
-+++ b/src/ldc/intrinsics.di
-@@ -129,6 +129,14 @@ pragma(LDC_intrinsic, "llvm.stacksave")
- pragma(LDC_intrinsic, "llvm.stackrestore")
- void llvm_stackrestore(void* ptr);
-
-+version(INTRINSICS_FROM_1000)
-+{
-+ private enum llvm_prefetch_fullname = "llvm.prefetch.p0i8";
-+}
-+else
-+{
-+ private enum llvm_prefetch_fullname = "llvm.prefetch";
-+}
- /// The 'llvm.prefetch' intrinsic is a hint to the code generator to insert a
- /// prefetch instruction if supported; otherwise, it is a noop. Prefetches have
- /// no effect on the behavior of the program but can change its performance
-@@ -139,8 +147,8 @@ pragma(LDC_intrinsic, "llvm.stackrestore")
- /// keep in cache. The cache type specifies whether the prefetch is performed on
- /// the data (1) or instruction (0) cache. The rw, locality and cache type
- /// arguments must be constant integers.
--pragma(LDC_intrinsic, "llvm.prefetch")
-- void llvm_prefetch(void* ptr, uint rw, uint locality, uint cachetype) pure @safe;
-+pragma(LDC_intrinsic, llvm_prefetch_fullname)
-+ void llvm_prefetch(const(void)* ptr, uint rw, uint locality, uint cachetype) pure @safe;
-
- /// The 'llvm.pcmarker' intrinsic is a method to export a Program Counter (PC)
- /// in a region of code to simulators and other tools. The method is target
Copied: ldc/repos/community-x86_64/fix-llvm_prefetch-for-LLVM-10.patch (from rev 622090, ldc/trunk/fix-llvm_prefetch-for-LLVM-10.patch)
===================================================================
--- fix-llvm_prefetch-for-LLVM-10.patch (rev 0)
+++ fix-llvm_prefetch-for-LLVM-10.patch 2020-04-28 20:37:48 UTC (rev 622091)
@@ -0,0 +1,55 @@
+diff --git a/src/core/simd.d b/src/core/simd.d
+index c27dc4c1..7641c8a9 100644
+--- a/src/core/simd.d
++++ b/src/core/simd.d
+@@ -84,6 +84,20 @@ version (LDC)
+ enum dataCache = 1;
+ llvm_prefetch(address, writeFetch, locality, dataCache);
+ }
++
++ unittest
++ {
++ float[4] data = [ 0.5, 1, 1.5, 2 ];
++ auto ptr = &data[0];
++
++ prefetch!(false, 0)(ptr);
++ auto v = loadUnaligned!float4(ptr);
++ v *= 2;
++ storeUnaligned!float4(v, ptr);
++
++ float[4] expected = [ 1, 2, 3, 4 ];
++ assert(data == expected);
++ }
+ }
+ else version (D_SIMD)
+ {
+diff --git a/src/ldc/intrinsics.di b/src/ldc/intrinsics.di
+index 914cd5e1..091b2aac 100644
+--- a/src/ldc/intrinsics.di
++++ b/src/ldc/intrinsics.di
+@@ -129,6 +129,14 @@ pragma(LDC_intrinsic, "llvm.stacksave")
+ pragma(LDC_intrinsic, "llvm.stackrestore")
+ void llvm_stackrestore(void* ptr);
+
++version(INTRINSICS_FROM_1000)
++{
++ private enum llvm_prefetch_fullname = "llvm.prefetch.p0i8";
++}
++else
++{
++ private enum llvm_prefetch_fullname = "llvm.prefetch";
++}
+ /// The 'llvm.prefetch' intrinsic is a hint to the code generator to insert a
+ /// prefetch instruction if supported; otherwise, it is a noop. Prefetches have
+ /// no effect on the behavior of the program but can change its performance
+@@ -139,8 +147,8 @@ pragma(LDC_intrinsic, "llvm.stackrestore")
+ /// keep in cache. The cache type specifies whether the prefetch is performed on
+ /// the data (1) or instruction (0) cache. The rw, locality and cache type
+ /// arguments must be constant integers.
+-pragma(LDC_intrinsic, "llvm.prefetch")
+- void llvm_prefetch(void* ptr, uint rw, uint locality, uint cachetype) pure @safe;
++pragma(LDC_intrinsic, llvm_prefetch_fullname)
++ void llvm_prefetch(const(void)* ptr, uint rw, uint locality, uint cachetype) pure @safe;
+
+ /// The 'llvm.pcmarker' intrinsic is a method to export a Program Counter (PC)
+ /// in a region of code to simulators and other tools. The method is target
More information about the arch-commits
mailing list