@@ -304,6 +304,10 @@ Non-comprehensive list of changes in this release
304
304
305
305
* The version of Unicode used by Clang (primarily to parse identifiers) has been updated to 15.1.
306
306
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
+
307
311
New Compiler Flags
308
312
------------------
309
313
@@ -344,6 +348,8 @@ New Compiler Flags
344
348
attribute the replaceable global new and delete operators behave normally
345
349
(like other functions) with respect to visibility attributes, pragmas and
346
350
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.
347
353
348
354
Deprecated Compiler Flags
349
355
-------------------------
@@ -363,6 +369,7 @@ Modified Compiler Flags
363
369
* ``-fvisibility-global-new-delete-hidden `` is now a deprecated spelling of
364
370
``-fvisibility-global-new-delete=force-hidden `` (``-fvisibility-global-new-delete= ``
365
371
is new in this release).
372
+ * ``-fprofile-update `` is enabled for ``-fprofile-generate ``.
366
373
367
374
Removed Compiler Flags
368
375
-------------------------
@@ -860,6 +867,9 @@ Bug Fixes in This Version
860
867
Fixes (`#78290 <https://github.com/llvm/llvm-project/issues/78290 >`_)
861
868
- Fixed assertion failure with deleted overloaded unary operators.
862
869
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.
863
873
864
874
- Clang now doesn't produce false-positive warning `-Wconstant-logical-operand `
865
875
for logical operators in C23.
@@ -1261,6 +1271,16 @@ CUDA Support
1261
1271
- Clang now supports CUDA SDK up to 12.3
1262
1272
- Added support for sm_90a
1263
1273
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
+
1264
1284
AIX Support
1265
1285
^^^^^^^^^^^
1266
1286
@@ -1269,6 +1289,10 @@ AIX Support
1269
1289
base is encoded as an immediate operand.
1270
1290
This access sequence is not used for TLS variables larger than 32KB, and is
1271
1291
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.
1272
1296
1273
1297
WebAssembly Support
1274
1298
^^^^^^^^^^^^^^^^^^^
@@ -1332,6 +1356,8 @@ libclang
1332
1356
- Exposed arguments of ``clang::annotate ``.
1333
1357
- ``clang::getCursorKindForDecl `` now recognizes linkage specifications such as
1334
1358
``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.
1335
1361
1336
1362
Static Analyzer
1337
1363
---------------
0 commit comments