Skip to content
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

Merged
merged 2 commits into from
Feb 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions clang/docs/ReleaseNotes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
------------------

Expand Down Expand Up @@ -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
-------------------------
Expand All @@ -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
-------------------------
Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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
^^^^^^^^^^^

Expand All @@ -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
^^^^^^^^^^^^^^^^^^^
Expand Down Expand Up @@ -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
---------------
Expand Down
38 changes: 38 additions & 0 deletions llvm/docs/ReleaseNotes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
-----------------------------

Expand Down Expand Up @@ -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.

Expand All @@ -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.

Expand Down Expand Up @@ -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
-------------

Expand Down
Loading