[all-commits] [llvm/llvm-project] ccc066: [TableGen] Avoid repeated map lookups (NFC) (#124448)
Fangrui Song via All-commits
all-commits at lists.llvm.org
Mon Jan 27 18:13:02 PST 2025
Branch: refs/heads/users/MaskRay/spr/lld-macho-refactor-bpsectionorderer-with-crtp-nfc
Home: https://github.com/llvm/llvm-project
Commit: ccc066e8d5a742f79b41a0f90ef309d5b9e92c2a
https://github.com/llvm/llvm-project/commit/ccc066e8d5a742f79b41a0f90ef309d5b9e92c2a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-26 (Sun, 26 Jan 2025)
Changed paths:
M clang/utils/TableGen/MveEmitter.cpp
Log Message:
-----------
[TableGen] Avoid repeated map lookups (NFC) (#124448)
This patch avoids repeated map lookups and constructions of temporary
std::string instances by switching to DenseSet.
Commit: 1c4341d176492da5f276937b84a3d0c959e4cf5b
https://github.com/llvm/llvm-project/commit/1c4341d176492da5f276937b84a3d0c959e4cf5b
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2025-01-26 (Sun, 26 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
Log Message:
-----------
[SandboxVec][DAG] Fix interval check without Node
This patch moves the check of whether a node exists before the check of
whether it is contained in the interval.
Commit: fb01a289038c16e13c6133ee602a58254b349411
https://github.com/llvm/llvm-project/commit/fb01a289038c16e13c6133ee602a58254b349411
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-01-26 (Sun, 26 Jan 2025)
Changed paths:
M lld/COFF/Chunks.cpp
M lld/COFF/DLL.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
A lld/test/COFF/arm64x-import.test
Log Message:
-----------
[LLD][COFF] Implement support for hybrid IAT on ARM64X (#124189)
In hybrid images, the PE header references a single IAT for both native
and EC views, merging entries where possible. When merging isn't
feasible, different imports are grouped together, and ARM64X relocations
are emitted as needed.
Commit: 80ab237c1187aa7e8a1f546175887d768fa14e2d
https://github.com/llvm/llvm-project/commit/80ab237c1187aa7e8a1f546175887d768fa14e2d
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-01-26 (Sun, 26 Jan 2025)
Changed paths:
M lld/test/COFF/arm64x-import.test
Log Message:
-----------
[LLD][COFF] Add REQUIRE x86 to arm64x-import.test (NFC)
This ensures the disassembler can handle ARM64X binaries correctly. Fixes #124189.
Commit: e278e1b6ece025ace4238748c0f57fda3ca833f9
https://github.com/llvm/llvm-project/commit/e278e1b6ece025ace4238748c0f57fda3ca833f9
Author: Alexey Bader <alexey.bader at intel.com>
Date: 2025-01-26 (Sun, 26 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
Log Message:
-----------
[NFC][CodeGen] Fix typos in code comments. (#124382)
This fixes typos in `calcUniqueIDUpdateFlagsAndSize` function.
Commit: c9637afec7ed72904c74c2fc71e990d378f3d7a6
https://github.com/llvm/llvm-project/commit/c9637afec7ed72904c74c2fc71e990d378f3d7a6
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-01-26 (Sun, 26 Jan 2025)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
Log Message:
-----------
[Clang] Fix createConstexprUnknownAPValues to use zero offset when ceating APValue (#124478)
When implmenting P2280R4 here:
https://github.com/llvm/llvm-project/pull/95474
When creating the APValue to store and constexprUnknown value I used an
offset of CharUnits::One() but it should have been CharUnits::Zero().
This change just adjusts that value.
Commit: bfa7de0df5d8eb8dd284b0f49f10e7f0cd850693
https://github.com/llvm/llvm-project/commit/bfa7de0df5d8eb8dd284b0f49f10e7f0cd850693
Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/canonicalize-vars.ll
Log Message:
-----------
X86: Support FCANONICALIZE on f64/f80 for i686 with SSE2 or AVX (#123917)
Currently, FCANONICALIZE is not enabled for f64 with SSE2,
and is not enabled for f80 for 32bit system.
Let's enable them.
Commit: db79fb2a91df31a07f312f8e061936927ac5c506
https://github.com/llvm/llvm-project/commit/db79fb2a91df31a07f312f8e061936927ac5c506
Author: Thurston Dang <thurston at google.com>
Date: 2025-01-26 (Sun, 26 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/X86/avx-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx2-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-i386.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx2-intrinsics-i386.ll
Log Message:
-----------
[msan] Add handlers for AVX masked load/store intrinsics (#123857)
This patch adds explicit support for AVX masked load/store intrinsics,
largely by applying the intrinsics to the shadows (but subtly different
to handleIntrinsicByApplyingToShadow()).
We do not reuse the handleMaskedLoad/Store functions. The key challenge
is that the LLVM masked intrinsics require a vector of booleans, while
AVX masked intrinsics use the MSBs of a vector of integers.
X86InstCombineIntrinsic.cpp::simplifyX86MaskedLoad mentions that the x86
backend does not know how to efficiently convert from a vector of
booleans back into the AVX mask format; therefore, they (and we) do not
reduce AVX masked intrinsics into LLVM masked intrinsics.
Commit: 980e86f130eea02bd41b887f4ed896340fc90f6c
https://github.com/llvm/llvm-project/commit/980e86f130eea02bd41b887f4ed896340fc90f6c
Author: Thurston Dang <thurston at google.com>
Date: 2025-01-26 (Sun, 26 Jan 2025)
Changed paths:
A llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics-upgrade.ll
A llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics.ll
Log Message:
-----------
[msan] Add avx512-intrinsics.ll and avx512-intrinsics-upgrade.ll test case (#123980)
These are forked from the corresponding files in llvm/test/CodeGen/X86/.
avx512-intrinsics.ll shows that many intrinsics are already
heuristically handled by MSan, and can be used to track refinements to
the intrinsic handling.
avx512-intrinsics-upgrade.ll tests intrinsics that LLVM "auto-upgrades";
for example, @llvm.x86.avx512.mask.store is converted into
@llvm.masked.store (which has the interesting side effect that
MemorySanitizer can already handle it via its existing
handleMaskedStore).
Commit: 84af3ee5124de3385b829c3a9980fd734f0d92e8
https://github.com/llvm/llvm-project/commit/84af3ee5124de3385b829c3a9980fd734f0d92e8
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-26 (Sun, 26 Jan 2025)
Changed paths:
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/InputFiles.cpp
Log Message:
-----------
[ELF] Replace Fatal with Err
Commit: a6044a05cd16d2c5dbca80757a160cba9a2cb037
https://github.com/llvm/llvm-project/commit/a6044a05cd16d2c5dbca80757a160cba9a2cb037
Author: Thurston Dang <thurston at google.com>
Date: 2025-01-26 (Sun, 26 Jan 2025)
Changed paths:
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics-upgrade.ll
Log Message:
-----------
[msan] Fix-forward avx512-intrinsics-upgrade.ll (#124495)
I had added the test in https://github.com/llvm/llvm-project/pull/123980
and contemporaneously added AVX masked store/load intrinsics
(https://github.com/llvm/llvm-project/pull/123857) and forgot to update
the test output for the intersection. This patch fixes the output.
Commit: b9d301cc7e4fe4c442ec15169686fa4a18f5cdfc
https://github.com/llvm/llvm-project/commit/b9d301cc7e4fe4c442ec15169686fa4a18f5cdfc
Author: Thurston Dang <thurston at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/X86/avx-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx2-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-i386.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx2-intrinsics-i386.ll
Log Message:
-----------
Revert "[msan] Add handlers for AVX masked load/store intrinsics (#123857)"
This reverts commit db79fb2a91df31a07f312f8e061936927ac5c506.
Reason: buildbot breakage
(https://lab.llvm.org/buildbot/#/builders/144/builds/16636/steps/6/logs/FAIL__LLVM__avx512-intrinsics-upgrade_ll)
Commit: b6eeec586fa6c0db4ab1b0e129111e82a97c7283
https://github.com/llvm/llvm-project/commit/b6eeec586fa6c0db4ab1b0e129111e82a97c7283
Author: Thurston Dang <thurston at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics-upgrade.ll
Log Message:
-----------
Revert "[msan] Fix-forward avx512-intrinsics-upgrade.ll (#124495)"
This reverts commit a6044a05cd16d2c5dbca80757a160cba9a2cb037.
Reason: buildbot breakage
(https://lab.llvm.org/buildbot/#/builders/144/builds/16636/steps/6/logs/FAIL__LLVM__avx512-intrinsics-upgrade_ll)
Commit: b2647ffbf797dd5a457b6b19faab06956934d067
https://github.com/llvm/llvm-project/commit/b2647ffbf797dd5a457b6b19faab06956934d067
Author: Thurston Dang <thurston at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
R llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics-upgrade.ll
R llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics.ll
Log Message:
-----------
Revert "[msan] Add avx512-intrinsics.ll and avx512-intrinsics-upgrade.ll test case (#123980)"
This reverts commit 980e86f130eea02bd41b887f4ed896340fc90f6c.
Reason: buildbot breakage
(https://lab.llvm.org/buildbot/#/builders/154/builds/10901/steps/5/logs/FAIL__LLVM__avx512-intrinsics-upgrade_ll)
Commit: 7107f55d82f8d1077d5478e8f58c94851385c06f
https://github.com/llvm/llvm-project/commit/7107f55d82f8d1077d5478e8f58c94851385c06f
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/AST/TemplateBase.cpp
Log Message:
-----------
[clang] NFC: remove redundant dyn_cast
Commit: 0e6b58202ca9c4d1ca814e4bea5bd3f0bac7f329
https://github.com/llvm/llvm-project/commit/0e6b58202ca9c4d1ca814e4bea5bd3f0bac7f329
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-26 (Sun, 26 Jan 2025)
Changed paths:
M lld/test/ELF/lto/version-script.ll
M lld/test/ELF/lto/version-script2.ll
Log Message:
-----------
[ELF] Improve parseSymbolVersion tests in for compileBitcodeFiles
Otherwise, the tests won't catch a mistake that removes
`parseSymbolVersion`.
Commit: 2a26292388fcab0c857c91b2d08074c33abd37e8
https://github.com/llvm/llvm-project/commit/2a26292388fcab0c857c91b2d08074c33abd37e8
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-26 (Sun, 26 Jan 2025)
Changed paths:
M lld/ELF/Driver.cpp
Log Message:
-----------
[ELF] Make isExported accurate early
LTO compilation might define symbols not in the symbol table (e.g.
__emutls_v.x in test/ELF/lto/wrap-unreferenced-before-codegen.test).
These symbols have a false `isExported` until
`demoteSymbolsAndComputeIsPreemptible`. This is usually benign as we do
not reference `isExported` that early.
Ensure that `isExported` is correct early. This helps remove a redundant
`isExported` computation in `demoteSymbolsAndComputeIsPreemptible`.
Commit: 1a4d6de1b532149b10522eae5dabce39e5f7c687
https://github.com/llvm/llvm-project/commit/1a4d6de1b532149b10522eae5dabce39e5f7c687
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-26 (Sun, 26 Jan 2025)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Writer.cpp
Log Message:
-----------
[ELF] Remove redundant isExported computation
Commit 2a26292388fcab0c857c91b2d08074c33abd37e8 made `isExported`
accurate except a few linker-synthesized symbols in finalizeSections.
We can collect these linker-synthesized symbols into a vector
and avoid recomputation for other symbols.
Commit: b9efbed468ec18044070eea936c694fb8f6e244b
https://github.com/llvm/llvm-project/commit/b9efbed468ec18044070eea936c694fb8f6e244b
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-26 (Sun, 26 Jan 2025)
Changed paths:
M lld/ELF/Writer.cpp
R lld/test/ELF/hip-section-layout.s
Log Message:
-----------
Revert "Move HIP fatbin sections farther away from .text"
This reverts commit 048f35037779763963c4b4478a0884e828ea9538.
This reverts commit f7bbc40b0736cc417f57cd039b098b504cf6a71f.
Related to #95949. A developer with no prior lld contribution and very
little AMD contribution sneaked in these application-specific section
order rules we discourage.
Commit: 6805d7e8aa5f2ecea021acbb8c6b4c29ca432e78
https://github.com/llvm/llvm-project/commit/6805d7e8aa5f2ecea021acbb8c6b4c29ca432e78
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-26 (Sun, 26 Jan 2025)
Changed paths:
M llvm/test/tools/llvm-objcopy/ELF/remove-note.test
Log Message:
-----------
[test] Convert remove-note.test from \r\n to \n after #118739
Commit: 9452ee4f750a849148a391ac75eb31220343fa1e
https://github.com/llvm/llvm-project/commit/9452ee4f750a849148a391ac75eb31220343fa1e
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Treat uppercase identifiers after struct as macros (#124397)
This restores the behavior before llvmorg-20-init.
Fixes #94184.
Fixes #117477.
Fixes #122690.
Fixes #123142.
Commit: a01e1d4e044ec0147e04a5af9ca54ede550f5dc1
https://github.com/llvm/llvm-project/commit/a01e1d4e044ec0147e04a5af9ca54ede550f5dc1
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/Sema/HeuristicResolver.cpp
M clang/unittests/Sema/HeuristicResolverTest.cpp
Log Message:
-----------
[clang][Sema] Handle dependent qualifier in HeuristicResolver::resolveDeclRefExpr() (#124515)
Commit: bd38c4993aa41d89a13cbc4dc457df4d81e410bf
https://github.com/llvm/llvm-project/commit/bd38c4993aa41d89a13cbc4dc457df4d81e410bf
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/zeroing-forms-frint-frecpx-fsqrt.ll
Log Message:
-----------
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (8/11) (#116834)
SVE2.2 introduces instructions with predicated forms with zeroing of
the inactive lanes. This allows in some cases to save a `movprfx` or
a `mov` instruction when emitting code for `_x` or `_z` variants of
intrinsics.
This patch adds support for emitting the zeroing forms of certain
`FRINTx`, `FRECPX`, and `FSQRT` instructions.
Commit: 351ee30529c054d39ea742c1b9c738c9e70c131b
https://github.com/llvm/llvm-project/commit/351ee30529c054d39ea742c1b9c738c9e70c131b
Author: bernhardu <bernhardu at mailbox.org>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/interception/tests/interception_win_test.cpp
Log Message:
-----------
[win/asan] GetInstructionSize: Support some more 6 byte instructions. (#124006)
This patch adds several instructions seen when trying to run a
executable built with ASan with llvm-mingw.
(x86 and x86_64, using the git tip in llvm-project).
Also includes instructions collected by
Roman Pišl and Eric Pouech in the Wine bug reports below.
```
Related: https://github.com/llvm/llvm-project/issues/96270
Co-authored-by: Roman Pišl <rpisl at seznam.cz>
https://bugs.winehq.org/show_bug.cgi?id=50993
https://bugs.winehq.org/attachment.cgi?id=70233
Co-authored-by: Eric Pouech <eric.pouech at gmail.com>
https://bugs.winehq.org/show_bug.cgi?id=52386
https://bugs.winehq.org/attachment.cgi?id=71626
```
Commit: bbf377060adc8607e1187952388c7eeea7cf4933
https://github.com/llvm/llvm-project/commit/bbf377060adc8607e1187952388c7eeea7cf4933
Author: bernhardu <bernhardu at mailbox.org>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/interception/tests/interception_win_test.cpp
Log Message:
-----------
[win/asan] GetInstructionSize: Support some more 7 or 8 byte instructions. (#124011)
This patch adds several instructions seen when trying to run a
executable built with ASan with llvm-mingw.
(x86 and x86_64, using the git tip in llvm-project).
Also includes instructions collected by
Roman Pišl and Eric Pouech in the Wine bug reports below.
```
Related: https://github.com/llvm/llvm-project/issues/96270
Co-authored-by: Roman Pišl <rpisl at seznam.cz>
https://bugs.winehq.org/show_bug.cgi?id=50993
https://bugs.winehq.org/attachment.cgi?id=70233
Co-authored-by: Eric Pouech <eric.pouech at gmail.com>
https://bugs.winehq.org/show_bug.cgi?id=52386
https://bugs.winehq.org/attachment.cgi?id=71626
```
Commit: 7211bf48a62bfe3a181013f412f2fa6e112ae99f
https://github.com/llvm/llvm-project/commit/7211bf48a62bfe3a181013f412f2fa6e112ae99f
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/test/Driver/fsave-main-program.f90
M flang/test/Lower/fsave-main-program.f90
Log Message:
-----------
[flang][driver] add negative from of -fsave-main-program (#124110)
Add the `-fno` form for consistency and to make it easy to switch the
default for downstream users.
Commit: 3b5e9eed2f67c1fb6dcf7033e92509ba2b0381e9
https://github.com/llvm/llvm-project/commit/3b5e9eed2f67c1fb6dcf7033e92509ba2b0381e9
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
A llvm/test/CodeGen/NVPTX/convert-sm100.ll
Log Message:
-----------
[NVPTX] Add float to tf32 conversion intrinsics (#124316)
This patch adds the set of f32 -> tf32 cvt intrinsics introduced
in sm100 with ptx8.6. This builds on top of the recent PR #121507.
Tests are verified with a 12.8 ptxas executable.
PTX ISA link:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-cvt
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: 87103a016fbfd480e1d3bb8eba23c27a9c74e70d
https://github.com/llvm/llvm-project/commit/87103a016fbfd480e1d3bb8eba23c27a9c74e70d
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/AArch64SVEACLETypes.def
M clang/include/clang/Basic/TargetBuiltins.h
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaType.cpp
A clang/test/CodeGen/AArch64/builtin-shufflevector-fp8.c
A clang/test/CodeGen/AArch64/fp8-cast.c
M clang/test/CodeGen/arm-mfp8.c
M clang/test/CodeGenCXX/aarch64-mangle-neon-vectors.cpp
M clang/test/CodeGenCXX/mangle-neon-vectors.cpp
A clang/test/Sema/aarch64-fp8-cast.c
M clang/test/Sema/arm-mfp8.cpp
M clang/utils/TableGen/NeonEmitter.cpp
Log Message:
-----------
[AArch64] Implement NEON FP8 vectors as VectorType (#123603)
Reimplement Neon FP8 vector types using attribute `neon_vector_type`
instead of having them as builtin types.
This allows to implement FP8 Neon intrinsics without the need to add
special cases for these types when using `__builtin_shufflevector`
or bitcast (using C-style cast operator) between vectors, both
extensively used in the generated code in `arm_neon.h`.
Commit: 8f17f51deb12456f25d32b9a42ac1f00feabbfbc
https://github.com/llvm/llvm-project/commit/8f17f51deb12456f25d32b9a42ac1f00feabbfbc
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Fix comments format(NFC) (#124520)
This PR corrects the formatting of comments in Markdown. The previous
format was as follows:
https://mlir.llvm.org/docs/Dialects/TOSA/#tosaerf-mlirtosaerfop

https://mlir.llvm.org/docs/Dialects/TOSA/#tosarescale-mlirtosarescaleop

Commit: 14ffff384740f484b382a1225f4bd01aeebfdc3f
https://github.com/llvm/llvm-project/commit/14ffff384740f484b382a1225f4bd01aeebfdc3f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/AST/TextNodeDumper.cpp
A clang/test/AST/ast-dump-APValue-lvalue.cpp
M clang/test/AST/ast-dump-APValue-todo.cpp
Log Message:
-----------
[clang] Add dump() support for lvalue APValues (#124476)
Add some lvalue information to the `dump()` output of lvalue APValues.
Commit: 43a50deb63453cd3c800f097514d500536f9d436
https://github.com/llvm/llvm-project/commit/43a50deb63453cd3c800f097514d500536f9d436
Author: Samuel Ginzburg <ginzburg.sam at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[MLIR][ROCDL] Add GFX940 SMFMAC (2:4 sparsity) instructions to the ROCDL dialect (#124435)
# Overview
This PR adds 2:4 structured sparsity (sparse A, dense B) matrix multiply
instructions to ROCDL.
# Testing
I've added tests to Dialect/mlir and Target/mlir
Commit: ac87d6b03642eca3901a7776d73be368299402e9
https://github.com/llvm/llvm-project/commit/ac87d6b03642eca3901a7776d73be368299402e9
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/test/Lower/Intrinsics/ieee_next.f90
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Dialect/Arith/canonicalize.mlir
Log Message:
-----------
[mlir][arith] Fold `arith.cmpi eq, %val, %one : i1` -> `%val` and `arith.cmpi ne, %val, %zero : i1 -> %val` (#124436)
https://alive2.llvm.org/ce/z/dNZMdC
Commit: ddbfe6f7d2075a828fa9e8e5f5734bf881cda13a
https://github.com/llvm/llvm-project/commit/ddbfe6f7d2075a828fa9e8e5f5734bf881cda13a
Author: Robert Dazi <14996868+v01dXYZ at users.noreply.github.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ExprCXX.h
M clang/lib/Sema/TreeTransform.h
A clang/test/SemaCXX/array-type-trait-with-template.cpp
Log Message:
-----------
[Sema] Fix __array_rank instantiation (#124491)
The type being queried was left as a template type parameter, making the
whole expression as dependent and thus not eligible to static_assert.
Fixes #123498
Co-authored-by: v01dxyz <v01dxyz at v01d.xyz>
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: b7286dbef9dc1986860d29e390b092599e1d7db5
https://github.com/llvm/llvm-project/commit/b7286dbef9dc1986860d29e390b092599e1d7db5
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
Log Message:
-----------
Reland "[LoopVectorize] Add support for reverse loops in isDereferenceableAndAlignedInLoop #96752" (#123616)
The last attempt failed a sanitiser build because we were
creating a reference to a null Predicates pointer in
isDereferenceableAndAlignedInLoop. This was exposed by
the unit test IsDerefReadOnlyLoop in
unittests/Analysis/LoadsTest.cpp. I fixed this by falling
back on getConstantMaxBackedgeTakenCount if Predicates is
null - see line 316 in llvm/lib/Analysis/Loads.cpp. There
are no other changes.
Commit: b8d921003d1f20819b897b066e02d22787f11550
https://github.com/llvm/llvm-project/commit/b8d921003d1f20819b897b066e02d22787f11550
Author: David Truby <david.truby at arm.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/test/HLFIR/unroll-loops.fir
M flang/test/Integration/unroll-loops.f90
Log Message:
-----------
[flang][NFC] Restrict -funroll-loops tests to known working targets (#123939)
If -funroll-loops tests are not restricted to specific targets the tests
may behave differently based on the host platform. This patch restricts
the tests to aarch64 and x86_64, and removes the PowerPC XFAIL.
Commit: 98e52db4a5e57f919bb70312f9ca7deb16ee6fcb
https://github.com/llvm/llvm-project/commit/98e52db4a5e57f919bb70312f9ca7deb16ee6fcb
Author: David Truby <david.truby at arm.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/test/HLFIR/unroll-loops.fir
M flang/test/Integration/unroll-loops.f90
Log Message:
-----------
Revert "[flang][NFC] Restrict -funroll-loops tests to known working targets" (#124536)
Reverts llvm/llvm-project#123939
Commit: 6087c3049656bbaef51fffb48e2404e86f7e0d3f
https://github.com/llvm/llvm-project/commit/6087c3049656bbaef51fffb48e2404e86f7e0d3f
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lldb/source/Host/common/Host.cpp
Log Message:
-----------
[lldb] Simplify preprocessor conditional (#124522)
The long list of defines is just a very elaborate way to say "not
windows".
Commit: cfdd7d736a94aa65a23eb41258d9d6712cdb2b0d
https://github.com/llvm/llvm-project/commit/cfdd7d736a94aa65a23eb41258d9d6712cdb2b0d
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[compiler-rt][rtsan] sched cpu affinity for linux interception. (#124194)
Commit: e21b80464a44ef6491e44517ac59892c10ba2d6c
https://github.com/llvm/llvm-project/commit/e21b80464a44ef6491e44517ac59892c10ba2d6c
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[compiler-rt][rtsan] socketpair interception. (#124107)
Commit: d8ad1eef8ffeb4ef5474f0e38d6d340d82c53572
https://github.com/llvm/llvm-project/commit/d8ad1eef8ffeb4ef5474f0e38d6d340d82c53572
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/zeroing-forms-flogb.ll
Log Message:
-----------
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (7/11) (#116833)
SVE2.2 introduces instructions with predicated forms with zeroing of
the inactive lanes. This allows in some cases to save a `movprfx` or
a `mov` instruction when emitting code for `_x` or `_z` variants of
intrinsics.
This patch adds support for emitting the zeroing forms of certain
`FLOGB` instructions.
Commit: b31e9747d0866ff97a1cd4a608b7eade31c0aa0b
https://github.com/llvm/llvm-project/commit/b31e9747d0866ff97a1cd4a608b7eade31c0aa0b
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
M lldb/test/API/linux/aarch64/gcs/TestAArch64LinuxGCS.py
M lldb/test/API/linux/aarch64/gcs/main.c
Log Message:
-----------
[lldb][AArch64] Fix expression evaluation with Guarded Control Stacks (#123918)
When the Guarded Control Stack (GCS) is enabled, returns cause the
processor to validate that the address at the location pointed to by
gcspr_el0 matches the one in the link register.
```
ret (lr=A) << pc
| GCS |
+=====+
| A |
| B | << gcspr_el0
Fault: tried to return to A when you should have returned to B.
```
Therefore when an expression wrapper function tries to return to the
expression return address (usually `_start` if there is a libc), it
would fault.
```
ret (lr=_start) << pc
| GCS |
+============+
| user_func1 |
| user_func2 | << gcspr_el0
Fault: tried to return to _start when you should have returned to user_func2.
```
To fix this we must push that return address to the GCS in
PrepareTrivialCall. This value is then consumed by the final return and
the expression completes as expected.
If for some reason that fails, we will manually restore the value of
gcspr_el0, because it turns out that PrepareTrivialCall
does not restore registers if it fails at all. So for now I am handling
gcspr_el0 specifically, but I have filed
https://github.com/llvm/llvm-project/issues/124269 to address the
general problem.
(the other things PrepareTrivialCall does are exceedingly likely to not
fail, so we have never noticed this)
```
ret (lr=_start) << pc
| GCS |
+============+
| user_func1 |
| user_func2 |
| _start | << gcspr_el0
No fault, we return to _start as normal.
```
The gcspr_el0 register will be restored after expression evaluation so
that the program can continue correctly.
However, due to restrictions in the Linux GCS ABI, we will not restore
the enable bit of gcs_features_enabled. Re-enabling GCS via ptrace is
not supported because it requires memory to be allocated by the kernel.
We could disable GCS if the expression enabled GCS, however this would
use up that state transition that the program might later rely on. And
generally it is cleaner to ignore the enable bit, rather than one state
transition of it.
We will also not restore the GCS entry that was overwritten with the
expression's return address. On the grounds that:
* This entry will never be used by the program. If the program branches,
the entry will be overwritten. If the program returns, gcspr_el0 will
point to the entry before the expression return address and that entry
will instead be validated.
* Any expression that calls functions will overwrite even more entries,
so the user needs to be aware of that anyway if they want to preserve
the contents of the GCS for inspection.
* An expression could leave the program in a state where restoring the
value makes the situation worse. Especially if we ever support this in
bare metal debugging.
I will later document all this on
https://lldb.llvm.org/use/aarch64-linux.html.
Tests have been added for:
* A function call that does not interact with GCS.
* A call that does, and disables it (we do not re-enable it).
* A call that does, and enables it (we do not disable it again).
* Failure to push an entry to the GCS stack.
Commit: ef54e0bbfbef59932a59a1640f1f9e14b70cc41b
https://github.com/llvm/llvm-project/commit/ef54e0bbfbef59932a59a1640f1f9e14b70cc41b
Author: David Green <david.green at arm.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64InstrAtomics.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomic-load-rcpc_immo.ll
Log Message:
-----------
[AArch64] Avoid generating LDAPUR on certain cores (#124274)
On the CPUs listed below, we want to avoid LDAPUR for performance
reasons. Add a tuning feature to disable them when using:
-mcpu=neoverse-v2
-mcpu=neoverse-v3
-mcpu=cortex-x3
-mcpu=cortex-x4
-mcpu=cortex-x925
Commit: 347fb208c1e390a4f108e566efc81bd945837307
https://github.com/llvm/llvm-project/commit/347fb208c1e390a4f108e566efc81bd945837307
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M libclc/clc/include/clc/relational/relational.h
M libclc/clc/lib/generic/relational/clc_isequal.cl
M libclc/clc/lib/generic/relational/clc_isgreater.cl
M libclc/clc/lib/generic/relational/clc_isgreaterequal.cl
M libclc/clc/lib/generic/relational/clc_isless.cl
M libclc/clc/lib/generic/relational/clc_islessequal.cl
M libclc/clc/lib/generic/relational/clc_islessgreater.cl
M libclc/clc/lib/generic/relational/clc_isnotequal.cl
Log Message:
-----------
[libclc] Optimize CLC vector relational builtins (#124537)
Clang knows how to perform relational operations on OpenCL vectors, so
we don't need to use the Clang builtins. The builtins we were using
didn't support vector types, so we were previously scalarizing.
This commit generates the same LLVM fcmp operations as before, just
without the scalarization.
Commit: e9e06bea8661ddd474557a0db2cdc8770a55b66f
https://github.com/llvm/llvm-project/commit/e9e06bea8661ddd474557a0db2cdc8770a55b66f
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lldb/test/API/linux/aarch64/gcs/TestAArch64LinuxGCS.py
Log Message:
-----------
[lldb][AArch64][NFC] Move a comment in GCS tests
Got put in the wrong place during a rebase.
Commit: d7e561b913d2a75c7c1807bf1c1e0bddc270a2b3
https://github.com/llvm/llvm-project/commit/d7e561b913d2a75c7c1807bf1c1e0bddc270a2b3
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/test/Lower/OpenMP/loop-directive.f90
Log Message:
-----------
[flang][OpenMP] Support `bind` clause code-gen for standalone `loop`s (#122674)
Extends rewriting of `loop` directives by supporting `bind` clause for
standalone directives. This follows both the spec and the current state
of clang as follows:
* No `bind` or `bind(thread)`: the `loop` is rewritten to `simd`.
* `bind(parallel)`: the `loop` is rewritten to `do`.
* `bind(teams)`: the `loop` is rewritten to `distribute`.
This is a follow-up PR for
https://github.com/llvm/llvm-project/pull/122632, only the latest commit
in this PR is relevant to the PR.
Commit: e7592d83e0ac58f61cfe8dcf61bcc8e7a8bd67b3
https://github.com/llvm/llvm-project/commit/e7592d83e0ac58f61cfe8dcf61bcc8e7a8bd67b3
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M offload/plugins-nextgen/common/include/RPC.h
M offload/plugins-nextgen/common/src/RPC.cpp
Log Message:
-----------
[Offload][NFC] Make sure the thread is not running already
Commit: 86705eb6242b5e2d6153708ddedffbfc95491756
https://github.com/llvm/llvm-project/commit/86705eb6242b5e2d6153708ddedffbfc95491756
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/test/CodeGen/X86/huge-stack-offset.ll
Log Message:
-----------
[X86] huge-stack-offset.ll - add gnux32 test coverage
This should match x86 for the basic implementation, but its useful to check it actually runs correctly.
Commit: 3684ec425904424fc4dc80c8661f82bc676d7197
https://github.com/llvm/llvm-project/commit/3684ec425904424fc4dc80c8661f82bc676d7197
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/include/flang/Tools/TargetSetup.h
M flang/runtime/exceptions.cpp
Log Message:
-----------
[flang] IEEE underflow control for Arm (#124170)
Update IEEE_SUPPORT_UNDERFLOW_CONTROL, IEEE_GET_UNDERFLOW_MODE, and
IEEE_SET_UNDERFLOW_MODE code for Arm.
Commit: 3a4376b8f90686f754ee51b296a064ab03c12895
https://github.com/llvm/llvm-project/commit/3a4376b8f90686f754ee51b296a064ab03c12895
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/pointer-phis.ll
M llvm/test/Transforms/LoopDistribute/pointer-phi-in-loop.ll
M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/loop-distribute.ll
M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/loop-distribute.ll.expected
Log Message:
-----------
LAA: handle 0 return from getPtrStride correctly (#124539)
getPtrStride returns 0 when the PtrScev is loop-invariant, and this is
not an erroneous value: it returns std::nullopt to communicate that it
was not able to find a valid pointer stride. In analyzeLoop, we call
getPtrStride with a value_or(0) conflating the zero return value with
std::nullopt. Fix this, handling loop-invariant loads correctly.
Commit: f07505849c8e683bf8f444e205d3dd3284759b7d
https://github.com/llvm/llvm-project/commit/f07505849c8e683bf8f444e205d3dd3284759b7d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M offload/plugins-nextgen/common/src/PluginInterface.cpp
Log Message:
-----------
[Offload] Fix server thread from being shut down if unused
Commit: 54928a10c8dba7c07c6224c1ead5c02a335890e6
https://github.com/llvm/llvm-project/commit/54928a10c8dba7c07c6224c1ead5c02a335890e6
Author: Dipesh Sharma <76941383+dipeshs809 at users.noreply.github.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/LangOptions.h
M clang/lib/Basic/Targets/OSTargets.cpp
A clang/test/Preprocessor/deprecate-threads-macro-definition-msvc1939.c
M clang/test/Preprocessor/init-aarch64.c
Log Message:
-----------
[clang] __STDC_NO_THREADS__ is no longer necessary for VS 2022 1939 and above (#117149)
Since `__STDC_NO_THREADS__` is a reserved identifier,
- If `MSVC version < 17.9`
- C version < C11(201112L)
- When `<threads.h>` is unavailable `!__has_include(<threads.h>)` is
`__has_include` is defined.
Closes #115529
Commit: f95a8bde3425ada0ef004186eb8ccda6e723241c
https://github.com/llvm/llvm-project/commit/f95a8bde3425ada0ef004186eb8ccda6e723241c
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/include/clang/Basic/AArch64SVEACLETypes.def
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/utils/TableGen/SveEmitter.cpp
Log Message:
-----------
[AArch64] Refactor implementation of FP8 types (NFC) (#123604)
- The FP8 scalar type (`__mfp8`) was described as a vector type
- The FP8 vector types were described/assumed to have integer element
type (the element type ought to be `__mfp8`)
- Add support for `m` type specifier (denoting `__mfp8`) in
`DecodeTypeFromStr` and create builtin function prototypes using that
specifier, instead of `int8_t`
Commit: f1d5e70a00fbc80f42977800e9299353b06d48cb
https://github.com/llvm/llvm-project/commit/f1d5e70a00fbc80f42977800e9299353b06d48cb
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Do not check poison values for corresponding vectorized entries
No need to check poison values if they have been vectorized and/or mark
them as vectorized, it should work only for instructions.
Commit: eaa5897534cbd263d0cdbf780f72133c2fe8d8d4
https://github.com/llvm/llvm-project/commit/eaa5897534cbd263d0cdbf780f72133c2fe8d8d4
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M libclc/clc/include/clc/relational/relational.h
M libclc/clc/lib/generic/relational/clc_isordered.cl
M libclc/clc/lib/generic/relational/clc_isunordered.cl
Log Message:
-----------
[libclc] Optimize CLC vector is(un)ordered builtins (#124546)
These are similar to 347fb208, but these builtins are expressed in terms
of other builtins. The LLVM IR generated features the same fcmp ord/uno
comparisons as before, but consistently in vector form.
Commit: 561132e71b29d9b747dfda1509f715847852f77b
https://github.com/llvm/llvm-project/commit/561132e71b29d9b747dfda1509f715847852f77b
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/Decl.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
Log Message:
-----------
[Clang] Fix immediate escalation of template function specializations. (#124404)
We record whether an expression is immediate escalating in the
FunctionScope.
However, that only happen when parsing or transforming an expression.
This might not happen when transforming a non dependent expression.
This patch fixes that by considering a function immediate when
instantiated from an immediate function.
Fixes #123405
Commit: 081723b9db84e78d7dd240b46af2aeb3b51b00be
https://github.com/llvm/llvm-project/commit/081723b9db84e78d7dd240b46af2aeb3b51b00be
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
Log Message:
-----------
[lldb][TypeSystem] Ensure that ParmVarDecls have the correct DeclContext (#124279)
While sifting through this part of the code I noticed that when we parse
C++ methods, `DWARFASTParserClang` creates two sets of `ParmVarDecls`,
one in `ParseChildParameters` and once in `AddMethodToCXXRecordType`.
The former is unused when we're dealing with methods. Moreover, the
`ParmVarDecls` we created in `ParseChildParameters` were created with an
incorrect `clang::DeclContext` (namely the DeclContext of the function,
and not the function itself). In Clang, there's
`ParmVarDecl::setOwningFunction` to adjust the DeclContext of a
parameter if the parameter was created before the FunctionDecl. But we
never used it.
This patch removes the `ParmVarDecl` creation from
`ParseChildParameters` and instead creates a
`TypeSystemClang::CreateParameterDeclarations` that ensures we set the
DeclContext correctly.
Note there is one differences in how `ParmVarDecl`s would be created
now: we won't set a ClangASTMetadata entry for any of the parameters. I
don't think this was ever actually useful for parameter DIEs anyway.
This wasn't causing any concrete issues (that I know of), but was quite
surprising. And this way of setting the parameters seems easier to
reason about (in my opinion).
Commit: 5c5bbffe75caaaefdc68305e85a625a057b09159
https://github.com/llvm/llvm-project/commit/5c5bbffe75caaaefdc68305e85a625a057b09159
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[clang][ASTImporter] Import source location of explicit object parameter instead of copying it (#124305)
We used to copy the `SourceLocation` instead of importing it, which
isn't correct since the `SourceManager`'s of the source and target
ASTContext might differ.
Also adds test that confirms that we import the explicit object
parameter location for `ParmVarDecl`s. This is how Clang determines
whether a parameter `isExplicitObjectParamater`. The LLDB expression
evaluator relies on this for calling "explicit object member functions".
Commit: 1f5335c1db5d54b4465677c224b48e0ffc78e6d9
https://github.com/llvm/llvm-project/commit/1f5335c1db5d54b4465677c224b48e0ffc78e6d9
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Arith/Utils/Utils.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.mlir
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
M mlir/test/Dialect/Linalg/fuse-with-reshape-by-collapsing.mlir
M mlir/test/Dialect/Linalg/fusion-push-reshape.mlir
M mlir/test/Dialect/Linalg/reshape_fusion.mlir
M mlir/test/Dialect/Tensor/bufferize.mlir
Log Message:
-----------
Make index computation used divsi/remsi (#124390)
The index computation is meant to be signed. Using unsigned could lead
to subtle errors. Fix places where some index math was using unsigned
operations.
Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>
Commit: 27c917307563eae93c7fef9c3944e56e1f5b5f6d
https://github.com/llvm/llvm-project/commit/27c917307563eae93c7fef9c3944e56e1f5b5f6d
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/include/clang/AST/ExprCXX.h
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
Log Message:
-----------
[Clang] Remove unnecessary Decl transform & profiles for SizeOfPackExpr (#124533)
We used to always transform the pattern declaration for SizeOfPackExpr
to ensure the constraint expression's profile produced the desired
result. However, this approach failed to handle pack expansions when the
pack referred to function parameters. In such cases, the function
parameters were formerly expanded to 1 to avoid building Subst* nodes
(see e6974daa7). That workaround caused us to transform a pack without a
proper ArgumentPackSubstitutionIndex, leading to crashes when
transforming the pattern.
It turns out that profiling the pattern for partially substituted
SizeOfPackExprs is unnecessary because their transformed forms are also
profiled within the partial arguments.
Fixes https://github.com/llvm/llvm-project/issues/124161
Commit: 092372da15e5165be14cdbb7cac3cf4976fd82d0
https://github.com/llvm/llvm-project/commit/092372da15e5165be14cdbb7cac3cf4976fd82d0
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
M mlir/lib/Dialect/Tensor/IR/TensorInferTypeOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/lib/Interfaces/InferTypeOpInterface.cpp
M mlir/test/Dialect/Linalg/resolve-shaped-type-result-dims.mlir
M mlir/test/Dialect/Tensor/fold-empty-op.mlir
Log Message:
-----------
[mlir][Tensor] Rework `ReifyRankedShapedTypeInterface` implementation for `tensor.expand_shape` op. (#113501)
The op carries the output-shape directly. This can be used directly.
Also adds a method to get the shape as a `SmallVector<OpFoldResult>`.
Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>
Commit: 62340ff8d844fc02cd1bd34ff6235f1f0e1e464f
https://github.com/llvm/llvm-project/commit/62340ff8d844fc02cd1bd34ff6235f1f0e1e464f
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_promote.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC] true16 for v_cmpx_xx_f16 (#123419)
A bulk commit of true16 support for v_cmpx_xx_f16 instructions
including:
v_cmpx_f_f16
v_cmpx_le_f16
v_cmpx_gt_f16
v_cmpx_lg_f16
v_cmpx_ge_f16
v_cmpx_o_f16
v_cmpx_u_f16
v_cmpx_nge_f16
v_cmpx_nlg_f16
v_cmpx_ngt_f16
v_cmpx_nle_f16
v_cmpx_neq_f16
v_cmpx_nlt_f16
v_cmpx_t_f16
v_cmpx_eq_f16 is not in this patch and will be added in the following
patch
Commit: 5aafc6d58f3405662902cee006be11e599801b88
https://github.com/llvm/llvm-project/commit/5aafc6d58f3405662902cee006be11e599801b88
Author: Christian Clauss <cclauss at me.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M polly/docs/Architecture.rst
M polly/docs/doxygen.cfg.in
M polly/include/polly/CodeGen/RuntimeDebugBuilder.h
M polly/include/polly/DependenceInfo.h
M polly/include/polly/ScopInfo.h
M polly/include/polly/Support/SCEVAffinator.h
M polly/include/polly/Support/ScopHelper.h
M polly/lib/Analysis/ScopBuilder.cpp
M polly/lib/Analysis/ScopDetectionDiagnostic.cpp
M polly/lib/CodeGen/IslNodeBuilder.cpp
M polly/lib/CodeGen/Utils.cpp
M polly/lib/Support/SCEVAffinator.cpp
M polly/lib/Support/ScopHelper.cpp
M polly/lib/Transform/DeLICM.cpp
M polly/lib/Transform/ManualOptimizer.cpp
M polly/lib/Transform/MatmulOptimizer.cpp
M polly/lib/Transform/ScheduleOptimizer.cpp
M polly/lib/Transform/ScheduleTreeTransform.cpp
M polly/test/CodeGen/LoopParallelMD/do_not_mutate_debug_info.ll
M polly/test/CodeGen/multiple-codegens.ll
M polly/test/CodeGen/multiple-scops-in-a-row.ll
M polly/test/CodeGen/reduction_2.ll
M polly/test/CodeGen/scalar-store-from-same-bb.ll
M polly/test/CodeGen/test-invalid-operands-for-select.ll
M polly/test/DeLICM/load-in-cond-inf-loop.ll
M polly/test/DeLICM/pr41656.ll
M polly/test/DeLICM/pr48783.ll
M polly/test/DeLICM/reject_outofquota.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_2.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_3.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_4.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm_2.ll
M polly/test/ScopDetect/scev_remove_max.ll
M polly/test/ScopDetectionDiagnostics/ReportLoopHasNoExit.ll
M polly/test/ScopInfo/NonAffine/non_affine_loop_used_later.ll
M polly/test/ScopInfo/allow-all-parameters-dereferencable.ll
M polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-1.ll
M polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-2.ll
M polly/test/ScopInfo/multidim_gep_pointercast2.ll
M polly/test/ScopInfo/multidim_many_references.ll
M polly/test/ScopInfo/scalar_to_array.ll
M polly/test/ScopInfo/zero_ext_of_truncate.ll
M polly/test/create_ll.sh
M polly/utils/pyscop/isl.py
M polly/www/changelog.html
M polly/www/get_started.html
M polly/www/index.html
M polly/www/projects.html
M polly/www/publications.html
Log Message:
-----------
[Polly] Fix typos discovered by codespell (#124545)
Patch created using the following command line:
```bash
codespell polly --skip="*.pdf,polly/lib/External/*" --write-changes \
--ignore-words-list=couter,createor,distribues,doble,identty,indention,indx,olt,ore,padd,sais,te,theses
```
Commit: e14962a39cc6476bebba65e5639b74b0318c7fc3
https://github.com/llvm/llvm-project/commit/e14962a39cc6476bebba65e5639b74b0318c7fc3
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.h
M llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
Log Message:
-----------
[NFC][DebugInfo] Use iterators for instruction insertion in more places (#124291)
As part of the "RemoveDIs" work to eliminate debug intrinsics, we're
replacing methods that use Instruction*'s as positions with iterators.
This patch changes some more complex call-sites, those crossing file
boundaries and where I've had to perform some minor rewrites.
Commit: 212f344b84b400c0a9dedfa3c1ec6af9d9d30223
https://github.com/llvm/llvm-project/commit/212f344b84b400c0a9dedfa3c1ec6af9d9d30223
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/add2.ll
Log Message:
-----------
[InstCombine] Handle constant expression result in tryFactorization()
If IRBuilder folds the result to a constant expression, don't try
to set nowrap flags on it.
Fixes https://github.com/llvm/llvm-project/issues/124526.
Commit: 559287575b5b747cfc01652adb647ee5516aa626
https://github.com/llvm/llvm-project/commit/559287575b5b747cfc01652adb647ee5516aa626
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalMerge.cpp
Log Message:
-----------
[GlobalMerge][NFC] Reland "Skip sorting by profitability when it is not needed"
Relands #124146 but without changes to the sorting algorithm and the following
reverse.
Commit: 1eb4e9f88b827f9adbcdd5f385f75406aa604812
https://github.com/llvm/llvm-project/commit/1eb4e9f88b827f9adbcdd5f385f75406aa604812
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/runtime/exceptions.cpp
Log Message:
-----------
[flang] arm build fix (#124562)
Commit: 20f72d19fc58a394df765d407d9008a381e02b91
https://github.com/llvm/llvm-project/commit/20f72d19fc58a394df765d407d9008a381e02b91
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/runtime/exceptions.cpp
Log Message:
-----------
Revert "[flang] arm build fix" (#124569)
Reverts llvm/llvm-project#124562
Commit: 3322ba493ad7d203cdd6c545b7d9d9589c44357f
https://github.com/llvm/llvm-project/commit/3322ba493ad7d203cdd6c545b7d9d9589c44357f
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/include/flang/Tools/TargetSetup.h
M flang/runtime/exceptions.cpp
Log Message:
-----------
Revert "[flang] IEEE underflow control for Arm" (#124570)
Reverts llvm/llvm-project#124170
Commit: 1e2d5f7943d09d658a5fbacf661d2c6c361f857c
https://github.com/llvm/llvm-project/commit/1e2d5f7943d09d658a5fbacf661d2c6c361f857c
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/test/Transforms/generic-loop-rewriting-todo.mlir
M flang/test/Transforms/generic-loop-rewriting.mlir
Log Message:
-----------
[NFC][mlir][OpenMP] Remove mentions of `target` from generic `loop` rewrite (#124528)
This removes mentions of `target` from the generic `loop` rewrite pass
since there is not need for it anyway. It is enough to detect `loop`'s
nesting within `teams` or `parallel` directives.
Commit: e492083f55d98144ba9a049450cb429d7fd52510
https://github.com/llvm/llvm-project/commit/e492083f55d98144ba9a049450cb429d7fd52510
Author: Scott Manley <rscottmanley at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/test/Dialect/OpenACC/ops.mlir
Log Message:
-----------
[OpenACC] Add AutomaticAllocationScope to recipe ops (#124337)
The recipe operations should have AutomaticAllocationScope so recipes can
be converted using operators that require parent ops to have
AutomaticAllocationScope
Commit: f95f10c7e65b9abd9b4e2ed71190d08565952ec0
https://github.com/llvm/llvm-project/commit/f95f10c7e65b9abd9b4e2ed71190d08565952ec0
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/zeroing-forms-urecpe-ursqrte-sqabs-sqneg.ll
Log Message:
-----------
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (9/11) (#116835)
SVE2.2 introduces instructions with predicated forms with zeroing of
the inactive lanes. This allows in some cases to save a `movprfx` or
a `mov` instruction when emitting code for `_x` or `_z` variants of
intrinsics.
This patch adds support for emitting the zeroing forms of certain
`URECPE`, `URSQRTE`, `SQABS` and `SQNEG` instructions.
Commit: cb6f021af2354761357684ffa26ebbe718615244
https://github.com/llvm/llvm-project/commit/cb6f021af2354761357684ffa26ebbe718615244
Author: Luke Lau <luke at igalia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.ll
Log Message:
-----------
[RISCV][VLOPT] Remove unnecessary passthru restriction (#124549)
We currently check for passthrus in two places, on the instruction to
reduce in isCandidate, and on the users in checkUsers.
We cannot reduce the VL if an instruction has a user that's a passthru,
because the user will read elements past VL in the tail.
However it's fine to reduce an instruction if it itself contains a
non-undef passthru. Since the VL can only be reduced, not increased, the
previous tail will always remain the same.
Commit: 178f47143a3b3c547df6d1f07e9707792f5d9fd4
https://github.com/llvm/llvm-project/commit/178f47143a3b3c547df6d1f07e9707792f5d9fd4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/reduction.ll
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
M llvm/test/Transforms/VectorCombine/X86/extract-binop-inseltpoison.ll
M llvm/test/Transforms/VectorCombine/X86/extract-binop.ll
M llvm/test/Transforms/VectorCombine/X86/load-inseltpoison.ll
Log Message:
-----------
[CostModel][X86] getShuffleCost - shuffles with only one defined element are always cheap (#124412)
If we're just moving a single element around inside a 128-bit lane (probably as an alternative to extracting it), we can assume this is cheap as a single PSRLDQ/PSHUFD/SHUFPS.
I've got the horrid feeling we're moving towards matching all SSE shuffle patterns inside the cost model, but I'm going to do my best to avoid this for now :|
Commit: 16e9601e193e026d7f3f27e87f0adb81acf5969b
https://github.com/llvm/llvm-project/commit/16e9601e193e026d7f3f27e87f0adb81acf5969b
Author: ssijaric-nv <ssijaric at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/test/Fir/boxproc.fir
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/TargetParser/Triple.cpp
Log Message:
-----------
[Flang] Adjust the trampoline size for AArch64 and PPC (#118678)
Set the trampoline size to match that in compiler-rt/lib/builtins/trampoline_setup.c
and AArch64 and PPC lowering.
Commit: 7f24b9acd189e12e1289d47f7dc6fe0dfffbcbcc
https://github.com/llvm/llvm-project/commit/7f24b9acd189e12e1289d47f7dc6fe0dfffbcbcc
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[CI] Support multiple jobs in metrics container (#124457)
This patch makes it so that the metrics script can support multiple jobs
in a single workflow. This is needed so that we do not crash on an
assertion now that the windows job has been enabled within the premerge
workflow.
Commit: ad2b2aa50bc8516970387420097b1fe2b0613c2c
https://github.com/llvm/llvm-project/commit/ad2b2aa50bc8516970387420097b1fe2b0613c2c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/test/Transforms/PhaseOrdering/vector-trunc-inseltpoison.ll
M llvm/test/Transforms/PhaseOrdering/vector-trunc.ll
Log Message:
-----------
[PhaseOrdering] vector-trunc.ll - use -passes="default<O2>" to allow DOS to correctly evaluate the RUN command
Necessary for running update_test_checks.py on windows
Commit: 1bb784a7489e901fd46ce9b77cdc0ab8840a4f3d
https://github.com/llvm/llvm-project/commit/1bb784a7489e901fd46ce9b77cdc0ab8840a4f3d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-minimal.ll
Log Message:
-----------
[LowerMatrixIntrinsics] multiply-minimal.ll - use -passes="..." to allow DOS to correctly evaluate the RUN command
Necessary for running update_test_checks.py on windows
Commit: 749443a307e8e47a25a5552cbeb27f69845e6ce8
https://github.com/llvm/llvm-project/commit/749443a307e8e47a25a5552cbeb27f69845e6ce8
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/SandboxIR/Instruction.cpp
M llvm/lib/SandboxIR/Tracker.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[NFC][DebugInfo] Mop up final instruction-insertion call sites (#124289)
These are the final places in the monorepo that make use of instruction
insertion for methods like insertBefore and moveBefore. As part of the
RemoveDIs project, instead use iterators for insertion. (see:
https://discourse.llvm.org/t/rfc-instruction-api-changes-needed-to-eliminate-debug-intrinsics-from-ir/68939
).
Commit: 09a29fcc8dbbb2cc1c0fdf26ef4f8fafab4e03d9
https://github.com/llvm/llvm-project/commit/09a29fcc8dbbb2cc1c0fdf26ef4f8fafab4e03d9
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
Log Message:
-----------
[VPlan] Don't collect live-ins in collectUsersInExitBlocks. (NFC) (#123819)
Live-ins don't need to be handled, other than adding to the exit phi
recipe. Do that early and assert that otherwise the exit value is
defined in the vector loop region.
This should enable simply skipping other exit values that do not need
further fixing, e.g. if handling the exit value from the early exit
directly in handleUncountableEarlyExit.
PR: https://github.com/llvm/llvm-project/pull/123819
Commit: 5f5cdf40382f06a8c417c42ec591f97aa76eeb67
https://github.com/llvm/llvm-project/commit/5f5cdf40382f06a8c417c42ec591f97aa76eeb67
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[lldb][TypeSystemClang] CreateParameterDeclarations: don't specify SmallVector size
This was causing Ubuntu buildbot failures:
```
/home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu-dwarf5/llvm-project/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp: In member function ‘llvm::SmallVector<clang::ParmVarDecl*> lldb_private::TypeSystemClang::CreateParameterDeclarations(clang::FunctionDecl*, const clang::FunctionProtoType&, const llvm::SmallVector<llvm::StringRef>&)’:
/home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu-dwarf5/llvm-project/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp:7728:10: error: could not convert ‘params’ from ‘SmallVector<[...],12>’ to ‘SmallVector<[...],6>’
7728 | return params;
| ^~~~~~
| |
| SmallVector<[...],12>
```
It's unclear why 12 was chosen here. Given we don't set the
size in other places where we parse parameters, this patch
just removes the constant.
Commit: 81d18ad86419fc612c7071e888d11aa923eaeb8a
https://github.com/llvm/llvm-project/commit/81d18ad86419fc612c7071e888d11aa923eaeb8a
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
M llvm/include/llvm/IR/BasicBlock.h
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
M llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/lib/Transforms/IPO/SCCP.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Utils/CodeMoverUtils.cpp
M llvm/lib/Transforms/Utils/IRNormalizer.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
Log Message:
-----------
[NFC][DebugInfo] Make some block-start-position methods return iterators (#124287)
As part of the "RemoveDIs" work to eliminate debug intrinsics, we're
replacing methods that use Instruction*'s as positions with iterators. A
number of these (such as getFirstNonPHIOrDbg) are sufficiently
infrequently used that we can just replace the pointer-returning version
with an iterator-returning version, hopefully without much/any
disruption.
Thus this patch has getFirstNonPHIOrDbg and
getFirstNonPHIOrDbgOrLifetime return an iterator, and updates all
call-sites. There are no concerns about the iterators returned being
converted to Instruction*'s and losing the debug-info bit: because the
methods skip debug intrinsics, the iterator head bit is always false
anyway.
Commit: 6ff86f2c0a5b58b07921ee895f0d16d8cd3d4015
https://github.com/llvm/llvm-project/commit/6ff86f2c0a5b58b07921ee895f0d16d8cd3d4015
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/amdgpu-toolchain.c
Log Message:
-----------
[AMDGPU] Use the AMDGPUToolChain when targeting C/C++ directly (#99687)
Summary:
The `getToolChain` pass uses the triple to determine which toolchain to
create. Currently the `amdgcn-amd-amdhsa` triple maps to the
`ROCmToolChain` which uses things expected to be provided by `ROCm`.
This is neded for OpenCL, but directly targeting C++ does not want this
since it's primarily being used for creating GPU runtime code. As far as
I know I'm the only user of this, so this shouldn't change anything.
Unfortunately, there's no good logic for detercting this, so I simply
checked ahead of time if the input is either `foo.cl` or `-x cl foo.c`
to choose between the two. This allows us to use the AMDGPU target
normally, as otherwise it will error without passing `-nogpulib`.
Commit: 38b3f45a811282511c014cffd09a8ae2a96435ba
https://github.com/llvm/llvm-project/commit/38b3f45a811282511c014cffd09a8ae2a96435ba
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M offload/plugins-nextgen/common/src/PluginInterface.cpp
Log Message:
-----------
[Offload] Fix offload-info interface
Summary:
The offload info tool doesn't initialize things properly, just check
this first instead.
Commit: c3a0fcc982061f9a69cfc1199dc91bd1fc3158c0
https://github.com/llvm/llvm-project/commit/c3a0fcc982061f9a69cfc1199dc91bd1fc3158c0
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M libclc/clc/lib/generic/relational/clc_all.cl
M libclc/clc/lib/generic/relational/clc_any.cl
Log Message:
-----------
[libclc] Optimize CLC vector any/all builtins (#124568)
By using the vector reduction buitins we can avoid scalarization.
Targets that don't support vector reductions will scalarize later on
anyway. The vector reduction builtins should be well-enough supported by
the middle-end to be a generic solution.
This produces conceptually equivalent code: all vector elements are
OR'd/AND'd together and the final scalar is bit-shifted and masked to
produce the final result.
The 'normalize' builtin uses 'all' so its code has similarly improved in
places.
Commit: 038b42ba5b47b1aa2d47ef5706a713f6bfbbc37c
https://github.com/llvm/llvm-project/commit/038b42ba5b47b1aa2d47ef5706a713f6bfbbc37c
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/docs/ModFiles.md
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Evaluate/type.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/symbol.h
M flang/lib/Evaluate/type.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Semantics/tools.cpp
A flang/test/Semantics/modfile71.F90
Log Message:
-----------
[flang] Safer hermetic module file reading (#121002)
When a hermetic module file is read, use a new scope to hold its
dependent modules so that they don't conflict with any modules in the
global scope.
Commit: 34b139594aa20fe712bc2ad68544632b3e4d8512
https://github.com/llvm/llvm-project/commit/34b139594aa20fe712bc2ad68544632b3e4d8512
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/include/llvm/Transforms/Coroutines/CoroInstr.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/Target/Hexagon/HexagonOptimizeSZextends.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[NFC][DebugInfo] Switch more call-sites to using iterator-insertion (#124283)
To finalise the "RemoveDIs" work removing debug intrinsics, we're
updating call sites that insert instructions to use iterators instead.
This set of changes are those where it's not immediately obvious that
just calling getIterator to fetch an iterator is correct, and one or two
places where more than one line needs to change.
Overall the same rule holds though: iterators generated for the start of
a block such as getFirstNonPHIIt need to be passed into insert/move
methods without being unwrapped/rewrapped, everything else can use
getIterator.
Commit: 512b44d5e1534ef60b5db7a99818e1021cf6064c
https://github.com/llvm/llvm-project/commit/512b44d5e1534ef60b5db7a99818e1021cf6064c
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Evaluate/intrinsics.cpp
M flang/test/Semantics/atomic01.f90
M flang/test/Semantics/atomic02.f90
M flang/test/Semantics/atomic03.f90
M flang/test/Semantics/atomic04.f90
M flang/test/Semantics/atomic05.f90
M flang/test/Semantics/atomic06.f90
M flang/test/Semantics/atomic07.f90
M flang/test/Semantics/atomic08.f90
M flang/test/Semantics/atomic09.f90
M flang/test/Semantics/atomic10.f90
M flang/test/Semantics/atomic11.f90
Log Message:
-----------
[flang] Define ATOMIC_ADD as an intrinsic procedure (#122993)
This one appears to have been omitted when other ATOMIC_xxx intrinsic
procedures were defined. There's already tests for it, but they
apparently work even when ATOMIC_ADD must be interpreted as an external
procedure with an implicit interface. Extend the tests with INTRINSIC
NONE(EXTERNAL, TYPE) statements to ensure that they require the
intrinsic interpretation.
Commit: 2625510ef8094457413661ef0ce2651844f584d2
https://github.com/llvm/llvm-project/commit/2625510ef8094457413661ef0ce2651844f584d2
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Semantics/check-coarray.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/tools.cpp
M flang/test/Semantics/call04.f90
M flang/test/Semantics/critical02.f90
M flang/test/Semantics/doconcurrent01.f90
M flang/test/Semantics/event01b.f90
M flang/test/Semantics/event02b.f90
M flang/test/Semantics/sync-stat-list.f90
Log Message:
-----------
[flang] Refine EVENT_TYPE/LOCK_TYPE usage checks (#123244)
The event variable in an EVENT POST/WAIT statement can be a coarray
reference, and need not be an entire coarray.
Variables and potential subobject components with EVENT_TYPE/LOCK_TYPE
must be coarrays, unless they are potential subobjects nested within
coarrays or pointers.
Commit: 4e231014c1980d64812a0322223a4759798d1be3
https://github.com/llvm/llvm-project/commit/4e231014c1980d64812a0322223a4759798d1be3
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/zeroing-forms-rev.ll
Log Message:
-----------
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (10/11) (#116836)
SVE2.2 introduces instructions with predicated forms with zeroing of
the inactive lanes. This allows in some cases to save a `movprfx` or
a `mov` instruction when emitting code for `_x` or `_z` variants of
intrinsics.
This patch adds support for emitting the zeroing forms of certain
`RBIT`, `REVB`, `REVH`, `REVW`, and `REVD` instructions.
Commit: 73f9034036c942058827877a657d72071dd766e7
https://github.com/llvm/llvm-project/commit/73f9034036c942058827877a657d72071dd766e7
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Evaluate/fold-implementation.h
A flang/test/Evaluate/fold-arr-char-component.f90
Log Message:
-----------
[flang] Fix failure to fold character array (#123418)
When a character component reference is applied to a constant array of
derived type, ensure that the length of the resulting character array is
properly defined.
Fixes https://github.com/llvm/llvm-project/issues/123362.
Commit: 73db9ee1e87b4cfccbc9d67d2b47d9476f92413f
https://github.com/llvm/llvm-project/commit/73db9ee1e87b4cfccbc9d67d2b47d9476f92413f
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
M clang/test/Sema/attr-cpuspecific.c
M clang/test/Sema/attr-target-mv.c
M clang/test/Sema/attr-target-version.c
Log Message:
-----------
[clang][Sema][FMV] Add a note to the 'cannot become multiversioned' diagnostic (#124364)
... pointing out the previous declaration.
Commit: 210e675cfd7be3d7e0d93c29368acd27b51f9a17
https://github.com/llvm/llvm-project/commit/210e675cfd7be3d7e0d93c29368acd27b51f9a17
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Semantics/resolve-labels.cpp
A flang/test/Semantics/label19.f90
Log Message:
-----------
[flang] Accept CHANGE TEAM/END TEAM as branch target (#123822)
It is valid to jump to a CHANGE TEAM statement from anywhere in the
containing executable part, and valid to jump to an END TEAM statement
from within the construct.
Commit: b16c989697208795f6428432f9ab05c5535b6085
https://github.com/llvm/llvm-project/commit/b16c989697208795f6428432f9ab05c5535b6085
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Semantics/check-call.cpp
M flang/test/Semantics/call13.f90
Log Message:
-----------
[flang] Fix check for coarray actual passed to implicit interface (#123836)
The check for a coarray actual argument being passed to a procedure with
an implicit interface was incorrect, yielding false positives for
coindexed objects. Fix.
Commit: 3ac00784ac3cd8b435c0c6be36f81f786ca5e489
https://github.com/llvm/llvm-project/commit/3ac00784ac3cd8b435c0c6be36f81f786ca5e489
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/bug123538.f90
Log Message:
-----------
[flang] Fix crash on erroneous program (#123843)
Catch and report multiple initializations of the same procedure pointer
rather than assuming that control wouldn't reach a given point in name
resolution in that case.
Fixes https://github.com/llvm/llvm-project/issues/123538.
Commit: f5ddb1012de1c7c7c958aa288932caead9607b07
https://github.com/llvm/llvm-project/commit/f5ddb1012de1c7c7c958aa288932caead9607b07
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Semantics/mod-file.cpp
A flang/test/Semantics/bug123534.f90
Log Message:
-----------
[flang] Fix crash in module file generation (#123859)
An assertion in module file generation didn't allow for a case that has
arisen in a test; remove it, extend commentary, and add a regression
test.
Fixes https://github.com/llvm/llvm-project/issues/123534.
Commit: ec6b2c63d93d8f8edeafcc7330d0b2349463d73d
https://github.com/llvm/llvm-project/commit/ec6b2c63d93d8f8edeafcc7330d0b2349463d73d
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Evaluate/fold-implementation.h
A flang/test/Evaluate/bug123766.f90
Log Message:
-----------
[flang] Fold character array constructor with unknown length (#123983)
When a character array constructor does not have an explicit type with a
constant length, the compiler can still fold it if all of its elements
are constants. These array constructors will have been wrapped up in the
internal %SET_LENGTH operation, which will determine the final length of
the folded value, so use the maximum length of the constant elements as
the length of the folded array constructor.
Fixes https://github.com/llvm/llvm-project/issues/123766.
Commit: d1d952c206efc3a651270c69331b180330ac3efc
https://github.com/llvm/llvm-project/commit/d1d952c206efc3a651270c69331b180330ac3efc
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Common/default-kinds.cpp
M flang/lib/Frontend/CompilerInstance.cpp
M flang/test/Semantics/kinds04_q10.f90
Log Message:
-----------
[flang] Interpret 'Q' exponent letter as kind=16 even on x86 (#124158)
The compiler was interpreting 'Q' as an exponent letter in a literal
real constant as meaning real(kind=10) on x86-64, which is the legacy
80387 80-bit extended precision floating-point type. It turns out that
'Q' means kind=16 with all other compilers, even for x86-64 targets.
Change to conform.
Commit: c596aae47ad8cfaee0fe4af3c104cb89a1125ac5
https://github.com/llvm/llvm-project/commit/c596aae47ad8cfaee0fe4af3c104cb89a1125ac5
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/bind-c06.f90
Log Message:
-----------
[flang] Catch assumed-length interoperability error (#124179)
An assumed-length character dummy argument is interoperable only if it
is neither a pointer nor allocatable.
Commit: b0fab14e9ca24a9160581ea26c19661c6f3a053f
https://github.com/llvm/llvm-project/commit/b0fab14e9ca24a9160581ea26c19661c6f3a053f
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Semantics/check-call.cpp
M flang/test/Semantics/call38.f90
Log Message:
-----------
[flang] Fix spurious error in character sequence association (#124204)
When an allocatable or pointer was being associated as a storage
sequence with a dummy argument, the checks were using the actual storage
size of the allocatable or pointer's descriptor, not the size of the
storage that it references.
Fixes https://github.com/llvm/llvm-project/issues/123807.
Commit: 873426bea3dd67d80dd10650e64e91c69796614f
https://github.com/llvm/llvm-project/commit/873426bea3dd67d80dd10650e64e91c69796614f
Author: John Harrison <harjohn at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/IOStream.h
M lldb/tools/lldb-dap/OutputRedirector.cpp
M lldb/tools/lldb-dap/OutputRedirector.h
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Ensure the IO forwarding threads are managed by the DAP object lifecycle. (#122783)
This moves the ownership of the threads that forward stdout/stderr to
the DAP object itself to ensure that the threads are joined and that the
forwarding is cleaned up when the DAP connection is disconnected.
This is part of a larger refactor to allow lldb-dap to run in a
listening mode and accept multiple connections.
This reverts the previous revert and now that the underlying Windows
issue was fixed by 3ea2b546a8d17014d3ecf05356ecfaadf26ed846.
Commit: fee393e4ea2b53139ee7924e3aa818433d70cfc7
https://github.com/llvm/llvm-project/commit/fee393e4ea2b53139ee7924e3aa818433d70cfc7
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/runtime/io-api.cpp
Log Message:
-----------
[flang][runtime] Don't crash on ASYNCHRONOUS='NO' in child I/O (#124208)
When ASYNCHRONOUS='NO' appears in a data transfer statement control item
list, don't crash if it isn't appropriate for the kind of I/O under way
(such as child I/O).
Fixes https://github.com/llvm/llvm-project/issues/124135.
Commit: e252c402104bd7c23341748663e1a182451c2ec8
https://github.com/llvm/llvm-project/commit/e252c402104bd7c23341748663e1a182451c2ec8
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/include/flang/Evaluate/shape.h
M flang/lib/Evaluate/shape.cpp
A flang/test/Evaluate/bug124191.f90
Log Message:
-----------
[flang] Fix spurious error due to bad expression shape calculation (#124323)
GetShape() needed to be called with a FoldingContext in order to
properly construct an extent expression for the shape of an array
constructor whose elements (nested in an implied DO loop) were not
scalars.
Fixes https://github.com/llvm/llvm-project/issues/124191.
Commit: 08c364280a790cb2a80fff86beb5ea69782ce667
https://github.com/llvm/llvm-project/commit/08c364280a790cb2a80fff86beb5ea69782ce667
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Evaluate/tools.cpp
M flang/test/Semantics/complex01.f90
Log Message:
-----------
[flang] Improve error message on bad complex literal. (#124331)
A complex literal constant can have one BOZ component, since the type
and value of the literal can be determined by converting the BOZ value
to the type of the other component. But a complex literal constant with
two BOZ components doesn't have a well-defined type. The error message
was confusing in the case; emit a better one.
Fixes https://github.com/llvm/llvm-project/issues/124201.
Commit: b80965efc1ea3f30cbdac090d869b1000fca5d2b
https://github.com/llvm/llvm-project/commit/b80965efc1ea3f30cbdac090d869b1000fca5d2b
Author: Josh Stone <jistone at redhat.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Support/MemAlloc.cpp
Log Message:
-----------
[Support] Report OOM from `allocate_buffer` (#85449)
Previously, it called `::operator new` which may throw `std::bad_alloc`,
regardless of whether LLVM itself was built with exception handling, and
this can cause safety issues if outside code has destructors that will
call back into LLVM. Now we use `::operator new(..., nothrow)` and call
`llvm::report_bad_alloc_error` when allocation fails, which will abort
when LLVM is built without exceptions.
Ref: https://github.com/llvm/llvm-project/issues/85281
Commit: e7de6036983641ccf0fb45afd3eb96ff962525aa
https://github.com/llvm/llvm-project/commit/e7de6036983641ccf0fb45afd3eb96ff962525aa
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineCMov - pull out repeated getValueType calls. NFC.
Commit: 44c9e46fce12badae8cd3f5bd53fe1c2b1248940
https://github.com/llvm/llvm-project/commit/44c9e46fce12badae8cd3f5bd53fe1c2b1248940
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/MachineFunction.cpp
Log Message:
-----------
[InstrRef] Fix mismatch between LiveDebugValues and salvageCopySSA (#124233)
The LiveDebugValues pass and the instruction selector (which calls
salvageCopySSA) need to be consistent on what they consider a copy
instruction. With https://github.com/llvm/llvm-project/pull/75184, the
definition of what a copy instruction is was narrowed for AArch64 to
exclude a w->x ORR and treat it as a zero-extend rather than a copy
However, to make sure LiveDebugValues still treats a w->x ORR as a copy,
the new function, isCopyLikeInstr was created. We need to make sure that
salvageCopySSA also calls that function.
This patch addresses this mismatch.
Commit: 1e89355dadce13a162882b58a0e7f181669ba65f
https://github.com/llvm/llvm-project/commit/1e89355dadce13a162882b58a0e7f181669ba65f
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Treat `f<N | M>(a)` as template function call (#124438)
Fixes #123144.
Commit: 19f052443df05df373ef1c695055886db16de376
https://github.com/llvm/llvm-project/commit/19f052443df05df373ef1c695055886db16de376
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
Log Message:
-----------
[Clang] fix test on 32 bits target after 561132e (#124593)
Commit: 99bd2e3f123baf9a14acc9b31ee0f557288118a6
https://github.com/llvm/llvm-project/commit/99bd2e3f123baf9a14acc9b31ee0f557288118a6
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_neon_incl.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CodeGenFunction.h
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_cvt.c
A clang/test/Sema/aarch64-fp8-intrinsics/acle_neon_fp8_cvt.c
M clang/utils/TableGen/NeonEmitter.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/neon-fp8-cvt.ll
Log Message:
-----------
[AArch64] Add Neon FP8 conversion intrinsics (#123612)
The patch adds the following intrinsics:
bfloat16x8_t vcvt1_bf16_mf8_fpm(mfloat8x8_t vn, fpm_t fpm)
bfloat16x8_t vcvt1_low_bf16_mf8_fpm(mfloat8x16_t vn, fpm_t fpm)
bfloat16x8_t vcvt2_bf16_mf8_fpm(mfloat8x8_t vn, fpm_t fpm)
bfloat16x8_t vcvt2_low_bf16_mf8_fpm(mfloat8x16_t vn, fpm_t fpm)
bfloat16x8_t vcvt1_high_bf16_mf8_fpm(mfloat8x16_t vn, fpm_t fpm)
bfloat16x8_t vcvt2_high_bf16_mf8_fpm(mfloat8x16_t vn, fpm_t fpm)
float16x8_t vcvt1_f16_mf8_fpm(mfloat8x8_t vn, fpm_t fpm)
float16x8_t vcvt1_low_f16_mf8_fpm(mfloat8x16_t vn, fpm_t fpm)
float16x8_t vcvt2_f16_mf8_fpm(mfloat8x8_t vn, fpm_t fpm)
float16x8_t vcvt2_low_f16_mf8_fpm(mfloat8x16_t vn, fpm_t fpm)
float16x8_t vcvt1_high_f16_mf8_fpm(mfloat8x16_t vn, fpm_t fpm)
float16x8_t vcvt2_high_f16_mf8_fpm(mfloat8x16_t vn, fpm_t fpm)
mfloat8x8_t vcvt_mf8_f32_fpm(float32x4_t vn, float32x4_t vm, fpm_t fpm)
mfloat8x16_t vcvt_high_mf8_f32_fpm(mfloat8x8_t vd, float32x4_t vn,
float32x4_t vm, fpm_t fpm)
mfloat8x8_t vcvt_mf8_f16_fpm(float16x4_t vn, float16x4_t vm, fpm_t fpm)
mfloat8x16_t vcvtq_mf8_f16_fpm(float16x8_t vn, float16x8_t vm, fpm_t
fpm)
Co-Authored-By: Caroline Concatto <caroline.concatto at arm.com>
Commit: 658f8500c84fcdcfbf5470ae7b4f732ef4a3c32f
https://github.com/llvm/llvm-project/commit/658f8500c84fcdcfbf5470ae7b4f732ef4a3c32f
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Remove obsolete mlir-cpu-runner alias
Commit: 88cca8ea209bb034eaec6af09a0227fb8cc7303e
https://github.com/llvm/llvm-project/commit/88cca8ea209bb034eaec6af09a0227fb8cc7303e
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M libcxx/include/__locale
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/support/bsd_like.h
M libcxx/include/__locale_dir/support/fuchsia.h
M libcxx/include/__locale_dir/support/windows.h
M libcxx/src/iostream.cpp
M libcxx/src/locale.cpp
M libcxx/src/support/win32/locale_win32.cpp
Log Message:
-----------
[libc++] Add more missing bits to the locale base API (#122531)
This patch adds the following pieces to the locale base API:
- __setlocale (for std::setlocale)
- __lconv_t (for std::lconv)
- _LIBCPP_FOO_MASK and _LIBCPP_LC_ALL
This should be sufficient to implement all of the platform-agnostic
localization support in libc++ without relying directly on any public
API names from the C library. This makes it possible to port libc++ to
platforms that don't provide the usual locale APIs.
Commit: 7b1becd940cb93f8b63c9872e1af7431dea353d1
https://github.com/llvm/llvm-project/commit/7b1becd940cb93f8b63c9872e1af7431dea353d1
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
A libc/cmake/caches/gpu.cmake
M libc/docs/gpu/building.rst
Log Message:
-----------
[libc] Add CMake cache file for the GPU build (#124589)
Summary:
This introduces libc cache files and adds one for building the GPU
support. The cache files will set defaults for these arguments which can
be overridden if the user needs to. They also serve as documentation for
how the builid is expected to look.
Commit: 610e33a547751019ff514d34f95f72d58118249c
https://github.com/llvm/llvm-project/commit/610e33a547751019ff514d34f95f72d58118249c
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M polly/include/polly/CodeGen/IslExprBuilder.h
M polly/lib/CodeGen/IslExprBuilder.cpp
M polly/lib/CodeGen/IslNodeBuilder.cpp
Log Message:
-----------
[Polly] Ensure i1 preload condition
If the preload condition is a constant, ExprBuilder::create returns an
integer of the native integer while an i1 is expected. Cast the result
to i1 if that happens.
Fixes #123932
Commit: 1782168c527bbb9756c96a95f82397b5952d32b4
https://github.com/llvm/llvm-project/commit/1782168c527bbb9756c96a95f82397b5952d32b4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
Log Message:
-----------
[X86] Fix a warning
This patch fixes:
llvm/lib/Target/X86/X86TargetTransformInfo.cpp:1583:47: error:
comparison of integers of different signs: 'size_t' (aka 'unsigned
long') and 'typename iterator_traits<const int *>::difference_type'
(aka 'long') [-Werror,-Wsign-compare]
Commit: 754b94638e8935e1c1ed6121e0037fdae8b3c63c
https://github.com/llvm/llvm-project/commit/754b94638e8935e1c1ed6121e0037fdae8b3c63c
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lld/test/ELF/archive-thin-missing-member.s
M lld/test/ELF/arm-thumb-thunk-v6m-xo.s
M lld/test/ELF/arm-thunk-section-too-large.s
M lld/test/ELF/arm-thunk-toolargesection.s
M lld/test/ELF/arm-v5-reloc-error.s
M lld/test/ELF/bad-archive.s
M lld/test/ELF/fatlto/fatlto.invalid.s
M lld/test/ELF/invalid-cie-reference.s
M lld/test/ELF/invalid/comdat-broken.test
M lld/test/ELF/invalid/data-encoding.test
M lld/test/ELF/invalid/dynamic-section-broken.test
M lld/test/ELF/invalid/invalid-elf.test
M lld/test/ELF/invalid/invalid-file-class.test
M lld/test/ELF/invalid/sht-group-wrong-section.test
M lld/test/ELF/invalid/sht-group.test
M lld/test/ELF/invalid/symtab-sh-info.s
M lld/test/ELF/invalid/verneed-shared.test
M lld/test/ELF/lto/bitcode-nodatalayout.ll
M lld/test/ELF/lto/bitcode-wrapper.ll
M lld/test/ELF/unsupported-emachine.test
M lld/test/lit.cfg.py
Log Message:
-----------
[lld] Support RUN_LLD_MAIN_TWICE for the ELF port (#124441)
This enables the LLD_IN_TEST=2 testing mode for
```
path/to/llvm-lit -sv --param RUN_LLD_MAIN_TWICE=1 lld/test/ELF
```
When `Fatal` is called, `RunSafely` will return false.
For the first invocation in LLD_IN_TEST=2 mode, `inTestOutputDisabled`
is true and lld will not write to stdout/stderr, making many tests fail.
(This essentially discourages `Fatal` calls in the source code.)
Add XFAIL: main-run-twice to these tests similar to
https://reviews.llvm.org/D112898 for Mach-O
```
comment="This test intentionally checks for fatal errors, and fatal errors aren't supported for testing when main is run twice."
xargs </tmp/0 sed -Ei "1s/(;|#|\/\/) REQUIRES: .*/\0\n\1 "$comment"\n\1 XFAIL: main-run-twice/;t;1s/^/# "$comment"\n# XFAIL: main-run-twice\n/"
```
Commit: 5d6d982df61d16b6d498e6d59dd91c059679d3d8
https://github.com/llvm/llvm-project/commit/5d6d982df61d16b6d498e6d59dd91c059679d3d8
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/zeroing-forms-ext.ll
Log Message:
-----------
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (11/11) (#116837)
SVE2.2 introduces instructions with predicated forms with zeroing of
the inactive lanes. This allows in some cases to save a `movprfx` or
a `mov` instruction when emitting code for `_x` or `_z` variants of
intrinsics.
This patch adds support for emitting the zeroing forms of certain
`SXTB`, `UXTB`, `SXTH`, `UXTH`, `SXTW`, and `UXTW` instructions.
Commit: dc6411d3e1ab903750a4c80571ee0ebd7e26a62c
https://github.com/llvm/llvm-project/commit/dc6411d3e1ab903750a4c80571ee0ebd7e26a62c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/AST/Decl.cpp
Log Message:
-----------
[AST] Migrate away from PointerUnion::dyn_cast (NFC) (#124502)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect TemplateOrSpecialization to be nonnull.
Commit: 4075915ebdfc7b69381388c96781e6abfa5f4407
https://github.com/llvm/llvm-project/commit/4075915ebdfc7b69381388c96781e6abfa5f4407
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/Sema/SemaDeclCXX.cpp
Log Message:
-----------
[Sema] Migrate away from PointerUnion::dyn_cast (NFC) (#124503)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect U.first to be nonnull.
Commit: 5d2434166787e36312f037538119d3820c5af5e6
https://github.com/llvm/llvm-project/commit/5d2434166787e36312f037538119d3820c5af5e6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lld/MachO/ObjC.cpp
M lld/MachO/Writer.cpp
Log Message:
-----------
[lld] Migrate away from PointerUnion::dyn_cast (NFC) (#124504)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
This patch migrates uses of PointerUnion::dyn_cast to
dyn_cast_if_present (see the definition of PointerUnion::dyn_cast).
Note that we cannot use dyn_cast in any of the migrations in this
patch; placing
assert(!X.isNull());
just before any of dyn_cast_if_present in this patch triggers some
failure in check-lld.
Commit: e0c5a8553d62124c983e3d8bdc3ea31ed1ea0b96
https://github.com/llvm/llvm-project/commit/e0c5a8553d62124c983e3d8bdc3ea31ed1ea0b96
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[memprof] Migrate away from PointerUnion::dyn_cast (NFC) (#124505)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses cast
because we know which alternative to expect in the ternary expression.
Commit: 817e777296a508356f55d5e1a06cba714c0fe13b
https://github.com/llvm/llvm-project/commit/817e777296a508356f55d5e1a06cba714c0fe13b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#124506)
Commit: 4e812756745e59e02dca12abaed50638b5eb273f
https://github.com/llvm/llvm-project/commit/4e812756745e59e02dca12abaed50638b5eb273f
Author: Meng Zhuo <mengzhuo1203 at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M compiler-rt/lib/tsan/go/buildgo.sh
Log Message:
-----------
[tsan] Add support for linux/riscv64 in lib/tsan/go/buildgo.sh (#124557)
Commit: d1139b32d251c1e258abeb6556d5fff045d7ae12
https://github.com/llvm/llvm-project/commit/d1139b32d251c1e258abeb6556d5fff045d7ae12
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/mad.u16.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] true16 codegen pats for v_mad_u16 (#124000)
true16 codegen pats for v_mad_u16 (mul+add)
Commit: e77d428e46d94e1be6e5f38205b01d3f528d5e3f
https://github.com/llvm/llvm-project/commit/e77d428e46d94e1be6e5f38205b01d3f528d5e3f
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
Log Message:
-----------
[AMDGPU] Do not remat instructions with PhysReg uses (#124366)
This blocks rematerialization during scheduling if the instruction has a
non accepted PhysReg use.
Currently, there aren't any checks like this in place, and we may create
invalid code: https://godbolt.org/z/xjPjdcorf
Commit: 1bcf44be4c6a01407d608cd7bd17571dc31dbcf5
https://github.com/llvm/llvm-project/commit/1bcf44be4c6a01407d608cd7bd17571dc31dbcf5
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[MLOpt] Add tf_xla_runtime to LLVMDevelopmentExport (#124610)
We need to use tf on assert builds, thus requires it to be export as
well.
Signed-off-by: Peter Rong <PeterRong at meta.com>
Commit: 539b2e06542f7c099885533e4472e6fb3084aa96
https://github.com/llvm/llvm-project/commit/539b2e06542f7c099885533e4472e6fb3084aa96
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
M llvm/test/CodeGen/WebAssembly/exception.ll
Log Message:
-----------
[WebAssembly] Fix catch block type in wasm64 (#124381)
`try_table`'s `catch` or `catch_ref`'s target block's return type should
be `i64` and `(i64, exnref)` in case of wasm64.
Commit: aa34a6ab299027ac31929173287e42db0dbdb06b
https://github.com/llvm/llvm-project/commit/aa34a6ab299027ac31929173287e42db0dbdb06b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/test/CodeGen/RISCV/machinelicm-address-pseudos.ll
M llvm/test/CodeGen/RISCV/macro-fusion-lui-addi.ll
Log Message:
-----------
[RISCV] Add register allocation hints for lui/auipc+addi fusion. (#123860)
Spotted the auipc case while looking at code for P550. I'm not sure this
is the right long term fix. We're still missing rematerialization
opportunities for these pairs so a pseudo might be better. That would
interfere with folding auipc+add into load/store addressing though.
Fixes #76779.
Commit: 2e5a5237daf82a657561c490845c406e13657311
https://github.com/llvm/llvm-project/commit/2e5a5237daf82a657561c490845c406e13657311
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
M flang/test/Integration/debug-cyclic-derived-type-3.f90
Log Message:
-----------
[flang][debug] Avoid redundant debug data generation for derived types. (#124473)
Since https://github.com/llvm/llvm-project/pull/122770, we have seen
that compile time have become extremely slow for cyclic derived types.
In #122770, we made the criteria to cache a derived type very strict. As
a result, some types which are safe to cache were also being
re-generated every type they were required. This increased the compile
time and also the size of the debug info.
Please see the description of PR# 122770. We decided that when
processing `t1`, the type generated for `t2` and `t3` were not safe to
cached. But our algorithm also denied caching to `t1` which as top level
type was safe.
```
type t1
type(t2), pointer :: p1
end type
type t2
type(t3), pointer :: p2
end type
type t3
type(t1), pointer :: p3
end type
```
I have tinkered the check a bit so that top level type is always cached.
To detect a top level type, we use a depth counter that get incremented
before call to `convertRecordType` and decremented after it returns.
After this change, the following
[file](https://github.com/fujitsu/compiler-test-suite/blob/main/Fortran/0394/0394_0031.f90)
from Fujitsu get compiled around 40s which is same as it was before
#122770.
The smaller testcase present in issue #124049 takes less than half a
second. I also added check to make sure that duplicate entries of the
`DICompositeType` are not present in the IR.
Fixes #124049 and #123960.
Commit: 1e9b60cfa4316246f9fe325ec57daf185120d34e
https://github.com/llvm/llvm-project/commit/1e9b60cfa4316246f9fe325ec57daf185120d34e
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Semantics/check-call.cpp
M flang/test/Semantics/event_query.f90
Log Message:
-----------
[flang] Recognize and check EVENT_QUERY (#123429)
Recognize the intrinsic subroutine EVENT_QUERY and enforce semantic
requirements on calls to it.
Commit: d732c86c928271cf3a829d95a1fcc560894ab8e4
https://github.com/llvm/llvm-project/commit/d732c86c928271cf3a829d95a1fcc560894ab8e4
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/include/flang/Evaluate/characteristics.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Semantics/check-call.cpp
M flang/test/Semantics/call08.f90
Log Message:
-----------
[flang] Don't take corank from actual intrinsic argument (#124029)
When constructing the characteristics of a particular reference to an
intrinsic procedure that was passed a non-coindexed reference to local
coarray data as an actual argument, don't add the corank of the actual
argument to those characteristics.
Also clean up the TypeAndShape characteristics class a little; the
Attr::Coarray is redundant since the corank() accessor can be used to
the same effect.
Commit: 08a18efc664a85b4db8ca46ac986ec2d154ae433
https://github.com/llvm/llvm-project/commit/08a18efc664a85b4db8ca46ac986ec2d154ae433
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/docs/Status/Cxx23Papers.csv
Log Message:
-----------
[libc++][doc] Update the release notes for LLVM 20. (#124403)
This is a preparation for the upcoming LLVM 20 release.
Commit: c4c76eabb88f8ee5b92fa9a84452875b0cb67d0d
https://github.com/llvm/llvm-project/commit/c4c76eabb88f8ee5b92fa9a84452875b0cb67d0d
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/include/flang/Tools/TargetSetup.h
M flang/runtime/exceptions.cpp
Log Message:
-----------
[flang] IEEE underflow control for Arm (#124617)
Update IEEE_SUPPORT_UNDERFLOW_CONTROL, IEEE_GET_UNDERFLOW_MODE, and
IEEE_SET_UNDERFLOW_MODE code for Arm.
Commit: a85b2dc45a5f1312d6ee5e2522c24e81a086bf60
https://github.com/llvm/llvm-project/commit/a85b2dc45a5f1312d6ee5e2522c24e81a086bf60
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/include/clang/AST/ASTLambda.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
Log Message:
-----------
[Clang] only inherit the parent eval context inside of lambdas (#124426)
As we create defaul constructors lazily, we should not inherit from the
parent evaluation context.
However, we need to make an exception for lambdas (in particular their
conversion operators, which are also implicitly defined).
As a drive-by, we introduce a generic way to query whether a function is
a member of a lambda.
This fixes a regression introduced by baf6bd3.
Fixes #118000
Commit: 285009f202ca8bfcc6b607eba0e919867559e725
https://github.com/llvm/llvm-project/commit/285009f202ca8bfcc6b607eba0e919867559e725
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CGObjCRuntime.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
Log Message:
-----------
[NFC][DebugInfo] Rewrite more call-sites to insert with iterators (#124288)
As part of the "RemoveDIs" work to eliminate debug intrinsics, we're
replacing methods that use Instruction*'s as positions with iterators. The
call-sites updated in this patch are those where the dyn_cast_or_null cast
utility doesn't compose well with iterator insertion. It can distinguish
between nullptr and a "present" (non-null) Instruction pointer, but not
between a legal and illegal instruction iterator. This can lead to
end-iterator dereferences and thus crashes.
We can improve this in the future (as parent-pointers can now be accessed
from ilist nodes), but for the moment, add explicit tests for end()
iterators at the five call sites affected by this.
Commit: bd5d361c059814435bab24189e79e01d94c7039d
https://github.com/llvm/llvm-project/commit/bd5d361c059814435bab24189e79e01d94c7039d
Author: Chao Chen <chao.chen at intel.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/test/Dialect/Vector/linearize.mlir
Log Message:
-----------
[mlir][vector] add support for linearizing vector.bitcast in VectorLinearize (#123110)
This PR adds support for converting Vector::BitCastOp working on ND
(N >1) vectors into the same op working on linearized (1D) vectors.
Commit: e734f01bffb87d035d9037ade8d8ba1e96639c2b
https://github.com/llvm/llvm-project/commit/e734f01bffb87d035d9037ade8d8ba1e96639c2b
Author: André Brand <andre.brand at mailbox.org>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
A clang/test/SemaCXX/member-enum-declarations.cpp
Log Message:
-----------
[clang] Prevent duplicated instantiation of enumerators of unscoped member enumerations (#124407)
This commit addresses a bug occurring when an unscoped member enumeration
of a class template is introduced with an opaque-enum-declaration and later
redeclared with an enum-specifier (per C++23 [class.mem] p6).
Previously, the enumerators, or EnumConstantDecl, of the enum-specifier
were instantiated at both declarations, leading to different issues:
* erroneous ambiguities when referencing the enumerators,
* duplicated diagnostics in the enumerator-list.
The issue is resolved by ensuring that enumerators are instantiated only
at the first instantiated declaration, analogous to nested classes.
Fixes #124405
Commit: 0cbb1d5673dd76112460a109c8c2af6c32c5a16d
https://github.com/llvm/llvm-project/commit/0cbb1d5673dd76112460a109c8c2af6c32c5a16d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalMerge.cpp
Log Message:
-----------
[GlobalMerge] Use constructor to set all bits in BitVector. NFC (#124375)
The constructor has an optional bool for the starting value for each
bit. Use that instead of calling set().
Commit: c24e5f982e2791768aeea8b1fb55e951f80aad75
https://github.com/llvm/llvm-project/commit/c24e5f982e2791768aeea8b1fb55e951f80aad75
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalMerge.cpp
Log Message:
-----------
[GlobalMerge] Fix inaccurate debug print. (#124377)
This message was not updated when MinSize was added.
Commit: 3bf8e671dbc808a3317a25c37017af7aa843d581
https://github.com/llvm/llvm-project/commit/3bf8e671dbc808a3317a25c37017af7aa843d581
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/format.functions.tests.h
Log Message:
-----------
[libc++][format] Add tests for flat_(|multi)map formatting (#124418)
These types should be formattable out-of-the-box. This patch validates
that is true.
Commit: 804b81d39f2d50743fd2090aed72dad29f5fb388
https://github.com/llvm/llvm-project/commit/804b81d39f2d50743fd2090aed72dad29f5fb388
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_neon_incl.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CodeGenFunction.h
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fdot.c
A clang/test/Sema/aarch64-fp8-intrinsics/acle_neon_fp8_fdot.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/fp8-neon-fdot.ll
Log Message:
-----------
[AArch64] Add FP8 Neon intrinsics for dot-product (#123613)
This patch adds the following intrinsics:
float16x4_t vdot_f16_mf8_fpm(float16x4_t vd, mfloat8x8_t vn, mfloat8x8_t
vm, fpm_t fpm)
float16x8_t vdotq_f16_mf8_fpm(float16x8_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, fpm_t fpm)
float16x4_t vdot_lane_f16_mf8_fpm(float16x4_t vd, mfloat8x8_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float16x4_t vdot_laneq_f16_mf8_fpm(float16x4_t vd, mfloat8x8_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
float16x8_t vdotq_lane_f16_mf8_fpm(float16x8_t vd, mfloat8x16_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float16x8_t vdotq_laneq_f16_mf8_fpm(float16x8_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x2_t vdot_f32_mf8_fpm(float32x2_t vd, mfloat8x8_t vn, mfloat8x8_t
vm, fpm_t fpm)
float32x4_t vdotq_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, fpm_t fpm)
float32x2_t vdot_lane_f32_mf8_fpm(float32x2_t vd, mfloat8x8_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x2_t vdot_laneq_f32_mf8_fpm(float32x2_t vd, mfloat8x8_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x4_t vdotq_lane_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x4_t vdotq_laneq_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
Commit: ad9da92cf6f735747ef04fd56937e1d76819e503
https://github.com/llvm/llvm-project/commit/ad9da92cf6f735747ef04fd56937e1d76819e503
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Transforms/Utils/UnrollLoop.h
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
M llvm/unittests/Transforms/Utils/UnrollLoopTest.cpp
Log Message:
-----------
[LoopUnroll] Add RuntimeUnrollMultiExit to loop unroll options (NFC) (#124462)
Add an extra knob to RuntimeUnrollMultiExit to let backends control
whether to allow multi-exit unrolling on a per-loop basis.
This gives backends more fine-grained control on deciding if multi-exit
unrolling is profitable for a given loop and uarch. Similar to
4226e0a0c75.
PR: https://github.com/llvm/llvm-project/pull/124462
Commit: 5815a311050ae218ebcda53adeee24ed96851943
https://github.com/llvm/llvm-project/commit/5815a311050ae218ebcda53adeee24ed96851943
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
A clang/test/CodeGenCXX/gh119046.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
Log Message:
-----------
[Clang] call HandleImmediateInvocation before checking for immediate escacalating expressions (#124414)
HandleImmediateInvocation can call MarkExpressionAsImmediateEscalating
and should always be called before
CheckImmediateEscalatingFunctionDefinition.
However, we were not doing that in `ActFunctionBody`.
We simply move CheckImmediateEscalatingFunctionDefinition to
PopExpressionEvaluationContext.
Fixes #119046
Commit: 713482fccf82d33c5c4ddb24538958617e1eb957
https://github.com/llvm/llvm-project/commit/713482fccf82d33c5c4ddb24538958617e1eb957
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/invariant-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-predication.ll
M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-neg-off.ll
Log Message:
-----------
[VPlan] Use State.get to extract lane mask for BranchOnMask.
Simplifies the code slightly and avoids redundant extracts/broadcasts if
the operand is live-in or already scalar.
Commit: 6578790076fed5467bf613e48f7a0ad2f50f041a
https://github.com/llvm/llvm-project/commit/6578790076fed5467bf613e48f7a0ad2f50f041a
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
Reapply "[Fuchsia][cmake] Allow using FatLTO when building runtimes" (#119252) (#121820)
The previous failures were addressed with CMake changes in #121819
Commit: aca08a8515d48baff48328df5d54300fc7180bea
https://github.com/llvm/llvm-project/commit/aca08a8515d48baff48328df5d54300fc7180bea
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/include/llvm/Target/Target.td
M llvm/lib/TableGen/Main.cpp
M llvm/lib/TableGen/TGParser.cpp
M llvm/test/TableGen/BitsInit.td
A llvm/test/TableGen/BitsInitErrors.td
M llvm/test/TableGen/HwModeSelect.td
M llvm/utils/TableGen/Common/CodeGenHwModes.cpp
M mlir/test/mlir-tblgen/attr-or-type-builder-invalid.td
Log Message:
-----------
[TableGen] Add assert to validate `Objects` list for `HwModeSelect` (#123794)
- Bail out of TableGen if any asserts fail before running the backend.
- Add asserts to validate that the `Objects` and `Modes` lists for
various `HwModeSelect` subclasses are of same length.
- Eliminate equivalent check in CodeGenHWModes.cpp
Commit: b707d52fc557d24c4269987a80dc270e7adad942
https://github.com/llvm/llvm-project/commit/b707d52fc557d24c4269987a80dc270e7adad942
Author: Jens Reidel <adrian at travitia.xyz>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M compiler-rt/lib/safestack/safestack_platform.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Log Message:
-----------
[compiler-rt][Mips] Properly guard references to _ABIN32 (#124492)
When targeting ABIO32 (mips32), _ABIN32 is undefined and the
preprocessor directives cause compile errors. Guard references to
_ABIN32 with defined(_ABIN32), just like the references to _ABIO32.
Signed-off-by: Jens Reidel <adrian at travitia.xyz>
Commit: 5d1c596ab47b9412bb36bdfb0520d9af1343a5ce
https://github.com/llvm/llvm-project/commit/5d1c596ab47b9412bb36bdfb0520d9af1343a5ce
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC] true16 for minimummaximum/max/min/max3/min3 (#124184)
true16 support for gfx12 instructions including:
v_minimummaximum_f16
v_maximumminimum_f16
v_maximum_f16
v_minimum_f16
v_maximum3_f16
v_minimum3_f16
Commit: c310b4e7bd2a6e736fbcd8d4885ff46b45ab9977
https://github.com/llvm/llvm-project/commit/c310b4e7bd2a6e736fbcd8d4885ff46b45ab9977
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/test/Headers/__cpuidex_conflict.c
R clang/test/Preprocessor/builtin_aux_info.cpp
Log Message:
-----------
Revert "[Clang] __has_builtin should return false for aux triple builtins (#121839) (#124626)
This reverts commit 1c28b9237382b093f477479c993c80181922ca6a.
Breaks CUDA on ARM, see
[here](https://github.com/llvm/llvm-project/pull/121839#issuecomment-2616858927).
Commit: 5a81a559d69fb84e1e8ef623ac4b642081c14c51
https://github.com/llvm/llvm-project/commit/5a81a559d69fb84e1e8ef623ac4b642081c14c51
Author: David Green <david.green at arm.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/test/CodeGen/AArch64/bf16-instructions.ll
M llvm/test/CodeGen/AArch64/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx1200.ll
M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx950.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-cc.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-preserve-cc.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.sr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.read.tr.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f32.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.atomic.pk.add.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp8.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ptr.buffer.atomic.fadd_rtn_errors.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.gfx90a.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[GISel] Explicitly disable BF16 tablegen patterns. (#124113)
We currently have an issue where bf16 patters can be used to match fp16
types, as GISel does not know about the difference between the two. This
patch explicitly disables them to make sure that they are never used.
The opposite can also happen too, where fp16 patterns are used for
operators that should be bf16. So this also changes any operations with
bf16 types to now cause a fallback to SDAG.
The pass setup for GISel has been slightly adjusted to make sure that a
verify pass does not get added between AMD-SDAG and SIFixSGPRCopiesPass,
which otherwise can cause verifier issues when falling back.
Commit: 3b2b7ec07d970b225b63af9e96d7a9c09334cd27
https://github.com/llvm/llvm-project/commit/3b2b7ec07d970b225b63af9e96d7a9c09334cd27
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
A llvm/test/CodeGen/AMDGPU/promote-alloca-invariant-marks.ll
Log Message:
-----------
[AMDGPU] Handle invariant marks in `AMDGPUPromoteAllocaPass` (#124607)
Fixes SWDEV-509327.
Commit: a7a4c16c672bdd8e245af533a1f170522e26e42a
https://github.com/llvm/llvm-project/commit/a7a4c16c672bdd8e245af533a1f170522e26e42a
Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/LowerVectorShapeCast.cpp
M mlir/test/Dialect/Vector/vector-shape-cast-lowering-transforms.mlir
Log Message:
-----------
[mlir][Vector] Support efficient shape cast lowering for n-D vectors (#123497)
This PR implements a generalization of the existing more efficient
lowering of shape casts from 2-D to 1D and 1-D to 2-D vectors. This
significantly reduces code size and generates more performant code for
n-D shape casts that make their way to LLVM/SPIR-V.
Commit: 89c5576ff9038ba53025ca82209fdc5f5b5d0bb4
https://github.com/llvm/llvm-project/commit/89c5576ff9038ba53025ca82209fdc5f5b5d0bb4
Author: Christian Clauss <cclauss at me.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M openmp/runtime/tools/summarizeStats.py
Log Message:
-----------
OpenMP: Fix Python 3 SyntaxErrors (#123940)
1. `print()` is a function in Python 3.
2. New-style exceptions are required in Python 3.
Commit: 0e372c3ea31da276ac67c5972e4ef63514577e9c
https://github.com/llvm/llvm-project/commit/0e372c3ea31da276ac67c5972e4ef63514577e9c
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
R clang/test/CodeGenCXX/gh119046.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
Log Message:
-----------
Revert "[Clang] call HandleImmediateInvocation before checking for immediate escacalating expressions" (#124646)
Reverts llvm/llvm-project#124414
Turns out to be an important compile time regression, I'll come up with
a less disruptive approach
Commit: 7fd58339b4c783f240904aa5c1007e017378ada1
https://github.com/llvm/llvm-project/commit/7fd58339b4c783f240904aa5c1007e017378ada1
Author: Aidan Goldfarb <agoldfa7 at u.rochester.edu>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/TokenKinds.def
M clang/test/Sema/nullptr-prec2x.c
M clang/test/Sema/nullptr.c
Log Message:
-----------
[clang] Add __nullptr as a keyword to C (#123119)
This PR resolves #121503.
---------
Co-authored-by: Aidan <aidan.goldfarb at mail.mcgill.ca>
Co-authored-by: Erich Keane <ekeane at nvidia.com>
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: 8cc83b66e20e72cdb3bb5fbd549c941797b0e0c9
https://github.com/llvm/llvm-project/commit/8cc83b66e20e72cdb3bb5fbd549c941797b0e0c9
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
Log Message:
-----------
[MLGO] Count LR Evictions Rather than Relying on Cascade (#124440)
This patch adjusts the mlregalloc-max-cascade flag (renaming it to
mlregalloc-max-eviction-count) to actually count evictions rather than
just looking at the cascade number. The cascade number is not very
representative of how many times a LR has been evicted, which can lead
to some problems in certain cases, where we might end up with many
eviction problems where we have now masked off all the interferences and
are forced to evict the candidate.
This is probably what I should've done in the first place. No test case
as this only shows up in quite large functions post ThinLTO and it would
be hard to construct something that would serve as a nice regression
test without being super brittle. I've tested this on the pathological
cases that we have come across so far and it works.
Fixes #122829
Commit: 8b1edc0f0ceb8ee4255d54ed9c4ada8563a3861a
https://github.com/llvm/llvm-project/commit/8b1edc0f0ceb8ee4255d54ed9c4ada8563a3861a
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Writer.cpp
Log Message:
-----------
Revert "[ELF] Remove redundant isExported computation"
This reverts commit 1a4d6de1b532149b10522eae5dabce39e5f7c687.
It causes problems with `-static-pie`. See repro at
https://github.com/llvm/llvm-project/commit/1a4d6de1b532149b10522eae5dabce39e5f7c687#commitcomment-151827775
Commit: e98b2028c758a5c333b715c1e4d5b63d09c104be
https://github.com/llvm/llvm-project/commit/e98b2028c758a5c333b715c1e4d5b63d09c104be
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Log Message:
-----------
[NFCI]Refactor AsmPrinter around jump table emission (#124645)
Add method `AsmPrinter::emitJumpTableImpl`. It takes an array-ref of jump table indices.
This splits refactor of PR https://github.com/llvm/llvm-project/pull/122215
Commit: fa6e976602a41dad849d6e99692db437d328354b
https://github.com/llvm/llvm-project/commit/fa6e976602a41dad849d6e99692db437d328354b
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/unittests/tools/llvm-exegesis/PowerPC/TargetTest.cpp
M llvm/unittests/tools/llvm-exegesis/X86/TargetTest.cpp
M llvm/unittests/tools/llvm-exegesis/X86/TestBase.h
Log Message:
-----------
[llvm-exegesis] Use TestBase for TargetTest (#121895)
This patch makes the PPC and X86 Exegesis TargetTests use TestBase to
provide initial setup rather than doing it themselves. This promotes
code reuse a little bit and makes the tests a bit more consistent (with
MIPS and with the initial RISC-V tests landing soon).
Commit: 934532d8b18adbe3c1d671d2287abd23885b7eaa
https://github.com/llvm/llvm-project/commit/934532d8b18adbe3c1d671d2287abd23885b7eaa
Author: mingmingl <mingmingl at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Log Message:
-----------
remove unused var after refactoring
Commit: a34159f85ee01c197cc9d938bd1fc40c4c7dba51
https://github.com/llvm/llvm-project/commit/a34159f85ee01c197cc9d938bd1fc40c4c7dba51
Author: Julian Lettner <yln at users.noreply.github.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_interceptors_mac.cpp
R compiler-rt/lib/tsan/rtl/tsan_spinlock_defs_mac.h
Log Message:
-----------
[TSan][Apple] Fix interceptor build error (#124351)
In certain cases, the SDK headers declare
`OSSpinLock*` APIs as macros (instead of
functions), so users can be transparently
forwarded to non-deprecated APIs.
When enabled, building of TSan interceptors failed
because these macros interfere with the
interceptor machinery, i.e., they prevent proper
forward declaration of intercepted APIs.
In a previous change [1], we misattributed this to
the deprecation of `OSSpinLock*` APIs.
[1] ae484c21c05668f84b13304c28bc39f753e493de
rdar://143193907
Commit: f94c481543bdd3b11a668ad78d46593cf974788f
https://github.com/llvm/llvm-project/commit/f94c481543bdd3b11a668ad78d46593cf974788f
Author: antangelo <contact at antangelo.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/include/clang/AST/DeclCXX.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[clang] Track source deduction guide for alias template deduction guides (#123875)
For deduction guides generated from alias template CTAD, store the
deduction guide they were originated from. The source kind is also
maintained for future expansion in CTAD from inherited constructors.
This tracking is required to determine whether an alias template already
has a deduction guide corresponding to some deduction guide on the
original template, in order to support deduction guides for the alias
from deduction guides declared after the initial usage.
Commit: 3cfda4f11842ceaab983345333870bef7980aa85
https://github.com/llvm/llvm-project/commit/3cfda4f11842ceaab983345333870bef7980aa85
Author: mcbarton <matthew.c.barton at hotmail.co.uk>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
Don't use -z,defs linker flag when building shared libraries with emscripten (#123396)
Commit: aa65f93b71dee8cacb22be1957673c8be6a3ec24
https://github.com/llvm/llvm-project/commit/aa65f93b71dee8cacb22be1957673c8be6a3ec24
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
Log Message:
-----------
Revert "[MLGO] Count LR Evictions Rather than Relying on Cascade (#124440)"
This reverts commit 8cc83b66e20e72cdb3bb5fbd549c941797b0e0c9.
This was causing builbot failures.
https://lab.llvm.org/buildbot/#/builders/90/builds/4198
https://lab.llvm.org/buildbot/#/builders/110/builds/3616
Commit: f949f876daeda520a5b7dbeb2cbb35b8c4383acb
https://github.com/llvm/llvm-project/commit/f949f876daeda520a5b7dbeb2cbb35b8c4383acb
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/AST/ast-dump-decl.c
M clang/test/AST/ast-dump-records.c
M clang/test/AST/ast-dump-records.cpp
M clang/test/AST/attr-counted-by-late-parsed-struct-ptrs.c
M clang/test/AST/attr-counted-by-or-null-late-parsed-struct-ptrs.c
M clang/test/AST/attr-counted-by-or-null-struct-ptrs.c
M clang/test/AST/attr-counted-by-struct-ptrs.c
M clang/test/AST/attr-sized-by-late-parsed-struct-ptrs.c
M clang/test/AST/attr-sized-by-or-null-late-parsed-struct-ptrs.c
M clang/test/AST/attr-sized-by-or-null-struct-ptrs.c
M clang/test/AST/attr-sized-by-struct-ptrs.c
M clang/test/Import/cxx-anon-namespace/test.cpp
M clang/test/Modules/odr_hash.cpp
M clang/test/SemaTemplate/aggregate-deduction-candidate.cpp
M clang/test/SemaTemplate/deduction-crash.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
Log Message:
-----------
[clang] improve print / dump of anonymous declarations (#124605)
ast-print: A DeclRef to an anonymous NTTP will print
'value-parameter-DEPTH-INDEX',
similar to how type parameters are printed.
ast-dump: A bareDeclRef to an anonymous entity will print some extra
identifying information,
instead of an empty name, like indexes.
Falls back to source locations if nothing else is available.
Commit: f75860f89522453f361e1ef54d7a33be2a2d75b1
https://github.com/llvm/llvm-project/commit/f75860f89522453f361e1ef54d7a33be2a2d75b1
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/include/clang/Basic/arm_neon.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CodeGenFunction.h
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fmla.c
A clang/test/Sema/aarch64-fp8-intrinsics/acle_neon_fp8_fmla.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/fp8-neon-fmla.ll
Log Message:
-----------
[AArch64] Implement NEON FP8 intrinsics for fused multiply-add (#123615)
This patch adds the following intrinsics:
* Fused multiply-add non-indexed
float16x8_t vmlalbq_f16_mf8_fpm(float16x8_t, mfloat8x16_t, mfloat8x16_t,
fpm_t)
float16x8_t vmlaltq_f16_mf8_fpm(float16x8_t, mfloat8x16_t, mfloat8x16_t,
fpm_t)
float32x4_t vmlallbbq_f32_mf8_fpm(float32x4_t, mfloat8x16_t,
mfloat8x16_t, fpm_t)
float32x4_t vmlallbtq_f32_mf8_fpm(float32x4_t, mfloat8x16_t,
mfloat8x16_t, fpm_t)
float32x4_t vmlalltbq_f32_mf8_fpm(float32x4_t, mfloat8x16_t,
mfloat8x16_t, fpm_t)
float32x4_t vmlallttq_f32_mf8_fpm(float32x4_t, mfloat8x16_t,
mfloat8x16_t, fpm_t)
* Floating-point multiply-add long to half-precision (vector, by
element)
float16x8_t vmlalbq_lane_f16_mf8_fpm(float16x8_t vd, mfloat8x16_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float16x8_t vmlalbq_laneq_f16_mf8_fpm(float16x8_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
float16x8_t vmlaltq_lane_f16_mf8_fpm(float16x8_t vd, mfloat8x16_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float16x8_t vmlaltq_laneq_f16_mf8_fpm(float16x8_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
* Floating-point multiply-add long-long to single-precision (vector, by
element)
float32x4_t vmlallbbq_lane_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x4_t vmlallbbq_laneq_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x4_t vmlallbtq_lane_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x4_t vmlallbtq_laneq_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x4_t vmlalltbq_lane_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x4_t vmlalltbq_laneq_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x4_t vmlallttq_lane_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x4_t vmlallttq_laneq_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
Commit: 194c74e0166876ef2c5e0ff5e98a4b5a5442138c
https://github.com/llvm/llvm-project/commit/194c74e0166876ef2c5e0ff5e98a4b5a5442138c
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/Sema/HeuristicResolver.cpp
Log Message:
-----------
[clang][Sema] Null-check type in resolveMemberExpr() before checking for auto type (#124628)
Fixes https://github.com/clangd/clangd/issues/2301
Commit: d839e765f03cf76e3770921d2f8e8bf510136dca
https://github.com/llvm/llvm-project/commit/d839e765f03cf76e3770921d2f8e8bf510136dca
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[TargetLowering] Inline the only caller of one of the forceExpandWideMUL functions. NFC
This caller does not need the libcall portion so it can directly
call forceExpandMultiply.
Commit: eeefa72f7c7287a3aa26f6278b9669eb76e8d1be
https://github.com/llvm/llvm-project/commit/eeefa72f7c7287a3aa26f6278b9669eb76e8d1be
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/include/clang/AST/DynamicRecursiveASTVisitor.h
M clang/lib/AST/DynamicRecursiveASTVisitor.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
Log Message:
-----------
[Clang] [NFC] Introduce `ConstDynamicRecursiveASTVisitor` (#122991)
After some discussion around #116823, it was decided that it would be
nice to have a `const` variant of `DynamicRecursiveASTVisitor`, so this
pr does exactly that by making the main DRAV implementation a template
with a single `bool` template parameter that turns several function
parameters from a `T*` or `T&` to a `const T*` or `const T&`.
Since that made the implementation of a bunch of DRAV functions quite a
bit more verbose, I’ve moved most of them to be stamped out by a macro,
which imo makes it easier to understand what’s actually going on there.
For functions which already accepted `const` parameters in the original
RAV implementation, the parameter is `const` in both versions (e.g.
`TraverseTemplateArgument()` always takes a `const TemplateArgument&`);
conversely, parameters that are passed by value (e.g. in
`TraverseType()`, which takes a `QualType` by value) are *not* `const`
in either variant (i.e. the `QualType` argument is always just a
`QualType`, never a `const QualType`).
As a sanity check, I’ve also migrated some random visitor in the static
analyser to the `const` version (and indeed, it ends up simplifying the
code around that particular visitor actually). It would make sense to do
a pass over all visitors and change all which can be `const` use the
`const` version, but that can be done in a follow-up pr.
The [performance
impact](https://llvm-compile-time-tracker.com/compare.php?from=e3cd88a7be1dfd912bb6e7c7e888e7b442ffb5de&to=d55c5afe4a485b6d0431386e6f45cb44c1fc8883&stat=instructions:u)
of this change seems to be negligible. Clang’s binary size went up by
0.5%, but that’s expected considering that this effectively adds an
extra instantiation of `RecursiveASTVisitor`. Fortunately, this is of
course a one-time cost.
Commit: 740e6aeccdb2f8eeee549ba80b15ff3d5dd3392e
https://github.com/llvm/llvm-project/commit/740e6aeccdb2f8eeee549ba80b15ff3d5dd3392e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/amdgpu-toolchain.c
Log Message:
-----------
Revert "[AMDGPU] Use the AMDGPUToolChain when targeting C/C++ directly (#99687)"
Breaks some downstream AMD stuff apparently.
This reverts commit 6ff86f2c0a5b58b07921ee895f0d16d8cd3d4015.
Commit: 8900c09ebfd782bfd41bac63ac5266f80fe29602
https://github.com/llvm/llvm-project/commit/8900c09ebfd782bfd41bac63ac5266f80fe29602
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M mlir/lib/Dialect/NVGPU/Transforms/OptimizeSharedMemory.cpp
M mlir/test/Dialect/NVGPU/optimize-shared-memory.mlir
Log Message:
-----------
[mlir][nvgpu] Fix crash when handling 0D memref in OptimizeSharedMemoryPass (#124517)
This PR adds a check for 0D memref types to prevent a crash. Fixes
#119855.
Commit: 7873d3b50b447213c3f689449a674b2c35f83f9f
https://github.com/llvm/llvm-project/commit/7873d3b50b447213c3f689449a674b2c35f83f9f
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/include/clang/AST/DynamicRecursiveASTVisitor.h
M clang/lib/AST/DynamicRecursiveASTVisitor.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
Log Message:
-----------
Revert "[Clang] [NFC] Introduce `ConstDynamicRecursiveASTVisitor`" (#124667)
Reverts llvm/llvm-project#122991
One of the bots is breaking; I’ll have to investigate what the issue is;
this might be because I haven’t updated the branch in a while.
Commit: 760a786d1580d2d933664a95cf1b5273d30ccdf6
https://github.com/llvm/llvm-project/commit/760a786d1580d2d933664a95cf1b5273d30ccdf6
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Transforms/IPO/Internalize.cpp
M offload/DeviceRTL/src/Misc.cpp
Log Message:
-----------
[Clang] Prevent `mlink-builtin-bitcode` from internalizing the RPC client (#118661)
Summary:
Currently, we only use `-mlink-builtin-bitcode` for non-LTO NVIDIA
compiliations. This has the problem that it will internalize the RPC
client symbol which needs to be visible to the host. To counteract that,
I put `retain` on it, but this also prevents optimizations on the global
itself, so the passes we have that remove the symbol don't work on
OpenMP anymore. This patch does the dumbest solution, adding a special
string check for it in clang. Not the best solution, the runner up would
be to have a clang attribute for `externally_initialized` because those
can't be internalized, but that might have some unfortunate
side-effects. Alternatively we could make NVIDIA compilations do LTO all
the time, but that would affect some users and it's harder than I
thought.
Commit: ad697b28f4794af5b308ada2aac2bf3cd6c5f9ea
https://github.com/llvm/llvm-project/commit/ad697b28f4794af5b308ada2aac2bf3cd6c5f9ea
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lld/docs/ReleaseNotes.rst
Log Message:
-----------
ReleaseNotes: add lld/ELF notes
Pull Request: https://github.com/llvm/llvm-project/pull/124508
Commit: 641694729df1564710c91d6778ca4f9c841b561a
https://github.com/llvm/llvm-project/commit/641694729df1564710c91d6778ca4f9c841b561a
Author: Brad Smith <brad at comstyle.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lldb/source/Host/common/Socket.cpp
Log Message:
-----------
[lldb] Clean up Socket headers for Android (#124453)
Commit: 9b591c8372363b7299155be6b3e21032d5264eb6
https://github.com/llvm/llvm-project/commit/9b591c8372363b7299155be6b3e21032d5264eb6
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M .ci/metrics/metrics.py
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTLambda.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/AArch64SVEACLETypes.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_neon_incl.td
M clang/include/clang/Driver/Options.td
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Basic/Targets/OSTargets.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGObjCRuntime.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
A clang/test/AST/ast-dump-APValue-lvalue.cpp
M clang/test/AST/ast-dump-APValue-todo.cpp
M clang/test/AST/ast-dump-decl.c
M clang/test/AST/ast-dump-records.c
M clang/test/AST/ast-dump-records.cpp
M clang/test/AST/attr-counted-by-late-parsed-struct-ptrs.c
M clang/test/AST/attr-counted-by-or-null-late-parsed-struct-ptrs.c
M clang/test/AST/attr-counted-by-or-null-struct-ptrs.c
M clang/test/AST/attr-counted-by-struct-ptrs.c
M clang/test/AST/attr-sized-by-late-parsed-struct-ptrs.c
M clang/test/AST/attr-sized-by-or-null-late-parsed-struct-ptrs.c
M clang/test/AST/attr-sized-by-or-null-struct-ptrs.c
M clang/test/AST/attr-sized-by-struct-ptrs.c
A clang/test/CodeGen/AArch64/builtin-shufflevector-fp8.c
A clang/test/CodeGen/AArch64/fp8-cast.c
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_cvt.c
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fdot.c
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fmla.c
M clang/test/CodeGen/arm-mfp8.c
M clang/test/CodeGenCXX/aarch64-mangle-neon-vectors.cpp
M clang/test/CodeGenCXX/mangle-neon-vectors.cpp
M clang/test/Headers/__cpuidex_conflict.c
M clang/test/Import/cxx-anon-namespace/test.cpp
M clang/test/Modules/odr_hash.cpp
R clang/test/Preprocessor/builtin_aux_info.cpp
A clang/test/Preprocessor/deprecate-threads-macro-definition-msvc1939.c
M clang/test/Preprocessor/init-aarch64.c
A clang/test/Sema/aarch64-fp8-cast.c
A clang/test/Sema/aarch64-fp8-intrinsics/acle_neon_fp8_cvt.c
A clang/test/Sema/aarch64-fp8-intrinsics/acle_neon_fp8_fdot.c
A clang/test/Sema/aarch64-fp8-intrinsics/acle_neon_fp8_fmla.c
M clang/test/Sema/arm-mfp8.cpp
M clang/test/Sema/attr-cpuspecific.c
M clang/test/Sema/attr-target-mv.c
M clang/test/Sema/attr-target-version.c
M clang/test/Sema/nullptr-prec2x.c
M clang/test/Sema/nullptr.c
A clang/test/SemaCXX/array-type-trait-with-template.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
A clang/test/SemaCXX/member-enum-declarations.cpp
M clang/test/SemaTemplate/aggregate-deduction-candidate.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
M clang/test/SemaTemplate/deduction-crash.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Sema/HeuristicResolverTest.cpp
M clang/utils/TableGen/MveEmitter.cpp
M clang/utils/TableGen/NeonEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/interception/tests/interception_win_test.cpp
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/safestack/safestack_platform.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
M compiler-rt/lib/tsan/go/buildgo.sh
M compiler-rt/lib/tsan/rtl/tsan_interceptors_mac.cpp
R compiler-rt/lib/tsan/rtl/tsan_spinlock_defs_mac.h
M flang/docs/ModFiles.md
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Evaluate/shape.h
M flang/include/flang/Evaluate/type.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Tools/TargetSetup.h
M flang/lib/Common/default-kinds.cpp
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/shape.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Evaluate/type.cpp
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-coarray.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-labels.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Semantics/tools.cpp
M flang/runtime/exceptions.cpp
M flang/runtime/io-api.cpp
M flang/test/Driver/fsave-main-program.f90
A flang/test/Evaluate/bug123766.f90
A flang/test/Evaluate/bug124191.f90
A flang/test/Evaluate/fold-arr-char-component.f90
M flang/test/Fir/boxproc.fir
M flang/test/Integration/debug-cyclic-derived-type-3.f90
M flang/test/Lower/Intrinsics/ieee_next.f90
M flang/test/Lower/OpenMP/loop-directive.f90
M flang/test/Lower/fsave-main-program.f90
M flang/test/Semantics/atomic01.f90
M flang/test/Semantics/atomic02.f90
M flang/test/Semantics/atomic03.f90
M flang/test/Semantics/atomic04.f90
M flang/test/Semantics/atomic05.f90
M flang/test/Semantics/atomic06.f90
M flang/test/Semantics/atomic07.f90
M flang/test/Semantics/atomic08.f90
M flang/test/Semantics/atomic09.f90
M flang/test/Semantics/atomic10.f90
M flang/test/Semantics/atomic11.f90
M flang/test/Semantics/bind-c06.f90
A flang/test/Semantics/bug123534.f90
A flang/test/Semantics/bug123538.f90
M flang/test/Semantics/call04.f90
M flang/test/Semantics/call08.f90
M flang/test/Semantics/call13.f90
M flang/test/Semantics/call38.f90
M flang/test/Semantics/complex01.f90
M flang/test/Semantics/critical02.f90
M flang/test/Semantics/doconcurrent01.f90
M flang/test/Semantics/event01b.f90
M flang/test/Semantics/event02b.f90
M flang/test/Semantics/event_query.f90
M flang/test/Semantics/kinds04_q10.f90
A flang/test/Semantics/label19.f90
A flang/test/Semantics/modfile71.F90
M flang/test/Semantics/sync-stat-list.f90
M flang/test/Transforms/generic-loop-rewriting-todo.mlir
M flang/test/Transforms/generic-loop-rewriting.mlir
A libc/cmake/caches/gpu.cmake
M libc/docs/gpu/building.rst
M libclc/clc/include/clc/relational/relational.h
M libclc/clc/lib/generic/relational/clc_all.cl
M libclc/clc/lib/generic/relational/clc_any.cl
M libclc/clc/lib/generic/relational/clc_isequal.cl
M libclc/clc/lib/generic/relational/clc_isgreater.cl
M libclc/clc/lib/generic/relational/clc_isgreaterequal.cl
M libclc/clc/lib/generic/relational/clc_isless.cl
M libclc/clc/lib/generic/relational/clc_islessequal.cl
M libclc/clc/lib/generic/relational/clc_islessgreater.cl
M libclc/clc/lib/generic/relational/clc_isnotequal.cl
M libclc/clc/lib/generic/relational/clc_isordered.cl
M libclc/clc/lib/generic/relational/clc_isunordered.cl
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/include/__locale
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/support/bsd_like.h
M libcxx/include/__locale_dir/support/fuchsia.h
M libcxx/include/__locale_dir/support/windows.h
M libcxx/src/iostream.cpp
M libcxx/src/locale.cpp
M libcxx/src/support/win32/locale_win32.cpp
M libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/format.functions.tests.h
M lld/COFF/Chunks.cpp
M lld/COFF/DLL.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/Writer.cpp
M lld/MachO/ObjC.cpp
M lld/MachO/Writer.cpp
M lld/docs/ReleaseNotes.rst
M lld/include/lld/Common/BPSectionOrdererBase.inc
A lld/test/COFF/arm64x-import.test
M lld/test/ELF/archive-thin-missing-member.s
M lld/test/ELF/arm-thumb-thunk-v6m-xo.s
M lld/test/ELF/arm-thunk-section-too-large.s
M lld/test/ELF/arm-thunk-toolargesection.s
M lld/test/ELF/arm-v5-reloc-error.s
M lld/test/ELF/bad-archive.s
M lld/test/ELF/fatlto/fatlto.invalid.s
R lld/test/ELF/hip-section-layout.s
M lld/test/ELF/invalid-cie-reference.s
M lld/test/ELF/invalid/comdat-broken.test
M lld/test/ELF/invalid/data-encoding.test
M lld/test/ELF/invalid/dynamic-section-broken.test
M lld/test/ELF/invalid/invalid-elf.test
M lld/test/ELF/invalid/invalid-file-class.test
M lld/test/ELF/invalid/sht-group-wrong-section.test
M lld/test/ELF/invalid/sht-group.test
M lld/test/ELF/invalid/symtab-sh-info.s
M lld/test/ELF/invalid/verneed-shared.test
M lld/test/ELF/lto/bitcode-nodatalayout.ll
M lld/test/ELF/lto/bitcode-wrapper.ll
M lld/test/ELF/lto/version-script.ll
M lld/test/ELF/lto/version-script2.ll
M lld/test/ELF/unsupported-emachine.test
M lld/test/lit.cfg.py
M lldb/source/Host/common/Host.cpp
M lldb/source/Host/common/Socket.cpp
M lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/test/API/linux/aarch64/gcs/TestAArch64LinuxGCS.py
M lldb/test/API/linux/aarch64/gcs/main.c
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/IOStream.h
M lldb/tools/lldb-dap/OutputRedirector.cpp
M lldb/tools/lldb-dap/OutputRedirector.h
M lldb/tools/lldb-dap/lldb-dap.cpp
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
M llvm/CMakeLists.txt
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/Target/Target.td
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/Transforms/Coroutines/CoroInstr.h
M llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
M llvm/include/llvm/Transforms/Utils/UnrollLoop.h
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalMerge.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/SandboxIR/Instruction.cpp
M llvm/lib/SandboxIR/Tracker.cpp
M llvm/lib/Support/MemAlloc.cpp
M llvm/lib/TableGen/Main.cpp
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64InstrAtomics.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/Hexagon/HexagonOptimizeSZextends.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/lib/Transforms/IPO/Internalize.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/SCCP.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/CodeMoverUtils.cpp
M llvm/lib/Transforms/Utils/IRNormalizer.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Analysis/CostModel/X86/reduction.ll
M llvm/test/Analysis/LoopAccessAnalysis/pointer-phis.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomic-load-rcpc_immo.ll
M llvm/test/CodeGen/AArch64/bf16-instructions.ll
A llvm/test/CodeGen/AArch64/fp8-neon-fdot.ll
A llvm/test/CodeGen/AArch64/fp8-neon-fmla.ll
M llvm/test/CodeGen/AArch64/fptrunc.ll
A llvm/test/CodeGen/AArch64/neon-fp8-cvt.ll
A llvm/test/CodeGen/AArch64/zeroing-forms-ext.ll
A llvm/test/CodeGen/AArch64/zeroing-forms-flogb.ll
A llvm/test/CodeGen/AArch64/zeroing-forms-frint-frecpx-fsqrt.ll
A llvm/test/CodeGen/AArch64/zeroing-forms-rev.ll
A llvm/test/CodeGen/AArch64/zeroing-forms-urecpe-ursqrte-sqabs-sqneg.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx1200.ll
M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx950.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-cc.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-preserve-cc.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.sr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.read.tr.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f32.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.atomic.pk.add.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp8.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ptr.buffer.atomic.fadd_rtn_errors.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.gfx90a.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
M llvm/test/CodeGen/AMDGPU/mad.u16.ll
A llvm/test/CodeGen/AMDGPU/promote-alloca-invariant-marks.ll
A llvm/test/CodeGen/NVPTX/convert-sm100.ll
M llvm/test/CodeGen/RISCV/machinelicm-address-pseudos.ll
M llvm/test/CodeGen/RISCV/macro-fusion-lui-addi.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.ll
M llvm/test/CodeGen/WebAssembly/exception.ll
M llvm/test/CodeGen/X86/canonicalize-vars.ll
M llvm/test/CodeGen/X86/huge-stack-offset.ll
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_promote.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp8.txt
M llvm/test/TableGen/BitsInit.td
A llvm/test/TableGen/BitsInitErrors.td
M llvm/test/TableGen/HwModeSelect.td
M llvm/test/Transforms/InstCombine/add2.ll
M llvm/test/Transforms/LoopDistribute/pointer-phi-in-loop.ll
M llvm/test/Transforms/LoopVectorize/AArch64/invariant-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-predication.ll
M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-neg-off.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-minimal.ll
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
M llvm/test/Transforms/PhaseOrdering/vector-trunc-inseltpoison.ll
M llvm/test/Transforms/PhaseOrdering/vector-trunc.ll
M llvm/test/Transforms/VectorCombine/X86/extract-binop-inseltpoison.ll
M llvm/test/Transforms/VectorCombine/X86/extract-binop.ll
M llvm/test/Transforms/VectorCombine/X86/load-inseltpoison.ll
M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/loop-distribute.ll
M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/loop-distribute.ll.expected
M llvm/test/tools/llvm-objcopy/ELF/remove-note.test
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/Transforms/Utils/UnrollLoopTest.cpp
M llvm/unittests/tools/llvm-exegesis/PowerPC/TargetTest.cpp
M llvm/unittests/tools/llvm-exegesis/X86/TargetTest.cpp
M llvm/unittests/tools/llvm-exegesis/X86/TestBase.h
M llvm/utils/TableGen/Common/CodeGenHwModes.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/Arith/Utils/Utils.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/NVGPU/Transforms/OptimizeSharedMemory.cpp
M mlir/lib/Dialect/Tensor/IR/TensorInferTypeOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorShapeCast.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/lib/Interfaces/InferTypeOpInterface.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.mlir
M mlir/test/Dialect/Arith/canonicalize.mlir
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
M mlir/test/Dialect/Linalg/fuse-with-reshape-by-collapsing.mlir
M mlir/test/Dialect/Linalg/fusion-push-reshape.mlir
M mlir/test/Dialect/Linalg/reshape_fusion.mlir
M mlir/test/Dialect/Linalg/resolve-shaped-type-result-dims.mlir
M mlir/test/Dialect/NVGPU/optimize-shared-memory.mlir
M mlir/test/Dialect/OpenACC/ops.mlir
M mlir/test/Dialect/Tensor/bufferize.mlir
M mlir/test/Dialect/Tensor/fold-empty-op.mlir
M mlir/test/Dialect/Vector/linearize.mlir
M mlir/test/Dialect/Vector/vector-shape-cast-lowering-transforms.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
M mlir/test/mlir-tblgen/attr-or-type-builder-invalid.td
M offload/DeviceRTL/src/Misc.cpp
M offload/plugins-nextgen/common/include/RPC.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/common/src/RPC.cpp
M openmp/runtime/tools/summarizeStats.py
M polly/docs/Architecture.rst
M polly/docs/doxygen.cfg.in
M polly/include/polly/CodeGen/IslExprBuilder.h
M polly/include/polly/CodeGen/RuntimeDebugBuilder.h
M polly/include/polly/DependenceInfo.h
M polly/include/polly/ScopInfo.h
M polly/include/polly/Support/SCEVAffinator.h
M polly/include/polly/Support/ScopHelper.h
M polly/lib/Analysis/ScopBuilder.cpp
M polly/lib/Analysis/ScopDetectionDiagnostic.cpp
M polly/lib/CodeGen/IslExprBuilder.cpp
M polly/lib/CodeGen/IslNodeBuilder.cpp
M polly/lib/CodeGen/Utils.cpp
M polly/lib/Support/SCEVAffinator.cpp
M polly/lib/Support/ScopHelper.cpp
M polly/lib/Transform/DeLICM.cpp
M polly/lib/Transform/ManualOptimizer.cpp
M polly/lib/Transform/MatmulOptimizer.cpp
M polly/lib/Transform/ScheduleOptimizer.cpp
M polly/lib/Transform/ScheduleTreeTransform.cpp
M polly/test/CodeGen/LoopParallelMD/do_not_mutate_debug_info.ll
M polly/test/CodeGen/multiple-codegens.ll
M polly/test/CodeGen/multiple-scops-in-a-row.ll
M polly/test/CodeGen/reduction_2.ll
M polly/test/CodeGen/scalar-store-from-same-bb.ll
M polly/test/CodeGen/test-invalid-operands-for-select.ll
M polly/test/DeLICM/load-in-cond-inf-loop.ll
M polly/test/DeLICM/pr41656.ll
M polly/test/DeLICM/pr48783.ll
M polly/test/DeLICM/reject_outofquota.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_2.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_3.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_4.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm_2.ll
M polly/test/ScopDetect/scev_remove_max.ll
M polly/test/ScopDetectionDiagnostics/ReportLoopHasNoExit.ll
M polly/test/ScopInfo/NonAffine/non_affine_loop_used_later.ll
M polly/test/ScopInfo/allow-all-parameters-dereferencable.ll
M polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-1.ll
M polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-2.ll
M polly/test/ScopInfo/multidim_gep_pointercast2.ll
M polly/test/ScopInfo/multidim_many_references.ll
M polly/test/ScopInfo/scalar_to_array.ll
M polly/test/ScopInfo/zero_ext_of_truncate.ll
M polly/test/create_ll.sh
M polly/utils/pyscop/isl.py
M polly/www/changelog.html
M polly/www/get_started.html
M polly/www/index.html
M polly/www/projects.html
M polly/www/publications.html
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
rebase
Created using spr 1.3.5-bogner
Compare: https://github.com/llvm/llvm-project/compare/197ee8b29f98...9b591c837236
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list