roll llvm to a6b0af7536ef (#7624)

This updates LLVM by a month.

Removes patch 10 which landed upstream.

Adds a new patch to remove more libc-dependent files
from compiler-rt builtins.
This commit is contained in:
Lucile Rose Nihlen
2026-08-10 19:37:40 +00:00
committed by GitHub
parent de1cd701cf
commit b64d863a8f
4 changed files with 103 additions and 60 deletions
+3 -3
View File
@@ -83,8 +83,8 @@ git_override(
build_file_content = "# empty",
# We pin to specific upstream commits and try to track top-of-tree
# reasonably closely rather than pinning to a specific release.
# HEAD as of 2026-07-09.
commit = "615644763ffcfc939bda59e9f3e71d6e7d9fd264",
# HEAD as of 2026-08-06.
commit = "a6b0af7536ef0ae8383ec729c5fbf23c73243776",
patch_cmds = ["echo \"module(name='llvm-raw')\" > MODULE.bazel"],
patch_strip = 1,
patches = [
@@ -92,8 +92,8 @@ git_override(
"//bazel/llvm_project:0002_Added_Bazel_build_for_compiler_rt_fuzzer.patch",
"//bazel/llvm_project:0004_Introduce_basic_sources_exporting_for_libunwind.patch",
"//bazel/llvm_project:0005_Introduce_basic_sources_exporting_for_libcxx_and_libcxxabi.patch",
"//bazel/llvm_project:0006_Add_more_libc_math_excludes.patch",
"//bazel/llvm_project:0009_Introduce_starlark_exporting_compiler-rt_build_information.patch",
"//bazel/llvm_project:0010_Exclude_addtf3_cpp_from_compiler_rt_builtins.patch",
"//bazel/llvm_project:0011_Temporarily_remove_reference_to_hermetic_toolchain.patch",
],
remote = "https://github.com/llvm/llvm-project.git",
@@ -0,0 +1,33 @@
Removes additional libc-backed arithmetic builtins added
by https://github.com/llvm/llvm-project/pull/207092
and https://github.com/llvm/llvm-project/pull/209984
---
--- a/utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
@@ -473,5 +473,26 @@
BUILTINS_LIBC_MATH_EXCLUDES = [
# Sources requiring COMPILER_RT_USE_LIBC_MATH (e.g. LIBC_NAMESPACE::shared::*).
+ "lib/builtins/adddf3.cpp",
"lib/builtins/addtf3.cpp",
+ "lib/builtins/addsf3.cpp",
+ "lib/builtins/divdf3.cpp",
+ "lib/builtins/divsf3.cpp",
+ "lib/builtins/divtf3.cpp",
+ "lib/builtins/extenddftf2.cpp",
+ "lib/builtins/extendsfdf2.cpp",
+ "lib/builtins/extendsftf2.cpp",
+ "lib/builtins/extendxftf2.cpp",
+ "lib/builtins/muldf3.cpp",
+ "lib/builtins/mulsf3.cpp",
+ "lib/builtins/multf3.cpp",
+ "lib/builtins/negdf2.cpp",
+ "lib/builtins/negsf2.cpp",
+ "lib/builtins/subdf3.cpp",
+ "lib/builtins/subsf3.cpp",
+ "lib/builtins/subtf3.cpp",
+ "lib/builtins/truncdfsf2.cpp",
+ "lib/builtins/trunctfdf2.cpp",
+ "lib/builtins/trunctfsf2.cpp",
+ "lib/builtins/trunctfxf2.cpp",
]
@@ -15,8 +15,8 @@ compiling these source files.
2 files changed, 336 insertions(+), 36 deletions(-)
create mode 100644 utils/bazel/llvm-project-overlay/compiler-rt/compiler-rt.bzl
diff --git a/utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel b/utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
index 0c5e0af4cb48..ae4a99d6885c 100644
diff --git a/utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel b/utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
--- a/utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
@@ -3,6 +3,7 @@
@@ -58,10 +58,36 @@ index 0c5e0af4cb48..ae4a99d6885c 100644
)
BUILTINS_MACOS_ATOMIC_SRCS_PATTERNS = [
@@ -269,6 +276,28 @@ filegroup(
@@ -269,6 +276,55 @@ filegroup(
srcs = glob(BUILTINS_MACOS_ATOMIC_SRCS_PATTERNS),
)
+BUILTINS_LIBC_MATH_EXCLUDES = [
+ # Sources requiring COMPILER_RT_USE_LIBC_MATH (e.g. LIBC_NAMESPACE::shared::*).
+ "lib/builtins/adddf3.cpp",
+ "lib/builtins/addtf3.cpp",
+ "lib/builtins/addsf3.cpp",
+ "lib/builtins/divdf3.cpp",
+ "lib/builtins/divsf3.cpp",
+ "lib/builtins/divtf3.cpp",
+ "lib/builtins/extenddftf2.cpp",
+ "lib/builtins/extendsfdf2.cpp",
+ "lib/builtins/extendsftf2.cpp",
+ "lib/builtins/extendxftf2.cpp",
+ "lib/builtins/muldf3.cpp",
+ "lib/builtins/mulsf3.cpp",
+ "lib/builtins/multf3.cpp",
+ "lib/builtins/negdf2.cpp",
+ "lib/builtins/negsf2.cpp",
+ "lib/builtins/subdf3.cpp",
+ "lib/builtins/subsf3.cpp",
+ "lib/builtins/subtf3.cpp",
+ "lib/builtins/truncdfsf2.cpp",
+ "lib/builtins/trunctfdf2.cpp",
+ "lib/builtins/trunctfsf2.cpp",
+ "lib/builtins/trunctfxf2.cpp",
+]
+
+# Source files for portable components of the compiler builtins library.
+filegroup(
+ name = "builtins_generic_srcs",
@@ -79,7 +105,8 @@ index 0c5e0af4cb48..ae4a99d6885c 100644
+ BUILTINS_TF_EXCLUDES +
+ BUILTINS_TF_SRCS_PATTERNS +
+ BUILTINS_ATOMICS_SRCS +
+ BUILTINS_MACOS_ATOMIC_SRCS_PATTERNS
+ BUILTINS_MACOS_ATOMIC_SRCS_PATTERNS +
+ BUILTINS_LIBC_MATH_EXCLUDES
+ ),
+ ),
+)
@@ -87,7 +114,7 @@ index 0c5e0af4cb48..ae4a99d6885c 100644
# Apple-platform specific SME source file.
filegroup(
name = "builtins_aarch64_apple_sme_srcs",
@@ -341,11 +370,14 @@ AARCH64_OUTLINE_ATOMICS_FMT = "lib/builtins/aarch64/outline_atomic_{0}{1}_{2}.S"
@@ -341,11 +389,14 @@ AARCH64_OUTLINE_ATOMICS_FMT = "lib/builtins/aarch64/outline_atomic_{0}{1}_{2}.S"
# Source files for the AArch64 architecture-specific builtins.
filegroup(
@@ -103,7 +130,7 @@ index 0c5e0af4cb48..ae4a99d6885c 100644
] + [
AARCH64_OUTLINE_ATOMICS_FMT.format(pat, size, model)
for (pat, size, model) in AARCH64_OUTLINE_ATOMICS
@@ -365,10 +397,20 @@ filegroup(
@@ -365,10 +416,20 @@ filegroup(
"lib/builtins/aarch64/lse.S",
# These files are provided by SME-specific file groups above.
"lib/builtins/aarch64/*sme*",
@@ -124,7 +151,7 @@ index 0c5e0af4cb48..ae4a99d6885c 100644
BUILTINS_ARM_VFP_SRCS_PATTERNS = [
"lib/builtins/arm/*vfp*.S",
"lib/builtins/arm/*vfp*.c",
@@ -385,9 +427,19 @@ filegroup(
@@ -385,9 +446,19 @@ filegroup(
),
)
@@ -145,7 +172,7 @@ index 0c5e0af4cb48..ae4a99d6885c 100644
srcs = glob(
[
"lib/builtins/arm/*.S",
@@ -396,14 +448,52 @@ filegroup(
@@ -396,14 +467,52 @@ filegroup(
"lib/builtins/arm/*.h",
],
allow_empty = True,
@@ -202,7 +229,7 @@ index 0c5e0af4cb48..ae4a99d6885c 100644
[
"lib/builtins/ppc/*.S",
"lib/builtins/ppc/*.c",
@@ -414,19 +504,66 @@ filegroup(
@@ -414,19 +523,66 @@ filegroup(
),
)
@@ -272,7 +299,7 @@ index 0c5e0af4cb48..ae4a99d6885c 100644
# Source files for the x86 architecture specific builtins (both 32-bit and
# 64-bit).
filegroup(
@@ -439,8 +576,14 @@ filegroup(
@@ -439,8 +595,14 @@ filegroup(
# Source files for the x86-64 architecture specific builtins.
filegroup(
@@ -289,7 +316,7 @@ index 0c5e0af4cb48..ae4a99d6885c 100644
[
"lib/builtins/x86_64/*.S",
"lib/builtins/x86_64/*.c",
@@ -448,13 +591,29 @@ filegroup(
@@ -448,13 +610,29 @@ filegroup(
"lib/builtins/x86_64/*.h",
],
allow_empty = True,
@@ -321,7 +348,7 @@ index 0c5e0af4cb48..ae4a99d6885c 100644
[
"lib/builtins/i386/*.S",
"lib/builtins/i386/*.c",
@@ -466,28 +625,16 @@ filegroup(
@@ -466,6 +644,10 @@ filegroup(
# This file is used for both i386 and x86_64 and so included in the
# broader x86 sources.
"lib/builtins/i386/fp_mode.c",
@@ -332,7 +359,33 @@ index 0c5e0af4cb48..ae4a99d6885c 100644
],
),
)
@@ -473,48 +655,5 @@
-BUILTINS_LIBC_MATH_EXCLUDES = [
- # Sources requiring COMPILER_RT_USE_LIBC_MATH (e.g. LIBC_NAMESPACE::shared::*).
- "lib/builtins/adddf3.cpp",
- "lib/builtins/addtf3.cpp",
- "lib/builtins/addsf3.cpp",
- "lib/builtins/divdf3.cpp",
- "lib/builtins/divsf3.cpp",
- "lib/builtins/divtf3.cpp",
- "lib/builtins/extenddftf2.cpp",
- "lib/builtins/extendsfdf2.cpp",
- "lib/builtins/extendsftf2.cpp",
- "lib/builtins/extendxftf2.cpp",
- "lib/builtins/muldf3.cpp",
- "lib/builtins/mulsf3.cpp",
- "lib/builtins/multf3.cpp",
- "lib/builtins/negdf2.cpp",
- "lib/builtins/negsf2.cpp",
- "lib/builtins/subdf3.cpp",
- "lib/builtins/subsf3.cpp",
- "lib/builtins/subtf3.cpp",
- "lib/builtins/truncdfsf2.cpp",
- "lib/builtins/trunctfdf2.cpp",
- "lib/builtins/trunctfsf2.cpp",
- "lib/builtins/trunctfxf2.cpp",
-]
-
-# Source files for portable components of the compiler builtins library.
-filegroup(
- name = "builtins_generic_srcs",
@@ -350,7 +403,8 @@ index 0c5e0af4cb48..ae4a99d6885c 100644
- BUILTINS_TF_EXCLUDES +
- BUILTINS_TF_SRCS_PATTERNS +
- BUILTNS_ATOMICS_SRCS +
- BUILTINS_MACOS_ATOMIC_SRCS_PATTERNS
- BUILTINS_MACOS_ATOMIC_SRCS_PATTERNS +
- BUILTINS_LIBC_MATH_EXCLUDES
- ),
- ),
+make_filtered_builtins_srcs_groups(
@@ -1,44 +0,0 @@
From 71c318f73cdc3f2c5acd0383dbe057426fc3e5ab Mon Sep 17 00:00:00 2001
From: Richard Smith <richard@metafoo.co.uk>
Date: Sat, 11 Jul 2026 00:07:36 +0000
Subject: [PATCH] Exclude libc math C++ builtins from compiler-rt Bazel overlay
In CMake, addtf3.cpp is only compiled when COMPILER_RT_USE_LIBC_MATH is ON,
replacing addtf3.c. In the Bazel overlay, builtins_generic_srcs globbed
all lib/builtins/*.cpp without excluding addtf3.cpp, causing compile failures
when not using libc math.
Assisted-by: Gemini via Antigravity
---
utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel b/utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
index ae4a99d6885c..afa726a14a5b 100644
--- a/utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
@@ -293,6 +293,11 @@ filegroup(
srcs = glob(BUILTINS_MACOS_ATOMIC_SRCS_PATTERNS),
)
+BUILTINS_LIBC_MATH_EXCLUDES = [
+ # Sources requiring COMPILER_RT_USE_LIBC_MATH (e.g. LIBC_NAMESPACE::shared::*).
+ "lib/builtins/addtf3.cpp",
+]
+
# Source files for portable components of the compiler builtins library.
filegroup(
name = "builtins_generic_srcs",
@@ -309,7 +314,8 @@ filegroup(
BUILTINS_TF_EXCLUDES +
BUILTINS_TF_SRCS_PATTERNS +
BUILTINS_ATOMICS_SRCS +
- BUILTINS_MACOS_ATOMIC_SRCS_PATTERNS
+ BUILTINS_MACOS_ATOMIC_SRCS_PATTERNS +
+ BUILTINS_LIBC_MATH_EXCLUDES
),
),
)
--
2.55.0.795.g602f6c329a-goog