Skip to content

Commit

Permalink
[PowerPC] Update V18.1.0 release notes (llvm#81631)
Browse files Browse the repository at this point in the history
Adding PowerPC updates for clang and llvm into the V18.1.0 release
notes.

---------

Co-authored-by: Maryam Moghadas <[email protected]>
  • Loading branch information
maryammo and maryammo authored Feb 16, 2024
1 parent 8b7b3fb commit e3c6d5a
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 0 deletions.
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

0 comments on commit e3c6d5a

Please sign in to comment.