Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package llvm19 for openSUSE:Factory checked in at 2025-09-22 16:39:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/llvm19 (Old) and /work/SRC/openSUSE:Factory/.llvm19.new.27445 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "llvm19" Mon Sep 22 16:39:54 2025 rev:14 rq:1306321 version:19.1.7 Changes: -------- --- /work/SRC/openSUSE:Factory/llvm19/llvm19.changes 2025-08-25 20:38:23.320821338 +0200 +++ /work/SRC/openSUSE:Factory/.llvm19.new.27445/llvm19.changes 2025-09-22 16:40:49.196285764 +0200 @@ -1,0 +2,6 @@ +Sun Sep 21 12:56:36 UTC 2025 - Aaron Puchert <[email protected]> + +- Port back llvm-constant-folding-fp128-instrinsics.patch to fix + crash when constant folding fp128 intrinsics. (boo#1250228) + +------------------------------------------------------------------- New: ---- llvm-constant-folding-fp128-instrinsics.patch ----------(New B)---------- New: - Port back llvm-constant-folding-fp128-instrinsics.patch to fix crash when constant folding fp128 intrinsics. (boo#1250228) ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ llvm19.spec ++++++ --- /var/tmp/diff_new_pack.G6z32v/_old 2025-09-22 16:40:51.128366943 +0200 +++ /var/tmp/diff_new_pack.G6z32v/_new 2025-09-22 16:40:51.128366943 +0200 @@ -450,6 +450,8 @@ Patch31: clang-shlib-symbol-versioning.patch # PATCH-FIX-UPSTREAM: Remove interceptors for deprecated struct termio Patch32: compiler-rt-remove-termio-interceptors.patch +# PATCH-FIX-UPSTREAM: Fix crash in ConstantFolding on fp128 intrinsics. +Patch33: llvm-constant-folding-fp128-instrinsics.patch BuildRequires: %{python_pkg}-base >= 3.8 BuildRequires: binutils-devel >= 2.21.90 BuildRequires: cmake >= 3.13.4 @@ -892,6 +894,7 @@ %patch -P 24 -p1 %patch -P 25 -p2 %patch -P 28 -p2 +%patch -P 33 -p2 pushd clang-%{_version}.src %patch -P 2 -p1 ++++++ llvm-constant-folding-fp128-instrinsics.patch ++++++ >From 83a5c7cb62e404a713a35445b755cf0109650279 Mon Sep 17 00:00:00 2001 From: David Green <[email protected]> Date: Sat, 24 Aug 2024 14:39:20 +0100 Subject: [PATCH] [ConstantFolding] Ensure TLI is valid when simplifying fp128 intrinsics. TLI might not be valid for all contexts that constant folding is performed. Add a quick guard that it is not null. --- llvm/lib/Analysis/ConstantFolding.cpp | 2 +- llvm/test/Transforms/Inline/simplify-fp128.ll | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 llvm/test/Transforms/Inline/simplify-fp128.ll diff --git a/llvm/lib/Analysis/ConstantFolding.cpp b/llvm/lib/Analysis/ConstantFolding.cpp index ff30fece5fce9..15c2699ceefbb 100644 --- a/llvm/lib/Analysis/ConstantFolding.cpp +++ b/llvm/lib/Analysis/ConstantFolding.cpp @@ -2124,7 +2124,7 @@ static Constant *ConstantFoldScalarCall1(StringRef Name, } LibFunc Fp128Func = NotLibFunc; - if (TLI->getLibFunc(Name, Fp128Func) && TLI->has(Fp128Func) && + if (TLI && TLI->getLibFunc(Name, Fp128Func) && TLI->has(Fp128Func) && Fp128Func == LibFunc_logl) return ConstantFoldFP128(logf128, Op->getValueAPF(), Ty); } diff --git a/llvm/test/Transforms/Inline/simplify-fp128.ll b/llvm/test/Transforms/Inline/simplify-fp128.ll new file mode 100644 index 0000000000000..73e63702cefcb --- /dev/null +++ b/llvm/test/Transforms/Inline/simplify-fp128.ll @@ -0,0 +1,24 @@ +; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5 +; RUN: opt < %s -passes=inline -S | FileCheck %s + +define void @fli() { +; CHECK-LABEL: define void @fli() { +; CHECK-NEXT: [[ENTRY:.*:]] +; CHECK-NEXT: [[TMP0:%.*]] = call fp128 @llvm.floor.f128(fp128 0xL999999999999999A4001199999999999) +; CHECK-NEXT: ret void +; +entry: + call void @sc() + ret void +} + +define void @sc() { +; CHECK-LABEL: define void @sc() { +; CHECK-NEXT: [[ENTRY:.*:]] +; CHECK-NEXT: [[TMP0:%.*]] = tail call fp128 @llvm.floor.f128(fp128 0xL999999999999999A4001199999999999) +; CHECK-NEXT: ret void +; +entry: + %0 = tail call fp128 @llvm.floor.f128(fp128 0xL999999999999999A4001199999999999) + ret void +}
