llvm19/llvm-workaround-superfluous-branches.patch
Aaron Puchert 84a2b56c53 - Update to version 19.1.6.
* This release contains bug-fixes for the LLVM 19.1.0 release.
    This release is API and ABI compatible with 19.1.0.
- Rebase llvm-do-not-install-static-libraries.patch.

OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm19?expand=0&rev=15
2024-12-19 19:53:57 +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);
}