aboutsummaryrefslogtreecommitdiff
path: root/clang/docs
diff options
context:
space:
mode:
authorAlexandros Lamprineas <alexandros.lamprineas@arm.com>2024-06-24 12:01:48 +0100
committerGitHub <noreply@github.com>2024-06-24 12:01:48 +0100
commit3d8079229e7571a5912e880bf7a960d809c8ee96 (patch)
treecc4d6505c31f8009a09491316e35ec6daf6e990c /clang/docs
parenta66900be7507eb0c68a6eff1e945e1823507d3e0 (diff)
downloadllvm-3d8079229e7571a5912e880bf7a960d809c8ee96.zip
llvm-3d8079229e7571a5912e880bf7a960d809c8ee96.tar.gz
llvm-3d8079229e7571a5912e880bf7a960d809c8ee96.tar.bz2
[clang][AArch64][FMV] Stop emitting alias to ifunc. (#96221)
Long story short the interaction of two optimizations happening in GlobalOpt results in a crash. For more details look at the issue https://github.com/llvm/llvm-project/issues/96197. I will be fixing this in GlobalOpt but it is a conservative solution since it won't allow us to optimize resolvers which return a pointer to a function whose definition is in another TU when compiling without LTO: ``` __attribute__((target_version("simd"))) void bar(void); __attribute__((target_version("default"))) void bar(void); int foo() { bar(); } ``` fixes: #96197
Diffstat (limited to 'clang/docs')
-rw-r--r--clang/docs/ReleaseNotes.rst6
1 files changed, 5 insertions, 1 deletions
diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst
index c6788d0..136c72c 100644
--- a/clang/docs/ReleaseNotes.rst
+++ b/clang/docs/ReleaseNotes.rst
@@ -95,13 +95,17 @@ ABI Changes in This Version
- Fixed Microsoft calling convention when returning classes that have a deleted
copy assignment operator. Such a class should be returned indirectly.
+- Removed the global alias that was pointing to AArch64 Function Multiversioning
+ ifuncs. Its purpose was to preserve backwards compatibility when the ".ifunc"
+ suffix got removed from the name mangling. The alias interacts badly with
+ GlobalOpt (see the issue #96197).
+
- Fixed Microsoft name mangling for auto non-type template arguments of pointer
type for MSVC 1920+. This change resolves incompatibilities with code compiled
by MSVC 1920+ but will introduce incompatibilities with code compiled by
earlier versions of Clang unless such code is built with the compiler option
`-fms-compatibility-version=19.14` to imitate the MSVC 1914 mangling behavior.
-
AST Dumping Potentially Breaking Changes
----------------------------------------