Files
llvm21/llvm-workaround-superfluous-branches.patch
Aaron Puchert 5ab16e138d - Initial release based on version 21.1.0.
* For details, see the release notes:
    - https://releases.llvm.org/21.1.0/docs/ReleaseNotes.html
    - https://releases.llvm.org/21.1.0/tools/clang/docs/ReleaseNotes.html
    - https://releases.llvm.org/21.1.0/tools/clang/tools/extra/docs/ReleaseNotes.html
    - https://releases.llvm.org/21.1.0/projects/libcxx/docs/ReleaseNotes.html
    - https://releases.llvm.org/21.1.0/tools/lld/docs/ReleaseNotes.html
  * The LLVM tool llvm-ml is now also available as llvm-ml64.
  * Clang tools amdgpu-arch and nvptx-arch have been unified into a
    single tool offload-arch.
- Require libxml2 not only for lldb, because it is (optionally)
  also used in LLVM and Clang.
- Rebase patches:
  * assume-opensuse.patch
  * link-clang-shared.patch
  * llvm-do-not-install-static-libraries.patch
  * llvm-fix-cov-test-i586.patch
  * llvm-normally-versioned-libllvm.patch
- Remove obsolete patches:
  * reproducible.patch
- Add compiler-rt-fix-relative-path.patch to fix relative path in
  different directory layout.

OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm21?expand=0&rev=1
2025-09-08 16:07:45 +00:00

15 lines
567 B
Diff

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);
}