Skip to content

Commit e3c6d5a

Browse files
authored
[PowerPC] Update V18.1.0 release notes (llvm#81631)
Adding PowerPC updates for clang and llvm into the V18.1.0 release notes. --------- Co-authored-by: Maryam Moghadas <[email protected]>
1 parent 8b7b3fb commit e3c6d5a

File tree

2 files changed

+64
-0
lines changed

2 files changed

+64
-0
lines changed

clang/docs/ReleaseNotes.rst

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,10 @@ Non-comprehensive list of changes in this release
304304

305305
* The version of Unicode used by Clang (primarily to parse identifiers) has been updated to 15.1.
306306

307+
* Clang now defines macro ``__LLVM_INSTR_PROFILE_GENERATE`` when compiling with
308+
PGO instrumentation profile generation, and ``__LLVM_INSTR_PROFILE_USE`` when
309+
compiling with PGO profile use.
310+
307311
New Compiler Flags
308312
------------------
309313

@@ -344,6 +348,8 @@ New Compiler Flags
344348
attribute the replaceable global new and delete operators behave normally
345349
(like other functions) with respect to visibility attributes, pragmas and
346350
options (e.g ``--fvisibility=``).
351+
* Full register names can be used when printing assembly via ``-mregnames``.
352+
This option now matches the one used by GCC.
347353

348354
Deprecated Compiler Flags
349355
-------------------------
@@ -363,6 +369,7 @@ Modified Compiler Flags
363369
* ``-fvisibility-global-new-delete-hidden`` is now a deprecated spelling of
364370
``-fvisibility-global-new-delete=force-hidden`` (``-fvisibility-global-new-delete=``
365371
is new in this release).
372+
* ``-fprofile-update`` is enabled for ``-fprofile-generate``.
366373

367374
Removed Compiler Flags
368375
-------------------------
@@ -860,6 +867,9 @@ Bug Fixes in This Version
860867
Fixes (`#78290 <https://github.com/llvm/llvm-project/issues/78290>`_)
861868
- Fixed assertion failure with deleted overloaded unary operators.
862869
Fixes (`#78314 <https://github.com/llvm/llvm-project/issues/78314>`_)
870+
- The XCOFF object file format does not support aliases to symbols having common
871+
linkage. Clang now diagnoses the use of an alias for a common symbol when
872+
compiling for AIX.
863873

864874
- Clang now doesn't produce false-positive warning `-Wconstant-logical-operand`
865875
for logical operators in C23.
@@ -1261,6 +1271,16 @@ CUDA Support
12611271
- Clang now supports CUDA SDK up to 12.3
12621272
- Added support for sm_90a
12631273

1274+
PowerPC Support
1275+
^^^^^^^^^^^^^^^
1276+
1277+
- Added ``nmmintrin.h`` to intrinsics headers.
1278+
- Added ``__builtin_ppc_fence`` as barrier of code motion, and
1279+
``__builtin_ppc_mffsl`` for corresponding instruction.
1280+
- Supported ``__attribute__((target("tune=cpu")))``.
1281+
- Emit ``float-abi`` module flag on 64-bit ELFv2 PowerPC targets if
1282+
``long double`` type is used in current module.
1283+
12641284
AIX Support
12651285
^^^^^^^^^^^
12661286

@@ -1269,6 +1289,10 @@ AIX Support
12691289
base is encoded as an immediate operand.
12701290
This access sequence is not used for TLS variables larger than 32KB, and is
12711291
currently only supported on 64-bit mode.
1292+
- Inline assembler supports VSR register in pure digits.
1293+
- Enabled ThinLTO support. Requires AIX 7.2 TL5 SP7 or newer, or AIX 7.3 TL2
1294+
or newer. Similar to the LTO support on AIX, ThinLTO is implemented with
1295+
the libLTO.so plugin.
12721296

12731297
WebAssembly Support
12741298
^^^^^^^^^^^^^^^^^^^
@@ -1332,6 +1356,8 @@ libclang
13321356
- Exposed arguments of ``clang::annotate``.
13331357
- ``clang::getCursorKindForDecl`` now recognizes linkage specifications such as
13341358
``extern "C"`` and reports them as ``CXCursor_LinkageSpec``.
1359+
- Changed the libclang library on AIX to export only the necessary symbols to
1360+
prevent issues of resolving to the wrong duplicate symbol.
13351361

13361362
Static Analyzer
13371363
---------------

llvm/docs/ReleaseNotes.rst

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,30 @@ Changes to the MIPS Backend
164164
Changes to the PowerPC Backend
165165
------------------------------
166166

167+
* LLJIT's JIT linker now defaults to JITLink on 64-bit ELFv2 targets.
168+
* Initial-exec TLS model is supported on AIX.
169+
* Implemented new resource based scheduling model of POWER7 and POWER8.
170+
* ``frexp`` libcall now references correct symbol name for ``fp128``.
171+
* Optimized materialization of 64-bit immediates, code generation of
172+
``vec_promote`` and atomics.
173+
* Global constant strings are pooled in the TOC under one entry to reduce the
174+
number of entries in the TOC.
175+
* Added a number of missing Power10 extended mnemonics.
176+
* Added the SCV instruction.
177+
* Fixed register class for the paddi instruction.
178+
* Optimize VPERM and fix code order for swapping vector operands on LE.
179+
* Added various bug fixes and code gen improvements.
180+
181+
AIX Support/improvements:
182+
183+
* Support for a non-TOC-based access sequence for the local-exec TLS model (called small local-exec).
184+
* XCOFF toc-data peephole optimization and bug fixes.
185+
* Move less often used __ehinfo TOC entries to the end of the TOC section.
186+
* Fixed problems when the AIX libunwind unwinds starting from a signal handler
187+
and the function that raised the signal happens to be a leaf function that
188+
shares the stack frame with its caller or a leaf function that does not store
189+
the stack frame backchain.
190+
167191
Changes to the RISC-V Backend
168192
-----------------------------
169193

@@ -317,6 +341,7 @@ Changes to the LLVM tools
317341

318342
* llvm-symbolizer now treats invalid input as an address for which source
319343
information is not found.
344+
* Fixed big-endian support in llvm-symbolizer's DWARF location parser.
320345
* llvm-readelf now supports ``--extra-sym-info`` (``-X``) to display extra
321346
information (section name) when showing symbols.
322347

@@ -328,6 +353,13 @@ Changes to the LLVM tools
328353
* llvm-objcopy now supports ``--gap-fill`` and ``--pad-to`` options, for
329354
ELF input and binary output files only.
330355

356+
* Supported parsing XCOFF auxiliary symbols in obj2yaml.
357+
358+
* ``llvm-ranlib`` now supports ``-X`` on AIX to specify the type of object file
359+
ranlib should examine.
360+
361+
* ``llvm-nm`` now supports ``--export-symbol`` to ignore the import symbol file.
362+
331363
* llvm-rc and llvm-windres now accept file path references in ``.rc`` files
332364
concatenated from multiple string literals.
333365

@@ -387,6 +419,12 @@ Changes to Sanitizers
387419
---------------------
388420
* HWASan now defaults to detecting use-after-scope bugs.
389421

422+
Changes to the Profile Runtime
423+
------------------------------
424+
425+
* Public header ``profile/instr_prof_interface.h`` is added to declare four
426+
API functions to fine tune profile collection.
427+
390428
Other Changes
391429
-------------
392430

0 commit comments

Comments
 (0)