Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libclc for openSUSE:Factory checked in at 2024-03-20 21:10:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libclc (Old) and /work/SRC/openSUSE:Factory/.libclc.new.1905 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libclc" Wed Mar 20 21:10:12 2024 rev:27 rq:1158843 version:0.2.0+llvm18.1.0 Changes: -------- --- /work/SRC/openSUSE:Factory/libclc/libclc.changes 2023-11-23 21:39:12.632314258 +0100 +++ /work/SRC/openSUSE:Factory/.libclc.new.1905/libclc.changes 2024-03-20 21:10:33.073584551 +0100 @@ -1,0 +2,9 @@ +Sat Mar 9 22:30:18 UTC 2024 - Aaron Puchert <[email protected]> + +- Update to version 18.1.0. + * Fix signed integer underflow in abs_diff. + * Teach prepare-builtins how to handle text-based IR. + * Add half implementation for erf/erfc. + * Add missing AMD gfx symlinks. + +------------------------------------------------------------------- Old: ---- libclc-17.0.1.src.tar.xz libclc-17.0.1.src.tar.xz.sig New: ---- libclc-18.1.0.src.tar.xz libclc-18.1.0.src.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libclc.spec ++++++ --- /var/tmp/diff_new_pack.CvzoFq/_old 2024-03-20 21:10:34.825648932 +0100 +++ /var/tmp/diff_new_pack.CvzoFq/_new 2024-03-20 21:10:34.837649374 +0100 @@ -1,7 +1,7 @@ # # spec file for package libclc # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,7 +16,7 @@ # -%define _libclc_llvm_ver 17.0.1 +%define _libclc_llvm_ver 18.1.0 %define _version %_libclc_llvm_ver%{?_rc:rc%_rc} %define _tagver %_libclc_llvm_ver%{?_rc:-rc%_rc} ++++++ libclc-17.0.1.src.tar.xz -> libclc-18.1.0.src.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-17.0.1.src/CMakeLists.txt new/libclc-18.1.0.src/CMakeLists.txt --- old/libclc-17.0.1.src/CMakeLists.txt 2023-09-19 11:05:13.000000000 +0200 +++ new/libclc-18.1.0.src/CMakeLists.txt 2024-02-27 18:18:54.000000000 +0100 @@ -142,17 +142,15 @@ set( barts_aliases turks caicos ) set( cayman_aliases aruba ) set( tahiti_aliases pitcairn verde oland hainan bonaire kabini kaveri hawaii - mullins tonga iceland carrizo fiji stoney polaris10 polaris11 ) - -# Support for gfx9 was added in LLVM 5.0 (r295554) -if( ${LLVM_PACKAGE_VERSION} VERSION_GREATER "4.99.99" ) - set( tahiti_aliases ${tahiti_aliases} gfx900 gfx902 ) -endif() - -# Support for Vega12 and Vega20 was added in LLVM 7 (r331215) -if( ${LLVM_PACKAGE_VERSION} VERSION_GREATER "6.99.99" ) - set( tahiti_aliases ${tahiti_aliases} gfx904 gfx906 ) -endif() + mullins tonga tongapro iceland carrizo fiji stoney polaris10 polaris11 + gfx602 gfx705 gfx805 + gfx900 gfx902 gfx904 gfx906 gfx908 gfx909 gfx90a gfx90c gfx940 gfx941 gfx942 + gfx1010 gfx1011 gfx1012 gfx1013 + gfx1030 gfx1031 gfx1032 gfx1033 gfx1034 gfx1035 gfx1036 + gfx1100 gfx1101 gfx1102 gfx1103 + gfx1150 gfx1151 + gfx1200 gfx1201 +) # pkg-config file configure_file( libclc.pc.in libclc.pc @ONLY ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-17.0.1.src/generic/lib/integer/abs_diff.inc new/libclc-18.1.0.src/generic/lib/integer/abs_diff.inc --- old/libclc-17.0.1.src/generic/lib/integer/abs_diff.inc 2023-09-19 11:05:13.000000000 +0200 +++ new/libclc-18.1.0.src/generic/lib/integer/abs_diff.inc 2024-02-27 18:18:54.000000000 +0100 @@ -1,3 +1,5 @@ _CLC_OVERLOAD _CLC_DEF __CLC_U_GENTYPE abs_diff(__CLC_GENTYPE x, __CLC_GENTYPE y) { - return __builtin_astype((__CLC_GENTYPE)(x > y ? x-y : y-x), __CLC_U_GENTYPE); + __CLC_U_GENTYPE ux = __builtin_astype(x, __CLC_U_GENTYPE); + __CLC_U_GENTYPE uy = __builtin_astype(y, __CLC_U_GENTYPE); + return x > y ? ux - uy : uy - ux; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-17.0.1.src/generic/lib/math/erf.cl new/libclc-18.1.0.src/generic/lib/math/erf.cl --- old/libclc-17.0.1.src/generic/lib/math/erf.cl 2023-09-19 11:05:13.000000000 +0200 +++ new/libclc-18.1.0.src/generic/lib/math/erf.cl 2024-02-27 18:18:54.000000000 +0100 @@ -399,4 +399,16 @@ _CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, double, erf, double); +#ifdef cl_khr_fp16 + +#pragma OPENCL EXTENSION cl_khr_fp16 : enable + +_CLC_OVERLOAD _CLC_DEF half erf(half h) { + return (half)erf((float)h); +} + +_CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, half, erf, half); + +#endif + #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-17.0.1.src/generic/lib/math/erfc.cl new/libclc-18.1.0.src/generic/lib/math/erfc.cl --- old/libclc-17.0.1.src/generic/lib/math/erfc.cl 2023-09-19 11:05:13.000000000 +0200 +++ new/libclc-18.1.0.src/generic/lib/math/erfc.cl 2024-02-27 18:18:54.000000000 +0100 @@ -410,4 +410,16 @@ _CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, double, erfc, double); +#ifdef cl_khr_fp16 + +#pragma OPENCL EXTENSION cl_khr_fp16 : enable + +_CLC_OVERLOAD _CLC_DEF half erfc(half h) { + return (half)erfc((float)h); +} + +_CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, half, erfc, half); + +#endif + #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libclc-17.0.1.src/utils/prepare-builtins.cpp new/libclc-18.1.0.src/utils/prepare-builtins.cpp --- old/libclc-17.0.1.src/utils/prepare-builtins.cpp 2023-09-19 11:05:13.000000000 +0200 +++ new/libclc-18.1.0.src/utils/prepare-builtins.cpp 2024-02-27 18:18:54.000000000 +0100 @@ -5,23 +5,27 @@ #include "llvm/Bitcode/ReaderWriter.h" #endif +#include "llvm/Config/llvm-config.h" #include "llvm/IR/Function.h" #include "llvm/IR/GlobalVariable.h" #include "llvm/IR/LLVMContext.h" #include "llvm/IR/Module.h" +#include "llvm/IRReader/IRReader.h" #include "llvm/Support/CommandLine.h" +#include "llvm/Support/ErrorOr.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/ManagedStatic.h" #include "llvm/Support/MemoryBuffer.h" -#include "llvm/Support/FileSystem.h" -#include "llvm/Support/raw_ostream.h" -#include "llvm/Support/ErrorOr.h" +#include "llvm/Support/SourceMgr.h" #include "llvm/Support/ToolOutputFile.h" -#include "llvm/Config/llvm-config.h" +#include "llvm/Support/raw_ostream.h" #include <system_error> using namespace llvm; +static ExitOnError ExitOnErr; + static cl::opt<std::string> InputFilename(cl::Positional, cl::desc("<input bitcode>"), cl::init("-")); @@ -29,6 +33,9 @@ OutputFilename("o", cl::desc("Output filename"), cl::value_desc("filename")); +static cl::opt<bool> TextualOut("S", cl::desc("Emit LLVM textual assembly"), + cl::init(false)); + int main(int argc, char **argv) { LLVMContext Context; llvm_shutdown_obj Y; // Call llvm_shutdown() on exit. @@ -45,17 +52,15 @@ ErrorMessage = ec.message(); } else { std::unique_ptr<MemoryBuffer> &BufferPtr = BufferOrErr.get(); - ErrorOr<std::unique_ptr<Module>> ModuleOrErr = + SMDiagnostic Err; + std::unique_ptr<llvm::Module> MPtr = #if HAVE_LLVM > 0x0390 - expectedToErrorOrAndEmitErrors(Context, - parseBitcodeFile(BufferPtr.get()->getMemBufferRef(), Context)); + ExitOnErr(Expected<std::unique_ptr<llvm::Module>>( + parseIR(BufferPtr.get()->getMemBufferRef(), Err, Context))); #else - parseBitcodeFile(BufferPtr.get()->getMemBufferRef(), Context); + parseIR(BufferPtr.get()->getMemBufferRef(), Err, Context); #endif - if (std::error_code ec = ModuleOrErr.getError()) - ErrorMessage = ec.message(); - - M = ModuleOrErr.get().release(); + M = MPtr.release(); } } @@ -105,14 +110,16 @@ exit(1); } + if (TextualOut) + M->print(Out->os(), nullptr, true); + else #if HAVE_LLVM >= 0x0700 - WriteBitcodeToFile(*M, Out->os()); + WriteBitcodeToFile(*M, Out->os()); #else - WriteBitcodeToFile(M, Out->os()); + WriteBitcodeToFile(M, Out->os()); #endif // Declare success. Out->keep(); return 0; } -
