[arch-commits] Commit in ispc/repos (4 files)

Evangelos Foutras foutrelis at archlinux.org
Sun May 30 06:21:33 UTC 2021


    Date: Sunday, May 30, 2021 @ 06:21:33
  Author: foutrelis
Revision: 950347

archrelease: copy trunk to community-staging-x86_64

Added:
  ispc/repos/community-staging-x86_64/
  ispc/repos/community-staging-x86_64/PKGBUILD
    (from rev 950346, ispc/trunk/PKGBUILD)
  ispc/repos/community-staging-x86_64/ispc-libclang-cpp.patch
    (from rev 950346, ispc/trunk/ispc-libclang-cpp.patch)
  ispc/repos/community-staging-x86_64/llvm12.patch
    (from rev 950346, ispc/trunk/llvm12.patch)

-------------------------+
 PKGBUILD                |   45 +++++++++++++++++++++++++++++++++++++++
 ispc-libclang-cpp.patch |   11 +++++++++
 llvm12.patch            |   52 ++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 108 insertions(+)

Copied: ispc/repos/community-staging-x86_64/PKGBUILD (from rev 950346, ispc/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2021-05-30 06:21:33 UTC (rev 950347)
@@ -0,0 +1,45 @@
+# Maintainer: Lukas Jirkovsky <l.jirkovsky at gmail.com>
+# Maintainer: Bruno Pagani <archange at archlinux.org>
+
+pkgname=ispc
+pkgver=1.15.0
+pkgrel=3
+pkgdesc="Compiler for high-performance SIMD programming on the CPU"
+arch=(x86_64)
+url="https://ispc.github.io/"
+license=(BSD)
+depends=(ncurses zlib llvm-libs clang)
+makedepends=(llvm python lib32-glibc cmake) # level-zero-headers level-zero-loader openmp spirv-llvm-translator vc-intrinsics)
+source=(https://github.com/ispc/ispc/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz
+        llvm12.patch
+        ispc-libclang-cpp.patch)
+sha256sums=('2658ff00dc045ac9fcefbf6bd26dffaf723b059a942a27df91bbb61bc503a285'
+            '7fc5cee572731a5a31f02c7ecea301c42551c56160d58f164cfd01834e53087a'
+            'f6a162b8b60e0a0d17526c4e70bf9bc681c0e16cfee2b8cde1d7f9a5a99b8e78')
+
+prepare() {
+  cd ${pkgname}-${pkgver}
+  patch -p1 -i ../llvm12.patch # Fix build with LLVM 12
+  patch -p1 -i ../ispc-libclang-cpp.patch # Build with unified libclang-cpp.so
+  # Remove tests that requires DUMPS (https://github.com/ispc/ispc/issues/1752)
+  sed -i '/debug-phase/d' tests/lit-tests/arg_parsing_errors.ispc
+}
+
+build() {
+  cmake -B build -S ${pkgname}-${pkgver} \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DISPC_INCLUDE_EXAMPLES=OFF \
+    -DISPC_NO_DUMPS=ON #\
+#    -DGENX_ENABLED=ON \
+#    -DGENX_DEPS_DIR=/usr
+  make -C build
+}
+
+check() {
+  make -C build check-all
+}
+
+package() {
+  make -C build DESTDIR="${pkgdir}" install
+  install -Dm644 ${pkgname}-${pkgver}/LICENSE.txt -t "${pkgdir}"/usr/share/licenses/${pkgname}
+}

Copied: ispc/repos/community-staging-x86_64/ispc-libclang-cpp.patch (from rev 950346, ispc/trunk/ispc-libclang-cpp.patch)
===================================================================
--- community-staging-x86_64/ispc-libclang-cpp.patch	                        (rev 0)
+++ community-staging-x86_64/ispc-libclang-cpp.patch	2021-05-30 06:21:33 UTC (rev 950347)
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -209,7 +209,7 @@ if (WASM_ENABLED)
+     endif()
+ endif()
+ 
+-set(CLANG_LIBRARY_LIST clangFrontend clangDriver clangSerialization clangParse clangSema clangAnalysis clangAST clangBasic clangEdit clangLex)
++set(CLANG_LIBRARY_LIST clang-cpp)
+ set(LLVM_COMPONENTS engine ipo bitreader bitwriter instrumentation linker option)
+ 
+ if (${LLVM_VERSION_NUMBER} VERSION_GREATER_EQUAL "10.0.0")

Copied: ispc/repos/community-staging-x86_64/llvm12.patch (from rev 950346, ispc/trunk/llvm12.patch)
===================================================================
--- community-staging-x86_64/llvm12.patch	                        (rev 0)
+++ community-staging-x86_64/llvm12.patch	2021-05-30 06:21:33 UTC (rev 950347)
@@ -0,0 +1,52 @@
+Author: Hans-Peter Jansen (frispete)
+
+Found @ https://build.opensuse.org/package/show/devel:tools:compiler/ispc
+
+Index: b/src/ctx.cpp
+===================================================================
+--- a/src/ctx.cpp
++++ b/src/ctx.cpp
+@@ -1473,11 +1473,15 @@ void FunctionEmitContext::AddDebugPos(ll
+     llvm::Instruction *inst = llvm::dyn_cast<llvm::Instruction>(value);
+     if (inst != NULL && m->diBuilder) {
+         SourcePos p = pos ? *pos : currentPos;
+-        if (p.first_line != 0)
++        if (p.first_line != 0) {
+             // If first_line == 0, then we're in the middle of setting up
+             // the standard library or the like; don't add debug positions
+             // for those functions
+-            inst->setDebugLoc(llvm::DebugLoc::get(p.first_line, p.first_column, scope ? scope : GetDIScope()));
++            scope = scope ? scope : GetDIScope();
++            llvm::DebugLoc diLoc =
++                llvm::DILocation::get(scope->getContext(), p.first_line, p.first_column, scope, nullptr, false);
++            inst->setDebugLoc(diLoc);
++        }
+     }
+ }
+ 
+@@ -1518,9 +1522,10 @@ void FunctionEmitContext::EmitVariableDe
+     llvm::DILocalVariable *var = m->diBuilder->createAutoVariable(
+         scope, sym->name, sym->pos.GetDIFile(), sym->pos.first_line, diType, true /* preserve through opts */);
+ 
++    llvm::DebugLoc diLoc =
++        llvm::DILocation::get(scope->getContext(), sym->pos.first_line, sym->pos.first_column, scope, nullptr, false);
+     llvm::Instruction *declareInst =
+-        m->diBuilder->insertDeclare(sym->storagePtr, var, m->diBuilder->createExpression(),
+-                                    llvm::DebugLoc::get(sym->pos.first_line, sym->pos.first_column, scope), bblock);
++        m->diBuilder->insertDeclare(sym->storagePtr, var, m->diBuilder->createExpression(), diLoc, bblock);
+     AddDebugPos(declareInst, &sym->pos, scope);
+ }
+ 
+@@ -1535,9 +1540,10 @@ void FunctionEmitContext::EmitFunctionPa
+         m->diBuilder->createParameterVariable(scope, sym->name, argNum + 1, sym->pos.GetDIFile(), sym->pos.first_line,
+                                               diType, true /* preserve through opts */, flags);
+ 
++    llvm::DebugLoc diLoc =
++        llvm::DILocation::get(scope->getContext(), sym->pos.first_line, sym->pos.first_column, scope, nullptr, false);
+     llvm::Instruction *declareInst =
+-        m->diBuilder->insertDeclare(sym->storagePtr, var, m->diBuilder->createExpression(),
+-                                    llvm::DebugLoc::get(sym->pos.first_line, sym->pos.first_column, scope), bblock);
++        m->diBuilder->insertDeclare(sym->storagePtr, var, m->diBuilder->createExpression(), diLoc, bblock);
+     AddDebugPos(declareInst, &sym->pos, scope);
+ }
+ 



More information about the arch-commits mailing list