From 391f06763f130fcf48a6e2a81eb7c4b023e4e58b Mon Sep 17 00:00:00 2001 From: Jan Palus Date: Thu, 5 Dec 2019 14:40:30 +0100 Subject: [PATCH] up to 9.0.0 --- align-with-modified-llvm-writespirv-api.patch | 71 ------------------- opencl-clang.spec | 18 +++-- 2 files changed, 8 insertions(+), 81 deletions(-) delete mode 100644 align-with-modified-llvm-writespirv-api.patch diff --git a/align-with-modified-llvm-writespirv-api.patch b/align-with-modified-llvm-writespirv-api.patch deleted file mode 100644 index a0d6f98..0000000 --- a/align-with-modified-llvm-writespirv-api.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 94af090661d7c953c516c97a25ed053c744a0737 Mon Sep 17 00:00:00 2001 -From: Alexey Sotkin -Date: Mon, 18 Feb 2019 18:19:13 +0300 -Subject: [PATCH] Align with modified llvm::writeSpirv API - ---- - common_clang.cpp | 29 +++++++++++++++++++++++++---- - 1 file changed, 25 insertions(+), 4 deletions(-) - -diff --git a/common_clang.cpp b/common_clang.cpp -index eff1064..ee1ec9b 100644 ---- a/common_clang.cpp -+++ b/common_clang.cpp -@@ -63,17 +63,18 @@ Copyright (c) Intel Corporation (2009-2017). - #define CL_OUT_OF_HOST_MEMORY -6 - - #include "assert.h" --#include -+#include - #include --#include - #include --#include -+#include -+#include - #ifdef _WIN32 - #include - #endif - - #if defined _DEBUG - #include -+#include - #include - #include - #endif -@@ -164,6 +165,25 @@ static void PrintCompileOptions(const char *pszOptions, const char *pszOptionsEx - #endif - } - -+class SmallVectorBuffer : public std::streambuf -+{ -+ // All memory management is delegated to llvm::SmallVectorImpl -+ llvm::SmallVectorImpl &OS; -+ -+ // Since we don't touch any pointer in streambuf(pbase, pptr, epptr) this is -+ // the only method we need to override. -+ virtual std::streamsize xsputn(const char *s, std::streamsize n) override { -+ OS.append(s, s + n); -+ return n; -+ } -+ -+public: -+ SmallVectorBuffer() = delete; -+ SmallVectorBuffer(const SmallVectorBuffer&) = delete; -+ SmallVectorBuffer &operator=(const SmallVectorBuffer&) = delete; -+ SmallVectorBuffer(llvm::SmallVectorImpl &O) : OS(O) {} -+}; -+ - extern "C" CC_DLL_EXPORT int - Compile(const char *pszProgramSource, const char **pInputHeaders, - unsigned int uiNumInputHeaders, const char **pInputHeadersNames, -@@ -300,7 +320,8 @@ Compile(const char *pszProgramSource, const char **pInputHeaders, - return CL_COMPILE_PROGRAM_FAILURE; - } - pResult->getIRBufferRef().clear(); -- llvm::raw_svector_ostream OS(pResult->getIRBufferRef()); -+ SmallVectorBuffer StreamBuf(pResult->getIRBufferRef()); -+ std::ostream OS(&StreamBuf); - std::string Err; - success = llvm::writeSpirv(M.get(), OS, Err); - err_ostream << Err.c_str(); diff --git a/opencl-clang.spec b/opencl-clang.spec index 6fbee66..284d500 100644 --- a/opencl-clang.spec +++ b/opencl-clang.spec @@ -1,18 +1,17 @@ # requires the OpenCL patches -%define llvm_version 8.0.1 +%define llvm_version 9.0.0 -%define spirv_llvm_translator_version 8.0.1 +%define spirv_llvm_translator_version 9.0.0 Summary: Intel Graphics Compute Runtime for OpenCL Name: opencl-clang -Version: 8.0.1 -Release: 2 +Version: 9.0.0 +Release: 1 License: University of Illinois/NCSA Open Source License Group: Libraries Source0: https://github.com/intel/opencl-clang/archive/v%{version}/%{name}-%{version}.tar.gz -# Source0-md5: cb6b746c837a6cac6c8906911b2ea9de -Patch0: align-with-modified-llvm-writespirv-api.patch +# Source0-md5: ca856bc6ec05fcf3a7d8374d97904b28 URL: https://01.org/compute-runtime BuildRequires: SPIRV-LLVM-Translator-devel >= %{spirv_llvm_translator_version} BuildRequires: clang >= %{llvm_rpm_version} @@ -42,7 +41,6 @@ Pliki nagłówkowe biblioteki %{name}. %prep %setup -q -%patch0 -p1 %build install -d build @@ -64,8 +62,8 @@ rm -rf $RPM_BUILD_ROOT %{__make} -C build install \ DESTDIR=$RPM_BUILD_ROOT -mv $RPM_BUILD_ROOT%{_libdir}/libopencl-clang.so.8 $RPM_BUILD_ROOT%{_libdir}/libopencl-clang.so.%{llvm_version} -ln -s libopencl-clang.so.%{llvm_version} $RPM_BUILD_ROOT%{_libdir}/libopencl-clang.so.8 +mv $RPM_BUILD_ROOT%{_libdir}/libopencl-clang.so.9 $RPM_BUILD_ROOT%{_libdir}/libopencl-clang.so.%{llvm_version} +ln -s libopencl-clang.so.%{llvm_version} $RPM_BUILD_ROOT%{_libdir}/libopencl-clang.so.9 ln -sf libopencl-clang.so.%{llvm_version} $RPM_BUILD_ROOT%{_libdir}/libopencl-clang.so %post -p /sbin/ldconfig @@ -78,7 +76,7 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %doc README.md %attr(755,root,root) %{_libdir}/libopencl-clang.so.%{llvm_version} -%ghost %attr(755,root,root) %{_libdir}/libopencl-clang.so.8 +%ghost %attr(755,root,root) %{_libdir}/libopencl-clang.so.9 %files devel %defattr(644,root,root,755) -- 2.43.0