-
Notifications
You must be signed in to change notification settings - Fork 12.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[PowerPC] Update V18.1.0 release notes #81631
Conversation
@llvm/pr-subscribers-clang Author: Maryam Moghadas (maryammo) ChangesAdding 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:
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
-------------
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just some nits for spacing. Otherwise LGTM
Thx
llvm/docs/ReleaseNotes.rst
Outdated
* ``frexp`` libcall now references correct symbol name for ``fp128``. | ||
* Optimized materialization of 64-bit immediates, code generation of | ||
``vec_promote`` and atomics. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: don't need this empty line.
Is this ready to merge? |
Yes it is ready, thank you. |
Adding PowerPC updates for clang and llvm into the V18.1.0 release notes.