From 2912b8918224be1b705aa25858c002863f82615a Mon Sep 17 00:00:00 2001 From: Serge Guelton Date: Dec 18 2020 07:01:20 +0000 Subject: 1.6 release --- diff --git a/0001-Add-missing-include.patch b/0001-Add-missing-include.patch deleted file mode 100644 index a3fd7c4..0000000 --- a/0001-Add-missing-include.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 76179ea2fae3efa996bd850e09b5f3ba73ff5144 Mon Sep 17 00:00:00 2001 -From: Tom Stellard -Date: Tue, 11 Aug 2020 14:23:42 +0000 -Subject: [PATCH] Add missing include - ---- - lib/CL/pocl_llvm_build.cc | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/lib/CL/pocl_llvm_build.cc b/lib/CL/pocl_llvm_build.cc -index 5db8d7cb..197171f4 100644 ---- a/lib/CL/pocl_llvm_build.cc -+++ b/lib/CL/pocl_llvm_build.cc -@@ -40,6 +40,8 @@ IGNORE_COMPILER_WARNING("-Wstrict-aliasing") - #include - #include "clang/Lex/PreprocessorOptions.h" - -+#include -+ - #ifdef LLVM_OLDER_THAN_10_0 - #include "llvm/ADT/ArrayRef.h" - #endif --- -2.26.2 - diff --git a/0001-Fix-build-failure.patch b/0001-Fix-build-failure.patch index 0821c64..89c9951 100644 --- a/0001-Fix-build-failure.patch +++ b/0001-Fix-build-failure.patch @@ -1,17 +1,7 @@ -From 0a25388105d2b8a01191939f04e355543b0aed51 Mon Sep 17 00:00:00 2001 -From: Tom Stellard -Date: Thu, 19 Sep 2019 17:45:32 -0700 -Subject: [PATCH] Fix build failure - ---- - lib/CL/devices/pthread/pthread_scheduler.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/CL/devices/pthread/pthread_scheduler.c b/lib/CL/devices/pthread/pthread_scheduler.c -index 0515f7b..4b09a43 100644 ---- a/lib/CL/devices/pthread/pthread_scheduler.c -+++ b/lib/CL/devices/pthread/pthread_scheduler.c -@@ -405,7 +405,7 @@ check_cmd_queue_for_device (thread_data *td) +diff -Naur pocl-1.6.orig/lib/CL/devices/pthread/pthread_scheduler.c pocl-1.6/lib/CL/devices/pthread/pthread_scheduler.c +--- pocl-1.6.orig/lib/CL/devices/pthread/pthread_scheduler.c 2020-12-18 07:47:41.000000000 +0100 ++++ pocl-1.6/lib/CL/devices/pthread/pthread_scheduler.c 2020-12-18 07:48:03.000000000 +0100 +@@ -409,7 +409,7 @@ cl_device_id subd = cmd->device; if (shall_we_run_this (td, subd)) { @@ -20,6 +10,3 @@ index 0515f7b..4b09a43 100644 return cmd; } } --- -1.8.3.1 - diff --git a/0001-Fixing-llvm11-support-due-to-recent-changes.patch b/0001-Fixing-llvm11-support-due-to-recent-changes.patch deleted file mode 100644 index 0a56dd6..0000000 --- a/0001-Fixing-llvm11-support-due-to-recent-changes.patch +++ /dev/null @@ -1,167 +0,0 @@ -From dae742fae9978c524ec849a90d0b40a9682fb172 Mon Sep 17 00:00:00 2001 -From: KOLANICH -Date: Mon, 22 Jun 2020 15:53:45 +0300 -Subject: [PATCH] Fixing llvm11 support due to recent changes: - https://github.com/llvm/llvm-project/commit/4f04db4b5439f390c48408f9b94875810e88ffc6 - https://github.com/llvm/llvm-project/commit/a58b62b4a2b96c31b49338b262b609db746449e8 - https://github.com/llvm/llvm-project/commit/4aae4e3f48b9156755c4cfc7ad63fe2a7029d9d7 - . - ---- - lib/llvmopencl/HandleSamplerInitialization.cc | 4 +++ - lib/llvmopencl/HandleSamplerInitialization.h | 1 - - lib/llvmopencl/Workgroup.cc | 35 +++++++++++++++++-- - lib/llvmopencl/WorkitemLoops.cc | 4 +++ - 4 files changed, 41 insertions(+), 3 deletions(-) - -diff --git a/lib/llvmopencl/HandleSamplerInitialization.cc b/lib/llvmopencl/HandleSamplerInitialization.cc -index 4cbc5617..5d65c48f 100644 ---- a/lib/llvmopencl/HandleSamplerInitialization.cc -+++ b/lib/llvmopencl/HandleSamplerInitialization.cc -@@ -79,7 +79,11 @@ HandleSamplerInitialization::runOnFunction(Function &F) { - - // get the type of the return value of __translate_sampler - // this may not always be opencl.sampler_t, it could be a remapped type. -+#ifdef LLVM_OLDER_THAN_11_0 - Type *type = C->getCalledValue()->getType(); -+#else -+ Type *type = C->getCalledOperand()->getType(); -+#endif - PointerType *pt = dyn_cast(type); - FunctionType *ft = dyn_cast(pt->getPointerElementType()); - Type *rettype = ft->getReturnType(); -diff --git a/lib/llvmopencl/HandleSamplerInitialization.h b/lib/llvmopencl/HandleSamplerInitialization.h -index e8274e50..dc7539e2 100644 ---- a/lib/llvmopencl/HandleSamplerInitialization.h -+++ b/lib/llvmopencl/HandleSamplerInitialization.h -@@ -27,7 +27,6 @@ - IGNORE_COMPILER_WARNING("-Wunused-parameter") - - #include --#include - #include - - POP_COMPILER_DIAGS -diff --git a/lib/llvmopencl/Workgroup.cc b/lib/llvmopencl/Workgroup.cc -index 357049a1..0ae2f34c 100644 ---- a/lib/llvmopencl/Workgroup.cc -+++ b/lib/llvmopencl/Workgroup.cc -@@ -35,7 +35,9 @@ IGNORE_COMPILER_WARNING("-Wunused-parameter") - - #include - #include -+#ifdef LLVM_OLDER_THAN_11_0 - #include -+#endif - #include - #include - #include -@@ -517,10 +519,15 @@ static void replacePrintfCalls(Value *pb, Value *pbp, Value *pbc, bool isKernel, - for (unsigned i = 0; i < j; ++i) - ops.push_back(CallInstr->getOperand(i)); - -- CallSite CS(CallInstr); - CallInst *NewCI = CallInst::Create(poclPrintf, ops); - NewCI->setCallingConv(poclPrintf->getCallingConv()); -+#ifdef LLVM_OLDER_THAN_11_0 -+ CallSite CS(CallInstr); - NewCI->setTailCall(CS.isTailCall()); -+#else -+ auto *CB = dyn_cast(CallInstr); -+ NewCI->setTailCall(CB->isTailCall()); -+#endif - - replaceCIMap.insert( - std::pair(CallInstr, NewCI)); -@@ -719,7 +726,11 @@ Workgroup::createWrapper(Function *F, FunctionMapping &printfCache) { - - // needed for printf - InlineFunctionInfo IFI; -+#ifdef LLVM_OLDER_THAN_11_0 - InlineFunction(c, IFI); -+#else -+ InlineFunction(*c, IFI); -+#endif - - if (currentPoclDevice->device_side_printf) { - Function *poclPrintf = M->getFunction("__pocl_printf"); -@@ -989,7 +1000,11 @@ Workgroup::createDefaultWorkgroupLauncher(llvm::Function *F) { - new llvm::AllocaInst(ArgElementType, ParamType->getAddressSpace(), - ConstantInt::get(IntegerType::get(*C, 32), 1), - #ifndef LLVM_OLDER_THAN_10_0 -+#ifndef LLVM_OLDER_THAN_11_0 -+ llvm::Align( -+#else - llvm::MaybeAlign( -+#endif - #endif - MAX_EXTENDED_ALIGNMENT - #ifndef LLVM_OLDER_THAN_10_0 -@@ -1012,7 +1027,11 @@ Workgroup::createDefaultWorkgroupLauncher(llvm::Function *F) { - Arg = new llvm::AllocaInst(ArgElementType, ParamType->getAddressSpace(), - ElementCount, - #ifndef LLVM_OLDER_THAN_10_0 -+#ifndef LLVM_OLDER_THAN_11_0 -+ llvm::Align( -+#else - llvm::MaybeAlign( -+#endif - #endif - MAX_EXTENDED_ALIGNMENT - #ifndef LLVM_OLDER_THAN_10_0 -@@ -1213,7 +1232,11 @@ Workgroup::createArgBufferWorkgroupLauncher(Function *Func, - unwrap(ArgElementType), LLVMGetPointerAddressSpace(ParamType), - unwrap(LLVMConstInt(Int32Type, 1, 0)), - #ifndef LLVM_OLDER_THAN_10_0 -+#ifndef LLVM_OLDER_THAN_11_0 -+ llvm::Align( -+#else - llvm::MaybeAlign( -+#endif - #endif - MAX_EXTENDED_ALIGNMENT - #ifndef LLVM_OLDER_THAN_10_0 -@@ -1248,7 +1271,11 @@ Workgroup::createArgBufferWorkgroupLauncher(Function *Func, - unwrap(LLVMGetElementType(ParamType)), - LLVMGetPointerAddressSpace(ParamType), unwrap(ElementCount), - #ifndef LLVM_OLDER_THAN_10_0 -+#ifndef LLVM_OLDER_THAN_11_0 -+ llvm::Align( -+#else - llvm::MaybeAlign( -+#endif - #endif - MAX_EXTENDED_ALIGNMENT - #ifndef LLVM_OLDER_THAN_10_0 -@@ -1362,7 +1389,11 @@ Workgroup::createGridLauncher(Function *KernFunc, Function *WGFunc, - LLVMBuildRetVoid(Builder); - - InlineFunctionInfo IFI; -- InlineFunction(dyn_cast(llvm::unwrap(Call)), IFI); -+#ifndef LLVM_OLDER_THAN_11_0 -+ InlineFunction(*dyn_cast(llvm::unwrap(Call)), IFI); -+#else -+ InlineFunction(dyn_cast(llvm::unwrap(Call)), IFI); -+#endif - } - - /** -diff --git a/lib/llvmopencl/WorkitemLoops.cc b/lib/llvmopencl/WorkitemLoops.cc -index 69daa3fa..64294111 100644 ---- a/lib/llvmopencl/WorkitemLoops.cc -+++ b/lib/llvmopencl/WorkitemLoops.cc -@@ -990,7 +990,11 @@ WorkitemLoops::GetContextArray(llvm::Instruction *instruction, - size. */ - Alloca->setAlignment( - #ifndef LLVM_OLDER_THAN_10_0 -+#ifndef LLVM_OLDER_THAN_11_0 -+ llvm::Align( -+#else - llvm::MaybeAlign( -+#endif - #endif - CONTEXT_ARRAY_ALIGN - #ifndef LLVM_OLDER_THAN_10_0 --- -2.26.2 - diff --git a/0001-LLVM11-support.patch b/0001-LLVM11-support.patch deleted file mode 100644 index 2ccdb04..0000000 --- a/0001-LLVM11-support.patch +++ /dev/null @@ -1,205 +0,0 @@ -From 3fa73c66ca2582dc45024e5c3a4bd5a170570ee5 Mon Sep 17 00:00:00 2001 -From: KOLANICH -Date: Mon, 3 Feb 2020 11:55:10 +0300 -Subject: [PATCH] LLVM11 support - ---- - cmake/LLVM.cmake | 6 +++++- - config.h.in.cmake | 4 ++++ - include/CMakeLists.txt | 2 +- - include/_kernel.h | 24 ++++++------------------ - include/_libclang_versions_checks.h | 24 ++++++++++++++++++++++++ - include/pocl.h | 22 ++-------------------- - lib/CL/pocl_llvm_wg.cc | 4 ++-- - lib/kernel/CMakeLists.txt | 1 + - 8 files changed, 45 insertions(+), 42 deletions(-) - create mode 100644 include/_libclang_versions_checks.h - -diff --git a/cmake/LLVM.cmake b/cmake/LLVM.cmake -index 33c45750..b41e75a9 100644 ---- a/cmake/LLVM.cmake -+++ b/cmake/LLVM.cmake -@@ -37,6 +37,7 @@ else() - # search for any version - find_program(LLVM_CONFIG - NAMES -+ "llvm-config-mp-11.0" "llvm-config-11" "llvm-config110" - "llvm-config-mp-10.0" "llvm-config-10" "llvm-config100" - "llvm-config-mp-9.0" "llvm-config-9" "llvm-config90" - "llvm-config-mp-8.0" "llvm-config-8" "llvm-config80" -@@ -180,8 +181,11 @@ elseif(LLVM_VERSION MATCHES "^9[.]") - elseif(LLVM_VERSION MATCHES "^10[.]") - set(LLVM_MAJOR 10) - set(LLVM_10_0 1) -+elseif(LLVM_VERSION MATCHES "^11[.]") -+ set(LLVM_MAJOR 11) -+ set(LLVM_11_0 1) - else() -- message(FATAL_ERROR "LLVM version between 6.0 and 10.0 required, found: ${LLVM_VERSION}") -+ message(FATAL_ERROR "LLVM version between 6.0 and 11.0 required, found: ${LLVM_VERSION}") - endif() - - ############################################################# -diff --git a/config.h.in.cmake b/config.h.in.cmake -index 42c63f77..7c6c0eb4 100644 ---- a/config.h.in.cmake -+++ b/config.h.in.cmake -@@ -152,6 +152,10 @@ - - #cmakedefine LLVM_10_0 - -+#cmakedefine LLVM_11_0 -+ -+#cmakedefine LLVM_MAJOR @LLVM_VERSION_MAJOR@ -+ - #cmakedefine LLVM_BUILD_MODE_DEBUG - - #ifndef LLVM_VERSION -diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt -index 321df9d5..31883269 100644 ---- a/include/CMakeLists.txt -+++ b/include/CMakeLists.txt -@@ -27,7 +27,7 @@ add_subdirectory("CL") - - set(PRIVATE_HEADERS _enable_all_exts.h _builtin_renames.h - _kernel.h _clang_opencl.h -- _kernel_c.h _kernel_constants.h -+ _kernel_c.h _kernel_constants.h _libclang_versions_checks.h - pocl_types.h pocl_device.h pocl.h pocl_spir.h - pocl_image_types.h) - -diff --git a/include/_kernel.h b/include/_kernel.h -index 427794e3..90154648 100644 ---- a/include/_kernel.h -+++ b/include/_kernel.h -@@ -143,32 +143,20 @@ - # undef LLVM_10_0 - # define LLVM_10_0 - -+#elif (__clang_major__ == 11) -+ -+# undef LLVM_11_0 -+# define LLVM_11_0 - #else - - #error Unsupported Clang/LLVM version. - - #endif - --#ifndef LLVM_10_0 --#define LLVM_OLDER_THAN_10_0 1 -- --#ifndef LLVM_9_0 --#define LLVM_OLDER_THAN_9_0 1 -- --#ifndef LLVM_8_0 --#define LLVM_OLDER_THAN_8_0 1 -+#define CLANG_MAJOR __clang_major__ -+#include "_libclang_versions_checks.h" - --#ifndef LLVM_7_0 --#define LLVM_OLDER_THAN_7_0 1 - --#ifndef LLVM_6_0 --#define LLVM_OLDER_THAN_6_0 1 -- --#endif --#endif --#endif --#endif --#endif - - /****************************************************************************/ - -diff --git a/include/_libclang_versions_checks.h b/include/_libclang_versions_checks.h -new file mode 100644 -index 00000000..1ba0ce4d ---- /dev/null -+++ b/include/_libclang_versions_checks.h -@@ -0,0 +1,24 @@ -+ -+#if CLANG_MAJOR < 11 -+#define LLVM_OLDER_THAN_11_0 1 -+#endif -+ -+#if CLANG_MAJOR < 10 -+#define LLVM_OLDER_THAN_10_0 1 -+#endif -+ -+#if CLANG_MAJOR < 9 -+#define LLVM_OLDER_THAN_9_0 1 -+#endif -+ -+#if CLANG_MAJOR < 8 -+#define LLVM_OLDER_THAN_8_0 1 -+#endif -+ -+#if CLANG_MAJOR < 7 -+#define LLVM_OLDER_THAN_7_0 1 -+#endif -+ -+#if CLANG_MAJOR < 6 -+#define LLVM_OLDER_THAN_6_0 1 -+#endif -diff --git a/include/pocl.h b/include/pocl.h -index 1fad38cc..4c175c07 100644 ---- a/include/pocl.h -+++ b/include/pocl.h -@@ -369,25 +369,7 @@ struct _cl_command_node - cl_int ready; - }; - --#ifndef LLVM_10_0 --#define LLVM_OLDER_THAN_10_0 1 -- --#ifndef LLVM_9_0 --#define LLVM_OLDER_THAN_9_0 1 -- --#ifndef LLVM_8_0 --#define LLVM_OLDER_THAN_8_0 1 -- --#ifndef LLVM_7_0 --#define LLVM_OLDER_THAN_7_0 1 -- --#ifndef LLVM_6_0 --#define LLVM_OLDER_THAN_6_0 1 -- --#endif --#endif --#endif --#endif --#endif -+#define CLANG_MAJOR LLVM_MAJOR -+#include "_libclang_versions_checks.h" - - #endif /* POCL_H */ -diff --git a/lib/CL/pocl_llvm_wg.cc b/lib/CL/pocl_llvm_wg.cc -index b8e4ac5f..561a80ad 100644 ---- a/lib/CL/pocl_llvm_wg.cc -+++ b/lib/CL/pocl_llvm_wg.cc -@@ -625,8 +625,8 @@ int pocl_llvm_codegen(cl_device_id Device, void *Modp, char **Output, - #ifdef DUMP_LLVM_PASS_TIMINGS - llvm::reportAndResetTimings(); - #endif -- std::string O = SOS.str(); // flush -- const char *Cstr = O.c_str(); -+ auto O = SOS.str(); // flush -+ const char *Cstr = O.data(); - size_t S = O.size(); - *Output = (char *)malloc(S); - *OutputSize = S; -diff --git a/lib/kernel/CMakeLists.txt b/lib/kernel/CMakeLists.txt -index e2cfd71e..1f0c9cff 100644 ---- a/lib/kernel/CMakeLists.txt -+++ b/lib/kernel/CMakeLists.txt -@@ -229,6 +229,7 @@ add_custom_command( OUTPUT "${CMAKE_BINARY_DIR}/kernellib_hash.h" - DEPENDS ${KERNEL_BC_LIST} - "${CMAKE_SOURCE_DIR}/include/_kernel.h" - "${CMAKE_SOURCE_DIR}/include/_kernel_c.h" -+ "${CMAKE_SOURCE_DIR}/include/_libclang_versions_checks.h" - "${CMAKE_SOURCE_DIR}/include/pocl_types.h" - COMMENT "Generating SHA1 of all kernel libs..." - VERBATIM) --- -2.26.2 - diff --git a/pocl.spec b/pocl.spec index a0b7049..f81b869 100644 --- a/pocl.spec +++ b/pocl.spec @@ -2,9 +2,9 @@ %global with_tests 1 Name: pocl -%global ver 1.5 +%global ver 1.6 Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(string.lower(ver))} -Release: 11%{?dist} +Release: 1%{?dist} Summary: Portable Computing Language - an OpenCL implementation # The whole code is under MIT # except include/utlist.h which is under BSD (and unbundled) and @@ -12,10 +12,8 @@ Summary: Portable Computing Language - an OpenCL implementation License: MIT and BSD and (GPLv3+ or LGPLv3+) URL: http://portablecl.org/ Source0: https://github.com/pocl/pocl/archive/v%{version}/%{name}-%{version}.tar.gz + Patch0: 0001-Fix-build-failure.patch -Patch1: 0001-LLVM11-support.patch -Patch2: 0001-Fixing-llvm11-support-due-to-recent-changes.patch -Patch3: 0001-Add-missing-include.patch BuildRequires: cmake BuildRequires: clang clang-devel @@ -123,6 +121,9 @@ find . -depth -name utlist* -print -delete %{_libdir}/pkgconfig/%{name}.pc %changelog +* Fri Dec 18 2020 sguelton@redhat.com - 1.6-1 +- 1.6 release + * Wed Dec 02 2020 sguelton@redhat.com - 1.5-11 - Rebuilt for LLVM 11.0.1-rc1 diff --git a/sources b/sources index 041f91a..a337050 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pocl-1.5.tar.gz) = a9c2879b6f0c0d9a78035ba8ed7531b8fa795074864ee5bab265d7dafedac9637025f994719f00f8d9e25bf5068bd9b074d95b964e5d2c0eddb8d8837e6e5da3 +SHA512 (pocl-1.6.tar.gz) = ecd3a3867a62a2a555183741fa4586eeefae00514d66d15a79b9094ff0a0248b213f62ab23b3e61bdb1042e760cd34b07e546f97b304ac86c3f861a9161df1b1