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
+}

Reply via email to