- Update to version 22.1.8.

* This release contains bug-fixes for the LLVM 22.1.0 release.
    This release is API and ABI compatible with 22.1.0.

OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm22?expand=0&rev=19
This commit is contained in:
2026-07-05 21:30:50 +00:00
committed by Git OBS Bridge
commit f1c3aa2f73
47 changed files with 6740 additions and 0 deletions
+3588
View File
File diff suppressed because it is too large Load Diff
+1776
View File
File diff suppressed because it is too large Load Diff
+43
View File
@@ -0,0 +1,43 @@
<?xml version="1.0"?>
<constraints>
<hardware>
<disk>
<size unit="G">35</size>
</disk>
<memory>
<size unit="M">8192</size>
</memory>
</hardware>
<hostlabel exclude="true">SLOW_CPU</hostlabel>
<overwrite>
<!--
We have disabled debuginfo on 32 bit architecture because they simply can no address enough memory to link llvm libraries with it.
Without debuginfo the disk and memory requirements are much lower.
-->
<conditions>
<arch>armv6l</arch>
<arch>armv7l</arch>
<arch>i586</arch>
<arch>ppc</arch>
<arch>s390</arch>
</conditions>
<hardware>
<disk>
<size unit="G">10</size>
</disk>
<memory>
<size unit="M">2048</size>
</memory>
</hardware>
</overwrite>
<overwrite>
<conditions>
<arch>riscv64</arch>
</conditions>
<hardware>
<memory>
<size unit="M">14000</size>
</memory>
</hardware>
</overwrite>
</constraints>
+24
View File
@@ -0,0 +1,24 @@
*.changes merge=merge-changes
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
+4
View File
@@ -0,0 +1,4 @@
*.obscpio
*.osc
_build.*
.pbuild
+32
View File
@@ -0,0 +1,32 @@
Index: clang/lib/Driver/Distro.cpp
===================================================================
--- clang/lib/Driver/Distro.cpp
+++ clang/lib/Driver/Distro.cpp
@@ -93,6 +93,8 @@ static Distro::DistroType DetectLsbRelease...
}
static Distro::DistroType DetectDistro(llvm::vfs::FileSystem &VFS) {
+ return Distro::OpenSUSE;
+/*
Distro::DistroType Version = Distro::UnknownDistro;
// Newer freedesktop.org's compilant systemd-based systems
@@ -200,7 +202,7 @@ static Distro::DistroType DetectDistro(l
if (VFS.exists("/etc/gentoo-release"))
return Distro::Gentoo;
- return Distro::UnknownDistro;
+ return Distro::UnknownDistro;*/
}
static Distro::DistroType GetDistro(llvm::vfs::FileSystem &VFS,
Index: clang/unittests/Driver/CMakeLists.txt
===================================================================
--- clang/unittests/Driver/CMakeLists.txt
+++ clang/unittests/Driver/CMakeLists.txt
@@ -1,5 +1,4 @@ set(LLVM_LINK_COMPONENTS
add_clang_unittest(ClangDriverTests
- DistroTest.cpp
DXCModeTest.cpp
GCCVersionTest.cpp
ToolChainTest.cpp
+2
View File
@@ -0,0 +1,2 @@
libLLVM22
libclang-cpp22
+309
View File
@@ -0,0 +1,309 @@
From: Aaron Puchert <aaronpuchert@alice-dsl.net>
Date: Sat, 24 Jan 2026 18:08:52 +0100
Subject: [PATCH] Make bolt link against LLVM dylib
This reverts commits 61cff9079c083fdcfb9fa324e50b9e480165037e and
4da745a0f4fad9026dd4a84d4a9f169166575b80.
---
bolt/lib/Core/CMakeLists.txt | 1 -
bolt/lib/Passes/CMakeLists.txt | 1 -
bolt/lib/Profile/CMakeLists.txt | 1 -
bolt/lib/Rewrite/CMakeLists.txt | 1 -
bolt/lib/RuntimeLibs/CMakeLists.txt | 1 -
bolt/lib/Target/AArch64/CMakeLists.txt | 1 -
bolt/lib/Target/RISCV/CMakeLists.txt | 1 -
bolt/lib/Target/X86/CMakeLists.txt | 1 -
bolt/lib/Target/X86/X86MCPlusBuilder.cpp | 4 ++++
bolt/lib/Utils/CMakeLists.txt | 1 -
bolt/tools/bat-dump/CMakeLists.txt | 2 --
bolt/tools/binary-analysis/CMakeLists.txt | 1 -
bolt/tools/driver/CMakeLists.txt | 2 --
bolt/tools/heatmap/CMakeLists.txt | 1 -
bolt/tools/llvm-bolt-fuzzer/CMakeLists.txt | 2 --
bolt/tools/merge-fdata/CMakeLists.txt | 2 --
bolt/unittests/Core/CMakeLists.txt | 8 +-------
bolt/unittests/Profile/CMakeLists.txt | 2 --
llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.h | 4 ++++
llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h | 2 ++
20 files changed, 11 insertions(+), 28 deletions(-)
diff --git a/bolt/lib/Core/CMakeLists.txt b/bolt/lib/Core/CMakeLists.txt
index fc72dc023c59..aef9b1e243a1 100644
--- a/bolt/lib/Core/CMakeLists.txt
+++ b/bolt/lib/Core/CMakeLists.txt
@@ -37,7 +37,6 @@ add_llvm_library(LLVMBOLTCore
Relocation.cpp
NO_EXPORT
- DISABLE_LLVM_LINK_LLVM_DYLIB
LINK_LIBS
${LLVM_PTHREAD_LIB}
)
diff --git a/bolt/lib/Passes/CMakeLists.txt b/bolt/lib/Passes/CMakeLists.txt
index 77d2bb9c2bcb..e8bb8978a86a 100644
--- a/bolt/lib/Passes/CMakeLists.txt
+++ b/bolt/lib/Passes/CMakeLists.txt
@@ -48,7 +48,6 @@ add_llvm_library(LLVMBOLTPasses
RetpolineInsertion.cpp
NO_EXPORT
- DISABLE_LLVM_LINK_LLVM_DYLIB
LINK_LIBS
${LLVM_PTHREAD_LIB}
diff --git a/bolt/lib/Profile/CMakeLists.txt b/bolt/lib/Profile/CMakeLists.txt
index a2bb4aa074c7..d2ec75dacb7f 100644
--- a/bolt/lib/Profile/CMakeLists.txt
+++ b/bolt/lib/Profile/CMakeLists.txt
@@ -8,7 +8,6 @@ add_llvm_library(LLVMBOLTProfile
YAMLProfileWriter.cpp
NO_EXPORT
- DISABLE_LLVM_LINK_LLVM_DYLIB
LINK_COMPONENTS
Demangle
diff --git a/bolt/lib/Rewrite/CMakeLists.txt b/bolt/lib/Rewrite/CMakeLists.txt
index bc1b2ed3c2e3..e45bef86d4cf 100644
--- a/bolt/lib/Rewrite/CMakeLists.txt
+++ b/bolt/lib/Rewrite/CMakeLists.txt
@@ -29,7 +29,6 @@ add_llvm_library(LLVMBOLTRewrite
GNUPropertyRewriter.cpp
NO_EXPORT
- DISABLE_LLVM_LINK_LLVM_DYLIB
LINK_LIBS
${LLVM_PTHREAD_LIB}
diff --git a/bolt/lib/RuntimeLibs/CMakeLists.txt b/bolt/lib/RuntimeLibs/CMakeLists.txt
index b8db7e4a1553..e89043036394 100644
--- a/bolt/lib/RuntimeLibs/CMakeLists.txt
+++ b/bolt/lib/RuntimeLibs/CMakeLists.txt
@@ -12,7 +12,6 @@ add_llvm_library(LLVMBOLTRuntimeLibs
InstrumentationRuntimeLibrary.cpp
NO_EXPORT
- DISABLE_LLVM_LINK_LLVM_DYLIB
)
target_link_libraries(LLVMBOLTRuntimeLibs
diff --git a/bolt/lib/Target/AArch64/CMakeLists.txt b/bolt/lib/Target/AArch64/CMakeLists.txt
index cb38117de659..e65300b722d6 100644
--- a/bolt/lib/Target/AArch64/CMakeLists.txt
+++ b/bolt/lib/Target/AArch64/CMakeLists.txt
@@ -22,7 +22,6 @@ add_llvm_library(LLVMBOLTTargetAArch64
AArch64MCSymbolizer.cpp
NO_EXPORT
- DISABLE_LLVM_LINK_LLVM_DYLIB
DEPENDS
AArch64CommonTableGen
diff --git a/bolt/lib/Target/RISCV/CMakeLists.txt b/bolt/lib/Target/RISCV/CMakeLists.txt
index 6c3a196f8a1f..93c97effd31e 100644
--- a/bolt/lib/Target/RISCV/CMakeLists.txt
+++ b/bolt/lib/Target/RISCV/CMakeLists.txt
@@ -21,7 +21,6 @@ add_llvm_library(LLVMBOLTTargetRISCV
RISCVMCPlusBuilder.cpp
NO_EXPORT
- DISABLE_LLVM_LINK_LLVM_DYLIB
DEPENDS
RISCVCommonTableGen
diff --git a/bolt/lib/Target/X86/CMakeLists.txt b/bolt/lib/Target/X86/CMakeLists.txt
index 6d1accb5e815..c83b1ed10017 100644
--- a/bolt/lib/Target/X86/CMakeLists.txt
+++ b/bolt/lib/Target/X86/CMakeLists.txt
@@ -22,7 +22,6 @@ add_llvm_library(LLVMBOLTTargetX86
X86MCSymbolizer.cpp
NO_EXPORT
- DISABLE_LLVM_LINK_LLVM_DYLIB
DEPENDS
X86CommonTableGen
diff --git a/bolt/lib/Target/X86/X86MCPlusBuilder.cpp b/bolt/lib/Target/X86/X86MCPlusBuilder.cpp
index a60c1a6bf156..c5fc2d222581 100644
--- a/bolt/lib/Target/X86/X86MCPlusBuilder.cpp
+++ b/bolt/lib/Target/X86/X86MCPlusBuilder.cpp
@@ -31,6 +31,10 @@
#include "llvm/Support/ErrorOr.h"
#include <set>
+#define GET_X86_MNEMONIC_TABLES_CPP
+#include "X86GenMnemonicTables.inc"
+#undef GET_X86_MNEMONIC_TABLES_CPP
+
#define DEBUG_TYPE "mcplus"
using namespace llvm;
diff --git a/bolt/lib/Utils/CMakeLists.txt b/bolt/lib/Utils/CMakeLists.txt
index 94933644ef5e..36d3d67f21ea 100644
--- a/bolt/lib/Utils/CMakeLists.txt
+++ b/bolt/lib/Utils/CMakeLists.txt
@@ -44,7 +44,6 @@ add_llvm_library(LLVMBOLTUtils
${version_inc}
NO_EXPORT
- DISABLE_LLVM_LINK_LLVM_DYLIB
LINK_LIBS
${LLVM_PTHREAD_LIB}
diff --git a/bolt/tools/bat-dump/CMakeLists.txt b/bolt/tools/bat-dump/CMakeLists.txt
index 037b7d2662ae..27757568fa9c 100644
--- a/bolt/tools/bat-dump/CMakeLists.txt
+++ b/bolt/tools/bat-dump/CMakeLists.txt
@@ -5,8 +5,6 @@ set(LLVM_LINK_COMPONENTS
add_bolt_executable(llvm-bat-dump
bat-dump.cpp
-
- DISABLE_LLVM_LINK_LLVM_DYLIB
)
target_link_libraries(llvm-bat-dump
diff --git a/bolt/tools/binary-analysis/CMakeLists.txt b/bolt/tools/binary-analysis/CMakeLists.txt
index 29f224e0f66f..d999762b562f 100644
--- a/bolt/tools/binary-analysis/CMakeLists.txt
+++ b/bolt/tools/binary-analysis/CMakeLists.txt
@@ -7,7 +7,6 @@ set(LLVM_LINK_COMPONENTS
add_bolt_tool(llvm-bolt-binary-analysis
binary-analysis.cpp
- DISABLE_LLVM_LINK_LLVM_DYLIB
)
target_link_libraries(llvm-bolt-binary-analysis
diff --git a/bolt/tools/driver/CMakeLists.txt b/bolt/tools/driver/CMakeLists.txt
index 4b3c7416de97..5103b1530a4e 100644
--- a/bolt/tools/driver/CMakeLists.txt
+++ b/bolt/tools/driver/CMakeLists.txt
@@ -14,8 +14,6 @@ endif()
add_bolt_tool(llvm-bolt
llvm-bolt.cpp
- DISABLE_LLVM_LINK_LLVM_DYLIB
-
DEPENDS
${BOLT_DRIVER_DEPS}
)
diff --git a/bolt/tools/heatmap/CMakeLists.txt b/bolt/tools/heatmap/CMakeLists.txt
index c5d3f6741392..27094622fabf 100644
--- a/bolt/tools/heatmap/CMakeLists.txt
+++ b/bolt/tools/heatmap/CMakeLists.txt
@@ -7,7 +7,6 @@ set(LLVM_LINK_COMPONENTS
add_bolt_tool(llvm-bolt-heatmap
heatmap.cpp
- DISABLE_LLVM_LINK_LLVM_DYLIB
)
target_link_libraries(llvm-bolt-heatmap
diff --git a/bolt/tools/llvm-bolt-fuzzer/CMakeLists.txt b/bolt/tools/llvm-bolt-fuzzer/CMakeLists.txt
index 7eaacb74a9da..9a19ae7aa483 100644
--- a/bolt/tools/llvm-bolt-fuzzer/CMakeLists.txt
+++ b/bolt/tools/llvm-bolt-fuzzer/CMakeLists.txt
@@ -4,8 +4,6 @@ set(LLVM_LINK_COMPONENTS
add_llvm_fuzzer(llvm-bolt-fuzzer
llvm-bolt-fuzzer.cpp
-
- DISABLE_LLVM_LINK_LLVM_DYLIB
)
if (TARGET llvm-bolt-fuzzer)
diff --git a/bolt/tools/merge-fdata/CMakeLists.txt b/bolt/tools/merge-fdata/CMakeLists.txt
index f6a87a226898..5110301c6103 100644
--- a/bolt/tools/merge-fdata/CMakeLists.txt
+++ b/bolt/tools/merge-fdata/CMakeLists.txt
@@ -3,8 +3,6 @@ set(LLVM_LINK_COMPONENTS Support)
add_bolt_tool(merge-fdata
merge-fdata.cpp
- DISABLE_LLVM_LINK_LLVM_DYLIB
-
DEPENDS
intrinsics_gen
)
diff --git a/bolt/unittests/Core/CMakeLists.txt b/bolt/unittests/Core/CMakeLists.txt
index 297dec744920..fd4f616095b2 100644
--- a/bolt/unittests/Core/CMakeLists.txt
+++ b/bolt/unittests/Core/CMakeLists.txt
@@ -11,13 +11,6 @@ add_bolt_unittest(CoreTests
MCPlusBuilder.cpp
MemoryMaps.cpp
DynoStats.cpp
-
- # FIXME CoreTests uses `llvm::detail::TakeError(llvm::Error)`, but linking
- # to LLVMTestingSupport introduces a transitive dependency on the
- # dynamic LLVM library when LLVM_LINK_LLVM_DYLIB is ON.
- ${LLVM_MAIN_SRC_DIR}/lib/Testing/Support/Error.cpp
-
- DISABLE_LLVM_LINK_LLVM_DYLIB
)
target_link_libraries(CoreTests
@@ -26,6 +19,7 @@ target_link_libraries(CoreTests
LLVMBOLTRewrite
LLVMBOLTProfile
LLVMBOLTUtils
+ LLVMTestingSupport
)
foreach (tgt ${BOLT_TARGETS_TO_BUILD})
diff --git a/bolt/unittests/Profile/CMakeLists.txt b/bolt/unittests/Profile/CMakeLists.txt
index ce01c6c4b949..6cc1dc4c7b6b 100644
--- a/bolt/unittests/Profile/CMakeLists.txt
+++ b/bolt/unittests/Profile/CMakeLists.txt
@@ -7,8 +7,6 @@ set(LLVM_LINK_COMPONENTS
add_bolt_unittest(ProfileTests
DataAggregator.cpp
PerfSpeEvents.cpp
-
- DISABLE_LLVM_LINK_LLVM_DYLIB
)
target_link_libraries(ProfileTests
diff --git a/llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.h b/llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.h
index 1a26336d1e72..dd1e94cf185b 100644
--- a/llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.h
+++ b/llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.h
@@ -12,6 +12,9 @@
#ifndef LLVM_LIB_TARGET_X86_X86ENCODINGOPTIMIZATION_H
#define LLVM_LIB_TARGET_X86_X86ENCODINGOPTIMIZATION_H
+
+#include "llvm/Support/Compiler.h"
+
namespace llvm {
class MCInst;
class MCInstrDesc;
@@ -23,6 +26,7 @@ bool optimizeMOVSX(MCInst &MI);
bool optimizeINCDEC(MCInst &MI, bool In64BitMode);
bool optimizeMOV(MCInst &MI, bool In64BitMode);
bool optimizeToFixedRegisterOrShortImmediateForm(MCInst &MI);
+LLVM_EXTERNAL_VISIBILITY
unsigned getOpcodeForShortImmediateForm(unsigned Opcode);
unsigned getOpcodeForLongImmediateForm(unsigned Opcode);
} // namespace X86
diff --git a/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h b/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
index 0e0e13e896ae..c6b87959e353 100644
--- a/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
+++ b/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
@@ -85,6 +85,7 @@ bool is64BitMemOperand(const MCInst &MI, unsigned Op);
#endif
/// Returns true if this instruction needs an Address-Size override prefix.
+LLVM_EXTERNAL_VISIBILITY
bool needsAddressSizeOverride(const MCInst &MI, const MCSubtargetInfo &STI,
int MemoryOperand, uint64_t TSFlags);
@@ -151,6 +152,7 @@ createX86WinCOFFObjectWriter(bool Is64Bit);
/// \param High requires the high register.
///
/// \returns the sub or super register of a specific X86 register.
+LLVM_EXTERNAL_VISIBILITY
MCRegister getX86SubSuperRegister(MCRegister Reg, unsigned Size,
bool High = false);
} // End llvm namespace
+24
View File
@@ -0,0 +1,24 @@
diff --git a/bolt/runtime/hugify.cpp b/bolt/runtime/hugify.cpp
index de896307f24f..d972ff9853cc 100644
--- a/bolt/runtime/hugify.cpp
+++ b/bolt/runtime/hugify.cpp
@@ -6,7 +6,8 @@
//
//===---------------------------------------------------------------------===//
-#if (defined(__x86_64__) || defined(__aarch64__) || defined(__arm64__)) && \
+#if (defined(__x86_64__) || defined(__aarch64__) || defined(__arm64__) || \
+ defined(__riscv)) && \
!defined(__APPLE__)
#include "common.h"
@@ -181,6 +182,9 @@ extern "C" __attribute((naked)) void __bolt_hugify_self() {
"add x16, x16, #:lo12:__bolt_hugify_start_program\n"
"br x16\n"
:::);
+#elif defined(__riscv)
+ __asm__ __volatile__(SAVE_ALL "jal __bolt_hugify_self_impl\n" RESTORE_ALL
+ "tail __bolt_hugify_start_program");
#else
__exit(1);
#endif
+10
View File
@@ -0,0 +1,10 @@
--- a/llvm/test/CMakeLists.txt
+++ b/llvm/test/CMakeLists.txt
@@ -101,7 +101,6 @@ set(LLVM_TEST_DEPENDS
llvm-dwarfdump
llvm-dwarfutil
llvm-dwp
- llvm-exegesis
llvm-extract
llvm-gsymutil
llvm-ir2vec
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:86bee62404424eeafdf2c41c2b362487eb70cf9236de9a5bc497cde5a735827a
size 4899124
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:08c8c7d944da44d54c7c68ddc4bfbc51a05f8117dd893d4cdc33b4909e2e9334
size 4899084
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:500fd0c5736fb696d776a25bf08f06ae3a1e29f28975818518115f0ad115f3e4
size 4899052
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1d4314e44e3261aa6ff0208a8d4cc3467c82b2138e342d4aa4dfdd2cf6bd62ee
size 4899836
+13
View File
@@ -0,0 +1,13 @@
Index: clang/lib/Driver/Distro.cpp
===================================================================
--- clang/lib/Driver/Distro.cpp
+++ clang/lib/Driver/Distro.cpp
@@ -221,7 +221,7 @@ static Distro::DistroType GetDistro(llvm
const llvm::Triple &TargetOrHost) {
// If we don't target Linux, no need to check the distro. This saves a few
// OS calls.
- if (!TargetOrHost.isOSLinux())
+ if (!TargetOrHost.isOSLinux() || TargetOrHost.isAndroid())
return Distro::UnknownDistro;
// True if we're backed by a real file system.
+13
View File
@@ -0,0 +1,13 @@
Index: clang/lib/Options/OptionUtils.cpp
===================================================================
--- clang/lib/Options/OptionUtils.cpp
+++ clang/lib/Options/OptionUtils.cpp
@@ -213,7 +213,7 @@
// Dir is bin/ or lib/, depending on where BinaryPath is.
StringRef Dir = llvm::sys::path::parent_path(BinaryPath);
- SmallString<128> P(Dir);
+ SmallString<128> P((Dir != "") ? Dir : "/usr/bin/");
StringRef ConfiguredResourceDir(CLANG_RESOURCE_DIR);
if (!ConfiguredResourceDir.empty()) {
+42
View File
@@ -0,0 +1,42 @@
From b8f0a54020fc65ed47e88ed9d949fd8fcf0fe149 Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@suse.de>
Date: Mon, 20 Oct 2025 14:20:19 +0200
Subject: [PATCH] [Driver] Add missing triple to RISCV64Triples
Fixes #164228
---
clang/lib/Driver/ToolChains/Gnu.cpp | 4 ++--
clang/test/Driver/linux-ld.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
index f5e265585743..a3c4fb823018 100644
--- a/clang/lib/Driver/ToolChains/Gnu.cpp
+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
@@ -2436,8 +2436,8 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
static const char *const RISCV32Triples[] = {"riscv32-unknown-linux-gnu",
"riscv32-unknown-elf"};
static const char *const RISCV64LibDirs[] = {"/lib64", "/lib"};
- static const char *const RISCV64Triples[] = {"riscv64-unknown-linux-gnu",
- "riscv64-unknown-elf"};
+ static const char *const RISCV64Triples[] = {
+ "riscv64-unknown-linux-gnu", "riscv64-suse-linux", "riscv64-unknown-elf"};
static const char *const SPARCv8LibDirs[] = {"/lib32", "/lib"};
static const char *const SPARCv8Triples[] = {"sparc-linux-gnu",
diff --git a/clang/test/Driver/linux-ld.c b/clang/test/Driver/linux-ld.c
index be3293cdc253..9da0b79aa587 100644
--- a/clang/test/Driver/linux-ld.c
+++ b/clang/test/Driver/linux-ld.c
@@ -711,7 +711,7 @@
// RUN: --sysroot=%S/Inputs/opensuse_tumbleweed_riscv64_tree \
// RUN: | FileCheck --check-prefix=CHECK-OPENSUSE-TW-RISCV64 %s
// RUN: %clang -### %s -no-pie 2>&1 \
-// RUN: --target=riscv64-suse-linux -rtlib=platform --unwindlib=platform \
+// RUN: --target=riscv64-unknown-linux-gnu -rtlib=platform --unwindlib=platform \
// RUN: --sysroot=%S/Inputs/opensuse_tumbleweed_riscv64_tree \
// RUN: | FileCheck --check-prefix=CHECK-OPENSUSE-TW-RISCV64 %s
// CHECK-OPENSUSE-TW-RISCV64: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]"
--
2.52.0
+12
View File
@@ -0,0 +1,12 @@
diff --git a/llvm/cmake/modules/LLVMExternalProjectUtils.cmake b/llvm/cmake/modules/LLVMExternalProjectUtils.cmake
index 975798a8c263..cbb9b62ec277 100644
--- a/llvm/cmake/modules/LLVMExternalProjectUtils.cmake
+++ b/llvm/cmake/modules/LLVMExternalProjectUtils.cmake
@@ -170,6 +170,7 @@ function(llvm_ExternalProject_Add name source_dir)
endif ()
set(DEFAULT_PASSTHROUGH_VARIABLES
+ LLVM_LIBDIR_SUFFIX
LibEdit_INCLUDE_DIRS
LibEdit_LIBRARIES
ZLIB_INCLUDE_DIR
+15
View File
@@ -0,0 +1,15 @@
Index: clang/lib/Driver/ToolChains/Arch/X86.cpp
===================================================================
--- clang/lib/Driver/ToolChains/Arch/X86.cpp
+++ clang/lib/Driver/ToolChains/Arch/X86.cpp
@@ -102,8 +102,8 @@ const char *x86::getX86TargetCPU(const A
case llvm::Triple::FreeBSD:
return "i686";
default:
- // Fallback to p4.
- return "pentium4";
+ // Fallback to i586.
+ return "i586";
}
}
+15
View File
@@ -0,0 +1,15 @@
--- a/libcxx/test/configs/llvm-libc++-shared.cfg.in
+++ b/libcxx/test/configs/llvm-libc++-shared.cfg.in
@@ -10,10 +10,10 @@ config.substitutions.append(('%{compile_flags}',
'-nostdinc++ -I %{target-include-dir} -I %{include-dir} -I %{libcxx-dir}/test/support'
))
config.substitutions.append(('%{link_flags}',
- '-nostdlib++ -L %{lib-dir} -Wl,-rpath,%{lib-dir} -lc++'
+ '-nostdlib++ -L %{lib-dir} -lc++'
))
config.substitutions.append(('%{exec}',
- '%{executor} --execdir %{temp} -- '
+ '%{executor} --execdir %{temp} --env LD_LIBRARY_PATH=%{lib} -- '
))
import os, site
+49
View File
@@ -0,0 +1,49 @@
diff --git a/clang/tools/c-index-test/CMakeLists.txt b/clang/tools/c-index-test/CMakeLists.txt
index 24e7c96..3b38a22 100644
--- a/clang/tools/c-index-test/CMakeLists.txt
+++ b/clang/tools/c-index-test/CMakeLists.txt
@@ -18,6 +18,9 @@ if (LLVM_BUILD_STATIC)
target_link_libraries(c-index-test
PRIVATE
libclang_static
+ )
+ clang_target_link_libraries(c-index-test
+ PRIVATE
clangCodeGen
clangIndex
)
@@ -25,6 +28,9 @@ else()
target_link_libraries(c-index-test
PRIVATE
libclang
+ )
+ clang_target_link_libraries(c-index-test
+ PRIVATE
clangAST
clangBasic
clangDriver
diff --git a/clang/tools/libclang/CMakeLists.txt b/clang/tools/libclang/CMakeLists.txt
index 4f23065..343f977 100644
--- a/clang/tools/libclang/CMakeLists.txt
+++ b/clang/tools/libclang/CMakeLists.txt
@@ -57,7 +57,7 @@ set(SOURCES
../../include/clang-c/Index.h
)
-set(LIBS
+set(CLANG_LIB_DEPS
clangAST
clangBasic
clangDriver
@@ -149,6 +149,11 @@ add_clang_library(libclang ${ENABLE_SHARED} ${ENABLE_STATIC} INSTALL_WITH_TOOLCH
TargetParser
)
+clang_target_link_libraries(libclang
+ PRIVATE
+ ${CLANG_LIB_DEPS}
+ )
+
if(ENABLE_STATIC)
foreach(name libclang obj.libclang libclang_static)
if (TARGET ${name})
+62
View File
@@ -0,0 +1,62 @@
diff --git a/clang-tools-extra/clang-include-fixer/plugin/CMakeLists.txt b/clang-tools-extra/clang-include-fixer/plugin/CMakeLists.txt
index 6d0328ed831..d531e44743a 100644
--- a/clang-tools-extra/clang-include-fixer/plugin/CMakeLists.txt
+++ b/clang-tools-extra/clang-include-fixer/plugin/CMakeLists.txt
@@ -2,16 +2,19 @@ add_clang_library(clangIncludeFixerPlugin
IncludeFixerPlugin.cpp
LINK_LIBS
+ clangIncludeFixer
+ ${LLVM_PTHREAD_LIB}
+
+ DEPENDS
+ omp_gen
+ ClangDriverOptions
+ )
+clang_target_link_libraries(clangIncludeFixerPlugin
+ PRIVATE
clangAST
clangBasic
clangFrontend
- clangIncludeFixer
clangParse
clangSema
clangTooling
- ${LLVM_PTHREAD_LIB}
-
- DEPENDS
- omp_gen
- ClangDriverOptions
)
diff --git a/clang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt b/clang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt
index 8f708cacfdf..b08e9cee954 100644
--- a/clang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt
+++ b/clang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt
@@ -32,18 +32,21 @@ add_clang_library(clangDaemonTweaks OBJECT
SwapIfBranches.cpp
LINK_LIBS
- clangAST
- clangBasic
clangDaemon
clangdSupport
+
+ DEPENDS
+ omp_gen
+ ClangDriverOptions
+ )
+
+clang_target_link_libraries(clangDaemonTweaks INTERFACE
+ clangAST
+ clangBasic
clangFormat
clangLex
clangSema
clangToolingCore
clangToolingRefactoring
clangToolingSyntax
-
- DEPENDS
- omp_gen
- ClangDriverOptions
)
+13
View File
@@ -0,0 +1,13 @@
Index: lldb/source/Host/CMakeLists.txt
===================================================================
--- lldb/source/Host/CMakeLists.txt
+++ lldb/source/Host/CMakeLists.txt
@@ -143,6 +143,8 @@ endif()
set(EXTRA_LIBS)
if (CMAKE_SYSTEM_NAME MATCHES "NetBSD")
list(APPEND EXTRA_LIBS kvm)
+elseif (CMAKE_SYSTEM_NAME MATCHES "Linux")
+ list(APPEND EXTRA_LIBS dl pthread)
endif()
if (LLDB_ENABLE_LIBXML2)
list(APPEND EXTRA_LIBS LibXml2::LibXml2)
+149
View File
@@ -0,0 +1,149 @@
This has similar effect as simply deleting the static libraries which we don't
want after installation. By not copying them in the first place we reduce the
disk usage during installation.
Index: clang/cmake/modules/AddClang.cmake
===================================================================
--- a/clang/cmake/modules/AddClang.cmake
+++ b/clang/cmake/modules/AddClang.cmake
@@ -106,12 +106,15 @@ macro(add_clang_library name)
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ARG_INSTALL_WITH_TOOLCHAIN)
get_target_export_arg(${name} Clang export_to_clangtargets UMBRELLA clang-libraries)
- install(TARGETS ${lib}
- COMPONENT ${lib}
- ${export_to_clangtargets}
- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
+ if (ARG_SHARED OR ARG_MODULE)
+ install(TARGETS ${lib}
+ COMPONENT ${lib}
+ ${export_to_clangtargets}
+ LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
+ ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
+ set_property(GLOBAL APPEND PROPERTY CLANG_EXPORTS ${lib})
+ endif()
if (NOT LLVM_ENABLE_IDE)
add_llvm_install_targets(install-${lib}
@@ -121,7 +124,6 @@ macro(add_clang_library name)
set_property(GLOBAL APPEND PROPERTY CLANG_LIBS ${lib})
endif()
- set_property(GLOBAL APPEND PROPERTY CLANG_EXPORTS ${lib})
else()
# Add empty "phony" target
add_custom_target(${lib})
Index: llvm/cmake/modules/AddLLVM.cmake
===================================================================
--- a/llvm/cmake/modules/AddLLVM.cmake
+++ b/llvm/cmake/modules/AddLLVM.cmake
@@ -972,21 +972,24 @@
else()
get_target_export_arg(${name} LLVM export_to_llvmexports ${umbrella})
endif()
- install(TARGETS ${name}
- ${export_to_llvmexports}
- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name}
- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name}
- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT ${name})
+ if(ARG_SHARED OR ARG_MODULE OR NOT LLVM_BUILD_LLVM_DYLIB)
+ install(TARGETS ${name}
+ ${export_to_llvmexports}
+ LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name}
+ ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name}
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT ${name})
+ if(NOT ARG_NO_EXPORT)
+ set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
+ endif()
+ endif()
+
if (NOT LLVM_ENABLE_IDE)
add_llvm_install_targets(install-${name}
DEPENDS ${name}
COMPONENT ${name})
endif()
endif()
- if(NOT ARG_NO_EXPORT)
- set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
- endif()
endif()
get_subproject_title(subproject_title)
Index: lld/cmake/modules/AddLLD.cmake
===================================================================
--- a/lld/cmake/modules/AddLLD.cmake
+++ b/lld/cmake/modules/AddLLD.cmake
@@ -14,13 +14,6 @@ macro(add_lld_library name)
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
get_target_export_arg(${name} LLD export_to_lldtargets UMBRELLA lld-libraries)
- install(TARGETS ${name}
- COMPONENT ${name}
- ${export_to_lldtargets}
- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
-
if (NOT CMAKE_CONFIGURATION_TYPES)
add_llvm_install_targets(install-${name}
DEPENDS ${name}
Index: polly/cmake/polly_macros.cmake
===================================================================
--- a/polly/cmake/polly_macros.cmake
+++ b/polly/cmake/polly_macros.cmake
@@ -43,16 +43,18 @@
if (LLVM_POLLY_LINK_INTO_TOOLS)
set(exports EXPORT LLVMExports)
endif()
- install(TARGETS ${name}
- COMPONENT ${name}
- ${exports}
- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
- add_llvm_install_targets(install-${name}
- COMPONENT ${name})
- endif()
- if (LLVM_POLLY_LINK_INTO_TOOLS)
- set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
+ if (MODULE OR SHARED_LIBRARY OR NOT LLVM_BUILD_LLVM_DYLIB)
+ install(TARGETS ${name}
+ COMPONENT ${name}
+ ${exports}
+ LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
+ ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
+ add_llvm_install_targets(install-${name}
+ COMPONENT ${name})
+ if (LLVM_POLLY_LINK_INTO_TOOLS)
+ set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
+ endif()
+ endif()
endif()
endmacro(add_polly_library)
macro(add_polly_loadable_module name)
Index: polly/lib/CMakeLists.txt
===================================================================
--- a/polly/lib/CMakeLists.txt
+++ b/polly/lib/CMakeLists.txt
@@ -109,7 +109,7 @@ set_target_properties(PollyCore PROPERTI
# It depends on all library it needs, such that with
# LLVM_POLLY_LINK_INTO_TOOLS=ON, its dependencies like PollyISL are linked as
# well.
-target_link_libraries(Polly PUBLIC
+target_link_libraries(Polly PRIVATE
${ISL_TARGET}
)
@@ -130,7 +130,7 @@ else ()
# to be already available in the address space the module is loaded into.
# Adding them once more would have the effect that both copies try to register
# the same command line options, to which LLVM reacts with an error.
- target_link_libraries(LLVMPolly PUBLIC ${ISL_TARGET})
+ target_link_libraries(LLVMPolly PRIVATE ${ISL_TARGET})
set_target_properties(LLVMPolly
PROPERTIES
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:880f67b212d6b85f45db7982c6f6a17ba7a8e2797f8953c743b4468758d23ce7
size 8988676
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:07a5232b885853339f5c90d2479b458c1e7ed0125359c6f828d0e1381ac50293
size 8989604
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7bc7b7eb14d0ead3970d26d0ee0c43febc400e6505568094b669c92376f29c4c
size 8988820
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:122c8b6473d58b381d469c27b8dc055cdf0ae7d660d8d0be909ce23b7a7e39e9
size 8989204
+13
View File
@@ -0,0 +1,13 @@
diff --git a/llvm/test/tools/llvm-cov/mcdc-export-json.test b/llvm/test/tools/llvm-cov/mcdc-export-json.test
index c2cebf52db8c..a55d7400c51e 100644
--- a/llvm/test/tools/llvm-cov/mcdc-export-json.test
+++ b/llvm/test/tools/llvm-cov/mcdc-export-json.test
@@ -5,7 +5,7 @@
// CHECK: 15,7,15,13,1,2,0,0,5,[true,true],[{"conditions":[false,null],"executed":true,"result":false},{"conditions":[true,false],"executed":true,"result":false},{"conditions":[true,true],"executed":true,"result":true}]
// CHECK: 15,19,15,25,1,1,0,0,5,[true,false],[{"conditions":[false,null],"executed":true,"result":false},{"conditions":[true,true],"executed":true,"result":true}]
// CHECK: 18,7,19,15,1,3,0,0,5,[true,true,false,true],[{"conditions":[false,null,null,null],"executed":true,"result":false},{"conditions":[true,false,null,null],"executed":true,"result":false},{"conditions":[true,true,true,false],"executed":true,"result":false},{"conditions":[true,true,true,true],"executed":true,"result":true}]
-// CHECK: "mcdc":{"count":12,"covered":10,"notcovered":2,"percent":83.333333333333343}
+// CHECK: "mcdc":{"count":12,"covered":10,"notcovered":2,"percent":83.3333333333333{{([[:digit:]]{2})}}}
Instructions for regenerating the test:
+13
View File
@@ -0,0 +1,13 @@
Index: clang/lib/Driver/ToolChains/Gnu.cpp
===================================================================
--- clang/lib/Driver/ToolChains/Gnu.cpp
+++ clang/lib/Driver/ToolChains/Gnu.cpp
@@ -2179,7 +2179,7 @@ Generic_GCC::GCCVersion Generic_GCC::GCC
return GoodVersion;
}
- if (!TryParseNumber(MinorStr, GoodVersion.Minor))
+ if (!MinorStr.str().empty() && !TryParseNumber(MinorStr, GoodVersion.Minor))
return BadVersion;
GoodVersion.MinorStr = MinorStr;
+66
View File
@@ -0,0 +1,66 @@
Before llvm4, both major and minor version updates of llvm were regularly
breaking API. Because of that, the libLLVM library was named in following
format: libLLVM-${major}-${minor}.so
(https://bugs.llvm.org/show_bug.cgi?id=25059)
(https://reviews.llvm.org/D13841)
The package containing this library was called libLLVM${major}_${minor} which
follows our guidelines.
Since llvm4, llvm decided to follow semantic versioning and only break API if
the major version was increased. In addition they do not intend to ever have
minor version other than 0.
(http://blog.llvm.org/2016/12/llvms-new-versioning-scheme.html)
The package was renamed to libLLVM${major}, which no longer follows the naming
guidelines, but since the package contained multiple libraries, it was not
detected.
Since bnc#1049703 the libLLVM${major} package contains only the
libLLVM-${major}-${minor}.so library and no others. This triggers the
shlib-policy-name-error check in our packaging system.
Because the reasons for using the libLLVM-${major}-${minor}.so format are no
longer valid, lets revert back to libLLVM.so.${major}.${minor}.${version}
format. That way the package name matches our guidelines.
With llvm18, the minor version is now always 1 for releases, and upstream
decided to rename the library to libLLVM.so.${major}.${minor}, but keep the
old name as symbolic link for backwards compatibility. That is of course
not relevant for us.
Index: llvm/tools/llvm-config/llvm-config.cpp
===================================================================
--- llvm/tools/llvm-config/llvm-config.cpp
+++ llvm/tools/llvm-config/llvm-config.cpp
@@ -380,7 +380,6 @@ int main(int argc, char **argv) {
} else {
// default to the unix values:
SharedExt = "so";
- SharedVersionedExt = LLVM_DYLIB_VERSION ".so";
StaticExt = "a";
StaticDir = SharedDir = ActiveLibDir;
StaticPrefix = SharedPrefix = "lib";
@@ -393,7 +392,7 @@ int main(int argc, char **argv) {
bool DyLibExists = false;
const std::string DyLibName =
- (SharedPrefix + "LLVM-" + SharedVersionedExt).str();
+ (SharedPrefix + "LLVM." + SharedExt).str();
// If LLVM_LINK_DYLIB is ON, the single shared library will be returned
// for "--libs", etc, if they exist. This behaviour can be overridden with
Index: llvm/tools/llvm-shlib/CMakeLists.txt
===================================================================
--- llvm/tools/llvm-shlib/CMakeLists.txt
+++ llvm/tools/llvm-shlib/CMakeLists.txt
@@ -37,8 +37,6 @@ if (WIN32 OR CYGWIN)
add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${INSTALL_WITH_TOOLCHAIN} ${SOURCES})
else()
add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB OUTPUT_NAME LLVM ${INSTALL_WITH_TOOLCHAIN} ${SOURCES})
- # Add symlink for backwards compatibility with old library name
- llvm_install_library_symlink(LLVM-${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX} $<TARGET_FILE_NAME:LLVM> SHARED FULL_DEST COMPONENT LLVM)
endif()
if (MINGW OR CYGWIN)
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3e68c90dda630c27d41d201e37b8bbf5222e39b273dec5ca880709c69e0a07d4
size 167028880
Binary file not shown.
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7972b87b705a003ce70ab55f9f0fb495d156887cba0eb296d284731139118e2c
size 167058820
Binary file not shown.
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5cc4a3f12bba50b6bdfb4b61bdc852117a0ff2517807c3902fc13267fb93562e
size 167066344
Binary file not shown.
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:922f1817a0df7b1489272d18134ee0087a8b068828f87ac63b9861b1a9965888
size 167061596
Binary file not shown.
+14
View File
@@ -0,0 +1,14 @@
diff --git a/llvm/include/llvm/TargetParser/Triple.h b/llvm/include/llvm/TargetParser/Triple.h
index d2126a0..eaf7599 100644
--- a/llvm/include/llvm/TargetParser/Triple.h
+++ b/llvm/include/llvm/TargetParser/Triple.h
@@ -614,7 +614,8 @@ public:
Env == Triple::GNUEABI || Env == Triple::GNUEABIT64 ||
Env == Triple::GNUEABIHF || Env == Triple::GNUEABIHFT64 ||
Env == Triple::GNUF32 || Env == Triple::GNUF64 ||
- Env == Triple::GNUSF || Env == Triple::GNUX32;
+ Env == Triple::GNUSF || Env == Triple::GNUX32 ||
+ (Env == Triple::UnknownEnvironment && getVendor() == Triple::SUSE);
}
/// Tests whether the OS is Haiku.
@@ -0,0 +1,14 @@
diff --git a/llvm/include/llvm/Support/Casting.h b/llvm/include/llvm/Support/Casting.h
index 4ff5865..19623f6 100644
--- a/llvm/include/llvm/Support/Casting.h
+++ b/llvm/include/llvm/Support/Casting.h
@@ -661,6 +661,9 @@ template <typename To, typename From>
template <typename To, typename From>
[[nodiscard]] inline decltype(auto) dyn_cast(From *Val) {
assert(detail::isPresent(Val) && "dyn_cast on a non-existent value");
+#if defined(__clang__) && defined(NDEBUG)
+ __builtin_assume(Val);
+#endif
return CastInfo<To, From *>::doCastIfPossible(Val);
}
+22
View File
@@ -0,0 +1,22 @@
# This line is mandatory to access the configuration functions
from Config import *
addFilter("devel-file-in-non-devel-package .*/clang/.*/include/.*")
addFilter("devel-file-in-non-devel-package .*/clang/.*/lib/.*")
addFilter("devel-file-in-non-devel-package .*/usr/include/.*")
addFilter("devel-file-in-non-devel-package .*/lib.*/*.a")
addFilter("devel-file-in-non-devel-package .*/lib.*/*.so")
# We're deliberately conflicting with SLE. (https://code.opensuse.org/leap/features/issue/55)
addFilter("SUSE_Backports_policy-SLE_conflict")
# Archive seems to be deliberately empty on some architectures.
addFilter("lto-no-text-in-archive .*/lib.*/clang/.*/lib/linux/libclang_rt.asan_static-.*.a")
# LLVM IR archive for OpenMP offloading, deliberately contains no object code.
addFilter("lto-no-text-in-archive .*/lib.*/libomptarget.devicertl.a")
# Different versions of LLVM can produce the same SONAME, so we'll have to use
# non-standard names sometimes. (Leap's rpmlint complains, Tumbleweed's doesn't.)
addFilter("shlib-policy-name-error")
+234
View File
@@ -0,0 +1,234 @@
# Tobias Hieta <tobias@hieta.se>
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
9RmlwZlOTFGcWBYl/cfRONn9qi9a6w==
=Lvw+
-----END PGP PUBLIC KEY BLOCK-----
# Tom Stellard <tstellar@redhat.com>
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
pGgAsOk/q/OlhWqcrlM=
=bEwW
-----END PGP PUBLIC KEY BLOCK-----
# Hans Wennborg <hans@chromium.org>
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
6U4RlBcEgKU=
=43Mw
-----END PGP PUBLIC KEY BLOCK-----
# Muhammad Omair Javaid (LLVM Release Signing Key) <omair.javaid@linaro.org>
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEZw7PSRYJKwYBBAHaRw8BAQdABNbFOdYdCukaIGdkMQpHrSeDIZt/7bUSVwYD
dX7JnHy0Sk11aGFtbWFkIE9tYWlyIEphdmFpZCAoTExWTSBSZWxlYXNlIFNpZ25p
bmcgS2V5KSA8b21haXIuamF2YWlkQGxpbmFyby5vcmc+iJMEExYKADsWIQQPuWgk
YG0V/dVMPQkv/GKdP1Y73AUCZw7PSQIbAwULCQgHAgIiAgYVCgkICwIEFgIDAQIe
BwIXgAAKCRAv/GKdP1Y73LHWAPoDDIf+zv4qbPmdSNN1JwjB6/U+3ZfW0bDhrxhF
1TzU9gEAyeG9bPukFmygisr2FBt+YV0Xe/il5zhYfTyP4pNNqQq4OARnDs9JEgor
BgEEAZdVAQUBAQdA8W6MXoRWNhKJEWM/AgeJwy19kkflnK+yFVEXnWaPXGIDAQgH
iHgEGBYKACAWIQQPuWgkYG0V/dVMPQkv/GKdP1Y73AUCZw7PSQIbDAAKCRAv/GKd
P1Y73KmXAP0R/TCQcZy3E2eqgBhVUY3/0N0amRWDjssxw/O/7P/PcwD/aFQdB9Vt
f9xntjl+EcZ58U5mbwhBTYLmHpCqZUP+ugk=
=s2el
-----END PGP PUBLIC KEY BLOCK-----
# Cullen Rhodes <Cullen.Rhodes@arm.com>
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEaMgtRhYJKwYBBAHaRw8BAQdA4NRjJPhVd56sOM+QmTbZKkRT3bYbgg6+Bxed
CELeGp+0JUN1bGxlbiBSaG9kZXMgPGN1bGxlbi5yaG9kZXNAYXJtLmNvbT6IkwQT
FgoAOxYhBHEEbR6cZla91hFxhz6Dur9KT56FBQJoyC1GAhsDBQsJCAcCAiICBhUK
CQgLAgQWAgMBAh4HAheAAAoJED6Dur9KT56FkVwA/RLNMBHrjXoAKpRm1iIjiC6w
gLRqGOnj1qAqPqgntMmmAQCQ2lGpw46rvh88ng84IGsRF0JlTAYb6SR/YYNsQyah
Arg4BGjILUYSCisGAQQBl1UBBQEBB0B48hCLw13kduwibGDGoIax0BIa+f66IUC+
HhNlucsjbgMBCAeIeAQYFgoAIBYhBHEEbR6cZla91hFxhz6Dur9KT56FBQJoyC1G
AhsMAAoJED6Dur9KT56FVssBAO1lL/S2cU65XFHgbjc6crwljDrD7PYbxBA7hDpi
pC4ZAP98rK1hGQ5wxpeiJ0heZ8zhpdUwEeymIDBaIcwgrJRFBQ==
=HcEB
-----END PGP PUBLIC KEY BLOCK-----
# Douglas Yung <douglas.yung@sony.com>
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEaMg2hBYJKwYBBAHaRw8BAQdA2J814YnhPQSdsyjwx8VxZ7AitqCnns9lzvkx
HX9lWMW0JERvdWdsYXMgWXVuZyA8ZG91Z2xhcy55dW5nQHNvbnkuY29tPoiTBBMW
CgA7FiEE/7M2iYDz5rtXNxRaMWxW0GTKy6UFAmjINoQCGwMFCwkIBwICIgIGFQoJ
CAsCBBYCAwECHgcCF4AACgkQMWxW0GTKy6XjYgEApJ7p+o7EAeaaOdO2f440KDfg
t7haaBLaxr5fiaSKjkYA+gLDxWOh39Y84upf23qMmpSTZ3SK5LvJtBTVtV7AEX0B
uDgEaMg2hBIKKwYBBAGXVQEFAQEHQL3CL6jHZAakhtLLj2Ks34u7ItY/7USl/bYk
f/+mZTJMAwEIB4h4BBgWCgAgFiEE/7M2iYDz5rtXNxRaMWxW0GTKy6UFAmjINoQC
GwwACgkQMWxW0GTKy6VTOgEArDn9bg58W7bfZfVfneJJbIeICEf3NN9IovbRbAOB
ax0A/RxtrG4qowLlo907vb25ITOa1hBoheSV2wNoDaDUhFEF
=JQ8u
-----END PGP PUBLIC KEY BLOCK-----
@@ -0,0 +1,58 @@
The LLVMTableGen component is a special case that is excluded from libLLVM and
normally is only built as static library and linked into llvm-tblgen.
We need to have it as a shared library to be available for other projects such
as ldc.
This patch makes it even more special and forces it to be build and installed
as separate shared library.
Index: llvm/cmake/modules/AddLLVM.cmake
===================================================================
--- llvm/cmake/modules/AddLLVM.cmake
+++ llvm/cmake/modules/AddLLVM.cmake
@@ -541,7 +541,7 @@ function(llvm_add_library name)
if(ARG_MODULE AND LLVM_EXPORT_SYMBOLS_FOR_PLUGINS AND ARG_PLUGIN_TOOL AND (WIN32 OR CYGWIN))
# On DLL platforms symbols are imported from the tool by linking against it.
set(llvm_libs ${ARG_PLUGIN_TOOL})
- elseif (NOT ARG_COMPONENT_LIB)
+ elseif (NOT ARG_COMPONENT_LIB OR (${name} STREQUAL "LLVMTableGen" AND LLVM_BUILD_LLVM_DYLIB))
if (LLVM_LINK_LLVM_DYLIB AND NOT ARG_DISABLE_LLVM_LINK_LLVM_DYLIB)
set(llvm_libs LLVM)
else()
Index: llvm/cmake/modules/TableGen.cmake
===================================================================
--- llvm/cmake/modules/TableGen.cmake
+++ llvm/cmake/modules/TableGen.cmake
@@ -143,8 +143,8 @@ macro(add_tablegen target project)
set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS})
set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen)
- add_llvm_executable(${target} DISABLE_LLVM_LINK_LLVM_DYLIB
- ${ADD_TABLEGEN_UNPARSED_ARGUMENTS})
+ add_llvm_executable(${target} ${ADD_TABLEGEN_UNPARSED_ARGUMENTS})
+ target_link_libraries(${target} PRIVATE LLVMTableGen)
set(LLVM_LINK_COMPONENTS ${${target}_OLD_LLVM_LINK_COMPONENTS})
set(${project}_TABLEGEN_DEFAULT "${target}")
Index: llvm/lib/TableGen/CMakeLists.txt
===================================================================
--- llvm/lib/TableGen/CMakeLists.txt
+++ llvm/lib/TableGen/CMakeLists.txt
@@ -1,3 +1,7 @@
+if (LLVM_BUILD_LLVM_DYLIB)
+ set(MAYBE_SHARED SHARED)
+endif()
+
add_llvm_component_library(LLVMTableGen
DetailedRecordsBackend.cpp
Error.cpp
@@ -13,6 +17,8 @@ add_llvm_library(LLVMTableGen
TGParser.cpp
TGTimer.cpp
+ ${MAYBE_SHARED}
+
ADDITIONAL_HEADER_DIRS
${LLVM_MAIN_INCLUDE_DIR}/llvm/TableGen
+29
View File
@@ -0,0 +1,29 @@
--- a/llvm/cmake/modules/HandleLLVMOptions.cmake
+++ b/llvm/cmake/modules/HandleLLVMOptions.cmake
@@ -1314,26 +1314,6 @@ if(uppercase_LLVM_ENABLE_LTO STREQUAL "THIN")
if(NOT LINKER_IS_LLD_LINK)
append("-flto=thin" CMAKE_EXE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
endif()
- # If the linker supports it, enable the lto cache. This improves initial build
- # time a little since we re-link a lot of the same objects, and significantly
- # improves incremental build time.
- # FIXME: We should move all this logic into the clang driver.
- if(APPLE)
- append("-Wl,-cache_path_lto,${LLVM_THINLTO_CACHE_PATH}"
- CMAKE_EXE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
- elseif("${CMAKE_SYSTEM_NAME}" MATCHES "AIX")
- append("-bplugin_opt:-legacy-thinlto-cache-dir=${LLVM_THINLTO_CACHE_PATH}"
- CMAKE_EXE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
- elseif((UNIX OR MINGW) AND LLVM_USE_LINKER STREQUAL "lld")
- append("-Wl,--thinlto-cache-dir=${LLVM_THINLTO_CACHE_PATH}"
- CMAKE_EXE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
- elseif(LLVM_USE_LINKER STREQUAL "gold")
- append("-Wl,--plugin-opt,cache-dir=${LLVM_THINLTO_CACHE_PATH}"
- CMAKE_EXE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
- elseif(LINKER_IS_LLD_LINK)
- append("/lldltocache:${LLVM_THINLTO_CACHE_PATH}"
- CMAKE_EXE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
- endif()
elseif(uppercase_LLVM_ENABLE_LTO STREQUAL "FULL")
append("-flto=full" CMAKE_CXX_FLAGS CMAKE_C_FLAGS)
if(NOT LINKER_IS_LLD_LINK)
@@ -0,0 +1,16 @@
Index: llvm/tools/opt-viewer/opt-viewer.py
===================================================================
--- llvm/tools/opt-viewer/opt-viewer.py
+++ llvm/tools/opt-viewer/opt-viewer.py
@@ -363,10 +363,7 @@
output_dir, should_display_hotness, max_hottest_remarks_on_index
).render(sorted_remarks)
- shutil.copy(
- os.path.join(os.path.dirname(os.path.realpath(__file__)), "style.css"),
- output_dir,
- )
+ shutil.copy("/usr/share/opt-viewer/style.css", output_dir)
_render_file_bound = functools.partial(
_render_file, source_dir, output_dir, context, no_highlight
+30
View File
@@ -0,0 +1,30 @@
Index: llvm/test/BugPoint/compile-custom.ll.py
===================================================================
--- llvm/test/BugPoint/compile-custom.ll.py
+++ llvm/test/BugPoint/compile-custom.ll.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
from __future__ import print_function
Index: llvm/test/Other/opt-bisect-helper.py
===================================================================
--- llvm/test/Other/opt-bisect-helper.py
+++ llvm/test/Other/opt-bisect-helper.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
from __future__ import print_function
Index: llvm/test/TableGen/JSON-check.py
===================================================================
--- llvm/test/TableGen/JSON-check.py
+++ llvm/test/TableGen/JSON-check.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
import sys
import subprocess