#18 1.6 release
Merged 3 years ago by sergesanspaille. Opened 3 years ago by sergesanspaille.
rpms/ sergesanspaille/pocl master  into  master

1.6 release
Serge Guelton • 3 years ago  
@@ -1,25 +0,0 @@ 

- From 76179ea2fae3efa996bd850e09b5f3ba73ff5144 Mon Sep 17 00:00:00 2001

- From: Tom Stellard <tstellar@redhat.com>

- 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 <clang/Frontend/TextDiagnosticPrinter.h>

-  #include "clang/Lex/PreprocessorOptions.h"

-  

- +#include <llvm/Support/Host.h>

- +

-  #ifdef LLVM_OLDER_THAN_10_0

-  #include "llvm/ADT/ArrayRef.h"

-  #endif

- -- 

- 2.26.2

- 

file modified
+4 -17
@@ -1,17 +1,7 @@ 

- From 0a25388105d2b8a01191939f04e355543b0aed51 Mon Sep 17 00:00:00 2001

- From: Tom Stellard <tstellar@redhat.com>

- 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 @@ 

           return cmd;

         }

     }

- -- 

- 1.8.3.1

- 

@@ -1,167 +0,0 @@ 

- From dae742fae9978c524ec849a90d0b40a9682fb172 Mon Sep 17 00:00:00 2001

- From: KOLANICH <kolan_n@mail.ru>

- 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<PointerType>(type);

-      FunctionType *ft = dyn_cast<FunctionType>(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 <llvm/IR/Function.h>

- -#include <llvm/PassAnalysisSupport.h>

-  #include <llvm/Pass.h>

-  

-  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 <llvm/Analysis/ConstantFolding.h>

-  #include <llvm/IR/BasicBlock.h>

- +#ifdef LLVM_OLDER_THAN_11_0

-  #include <llvm/IR/CallSite.h>

- +#endif

-  #include <llvm/IR/Constants.h>

-  #include <llvm/IR/DerivedTypes.h>

-  #include <llvm/IR/IRBuilder.h>

- @@ -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<CallBase>(CallInstr);

- +        NewCI->setTailCall(CB->isTailCall());

- +#endif

-  

-          replaceCIMap.insert(

-              std::pair<CallInst *, CallInst *>(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<CallInst>(llvm::unwrap(Call)), IFI);

- +#ifndef LLVM_OLDER_THAN_11_0

- +      InlineFunction(*dyn_cast<CallInst>(llvm::unwrap(Call)), IFI);

- +#else

- +      InlineFunction(dyn_cast<CallInst>(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

- 

file removed
-205
@@ -1,205 +0,0 @@ 

- From 3fa73c66ca2582dc45024e5c3a4bd5a170570ee5 Mon Sep 17 00:00:00 2001

- From: KOLANICH <kolan_n@mail.ru>

- 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

- 

file modified
+6 -5
@@ -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 @@ 

  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 @@ 

  %{_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

  

file modified
+1 -1
@@ -1,1 +1,1 @@ 

- SHA512 (pocl-1.5.tar.gz) = a9c2879b6f0c0d9a78035ba8ed7531b8fa795074864ee5bab265d7dafedac9637025f994719f00f8d9e25bf5068bd9b074d95b964e5d2c0eddb8d8837e6e5da3

+ SHA512 (pocl-1.6.tar.gz) = ecd3a3867a62a2a555183741fa4586eeefae00514d66d15a79b9094ff0a0248b213f62ab23b3e61bdb1042e760cd34b07e546f97b304ac86c3f861a9161df1b1