[llvm-branch-commits] [clang] [llvm] [PowerPC] Update V18.1.0 release notes (PR #81631)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Tue Feb 13 08:57:04 PST 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang
Author: Maryam Moghadas (maryammo)
<details>
<summary>Changes</summary>
Adding PowerPC updates for clang and llvm into the V18.1.0 release notes.
---
Full diff: https://github.com/llvm/llvm-project/pull/81631.diff
2 Files Affected:
- (modified) clang/docs/ReleaseNotes.rst (+26)
- (modified) llvm/docs/ReleaseNotes.rst (+37)
``````````diff
diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst
index 95d44951ae7ee6..22eceea5d265ef 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 <https://github.com/llvm/llvm-project/issues/78290>`_)
- Fixed assertion failure with deleted overloaded unary operators.
Fixes (`#78314 <https://github.com/llvm/llvm-project/issues/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 82f4a7a15c9c13..16acbb965c5c94 100644
--- a/llvm/docs/ReleaseNotes.rst
+++ b/llvm/docs/ReleaseNotes.rst
@@ -163,6 +163,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.
@@ -327,6 +352,12 @@ 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 +418,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
-------------
``````````
</details>
https://github.com/llvm/llvm-project/pull/81631
More information about the llvm-branch-commits
mailing list