diff options
author | Alexandros Lamprineas <alexandros.lamprineas@arm.com> | 2024-06-24 12:01:48 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-24 12:01:48 +0100 |
commit | 3d8079229e7571a5912e880bf7a960d809c8ee96 (patch) | |
tree | cc4d6505c31f8009a09491316e35ec6daf6e990c /clang/docs | |
parent | a66900be7507eb0c68a6eff1e945e1823507d3e0 (diff) | |
download | llvm-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.rst | 6 |
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 ---------------------------------------- |