diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst index 95d44951ae7ee..22eceea5d265e 100644 --- a/clang/docs/ReleaseNotes.rst +++ b/clang/docs/ReleaseNotes.rst @@ -304,6 +304,10 @@ Non-comprehensive list of changes in this release * The version of Unicode used by Clang (primarily to parse identifiers) has been updated to 15.1. +* Clang now defines macro ``__LLVM_INSTR_PROFILE_GENERATE`` when compiling with + PGO instrumentation profile generation, and ``__LLVM_INSTR_PROFILE_USE`` when + compiling with PGO profile use. + New Compiler Flags ------------------ @@ -344,6 +348,8 @@ New Compiler Flags attribute the replaceable global new and delete operators behave normally (like other functions) with respect to visibility attributes, pragmas and options (e.g ``--fvisibility=``). +* Full register names can be used when printing assembly via ``-mregnames``. + This option now matches the one used by GCC. Deprecated Compiler Flags ------------------------- @@ -363,6 +369,7 @@ Modified Compiler Flags * ``-fvisibility-global-new-delete-hidden`` is now a deprecated spelling of ``-fvisibility-global-new-delete=force-hidden`` (``-fvisibility-global-new-delete=`` is new in this release). +* ``-fprofile-update`` is enabled for ``-fprofile-generate``. Removed Compiler Flags ------------------------- @@ -860,6 +867,9 @@ Bug Fixes in This Version Fixes (`#78290 `_) - Fixed assertion failure with deleted overloaded unary operators. Fixes (`#78314 `_) +- The XCOFF object file format does not support aliases to symbols having common + linkage. Clang now diagnoses the use of an alias for a common symbol when + compiling for AIX. - Clang now doesn't produce false-positive warning `-Wconstant-logical-operand` for logical operators in C23. @@ -1261,6 +1271,16 @@ CUDA Support - Clang now supports CUDA SDK up to 12.3 - Added support for sm_90a +PowerPC Support +^^^^^^^^^^^^^^^ + +- Added ``nmmintrin.h`` to intrinsics headers. +- Added ``__builtin_ppc_fence`` as barrier of code motion, and + ``__builtin_ppc_mffsl`` for corresponding instruction. +- Supported ``__attribute__((target("tune=cpu")))``. +- Emit ``float-abi`` module flag on 64-bit ELFv2 PowerPC targets if + ``long double`` type is used in current module. + AIX Support ^^^^^^^^^^^ @@ -1269,6 +1289,10 @@ AIX Support base is encoded as an immediate operand. This access sequence is not used for TLS variables larger than 32KB, and is currently only supported on 64-bit mode. +- Inline assembler supports VSR register in pure digits. +- Enabled ThinLTO support. Requires AIX 7.2 TL5 SP7 or newer, or AIX 7.3 TL2 + or newer. Similar to the LTO support on AIX, ThinLTO is implemented with + the libLTO.so plugin. WebAssembly Support ^^^^^^^^^^^^^^^^^^^ @@ -1332,6 +1356,8 @@ libclang - Exposed arguments of ``clang::annotate``. - ``clang::getCursorKindForDecl`` now recognizes linkage specifications such as ``extern "C"`` and reports them as ``CXCursor_LinkageSpec``. +- Changed the libclang library on AIX to export only the necessary symbols to + prevent issues of resolving to the wrong duplicate symbol. Static Analyzer --------------- diff --git a/llvm/docs/ReleaseNotes.rst b/llvm/docs/ReleaseNotes.rst index 82f4a7a15c9c1..5b3210138f2f8 100644 --- a/llvm/docs/ReleaseNotes.rst +++ b/llvm/docs/ReleaseNotes.rst @@ -164,6 +164,30 @@ Changes to the MIPS Backend Changes to the PowerPC Backend ------------------------------ +* LLJIT's JIT linker now defaults to JITLink on 64-bit ELFv2 targets. +* Initial-exec TLS model is supported on AIX. +* Implemented new resource based scheduling model of POWER7 and POWER8. +* ``frexp`` libcall now references correct symbol name for ``fp128``. +* Optimized materialization of 64-bit immediates, code generation of + ``vec_promote`` and atomics. +* Global constant strings are pooled in the TOC under one entry to reduce the + number of entries in the TOC. +* Added a number of missing Power10 extended mnemonics. +* Added the SCV instruction. +* Fixed register class for the paddi instruction. +* Optimize VPERM and fix code order for swapping vector operands on LE. +* Added various bug fixes and code gen improvements. + +AIX Support/improvements: + +* Support for a non-TOC-based access sequence for the local-exec TLS model (called small local-exec). +* XCOFF toc-data peephole optimization and bug fixes. +* Move less often used __ehinfo TOC entries to the end of the TOC section. +* Fixed problems when the AIX libunwind unwinds starting from a signal handler + and the function that raised the signal happens to be a leaf function that + shares the stack frame with its caller or a leaf function that does not store + the stack frame backchain. + Changes to the RISC-V Backend ----------------------------- @@ -317,6 +341,7 @@ Changes to the LLVM tools * llvm-symbolizer now treats invalid input as an address for which source information is not found. +* Fixed big-endian support in llvm-symbolizer's DWARF location parser. * llvm-readelf now supports ``--extra-sym-info`` (``-X``) to display extra information (section name) when showing symbols. @@ -328,6 +353,13 @@ Changes to the LLVM tools * llvm-objcopy now supports ``--gap-fill`` and ``--pad-to`` options, for ELF input and binary output files only. +* Supported parsing XCOFF auxiliary symbols in obj2yaml. + +* ``llvm-ranlib`` now supports ``-X`` on AIX to specify the type of object file + ranlib should examine. + +* ``llvm-nm`` now supports ``--export-symbol`` to ignore the import symbol file. + * llvm-rc and llvm-windres now accept file path references in ``.rc`` files concatenated from multiple string literals. @@ -387,6 +419,12 @@ Changes to Sanitizers --------------------- * HWASan now defaults to detecting use-after-scope bugs. +Changes to the Profile Runtime +------------------------------ + +* Public header ``profile/instr_prof_interface.h`` is added to declare four + API functions to fine tune profile collection. + Other Changes -------------