[all-commits] [llvm/llvm-project] 7b6b02: [flang][cuda] Fix crash in semantic (#88577)
Vitaly Buka via All-commits
all-commits at lists.llvm.org
Tue Apr 16 10:17:47 PDT 2024
Branch: refs/heads/users/vitalybuka/spr/clangbuiltin-implement-__builtin_allow_runtime_check
Home: https://github.com/llvm/llvm-project
Commit: 7b6b023121fe7d612dc571de0ff3dcaaf8477765
https://github.com/llvm/llvm-project/commit/7b6b023121fe7d612dc571de0ff3dcaaf8477765
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Semantics/cuf11.cuf
Log Message:
-----------
[flang][cuda] Fix crash in semantic (#88577)
Fix for #88451
Do not perform semantic check about data transfer on assignment
statement in device context.
Commit: 900be9013fdc3bab9fce906f8a71e59ecd8873b4
https://github.com/llvm/llvm-project/commit/900be9013fdc3bab9fce906f8a71e59ecd8873b4
Author: Victor Toni <ViToni at users.noreply.github.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M libc/src/__support/str_to_float.h
M llvm/lib/Analysis/LoopCacheAnalysis.cpp
M llvm/lib/Support/APInt.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/JumpThreading/free_instructions.ll
M llvm/utils/lint/common_lint.py
Log Message:
-----------
Fix typos (#88565)
Commit: 2996cb7970fb536d7db1088d571dc8d2f9ad35fa
https://github.com/llvm/llvm-project/commit/2996cb7970fb536d7db1088d571dc8d2f9ad35fa
Author: Michael Flanders <flanders.michaelk at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M libc/docs/stdbit.rst
M libc/utils/docgen/docgen.py
A libc/utils/docgen/stdbit.json
Log Message:
-----------
[libc][docs] use docgen to generate stdbit rst docs (#88540)
Closes #88066.
Compared to before, the function names in the stdbit table are sorted by
function name, not order-of-appearance in the standard. Since macros
aren't printed by docgen.py and are still a TODO in the code, they are
also not printed in the new stdbit.h docs.
Adds some checks to docgen.py for conditions that tripped me up.
Add code to docgen.py to add the include of the `|check|` rewriter,
since all other generated files need it.
Commit: eaa3947106e50d6d837e6681fb55cf92c2bb0f9a
https://github.com/llvm/llvm-project/commit/eaa3947106e50d6d837e6681fb55cf92c2bb0f9a
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/include/clang/Parse/Parser.h
Log Message:
-----------
[NFC] Remove unused type alias in OpenACC
Leftover from a previous commit, this ends up not being used, so remove
it.
Commit: a472e6473e6921f22427d41c3d29e9a26eb4ab32
https://github.com/llvm/llvm-project/commit/a472e6473e6921f22427d41c3d29e9a26eb4ab32
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[NFC][OpenACC] Rename visitor functions to omit redundant OpenACC
While working on a followup patch, it became clear that this extra bit
of 'OpenACC' before each clause name was redundant with the visitors, so
remove it to make this a little less verbose.
Commit: db8e182952573fa9198424a6ed1b1bb1676eae62
https://github.com/llvm/llvm-project/commit/db8e182952573fa9198424a6ed1b1bb1676eae62
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
Log Message:
-----------
[NFC] Clang-format previous OpenACC Patch
Commit: 779ba60417b467a6d2d25101b11711c009694315
https://github.com/llvm/llvm-project/commit/779ba60417b467a6d2d25101b11711c009694315
Author: Artem Chikin <achikin at apple.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp
Log Message:
-----------
[clang][deps] Overload `Filesystem::exists` in `DependencyScanningFilesystem` to have it use cached `status` (#88152)
As-is, calls to `exists()` fallback on the implementation in
`ProxyFileSystem::exists` which explicitly calls out to the underlying
`FS`, which for the `DependencyScanningFilesystem` (overlay) is the real
underlying filesystem.
Instead, directly overloading `exists` allows us to have it rely on the
cached `status` behavior used elsewhere by the
`DependencyScanningFilesystem`.
Commit: 03c393db1821ef4c362c4c228492c6fb03f8876f
https://github.com/llvm/llvm-project/commit/03c393db1821ef4c362c4c228492c6fb03f8876f
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
Fix build failure from a472e6473e69
Looks like I forgot to do build CIndex.cpp when validating myself!
Commit: 0d2bb7f017f13ceae793fab7d83d3e67e8d8d8f8
https://github.com/llvm/llvm-project/commit/0d2bb7f017f13ceae793fab7d83d3e67e8d8d8f8
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/cmake/caches/Release.cmake
Log Message:
-----------
[CMake][Release] Disable PGO (#88465)
Running the test-release.sh script with PGO enabled causes build errors
like:
ld.lld: error: Function Import: link error: linking module flags
'ProfileSummary': IDs have conflicting values
I believe this a build system bug due to the PGO profile data being
generated unconditionally. If you run `ninja check-all` and then `ninja
install` like we do in test-release.sh, then the profile data is
regenerated during `ninja install` and some of the clang tools which are
not test dependencies get build during the ninja install step with
different profile data. When these tools link against the LLVM
libraries, like libSupport, we end up with these errors.
Commit: 9bd10853e505b61f5fe2e3b3592c76787a06aa31
https://github.com/llvm/llvm-project/commit/9bd10853e505b61f5fe2e3b3592c76787a06aa31
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-integer-ops-0-to-add-0.ll
Log Message:
-----------
AMDGPU: Undo atomicrmw add/sub/xor 0 -> atomicrmw or canonicalization (#87533)
InstCombine transforms add of 0 to or of 0. For system atomics, this is
problematic because while PCIe supports add, it does not support the
other operations. Undo this for system scope atomics.
Commit: b9bed1f1106e3116e8bea38806c511b57b956929
https://github.com/llvm/llvm-project/commit/b9bed1f1106e3116e8bea38806c511b57b956929
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
A clang/test/Sema/alias-unused-win.cpp
R clang/test/Sema/alias-unused.c
A clang/test/Sema/alias-unused.cpp
Log Message:
-----------
[test] Improve tests for alias/ifunc attributes
Commit: 9e95c4947d31670ddd3abad1051eda06729c96b3
https://github.com/llvm/llvm-project/commit/9e95c4947d31670ddd3abad1051eda06729c96b3
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Log Message:
-----------
[DSE] Fix non-determinism due to address reuse (#84943)
The malloc->calloc fold creates a new MemoryAccess, which may end of at
the same address as a previously deleted access inside SkipStores.
To the most part, this is not a problem, because SkipStores is normally
only used together with MemDefs. Neither the old malloc access nor the
new calloc access will be part of MemDefs, so there is no problem here.
However, SkipStores is also used in one more place: In the main DSE
loop, ToCheck entries are checked against it. Fix this by not using
SkipStores here, and instead using a separate set to track deletions
inside this loop. This way it is not affected by the calloc optimization
that happens outside it.
This is all pretty ugly, but I haven't found another good way to fix it.
Suggestions welcome.
No test case as I don't have a reliable DSE-only test-case for this.
Fixes https://github.com/llvm/llvm-project/issues/84458.
Commit: f172bfcdc229ed6f3e8a0298dab3713fb763ff28
https://github.com/llvm/llvm-project/commit/f172bfcdc229ed6f3e8a0298dab3713fb763ff28
Author: Volodymyr Sapsai <vsapsai at apple.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/include/llvm/ADT/StringMap.h
Log Message:
-----------
[unused-includes][ADT] Don't include DJB.h as it's not used. NFC. (#88211)
StringMap uses xxHash instead of DJB.
Commit: f22c30063ddcb7f8e8c4fb0496f515be7f9408b8
https://github.com/llvm/llvm-project/commit/f22c30063ddcb7f8e8c4fb0496f515be7f9408b8
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/test/Sema/alias-unused.cpp
Log Message:
-----------
[test] alias-unused.cpp: set triple to Linux
Otherwise the test would fail on Darwin and other platforms that use
Itanium ABI but do not support alias/ifunc.
Commit: aef28100294d04c2253a1cb8bbf552fa296dea4e
https://github.com/llvm/llvm-project/commit/aef28100294d04c2253a1cb8bbf552fa296dea4e
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M lld/ELF/Relocations.cpp
Log Message:
-----------
[ELF] Relocations: Avoid MIPS check for ELFCLASS64 with if constexpr. NFC
After inlining, `scanSection` is significantly longer (more than 100+
instructions on x86-64 built with Clang) when `i` does not always
increment by one (MIPS).
Commit: 94b3c192d3468752e6bc2f20957d433bccdb8ff3
https://github.com/llvm/llvm-project/commit/94b3c192d3468752e6bc2f20957d433bccdb8ff3
Author: Jim Lin <jim at andestech.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/frame-pointer-elim.c
Log Message:
-----------
[M68k][clang] Enable frame pointer optimization by default (#87264)
Enable frame pointer optimization by default to match it with gcc.
Fixes: https://github.com/llvm/llvm-project/issues/75013
Commit: 0a6f6df5b0c3d0f2a42f013bf5cafb9b5020dcac
https://github.com/llvm/llvm-project/commit/0a6f6df5b0c3d0f2a42f013bf5cafb9b5020dcac
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M clang/include/clang/Basic/Cuda.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaBase.h
A clang/include/clang/Sema/SemaCUDA.h
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[clang] Introduce `SemaCUDA` (#88559)
This patch moves CUDA-related `Sema` function into new `SemaCUDA` class,
following the recent example of SYCL, OpenACC, and HLSL. This is a part
of the effort to split Sema. Additional context can be found in
https://github.com/llvm/llvm-project/pull/82217,
https://github.com/llvm/llvm-project/pull/84184,
https://github.com/llvm/llvm-project/pull/87634.
Commit: 6dcb60481323c871556a5a14ed887a5867ece114
https://github.com/llvm/llvm-project/commit/6dcb60481323c871556a5a14ed887a5867ece114
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/type-traits.cpp
Log Message:
-----------
[clang] Implement `__is_pointer_interconvertible_base_of()` (#88473)
This patch implements intrinsic that supports
`std::is_pointer_interconvertible_base_of` type trait from
[P0466R5](https://wg21.link/p0466r5) "Layout-compatibility and
Pointer-interconvertibility Traits".
Normative wording:
> Comment: If `Base` and Derived are non-union class types and are not
(possibly _cv_-qualified) versions of the same type, `Derived` is a
complete type.
> Condition: `Derived` is unambiguously derived from `Base` without
regard to _cv_-qualifiers, and each object of type `Derived` is
pointer-interconvertible (6.7.2 [basic.compound]) with its `Base`
subobject, or `Base` and `Derived` are not unions and name the same
class type without regard to _cv_-qualifiers.
The paper also express the following intent:
> Note that `is_pointer_interconvertible_base_of_v<T,T>` is always true
under this wording, even though `T` is not derived from itself.
I find the treatment of unions in the wording contradictory to this
intent, and I'm not able to find anything relevant in minutes or on the
reflector. That said, this patch implements what the wording says, since
it's very explicit about unions.
Commit: 79dca25f4a0fefd47e9e37d9ce47d84dc0b3bedb
https://github.com/llvm/llvm-project/commit/79dca25f4a0fefd47e9e37d9ce47d84dc0b3bedb
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/tools/clang-installapi/Options.cpp
Log Message:
-----------
[InstallAPI] Replace std::string -> StringRef
Commit: ed128c7df9b4e60bfd814dc9fd22de1dde4a2c1c
https://github.com/llvm/llvm-project/commit/ed128c7df9b4e60bfd814dc9fd22de1dde4a2c1c
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
A clang/test/CXX/drs/cwg118.cpp
A clang/test/CXX/drs/cwg124.cpp
A clang/test/CXX/drs/cwg158.cpp
A clang/test/CXX/drs/cwg1748.cpp
A clang/test/CXX/drs/cwg177x.cpp
A clang/test/CXX/drs/cwg1807.cpp
A clang/test/CXX/drs/cwg185.cpp
A clang/test/CXX/drs/cwg193.cpp
A clang/test/CXX/drs/cwg199.cpp
A clang/test/CXX/drs/cwg201.cpp
A clang/test/CXX/drs/cwg210.cpp
A clang/test/CXX/drs/cwg2335.cpp
A clang/test/CXX/drs/cwg2390.cpp
A clang/test/CXX/drs/cwg2504.cpp
A clang/test/CXX/drs/cwg292.cpp
A clang/test/CXX/drs/cwg392.cpp
A clang/test/CXX/drs/cwg412.cpp
A clang/test/CXX/drs/cwg438.cpp
A clang/test/CXX/drs/cwg439.cpp
A clang/test/CXX/drs/cwg441.cpp
A clang/test/CXX/drs/cwg462.cpp
A clang/test/CXX/drs/cwg492.cpp
A clang/test/CXX/drs/cwg519.cpp
A clang/test/CXX/drs/cwg571.cpp
A clang/test/CXX/drs/cwg605.cpp
A clang/test/CXX/drs/cwg650.cpp
A clang/test/CXX/drs/cwg653.cpp
A clang/test/CXX/drs/cwg658.cpp
A clang/test/CXX/drs/cwg661.cpp
A clang/test/CXX/drs/cwg672.cpp
A clang/test/CXX/drs/cwgr593.cpp
M clang/test/CXX/drs/dr0xx.cpp
M clang/test/CXX/drs/dr10xx.cpp
R clang/test/CXX/drs/dr118.cpp
M clang/test/CXX/drs/dr11xx.cpp
R clang/test/CXX/drs/dr124.cpp
M clang/test/CXX/drs/dr12xx.cpp
M clang/test/CXX/drs/dr13xx.cpp
M clang/test/CXX/drs/dr14xx.cpp
R clang/test/CXX/drs/dr158.cpp
M clang/test/CXX/drs/dr15xx.cpp
M clang/test/CXX/drs/dr16xx.cpp
R clang/test/CXX/drs/dr1748.cpp
R clang/test/CXX/drs/dr177x.cpp
M clang/test/CXX/drs/dr17xx.cpp
R clang/test/CXX/drs/dr1807.cpp
R clang/test/CXX/drs/dr185.cpp
M clang/test/CXX/drs/dr18xx.cpp
R clang/test/CXX/drs/dr193.cpp
R clang/test/CXX/drs/dr199.cpp
M clang/test/CXX/drs/dr19xx.cpp
M clang/test/CXX/drs/dr1xx.cpp
R clang/test/CXX/drs/dr201.cpp
M clang/test/CXX/drs/dr20xx.cpp
R clang/test/CXX/drs/dr210.cpp
M clang/test/CXX/drs/dr21xx.cpp
M clang/test/CXX/drs/dr22xx.cpp
R clang/test/CXX/drs/dr2335.cpp
R clang/test/CXX/drs/dr2390.cpp
M clang/test/CXX/drs/dr23xx.cpp
M clang/test/CXX/drs/dr24xx.cpp
R clang/test/CXX/drs/dr2504.cpp
M clang/test/CXX/drs/dr25xx.cpp
M clang/test/CXX/drs/dr26xx.cpp
M clang/test/CXX/drs/dr27xx.cpp
M clang/test/CXX/drs/dr28xx.cpp
R clang/test/CXX/drs/dr292.cpp
M clang/test/CXX/drs/dr2xx.cpp
R clang/test/CXX/drs/dr392.cpp
M clang/test/CXX/drs/dr3xx.cpp
R clang/test/CXX/drs/dr412.cpp
R clang/test/CXX/drs/dr438.cpp
R clang/test/CXX/drs/dr439.cpp
R clang/test/CXX/drs/dr441.cpp
R clang/test/CXX/drs/dr462.cpp
R clang/test/CXX/drs/dr492.cpp
M clang/test/CXX/drs/dr4xx.cpp
R clang/test/CXX/drs/dr519.cpp
R clang/test/CXX/drs/dr571.cpp
R clang/test/CXX/drs/dr593.cpp
M clang/test/CXX/drs/dr5xx.cpp
R clang/test/CXX/drs/dr605.cpp
R clang/test/CXX/drs/dr650.cpp
R clang/test/CXX/drs/dr653.cpp
R clang/test/CXX/drs/dr658.cpp
R clang/test/CXX/drs/dr661.cpp
R clang/test/CXX/drs/dr672.cpp
M clang/test/CXX/drs/dr6xx.cpp
M clang/test/CXX/drs/dr7xx.cpp
M clang/test/CXX/drs/dr8xx.cpp
M clang/test/CXX/drs/dr9xx.cpp
M clang/www/make_cxx_dr_status
Log Message:
-----------
[clang][NFC] Replace `dr` with `cwg` in DR test suite
This patch is breaking `dr` to `cwg` equivalence in our terminology, making room for tests for LWG issues that concern compiler intrinsics.
Commit: 4138367444a2e3431cdfc7ab6e16c9cab5c76ad8
https://github.com/llvm/llvm-project/commit/4138367444a2e3431cdfc7ab6e16c9cab5c76ad8
Author: Ian Anderson <iana at apple.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/lib/Basic/Module.cpp
A clang/test/Modules/Inputs/ptrauth-include-from-darwin/module.modulemap
A clang/test/Modules/Inputs/ptrauth-include-from-darwin/ptrauth.h
A clang/test/Modules/Inputs/ptrauth-include-from-darwin/stddef.h
A clang/test/Modules/ptrauth-include-from-darwin.m
Log Message:
-----------
[modules] allow use of ptrauth module from no_undeclared_includes system modules (#88432)
Co-authored-by: Alex Lorenz <arphaman at gmail.com>
Commit: 5b36bf549c8c900d0f01451e02abd821f38d4538
https://github.com/llvm/llvm-project/commit/5b36bf549c8c900d0f01451e02abd821f38d4538
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M clang/test/CXX/drs/dr6xx.cpp
Log Message:
-----------
[clang][NFC] Tidy up extension warnings about `_Static_assert`
Some tests in `dr6xx.cpp` were using C11 `_Static_assert`, and were expecting extension warnings in C++98 mode because of that. This is noise, and we can do better than that.
Commit: 8d8502a1b6e4e2b775d16be456f6b5ee544dcc55
https://github.com/llvm/llvm-project/commit/8d8502a1b6e4e2b775d16be456f6b5ee544dcc55
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/test/Target/SPIRV/decorations.mlir
Log Message:
-----------
[mlir][spirv] Add op decoration NoContraction (#88578)
Commit: 37ebf2ae748f8cbfab756321e04fc7e8c86996a4
https://github.com/llvm/llvm-project/commit/37ebf2ae748f8cbfab756321e04fc7e8c86996a4
Author: Lang Hames <lhames at gmail.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Core.cpp
Log Message:
-----------
[ORC] Replace more KV loop variables with structured bindings.
Coding my way home: 4.42841S, 102.96190W
Commit: 3cf8535dbf0bf5fafa99ea1f300e2384a7254fba
https://github.com/llvm/llvm-project/commit/3cf8535dbf0bf5fafa99ea1f300e2384a7254fba
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bfloat.ll
M llvm/test/CodeGen/X86/concat-fpext-v2bf16.ll
Log Message:
-----------
[X86][BF16] Improve vectorization of BF16 (#88486)
1. Move expansion to combineFP_EXTEND to help with small vectors;
2. Combine FP_ROUND to reduce fptrunc then fpextend after promotion;
Commit: df9c00beea5be08fc47aaea58eae333fc6cbef33
https://github.com/llvm/llvm-project/commit/df9c00beea5be08fc47aaea58eae333fc6cbef33
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/cond-at-use.ll
M llvm/test/Transforms/CorrelatedValuePropagation/phi-common-val.ll
Log Message:
-----------
[CVP] Use at-use info in `processBinOp` (#88523)
This patch uses `getConstantRangeAtUse` to infer nsw/nuw flags with
at-use info. It will enables more optimizations in InstCombine.
Compile-time impact:
http://llvm-compile-time-tracker.com/compare.php?from=a5ed14bc8e122fa5ac0aa81f8d8390931bd6b4e4&to=a83d3402b663439b91cb37a046fb7ac0220ba5c7&stat=instructions%3Au
Related issue: #87854
Commit: 6d66db3890a18e3926a49cbfeb28e99c464cfcd5
https://github.com/llvm/llvm-project/commit/6d66db3890a18e3926a49cbfeb28e99c464cfcd5
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/vec15-base.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-calls.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/odd_store.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-calls.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-gather-some-loads.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
Log Message:
-----------
[SLP] Initial vectorization of non-power-of-2 ops. (#77790)
This patch enables vectorization for non-power-of-2 VFs. Initially only
VFs where adding 1 makes the VF a power-of-2, i.e. we can still make
relatively effective use of the vectors.
It relies on the existing target cost-models to return accurate costs
for
non-power-of-2 vectors. I checked mostly AArch64 and X86 and
there the costs seem reasonable for the costs I checked, although
I expect there will be a need to refine both the cost-models and
lowering
to make most effective use of non-power-of-2 SLP vectorization.
Note that re-ordering and shuffling is not implemented for nodes
requiring padding yet to keep the initial implementation simpler.
The feature is guarded by a new flag, off by defaul for now.
PR: https://github.com/llvm/llvm-project/pull/77790
Commit: 11f22f1a963ab3c8949cb723a63c07d7a409c8a8
https://github.com/llvm/llvm-project/commit/11f22f1a963ab3c8949cb723a63c07d7a409c8a8
Author: Eric <eric at efcs.ca>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/shared_mutex_vs_mutex.bench.cpp
M libcxx/src/include/tzdb/tzdb_list_private.h
Log Message:
-----------
[tzdb] Replace shared_mutex with mutex. (#87929)
The overhead of taking a std::mutex is much lower than taking a reader
lock on a shared mutex, even under heavy contention.
The benefit of shared_mutex only occurs as the amount of
time spent in the critical sections grows large enough.
In our case all we do is read a pointer and return the lock.
As a result, using a shared lock can be ~50%-100% slower
Here are the results for the provided benchmark on my machine:
```
2024-04-07T12:48:51-04:00
Running ./libcxx/benchmarks/shared_mutex_vs_mutex.libcxx.out
Run on (12 X 400 MHz CPU s)
CPU Caches:
L1 Data 32 KiB (x6)
L1 Instruction 32 KiB (x6)
L2 Unified 1024 KiB (x6)
L3 Unified 32768 KiB (x1)
Load Average: 2.70, 2.70, 1.63
---------------------------------------------------------------------
Benchmark Time CPU Iterations
---------------------------------------------------------------------
BM_shared_mutex/threads:1 13.9 ns 13.9 ns 50533700
BM_shared_mutex/threads:2 34.5 ns 68.9 ns 9957784
BM_shared_mutex/threads:4 38.4 ns 137 ns 4987772
BM_shared_mutex/threads:8 51.1 ns 358 ns 1974160
BM_shared_mutex/threads:32 57.1 ns 682 ns 1043648
BM_mutex/threads:1 5.54 ns 5.53 ns 125867422
BM_mutex/threads:2 15.5 ns 30.9 ns 21830116
BM_mutex/threads:4 15.4 ns 57.2 ns 12136920
BM_mutex/threads:8 19.3 ns 140 ns 4997080
BM_mutex/threads:32 20.8 ns 252 ns 2859808
```
Commit: 9931e7efc6505002e866ee553af5d812123c22f5
https://github.com/llvm/llvm-project/commit/9931e7efc6505002e866ee553af5d812123c22f5
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/SpaceshipPapers.csv
Log Message:
-----------
[libc++][spaceship][NFC] P0905R1: Symmetry for spaceship - mark as implemented (#87871)
Implemented: https://wg21.link/P0905R1 in
0913ca197855626c93fdae4184ae80ff5a26503a
- https://eel.is/c++draft/cmp.weakeq (Removed in
https://wg21.link/P1959R0)
- https://eel.is/c++draft/cmp.strongeq (Removed in
https://wg21.link/P1959R0)
- https://eel.is/c++draft/cmp.partialord
-
https://github.com/llvm/llvm-project/blob/4abb722ffa7fcf809faa4a479fdf2f78c685b351/libcxx/include/__compare/ordering.h#L101
- https://eel.is/c++draft/cmp.weakord
-
https://github.com/llvm/llvm-project/blob/4abb722ffa7fcf809faa4a479fdf2f78c685b351/libcxx/include/__compare/ordering.h#L173
- https://eel.is/c++draft/cmp.strongord
-
https://github.com/llvm/llvm-project/blob/4abb722ffa7fcf809faa4a479fdf2f78c685b351/libcxx/include/__compare/ordering.h#L250
References:
- https://wg21.link/P1959R0 - Remove `std::weak_equality` and
`std::strong_equality`
Commit: e481f565286e7fbf5dda9c4a0d00ca1daae8abeb
https://github.com/llvm/llvm-project/commit/e481f565286e7fbf5dda9c4a0d00ca1daae8abeb
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/main.cpp
Log Message:
-----------
[lldb][libc++] Adds local_t clock data formatters. (#88178)
Commit: a33a754cff02fda7520fa63fbc6c85c274a44baa
https://github.com/llvm/llvm-project/commit/a33a754cff02fda7520fa63fbc6c85c274a44baa
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp
Log Message:
-----------
[lldb] Fixes comment typos.
Commit: 0412a8651aa6cbdd697e904a758e0f95e6635cee
https://github.com/llvm/llvm-project/commit/0412a8651aa6cbdd697e904a758e0f95e6635cee
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
Log Message:
-----------
[clang] Add missing documentation entry for `__is_pointer_interconvertible_base_of()`
Commit: 6704faf6f8a26c21c71fd0efad6af6a8d6ee52b4
https://github.com/llvm/llvm-project/commit/6704faf6f8a26c21c71fd0efad6af6a8d6ee52b4
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/trunc-store-value-ty-not-power-of-2.ll
Log Message:
-----------
[SLP] Use StoreTy to compute min VF.
This ensures that MinVF is a power-of-2, even if ValueTy's width is
not a power-of-2.
This should fix a number of buildbot failures with X86 bootstrapping.
Commit: 6775285e7695f2d45cf455f5d31b2c9fa9362d3d
https://github.com/llvm/llvm-project/commit/6775285e7695f2d45cf455f5d31b2c9fa9362d3d
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M libcxx/CMakeLists.txt
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/test/tools/CMakeLists.txt
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
M libcxx/utils/ci/buildkite-pipeline.yml
M libcxx/utils/ci/run-buildbot
Log Message:
-----------
[libc++][CMake] Removes LIBCXX_ENABLE_CLANG_TIDY. (#85794)
The clang-tidy selection in CMake was refactored in
https://github.com/llvm/llvm-project/pull/81362. During review it was
suggested to remove this CMake option.
Commit: f6ca37bf1809b2fa8f6615d4a30eadf8f479c700
https://github.com/llvm/llvm-project/commit/f6ca37bf1809b2fa8f6615d4a30eadf8f479c700
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/MachineModuleInfo.cpp
M llvm/unittests/CodeGen/PassManagerTest.cpp
Log Message:
-----------
[NewPM] Set diagnostic handler in `MachineModuleAnalysis` (#88229)
`setDiagnosticHandler` is idempotent.
Commit: 844b532713986999aa1ffed0883eff2d1339ec7a
https://github.com/llvm/llvm-project/commit/844b532713986999aa1ffed0883eff2d1339ec7a
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Utils/FunctionComparator.cpp
A llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges-attr.ll
Log Message:
-----------
[MergeFunc] Handle ConstantRange attributes (#88584)
It is possible to update
[AttributeImpl::operator<](https://github.com/andjo403/llvm-project/blob/a9da350aadfb5c86d36ae18398471558b22c1309/llvm/lib/IR/Attributes.cpp#L744)
instead but feels strange to say that a range is less then an other
range.
Commit: 1a895bd95ea741dd4756121244f7c2b59e693f1c
https://github.com/llvm/llvm-project/commit/1a895bd95ea741dd4756121244f7c2b59e693f1c
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M libcxx/include/__algorithm/sort.h
Log Message:
-----------
[libc++] Marks a variable const. (#88562)
This removes a TODO from the code base.
Commit: 910ec6ff6dd9ed031e31800c70740fdd17cc1c2a
https://github.com/llvm/llvm-project/commit/910ec6ff6dd9ed031e31800c70740fdd17cc1c2a
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M libcxx/include/__system_error/errc.h
M libcxx/include/cerrno
R libcxx/test/std/depr.cerro/cerrno.syn.verify.cpp
Log Message:
-----------
[libc++] Undeprecate POSIX STREAM macros. (#88296)
LWG3869 Deprecate std::errc constants related to UNIX STREAMS
deprecates the POSIX macros ENODATA, ENOSR, ENOSTR, and ETIME. These
were deprecated in libc++ in
https://github.com/llvm/llvm-project/pull/80542. Based on the post
commit feedback the macro are no longer deprecated. Instead libc++
leaves the deprecation to the provider of errno.h.
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: cbfcfdf75e9939bc47ac7a7c11d2122a6ad426ed
https://github.com/llvm/llvm-project/commit/cbfcfdf75e9939bc47ac7a7c11d2122a6ad426ed
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M clang/test/SemaCXX/type-traits.cpp
Log Message:
-----------
[clang][NFC] Add a test for CWG2254 to `is_pointer_interconvertible_base_of` tests
Resolution of that issue makes _any_ base class subobject interconvertible with the containing object, not just the first one.
Commit: 26852565a5f609e6b466f43c2f690ce3047d04c7
https://github.com/llvm/llvm-project/commit/26852565a5f609e6b466f43c2f690ce3047d04c7
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
Log Message:
-----------
[libc++][TZDZ] Validates the database version.
It seems one of the tests requires a very recent timezone database. Skip
the test when the database is older.
Commit: 61f1f1300254e91334404f0d22e75e96f0d98a85
https://github.com/llvm/llvm-project/commit/61f1f1300254e91334404f0d22e75e96f0d98a85
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__config
A libcxx/include/__debug_utils/sanitizers.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/deque
M libcxx/include/module.modulemap
M libcxx/include/string
M libcxx/include/vector
Log Message:
-----------
[libc++][NFC] Move basic ASan annotation functions into a utility header (#87220)
Commit: ecf44b4b719c33465d9ebfbc5910b1f761856e0b
https://github.com/llvm/llvm-project/commit/ecf44b4b719c33465d9ebfbc5910b1f761856e0b
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
Log Message:
-----------
[libc++][TZDB] Removes test_indian_kerguelen test.
The work-around in 26852565a5f609e6b466f43c2f690ce3047d04c7 didn't fix
the CI. Since the entire local database is compared with the libc++
implementation in a separate this this change does not remove coverage.
Commit: fad37526a3ea7d669af621342968029085862281
https://github.com/llvm/llvm-project/commit/fad37526a3ea7d669af621342968029085862281
Author: Edwin Vane <revane at google.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
Log Message:
-----------
[clang-tidy] Export fixes from check_clang_tidy.py (#88186)
Makes it possible to export fixes from running llvm-lit on a clang-tidy
test. To enable, modify the RUN invocation directly in the test with the
new -export flag. llvm-lit will report the test passed and fixes can be
found in the file specified to the -export flag.
Commit: ef9446bd2d362ec90cd681ae59463d16bf671fe8
https://github.com/llvm/llvm-project/commit/ef9446bd2d362ec90cd681ae59463d16bf671fe8
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/GVN.cpp
Log Message:
-----------
[GVN] lazily update dominator tree when merge unconditional branches in function (#88477)
With this change, the wall time for of GVN pass decreased from
873,745.492 ms to 367,375.304 ms in an our internal testcase.
Commit: 342aa3eb23992ad742d22ef0e0d8821a9b29de3e
https://github.com/llvm/llvm-project/commit/342aa3eb23992ad742d22ef0e0d8821a9b29de3e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
A llvm/test/CodeGen/RISCV/rvv/pr88576.ll
Log Message:
-----------
[LegalizeTypes][RISCV] Support scalable vectors in SplitVecRes_BITCAST/SplitVecOp_BITCAST. (#88590)
Instead of bitcasting to a scalar integer, try to split the other vector
type that is legal. We already handle the case where both types need to
be split.
Fixes #88576
Commit: 09327efdf0f02c4f865a4536db96cac539bb1c01
https://github.com/llvm/llvm-project/commit/09327efdf0f02c4f865a4536db96cac539bb1c01
Author: Chris Copeland <chris at chrisnc.net>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[clang][docs] fix whitespace in AttrDocs.td (#88631)
Noticed this failure while working on a different change:
https://buildkite.com/llvm-project/clang-ci/builds/15553#018ed1bb-923a-48b5-9788-e8b6d3827aba
Seems to be introduced by #88448.
Commit: c6f9c84e498ee05a812511ae969773ff166fd25e
https://github.com/llvm/llvm-project/commit/c6f9c84e498ee05a812511ae969773ff166fd25e
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M clang/include/clang/AST/DeclBase.h
M clang/lib/AST/DeclBase.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
Log Message:
-----------
[Clang] Reduce the size of Decl and classes derived from it (#87361)
Class | Old size (in bytes) | New size (in bytes)
----------------------------------|---------------------|--------------------
Decl | 40 | 32
AccessSpecDecl | 40 | 40
BlockDecl | 128 | 120
CapturedDecl | 88 | 80
EmptyDecl | 40 | 32
ExportDecl | 80 | 72
ExternCContextDecl | 72 | 64
FileScopeAsmDecl | 56 | 48
FriendDecl | 64 | 56
FriendTemplateDecl | 64 | 64
ImplicitConceptSpecializationDecl | 40 | 40
ImportDecl | 56 | 48
LifetimeExtendedTemporaryDecl | 72 | 64
LinkageSpecDecl | 80 | 72
NamedDecl | 48 | 40
ObjCPropertyImplDecl | 96 | 88
PragmaCommentDecl | 40 | 40
PragmaDetectMismatchDecl | 48 | 40
RequiresExprBodyDecl | 72 | 64
StaticAssertDecl | 64 | 56
TopLevelStmtDecl | 88 | 80
TranslationUnitDecl | 104 | 96
BaseUsingDecl | 56 | 48
UsingDecl | 88 | 80
UsingEnumDecl | 72 | 64
HLSLBufferDecl | 96 | 88
LabelDecl | 80 | 72
NamespaceAliasDecl | 96 | 88
NamespaceDecl | 112 | 104
ObjCCompatibleAliasDecl | 56 | 48
ObjCContainerDecl | 88 | 80
ObjCMethodDecl | 136 | 128
ObjCPropertyDecl | 128 | 120
TemplateDecl | 64 | 56
BuiltinTemplateDecl | 72 | 64
TypeDecl | 64 | 56
UnresolvedUsingIfExistsDecl | 48 | 40
UsingDirectiveDecl | 88 | 80
UsingPackDecl | 64 | 56
UsingShadowDecl | 80 | 72
ValueDecl | 56 | 48
When parsing libc++'s `<string>` header the used memory is reduced from
42.8MB to 42.5MB.
Commit: d48d6ba9477aa380cd5a71f899d3cb6d629f175b
https://github.com/llvm/llvm-project/commit/d48d6ba9477aa380cd5a71f899d3cb6d629f175b
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
Log Message:
-----------
[clang][NFC] Factor out VLA checks in type traits (#88646)
This is a follow-up to #88473 suggested by @cor3ntin in
https://github.com/llvm/llvm-project/pull/88473#discussion_r1562198117.
Commit: ed06b847d4e77d0b81fa6b095366bb070db57846
https://github.com/llvm/llvm-project/commit/ed06b847d4e77d0b81fa6b095366bb070db57846
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M clang/include/clang/AST/DeclBase.h
M clang/lib/AST/DeclBase.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
Log Message:
-----------
Revert "[Clang] Reduce the size of Decl and classes derived from it" (#88654)
Reverts llvm/llvm-project#87361
On 32 bit platforms there is only a single bit available in the
`DeclCtx`, resulting in an assertion failure.
Commit: ef164cee90477e294ff692209b4cf97a0e1958ed
https://github.com/llvm/llvm-project/commit/ef164cee90477e294ff692209b4cf97a0e1958ed
Author: Sirraide <aeternalmail at gmail.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
A clang/test/AST/ast-dump-cxx2c-delete-with-message.cpp
A clang/test/AST/ast-print-cxx2c-delete-with-message.cpp
M clang/test/Lexer/cxx-features.cpp
M clang/test/PCH/cxx2a-defaulted-comparison.cpp
A clang/test/Parser/cxx2c-delete-with-message.cpp
A clang/test/SemaCXX/cxx2c-delete-with-message.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] [C++26] Implement P2573R2: `= delete("should have a reason");` (#86526)
This implements support for the `= delete("message")` syntax that was
only just added to C++26
([P2573R2](https://isocpp.org/files/papers/P2573R2.html#proposal-scope)).
Commit: 8891fd5acbe441d24a1734aa144f3f3dca075620
https://github.com/llvm/llvm-project/commit/8891fd5acbe441d24a1734aa144f3f3dca075620
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
[mlir][complex] Fastmath flag support for complex.tanh (#88571)
Commit: 6c2cc8240e11721cac466cfce89bc0f87a5019be
https://github.com/llvm/llvm-project/commit/6c2cc8240e11721cac466cfce89bc0f87a5019be
Author: David Green <david.green at arm.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
Log Message:
-----------
[AArch64] Improve cost of non-zero lane splats
This adds a cost for non-zero lane splats, which is not included by default in
SK_Broadcast but can be handled by aarch64 dup lane instruction.
Commit: 9b832b726c9c9bb0672c5f0912f6f131e3e27a10
https://github.com/llvm/llvm-project/commit/9b832b726c9c9bb0672c5f0912f6f131e3e27a10
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx20.rst
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/UsingLibcxx.rst
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/memory
M libcxx/modules/std/memory.inc
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_strong.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.depr_in_cxx20.verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_weak.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_exchange.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_exchange_explicit.verify.depr_in_cxx20..cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_is_lock_free.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_load.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_load_explicit.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_store.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_store_explicit.depr_in_cxx20..verify.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange_explicit.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_is_lock_free.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load_explicit.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store_explicit.pass.cpp
Log Message:
-----------
[libc++] Deprecated `shared_ptr` Atomic Access APIs as per P0718R2 & Implemented P2869R3: Remove Deprecated `shared_ptr` Atomic Access APIs from C++26 (#87111)
Implements https://wg21.link/P2869R4
Implements deprecations as per https://wg21.link/P0718R2
Commit: 6e934b7cfba8e0c167d2b287a30dfc1b720397c1
https://github.com/llvm/llvm-project/commit/6e934b7cfba8e0c167d2b287a30dfc1b720397c1
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaCast.cpp
Log Message:
-----------
[clang] Fix -Wunused-variable in SemaCast.cpp (NFC)
llvm-project/clang/lib/Sema/SemaCast.cpp:503:23:
error: unused variable 'Res' [-Werror,-Wunused-variable]
OverloadingResult Res =
^
1 error generated.
Commit: 3c4d9559495e60dcbb431ab80d806096559a7486
https://github.com/llvm/llvm-project/commit/3c4d9559495e60dcbb431ab80d806096559a7486
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M mlir/test/CAPI/CMakeLists.txt
Log Message:
-----------
[mlir] Add lib to tests for shared build (#88574)
These resulted in link failures:
```
/usr/bin/ld:
tools/mlir/test/CAPI/CMakeFiles/mlir-capi-translation-test.dir/translation.c.o:
in function `main':
translation.c:(.text.main+0x58): undefined reference to
`LLVMContextCreate'
/usr/bin/ld: translation.c:(.text.main+0x9b): undefined reference to
`LLVMDumpModule'
/usr/bin/ld: translation.c:(.text.main+0xa3): undefined reference to
`LLVMDisposeModule'
/usr/bin/ld: translation.c:(.text.main+0xb3): undefined reference to
`LLVMContextDispose'
```
Found in mlir-hs. Not sure why this hasn't been flagged elsewhere.
Commit: 7cfe73624780010ec81ca11c41ebbf214400abdd
https://github.com/llvm/llvm-project/commit/7cfe73624780010ec81ca11c41ebbf214400abdd
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M clang/include/clang/Basic/Cuda.h
Log Message:
-----------
[clang] Fix name conflict with `sys/mac.h` on AIX (#88644)
Fixes clang-ppc64-aix bot failure after #88559
(0a6f6df5b0c3d0f2a42f013bf5cafb9b5020dcac)
https://lab.llvm.org/buildbot/#/builders/214/builds/11887
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: d5c654b5b7c8bb81affdc69976ef9bc5ad5b4302
https://github.com/llvm/llvm-project/commit/d5c654b5b7c8bb81affdc69976ef9bc5ad5b4302
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M libcxx/include/algorithm
M libcxx/include/bit
M libcxx/include/charconv
M libcxx/include/chrono
M libcxx/include/compare
M libcxx/include/concepts
M libcxx/include/coroutine
M libcxx/include/module.modulemap
M libcxx/include/streambuf
M libcxx/test/libcxx/algorithms/half_positive.pass.cpp
M libcxx/test/libcxx/numerics/bit.ops.pass.cpp
M libcxx/test/libcxx/time/convert_to_tm.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
Log Message:
-----------
[libc++][RFC] Only include what is required by-version in the umbrella headers (#83740)
This is a relatively low cost way of reducing the include sizes in older
language modes compared to the effect. For example, in C++14 mode the
include time of `<algorithm>` is reduced from 198ms to 127ms.
Commit: 00162162dd853795c532afa5dec4dc4e798d4a4b
https://github.com/llvm/llvm-project/commit/00162162dd853795c532afa5dec4dc4e798d4a4b
Author: YunQiang Su <syq at debian.org>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
Log Message:
-----------
CompilerRT: Normalize COMPILER_RT_DEFAULT_TARGET_TRIPLE (#88407)
If LLVM is configured with -DLLVM_DEFAULT_TARGET_TRIPLE, and the
argument is not normalized, such as Debian-style vendor-less triple,
clang will try to find libclang_rt in lib/<normalized_triple>, while
libclang_rt is placed into lib/<triple_arg>.
Let's also place libclang_rt into lib/<normalized_triple>.
Commit: 5927492e8e68c1ee5a0d84cf6c402a900aac4a3c
https://github.com/llvm/llvm-project/commit/5927492e8e68c1ee5a0d84cf6c402a900aac4a3c
Author: YunQiang Su <syq at debian.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
Log Message:
-----------
Revert "CompilerRT: Normalize COMPILER_RT_DEFAULT_TARGET_TRIPLE" (#88663)
Reverts llvm/llvm-project#88407
Commit: b8d0cba14bcfc5c1c2f7a878ad9eaa12b6a590b6
https://github.com/llvm/llvm-project/commit/b8d0cba14bcfc5c1c2f7a878ad9eaa12b6a590b6
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M llvm/include/llvm/TextAPI/Utils.h
M llvm/lib/TextAPI/BinaryReader/DylibReader.cpp
Log Message:
-----------
[TextAPI] Apply NFC code fixups (#88639)
* Remove unnecessary cast
* Annotate `#endif`
Commit: 48e955496bee035121ebfe5a837ebcbc2ba8846c
https://github.com/llvm/llvm-project/commit/48e955496bee035121ebfe5a837ebcbc2ba8846c
Author: Marc Auberer <marc.auberer at chillibits.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M llvm/docs/requirements-hashed.txt
M llvm/docs/requirements.txt
Log Message:
-----------
[Docs] Update python dependencies for documentation (#87877)
This has no particular reason, but imo we should update dependencies
every now and then to reduce the gap if breaking changes happen
somewhere.
Commit: 84ec2d3b38635dead7690f97f215ff4c473184f0
https://github.com/llvm/llvm-project/commit/84ec2d3b38635dead7690f97f215ff4c473184f0
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[mlir][python] add to CODEOWNERS (#88561)
Commit: a5f54175dcf120180c3d91bbc13062bbf8f42f61
https://github.com/llvm/llvm-project/commit/a5f54175dcf120180c3d91bbc13062bbf8f42f61
Author: Zentrik <Zentrik at users.noreply.github.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
Log Message:
-----------
Include cmath to fix build error on mac os 10.14 (#88665)
This fixes #88664.
Commit: 9f43a41db37253685c5ed428c215528eb92bbd43
https://github.com/llvm/llvm-project/commit/9f43a41db37253685c5ed428c215528eb92bbd43
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M clang/test/Driver/linux-ld.c
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[Driver,test] Make Android runtime tests resisent to #87866 change
Suggested by YunQiang Su <syq at debian.org>
Commit: 1693009679313282afbed38778dd3fad62641e1b
https://github.com/llvm/llvm-project/commit/1693009679313282afbed38778dd3fad62641e1b
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChain.cpp
M clang/test/Driver/arm-compiler-rt.c
M clang/test/Driver/cl-link.c
M clang/test/Driver/compiler-rt-unwind.c
M clang/test/Driver/coverage-ld.c
M clang/test/Driver/instrprof-ld.c
M clang/test/Driver/linux-ld.c
M clang/test/Driver/mingw-sanitizers.c
M clang/test/Driver/msp430-toolchain.c
M clang/test/Driver/print-libgcc-file-name-clangrt.c
M clang/test/Driver/print-runtime-dir.c
M clang/test/Driver/riscv32-toolchain-extra.c
M clang/test/Driver/riscv32-toolchain.c
M clang/test/Driver/riscv64-toolchain-extra.c
M clang/test/Driver/riscv64-toolchain.c
M clang/test/Driver/sanitizer-ld.c
M clang/test/Driver/wasm-toolchain.c
M clang/test/Driver/wasm-toolchain.cpp
M clang/test/Driver/windows-cross.c
M clang/test/Driver/zos-ld.c
M flang/test/Driver/msvc-dependent-lib-flags.f90
Log Message:
-----------
[Driver] Ensure ToolChain::LibraryPaths is not empty for non-Darwin
Follow-up to #81037.
ToolChain::LibraryPaths holds the new compiler-rt library directory
(e.g. `/tmp/Debug/lib/clang/19/lib/x86_64-unknown-linux-gnu`). However,
it might be empty when the directory does not exist (due to the `if
(getVFS().exists(P))` change in https://reviews.llvm.org/D158475).
If neither the old/new compiler-rt library directories exists, we would
suggest the undesired old compiler-rt file name:
```
% /tmp/Debug/bin/clang++ a.cc -fsanitize=memory -o a
ld.lld: error: cannot open /tmp/Debug/lib/clang/19/lib/linux/libclang_rt.msan-x86_64.a: No such file or directory
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
```
With this change, we will correctly suggest the new compiler-rt file name.
Fix #87150
Pull Request: https://github.com/llvm/llvm-project/pull/87866
Commit: e8232c325f7c56c175b27a3538699c31519c8f5e
https://github.com/llvm/llvm-project/commit/e8232c325f7c56c175b27a3538699c31519c8f5e
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/ADT/FoldingSet.h
M llvm/test/Bitcode/attributes.ll
Log Message:
-----------
[ADT] In FoldingSet calulation for APInt add bit width to avoid crash (#88635)
Multiple ranges attributes with the same lower and upper limit but
different bit width caused a crash.
Commit: 8e4b0890a61088ae55b4bccbb59e5c5e10d28385
https://github.com/llvm/llvm-project/commit/8e4b0890a61088ae55b4bccbb59e5c5e10d28385
Author: wanglei <wanglei at loongson.cn>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/test/Transforms/CodeGenPrepare/LoongArch/splitgep.ll
Log Message:
-----------
[LoongArch] Return true from shouldConsiderGEPOffsetSplit (#88371)
If not performing gep splits can prevent important optimizations, such
as preventing the element indices / member offsets from being
(partially) folded into load/store instruction immediates.
Commit: dd4b40ffe3bd9da2e3d998b674305ae1f612ad51
https://github.com/llvm/llvm-project/commit/dd4b40ffe3bd9da2e3d998b674305ae1f612ad51
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
Log Message:
-----------
[CodeGen] Let `CodeGenPassBuilder` know concrete target machine (#88614)
Many backends passes accept only `<Target>TargetMachine`, this can avoid
cast to derived type.
Commit: 7476b412d46322f52a7f58ad1d94a4398df941e2
https://github.com/llvm/llvm-project/commit/7476b412d46322f52a7f58ad1d94a4398df941e2
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M llvm/CODE_OWNERS.TXT
Log Message:
-----------
[NFC] add myself as the code owner of the PowerPC target
Norminated by Nemanja in https://discourse.llvm.org/t/powerpc-code-owner/78142
Commit: a9d7ad23fa625e7f52f2641dbb0f90e8ea12bebf
https://github.com/llvm/llvm-project/commit/a9d7ad23fa625e7f52f2641dbb0f90e8ea12bebf
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/rotate.ll
Log Message:
-----------
[InstCombine] Relax shamt assertion in fsh fold
Allow the result of the comparison to contain poison elements,
which happens if one of the elements in the input vector is
poison.
Commit: 9c3475acc9b11d08f0e0b3e230429e9f552d5f80
https://github.com/llvm/llvm-project/commit/9c3475acc9b11d08f0e0b3e230429e9f552d5f80
Author: Billy Zhu <billyzhu at modular.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
[MLIR][LLVM] Fix recursive DI type export memory leak (#88122)
Followup to discussion
https://github.com/llvm/llvm-project/pull/87295#discussion_r1556016667.
The export cache should not cache temporary nodes.
Commit: 37b7207651b44743909a427b5509bed5e6c21b59
https://github.com/llvm/llvm-project/commit/37b7207651b44743909a427b5509bed5e6c21b59
Author: Allen <zhongyunde at huawei.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/switch_mask.ll
Log Message:
-----------
[SimplifyCFG] Fix crash when there is unreachable large index (#88616)
The large case index out of scope is dead code, but it is still be
created for TableContents in SwitchLookupTable::SwitchLookupTable,
so make sure the table size after growing should not get smaller.
Fix https://github.com/llvm/llvm-project/issues/88607
Commit: ccea9f2ae81d140a2367a82069cd00d6b08fe855
https://github.com/llvm/llvm-project/commit/ccea9f2ae81d140a2367a82069cd00d6b08fe855
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Add tests for `computeKnownBits` of `llvm.vector.reduce.{or,and}`; NFC
Commit: 6063e3c40867e9b9865aee326ff36cb2ebbcf939
https://github.com/llvm/llvm-project/commit/6063e3c40867e9b9865aee326ff36cb2ebbcf939
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Implement `computeKnownBits` for `llvm.vector.reduce.{or,and}`
Commit: 44b1523b9a4e7e21677395e75352d9a62efe2790
https://github.com/llvm/llvm-project/commit/44b1523b9a4e7e21677395e75352d9a62efe2790
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Add tests for `computeKnownBits` of `llvm.vector.reduce.xor`; NFC
Commit: 6c71707872e4d2f9aef19d0dbd502752b7fdfba0
https://github.com/llvm/llvm-project/commit/6c71707872e4d2f9aef19d0dbd502752b7fdfba0
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Implement `computeKnownBits` for `llvm.vector.reduce.xor`
Commit: 3921dffac29d8ea1c07bc6a7253876247a6eb1a3
https://github.com/llvm/llvm-project/commit/3921dffac29d8ea1c07bc6a7253876247a6eb1a3
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstSimplify/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Add tests for `isKnownNonZero` of `llvm.vector.reduce.or`; NFC
Commit: 1e16a35fbcc6b21d1bee597c7e76f2444b7000e5
https://github.com/llvm/llvm-project/commit/1e16a35fbcc6b21d1bee597c7e76f2444b7000e5
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstSimplify/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Implement `isKnownNonZero` for `llvm.vector.reduce.or`
Closes #88320
Commit: f811d7b50957b801788d7b171ddeb25b1fda415a
https://github.com/llvm/llvm-project/commit/f811d7b50957b801788d7b171ddeb25b1fda415a
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/include/clang/CodeGen/CodeGenAction.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Frontend/FrontendOptions.h
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/FrontendActions.cpp
A clang/test/Driver/module-fgen-reduced-bmi.cppm
A clang/test/Modules/modules-reduced-bmi.cppm
Log Message:
-----------
[C++20] [Modules] Introduce -fexperimental-modules-reduced-bmi (#85050)
This is the driver part of
https://github.com/llvm/llvm-project/pull/75894.
This patch introduces '-fexperimental-modules-reduced-bmi' to enable
generating the reduced BMI.
This patch did:
- When `-fexperimental-modules-reduced-bmi` is specified but
`--precompile` is not specified for a module unit, we'll skip the
precompile phase to avoid unnecessary two-phase compilation phases. Then
if `-c` is specified, we will generate the reduced BMI in CodeGenAction
as a by-product.
- When `-fexperimental-modules-reduced-bmi` is specified and
`--precompile` is specified, we will generate the reduced BMI in
GenerateModuleInterfaceAction as a by-product.
- When `-fexperimental-modules-reduced-bmi` is specified for a
non-module unit. We don't do anything nor try to give a warn. This is
more user friendly so that the end users can try to test and experiment
with the feature without asking help from the build systems.
The core design idea is that users should be able to enable this easily
with the existing cmake mechanisms.
The future plan for the flag is:
- Add this to clang19 and make it opt-in for 1~2 releases. It depends on
the testing feedback to decide how long we like to make it opt-in.
- Then we can announce the existing BMI generating may be deprecated and
suggesting people (end users or build systems) to enable this for 1~2
releases.
- Finally we will enable this by default. When that time comes, the term
`BMI` will refer to the reduced BMI today and the existing BMI will only
be meaningful to build systems which loves to support two phase
compilations.
I'll send release notes and document in seperate commits after this get
landed.
Commit: c7902d87a5a050b816edfe99e7e093ae63f4e564
https://github.com/llvm/llvm-project/commit/c7902d87a5a050b816edfe99e7e093ae63f4e564
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/add.ll
Log Message:
-----------
[InstCombine] Add test for isKnownNonZero() undef miscompile (NFC)
Commit: 52a1998f15ab0e5b9ff7afa8b92cc714463d5dd8
https://github.com/llvm/llvm-project/commit/52a1998f15ab0e5b9ff7afa8b92cc714463d5dd8
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/add.ll
M llvm/test/Transforms/InstSimplify/vec-cmp.ll
Log Message:
-----------
[ValueTracking] Don't accept undef in isKnownNonZero()
As the undef can be replaced with a zero value, this is not legal
in the general case. We can only allow poison values. This matches
what the other ValueTracking helpers like computeKnownBits() do.
Commit: 7177dc2ef7f3a50a1d8b892d7bd298f3d52a1aab
https://github.com/llvm/llvm-project/commit/7177dc2ef7f3a50a1d8b892d7bd298f3d52a1aab
Author: fengfeng <153487255+fengfeng09 at users.noreply.github.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
A llvm/test/CodeGen/AVR/base-with-add-like-constant-offset.ll
Log Message:
-----------
[SDAG] Apply or-disjoint in SelectionDAG::isBaseWithConstantOffset (#88493)
Signed-off-by: feng.feng <feng.feng at iluvatar.com>
Commit: 6b80e2fef5b0e99f81d1f4a7322b110f9ead3521
https://github.com/llvm/llvm-project/commit/6b80e2fef5b0e99f81d1f4a7322b110f9ead3521
Author: laichunfeng <laichunfeng at tencent.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/test/CodeGen/LoongArch/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/LoongArch/vector-fp-imm.ll
M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/RISCV/bfloat-convert.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.ll
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/float-convert.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
Log Message:
-----------
[mi-sched] Suppress register pressure with i64. (#88256)
Machine scheduler will suppress register pressure when the scheduling
window is too small, but now it doesn't consider i64 register type,
and this MR extends it into i64 register type, so architecture like
RISCV64 that only supports i64 interger register will have the same
behavior like RISCV32.
Commit: 2cc0c2104909558680409f8a8f39755936305e72
https://github.com/llvm/llvm-project/commit/2cc0c2104909558680409f8a8f39755936305e72
Author: Christian Sigg <csigg at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[clang][bazel] Fix BUILD after f811d7b50957b801788d7b171ddeb25b1fda415a.
Commit: 46131aaf616c5cd97df0ec376a7e6ba475e1913c
https://github.com/llvm/llvm-project/commit/46131aaf616c5cd97df0ec376a7e6ba475e1913c
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaTemplate/instantiate-using-decl.cpp
M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
Log Message:
-----------
Revert "Reapply "[Clang][Sema] Fix crash when 'this' is used in a dependent class scope function template specialization that instantiates to a static member function (#87541)" (#88311)"
This reverts commit aa80f3ec48419a73aafcc2ff947c6dd1e3734481.
See
https://github.com/llvm/llvm-project/pull/88311#issuecomment-2052291140.
There is a fix forward proposed but I am reverting this commit to fix
trunk.
Commit: a71565d75e23fc28076aa5bf1c5cf4432623afc5
https://github.com/llvm/llvm-project/commit/a71565d75e23fc28076aa5bf1c5cf4432623afc5
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/ARM/ARMParallelDSP.cpp
Log Message:
-----------
[ARM] Don't include IRBuilder.h in ARMISelLowering.h (NFC)
Just a forward declaration is sufficient.
Commit: 302d0f3476c0fc68d796e7b8a0d4237121ec33fe
https://github.com/llvm/llvm-project/commit/302d0f3476c0fc68d796e7b8a0d4237121ec33fe
Author: David Green <david.green at arm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
A llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
Log Message:
-----------
[VectorCombine] Add some tests for converting shuffles to identities. NFC
Commit: 07942987b58558a8bcb2cfb7d8bc3d46b1cb1d2b
https://github.com/llvm/llvm-project/commit/07942987b58558a8bcb2cfb7d8bc3d46b1cb1d2b
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/ObjCopy/CommonConfig.h
M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
M llvm/lib/ObjCopy/ELF/ELFObject.cpp
A llvm/test/tools/llvm-objcopy/ELF/compress-sections-within-segment.s
A llvm/test/tools/llvm-objcopy/ELF/compress-sections.s
M llvm/test/tools/llvm-objcopy/ELF/decompress-sections.test
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
M llvm/tools/llvm-objcopy/ObjcopyOpts.td
Log Message:
-----------
[llvm-objcopy] Add --compress-sections
--compress-sections is similar to --compress-debug-sections but applies
to arbitrary sections.
* `--compress-sections <section>=none`: decompress sections
* `--compress-sections <section>=[zlib|zstd]`: compress sections with zlib/zstd
Like `--remove-section`, the pattern is by default a glob, but a regex
when --regex is specified.
For `--remove-section` like options, `!` prevents matches and is not
dependent on ordering (see `ELF/wildcard-syntax.test`). Since
`--compress-sections a=zlib --compress-sections a=none` naturally allows
overriding, having an order-independent `!` would be confusing.
Therefore, `!` is disallowed.
Sections within a segment are effectively immutable. Report an error for
an attempt to (de)compress them. `SHF_ALLOC` sections in a relocatable
file can be compressed, but linkers usually reject them.
Note: Before this patch, a compressed relocation section is recognized
as a `RelocationSectionBase` as well and `removeSections` `!ToRemove(*ToRelSec)`
may incorrectly interpret a `CompressedSections` as `RelocationSectionBase`,
leading to ubsan failure for the new test. Fix this by setting
`OriginalFlags` in CompressedSection::CompressedSection.
Link: https://discourse.llvm.org/t/rfc-compress-arbitrary-sections-with-ld-lld-compress-sections/71674
Pull Request: https://github.com/llvm/llvm-project/pull/85036
Commit: b79b6f9cf00e72b21f5629aa3c5d9c1786611ec9
https://github.com/llvm/llvm-project/commit/b79b6f9cf00e72b21f5629aa3c5d9c1786611ec9
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M bolt/docs/BAT.md
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/test/X86/bolt-address-translation.test
Log Message:
-----------
[BOLT] Use offset deduplication for cold fragments
Apply deduplication for uniformity and BAT section size reduction.
Changes BAT section size to:
- large binary: 39541552 bytes (1.02x original),
- medium binary: 3828996 bytes (0.64x),
- small binary: 928 bytes (0.65x).
Test Plan: Updated bolt-address-translation.test
Reviewers: rafaelauler, dcci, ayermolo, JDevlieghere, maksfb
Reviewed By: maksfb
Pull Request: https://github.com/llvm/llvm-project/pull/87853
Commit: f76808351677f4e361f2acd9c4b3f385901d37ef
https://github.com/llvm/llvm-project/commit/f76808351677f4e361f2acd9c4b3f385901d37ef
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRV.h
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVRegisterBankInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVRegisterBanks.td
M llvm/lib/Target/SPIRV/SPIRVRegisterInfo.td
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
A llvm/test/CodeGen/SPIRV/const-composite.ll
A llvm/test/CodeGen/SPIRV/instructions/ret-type.ll
A llvm/test/CodeGen/SPIRV/instructions/select-phi.ll
M llvm/test/CodeGen/SPIRV/instructions/select.ll
Log Message:
-----------
[SPIR-V] Update type inference and instruction selection (#88254)
This PR contains a series of fixes which are to improve type inference
and instruction selection.
Namely, it includes:
* fix OpSelect to support operands of a pointer type, according to the
SPIR-V specification (previously only integer/float/vectors of integer
or float were supported) -- a new test case is added and existing test
case is updated;
* fix TableGen typo's in definition of register classes and introduce a
new reg class that is a vector of pointers;
* fix usage of a machine function context when there is a need to switch
between different machine functions to infer/validate correct types;
* add usage of TypedPointerType instead of PointerType so that later
stages of type inference are able to distinguish pointer types by their
element types, effectively supporting hierarchy of pointer/pointee types
and avoiding more complicated recursive type matching on level of
machine instructions in favor of direct pointer comparison using LLVM's
`Type *` values;
* extracting detailed information about operand types using known type
rules for some llvm instructions (for instance, by deducing PHI's
operand pointee types if PHI's results type was deducted on previous
stages of type inference), and adding correspondent
`Intrinsic::spv_assign_ptr_type` to keep type info along consequent
passes,
* ensure that OpConstantComposite reuses a constant when it's already
created and available in the same machine function -- otherwise there is
a crash while building a dependency graph, the corresponding test case
is attached,
* implement deduction of function's return type for opaque pointers, a
new test case is attached,
* make 'emit intrinsics' a module pass to resolve function return types
over the module -- first types for all functions of the module must be
calculated, and only after that it's feasible to deduct function return
types on this earlier stage of translation.
Commit: f7bf11cd8db29a178463f2a12b9f1589ecab64e2
https://github.com/llvm/llvm-project/commit/f7bf11cd8db29a178463f2a12b9f1589ecab64e2
Author: wanglei <wanglei at loongson.cn>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
A llvm/test/CodeGen/LoongArch/gep-imm.ll
Log Message:
-----------
[LoongArch] Pre-commit test for #88694. NFC
Commit: 06714e1bfe8999c0acb5c9b94b60690f7b9d2904
https://github.com/llvm/llvm-project/commit/06714e1bfe8999c0acb5c9b94b60690f7b9d2904
Author: Ramkumar Ramachandra <ram.ramachandra at arm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/test/tools/llvm-readobj/ELF/ARM/attribute-big-endian.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
llvm-readobj/ARM: activate big-endian attribute printing (#87806)
Activate attribute printing for big-endian encoding for ARM. The
supporting code already exists, and the patch is trivial.
Fixes #62400.
Commit: 5fe146672d2b1c9f257a6ee045e0bc13fed1e504
https://github.com/llvm/llvm-project/commit/5fe146672d2b1c9f257a6ee045e0bc13fed1e504
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
A llvm/test/Transforms/InstCombine/switch-select.ll
Log Message:
-----------
[InstCombine] Simplify switch with selects (#84143)
An example from https://github.com/image-rs/image:
```
define void @test_ult_rhsc(i8 %x) {
%val = add nsw i8 %x, -2
%cmp = icmp ult i8 %val, 11
%cond = select i1 %cmp, i8 %val, i8 6
switch i8 %cond, label %bb1 [
i8 0, label %bb2
i8 10, label %bb3
]
bb1:
call void @func1()
unreachable
bb2:
call void @func2()
unreachable
bb3:
call void @func3()
unreachable
}
```
When `%cmp` evaluates to false, we can prove that the range of `%val` is
[11, umax]. Thus we can safely replace `%cond` with `%val` since both
`switch 6` and `switch %val` go to the default dest `%bb1`.
Alive2: https://alive2.llvm.org/ce/z/uSTj6w
Godbolt: https://godbolt.org/z/MGrG84bzr
This patch will benefit many rust applications and some C/C++
applications (e.g., cvc5).
Commit: 28d28d58bedf413671859b959b7ba06bccc5066d
https://github.com/llvm/llvm-project/commit/28d28d58bedf413671859b959b7ba06bccc5066d
Author: David Green <david.green at arm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/lrint-conv-fp16.ll
M llvm/test/CodeGen/AArch64/lrint-conv.ll
M llvm/test/CodeGen/AArch64/vector-lrint.ll
Log Message:
-----------
[AArch64][GlobalISel] Extend scalar lrint legalization. (#88360)
This extends the legalization of lrint, adding libcall support for
fp128. The old vector legal types were removed as they were not being
properly handled (vector lrint is a fairly new concept as far as I
understand). They can be re-added properly in a followup.
Commit: 36230f90eef455b6af867ca7ad4ed25d00ad5d3b
https://github.com/llvm/llvm-project/commit/36230f90eef455b6af867ca7ad4ed25d00ad5d3b
Author: fengfeng <153487255+fengfeng09 at users.noreply.github.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
A llvm/test/CodeGen/X86/propagate-disjoint-in-shl-or.ll
Log Message:
-----------
[SelectionDAG] Propagate Disjoint flag. (#88370)
Signed-off-by: feng.feng <feng.feng at iluvatar.com>
Commit: 2347020e4ce62ee7c7378824dc6ad2b94917a638
https://github.com/llvm/llvm-project/commit/2347020e4ce62ee7c7378824dc6ad2b94917a638
Author: Dávid Ferenc Szabó <30732159+dfszabo at users.noreply.github.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
Log Message:
-----------
[GlobalISel] Fix fewerElementsVectorPhi to insert after G_PHIs (#87927)
Currently the inserted mergelike instructions will be inserted at the
location of the G_PHI. Seems like the behaviour was correct before, but
the rework done in https://reviews.llvm.org/D114198 forgot to include
the part which makes sure the instructions will be inserted after all
the G_PHIs.
Commit: aa2741449c3609b2ae244d8d3f3e14ad16de72e4
https://github.com/llvm/llvm-project/commit/aa2741449c3609b2ae244d8d3f3e14ad16de72e4
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGenCXX/module-funcs-from-imports.cppm
Log Message:
-----------
Revert "[C++20] [Modules] Don't import non-inline function bodies even if it is marked as always_inline"
This reverts commit 1ecbab56dcbb78268c8d19af34a50591f90b12a0.
See the discussion in https://github.com/llvm/llvm-project/issues/86893.
The original commit receives too many complaints. Let's try to
workaround the issue to give better user experiences.
Commit: 7740e933c41f07444ead12fd0417c5e53c6a4c1a
https://github.com/llvm/llvm-project/commit/7740e933c41f07444ead12fd0417c5e53c6a4c1a
Author: abidh <haqadeer at amd.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CLOptions.inc
R flang/lib/Optimizer/Transforms/AddDebugFoundation.cpp
A flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Transforms/debug-line-table-existing.fir
M flang/test/Transforms/debug-line-table-inc-file.fir
M flang/test/Transforms/debug-line-table-inc-same-file.fir
M flang/test/Transforms/debug-line-table.fir
Log Message:
-----------
[flang] Rename AddDebugFoundation to AddDebugInfo (NFC) (#88526)
As discussed in PR 86939, this PR renames the pass and updates the
references. The actual changes for debug info will come in separate PRs.
Commit: 8ddaf750746d7f9b5f7e878870b086edc0f55326
https://github.com/llvm/llvm-project/commit/8ddaf750746d7f9b5f7e878870b086edc0f55326
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
Fix rsqrt inaccuracies. (#88691)
The current lowering has issues with large/subnormal values. This ports
XLA's lowering and was verified using XLA's test suite and the
MLIR-based emitters.
Commit: f2923e31b64907df44ae641114228ad6e283627f
https://github.com/llvm/llvm-project/commit/f2923e31b64907df44ae641114228ad6e283627f
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPInterfaces.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
Log Message:
-----------
[MLIR][OpenMP] Introduce the LoopWrapperInterface (#87232)
This patch defines a common interface to be shared by all OpenMP loop
wrapper operations. The main restrictions these operations must meet in
order to be considered a wrapper are:
- They contain a single region.
- Their region contains a single block.
- Their block only contains another loop wrapper or `omp.loop_nest` and
a terminator.
The new interface is attached to the `omp.parallel`, `omp.wsloop`,
`omp.simdloop`, `omp.distribute` and `omp.taskloop` operations. It is
not currently enforced that these operations meet the wrapper
restrictions, which would break existing OpenMP loop-generating code.
Rather, this will be introduced progressively in subsequent patches.
Commit: c7bd284dc3ff21a5a14b4ccbbfa1988de8723c33
https://github.com/llvm/llvm-project/commit/c7bd284dc3ff21a5a14b4ccbbfa1988de8723c33
Author: shamithoke <152091883+shamithoke at users.noreply.github.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bitreverse.ll
M llvm/test/CodeGen/X86/vector-bitreverse.ll
Log Message:
-----------
Support for i8/i16 for bitreverse using GFNI. (#88625)
In continuation to the PR #81764, this change extends the GFNI support to i8 and i16.
---------
Co-authored-by: shami <shami_thoke at yahoo.com>
Commit: b4e7b56403387630d4c390ea4f53921312326e34
https://github.com/llvm/llvm-project/commit/b4e7b56403387630d4c390ea4f53921312326e34
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
Revert "Fix rsqrt inaccuracies." (#88705)
Reverts llvm/llvm-project#88691
Commit: 45137766ca6be16b9bc6082eb9bedae7bc621437
https://github.com/llvm/llvm-project/commit/45137766ca6be16b9bc6082eb9bedae7bc621437
Author: Victor Campos <victor.campos at arm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/ARM/Thumb2InstrInfo.cpp
M llvm/lib/Target/ARM/Thumb2InstrInfo.h
A llvm/test/CodeGen/ARM/misched-branch-targets.mir
Log Message:
-----------
[ARM][Thumb2] Mark BTI-clearing instructions as scheduling region boundaries (#87982)
Following https://github.com/llvm/llvm-project/pull/68313 this patch
extends the idea to M-profile PACBTI.
The Machine Scheduler can reorder instructions within a scheduling
region depending on the scheduling policy set. If a BTI-clearing
instruction happens to partake in one such region, it might be moved
around, therefore ending up where it shouldn't.
The solution is to mark all BTI-clearing instructions as scheduling
region boundaries. This essentially means that they must not be part of
any scheduling region, and as consequence never get moved:
- PAC
- PACBTI
- BTI
- SG
Note that PAC isn't BTI-clearing, but it's replaced by PACBTI late in
the compilation pipeline.
As far as I know, currently it isn't possible to organically obtain code
that's susceptible to the bug:
- Instructions that write to SP are region boundaries. PAC seems to
always be followed by the pushing of r12 to the stack, so essentially
PAC is always by itself in a scheduling region.
- CALL_BTI is expanded into a machine instruction bundle. Bundles are
unpacked only after the last machine scheduler run. Thus setjmp and BTI
can be separated only if someone deliberately run the scheduler once
more.
- The BTI insertion pass is run late in the pipeline, only after the
last machine scheduling has run. So once again it can be reordered only
if someone deliberately runs the scheduler again.
Nevertheless, one can reasonably argue that we should prevent the bug in
spite of the compiler not being able to produce the required conditions
for it. If things change, the compiler will be robust against this
issue.
The tests written for this are contrived: bogus MIR instructions have
been added adjacent to the BTI-clearing instructions in order to have
them inside non-trivial scheduling regions.
Commit: 0822780b7ffa552b351364be350a997a47f22250
https://github.com/llvm/llvm-project/commit/0822780b7ffa552b351364be350a997a47f22250
Author: wanglei <wanglei at loongson.cn>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/test/CodeGen/LoongArch/gep-imm.ll
Log Message:
-----------
[LoongArch] Fix incorrect logic in isLegalAddressingMode() (#88694)
This will adress issue:
https://github.com/ClangBuiltLinux/linux/issues/2014
Commit: 33e60f358cc0c564e771c0234dd8a60f3bddce5d
https://github.com/llvm/llvm-project/commit/33e60f358cc0c564e771c0234dd8a60f3bddce5d
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
M mlir/test/Integration/Dialect/Complex/CPU/correctness.mlir
Log Message:
-----------
Fix rsqrt inaccuracies. (#88707)
The current lowering has issues with large/subnormal values. This po
XLA's lowering and was verified using XLA's test suite and the
MLIR-based emitters.
This updates https://github.com/llvm/llvm-project/pull/88691 to also
update the correctness test for rsqrt(0). I checked C++ and Python, they
both agree the result should be (inf, nan). Updated the correctness test
to match this.
Commit: 5b95c9e0cad189cc609c31029f6bc3a89bc7b612
https://github.com/llvm/llvm-project/commit/5b95c9e0cad189cc609c31029f6bc3a89bc7b612
Author: Markus Böck <markus.boeck02 at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M mlir/docs/DefiningDialects/Operations.md
M mlir/include/mlir/IR/OpDefinition.h
M mlir/test/lib/Dialect/Test/TestDialect.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/mlir-tblgen/op-format.mlir
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[mlir][ODS] Make `prop-dict` behave closer to `attr-dict` (#88659)
`attr-dict` currently prints any attribute (inherent or discardable)
that does not occur elsewhere in the assembly format. `prop-dict` on the
other hand, always prints and parses all properties (including inherent
attributes stored as properties) as part of the property dictionary,
regardless of whether the properties or attributes are used elsewhere.
(with the exception of default-valued attributes implemented recently in
https://github.com/llvm/llvm-project/pull/87970).
This PR changes the behavior of `prop-dict` to only print and parse
attributes and properties that do not occur elsewhere in the assembly
format. This is achieved by 1) adding used attributes and properties to
the elision list when printing and 2) using a custom version of
`setPropertiesFromAttr` called `setPropertiesFromParsedAttr` that is
sensitive to the assembly format and auto-generated by ODS.
The current and new behavior of `prop-dict` and `attr-dict` were also
documented.
Happens to also fix https://github.com/llvm/llvm-project/issues/88506
Commit: 7dbba39e583a3fd64e7e6b947251c035e483f054
https://github.com/llvm/llvm-project/commit/7dbba39e583a3fd64e7e6b947251c035e483f054
Author: Julian Nagele <j.nagele at apple.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/Verifier.h
M llvm/lib/IR/Verifier.cpp
M llvm/test/CodeGen/AArch64/arm64-abi_align.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/mem-intrinsics.ll
M llvm/test/Transforms/InstCombine/struct-assign-tbaa.ll
M llvm/test/Transforms/SROA/tbaa-struct3.ll
M llvm/test/Transforms/Scalarizer/basic-inseltpoison.ll
M llvm/test/Transforms/Scalarizer/basic.ll
M llvm/test/Verifier/tbaa-struct.ll
Log Message:
-----------
Reapply "[TBAA] Add verifier for tbaa.struct metadata (#86709)"
This reverts commit b9cd48f96acdd07c627ccafbf4386a1f3dcd6c51.
-------------------------------------------------------------
Original commit message:
Adds logic to the IR verifier that checks whether !tbaa.struct nodes are
well-formed. That is, it checks that the operands of !tbaa.struct nodes
are in groups of three, that each group of three operands consists of
two integers and a valid tbaa node, and that the regions described by
the offset and size operands are non-overlapping.
PR: https://github.com/llvm/llvm-project/pull/86709
Commit: c006b9088fa564fe343550a8dd5f9b0ad0c15b75
https://github.com/llvm/llvm-project/commit/c006b9088fa564fe343550a8dd5f9b0ad0c15b75
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Add test for dump of recipe not inserted in VPlan. (NFC)
Add extra tests for printing recipes not inserted in a VPlan yet, e.g.
when using a debugger.
Guard against regressions in changes to printing, i.e.
https://github.com/llvm/llvm-project/pull/81411.
Commit: e060cb26d9b503ea5138909ec5c7099e7d4499c2
https://github.com/llvm/llvm-project/commit/e060cb26d9b503ea5138909ec5c7099e7d4499c2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Add isCompletePermute helper for single input shuffles where we don't lose/reuse any vector element. NFC
Matches purely reorder shuffles.
Commit: 4859a593f4016f0a78e2fadf21722e370560c5e9
https://github.com/llvm/llvm-project/commit/4859a593f4016f0a78e2fadf21722e370560c5e9
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Extend recipe printing tests with underlying IR values. (NFC)
Make tests added in c006b9088fa56 more interesting by using an
underlying IR value as well.
Commit: f78b3466caa9296b32ec235dee87ace2dea94507
https://github.com/llvm/llvm-project/commit/f78b3466caa9296b32ec235dee87ace2dea94507
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/CodeGen/AMDGPU/fold-fabs.ll
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
ValueTracking: Treat poison more aggressively in computeKnownFPClass (#87990)
Assume no valid values, and the sign bit is 0.
Commit: 6acc50ae5b5971af563a0f40b5f0279870171541
https://github.com/llvm/llvm-project/commit/6acc50ae5b5971af563a0f40b5f0279870171541
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/unittests/CodeGen/AArch64SelectionDAGTest.cpp
Log Message:
-----------
Fix typo in computeKnownBits_AVGFLOORU_AVGFLOORS_AVGCEILU_AVGCEILS.
ISD::AVGFLOORU -> ISD::AVGFLOORS
Commit: 14774ad59da4aaa8eb3da21c8c53b59834a1aeb7
https://github.com/llvm/llvm-project/commit/14774ad59da4aaa8eb3da21c8c53b59834a1aeb7
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Remove unused function (NFC)
llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp:3537:13:
error: unused function 'isAnyZeroOrUndef' [-Werror,-Wunused-function]
static bool isAnyZeroOrUndef(ArrayRef<int> Mask) {
^
1 error generated.
Commit: 9da0ef165efd91b862b8c3cff1604472476839d6
https://github.com/llvm/llvm-project/commit/9da0ef165efd91b862b8c3cff1604472476839d6
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
Fix complex tanh overflows. (#88708)
This ports the XLA lowering and was verified using XLA's
exhaustive_unary_test_complex test.
Commit: d48ebac0389ba75defce5bd83d8539d51008b28d
https://github.com/llvm/llvm-project/commit/d48ebac0389ba75defce5bd83d8539d51008b28d
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-imm.ll
Log Message:
-----------
[LLVM][SVE][CodeGen] Fix incorrect isel for signed saturating instructions. (#88136)
The immediate forms of SQADD and SQSUB interpret their immediate
operand as unsigned and thus effectively only support positive
immediate operands.
The original code is only wrong for the i8 cases because they
previously accepted all values, however, the new patterns enable more
uses and this I've added tests for the larger element types as well.
Commit: 6254b6dd892728306ddfe657f10eb43a3799864d
https://github.com/llvm/llvm-project/commit/6254b6dd892728306ddfe657f10eb43a3799864d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[VPlan] Version VPValue names in VPSlotTracker. (#81411)
This patch restructures the way names for printing VPValues are handled.
It moves the logic to generate names for printing to VPSlotTracker.
VPSlotTracker will now version names of the same underlying value if it
is used by multiple VPValues, by adding a .V suffix to the name.
This fixes cases where at the moment the same name is printed for
different VPValues.
PR: https://github.com/llvm/llvm-project/pull/81411
Commit: 8095b9ce6bf5831a14c72028920708f38d13d0c3
https://github.com/llvm/llvm-project/commit/8095b9ce6bf5831a14c72028920708f38d13d0c3
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
M clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
Log Message:
-----------
[clang analysis] ExprMutationAnalyzer avoid infinite recursion for recursive forwarding reference (#87954)
Commit: 673da8c83413c4d1e7e76e1b52a2924e837e7221
https://github.com/llvm/llvm-project/commit/673da8c83413c4d1e7e76e1b52a2924e837e7221
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve2-intrinsics-while.ll
Log Message:
-----------
[LLVM][CodeGen][AArch64] Remove bogus lowering of sve_while{gt/ge/hi/hs} intrinsics. (#88126)
When fed constant operands we try to lower WHILE intrinsics to PTRUE
using a fixed length pattern. This is not valid for the decrementing
variants of WHILE because they construct their result predicate vector
by traversing from high->low lanes whereas the incrementing variants and
PTRUE traverse from low->high lanes.
Whilst we can still utilise PTRUE by reversing its result I figure
replacing a single WHILE with multiple SVE instructions is likely
counterproductive.
Commit: 7b039c0cf0045d81da7e1575232a46266cff1e88
https://github.com/llvm/llvm-project/commit/7b039c0cf0045d81da7e1575232a46266cff1e88
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
A llvm/test/Bitcode/dbg-label-record-bc.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Fix error from not tracking seen debug labels (#88718)
Fixes the reported errors on:
https://github.com/llvm/llvm-project/pull/87379
A previous patch updated the bitcode reading for debug
intrinsics/records to not perform the expensive debug info format
conversion from records to intrinsics in cases where no records were
present, but the patch did not actually track when debug labels had been
seen, resulting in errors when parsing bitcode where functions contained
debug label records but no other debug records. This patch fixes that
case and adds a test for it.
Commit: 58d4470fa49443da1477a7d2e43685e91bbd6630
https://github.com/llvm/llvm-project/commit/58d4470fa49443da1477a7d2e43685e91bbd6630
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Remove scaleVectorShuffleBlendMask and use APIntOps::ScaleBitMask directly.
Commit: 7089c359a3845323f6f30c44a47dd901f2edfe63
https://github.com/llvm/llvm-project/commit/7089c359a3845323f6f30c44a47dd901f2edfe63
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
Log Message:
-----------
[LLVM][SelectionDAG] Allow verification of target ISD nodes. (#88121)
Patch includes an initial implementation for AArch64 that covers a
handful of nodes where I've observed bogus nodes within the DAG.
Commit: 2e0e3b0f10b5c433504e31ca73e55f86e0b27660
https://github.com/llvm/llvm-project/commit/2e0e3b0f10b5c433504e31ca73e55f86e0b27660
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
Log Message:
-----------
[RISCV] Split single width convert to FP pseudos by SEW
Commit: 60a1158f31bb99a5d049d5cac5a704d906a1277e
https://github.com/llvm/llvm-project/commit/60a1158f31bb99a5d049d5cac5a704d906a1277e
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
Log Message:
-----------
[RISCV] Split Widening convert to FP pseudos by SEW
Commit: 469493f55639a5cce2fc69300222be609fcc5238
https://github.com/llvm/llvm-project/commit/469493f55639a5cce2fc69300222be609fcc5238
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
Log Message:
-----------
[RISCV] Split narrowing convert to FP pseudos by SEW
Commit: 1b310c45e914f0a76fa594bebdff44e7a386d4f9
https://github.com/llvm/llvm-project/commit/1b310c45e914f0a76fa594bebdff44e7a386d4f9
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
Log Message:
-----------
[RISCV] Split PseudoVFMIN, PseudoVFMAX PseudoVFSGNJ, PseudoVFSGNJN, and PseudoVFSGNJX by SEW
Commit: 17cb8a537b688ac6e4187f28f9e784491bb8abc5
https://github.com/llvm/llvm-project/commit/17cb8a537b688ac6e4187f28f9e784491bb8abc5
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Lower/OpenMP/Todo/reduction-modifiers.f90
A flang/test/Parser/OpenMP/reduction-modifier.f90
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
Log Message:
-----------
[Flang][OpenMP] Accept the reduction modifier (#86492)
Accept the reduction modifier in the Flang parser. Issue a TODO message
during lowering.
OpenMP 5.0 introduced the reduction modifier. Details can be seen in
2.19.5.4 reductionClause.
OpenMP 5.2 relevant section is 5.5.8reductionClause.
This will help remove some of the parser errors highlighted in the
following post and also bring it to a well defined behaviour (produce
TODO errors for unsupported features, do not crash).
https://discourse.llvm.org/t/proposal-rename-flang-new-to-flang/69462/60
Commit: 67e733d36ef0c5ec9fab899ecf9f191d83c7d418
https://github.com/llvm/llvm-project/commit/67e733d36ef0c5ec9fab899ecf9f191d83c7d418
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M bolt/lib/Core/Relocation.cpp
Log Message:
-----------
[BOLT][NFC] Refactor relocation printing (#88180)
Some refactoring.
* Make the arrays themselves const -- not just the strings being pointed to.
* Move each relocation array to the case using it.
* Add a suitable assert, to make sure there's no out-of-bounds indexing.
Commit: 105dcc882cf0152baeaa02ac0e50e2527b6940db
https://github.com/llvm/llvm-project/commit/105dcc882cf0152baeaa02ac0e50e2527b6940db
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/test/CodeGenHLSL/builtins/any.hlsl
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/any.ll
Log Message:
-----------
[HLSL][SPIRV] Add any intrinsic lowering (#88325)
- `CGBuiltin.cpp` - Switch to using
`CGM.getHLSLRuntime().get##NAME##Intrinsic()`
- `CGHLSLRuntime.h` - Add any to backend intrinsic abstraction
- `IntrinsicsSPIRV.td` - Add any intrinsic to SPIR-V.
- `SPIRVInstructionSelector.cpp` - Add means of selecting any intrinsic.
Any and All share the same behavior up to the opCode. They are only
different in vector cases.
Completes #88045
Commit: 32cb3c55080eec70abf282fbe75e6a58cf76f92a
https://github.com/llvm/llvm-project/commit/32cb3c55080eec70abf282fbe75e6a58cf76f92a
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
A llvm/include/llvm/CodeGen/LiveDebugVariables.h
M llvm/lib/CodeGen/LiveDebugVariables.cpp
R llvm/lib/CodeGen/LiveDebugVariables.h
M llvm/lib/CodeGen/RegAllocBasic.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/VirtRegMap.cpp
Log Message:
-----------
[NFC][LLVM][CodeGen] Move LiveDebugVariables.h into llvm/include/llvm/CodeGen (#88374)
This patch make `LiveDebugVariables` can be used by passes outside of
`lib/CodeGen`.
If we run a pass that occurs between the split register allocation pass
without preserving this pass, it will be freed and recomputed until it
encounters the next pass that needs LiveDebugVariables.
However, `LiveDebugVariables` will raise an assertion due to the pass
being freed without emitting a debug value.
This is reason we need `LiveDebugVariables` to be available for passes
outside of lib/Codegen.
Commit: c3d58867bd3da85958dbbb46c4a22c0d3c60af66
https://github.com/llvm/llvm-project/commit/c3d58867bd3da85958dbbb46c4a22c0d3c60af66
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.h
A llvm/lib/Target/AArch64/AArch64PostCoalescerPass.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/CMakeLists.txt
M llvm/test/CodeGen/AArch64/O3-pipeline.ll
M llvm/test/CodeGen/AArch64/sme-avoid-coalescing-locally-streaming.ll
M llvm/test/CodeGen/AArch64/sme-call-streaming-compatible-to-normal-fn-wihout-sme-attr.ll
M llvm/test/CodeGen/AArch64/sme-disable-gisel-fisel.ll
M llvm/test/CodeGen/AArch64/sme-pstate-sm-changing-call-disable-coalescing.ll
M llvm/test/CodeGen/AArch64/sme-streaming-body-streaming-compatible-interface.ll
M llvm/test/CodeGen/AArch64/sme-streaming-body.ll
M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
M llvm/test/CodeGen/AArch64/sme-streaming-interface.ll
M llvm/test/CodeGen/AArch64/sme-streaming-mode-changing-call-disable-stackslot-scavenging.ll
Log Message:
-----------
[AArch64][SME] Create new pass to remove COALESCER_BARRIER early. (#85386)
The purpose of the COALESCER_BARRIER pseudo node is to prevent the
register coalescer from coalescing certain COPY instructions around
smstart/smstop instructions, so that we spill only the (required) FPR
register rather than the encompassing ZPR register.
The pseudos are removed in the AArch64ExpandPseudo pass. However,
because the node itself is a _use_ of a register, this occassionally
leads to redundant spills/fills, because the register allocator thinks
the virtual register is actually used before an smstart/smstop
instruction, causing it to be filled, at which points it requires
immediate spilling again to ensure it stays live over the smstart/smstop
instruction.
We can avoid that by removing the pseudo nodes right after coalescing,
but before register allocation.
Commit: b68ff060ab70c44fb617e34451003f34ff062d2b
https://github.com/llvm/llvm-project/commit/b68ff060ab70c44fb617e34451003f34ff062d2b
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryData.h
M bolt/lib/Core/BinaryData.cpp
Log Message:
-----------
[BOLT][NFC] Remove unused BinaryData::hasNameRegex (#88618)
Commit: a3ce29f7bb5510131971ac5ccc63132dd48c8dd2
https://github.com/llvm/llvm-project/commit/a3ce29f7bb5510131971ac5ccc63132dd48c8dd2
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/pstl_backends/cpu_backend.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/any_of.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/backend.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/fill.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/find_if.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/for_each.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/libdispatch.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/merge.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/serial.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/stable_sort.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/thread.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/transform.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/transform_reduce.h
A libcxx/include/__pstl/cpu_algos/cpu_traits.h
M libcxx/include/module.modulemap
M libcxx/src/pstl/libdispatch.cpp
M libcxx/test/libcxx/algorithms/pstl.libdispatch.chunk_partitions.pass.cpp
M libcxx/utils/generate_iwyu_mapping.py
Log Message:
-----------
[libc++][PSTL] Introduce cpu traits (#88134)
Currently, CPU backends in the PSTL are created by defining functions
in the __par_backend namespace. Then, the PSTL includes the CPU backend
that gets configured via CMake and gets those definitions.
This prevents CPU backends from easily co-existing and is a bit
confusing.
To solve this problem, this patch introduces the notion of __cpu_traits,
which is a cheap encapsulation of the basis operations required to
implement a CPU-based PSTL. Different backends can now define their own
tag and coexist, and the CPU-based PSTL will simply use __cpu_traits to
dispatch to the right implementation of e.g. __for_each.
Note that this patch doesn't change the actual implementation of the
backends in any way, it only modifies how that implementation is
accessed
to implement PSTL algorithms.
This patch is a step towards #88131.
Commit: 7e4c6e98fa05f5c3bf14f96365ae74a8d12c6257
https://github.com/llvm/llvm-project/commit/7e4c6e98fa05f5c3bf14f96365ae74a8d12c6257
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/test/CodeGen/SystemZ/knownbits-intrinsics-binop.ll
Log Message:
-----------
[SystemZ] Bugfix in getDemandedSrcElements(). (#88623)
For the intrinsic s390_vperm, all of the elements are demanded, so use
an APInt with the value of '-1' for them (not '1').
Fixes https://github.com/llvm/llvm-project/issues/88397
Commit: a2691959cd23de9505243e9396897a3415606689
https://github.com/llvm/llvm-project/commit/a2691959cd23de9505243e9396897a3415606689
Author: whisperity <whisperity at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/linuxkernel/MustCheckErrsCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/linuxkernel/must-check-errs.rst
R clang-tools-extra/docs/clang-tidy/checks/linuxkernel/must-use-errs.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
Log Message:
-----------
[clang-tidy][NFC] Fix `linuxkernel-must-check-errs` documentation file name (#88655)
The check was originally introduced in commit
fc8c65b2e11d21b1c0ce070cc0a4ee031a542dae with conflicting names, likely as a
result of a partial rename, with the name in the documentation
(`linuxkernel-must-use-errs`) not matching the name of the check as configured
by users.
Commit: a06073f91e7bbbb532e68bbf6b903c2f5051f4c2
https://github.com/llvm/llvm-project/commit/a06073f91e7bbbb532e68bbf6b903c2f5051f4c2
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__utility/is_pointer_in_range.h
A libcxx/include/__utility/is_valid_range.h
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap
A libcxx/test/libcxx/utilities/is_valid_range.pass.cpp
Log Message:
-----------
[libc++] Add a utility to check whether a range is valid (#87665)
In the future, this utility could be made to also work with iterators,
including bounded iterators. We could also query the ASAN runtime for
this information when it's around.
Commit: 7b9b28dbd2938877a94737e28b7eb9e3cdd82755
https://github.com/llvm/llvm-project/commit/7b9b28dbd2938877a94737e28b7eb9e3cdd82755
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[Clang] Refactor implementation of "Lifetime extension in range-based for loops" (#87930)
This PR remove `InMaterializeTemporaryObjectContext` , because it's
redundant, materialize non-cv void prvalue temporaries in discarded
expressions can only appear under lifetime-extension context.
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 8927ac865755d7e98411500a7a2da70e8a185cc2
https://github.com/llvm/llvm-project/commit/8927ac865755d7e98411500a7a2da70e8a185cc2
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M bolt/lib/Profile/BoltAddressTranslation.cpp
Log Message:
-----------
[BOLT] Fix a warning
This patch fixes:
bolt/lib/Profile/BoltAddressTranslation.cpp:380:37: error: operator
'<<' has lower precedence than '+'; '+' will be evaluated first
[-Werror,-Wshift-op-parentheses]
Commit: b4776b8d8ea742a46039002fac4c280e619ac48d
https://github.com/llvm/llvm-project/commit/b4776b8d8ea742a46039002fac4c280e619ac48d
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M libcxx/utils/ci/run-buildbot
M lldb/packages/Python/lldbsuite/test/lldbtest.py
Log Message:
-----------
[libc++][CI] Tests LLDB libc++ data formatters. (#88312)
This enables testing of the LLDB libc++ specific data formatters.
This is enabled in the bootstrap build since building LLDB requires
Clang and this
is quite expensive. Adding this test changes the build time from 31 to
34 minutes.
Commit: 1c63a3e0cdb3f02098f8ec525ca31a3b44d9d31b
https://github.com/llvm/llvm-project/commit/1c63a3e0cdb3f02098f8ec525ca31a3b44d9d31b
Author: mmoadeli <mahmoud.moadeli at codeplay.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
Log Message:
-----------
Resolve static analyser report on pointer dereferencing after null check (#88278)
- Resolve Static Analyzer Check Failure: Pointer Dereferencing After
Null Check.
- Minor naming and style improvement
Commit: 9abb1ffc5cb75465340cb604988d1e386415bd72
https://github.com/llvm/llvm-project/commit/9abb1ffc5cb75465340cb604988d1e386415bd72
Author: Valery Dmitriev <valery.n.dmitriev at intel.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/ext-int-reduced-not-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/gather-move-out-of-loop.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
Log Message:
-----------
[SLP][NFC] Add option to bypass early profitability check. (#88594)
The option intended primarily for LIT tests to suppress heuristic based
profitability check and proceed vectorization of a seemingly
unprofitable alternate operation pattern. This allows the vectorizer to
execute path that was the original intent of a test.
Commit: 55b6f17071d25b77fcdc910ca9b15f89305137e0
https://github.com/llvm/llvm-project/commit/55b6f17071d25b77fcdc910ca9b15f89305137e0
Author: Jeremy Kun <jkun at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/CMakeLists.txt
A mlir/include/mlir/Dialect/Polynomial/CMakeLists.txt
A mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
A mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
A mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.h
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialDialect.h
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialOps.h
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialTypes.h
M mlir/include/mlir/InitAllDialects.h
M mlir/lib/Dialect/CMakeLists.txt
A mlir/lib/Dialect/Polynomial/CMakeLists.txt
A mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt
A mlir/lib/Dialect/Polynomial/IR/Polynomial.cpp
A mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
A mlir/lib/Dialect/Polynomial/IR/PolynomialDialect.cpp
A mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
A mlir/test/Dialect/Polynomial/attributes.mlir
A mlir/test/Dialect/Polynomial/types.mlir
Log Message:
-----------
Add a polynomial dialect shell, attributes, and types (#72081)
RFC:
https://discourse.llvm.org/t/rfc-a-poly-dialect-for-polynomial-arithmetic/73891
This PR implements the minimal work needed to represent the polynomial
type such that it can be tested with `lit`.
In this PR:
- Dialect shell
- `Polynomial` data structure needed for folding
- Polynomial attributes (`PolynomialAttr` and `RingAttr` which store a polynomial)
- `polynomial.polynomial` type
- Basic lit tests
---------
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: f8d314f0ee5e750e1e47b47fb55d14f6d1e991e1
https://github.com/llvm/llvm-project/commit/f8d314f0ee5e750e1e47b47fb55d14f6d1e991e1
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M mlir/test/Dialect/Affine/value-bounds-op-interface-impl.mlir
M mlir/test/Dialect/Affine/value-bounds-reification.mlir
M mlir/test/Dialect/Tensor/value-bounds-op-interface-impl.mlir
M mlir/test/Dialect/Vector/test-scalable-bounds.mlir
M mlir/test/lib/Dialect/Affine/CMakeLists.txt
M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
M mlir/test/lib/Dialect/Test/CMakeLists.txt
M mlir/test/lib/Dialect/Test/TestDialect.cpp
M mlir/test/lib/Dialect/Test/TestDialect.h
M mlir/test/lib/Dialect/Test/TestOps.td
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[mlir][Interfaces][NFC] Add TableGen test op for value bounds tests (#88717)
This commit is a code cleanup. It defines the test ops the are used for
the `ValueBoundsOpInterface` tests in TableGen, along with proper
verifiers.
---------
Co-authored-by: Benjamin Maxwell <benjamin.maxwell at arm.com>
Commit: a34887550b7f2926ea335d4aedf8b72811f9c945
https://github.com/llvm/llvm-project/commit/a34887550b7f2926ea335d4aedf8b72811f9c945
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
A lldb/source/Plugins/Language/CPlusPlus/LibCxxProxyArray.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/TestDataFormatterLibcxxValarray.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/main.cpp
Log Message:
-----------
[LLDB][libc++] Adds valarray proxy data formatters. (#88613)
These proxies are returned by operator[](...). These proxies all
"behave" the same. They store a pointer to the data of the valarray they
are a proxy for and they have an internal array of indices. This
internal array is considered its contents.
Commit: 9dbb6e1978d3d2d61ef65c2dac1fd8add5a4c7a2
https://github.com/llvm/llvm-project/commit/9dbb6e1978d3d2d61ef65c2dac1fd8add5a4c7a2
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVAttributes.td
M mlir/include/mlir/Dialect/SPIRV/IR/TargetAndABI.h
M mlir/lib/Dialect/SPIRV/IR/TargetAndABI.cpp
M mlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp
M mlir/test/Conversion/GPUToSPIRV/entry-point.mlir
M mlir/test/lib/Dialect/SPIRV/TestEntryPointAbi.cpp
Log Message:
-----------
[mlir][spirv] Add target width to SPIR-V ABI (#88555)
There are execution modes need target width as their extra operands.
SignedZeroInfNanPreserve is one of them. This patch adds `target width`
as one of SPIR-V ABI attributes.
Commit: e09245b3b16fe78e30e79e92f8ce16d1edf7787b
https://github.com/llvm/llvm-project/commit/e09245b3b16fe78e30e79e92f8ce16d1edf7787b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/ProfileData/MemProf.cpp
Log Message:
-----------
[memprof] Fix typos in serializedSizeV0 and serializedSizeV2 (#88629)
The first field to serialize is the size of
IndexedMemProfRecord::AllocSites. It has nothing to do with
GlobalValue::GUID. This happens to work because of:
using GUID = uint64_t;
Commit: 51d85b7b107e9508b90cec274f3f122444fe7ee6
https://github.com/llvm/llvm-project/commit/51d85b7b107e9508b90cec274f3f122444fe7ee6
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/Support/Endian.h
M llvm/unittests/Support/EndianTest.cpp
Log Message:
-----------
[Support] Add llvm::support::endian::writeNext (#88685)
`writeNext` overloads increase the pointer argument like `readNext`.
Code like the following
```
endian::write32<ELFT::Endianness>(p, 42);
p += 4;
endian::write32<ELFT::Endianness>(p, 43);
p += 4;
```
can be simplified to:
```
endian::writeNext<uint32_t, ELFT::Endianness>(p, 42);
endian::writeNext<uint32_t, ELFT::Endianness>(p, 43);
```
Commit: 603fa4c6b9a540206ec6f6b2115274878b65bfbb
https://github.com/llvm/llvm-project/commit/603fa4c6b9a540206ec6f6b2115274878b65bfbb
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT][NFC] Be more obvious about selecting X86 (#88527)
Use `isX86()` rather than `!isAArch64() && !isRISCV()`, and similar.
Commit: bd7b170e97e314cb786dd33a750ef79412fc9682
https://github.com/llvm/llvm-project/commit/bd7b170e97e314cb786dd33a750ef79412fc9682
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT][NFC] Remove extraneous braces (#88620)
A small cleanup -- no braces needed here.
Commit: 9c970d5ecd6a85188cd2b0a941fcd4d60063ef81
https://github.com/llvm/llvm-project/commit/9c970d5ecd6a85188cd2b0a941fcd4d60063ef81
Author: Martin Storsjö <martin at martin.st>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lld/COFF/Chunks.cpp
A lld/test/COFF/autoimport-gc.s
Log Message:
-----------
[LLD] [COFF] Don't add pseudo relocs for dangling references (#88487)
When doing GC, we normally won't have dangling references, because such
a reference would keep the other section alive, keeping it from being
eliminated.
However, references within DWARF sections are ignored for the purposes
of GC (because otherwise, they would essentially keep everything alive,
defeating the point of the GC), see
c579a5b1d92a9bc2046d00ee2d427832e0f5ddec for more context.
Therefore, dangling relocations against discarded symbols are ignored
within DWARF sections (see maybeReportRelocationToDiscarded in
Chunks.cpp). Consequently, we also shouldn't create any pseudo
relocations for these cases, as we run into a null pointer dereference
when trying to generate the pseudo relocation info for it.
This fixes the downstream bug
https://github.com/mstorsjo/llvm-mingw/issues/418, fixing crashes on
combinations with -ffunction-sections, -fdata-sections,
-Wl,--gc-sections and debug info.
Commit: 64dc55835a1552dbe74eef79460094014edf659e
https://github.com/llvm/llvm-project/commit/64dc55835a1552dbe74eef79460094014edf659e
Author: David Tenty <daltenty at ibm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M libcxxabi/src/aix_state_tab_eh.inc
Log Message:
-----------
[NFC][libunwind][AIX] Add diagnostic push and TODO
clang treats the cast here as an error since 999d4f840777bf8de26d45947192aa0728edc0fb landed
with -Xextra -Werror. We believe this cast to be safe for the reasons noted in comment, but
we should do some further cleanup at some point.
Commit: 4d28d3f93bfee3cecbeb234d1ce306250e12e912
https://github.com/llvm/llvm-project/commit/4d28d3f93bfee3cecbeb234d1ce306250e12e912
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AMDGPU/umed3.ll
M llvm/test/CodeGen/ARM/usat.ll
Log Message:
-----------
[SDAG] Turn umin into smin if the saturation pattern is broken (#88505)
As we canonicalizes smin with non-negative operands into umin in the
middle-end, the saturation pattern will be broken.
This patch reverts the transform in DAGCombine to fix the regression on
ARM.
Fixes https://github.com/llvm/llvm-project/issues/85706.
Commit: b2f07a91192596a3584040208b7fac4f5ef0dd9c
https://github.com/llvm/llvm-project/commit/b2f07a91192596a3584040208b7fac4f5ef0dd9c
Author: Florian Mayer <fmayer at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
M clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
Log Message:
-----------
Revert "[clang analysis] ExprMutationAnalyzer avoid infinite recursion for recursive forwarding reference" (#88765)
Reverts llvm/llvm-project#87954
Broke sanitizer bots, e.g.
https://lab.llvm.org/buildbot/#/builders/239/builds/6587/steps/10/logs/stdio
Commit: b5b17bf613010b5ea900d2981365b9d2c846a20f
https://github.com/llvm/llvm-project/commit/b5b17bf613010b5ea900d2981365b9d2c846a20f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Fix assertion failure in `genShXAddAddShift` (#88757)
Fix assertion failure in our downstream CI
https://github.com/dtcxzyw/llvm-codegen-benchmark/issues/1.
Commit: 09c3bfe9b3eb47a2af0c10531b25f90cfb5fa9f4
https://github.com/llvm/llvm-project/commit/09c3bfe9b3eb47a2af0c10531b25f90cfb5fa9f4
Author: Leonard Chan <leonardchan at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/TypeMetadataUtils.h
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Analysis/TypeMetadataUtils.cpp
M llvm/test/ThinLTO/X86/devirt.ll
M llvm/test/Transforms/WholeProgramDevirt/Inputs/export.yaml
M llvm/test/Transforms/WholeProgramDevirt/branch-funnel.ll
M llvm/test/Transforms/WholeProgramDevirt/constant-arg.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl-check.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl-multiple-assumes.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl.ll
M llvm/test/Transforms/WholeProgramDevirt/pointer-vtable.ll
Log Message:
-----------
Reapply "[llvm] Teach whole program devirtualization about relative vtables"
This reverts commit 474f5efebed24547e76d022f0c5ffcc9db97ce6f.
Commit: b8b2f9902cb23af0811ec218a4f43226c0691510
https://github.com/llvm/llvm-project/commit/b8b2f9902cb23af0811ec218a4f43226c0691510
Author: Leonard Chan <leonardchan at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/TypeMetadataUtils.h
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers-bad.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers-gep.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers.ll
Log Message:
-----------
Reapply "[llvm] Teach GlobalDCE about dso_local_equivalent"
This reverts commit 1c604a9780fcfe92a99d539913553f0835b81de3.
Commit: 472ccf61a39387098ad3ed66c1353f82c7245ba3
https://github.com/llvm/llvm-project/commit/472ccf61a39387098ad3ed66c1353f82c7245ba3
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 61f1f1300254
Commit: c71be83638917f089f8f154525cc6d6f61591f21
https://github.com/llvm/llvm-project/commit/c71be83638917f089f8f154525cc6d6f61591f21
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port a06073f91e7b
Commit: 8969bf3ea670dfeafbac53624883dc5c7ce23f0c
https://github.com/llvm/llvm-project/commit/8969bf3ea670dfeafbac53624883dc5c7ce23f0c
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/Tooling/BUILD.gn
Log Message:
-----------
[gn build] Port a11a4324bb27
Commit: 2f720a1c65e0b9669e67d7c319d77d6c221d423d
https://github.com/llvm/llvm-project/commit/2f720a1c65e0b9669e67d7c319d77d6c221d423d
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port a3ce29f7bb55
Commit: 2601ce41d6139761a4267b7cc4add4fea499d172
https://github.com/llvm/llvm-project/commit/2601ce41d6139761a4267b7cc4add4fea499d172
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/Tooling/BUILD.gn
Log Message:
-----------
[gn build] Port c11976f525f3
Commit: 831515147c551f2c2dc7289d4bc0be2215e6b445
https://github.com/llvm/llvm-project/commit/831515147c551f2c2dc7289d4bc0be2215e6b445
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
Log Message:
-----------
[gn build] Port c3d58867bd3d
Commit: b570eb5e99567c92636279d014f376938fe4e79a
https://github.com/llvm/llvm-project/commit/b570eb5e99567c92636279d014f376938fe4e79a
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn
M llvm/utils/gn/secondary/clang/test/BUILD.gn
Log Message:
-----------
[gn build] Manually port 44de2bb
Commit: fa5fdfb126f9beeaa2f719930ef951d339f41e36
https://github.com/llvm/llvm-project/commit/fa5fdfb126f9beeaa2f719930ef951d339f41e36
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/LowerEmuTLS.cpp
Log Message:
-----------
[CodeGen] Remove extraneous ArrayRef (NFC) (#88601)
We don't need to create these instances of ArrayRef because
StructType::create and ConstantStruct::get take ArrayRef, and ArrayRef
can be implicitly constructed from C arrays.
Commit: e39c653dbab3b4fdc5118219c7b5179244d0e1b6
https://github.com/llvm/llvm-project/commit/e39c653dbab3b4fdc5118219c7b5179244d0e1b6
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn
Log Message:
-----------
[gn build] Port a34887550b7f
Commit: 1c5d5478f7f35d7f212fcbf2af042fc3c720e9ed
https://github.com/llvm/llvm-project/commit/1c5d5478f7f35d7f212fcbf2af042fc3c720e9ed
Author: Leonard Chan <leonardchan at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/TypeMetadataUtils.h
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers-bad.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers-gep.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers.ll
Log Message:
-----------
Revert "Reapply "[llvm] Teach GlobalDCE about dso_local_equivalent""
This reverts commit b8b2f9902cb23af0811ec218a4f43226c0691510.
This was failing on a local build.
Commit: c0b77e0a4a9bb090e5ad3a28adcd0aa98715cfe5
https://github.com/llvm/llvm-project/commit/c0b77e0a4a9bb090e5ad3a28adcd0aa98715cfe5
Author: Leonard Chan <leonardchan at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/TypeMetadataUtils.h
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Analysis/TypeMetadataUtils.cpp
M llvm/test/ThinLTO/X86/devirt.ll
M llvm/test/Transforms/WholeProgramDevirt/Inputs/export.yaml
M llvm/test/Transforms/WholeProgramDevirt/branch-funnel.ll
M llvm/test/Transforms/WholeProgramDevirt/constant-arg.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl-check.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl-multiple-assumes.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl.ll
M llvm/test/Transforms/WholeProgramDevirt/pointer-vtable.ll
Log Message:
-----------
Revert "Reapply "[llvm] Teach whole program devirtualization about relative vtables""
This reverts commit 09c3bfe9b3eb47a2af0c10531b25f90cfb5fa9f4.
Commit: b7b183371b54a2c4b5d2a39c594d3967a7384cb8
https://github.com/llvm/llvm-project/commit/b7b183371b54a2c4b5d2a39c594d3967a7384cb8
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Improve perf of BoUpSLP::buildExternalUses function, NFC.
Perform required operations, only when the result is required + check if
value was not inserted already into the list of the externally used
scalars and early exit, if it was.
Commit: 3eb097339e5fb78e91182674e891445ebe5a845b
https://github.com/llvm/llvm-project/commit/3eb097339e5fb78e91182674e891445ebe5a845b
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lld/MachO/ObjC.cpp
Log Message:
-----------
[lld/mac] Fix (adorable!) typo to cycle bots
Commit: 58c5f50f4c73945fdc5440dee2fba03267a460d4
https://github.com/llvm/llvm-project/commit/58c5f50f4c73945fdc5440dee2fba03267a460d4
Author: Leonard Chan <leonardchan at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/TypeMetadataUtils.h
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Analysis/TypeMetadataUtils.cpp
M llvm/test/ThinLTO/X86/devirt.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers-bad.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers-gep.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers.ll
M llvm/test/Transforms/WholeProgramDevirt/Inputs/export.yaml
M llvm/test/Transforms/WholeProgramDevirt/branch-funnel.ll
M llvm/test/Transforms/WholeProgramDevirt/constant-arg.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl-check.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl-multiple-assumes.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl.ll
M llvm/test/Transforms/WholeProgramDevirt/pointer-vtable.ll
Log Message:
-----------
Reapply "[llvm] Teach GlobalDCE about dso_local_equivalent"
Also reapply "[llvm] Teach whole program devirtualization about
relative vtables"
This reverts commit 1c604a9780fcfe92a99d539913553f0835b81de3 and
474f5efebed24547e76d022f0c5ffcc9db97ce6f.
Commit: 75bbf4dd7cfda744d4a2487cfd06a58194d02db3
https://github.com/llvm/llvm-project/commit/75bbf4dd7cfda744d4a2487cfd06a58194d02db3
Author: Job Henandez Lara <hj93 at protonmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/fenv_t.h
A libc/hdr/types/fexcept_t.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
M libc/src/__support/FPUtil/arm/FEnvImpl.h
M libc/src/__support/FPUtil/riscv/FEnvImpl.h
M libc/src/__support/FPUtil/x86_64/FEnvImpl.h
M libc/src/fenv/CMakeLists.txt
M libc/src/fenv/fegetenv.h
M libc/src/fenv/fegetexceptflag.cpp
M libc/src/fenv/feholdexcept.cpp
M libc/src/fenv/feholdexcept.h
M libc/src/fenv/fesetenv.h
M libc/src/fenv/fesetexceptflag.cpp
M libc/src/fenv/feupdateenv.h
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/FPExceptMatcher.cpp
M libc/test/src/fenv/exception_flags_test.cpp
M libc/test/src/fenv/feholdexcept_test.cpp
M libc/test/src/fenv/feupdateenv_test.cpp
M libc/test/src/fenv/getenv_and_setenv_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/fenv/BUILD.bazel
Log Message:
-----------
[libc] Add proxy headers for fenv types. (#88467)
Fixes #88187
Commit: 45339568486cafaa414a1e40d73a251f7d15e284
https://github.com/llvm/llvm-project/commit/45339568486cafaa414a1e40d73a251f7d15e284
Author: Yijia Gu <yijiagu at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir] add polynomial dialect in bazel BUILD
Commit: f9d761df50d12147fc7caa19927be81816d60e2d
https://github.com/llvm/llvm-project/commit/f9d761df50d12147fc7caa19927be81816d60e2d
Author: Justin Fargnoli <justinfargnoli at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/tools/llvm-dis-fuzzer/CMakeLists.txt
M llvm/tools/vfabi-demangle-fuzzer/vfabi-demangler-fuzzer.cpp
Log Message:
-----------
[tools] Fix `LLVM_USE_SANITIZE_COVERAGE` build (#87722)
Commit: c31a8104d1173d79f8b71518829046b441d98d59
https://github.com/llvm/llvm-project/commit/c31a8104d1173d79f8b71518829046b441d98d59
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts.ll
Log Message:
-----------
[RISCV] Add -mattr=+v to intrinsic-cttz-elts.ll. NFC
Commit: b153c05cba9be7f009b8ad8413c5840baf7d278c
https://github.com/llvm/llvm-project/commit/b153c05cba9be7f009b8ad8413c5840baf7d278c
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Transforms/Patterns.h
M mlir/include/mlir/Dialect/SCF/Transforms/Transforms.h
M mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
A mlir/lib/Dialect/SCF/Transforms/UpliftWhileToFor.cpp
A mlir/test/Dialect/SCF/uplift-while.mlir
M mlir/test/lib/Dialect/SCF/CMakeLists.txt
A mlir/test/lib/Dialect/SCF/TestUpliftWhileToFor.cpp
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[mlir][scf] Uplift `scf.while` to `scf.for` (#76108)
Add uplifting from `scf.while` to `scf.for`.
This uplifting expects a very specific ops pattern:
* `before` block consisting of single `arith.cmp` op
* `after` block containing `arith.addi`
We also have a set of patterns to cleanup `scf.while` loops to get them
close to the desired form, they will be added in separate PRs.
This is part of upstreaming `numba-mlir` scf uplifting pipeline: `cf ->
scf.while -> scf.for -> scf.parallel`
Original code:
https://github.com/numba/numba-mlir/blob/main/mlir/lib/Transforms/PromoteToParallel.cpp
Commit: 43b4e5b9bff1719a6d3628a3a805cfeb59adaf16
https://github.com/llvm/llvm-project/commit/43b4e5b9bff1719a6d3628a3a805cfeb59adaf16
Author: Utkarsh Saxena <usx at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGDecl.cpp
M clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
Log Message:
-----------
Use pushFullExprCleanup for deferred destroy (#88670)
Instead of directly pushing the `Destroy`, we should use
`pushFullExprCleanup` which handles conditional branches.
This fixes a backend crash due to
89ba7e183e6e2c64370ed1b963e54c06352211db.
Added minimized crash reproducer.
Commit: b03dc7d16251bf249b67e4db545353551727f646
https://github.com/llvm/llvm-project/commit/b03dc7d16251bf249b67e4db545353551727f646
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaOverload.cpp
M clang/test/CXX/over/over.built/ast.cpp
M clang/test/SemaCXX/overloaded-operator.cpp
Log Message:
-----------
[Clang] Properly set the value category of dependent unary operators (#88740)
This fixes an assertion in Expr::Classify when a
trying to deduce a dependent dereference operator.
Fixes #88329
Commit: 187c035c047616860d31fc399702538ad1f42755
https://github.com/llvm/llvm-project/commit/187c035c047616860d31fc399702538ad1f42755
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
Log Message:
-----------
[gn] port dfafe3822b1
Commit: 51bc8cdf7bbc98cd691fc480b333907e665b8eae
https://github.com/llvm/llvm-project/commit/51bc8cdf7bbc98cd691fc480b333907e665b8eae
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Add missing space to RISCVInstrInfoZvk.td. NFC
Commit: 52a88d3f5af6bed08a47f1c2351f320e0e1f4a88
https://github.com/llvm/llvm-project/commit/52a88d3f5af6bed08a47f1c2351f320e0e1f4a88
Author: Yijia Gu <yijiagu at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir] fix llvm:support dependency error
Commit: faad4e3fa81d10b91a9128ca84abfe381ac7c2e0
https://github.com/llvm/llvm-project/commit/faad4e3fa81d10b91a9128ca84abfe381ac7c2e0
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/host/CMakeLists.txt
Log Message:
-----------
[Libomptarget] Split PowerPC into separate triples (#88773)
Summary:
The previous patch mistakenly merged these when they indeed need to be
treated like separate triples because it's what's passed to the test
suite.
Commit: fb9c7dd6f1f3463b539d1f62f6ec7b5c7e061cf8
https://github.com/llvm/llvm-project/commit/fb9c7dd6f1f3463b539d1f62f6ec7b5c7e061cf8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Support/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Minor cleanups to RISCVISAInfo::parseArchString. NFC
Remove unneeded an unneeded variable and rename another.
Commit: 9e485f48228114ab6c34151503740ea15cddb351
https://github.com/llvm/llvm-project/commit/9e485f48228114ab6c34151503740ea15cddb351
Author: cmtice <cmtice at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
Log Message:
-----------
[DWARF] Add accessor for NameIndex Offsets field. (#88783)
Add an accessor function to DWARFDebugNames::NameIndex to allow other
classes to access the Offsets field within NameIndex. This will be used
by LLD to create a merged .debug_names index
(https://github.com/llvm/llvm-project/pull/86508)
Commit: 071ac0ae3029594167d2bb4d28859bdc36367034
https://github.com/llvm/llvm-project/commit/071ac0ae3029594167d2bb4d28859bdc36367034
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/unittests/tools/CMakeLists.txt
Log Message:
-----------
[lldb] Skip lldb-server unit tests when building with ASan
The lldb-server unit tests are timing out on GreenDragon and swift-ci.
We haven't been able to reproduce this locally or figure out why. We've
made several attempts to address potential issues, but we've reached a
point where we need to skip them to get signal out of this bot again.
Commit: 0287a5cc4e2a5ded1ae2e4079f91052e6a6b8d9b
https://github.com/llvm/llvm-project/commit/0287a5cc4e2a5ded1ae2e4079f91052e6a6b8d9b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/test/OpenMP/ompx_attributes_codegen.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[OpenMP] Remove 'minncta' attributes from NVPTX kernels (#88398)
Summary:
Currently we treat this attribute as a minimum number for the amount of
blocks scheduled on the kernel. However, the doucmentation states that
this applies to CTA's mapped onto a *single* SM. Currently we just set
it to the total number of blocks, which will almost always result in a
warning that the value is out of range and will be ignored. We don't
have a good way to automatically know how many CTAs can be put on a
single SM nor if we should do this, so we should probably leave this up
to users manually adding it.
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#performance-tuning-directives-minnctapersm
Commit: 7eb5022cbb11fdf5e74d707b4c93d3669a46eccf
https://github.com/llvm/llvm-project/commit/7eb5022cbb11fdf5e74d707b4c93d3669a46eccf
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/include/lldb/lldb-enumerations.h
Log Message:
-----------
[lldb][NFC] Turn ChildCacheState into an unscoped enum (#88703)
Done for consistency with the rest of the enums in
`lldb-enumerations.h`. See
https://github.com/llvm/llvm-project/pull/80167#issuecomment-2043721298
Commit: b8c16db938327efdabc63f21fdc770069ac4406b
https://github.com/llvm/llvm-project/commit/b8c16db938327efdabc63f21fdc770069ac4406b
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[lldb][TypeSystemClang][NFCI] Use LangOptions::setLangDefaults when creating new LangOptions (#88721)
This logic was originally copied from `CompilerInstance::parseLangArgs`.
Since then, the `CompilerInstance` uses `LangOptions::setLangDefaults`
to set up new `LangOptions` instances. In our case, we only ever passed
`Language::ObjCXX` into LLDB's `ParseLangArgs`, so most of this function
was dead code.
This patch replaces the duplicated logic with a call to
`LangOptions::setLangDefaults`.
Commit: 905d2ecbb63f4087b50d633b012c9915ab3a6829
https://github.com/llvm/llvm-project/commit/905d2ecbb63f4087b50d633b012c9915ab3a6829
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.h
Log Message:
-----------
[lldb][ClangExpressionDeclMap][NFC] Remove unused NameSearchContext::m_found_function (#88724)
This member was never actually used, ever since its introduction in
`ca4e0fd7e63b90e6f68044af47248c64f250ee8f`.
Commit: 69d861e1320119e9a02907155ca626b1db90ad93
https://github.com/llvm/llvm-project/commit/69d861e1320119e9a02907155ca626b1db90ad93
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
M clang/test/CodeGen/bitfield-access-unit.c
Log Message:
-----------
[clang] Move tailclipping to bitfield allocation (#87090)
Move bitfield access clipping to bitfield access computation.
Commit: c303945409a740c8fdb4103a4f21df55187aa84f
https://github.com/llvm/llvm-project/commit/c303945409a740c8fdb4103a4f21df55187aa84f
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn] port e356f68 more
Commit: a855eea7fe86ef09a87f6251b3b711b821ae32bf
https://github.com/llvm/llvm-project/commit/a855eea7fe86ef09a87f6251b3b711b821ae32bf
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/cmake/modules/LLDBFramework.cmake
Log Message:
-----------
[lldb] Fix the standalone Xcode build after #88317
In #88317, the clang resource headers was converted to an interface
library. Update LLDB and fix the Xcode standalone build. Thanks Evan for
the help!
Commit: 21d177096f84c38cf434c21bd3ff0dbd2ca163d0
https://github.com/llvm/llvm-project/commit/21d177096f84c38cf434c21bd3ff0dbd2ca163d0
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/LivePhysRegs.h
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
M llvm/lib/Target/PowerPC/PPCExpandAtomicPseudoInsts.cpp
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
Log Message:
-----------
[NFC] Refactor looping over recomputeLiveIns into function (#88040)
https://github.com/llvm/llvm-project/pull/79940 put calls to
recomputeLiveIns into
a loop, to repeatedly call the function until the computation converges.
However,
this repeats a lot of code. This changes moves the loop into a function
to simplify
the handling.
Note that this changes the order in which recomputeLiveIns is called.
For example,
```
bool anyChange = false;
do {
anyChange = recomputeLiveIns(*ExitMBB) || recomputeLiveIns(*LoopMBB);
} while (anyChange);
```
only begins to recompute the live-ins for LoopMBB after the computation
for ExitMBB
has converged. With this change, all basic blocks have a recomputation
of the live-ins
for each loop iteration. This can result in less or more calls,
depending on the
situation.
Commit: 67571ffd2c51a72a23d57fb5ef746a6fadd6b09c
https://github.com/llvm/llvm-project/commit/67571ffd2c51a72a23d57fb5ef746a6fadd6b09c
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Linux/mmap_56bit_test.c
Log Message:
-----------
[test][sanitizer] Compile .c file as C
Commit: a1ed652fb3589670180c08c2c6d5ef1ff337c658
https://github.com/llvm/llvm-project/commit/a1ed652fb3589670180c08c2c6d5ef1ff337c658
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Linux/mmap_56bit_test.c
Log Message:
-----------
[test][sanitizer] Temporarily disable test
Test, as expected, fails with Asan on system with 5lvl page tables.
Disabling the test to migrate buildbot.
Commit: 63310243537ba8830f3533a5d93e7b04b10d6c9e
https://github.com/llvm/llvm-project/commit/63310243537ba8830f3533a5d93e7b04b10d6c9e
Author: Argyrios Kyrtzidis <kyrtzidis at apple.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/test/ClangScanDeps/removed-args.c
Log Message:
-----------
[clang/DependencyScanning/ModuleDepCollector] Refactor part of `makeCommonInvocationForModuleBuild` into its own function (#88447)
The new function is about clearing out benign codegen options and can be
applied for PCH invocations as well.
Commit: 6d234638f90bd422078c93745bdee73d6de201bf
https://github.com/llvm/llvm-project/commit/6d234638f90bd422078c93745bdee73d6de201bf
Author: Fr4nk1in <sh.fu at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/docs/Dialects/LLVM.md
Log Message:
-----------
[docs][mlir] Fix broken links in 'llvm' dialects. (#88704)
Links to `llvm.mlir.global` and `llvm.mlir.addressof` in the ["Globals"
section of LLVM dialect
documentation](https://mlir.llvm.org/docs/Dialects/LLVM/#globals) are
broken.
Commit: 206acf72c3b6c23e77716ccfc55ff94a4e7a7e3e
https://github.com/llvm/llvm-project/commit/206acf72c3b6c23e77716ccfc55ff94a4e7a7e3e
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
M llvm/utils/gn/secondary/libcxxabi/src/BUILD.gn
Log Message:
-----------
[gn] port 8a7846fe86f95 (C++23 for libcxx, libcxxabi)
Commit: 466017c8dab74f66ce513c8752f0c1dcd16a8a63
https://github.com/llvm/llvm-project/commit/466017c8dab74f66ce513c8752f0c1dcd16a8a63
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/test/API/commands/frame/diagnose/dereference-function-return/TestDiagnoseDereferenceFunctionReturn.py
Log Message:
-----------
Work around test failure due to new aslr default
Commit: 9cb755cf5b2f48117fa34f257f386acf59ad6397
https://github.com/llvm/llvm-project/commit/9cb755cf5b2f48117fa34f257f386acf59ad6397
Author: Wu Yingcong <yingcong.wu at intel.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/x86-64/ELF_vtune.s
Log Message:
-----------
[Test][JITLink] Save rbx in ExecutionEngine/JITLink/x86-64/ELF_vtune.s (#86472)
The callee should preserve rbx according to the calling convention, but
it is not in the test case `ExecutionEngine/JITLink/x86-64/ELF_vtune.s`.
Not preserving the rbx register may result in some random error to the
caller function. This patch adds the missing command to preserve the
rbx.
Commit: c50f7e9a425bfa4ab8655c79a715c88ed3b1e830
https://github.com/llvm/llvm-project/commit/c50f7e9a425bfa4ab8655c79a715c88ed3b1e830
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
Log Message:
-----------
[InstCombine] Remove mul of SPF abs fold (#88675)
Remove the fold working on abs in SPF representation now that we
canonicalize SPF to intrinsics.
This is not strictly NFC because the SPF fold might fire for
non-canonical IR due to multi-use, but given the lack of test coverage,
I assume this is not important.
Commit: 2b06ff555aa32b316710b4708fbc16f36d6eab15
https://github.com/llvm/llvm-project/commit/2b06ff555aa32b316710b4708fbc16f36d6eab15
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
M llvm/test/CodeGen/RISCV/rv32zba.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Expand mul to shNadd x, (slli x, c) in DAGCombine (#88524)
This expansion is directly inspired by the analogous code in the x86
backend for LEA. shXadd and (this sub-case of) LEA are largely
equivalent.
This is an alternative to
https://github.com/llvm/llvm-project/pull/87105.
This expansion is also supported via the decomposeMulByConstant
callback, but restricted because of interactions with other combines
since that code runs before legalization. As discussed in the other
review, my original plan had been to support post legalization expansion
through the same interface, but that ended up being more complicated
than seems justified.
Instead, lets go ahead and do the general expansion post-legalize. Other
targets use the combine approach, and matching that structure makes it
easier for us to adapt ideas from other targets to RISCV.
Commit: 40bbdb609f58d6cbbae1ca525832d7a21641a347
https://github.com/llvm/llvm-project/commit/40bbdb609f58d6cbbae1ca525832d7a21641a347
Author: Alina Sbirlea <asbirlea at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/dpbusd.ll
M llvm/test/CodeGen/X86/dpbusd_i4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
Log Message:
-----------
Revert "[DAG] Fold extract_subvector(insert_subvector(x,y,c1),c2) --> extract_subvector(y,c2-c1) (#87925)"
This reverts commit 8c0f52e9d5a99bf96bb64ac23b5893482c292527.
Reverting to green, reproducer attached in the PR/revision comments.
Commit: 694c444b5bbb56dcba8978d283fe5385237c309a
https://github.com/llvm/llvm-project/commit/694c444b5bbb56dcba8978d283fe5385237c309a
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn] port 311ff3917827 more
Commit: 2ac562ab784c6bf04e6d3026c567d3552a735668
https://github.com/llvm/llvm-project/commit/2ac562ab784c6bf04e6d3026c567d3552a735668
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/AST/ast-dump-attr-json.cpp
M clang/test/Sema/alias-unused-win.cpp
M clang/test/Sema/alias-unused.cpp
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[Sema] Mark alias/ifunc targets used and consider mangled names
https://reviews.llvm.org/D54188 marked "alias" targets as used in C to
fix -Wunused false positives. This patch extends the approach to handle
mangled names to support global scope names in C++ and the
`overloadable` attribute in C.
In addition, we mark ifunc targets as used to fix #63957.
While our approach has false negatives for namespace scope names, the
majority of alias/ifunc C++ uses (global scope with no overloads) are
handled.
Note: The following function with internal linkage but C language
linkage type is mangled in Clang but not in GCC. This inconsistency
makes alias/ifunc difficult to use in C++ with portability (#88593).
```
extern "C" {
static void f0() {}
// GCC: void g0() __attribute__((alias("_ZL2f0v")));
// Clang: void g0() __attribute__((alias("f0")));
}
```
Pull Request: https://github.com/llvm/llvm-project/pull/87130
Commit: 8aa7e378dee27ec81959ef6750a7dd07cefdc77d
https://github.com/llvm/llvm-project/commit/8aa7e378dee27ec81959ef6750a7dd07cefdc77d
Author: Allen <zhongyunde at huawei.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleaved-accesses.ll
Log Message:
-----------
[InterleavedAccessPass] Get round the unsupported large scalarize vectors (#88643)
When build with option -msve-vector-bits=512, the return vaule of
Subtarget->getMinSVEVectorSizeInBits() is 512;
While the MinElts is still 4 for <vscale x 4 x double> in
getNumInterleavedAccesses, so it creates invalid
llvm.aarch64.sve.ld2.sret.nxv4f64, which need be splited.
Unlikely, the related custom spilting is not supported now.
Fix https://github.com/llvm/llvm-project/issues/88247
Commit: d23a85066b5d89a47fde7b6777e0fc5a711b99d4
https://github.com/llvm/llvm-project/commit/d23a85066b5d89a47fde7b6777e0fc5a711b99d4
Author: Matthias Braun <matze at braunis.de>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
A llvm/test/Transforms/InstCombine/threadlocal_address.ll
Log Message:
-----------
InstCombine: Increase threadlocal.address alignment if pointee is more aligned (#88435)
Increase alignment of `llvm.threadlocal.address` if the pointed to
global has higher alignment.
Commit: 2e26ee9dce32d12ffa9bfb7f7d3e97778f0b7a75
https://github.com/llvm/llvm-project/commit/2e26ee9dce32d12ffa9bfb7f7d3e97778f0b7a75
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
Log Message:
-----------
[DWARF] Clarify a variable name. NFC (#88814)
The parameter of `findDebugNamesOffsets` has been renamed to
`EndOfHeaderOffset` in #88064 to make it clear it is a section offset
instead of an offset relative to the current name index. Rename the call
site variable as well.
Commit: f3a8112d9839a166f7eb240c6c72d7ecd47d3560
https://github.com/llvm/llvm-project/commit/f3a8112d9839a166f7eb240c6c72d7ecd47d3560
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/rvv-cmp.ll
M llvm/test/Transforms/LoopVectorize/RISCV/illegal-type.ll
Log Message:
-----------
[RISCV][TTI] Scale the cost of ICmp with LMUL (#88235)
Use the Val type to estimate the instruction cost for ICmp.
Commit: dfe12b3fd193318403622a8ae51e0362c27502d1
https://github.com/llvm/llvm-project/commit/dfe12b3fd193318403622a8ae51e0362c27502d1
Author: Benji Smith <6193112+Benjins at users.noreply.github.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm-c/Core.h
M llvm/lib/IR/Core.cpp
M llvm/test/Bindings/llvm-c/atomics.ll
Log Message:
-----------
[C API] Support uinc_wrap/udec_wrap in atomicrmw when accessing the bin op (#87163)
These previously were added in the C++ API in
778cf5431cafc243f81dd5c8cbd27701ff7f9120, but without updating the enum
in the C API or mapping functions.
Corresponding tests for all current atomicrmw bin ops have been added as
well.
Commit: 5b9af38a03c8119cc2a42ae80d4a25e6f454c721
https://github.com/llvm/llvm-project/commit/5b9af38a03c8119cc2a42ae80d4a25e6f454c721
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts.ll
Log Message:
-----------
[RISCV] Provide a more efficient lowering for experimental.cttz.elts. (#88552)
For experimental.cttz.elts, we can use a vfirst instruction, but we need
to correct the result if input vector can be 0. cttz.elts returns the
vector length while vfirst returns -1.
Commit: 4b22a923c4bfd0aa1d483149f84b6787263c2d76
https://github.com/llvm/llvm-project/commit/4b22a923c4bfd0aa1d483149f84b6787263c2d76
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/test/Transforms/IndVarSimplify/AArch64/widen-loop-comp.ll
M llvm/test/Transforms/IndVarSimplify/X86/iv-widen.ll
M llvm/test/Transforms/IndVarSimplify/elim-extend.ll
M llvm/test/Transforms/IndVarSimplify/hoist-wide-inc-for-narrow-use-recompute-flags.ll
M llvm/test/Transforms/IndVarSimplify/iv-sext.ll
M llvm/test/Transforms/IndVarSimplify/iv-widen-elim-ext.ll
M llvm/test/Transforms/IndVarSimplify/lftr.ll
M llvm/test/Transforms/IndVarSimplify/no-iv-rewrite.ll
M llvm/test/Transforms/IndVarSimplify/post-inc-range.ll
M llvm/test/Transforms/IndVarSimplify/pr25578.ll
M llvm/test/Transforms/IndVarSimplify/pr55925.ll
M llvm/test/Transforms/IndVarSimplify/widen-nonnegative-countdown.ll
M llvm/test/Transforms/IndVarSimplify/widen-nonnegative.ll
M llvm/test/Transforms/LoopFlatten/widen-iv3.ll
Log Message:
-----------
[IndVars] Mark truncs as nuw/nsw (#88686)
When inserting truncs during IV widening, mark the trunc as either nuw
or nsw depending on whether zext or sext widening was used. For
non-negative IVs both nuw and nsw apply.
Commit: 5f680724838188f516d349bd9459710308d721e0
https://github.com/llvm/llvm-project/commit/5f680724838188f516d349bd9459710308d721e0
Author: Qizhi Hu <836744285 at qq.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
A clang/test/SemaCXX/PR84020.cpp
Log Message:
-----------
[Clang][Sema] Fix issue on requires expression with templated base class member function (#85198)
Fix https://github.com/llvm/llvm-project/issues/84020
Skip checking implicit object parameter in the context of
`RequiresExprBodyDecl`.
Co-authored-by: huqizhi <836744285 at qq.com>
Commit: 568368a43e5b4adb3c5d105a0eff3e0c13c0af8c
https://github.com/llvm/llvm-project/commit/568368a43e5b4adb3c5d105a0eff3e0c13c0af8c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/Support/Endian.h
M llvm/include/llvm/Support/OnDiskHashTable.h
Log Message:
-----------
[Support] Make readNext default to unaligned (#88808)
Without this patch, you would typically use readNext as:
readNext<uint32_t, llvm::endianness::little, unaligned>(Ptr)
which is quite mouthful. Since most serialization/deserialization
operations are unaligned accesses, this patch makes the alignment
template parameter default to unaligned, allowing us to say:
readNext<uint32_t, llvm::endianness::little>(Ptr)
I'm including a few examples of migration in this patch. I'll do the
rest in a separate patch.
Note that writeNext already has the same trick for the alignment
template parameter.
Commit: b4cf63d26f4c41dd9403c4e62500d82a6d31d692
https://github.com/llvm/llvm-project/commit/b4cf63d26f4c41dd9403c4e62500d82a6d31d692
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrCompiler.td
Log Message:
-----------
[X86] Remove obsolete tablegen rules for near data in small static code model (#84523)
These should be already handled by other code.
Removing the kernel code model rules right above it cause
bss_pagealigned.ll to fail by using a movabsq to get the address of a
global, haven't figured out where that code is yet.
Commit: 82f479ba315a417b6cd01a8c2efdc15c26689f2e
https://github.com/llvm/llvm-project/commit/82f479ba315a417b6cd01a8c2efdc15c26689f2e
Author: Usama Hameed <u_hameed at apple.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/test/API/functionalities/asan/Makefile
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/asan/TestReportData.py
A lldb/test/API/functionalities/libsanitizers/util.py
Log Message:
-----------
Add asan tests for libsanitizers. (#88349)
This patch tests LLDB integration with libsanitizers for ASan.
rdar://111856681
Commit: 00ae4b738be6e840cfdb3e7461409c3e49403e50
https://github.com/llvm/llvm-project/commit/00ae4b738be6e840cfdb3e7461409c3e49403e50
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrCompiler.td
Log Message:
-----------
Revert "[X86] Remove obsolete tablegen rules for near data in small static code model (#84523)"
This reverts commit b4cf63d26f4c41dd9403c4e62500d82a6d31d692.
Breaks indirect-branch-tracking-eh2.ll.
Commit: 8ee7d9732204a7415967bce2c1d2c0fa63af264f
https://github.com/llvm/llvm-project/commit/8ee7d9732204a7415967bce2c1d2c0fa63af264f
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/lib/Optimizer/Dialect/FIROps.cpp
A flang/test/Fir/cuf-invalid.fir
A flang/test/Fir/cuf.mlir
Log Message:
-----------
[flang][cuda] Add fir.cuda_allocate operation (#88586)
Allocatable with cuda device attribute have special semantic for the
allocate statement. In flang the allocate statement is lowered to a
sequence of runtime call initializing the descriptor and then allocating
the descriptor data. This new operation will replace the last runtime
call and abstract all the device memory allocation needed.
The lowering patch will follow.
Commit: fe48bf672e1ab293368a3212203db94a4e21c533
https://github.com/llvm/llvm-project/commit/fe48bf672e1ab293368a3212203db94a4e21c533
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/test/Shell/lit.cfg.py
M lldb/test/Shell/lit.site.cfg.py.in
Log Message:
-----------
[lldb][lit] Guard MallocNanoZone envvar in shell tests (#88824)
Previously the MallocNanoZone envvar would be set to 0 on Darwin for the
LLDB shell tests, but this should guarded behind ASan being enabled as
opposed to simply running the test suite behind Darwin. This required
that the LLVM_USE_SANITIZER option be added as an attribute to the lit
config for shell tests.
Commit: 65b0cc610f80d9b9724a98cf7c5bcfd38e1cf799
https://github.com/llvm/llvm-project/commit/65b0cc610f80d9b9724a98cf7c5bcfd38e1cf799
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV] Add FeatureStdExtI to all CPUs in RISCVProcessors.td. NFC (#88805)
This is currently being implied in RISCVISAInfo.cpp. Make it explicit.
I'm planning to move all extension information to RISCVFeatures.td and
have tablegen create the tables for RISCVISAInfo.cpp. This requires
making the creation of RISCVTargetParserDef.inc in tablegen independent
of RISCVISAInfo.cpp. So we need an accurate extension list for CPUs in
tablegen.
Commit: 4e2d11f87a595d658f25ec5838b002e4bf5a26fc
https://github.com/llvm/llvm-project/commit/4e2d11f87a595d658f25ec5838b002e4bf5a26fc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZcmop.td
Log Message:
-----------
[RISCV] Remove unnecessary NoHasStdExtZicfiss Predicate from cmop.1 and cmop.5. NFC (#88822)
I'm not sure what this was supposed do. Maybe it was for the
disassembler, but that should be managed through DecoderNamespace.
So let's remove it and simplify the code.
Commit: edb0708dc1ceeaeb3356311a4ddf72a0dc9b224f
https://github.com/llvm/llvm-project/commit/edb0708dc1ceeaeb3356311a4ddf72a0dc9b224f
Author: Vlad Mishel <43666597+vmishelcs at users.noreply.github.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/fcmp.ll
Log Message:
-----------
[InstCombine] Implement `fcmp (fadd x, 0.0), y` => `fcmp x, y` optimization (#88476)
This PR addresses issue #88168. It implements an optimization for
the case of
```
define i1 @fcmp_fadd_zero_ugt(float %x, float %y) {
%add = fadd float %x, 0.000000e+00
%cmp = fcmp ugt float %add, %y
ret i1 %cmp
}
```
`=>`
```
define i1 @fcmp_fadd_zero_ugt(float %x, float %y) {
%cmp = fcmp ugt float %x, %y
ret i1 %cmp
}
```
and all other types of `fcmp` instructions (`uge`, `ogt`, etc).
Proofs:
`fadd x, 0.0` https://alive2.llvm.org/ce/z/7FzNnM
`fsub x, 0.0` https://alive2.llvm.org/ce/z/puUxLK
Commit: 39016e33b0fe78ddb1f11822f71a8a233af4dca9
https://github.com/llvm/llvm-project/commit/39016e33b0fe78ddb1f11822f71a8a233af4dca9
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGenCXX/module-funcs-from-imports.cppm
Log Message:
-----------
[C++20] [Modules] Don't import non-inline function bodies even if it is always-inline
Recommit
https://github.com/llvm/llvm-project/commit/1ecbab56dcbb78268c8d19af34a50591f90b12a0
Close https://github.com/llvm/llvm-project/issues/80949
The new thing in this commit is to allow to import the function body
from instantiations if it is marked with always-inline. See the
discussion in https://github.com/llvm/llvm-project/issues/86893 for
details.
Commit: f14146fd46dd8bf7ef1e64d3c13af73dc5668045
https://github.com/llvm/llvm-project/commit/f14146fd46dd8bf7ef1e64d3c13af73dc5668045
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZcmop.td
M llvm/test/MC/RISCV/rv32zcmop-invalid.s
M llvm/test/MC/RISCV/rvzcmop-valid.s
Log Message:
-----------
[RISCV] Correct the spelling of the Zcmop mnemonics. (#88826)
The instruction names should be c.mop.1 instead of cmop.1.
Commit: 17d6bf046cea381413895f91e24d26d65763b59a
https://github.com/llvm/llvm-project/commit/17d6bf046cea381413895f91e24d26d65763b59a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/pr88799.ll
Log Message:
-----------
[RISCV] Change how MMO is rebuilt in lowerFixedLengthVectorLoadToRVV/lowerFixedLengthVectorStoreToRVV (#88811)
Copy the pointer info, flags, alignment, AAInfo, and ranges, but let
getLoad rebuild the MMO using the scalable type used for the the new
load/store. This makes sure the LLT minimum size matches the ContainerVT
minimum size. This is important since vscale_range may have been used to
determine that the fixed vector was the exact size of a scalable vector.
Fixes #88799
Commit: 6da1966bc503e1ce44ef36e7107c9db482fac6ab
https://github.com/llvm/llvm-project/commit/6da1966bc503e1ce44ef36e7107c9db482fac6ab
Author: Michal Terepeta <michalt at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/lib/Target/RISCV/RISCVSchedRocket.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR1.td
M llvm/lib/Target/RISCV/RISCVSchedXiangShanNanHu.td
M llvm/lib/Target/RISCV/RISCVSchedule.td
A llvm/lib/Target/RISCV/RISCVScheduleXSf.td
Log Message:
-----------
[RISCV] Add scheduling information for SiFive VCIX (#86093)
This adds `RISCVScheduleXSf.td` with `SchedWrite` definitions for all
VCIX instructions and uses it in `RISCVSchedSiFive7.td` to set default
latencies for these instructions, helping with issue
https://github.com/llvm/llvm-project/issues/83391. Of course these
default latencies cannot be accurate (since each coprocessor will have
different latencies), but this seems to be enough to avoid some of the
problematic behavior described in the bug.
In any case, this seems to be enough to help with #83391 in our internal
testing.
A subsequent discussion is how to structure the code such that it's
easier for downstream consumers of this to use `SiFive7` scheduling
model with accurate VCIX latencies. But we can probably have a separate
issue to discuss that.
Commit: e2c91091e537a54f1469610ab407e7c9561e7ffc
https://github.com/llvm/llvm-project/commit/e2c91091e537a54f1469610ab407e7c9561e7ffc
Author: darkbuck <michael.hliao at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-commute-fp-const-lhs.mir
A llvm/test/CodeGen/AArch64/GlobalISel/combine-commute-int-const-lhs.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-const-fold-barrier-rhs.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-select-to-fminmax.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-to-fmin-fmax.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fcanonicalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizercombiner-and.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/smed3.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/umed3.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
Log Message:
-----------
[GlobalISel] Handle more commutable instructions in `commute_constant_to_rhs`
Reviewers:
rupprecht, aartbik, cyndyishida, Pierre-vh, aemerson, ftynse, hanhanW, banach-space, jayfoad, nicolasvasilache, daniel-grumberg, arsenm, PeimingLiu, JDevlieghere, matthias-springer
Reviewed By: arsenm, Pierre-vh
Pull Request: https://github.com/llvm/llvm-project/pull/87424
Commit: 3c6f91e5b671321c95259dabecdbdfe4a6d69ce1
https://github.com/llvm/llvm-project/commit/3c6f91e5b671321c95259dabecdbdfe4a6d69ce1
Author: martinboehme <mboehme at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Fix result object location for builtin `<=>`. (#88726)
The newly added test causes an assertion failure in
`PropagateResultObject()`
without the fix added here.
Commit: 7e49b0d5a67f212e84f8ec0ec2e39a6a8673bfaf
https://github.com/llvm/llvm-project/commit/7e49b0d5a67f212e84f8ec0ec2e39a6a8673bfaf
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
M lldb/unittests/UnwindAssembly/CMakeLists.txt
A lldb/unittests/UnwindAssembly/x86-but-no-x86-target/CMakeLists.txt
A lldb/unittests/UnwindAssembly/x86-but-no-x86-target/Testx86AssemblyInspectionEngine.cpp
Log Message:
-----------
[lldb] Fix nullptr dereference on running x86 binary with x86-disabled llvm (#82603)
If `LLVM_TARGETS_TO_BUILD` does not contain `X86` and we try to run an
x86 binary in lldb, we get a `nullptr` dereference in
`LLVMDisasmInstruction(...)`. We try to call `getDisAsm()` method on a
`LLVMDisasmContext *DC` which is null. The pointer is passed from
`x86AssemblyInspectionEngine::instruction_length(...)` and is originally
`m_disasm_context` member of `x86AssemblyInspectionEngine`. This should
be filled by `LLVMCreateDisasm(...)` in the class constructor, but not
having X86 target enabled in llvm makes
`TargetRegistry::lookupTarget(...)` call return `nullptr`, which results
in `m_disasm_context` initialized with `nullptr` as well.
This patch adds if statements against `m_disasm_context` in
`x86AssemblyInspectionEngine::GetNonCallSiteUnwindPlanFromAssembly(...)`
and `x86AssemblyInspectionEngine::FindFirstNonPrologueInstruction(...)`
so subsequent calls to
`x86AssemblyInspectionEngine::instruction_length(...)` do not cause a
null pointer dereference.
Commit: 89071f35599ac58cde99923a376d6b75c0d49e4b
https://github.com/llvm/llvm-project/commit/89071f35599ac58cde99923a376d6b75c0d49e4b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/GlobalModuleIndex.cpp
M clang/lib/Serialization/MultiOnDiskHashTable.h
Log Message:
-----------
[clang] Drop unaligned from calls to readNext (NFC) (#88842)
Now readNext defaults to unaligned accesses. This patch drops
unaligned to improve readability.
Commit: a169d4c2e974ceb20b86faea3fa4ac286a1d44e8
https://github.com/llvm/llvm-project/commit/a169d4c2e974ceb20b86faea3fa4ac286a1d44e8
Author: Martin Storsjö <martin at martin.st>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M lld/COFF/Writer.cpp
M lld/test/COFF/autoimport-arm-data.s
M lld/test/COFF/autoimport-arm64-data.s
M lld/test/COFF/autoimport-gnu-implib.s
A lld/test/COFF/autoimport-handler-func.s
M lld/test/COFF/autoimport-warn.s
M lld/test/COFF/autoimport-x86.s
Log Message:
-----------
[LLD] [COFF] Error out if the runtime pseudo relocation function is missing (#88573)
When then linker creates runtime pseudo relocations, it places them in a
list with the assumption that the runtime will fix these relocations
later, when the image gets loaded. If the relevant runtime function
doesn't seem to be present in the linked image, error out.
Normally when linking the mingw-w64 runtime libraries, this function
always is available. However, if linking without including the mingw-w64
CRT startup files, and the image needs runtime pseudo relocations, make
it clear that this won't work as expected at runtime.
With ld.bfd, this situation is a hard error too; ld.bfd adds an
undefined reference to this symbol if runtime pseudo relocations are
needed.
A later alternative would be to actually try to pull in the symbol (if
seen in a static library, but not included yet). This would allow
decoupling the function from the main mingw-w64 CRT startup code (making
it optional, only running if the linker actually produced runtime pseudo
relocations).
Doing that would require restructuring the lld code (gathering pseudo
relocations earlier, then loading the relocator function, then pulling in
more object files to satisfy the dependencies of the relocator) though.
Also, ld.bfd doesn't currently successfully pull in more object files to
satisfy the dependency on _pei386_runtime_relocator, so with that in
mind, there's not much extra value in making LLD do it currently either;
we can't make such a change in mingw-w64's CRT until both linkers
handle it.
This fixes one issue brought up in
https://github.com/llvm/llvm-project/issues/84424.
Commit: dbaa1893c9afe6a245860efb8d68875ba4fd6794
https://github.com/llvm/llvm-project/commit/dbaa1893c9afe6a245860efb8d68875ba4fd6794
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
A llvm/test/CodeGen/RISCV/prefer-w-inst.ll
A llvm/test/CodeGen/RISCV/prefer-w-inst.mir
R llvm/test/CodeGen/RISCV/strip-w-suffix.ll
Log Message:
-----------
[RISCV] Generate more W instructons
We rename `TuneNoStripWSuffix` to `TunePreferWInst`.
If all the users of an instruction just use the low 32 bits, we can
convert it to its W variant.
A quick test on Coremark (`-O3 -march=rv64gc`):
| | W instructions | code size(.text) |
|--------|----------------|------------------|
| before | 302 | 12257 |
| after | 343 | 12265 |
| | +13.58% | +0.065% |
Reviewers: asb, dtcxzyw, preames, lukel97, michaelmaitland, topperc
Reviewed By: topperc, dtcxzyw
Pull Request: https://github.com/llvm/llvm-project/pull/87237
Commit: d26dd58ca5b59032eb371b8f51d9134acdd8d3ad
https://github.com/llvm/llvm-project/commit/d26dd58ca5b59032eb371b8f51d9134acdd8d3ad
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
A clang/test/Modules/hashing-decls-in-exprs-from-gmf-2.cppm
Log Message:
-----------
[StmtProfile] Don't profile the body of lambda expressions
Close https://github.com/llvm/llvm-project/issues/87609
We tried to profile the body of the lambda expressions in
https://reviews.llvm.org/D153957. But as the original comments show,
it is indeed dangerous. After we tried to skip calculating the ODR
hash values recently, we have fall into this trap twice.
So in this patch, I choose to not profile the body of the lambda
expression. The signature of the lambda is still profiled.
Commit: a29e85d6626aae7dba44c66ee5b703d3ab5de41c
https://github.com/llvm/llvm-project/commit/a29e85d6626aae7dba44c66ee5b703d3ab5de41c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
Log Message:
-----------
[llvm-exegesis] Change preprocessor directives for getCurrentTID
This patch changes the preprocessor directives surrounding
getCurrentTID, particularly moving it out of the block that is only
defined when not building for Android. The getCurrentTID function is
called in places that only require Linux definitions, so this function
should have the same preprocessor scoping around it to prevent link time
failures.
Commit: d34a2c2adb2a4f1dc262c5756d3725caa4ea2571
https://github.com/llvm/llvm-project/commit/d34a2c2adb2a4f1dc262c5756d3725caa4ea2571
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Make more vector pseudos commutable
This PR includes:
* vadd.vv/vand.vv/vor.vv/vxor.vv
* vmseq.vv/vmsne.vv
* vmin.vv/vminu.vv/vmax.vv/vmaxu.vv
* vmul.vv/vmulh.vv/vmulhu.vv
* vwadd.vv/vwaddu.vv
* vwmul.vv/vwmulu
* vwmacc.vv/vwmaccu.vv
* vadc.vvm
There is no test change, I may add it later.
Fixes part of #64422
Reviewers: michaelmaitland, preames, lukel97, topperc, asb
Reviewed By: topperc, lukel97
Pull Request: https://github.com/llvm/llvm-project/pull/88379
Commit: 5b811562a520a8a3cd164897f24dee7da3115bbe
https://github.com/llvm/llvm-project/commit/5b811562a520a8a3cd164897f24dee7da3115bbe
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/include/__algorithm/pstl_backends/cpu_backends/any_of.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/fill.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/find_if.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/for_each.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/libdispatch.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/merge.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/serial.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/stable_sort.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/thread.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/transform.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/transform_reduce.h
M libcxx/include/__pstl/cpu_algos/cpu_traits.h
Log Message:
-----------
[libc++] Rename __cpu_traits functions (#88741)
Functions inside __cpu_traits were needlessly prefixed with __parallel,
which doesn't serve a real purpose anymore now that they are inside a
traits class.
Commit: 66cf995da76b9da3cfdee2f29eff6ea4d84305ef
https://github.com/llvm/llvm-project/commit/66cf995da76b9da3cfdee2f29eff6ea4d84305ef
Author: Carlos Alberto Enciso <carlos.alberto.enciso at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/Transforms/SCCP/pr50901.ll
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
[IPSCCP] Variable not visible at Og: (#77901)
https://bugs.llvm.org/show_bug.cgi?id=51559
https://github.com/llvm/llvm-project/issues/50901
IPSCCP pass removes the global variable and does not create a constant
expression for the initializer value.
Extend test coverage to include:
- half, bfloat types.
- checks for undef (int32 and ptr).
There is no support for:
- fp128, x86_fp80, ppc_fp128 types.
https://github.com/llvm/llvm-project/issues/88102
Commit: d6d84b5d1448e4f2e24b467a0abcf42fe9d543e9
https://github.com/llvm/llvm-project/commit/d6d84b5d1448e4f2e24b467a0abcf42fe9d543e9
Author: NagyDonat <donat.nagy at ericsson.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
M clang/test/Analysis/cxx-uninitialized-object-ptr-ref.cpp
M clang/test/Analysis/exercise-ps.c
M clang/test/Analysis/explain-svals.cpp
A clang/test/Analysis/malloc-std-namespace.cpp
M clang/test/Analysis/malloc.c
M clang/test/Analysis/malloc.cpp
M clang/test/Analysis/stack-addr-ps.c
M clang/test/Analysis/stackaddrleak.c
Log Message:
-----------
[analyzer] Handle builtin functions in MallocChecker (#88416)
This commit ensures that the `CallDescription`s in `MallocChecker` are
matched with the mode `CDM::CLibrary`, so:
- they don't match methods or functions within user-defined namespaces;
- they also match builtin variants of these functions (if any), so the
checker can model `__builtin_alloca()` like `alloca()`.
This change fixes https://github.com/llvm/llvm-project/issues/81597. New
tests were added to verify that `std::malloc` and `std::free` (from
`<cstdlib>`) are modeled, but a method that's named e.g. `free` isn't
confused with the memory release function.
The responsibility for modeling `__builtin_alloca` and
`__builtin_alloca_with_align` was moved from `BuiltinFunctionChecker` to
`MallocChecker`, to avoid buggy interactions between the checkers and
ensure that the builtin and non-builtin variants are handled by exactly
the same logic.
This change might be a step backwards for the users who don't have
`unix.Malloc` enabled; but I suspect that `__builtin_alloca()` is so
rare that it would be a waste of time to implement backwards
compatibility for them.
There were several test files that relied on `__builtin_alloca()` calls
to get an `AllocaRegion`, these were modified to enable `unix.Malloc`.
One of these files (cxx-uninitialized-object-ptr-ref.cpp) had some tests
that relied on the fact that `malloc()` was treated as a "black box" in
them, these were updated to use `calloc()` (to get initialized memory)
and `free()` (to avoid memory leak reports).
While I was developing this change, I found a very suspicious assert in
`MallocChecker`. As it isn't blocking the goals of this commit, I just
marked it with a FIXME, but I'll try to investigate and fix it in a
follow-up change.
Commit: 40dd3aa91d3f73184e34e45e597b84bec059c572
https://github.com/llvm/llvm-project/commit/40dd3aa91d3f73184e34e45e597b84bec059c572
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Arith/Transforms/Transforms.h
M mlir/include/mlir/Interfaces/ValueBoundsOpInterface.h
M mlir/lib/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/Affine/Transforms/ReifyValueBounds.cpp
M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/Arith/Transforms/IntNarrowing.cpp
M mlir/lib/Dialect/Arith/Transforms/ReifyValueBounds.cpp
M mlir/lib/Dialect/Linalg/Transforms/Padding.cpp
M mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
M mlir/lib/Dialect/MemRef/Transforms/IndependenceTransforms.cpp
M mlir/lib/Dialect/SCF/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Transforms/IndependenceTransforms.cpp
M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
M mlir/test/Dialect/Affine/value-bounds-op-interface-impl.mlir
M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
M mlir/test/lib/Dialect/Test/TestDialect.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir][Interfaces] `Variable` abstraction for `ValueBoundsOpInterface` (#87980)
This commit generalizes and cleans up the `ValueBoundsConstraintSet`
API. The API used to provide function overloads for comparing/computing
bounds of:
- index-typed SSA value
- dimension of shaped value
- affine map + operands
This commit removes all overloads. There is now a single entry point for
each `compare` variant and each `computeBound` variant. These functions
now take a `Variable`, which is internally represented as an affine map
and map operands.
This commit also adds support for computing bounds for an affine map +
operands. There was previously no public API for that.
Commit: 5a46123ddf62900d3dc73330f699c73038645198
https://github.com/llvm/llvm-project/commit/5a46123ddf62900d3dc73330f699c73038645198
Author: Utkarsh Saxena <usx at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
Log Message:
-----------
Fix missing dtor in function calls accepting trivial ABI structs (#88751)
Fixes https://github.com/llvm/llvm-project/issues/88478
Promoting the `EHCleanup` to `NormalAndEHCleanup` in `EmitCallArgs`
surfaced another bug with deactivation of normal cleanups. Here we
missed emitting CPP scope ends for deactivated normal cleanups. This
patch also fixes that bug.
We missed emitting CPP scope ends because we remove the `fallthrough`
(clears the insertion point) before deactivating normal cleanups. This
is to make the emitted "normal" cleanup code unreachable. But we still
need to emit CPP scope ends in the original basic block even for a
deactivated normal cleanup.
(This worked correctly before we did not remove `fallthrough` for
`EHCleanup`s).
Commit: 9141e1c24f87e5735bc4178a018eba4bdf2750aa
https://github.com/llvm/llvm-project/commit/9141e1c24f87e5735bc4178a018eba4bdf2750aa
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/vectors.cpp
Log Message:
-----------
[clang][Interp] Gracefully handle bitcasts to non-primitive types
We were calling classfiyPrim() instead of classify().
Commit: 4fc0a99b8f220b6b41648da491bcc81a067f1600
https://github.com/llvm/llvm-project/commit/4fc0a99b8f220b6b41648da491bcc81a067f1600
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNCreateVOPD.cpp
M llvm/test/CodeGen/AMDGPU/vopd-combine.mir
Log Message:
-----------
[AMDGPU] Fix implicit operands of VOPD cndmask instructions (#87788)
Commit: f4f772ceef379bd434d266b6e0d2bbdf796f81cb
https://github.com/llvm/llvm-project/commit/f4f772ceef379bd434d266b6e0d2bbdf796f81cb
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
Log Message:
-----------
[AMDGPU] Stop reserving $vcc_hi in wave32 mode (#87783)
This gives us one extra SGPR to play with. The comment suggested that it
could cause bugs, but I have tested it with Vulkan CTS with the default
wave size for compute shaders set to 32 and did not find any problems.
Commit: 485d556d8c23b54da952e75c3cadc9db3050fd9e
https://github.com/llvm/llvm-project/commit/485d556d8c23b54da952e75c3cadc9db3050fd9e
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Disasm.cpp
M clang/lib/AST/Interp/InterpBlock.h
Log Message:
-----------
[clang][Interp][NFC] Add Block::dump()
Commit: 80fce05f2104d1c42db814276130536b014fcca2
https://github.com/llvm/llvm-project/commit/80fce05f2104d1c42db814276130536b014fcca2
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/minmax-intrinsics.ll
Log Message:
-----------
[InstCombine] Fold `minmax (X & NegPow2C, Y & NegPow2C) -> minmax(X, Y) & NegPow2C` (#88859)
Alive2: https://alive2.llvm.org/ce/z/NFtkSX
This optimization will be beneficial to jemalloc users.
Commit: cce026bf8f7dcf5aa402a6da20f0d4da56aee8b5
https://github.com/llvm/llvm-project/commit/cce026bf8f7dcf5aa402a6da20f0d4da56aee8b5
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/test/lib/Dialect/Test/TestDialect.cpp
Log Message:
-----------
[mlir][test] Fix -Wsign-compare in TestDialect.cpp (NFC)
llvm-project/mlir/test/lib/Dialect/Test/TestDialect.cpp:597:31:
error: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int64_t' (aka 'long') [-Werror,-Wsign-compare]
if (getVarOperands().size() != expectedNumOperands)
~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
1 error generated.
Commit: 58b49cef1d772a922a433fd4a42e41db3f18d34b
https://github.com/llvm/llvm-project/commit/58b49cef1d772a922a433fd4a42e41db3f18d34b
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/vectors.cpp
Log Message:
-----------
[clang][Interp] Support __builtin_vectorelements
Commit: 70fe6ad535365de20c3a960dcfe97bd5cf68abb5
https://github.com/llvm/llvm-project/commit/70fe6ad535365de20c3a960dcfe97bd5cf68abb5
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[MLIR][OpenMP] Make omp.distribute into a loop wrapper (#87239)
This patch updates the definition of `omp.distribute` to enforce the
restrictions of a wrapper operation.
Commit: 668a58b8926473d731c41c55007f1fe4571ada86
https://github.com/llvm/llvm-project/commit/668a58b8926473d731c41c55007f1fe4571ada86
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M flang/docs/Intrinsics.md
M flang/include/flang/Runtime/extensions.h
M flang/runtime/extensions.cpp
A flang/unittests/Runtime/AccessTest.cpp
M flang/unittests/Runtime/CMakeLists.txt
Log Message:
-----------
[flang][runtime] Add ACCESS library procedure (#88517)
Re-land https://github.com/llvm/llvm-project/pull/88395
Two build-bots were broken by the old version:
- https://lab.llvm.org/buildbot/#/builders/285/builds/245
- https://lab.llvm.org/buildbot/#/builders/21/builds/96988
The problem in both cases was that the compiler did not support
`std::filesystem` (which I use in the unit test).
I have removed the dependency upon std::filesystem because there isn't
an easy way to add the right linker options so that this is supported
correctly in all build environments [1]
[1] https://gitlab.kitware.com/cmake/cmake/-/issues/17834
---
This is a GNU extension:
https://gcc.gnu.org/onlinedocs/gfortran/ACCESS.html
Used in SALMON:
https://salmon-tddft.jp/download.html
Unfortunately the intrinsic takes a file path to operate on so there
isn't an easy way to make the test robust. The unit test expects to be
able to create, set read write and execute permissions, and delete files
called
std::filesystem::temp_directory_path() / <test_name>.<pid>
The test will fail if a file already exists with that name.
I have not implemented the intrinsic on Windows because this is wrapping
a POSIX system call and Windows doesn't support all of the permission
bits tested by the intrinsic. I don't have a Windows machine easily
available to check if Gfortran implements this intrinsic on Windows.
Commit: 76782e28869abf93716f72f195d55c28eaf263ed
https://github.com/llvm/llvm-project/commit/76782e28869abf93716f72f195d55c28eaf263ed
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[Flang][OpenMP] NFC: Remove old reduction lowering code (#88798)
The old code was replaced by
https://github.com/llvm/llvm-project/pull/80019.
Commit: 61717c1aa1f08eb57839a21fb2d9004739022e0d
https://github.com/llvm/llvm-project/commit/61717c1aa1f08eb57839a21fb2d9004739022e0d
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/vastart.ll
M llvm/test/Other/lint.ll
A llvm/test/Verifier/variadic.ll
Log Message:
-----------
[Verifier] Reject va_start in non-variadic function (#88809)
A va_start intrinsic lowers to something derived from the variadic
parameter to the function. If there is no such parameter, it can't lower
meaningfully. Clang sema rejects the same with `error: 'va_start' used
in function with fixed args`.
Moves the existing lint warning into a verifier error. Updates the one
lit test that had a va_start in a non-variadic function.
Commit: 1ca6b4475c02e5d022ec6b35dbb65d0f11409a88
https://github.com/llvm/llvm-project/commit/1ca6b4475c02e5d022ec6b35dbb65d0f11409a88
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/UpliftWhileToFor.cpp
Log Message:
-----------
[mlir][scf] `scf.while` uplifting: optimize op matching (#88813)
Instead of iterating over potential induction var uses looking for
suitable `arith.addi`, try to trace it back from yield argument.
Commit: aae08f4f8ef7bc9c35d263ed974679130c49f5fc
https://github.com/llvm/llvm-project/commit/aae08f4f8ef7bc9c35d263ed974679130c49f5fc
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[MLIR][OpenMP] Make omp.taskloop into a loop wrapper (#87253)
This patch updates the definition of `omp.taskloop` to enforce the
restrictions of a wrapper operation.
Commit: ca4cf973279a3991248056a73bcb2bac8b37d035
https://github.com/llvm/llvm-project/commit/ca4cf973279a3991248056a73bcb2bac8b37d035
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.h
Log Message:
-----------
[clang][Interp][NFC] Fix Pointer::isZero() for block pointers
We don't need to consider the offset here anymore since we now
have proper integral pointers.
Commit: 422bf13f336923da89055f8e70e49e7e9ced2c70
https://github.com/llvm/llvm-project/commit/422bf13f336923da89055f8e70e49e7e9ced2c70
Author: choikwa <5455710+choikwa at users.noreply.github.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/test/CodeGen/AMDGPU/build_vector.ll
Log Message:
-----------
[AMDGPU] In VectorLegalizer::Expand, if UnrollVectorOp returns Load, … (#88475)
…return only Load since other output is chain.
Added testcase that showed mismatched expected arity when Load and chain
were returned as separate items after
003b58f65bdd5d9c7d0c1b355566c9ef430c0e7d
Commit: 4dd5180a2d43b088d7637c30c2654f3c01c46987
https://github.com/llvm/llvm-project/commit/4dd5180a2d43b088d7637c30c2654f3c01c46987
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/FIR/target.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/use-device-ptr-to-use-device-addr.f90
Log Message:
-----------
[Flang][OpenMP][Lower] Split MLIR codegen for clauses and constructs (#86963)
This patch performs several cleanups with the main purpose of
normalizing the code patterns used to trigger codegen for MLIR OpenMP
operations and making the processing of clauses and constructs
independent. The following changes are made:
- Clean up unused `directive` argument to
`ClauseProcessor::processMap()`.
- Move general helper functions in OpenMP.cpp to the appropriate section
of the file.
- Create `gen<OpName>Clauses()` functions containing the clause
processing code specific for the associated OpenMP construct.
- Update `gen<OpName>Op()` functions to call the corresponding
`gen<OpName>Clauses()` function.
- Sort calls to `ClauseProcessor::process<ClauseName>()` alphabetically,
to avoid inadvertently relying on some arbitrary order. Update some
tests that broke due to the order change.
- Normalize `genOMP()` functions so they all delegate the generation of
MLIR to `gen<OpName>Op()` functions following the same pattern.
- Only process `nowait` clause on `TARGET` constructs if not compiling
for the target device.
A later patch can move the calls to `gen<OpName>Clauses()` out of
`gen<OpName>Op()` functions and passing completed clause structures
instead, in preparation to supporting composite constructs. That will
make it possible to reuse clause processing for a given leaf construct
when appearing alone or in a combined or composite construct, while
controlling where the associated code is produced.
Commit: 31424be3aef4290dd84065b9371fcd0c5014e097
https://github.com/llvm/llvm-project/commit/31424be3aef4290dd84065b9371fcd0c5014e097
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
[clang][Interp][NFC] Compare std::optionals directly
Commit: a831c54357c2bb7b8b457ccea22836c23e8b8625
https://github.com/llvm/llvm-project/commit/a831c54357c2bb7b8b457ccea22836c23e8b8625
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/FunctionPointer.h
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/functions.cpp
Log Message:
-----------
[clang][Interp] Avoid calling invalid functions
Check if the non-null function pointer is even valid before calling
the function.
Commit: b0194d2894db49d7cf4d36aed87952c3e0c6a390
https://github.com/llvm/llvm-project/commit/b0194d2894db49d7cf4d36aed87952c3e0c6a390
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/windows-seh-async-verify.cpp
Log Message:
-----------
[SEH] Ignore async exception flag when the environment is not MSVC (#88101)
Fixes #62449
Commit: f4960da6023b8034ae68925c3223d51624621b37
https://github.com/llvm/llvm-project/commit/f4960da6023b8034ae68925c3223d51624621b37
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/vastart.ll
M llvm/test/Other/lint.ll
R llvm/test/Verifier/variadic.ll
Log Message:
-----------
Revert "[Verifier] Reject va_start in non-variadic function (#88809)"
This reverts commit 61717c1aa1f08eb57839a21fb2d9004739022e0d. Failed a MLIR test
Commit: 01f79899ba349a0200586c8d05f5e22cca2ced31
https://github.com/llvm/llvm-project/commit/01f79899ba349a0200586c8d05f5e22cca2ced31
Author: Jinyang He <hejinyang at loongson.cn>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M lld/ELF/InputSection.cpp
A lld/test/ELF/loongarch-relax-align-ldr.s
M lld/test/ELF/loongarch-relax-emit-relocs.s
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/test/MC/LoongArch/Relocations/relax-addsub.s
M llvm/test/MC/LoongArch/Relocations/relax-align.s
Log Message:
-----------
[LoongArch] Use R_LARCH_ALIGN with section symbol (#84741)
In LoongArch psABI v2.30, the R_LARCH_ALIGN requires symbol index to
support the third parameter of alignment directive. Create symbol for
each section is redundant because they have section symbol which can
also be used as symbol index. So use section symbol directly for
R_LARCH_ALIGN.
Commit: c09384e2b419c7b4e4167e0d0295d9018cc6169c
https://github.com/llvm/llvm-project/commit/c09384e2b419c7b4e4167e0d0295d9018cc6169c
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Support MemberExprs pointing to VarDecls
Commit: 1120d8e6f799121b611aa23bdc128e40cf9c6c58
https://github.com/llvm/llvm-project/commit/1120d8e6f799121b611aa23bdc128e40cf9c6c58
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Basic/Targets/SPIR.h
M clang/test/CodeGen/target-data.c
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/unittests/Bitcode/DataLayoutUpgradeTest.cpp
Log Message:
-----------
[clang][CodeGen] Add AS for Globals to SPIR & SPIRV datalayouts (#88455)
Currently neither the SPIR nor the SPIRV targets specify the AS for
globals in their datalayout strings. This is problematic because
CodeGen/LLVM will default to AS0 in this case, which produces Globals
that end up in the private address space for e.g. OCL, HIPSPV or SYCL.
This patch addresses it by completing the datalayout string.
Commit: 36b3c26451bf9a42f0b6b415993d3942bb73abdd
https://github.com/llvm/llvm-project/commit/36b3c26451bf9a42f0b6b415993d3942bb73abdd
Author: XChy <xxs_chy at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/CodeGen/AArch64/and-sink.ll
M llvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
M llvm/test/CodeGen/Hexagon/vect/zext-v4i1.ll
M llvm/test/Transforms/JumpThreading/pr79175.ll
M llvm/test/Transforms/JumpThreading/select.ll
M llvm/test/Transforms/JumpThreading/thread-prob-7.ll
A llvm/test/Transforms/JumpThreading/uncond-no-phi.ll
A llvm/test/Transforms/PhaseOrdering/thread-uncond-bb.ll
Log Message:
-----------
[JumpThreading] Thread over BB with only an unconditional branch (#86312)
Fixes #76609
This patch does:
- relax the phis constraint in `CanRedirectPredsOfEmptyBBToSucc`
- guarantee the BB has multiple different predecessors to redirect, so
that we can handle the case without phis in BB. Without this change and
phi constraint, we may redirect the CommonPred.
The motivation is consistent with JumpThreading. We always want the
branch to jump more direct to the destination, without passing the
middle block. In this way, we can expose more other optimization
opportunities.
An obivous example proposed by @dtcxzyw is like:
```llvm
define i32 @test(...) {
entry:
br i1 %c, label %do.end, label %if.then
if.then: ; preds = %entry
%call2 = call i32 @dummy()
%tobool3.not = icmp eq i32 %call2, 0
br i1 %tobool3.not, label %do.end, label %return
do.end: ; preds = %entry, %if.then
br label %return
return: ; preds = %if.then, %do.end
%retval.0 = phi i32 [ 0, %do.end ], [ %call2, %if.then ]
ret i32 %retval.0
}
```
`entry` can directly jump to return, without passing `do.end`, and then
the if-else pattern can be simplified further:
```llvm
define i32 @test(...) {
entry:
br i1 %c, label %return, label %if.then
if.then: ; preds = %entry
%call2 = call i32 @dummy()
br label %return
return: ; preds = %if.then
%retval.0 = phi i32 [ 0, %entry ], [ %call2, %if.then ]
ret i32 %retval.0
}
```
Commit: 32b74ca6e41768c91eee8b8ca26235b110a65deb
https://github.com/llvm/llvm-project/commit/32b74ca6e41768c91eee8b8ca26235b110a65deb
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/cxx03.cpp
Log Message:
-----------
[clang][Interp] Load value from MemberExpr if required
Commit: 92e96c7bbacbb477265c7e5ff6c49a6de5d4ee69
https://github.com/llvm/llvm-project/commit/92e96c7bbacbb477265c7e5ff6c49a6de5d4ee69
Author: Malay Sanghi <malay.sanghi at intel.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp
M llvm/lib/Target/PowerPC/GISel/PPCRegisterBankInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
M llvm/lib/Target/X86/GISel/X86RegisterBankInfo.cpp
M llvm/lib/Target/X86/GISel/X86RegisterBankInfo.h
M llvm/test/CodeGen/X86/GlobalISel/fconstant.ll
A llvm/test/CodeGen/X86/GlobalISel/regbankselect-sse-intrinsics.ll
M llvm/test/CodeGen/X86/GlobalISel/regbankselect-x87.ll
Log Message:
-----------
[X86][GISel] Add DU chain lookups for LOAD & STORE (#87453)
For G_LOAD and G_STORE we want this information during regbankselect.
Today we treat load dest as integer and insert converts.
---------
Co-authored-by: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
Commit: ac6b4c618a52c62cef9b143a767991dbba7453e1
https://github.com/llvm/llvm-project/commit/ac6b4c618a52c62cef9b143a767991dbba7453e1
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/vastart.ll
M llvm/test/Other/lint.ll
A llvm/test/Verifier/variadic.ll
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
Log Message:
-----------
Reapply "[Verifier] Reject va_start in non-variadic function (#88809)"
This reverts commit f4960da6023b8034ae68925c3223d51624621b37.
Includes a fix for the MLIR test case.
Commit: 09e7d7585cf881fb598eb56738579b84d027318c
https://github.com/llvm/llvm-project/commit/09e7d7585cf881fb598eb56738579b84d027318c
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/InterpFrame.cpp
M clang/lib/AST/Interp/State.cpp
M clang/test/AST/Interp/builtin-functions.cpp
Log Message:
-----------
[clang][Interp] Don't add 'in call to' diagnostics for builtin frames
Commit: a8de3ee8994023ea7669397587f8118ae5bba9c9
https://github.com/llvm/llvm-project/commit/a8de3ee8994023ea7669397587f8118ae5bba9c9
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Disasm.cpp
Log Message:
-----------
[clang][Interp][NFC] Fix some build warnings
Fixes:
/buildbot/worker/arc-folder/llvm-project/clang/lib/AST/Interp/Disasm.cpp:143:25: warning: cast from type 'const clang::interp::Block*' to type 'void*' casts away qualifiers [-Wcast-qual]
/buildbot/worker/arc-folder/llvm-project/clang/lib/AST/Interp/Disasm.cpp:271:23: warning: cast from type 'const clang::interp::Block*' to type 'void*' casts away qualifiers [-Wcast-qual]
Commit: c18a3b6bd30456305cf1b3d78ad5a805577388c1
https://github.com/llvm/llvm-project/commit/c18a3b6bd30456305cf1b3d78ad5a805577388c1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/dpbusd.ll
M llvm/test/CodeGen/X86/dpbusd_i4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
Log Message:
-----------
[DAG] Fold extract_subvector(insert_subvector(x,y,c1),c2) --> extract_subvector(y,c2-c1) (#87925) (REAPPLIED)
If the extract_subvector is cheap, attempt to extract directly from an inserted subvector
Reapplied with a check to ensure we only attempt this for fixed vectors
Commit: 71b9f6648222771470473431bc8ef2a2c25e872c
https://github.com/llvm/llvm-project/commit/71b9f6648222771470473431bc8ef2a2c25e872c
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Index/USRGeneration.cpp
M clang/test/Index/USR/func-type.cpp
Log Message:
-----------
[clang][Index] Use canonical function parameter types in USRs (#68222)
This is necessary to ensure that functions declared in different
translation units whose parameter types only differ in top-level
cv-qualification generate the same USR.
For example:
```
// A.cpp
void f(const int x); // c:@F at f#1I#
// B.cpp
void f(int x); // c:@F at f#I#
```
With this patch, the USR for both functions will be
`c:@F at f#I#`.
Commit: dadcaf82274805456b7d85131cf94f921b5398b7
https://github.com/llvm/llvm-project/commit/dadcaf82274805456b7d85131cf94f921b5398b7
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
M mlir/test/Dialect/ArmSME/vector-legalization.mlir
Log Message:
-----------
[mlir][ArmSME] Support decomposing constant splats into ArmSME tiles (#88762)
This adds a simple rewrite/legalization to decompose constant splats
larger than a single ArmSME tile into multiple SME virtual tile sized
splats. E.g. a constant splat to `vector<[8]x[8]xi32>` would decompose
into four `vector<[4]x[4]xi32>` splats.
Commit: 711df7b0ae4a9ea45e431d5c0ff4a0c8b2e732c1
https://github.com/llvm/llvm-project/commit/711df7b0ae4a9ea45e431d5c0ff4a0c8b2e732c1
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/invalid.mlir
Log Message:
-----------
[vector][mlir] Restrict vector.shuffle to fixed-width vectors (#88733)
At the moment there is no support for vector.shuffle for scalable
vectors - various hooks/helpers related to `vector.shuffle` simply
ignore the scalable flags (e.g. ` ShuffleOp::inferReturnTypes`).
This is unlikely to change any time soon (vector shuffles are known to
be tricky for scalable vectors), hence this patch restricts
`vector.shuffle` to fixed width vectors.
Commit: 75244a1043d2be5003dea6914d5edc940c437cd5
https://github.com/llvm/llvm-project/commit/75244a1043d2be5003dea6914d5edc940c437cd5
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/InterpBuiltin.cpp
A clang/test/AST/Interp/builtin-align-cxx.cpp
Log Message:
-----------
[clang][Interp] Implement align builtins
__builtin_is_aligned
__builtin_is_align_up
__builtin_is_align_down
Commit: 91dd844aa499d69c7ff75bf3156e2e3593a88057
https://github.com/llvm/llvm-project/commit/91dd844aa499d69c7ff75bf3156e2e3593a88057
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
Log Message:
-----------
Recommit [RISCV] RISCV vector calling convention (2/2) (#79096) (#87736)
Bug fix: Handle RVV return type in calling convention correctly.
Return values are handled in a same way as function arguments.
One thing to mention is that if a type can be broken down into
homogeneous
vector types, e.g. {<vscale x 4 x i32>, {<vscale x 4 x i32>, <vscale x 4
x i32>}},
it is considered as a vector tuple type and need to be handled by tuple
type rule.
Commit: ac1f2de7b581c26a768c4d2a2aad36505cc63c31
https://github.com/llvm/llvm-project/commit/ac1f2de7b581c26a768c4d2a2aad36505cc63c31
Author: Frederik Harwath <frederik.harwath at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/docs/Interfaces.md
Log Message:
-----------
[MLIR][docs] Mention declarePromisedInterface in Interfaces doc (#88689)
Co-authored-by: Frederik Harwath <fharwath at amd.com>
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: 1c076b43c294c7d29d99dd50f6853b33a5b99789
https://github.com/llvm/llvm-project/commit/1c076b43c294c7d29d99dd50f6853b33a5b99789
Author: Spenser Bauman <sbauman at mathworks.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
A mlir/test/Integration/Dialect/Tosa/CPU/test-maxpool-dynamic.mlir
Log Message:
-----------
[mlir][tosa] Implement dynamic shape support for tosa.max_pool2d lowering (#87538)
The existing lowering for tosa.max_pool2d only supports dynamic
dimensions when the dynamic dimension is the batch dimension. This
change updates the lowering to support arbitrary dynamic dimensions on
the inputs and outputs of the tosa.max_pool2d operation.
This change also fixes a bug in the implementation of implicit
broadcasting in the tosa-to-linalg pass, which was introducing uses of
constant ops that violated dominance requirements.
Commit: d4602a96b48b00a50c4d891673fc622ca2e37f0a
https://github.com/llvm/llvm-project/commit/d4602a96b48b00a50c4d891673fc622ca2e37f0a
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
Log Message:
-----------
[gn] port fe48bf672e1ab2
Commit: c309dc6d0759b23b570c563f611530ff1a49e1bd
https://github.com/llvm/llvm-project/commit/c309dc6d0759b23b570c563f611530ff1a49e1bd
Author: mahtohappy <Happy.Kumar at Windriver.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/TreeTransform.h
A clang/test/SemaCXX/instantiate-new-placement-size.cpp
Log Message:
-----------
[Clang][Sema] placement new initializes typedef array with correct size (#83124)
When in-place new-ing a local variable of an array of trivial type, the
generated code calls 'memset' with the correct size of the array,
earlier it was generating size (squared of the typedef array + size).
The cause: `typedef TYPE TArray[8]; TArray x;` The type of declarator is
Tarray[8] and in `SemaExprCXX.cpp::BuildCXXNew` we check if it's of
typedef and of constant size then we get the original type and it works
fine for non-dependent cases.
But in case of template we do `TreeTransform.h:TransformCXXNEWExpr` and
there we again check the allocated type which is TArray[8] and it stays
that way, so ArraySize=(Tarray[8] type, alloc Tarray[8*type]) so the
squared size allocation.
ArraySize gets calculated earlier in `TreeTransform.h` so that
`if(!ArraySize)` condition was failing.
fix: I changed that condition to `if(ArraySize)`.
Fixes #41441
Commit: 34013e7ce25868aa8ddea116f79184e8603af56c
https://github.com/llvm/llvm-project/commit/34013e7ce25868aa8ddea116f79184e8603af56c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-sse41.ll
Log Message:
-----------
[X86] Add shuffle tests for BLEND(PERMUTE(X),PERMUTE(Y)) patterns
Some very basic tests for a case where we could fold BLEND(PERMUTE(X),PERMUTE(Y)) -> PERMUTE(BLEND(X,Y))
These assume the permute masks are the same, and "complete" (no undefs/duplicate elements) but we could relax that depending on the blend mask
Commit: b73476c7843f21966acb2fb5cab8515d9ec02905
https://github.com/llvm/llvm-project/commit/b73476c7843f21966acb2fb5cab8515d9ec02905
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/trunc-store-value-ty-not-power-of-2.ll
Log Message:
-----------
[SLP] Make sure MinVF is a power-of-2 by using PowerOf2Ceil.
This should ensure we explore the same VFs as before 6d66db3890a18e39.
Fixes https://github.com/llvm/llvm-project/issues/88640.
Commit: e272c37934a06cd80b9b072afc09afae5fd8c218
https://github.com/llvm/llvm-project/commit/e272c37934a06cd80b9b072afc09afae5fd8c218
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/test/Driver/windows-seh-async-verify.cpp
Log Message:
-----------
clang; Try to get windows-seh-async-verify.cpp to pass on mac
On macOS, file paths start with /Users/..., which clang-cl interptrets
as the /U switch followed by a preprocessor macro name to undefine.
Put the filename after `--` to prevent this. For consistency, move %s
to the end of the regular `clang` lines (where this isn't needed) as
well.
Commit: f69ded0d9965a6b2b76ce12db876c70f249d96d1
https://github.com/llvm/llvm-project/commit/f69ded0d9965a6b2b76ce12db876c70f249d96d1
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaOpenMP.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[clang] Introduce `SemaOpenMP` (#88642)
This patch moves OpenMP-related entities out of `Sema` to a newly
created `SemaOpenMP` class. This is a part of the effort to split `Sema`
up, and follows the recent example of CUDA, OpenACC, SYCL, HLSL.
Additional context can be found in
https://github.com/llvm/llvm-project/pull/82217,
https://github.com/llvm/llvm-project/pull/84184,
https://github.com/llvm/llvm-project/pull/87634.
Commit: 9e7aab951ffba0211193ceb435c6b49e4e19ac24
https://github.com/llvm/llvm-project/commit/9e7aab951ffba0211193ceb435c6b49e4e19ac24
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/include/clang/Basic/Cuda.h
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
Log Message:
-----------
[CUDA] Rename SM_32 to SM_32_ to work around AIX headers (#88779)
Summary:
AIX headers define this, so we need to work around it. In the future
this will be removed but for now we should just rename it to avoid these
issues.
Commit: e7fb49c24e4be4780ee4df9829980c5e8ddd511e
https://github.com/llvm/llvm-project/commit/e7fb49c24e4be4780ee4df9829980c5e8ddd511e
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
Switch release notes links to using markup for github issues; NFC
Commit: 9d8be2408768912dc113a342050049231e4fc8d1
https://github.com/llvm/llvm-project/commit/9d8be2408768912dc113a342050049231e4fc8d1
Author: Utkarsh Saxena <usx at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGCleanup.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
R clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
R clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp
Log Message:
-----------
Revert "[codegen] Emit missing cleanups for stmt-expr and coro suspensions" and related commits (#88884)
The original change caused widespread breakages in msan/ubsan tests and
causes `use-after-free`. Most likely we are adding more cleanups than
necessary.
Commit: 9ce74d6d470437cde82e91631395322ec1c36eeb
https://github.com/llvm/llvm-project/commit/9ce74d6d470437cde82e91631395322ec1c36eeb
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/memcpy-libcall.ll
Log Message:
-----------
[AMDGPU][CodeGen] Improve handling of memcpy for -Os/-Oz compilations (#87632)
We had some instances when LLVM would not inline fixed-count memcpy and
ended up
attempting to lower it a a libcall, which would not work on AMDGPU as
the
address space doesn't meet the requirement, causing compiler crash.
The patch relaxes the threshold used for -Os/-Oz compilation so we're
always allowed
to inline memory copy functions.
This patch basically does the same thing as
https://reviews.llvm.org/D158226 for
AMDGPU.
Fix #88497.
Commit: 6ab5927238395798c2e8b657bb59a0304046099d
https://github.com/llvm/llvm-project/commit/6ab5927238395798c2e8b657bb59a0304046099d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/smax-unsigned-operand.ll
Log Message:
-----------
[SLP][NFC]Add a test with the incorrect vectorization of smax with unsigned arg.
Commit: 26ebe16d78b22329d602db0398ce163ad610b0dc
https://github.com/llvm/llvm-project/commit/26ebe16d78b22329d602db0398ce163ad610b0dc
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/smax-unsigned-operand.ll
Log Message:
-----------
[SLP]Fix PR88834: check if unsigned arg can be trunced, being used in smax/smin intrinsics.
Need to check that unsigned argument can be safely used in smax/smin
intrinsics by checking if at least single sign bit is cleared, otherwise
its value may be treated as negative instead of positive.
Commit: e185978321db4500d72fb1186476ee4104c5928b
https://github.com/llvm/llvm-project/commit/e185978321db4500d72fb1186476ee4104c5928b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle.ll
Log Message:
-----------
[VectorCombine][X86] Regenerate shuffle.ll + shuffle-of-casts.ll
Use v4 of UTC to improve regex matching of argument names to fix a filecheck matching in a future patch
Commit: e84b2fb48df882ee1f49bbbca29d44fba22192a8
https://github.com/llvm/llvm-project/commit/e84b2fb48df882ee1f49bbbca29d44fba22192a8
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/vectorize-force-tail-with-evl.ll
Log Message:
-----------
[LV][NFCI]Use integer for cost/trip count calculations instead of double, fix possible UB.
Using fp type in the compiler is not the best idea, here it used with
the comparison for equal to 0 and may cause undefined behavior in some
cases.
Reviewers: fhahn
Reviewed By: fhahn
Pull Request: https://github.com/llvm/llvm-project/pull/87241
Commit: 254df2e35c14414564d233902b25305ed17d251c
https://github.com/llvm/llvm-project/commit/254df2e35c14414564d233902b25305ed17d251c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
A llvm/test/Transforms/VectorCombine/X86/shuffle-of-binops.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle.ll
Log Message:
-----------
[VectorCombine][X86] shuffle-of-binops.ll - split off foldShuffleOfBinops tests from shuffle.ll
Commit: 6133878227efc30355c02c2f089e06ce58231a3d
https://github.com/llvm/llvm-project/commit/6133878227efc30355c02c2f089e06ce58231a3d
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-self-clause.c
A clang/test/SemaOpenACC/compute-construct-self-clause.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement `self` clause for compute constructs (#88760)
`self` clauses on compute constructs take an optional condition
expression. We again limit the implementation to ONLY compute constructs
to ensure we get all the rules correct for others. However, this one
will be particularly complicated, as it takes a `var-list` for `update`,
so when we get to that construct/clause combination, we need to do that
as well.
This patch also furthers uses of the `OpenACCClauses.def` as it became
useful while implementing this (as well as some other minor refactors as
I went through).
Finally, `self` and `if` clauses have an interaction with each other, if
an `if` clause evaluates to `true`, the `self` clause has no effect.
While this is intended and can be used 'meaningfully', we are warning on
this with a very granular warning, so that this edge case will be
noticed by newer users, but can be disabled trivially.
Commit: ac791888bbbe58651e597cf7a4b2276424b77a92
https://github.com/llvm/llvm-project/commit/ac791888bbbe58651e597cf7a4b2276424b77a92
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependency for 1c076b43c294c7d29d99dd50f6853b33a5b99789
Commit: a0f8191af3945482f0f7a7c8f030e8c519a795b7
https://github.com/llvm/llvm-project/commit/a0f8191af3945482f0f7a7c8f030e8c519a795b7
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Give built bytecode objects a .bc extension. NFC
Commit: 3d118f92081ea0c7048749dc5d08c8e8217be4eb
https://github.com/llvm/llvm-project/commit/3d118f92081ea0c7048749dc5d08c8e8217be4eb
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Fix dependencies between targets
We need file-level - not target-level - dependencies for these custom
commands to re-trigger when their dependencies change.
Commit: 60de56c743c414240b293a8b8ee10bc2129d7e10
https://github.com/llvm/llvm-project/commit/60de56c743c414240b293a8b8ee10bc2129d7e10
Author: Harald van Dijk <harald.vandijk at codeplay.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[ValueTracking] Restore isKnownNonZero parameter order. (#88873)
Prior to #85863, the required parameters of llvm::isKnownNonZero were
Value and DataLayout. After, they are Value, Depth, and SimplifyQuery,
where SimplifyQuery is implicitly constructible from DataLayout. The
change to move Depth before SimplifyQuery needed callers to be updated
unnecessarily, and as commented in #85863, we actually want Depth to be
after SimplifyQuery anyway so that it can be defaulted and the caller
does not need to specify it.
Commit: 5a34ff12b8f4a73f5dcd4be1b2575dc38cf13bee
https://github.com/llvm/llvm-project/commit/5a34ff12b8f4a73f5dcd4be1b2575dc38cf13bee
Author: Jeremy Kun <jkun at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
Log Message:
-----------
fix Polynomial.td doc filename (#88900)
Not sure how best to test this, but I think it fixes the error
https://github.com/llvm/mlir-www/actions/runs/8699908058/job/23859264085#step:7:1111
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Co-authored-by: Jacques Pienaar <jpienaar at google.com>
Commit: b63247627c9e87e898dec5bf0bea255b3f0eec5c
https://github.com/llvm/llvm-project/commit/b63247627c9e87e898dec5bf0bea255b3f0eec5c
Author: Ding Fei <fding at feysh.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
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/Sema/recover-expr-gh88008-nocrash.c
Log Message:
-----------
[AST][RecoveryExpr] Fix a crash on c89/c90 invalid InitListExpr (#88008) (#88014)
Use refactored `CheckForConstantInitializer()` to skip checking expr
with error.
---------
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: d2d4a1bbdc455a30d600743eb59fb1c69205967a
https://github.com/llvm/llvm-project/commit/d2d4a1bbdc455a30d600743eb59fb1c69205967a
Author: XChy <xxs_chy at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/CodeGen/AArch64/and-sink.ll
M llvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
M llvm/test/CodeGen/Hexagon/vect/zext-v4i1.ll
M llvm/test/Transforms/JumpThreading/pr79175.ll
M llvm/test/Transforms/JumpThreading/select.ll
M llvm/test/Transforms/JumpThreading/thread-prob-7.ll
R llvm/test/Transforms/JumpThreading/uncond-no-phi.ll
R llvm/test/Transforms/PhaseOrdering/thread-uncond-bb.ll
Log Message:
-----------
Revert "[JumpThreading] Thread over BB with only an unconditional branch" (#88907)
Reverts llvm/llvm-project#86312
Commit: 22629bb22a1bea95eebfc9b3171005de107c38f1
https://github.com/llvm/llvm-project/commit/22629bb22a1bea95eebfc9b3171005de107c38f1
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/include/__availability
M libcxx/include/__config
M libcxx/include/__expected/bad_expected_access.h
M libcxx/include/__functional/function.h
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/src/CMakeLists.txt
A libcxx/src/expected.cpp
M libcxx/src/functional.cpp
Log Message:
-----------
[libc++] Use availability to rely on key functions for bad_expected_access and bad_function_call (#87390)
This patch uses our availability machinery to allow defining a key
function for bad_function_call and bad_expected_access at all times but
only rely on it when we can. This prevents compilers from complaining
about weak vtables and reduces code bloat and the amount of work done by
the dynamic linker.
rdar://111917845
Commit: 9ddedf07ed80076e0e419940753aeaaf719a09ec
https://github.com/llvm/llvm-project/commit/9ddedf07ed80076e0e419940753aeaaf719a09ec
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/.clang-format
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/atomic_flag.h
M libcxx/include/__config
M libcxx/include/barrier
M libcxx/include/latch
M libcxx/include/semaphore
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_all.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_one.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait_explicit.pass.cpp
M libcxx/test/std/thread/thread.barrier/arrive.pass.cpp
M libcxx/test/std/thread/thread.barrier/arrive_and_drop.pass.cpp
M libcxx/test/std/thread/thread.barrier/arrive_and_wait.pass.cpp
M libcxx/test/std/thread/thread.barrier/completion.pass.cpp
M libcxx/test/std/thread/thread.barrier/ctor.compile.pass.cpp
M libcxx/test/std/thread/thread.barrier/max.pass.cpp
M libcxx/test/std/thread/thread.latch/arrive_and_wait.pass.cpp
M libcxx/test/std/thread/thread.latch/count_down.pass.cpp
M libcxx/test/std/thread/thread.latch/ctor.pass.cpp
M libcxx/test/std/thread/thread.latch/max.pass.cpp
M libcxx/test/std/thread/thread.latch/try_wait.pass.cpp
M libcxx/test/std/thread/thread.semaphore/acquire.pass.cpp
M libcxx/test/std/thread/thread.semaphore/binary.pass.cpp
M libcxx/test/std/thread/thread.semaphore/ctor.compile.pass.cpp
M libcxx/test/std/thread/thread.semaphore/max.pass.cpp
M libcxx/test/std/thread/thread.semaphore/release.pass.cpp
M libcxx/test/std/thread/thread.semaphore/timed.pass.cpp
M libcxx/test/std/thread/thread.semaphore/try_acquire.pass.cpp
Log Message:
-----------
[libc++] Deprecate the C++20 synchronization library before C++20 (#86410)
When we initially implemented the C++20 synchronization library, we
reluctantly accepted for the implementation to be backported to C++03
upon request from the person who provided the patch. This was when we
were only starting to have experience with the issues this can create,
so we flinched. Nowadays, we have a much stricter stance about not
backporting features to previous standards.
We have recently started fixing several bugs (and near bugs) in our
implementation of the synchronization library. A recurring theme during
these reviews has been how difficult to understand the current code is,
and upon inspection it becomes clear that being able to use a few recent
C++ features (in particular lambdas) would help a great deal. The code
would still be pretty intricate, but it would be a lot easier to reason
about the flow of callbacks through things like
__thread_poll_with_backoff.
As a result, this patch deprecates support for the synchronization
library before C++20. In the next release, we can remove that support
entirely.
Commit: bd28889732e14ac6baca686c3ec99a82fc9cd89d
https://github.com/llvm/llvm-project/commit/bd28889732e14ac6baca686c3ec99a82fc9cd89d
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Add coverage for strength reduction of mul 2^N +/- 3/5/9
Commit: 1334c034a73b7bf8a7af08be1c33d24a58127c47
https://github.com/llvm/llvm-project/commit/1334c034a73b7bf8a7af08be1c33d24a58127c47
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M flang/test/Semantics/OpenMP/clause-validity01.f90
Log Message:
-----------
[flang] Fix test after 4078afc6d23e25df6baedad61b224ef86a94d42f
This tests requires the OpenMP runtime to be present, but the way that
the lit config detects it fails when "openmp" is added to RUNTIMES
instead of PROJECTS. This caused the tests to be skipped as unsupported
in local and upstream tests.
The actual bug was a missing word in the message, and putting the check
at the wrong line.
Commit: bf1ad1d267b1f911cb9846403d2c3d3250a40870
https://github.com/llvm/llvm-project/commit/bf1ad1d267b1f911cb9846403d2c3d3250a40870
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
A llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
Log Message:
-----------
[VectorCombine][X86] Add initial shuffle-of-shuffles.ll test cover for #88743
Commit: f8e2ec13a8c6d33cb7b4f37869b4429ddcf43f01
https://github.com/llvm/llvm-project/commit/f8e2ec13a8c6d33cb7b4f37869b4429ddcf43f01
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M lldb/test/API/functionalities/asan/Makefile
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/asan/TestReportData.py
R lldb/test/API/functionalities/libsanitizers/util.py
Log Message:
-----------
Revert "Add asan tests for libsanitizers. (#88349)"
This reverts commit 82f479ba315a417b6cd01a8c2efdc15c26689f2e due to bot breakage.
Commit: 8cee94e989b5bf6fb6455087d48eb6c6e0e23c54
https://github.com/llvm/llvm-project/commit/8cee94e989b5bf6fb6455087d48eb6c6e0e23c54
Author: Harald van Dijk <harald.vandijk at codeplay.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Fix obvious copy paste error.
CASE_VFMA_OPCODE_VV and CASE_VFMA_CHANGE_OPCODE_VV need to match up if we are
are to avoid "Unexpected opcode" errors, but in CASE_VFMA_CHANGE_OPCODE_VV,
CASE_VFMA_CHANGE_OPCODE_LMULS_MF2 had mistakenly been used instead of
CASE_VFMA_CHANGE_OPCODE_LMULS_MF4.
Commit: 51b42b762112f2e77d032efd16fa0d9d31cde494
https://github.com/llvm/llvm-project/commit/51b42b762112f2e77d032efd16fa0d9d31cde494
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/AST/ast-dump-attr-json.cpp
M clang/test/Sema/alias-unused-win.cpp
M clang/test/Sema/alias-unused.cpp
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
Revert "[Sema] Mark alias/ifunc targets used and consider mangled names" (#88919)
Reverts llvm/llvm-project#87130
Bot is broken with clang crash:
https://lab.llvm.org/buildbot/#/builders/272/builds/14063/steps/6/logs/stdio
Commit: 9d111286322ec99b32467eef3aeec6b588c49f18
https://github.com/llvm/llvm-project/commit/9d111286322ec99b32467eef3aeec6b588c49f18
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Improve clarity of CMake foreach. NFC.
Should be a bit easier to read.
Commit: 2704ebaf2885a16155ab7144f8dd0dd459d77089
https://github.com/llvm/llvm-project/commit/2704ebaf2885a16155ab7144f8dd0dd459d77089
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M flang/cmake/modules/AddFlangOffloadRuntime.cmake
M flang/lib/Decimal/CMakeLists.txt
M flang/runtime/CMakeLists.txt
Log Message:
-----------
[flang][runtime] Create CUDA PTX OBJECT library target for F18 runtime CUDA build. (#88821)
This is to experiment with distributing F18 runtime CUDA library
in the form of a pure PTX library. The change is under
FLANG_EXPERIMENTAL_CUDA_RUNTIME CMake control.
Commit: a79783d7ad00c4c10c30f637f4bf13551e47f3dd
https://github.com/llvm/llvm-project/commit/a79783d7ad00c4c10c30f637f4bf13551e47f3dd
Author: Robin Caloudis <robin.caloudis at gmx.de>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libc/src/fenv/fegetexceptflag.h
M libc/src/fenv/fesetexceptflag.h
M libc/src/fenv/feupdateenv.cpp
Log Message:
-----------
[libc][fenv] Use proxy header (#88787)
Include types `fexcept_t` and `fenv_t ` from corresponding proxy
headers, as they are available since
https://github.com/llvm/llvm-project/pull/88467.
Commit: 38895e6578f7728cfb3d41d0880a0e9b358d9afd
https://github.com/llvm/llvm-project/commit/38895e6578f7728cfb3d41d0880a0e9b358d9afd
Author: Robin Caloudis <robin.caloudis at gmx.de>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libc/src/fenv/CMakeLists.txt
Log Message:
-----------
[libc][fenv] Remove unnecessary dependencies (#88788)
Remove the fenv macro dependency from the CMake files as the underlying targets
do not make use of it. Note that we do not have to worry about
[corresponding Bazel targets](https://github.com/llvm/llvm-project/blob/main/utils/bazel/llvm-project-overlay/libc/BUILD.bazel#L1138-L1288),
as they look good.
Commit: 1c6b0f779f66494cb597884c1a52e377bde4bc54
https://github.com/llvm/llvm-project/commit/1c6b0f779f66494cb597884c1a52e377bde4bc54
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/MachineDebugify.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/test/CodeGen/Generic/MIRDebugify/check-line-and-variables-x.mir
M llvm/test/CodeGen/Generic/MIRDebugify/check-line-and-variables.ll
M llvm/test/CodeGen/Generic/MIRDebugify/check-line-and-variables.mir
M llvm/test/CodeGen/Generic/MIRDebugify/locations-and-values.mir
M llvm/test/CodeGen/Generic/MIRDebugify/multifunction-module.mir
M llvm/test/DebugInfo/debugify-bogus-dbg-value.ll
M llvm/test/DebugInfo/debugify-each.ll
M llvm/test/DebugInfo/debugify-export.ll
M llvm/test/DebugInfo/debugify-ignore-phi.ll
M llvm/test/DebugInfo/debugify-original-no-dbg-info.ll
M llvm/test/DebugInfo/debugify-report-missing-locs-only.ll
M llvm/test/DebugInfo/debugify.ll
M llvm/test/DebugInfo/pr37964.ll
M llvm/test/DebugInfo/salvage-cast-debug-info.ll
M llvm/test/DebugInfo/verify-di-preserve.ll
Log Message:
-----------
[RemoveDI] Add support for debug records to debugify (#87383)
This patch changes debugify to support debug variable records, and
subsequently to no longer convert modules automatically to intrinsics
when entering debugify.
Commit: 45eabd1362527d1b3a27a90f7479865785b763ee
https://github.com/llvm/llvm-project/commit/45eabd1362527d1b3a27a90f7479865785b763ee
Author: YunQiang Su <syq at debian.org>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M flang/test/Driver/msvc-dependent-lib-flags.f90
Log Message:
-----------
[flang,test] Add -resource-dir option to msvc-dependent-lib-flags.f90 (#88894)
For aarch64-windows-msvc, clang_rt.builtins is placed in windows subdir
instead of triple subdir, and the name of clang_rt.builtins is
clang_rt.builtins-aarch64.lib.
So let's use `-resource-dir` option to fix test failure.
Please see talk for PR#87866.
Commit: 22e6bf77ad8781810fc81fff4c447c03cdf6f419
https://github.com/llvm/llvm-project/commit/22e6bf77ad8781810fc81fff4c447c03cdf6f419
Author: Volodymyr Sapsai <vsapsai at apple.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ModuleFileExtension.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/GeneratePCH.cpp
M clang/lib/Serialization/GlobalModuleIndex.cpp
M clang/lib/Serialization/ModuleFileExtension.cpp
M clang/lib/Serialization/PCHContainerOperations.cpp
Log Message:
-----------
[unused-includes][Serialization] Remove unused includes. NFC. (#88790)
Commit: b566810add5b7c5695bdd2c39710b78af9dc83ba
https://github.com/llvm/llvm-project/commit/b566810add5b7c5695bdd2c39710b78af9dc83ba
Author: Volodymyr Sapsai <vsapsai at apple.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/PCHContainerOperations.h
Log Message:
-----------
[unused-includes] PCHContainerOperations uses MemoryBufferRef, not MemoryBuffer. NFC. (#88794)
Commit: 454d4496970f665200b5b300578894d78405b6ca
https://github.com/llvm/llvm-project/commit/454d4496970f665200b5b300578894d78405b6ca
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M openmp/runtime/src/kmp_dispatch.cpp
Log Message:
-----------
[OpenMP] Use a memory fence before incrementing the dispatch buffer index (#87995)
This patch uses a memory fence in function `__kmp_dispatch_next()` to
flush pending memory write invalidates before incrementing the
`volatile` variable `buffer_index` to fix intermittent time-outs of
OpenMP runtime LIT test cases `env/kmp_set_dispatch_buf.c` and
`worksharing/for/kmp_set_dispatch_buf.c`, noting that the same is needed
for incrementing `buffer_index` in function `__kmpc_next_section()`
(line 2600 of `kmp_dispatch.cpp`).
Commit: 22bba85d82637d0446928ff6ff41f98583f3d3b2
https://github.com/llvm/llvm-project/commit/22bba85d82637d0446928ff6ff41f98583f3d3b2
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M openmp/runtime/test/tasking/hidden_helper_task/capacity_mix_threads.cpp
M openmp/runtime/test/tasking/hidden_helper_task/capacity_nthreads.cpp
Log Message:
-----------
[OpenMP][test][AIX] Make 64 the max number of threads for capacity tests in AIX 32-bit (#88739)
This patch makes 64 the max number of threads for 2 capacity tests in
AIX 32-bit mode rather than `XFAIL`ing them.
Commit: 8137bd9e03d636a27701a85b6efe899f9571cac5
https://github.com/llvm/llvm-project/commit/8137bd9e03d636a27701a85b6efe899f9571cac5
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/ProfileData/MemProfReader.h
M llvm/lib/ProfileData/MemProf.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Use CSId to construct MemProfRecord (#88362)
We are in the process of referring to call stacks with CallStackId in
IndexedMemProfRecord and IndexedAllocationInfo instead of holding call
stacks inline (both in memory and the serialized format). Doing so
deduplicates call stacks and reduces the MemProf profile file size.
Before we can eliminate the two fields holding call stacks inline:
- IndexedAllocationInfo::CallStack
- IndexedMemProfRecord::CallSites
we need to eliminate all the read operations on them.
This patch is a step toward that direction. Specifically, we
eliminate the read operations in the context of MemProfReader and
RawMemProfReader. A subsequent patch will eliminate the read
operations during the serialization.
Commit: 1b678ba0ea24b9bbd47509abc967c2b9bdd15ec8
https://github.com/llvm/llvm-project/commit/1b678ba0ea24b9bbd47509abc967c2b9bdd15ec8
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M .github/CODEOWNERS
M bolt/docs/BAT.md
M bolt/include/bolt/Core/BinaryData.h
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryData.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/X86/bolt-address-translation.test
M clang-tools-extra/clang-tidy/linuxkernel/MustCheckErrsCheck.h
M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/linuxkernel/must-check-errs.rst
R clang-tools-extra/docs/clang-tidy/checks/linuxkernel/must-use-errs.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang/cmake/caches/Release.cmake
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Cuda.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/CodeGen/CodeGenAction.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaBase.h
A clang/include/clang/Sema/SemaCUDA.h
M clang/include/clang/Sema/SemaOpenACC.h
A clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ModuleFileExtension.h
M clang/include/clang/Serialization/PCHContainerOperations.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/Disasm.cpp
M clang/lib/AST/Interp/FunctionPointer.h
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBlock.h
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/lib/AST/Interp/InterpFrame.cpp
M clang/lib/AST/Interp/Pointer.h
M clang/lib/AST/Interp/State.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/Module.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGCleanup.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Index/USRGeneration.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/GeneratePCH.cpp
M clang/lib/Serialization/GlobalModuleIndex.cpp
M clang/lib/Serialization/ModuleFileExtension.cpp
M clang/lib/Serialization/MultiOnDiskHashTable.h
M clang/lib/Serialization/PCHContainerOperations.cpp
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
A clang/test/AST/Interp/builtin-align-cxx.cpp
M clang/test/AST/Interp/builtin-functions.cpp
M clang/test/AST/Interp/cxx03.cpp
M clang/test/AST/Interp/functions.cpp
M clang/test/AST/Interp/records.cpp
M clang/test/AST/Interp/vectors.cpp
A clang/test/AST/ast-dump-cxx2c-delete-with-message.cpp
A clang/test/AST/ast-print-cxx2c-delete-with-message.cpp
M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
M clang/test/Analysis/cxx-uninitialized-object-ptr-ref.cpp
M clang/test/Analysis/exercise-ps.c
M clang/test/Analysis/explain-svals.cpp
A clang/test/Analysis/malloc-std-namespace.cpp
M clang/test/Analysis/malloc.c
M clang/test/Analysis/malloc.cpp
M clang/test/Analysis/stack-addr-ps.c
M clang/test/Analysis/stackaddrleak.c
A clang/test/CXX/drs/cwg118.cpp
A clang/test/CXX/drs/cwg124.cpp
A clang/test/CXX/drs/cwg158.cpp
A clang/test/CXX/drs/cwg1748.cpp
A clang/test/CXX/drs/cwg177x.cpp
A clang/test/CXX/drs/cwg1807.cpp
A clang/test/CXX/drs/cwg185.cpp
A clang/test/CXX/drs/cwg193.cpp
A clang/test/CXX/drs/cwg199.cpp
A clang/test/CXX/drs/cwg201.cpp
A clang/test/CXX/drs/cwg210.cpp
A clang/test/CXX/drs/cwg2335.cpp
A clang/test/CXX/drs/cwg2390.cpp
A clang/test/CXX/drs/cwg2504.cpp
A clang/test/CXX/drs/cwg292.cpp
A clang/test/CXX/drs/cwg392.cpp
A clang/test/CXX/drs/cwg412.cpp
A clang/test/CXX/drs/cwg438.cpp
A clang/test/CXX/drs/cwg439.cpp
A clang/test/CXX/drs/cwg441.cpp
A clang/test/CXX/drs/cwg462.cpp
A clang/test/CXX/drs/cwg492.cpp
A clang/test/CXX/drs/cwg519.cpp
A clang/test/CXX/drs/cwg571.cpp
A clang/test/CXX/drs/cwg605.cpp
A clang/test/CXX/drs/cwg650.cpp
A clang/test/CXX/drs/cwg653.cpp
A clang/test/CXX/drs/cwg658.cpp
A clang/test/CXX/drs/cwg661.cpp
A clang/test/CXX/drs/cwg672.cpp
A clang/test/CXX/drs/cwgr593.cpp
M clang/test/CXX/drs/dr0xx.cpp
M clang/test/CXX/drs/dr10xx.cpp
R clang/test/CXX/drs/dr118.cpp
M clang/test/CXX/drs/dr11xx.cpp
R clang/test/CXX/drs/dr124.cpp
M clang/test/CXX/drs/dr12xx.cpp
M clang/test/CXX/drs/dr13xx.cpp
M clang/test/CXX/drs/dr14xx.cpp
R clang/test/CXX/drs/dr158.cpp
M clang/test/CXX/drs/dr15xx.cpp
M clang/test/CXX/drs/dr16xx.cpp
R clang/test/CXX/drs/dr1748.cpp
R clang/test/CXX/drs/dr177x.cpp
M clang/test/CXX/drs/dr17xx.cpp
R clang/test/CXX/drs/dr1807.cpp
R clang/test/CXX/drs/dr185.cpp
M clang/test/CXX/drs/dr18xx.cpp
R clang/test/CXX/drs/dr193.cpp
R clang/test/CXX/drs/dr199.cpp
M clang/test/CXX/drs/dr19xx.cpp
M clang/test/CXX/drs/dr1xx.cpp
R clang/test/CXX/drs/dr201.cpp
M clang/test/CXX/drs/dr20xx.cpp
R clang/test/CXX/drs/dr210.cpp
M clang/test/CXX/drs/dr21xx.cpp
M clang/test/CXX/drs/dr22xx.cpp
R clang/test/CXX/drs/dr2335.cpp
R clang/test/CXX/drs/dr2390.cpp
M clang/test/CXX/drs/dr23xx.cpp
M clang/test/CXX/drs/dr24xx.cpp
R clang/test/CXX/drs/dr2504.cpp
M clang/test/CXX/drs/dr25xx.cpp
M clang/test/CXX/drs/dr26xx.cpp
M clang/test/CXX/drs/dr27xx.cpp
M clang/test/CXX/drs/dr28xx.cpp
R clang/test/CXX/drs/dr292.cpp
M clang/test/CXX/drs/dr2xx.cpp
R clang/test/CXX/drs/dr392.cpp
M clang/test/CXX/drs/dr3xx.cpp
R clang/test/CXX/drs/dr412.cpp
R clang/test/CXX/drs/dr438.cpp
R clang/test/CXX/drs/dr439.cpp
R clang/test/CXX/drs/dr441.cpp
R clang/test/CXX/drs/dr462.cpp
R clang/test/CXX/drs/dr492.cpp
M clang/test/CXX/drs/dr4xx.cpp
R clang/test/CXX/drs/dr519.cpp
R clang/test/CXX/drs/dr571.cpp
R clang/test/CXX/drs/dr593.cpp
M clang/test/CXX/drs/dr5xx.cpp
R clang/test/CXX/drs/dr605.cpp
R clang/test/CXX/drs/dr650.cpp
R clang/test/CXX/drs/dr653.cpp
R clang/test/CXX/drs/dr658.cpp
R clang/test/CXX/drs/dr661.cpp
R clang/test/CXX/drs/dr672.cpp
M clang/test/CXX/drs/dr6xx.cpp
M clang/test/CXX/drs/dr7xx.cpp
M clang/test/CXX/drs/dr8xx.cpp
M clang/test/CXX/drs/dr9xx.cpp
M clang/test/CXX/over/over.built/ast.cpp
M clang/test/ClangScanDeps/removed-args.c
M clang/test/CodeGen/bitfield-access-unit.c
M clang/test/CodeGen/target-data.c
R clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
M clang/test/CodeGenCXX/module-funcs-from-imports.cppm
R clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp
M clang/test/CodeGenHLSL/builtins/any.hlsl
M clang/test/Driver/arm-compiler-rt.c
M clang/test/Driver/cl-link.c
M clang/test/Driver/compiler-rt-unwind.c
M clang/test/Driver/coverage-ld.c
M clang/test/Driver/frame-pointer-elim.c
M clang/test/Driver/instrprof-ld.c
M clang/test/Driver/linux-ld.c
M clang/test/Driver/mingw-sanitizers.c
A clang/test/Driver/module-fgen-reduced-bmi.cppm
M clang/test/Driver/msp430-toolchain.c
M clang/test/Driver/print-libgcc-file-name-clangrt.c
M clang/test/Driver/print-runtime-dir.c
M clang/test/Driver/riscv32-toolchain-extra.c
M clang/test/Driver/riscv32-toolchain.c
M clang/test/Driver/riscv64-toolchain-extra.c
M clang/test/Driver/riscv64-toolchain.c
M clang/test/Driver/sanitizer-ld.c
M clang/test/Driver/wasm-toolchain.c
M clang/test/Driver/wasm-toolchain.cpp
M clang/test/Driver/windows-cross.c
A clang/test/Driver/windows-seh-async-verify.cpp
M clang/test/Driver/zos-ld.c
M clang/test/Index/USR/func-type.cpp
M clang/test/Lexer/cxx-features.cpp
A clang/test/Modules/Inputs/ptrauth-include-from-darwin/module.modulemap
A clang/test/Modules/Inputs/ptrauth-include-from-darwin/ptrauth.h
A clang/test/Modules/Inputs/ptrauth-include-from-darwin/stddef.h
A clang/test/Modules/hashing-decls-in-exprs-from-gmf-2.cppm
A clang/test/Modules/modules-reduced-bmi.cppm
A clang/test/Modules/ptrauth-include-from-darwin.m
M clang/test/OpenMP/ompx_attributes_codegen.cpp
M clang/test/PCH/cxx2a-defaulted-comparison.cpp
A clang/test/Parser/cxx2c-delete-with-message.cpp
M clang/test/ParserOpenACC/parse-clauses.c
A clang/test/Sema/alias-unused-win.cpp
R clang/test/Sema/alias-unused.c
A clang/test/Sema/alias-unused.cpp
A clang/test/Sema/recover-expr-gh88008-nocrash.c
A clang/test/SemaCXX/PR84020.cpp
A clang/test/SemaCXX/cxx2c-delete-with-message.cpp
A clang/test/SemaCXX/instantiate-new-placement-size.cpp
M clang/test/SemaCXX/overloaded-operator.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-self-clause.c
A clang/test/SemaOpenACC/compute-construct-self-clause.cpp
M clang/test/SemaTemplate/instantiate-using-decl.cpp
M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
M clang/tools/clang-installapi/Options.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp
M clang/www/cxx_status.html
M clang/www/make_cxx_dr_status
M compiler-rt/test/sanitizer_common/TestCases/Linux/mmap_56bit_test.c
M flang/cmake/modules/AddFlangOffloadRuntime.cmake
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/extensions.h
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Decimal/CMakeLists.txt
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
R flang/lib/Optimizer/Transforms/AddDebugFoundation.cpp
A flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/runtime/CMakeLists.txt
M flang/runtime/extensions.cpp
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/msvc-dependent-lib-flags.f90
A flang/test/Fir/cuf-invalid.fir
A flang/test/Fir/cuf.mlir
M flang/test/Lower/OpenMP/FIR/target.f90
A flang/test/Lower/OpenMP/Todo/reduction-modifiers.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/use-device-ptr-to-use-device-addr.f90
A flang/test/Parser/OpenMP/reduction-modifier.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/cuf11.cuf
M flang/test/Transforms/debug-line-table-existing.fir
M flang/test/Transforms/debug-line-table-inc-file.fir
M flang/test/Transforms/debug-line-table-inc-same-file.fir
M flang/test/Transforms/debug-line-table.fir
A flang/unittests/Runtime/AccessTest.cpp
M flang/unittests/Runtime/CMakeLists.txt
M libc/docs/stdbit.rst
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/fenv_t.h
A libc/hdr/types/fexcept_t.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
M libc/src/__support/FPUtil/arm/FEnvImpl.h
M libc/src/__support/FPUtil/riscv/FEnvImpl.h
M libc/src/__support/FPUtil/x86_64/FEnvImpl.h
M libc/src/__support/str_to_float.h
M libc/src/fenv/CMakeLists.txt
M libc/src/fenv/fegetenv.h
M libc/src/fenv/fegetexceptflag.cpp
M libc/src/fenv/fegetexceptflag.h
M libc/src/fenv/feholdexcept.cpp
M libc/src/fenv/feholdexcept.h
M libc/src/fenv/fesetenv.h
M libc/src/fenv/fesetexceptflag.cpp
M libc/src/fenv/fesetexceptflag.h
M libc/src/fenv/feupdateenv.cpp
M libc/src/fenv/feupdateenv.h
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/FPExceptMatcher.cpp
M libc/test/src/fenv/exception_flags_test.cpp
M libc/test/src/fenv/feholdexcept_test.cpp
M libc/test/src/fenv/feupdateenv_test.cpp
M libc/test/src/fenv/getenv_and_setenv_test.cpp
M libc/utils/docgen/docgen.py
A libc/utils/docgen/stdbit.json
M libclc/CMakeLists.txt
M libcxx/.clang-format
M libcxx/CMakeLists.txt
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/shared_mutex_vs_mutex.bench.cpp
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx20.rst
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/Status/SpaceshipPapers.csv
M libcxx/docs/UsingLibcxx.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/pstl_backends/cpu_backend.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/any_of.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/backend.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/fill.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/find_if.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/for_each.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/libdispatch.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/merge.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/serial.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/stable_sort.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/thread.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/transform.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/transform_reduce.h
M libcxx/include/__algorithm/sort.h
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/atomic_flag.h
M libcxx/include/__availability
M libcxx/include/__config
A libcxx/include/__debug_utils/sanitizers.h
M libcxx/include/__expected/bad_expected_access.h
M libcxx/include/__functional/function.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/shared_ptr.h
A libcxx/include/__pstl/cpu_algos/cpu_traits.h
M libcxx/include/__system_error/errc.h
M libcxx/include/__utility/is_pointer_in_range.h
A libcxx/include/__utility/is_valid_range.h
M libcxx/include/algorithm
M libcxx/include/barrier
M libcxx/include/bit
M libcxx/include/cerrno
M libcxx/include/charconv
M libcxx/include/chrono
M libcxx/include/compare
M libcxx/include/concepts
M libcxx/include/coroutine
M libcxx/include/deque
M libcxx/include/latch
M libcxx/include/libcxx.imp
M libcxx/include/memory
M libcxx/include/module.modulemap
M libcxx/include/semaphore
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/vector
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/modules/std/memory.inc
M libcxx/src/CMakeLists.txt
A libcxx/src/expected.cpp
M libcxx/src/functional.cpp
M libcxx/src/include/tzdb/tzdb_list_private.h
M libcxx/src/pstl/libdispatch.cpp
M libcxx/test/libcxx/algorithms/half_positive.pass.cpp
M libcxx/test/libcxx/algorithms/pstl.libdispatch.chunk_partitions.pass.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_strong.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.depr_in_cxx20.verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_weak.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_exchange.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_exchange_explicit.verify.depr_in_cxx20..cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_is_lock_free.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_load.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_load_explicit.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_store.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_store_explicit.depr_in_cxx20..verify.cpp
M libcxx/test/libcxx/numerics/bit.ops.pass.cpp
M libcxx/test/libcxx/time/convert_to_tm.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
A libcxx/test/libcxx/utilities/is_valid_range.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_all.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_one.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait_explicit.pass.cpp
R libcxx/test/std/depr.cerro/cerrno.syn.verify.cpp
M libcxx/test/std/thread/thread.barrier/arrive.pass.cpp
M libcxx/test/std/thread/thread.barrier/arrive_and_drop.pass.cpp
M libcxx/test/std/thread/thread.barrier/arrive_and_wait.pass.cpp
M libcxx/test/std/thread/thread.barrier/completion.pass.cpp
M libcxx/test/std/thread/thread.barrier/ctor.compile.pass.cpp
M libcxx/test/std/thread/thread.barrier/max.pass.cpp
M libcxx/test/std/thread/thread.latch/arrive_and_wait.pass.cpp
M libcxx/test/std/thread/thread.latch/count_down.pass.cpp
M libcxx/test/std/thread/thread.latch/ctor.pass.cpp
M libcxx/test/std/thread/thread.latch/max.pass.cpp
M libcxx/test/std/thread/thread.latch/try_wait.pass.cpp
M libcxx/test/std/thread/thread.semaphore/acquire.pass.cpp
M libcxx/test/std/thread/thread.semaphore/binary.pass.cpp
M libcxx/test/std/thread/thread.semaphore/ctor.compile.pass.cpp
M libcxx/test/std/thread/thread.semaphore/max.pass.cpp
M libcxx/test/std/thread/thread.semaphore/release.pass.cpp
M libcxx/test/std/thread/thread.semaphore/timed.pass.cpp
M libcxx/test/std/thread/thread.semaphore/try_acquire.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange_explicit.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_is_lock_free.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load_explicit.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store_explicit.pass.cpp
M libcxx/test/tools/CMakeLists.txt
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
M libcxx/utils/ci/buildkite-pipeline.yml
M libcxx/utils/ci/run-buildbot
M libcxx/utils/generate_iwyu_mapping.py
M libcxxabi/src/aix_state_tab_eh.inc
M lld/COFF/Chunks.cpp
M lld/COFF/Writer.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/Relocations.cpp
M lld/MachO/ObjC.cpp
M lld/test/COFF/autoimport-arm-data.s
M lld/test/COFF/autoimport-arm64-data.s
A lld/test/COFF/autoimport-gc.s
M lld/test/COFF/autoimport-gnu-implib.s
A lld/test/COFF/autoimport-handler-func.s
M lld/test/COFF/autoimport-warn.s
M lld/test/COFF/autoimport-x86.s
A lld/test/ELF/loongarch-relax-align-ldr.s
M lld/test/ELF/loongarch-relax-emit-relocs.s
M lldb/cmake/modules/LLDBFramework.cmake
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.h
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
A lldb/source/Plugins/Language/CPlusPlus/LibCxxProxyArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
M lldb/test/API/commands/frame/diagnose/dereference-function-return/TestDiagnoseDereferenceFunctionReturn.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/main.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/TestDataFormatterLibcxxValarray.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/main.cpp
M lldb/test/Shell/lit.cfg.py
M lldb/test/Shell/lit.site.cfg.py.in
M lldb/unittests/UnwindAssembly/CMakeLists.txt
A lldb/unittests/UnwindAssembly/x86-but-no-x86-target/CMakeLists.txt
A lldb/unittests/UnwindAssembly/x86-but-no-x86-target/Testx86AssemblyInspectionEngine.cpp
M lldb/unittests/tools/CMakeLists.txt
M llvm/CODE_OWNERS.TXT
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/ReleaseNotes.rst
M llvm/docs/requirements-hashed.txt
M llvm/docs/requirements.txt
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/ADT/FoldingSet.h
M llvm/include/llvm/ADT/StringMap.h
M llvm/include/llvm/Analysis/TypeMetadataUtils.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
A llvm/include/llvm/CodeGen/LiveDebugVariables.h
M llvm/include/llvm/CodeGen/LivePhysRegs.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/Verifier.h
M llvm/include/llvm/ObjCopy/CommonConfig.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/ProfileData/MemProfReader.h
M llvm/include/llvm/Support/Endian.h
M llvm/include/llvm/Support/OnDiskHashTable.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/TextAPI/Utils.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/LoopCacheAnalysis.cpp
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/TypeMetadataUtils.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/LiveDebugVariables.cpp
R llvm/lib/CodeGen/LiveDebugVariables.h
M llvm/lib/CodeGen/LowerEmuTLS.cpp
M llvm/lib/CodeGen/MachineDebugify.cpp
M llvm/lib/CodeGen/MachineModuleInfo.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/RegAllocBasic.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/VirtRegMap.cpp
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
M llvm/lib/ObjCopy/ELF/ELFObject.cpp
M llvm/lib/ProfileData/MemProf.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/lib/Support/APInt.cpp
M llvm/lib/Support/RISCVISAInfo.cpp
M llvm/lib/Target/AArch64/AArch64.h
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
A llvm/lib/Target/AArch64/AArch64PostCoalescerPass.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/CMakeLists.txt
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/GCNCreateVOPD.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
M llvm/lib/Target/ARM/ARMParallelDSP.cpp
M llvm/lib/Target/ARM/Thumb2InstrInfo.cpp
M llvm/lib/Target/ARM/Thumb2InstrInfo.h
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp
M llvm/lib/Target/PowerPC/GISel/PPCRegisterBankInfo.cpp
M llvm/lib/Target/PowerPC/PPCExpandAtomicPseudoInsts.cpp
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZcmop.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVSchedRocket.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR1.td
M llvm/lib/Target/RISCV/RISCVSchedXiangShanNanHu.td
M llvm/lib/Target/RISCV/RISCVSchedule.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
A llvm/lib/Target/RISCV/RISCVScheduleXSf.td
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/SPIRV/SPIRV.h
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVRegisterBankInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVRegisterBanks.td
M llvm/lib/Target/SPIRV/SPIRVRegisterInfo.td
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/X86/GISel/X86RegisterBankInfo.cpp
M llvm/lib/Target/X86/GISel/X86RegisterBankInfo.h
M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/TextAPI/BinaryReader/DylibReader.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/lib/Transforms/Utils/FunctionComparator.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-cmp.ll
M llvm/test/Bindings/llvm-c/atomics.ll
M llvm/test/Bitcode/attributes.ll
A llvm/test/Bitcode/dbg-label-record-bc.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-commute-fp-const-lhs.mir
A llvm/test/CodeGen/AArch64/GlobalISel/combine-commute-int-const-lhs.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-const-fold-barrier-rhs.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-select-to-fminmax.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-to-fmin-fmax.ll
M llvm/test/CodeGen/AArch64/GlobalISel/vastart.ll
M llvm/test/CodeGen/AArch64/O3-pipeline.ll
M llvm/test/CodeGen/AArch64/arm64-abi_align.ll
M llvm/test/CodeGen/AArch64/lrint-conv-fp16.ll
M llvm/test/CodeGen/AArch64/lrint-conv.ll
M llvm/test/CodeGen/AArch64/sme-avoid-coalescing-locally-streaming.ll
M llvm/test/CodeGen/AArch64/sme-call-streaming-compatible-to-normal-fn-wihout-sme-attr.ll
M llvm/test/CodeGen/AArch64/sme-disable-gisel-fisel.ll
M llvm/test/CodeGen/AArch64/sme-pstate-sm-changing-call-disable-coalescing.ll
M llvm/test/CodeGen/AArch64/sme-streaming-body-streaming-compatible-interface.ll
M llvm/test/CodeGen/AArch64/sme-streaming-body.ll
M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
M llvm/test/CodeGen/AArch64/sme-streaming-interface.ll
M llvm/test/CodeGen/AArch64/sme-streaming-mode-changing-call-disable-stackslot-scavenging.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-imm.ll
M llvm/test/CodeGen/AArch64/sve2-intrinsics-while.ll
M llvm/test/CodeGen/AArch64/vector-lrint.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fcanonicalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizercombiner-and.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/smed3.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/umed3.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/build_vector.ll
M llvm/test/CodeGen/AMDGPU/fold-fabs.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
A llvm/test/CodeGen/AMDGPU/memcpy-libcall.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
M llvm/test/CodeGen/AMDGPU/umed3.ll
M llvm/test/CodeGen/AMDGPU/vopd-combine.mir
A llvm/test/CodeGen/ARM/misched-branch-targets.mir
M llvm/test/CodeGen/ARM/usat.ll
A llvm/test/CodeGen/AVR/base-with-add-like-constant-offset.ll
M llvm/test/CodeGen/Generic/MIRDebugify/check-line-and-variables-x.mir
M llvm/test/CodeGen/Generic/MIRDebugify/check-line-and-variables.ll
M llvm/test/CodeGen/Generic/MIRDebugify/check-line-and-variables.mir
M llvm/test/CodeGen/Generic/MIRDebugify/locations-and-values.mir
M llvm/test/CodeGen/Generic/MIRDebugify/multifunction-module.mir
M llvm/test/CodeGen/LoongArch/atomicrmw-uinc-udec-wrap.ll
A llvm/test/CodeGen/LoongArch/gep-imm.ll
M llvm/test/CodeGen/LoongArch/vector-fp-imm.ll
M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/RISCV/bfloat-convert.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.ll
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/float-convert.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts.ll
A llvm/test/CodeGen/RISCV/prefer-w-inst.ll
A llvm/test/CodeGen/RISCV/prefer-w-inst.mir
M llvm/test/CodeGen/RISCV/rv32zba.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-int-vp.ll
A llvm/test/CodeGen/RISCV/rvv/pr88576.ll
A llvm/test/CodeGen/RISCV/rvv/pr88799.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
R llvm/test/CodeGen/RISCV/strip-w-suffix.ll
A llvm/test/CodeGen/SPIRV/const-composite.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/any.ll
A llvm/test/CodeGen/SPIRV/instructions/ret-type.ll
A llvm/test/CodeGen/SPIRV/instructions/select-phi.ll
M llvm/test/CodeGen/SPIRV/instructions/select.ll
M llvm/test/CodeGen/SystemZ/knownbits-intrinsics-binop.ll
M llvm/test/CodeGen/X86/GlobalISel/fconstant.ll
A llvm/test/CodeGen/X86/GlobalISel/regbankselect-sse-intrinsics.ll
M llvm/test/CodeGen/X86/GlobalISel/regbankselect-x87.ll
M llvm/test/CodeGen/X86/bfloat.ll
M llvm/test/CodeGen/X86/bitreverse.ll
M llvm/test/CodeGen/X86/concat-fpext-v2bf16.ll
A llvm/test/CodeGen/X86/propagate-disjoint-in-shl-or.ll
M llvm/test/CodeGen/X86/vector-bitreverse.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-sse41.ll
M llvm/test/DebugInfo/debugify-bogus-dbg-value.ll
M llvm/test/DebugInfo/debugify-each.ll
M llvm/test/DebugInfo/debugify-export.ll
M llvm/test/DebugInfo/debugify-ignore-phi.ll
M llvm/test/DebugInfo/debugify-original-no-dbg-info.ll
M llvm/test/DebugInfo/debugify-report-missing-locs-only.ll
M llvm/test/DebugInfo/debugify.ll
M llvm/test/DebugInfo/pr37964.ll
M llvm/test/DebugInfo/salvage-cast-debug-info.ll
M llvm/test/DebugInfo/verify-di-preserve.ll
M llvm/test/ExecutionEngine/JITLink/x86-64/ELF_vtune.s
M llvm/test/MC/LoongArch/Relocations/relax-addsub.s
M llvm/test/MC/LoongArch/Relocations/relax-align.s
M llvm/test/MC/RISCV/rv32zcmop-invalid.s
M llvm/test/MC/RISCV/rvzcmop-valid.s
M llvm/test/Other/lint.ll
M llvm/test/ThinLTO/X86/devirt.ll
A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-integer-ops-0-to-add-0.ll
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/test/Transforms/CodeGenPrepare/LoongArch/splitgep.ll
M llvm/test/Transforms/CorrelatedValuePropagation/cond-at-use.ll
M llvm/test/Transforms/CorrelatedValuePropagation/phi-common-val.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers-bad.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers-gep.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers.ll
M llvm/test/Transforms/IndVarSimplify/AArch64/widen-loop-comp.ll
M llvm/test/Transforms/IndVarSimplify/X86/iv-widen.ll
M llvm/test/Transforms/IndVarSimplify/elim-extend.ll
M llvm/test/Transforms/IndVarSimplify/hoist-wide-inc-for-narrow-use-recompute-flags.ll
M llvm/test/Transforms/IndVarSimplify/iv-sext.ll
M llvm/test/Transforms/IndVarSimplify/iv-widen-elim-ext.ll
M llvm/test/Transforms/IndVarSimplify/lftr.ll
M llvm/test/Transforms/IndVarSimplify/no-iv-rewrite.ll
M llvm/test/Transforms/IndVarSimplify/post-inc-range.ll
M llvm/test/Transforms/IndVarSimplify/pr25578.ll
M llvm/test/Transforms/IndVarSimplify/pr55925.ll
M llvm/test/Transforms/IndVarSimplify/widen-nonnegative-countdown.ll
M llvm/test/Transforms/IndVarSimplify/widen-nonnegative.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/mem-intrinsics.ll
M llvm/test/Transforms/InstCombine/add.ll
M llvm/test/Transforms/InstCombine/fcmp.ll
M llvm/test/Transforms/InstCombine/known-bits.ll
M llvm/test/Transforms/InstCombine/minmax-intrinsics.ll
M llvm/test/Transforms/InstCombine/rotate.ll
M llvm/test/Transforms/InstCombine/struct-assign-tbaa.ll
A llvm/test/Transforms/InstCombine/switch-select.ll
A llvm/test/Transforms/InstCombine/threadlocal_address.ll
M llvm/test/Transforms/InstSimplify/known-non-zero.ll
M llvm/test/Transforms/InstSimplify/vec-cmp.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/JumpThreading/free_instructions.ll
M llvm/test/Transforms/LoopFlatten/widen-iv3.ll
M llvm/test/Transforms/LoopVectorize/RISCV/illegal-type.ll
M llvm/test/Transforms/LoopVectorize/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
A llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges-attr.ll
M llvm/test/Transforms/SCCP/pr50901.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vec15-base.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-calls.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/smax-unsigned-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/ext-int-reduced-not-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/gather-move-out-of-loop.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/odd_store.ll
A llvm/test/Transforms/SLPVectorizer/X86/trunc-store-value-ty-not-power-of-2.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-calls.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-gather-some-loads.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
M llvm/test/Transforms/SROA/tbaa-struct3.ll
M llvm/test/Transforms/Scalarizer/basic-inseltpoison.ll
M llvm/test/Transforms/Scalarizer/basic.ll
M llvm/test/Transforms/SimplifyCFG/switch_mask.ll
A llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
A llvm/test/Transforms/VectorCombine/X86/shuffle-of-binops.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
A llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle.ll
M llvm/test/Transforms/WholeProgramDevirt/Inputs/export.yaml
M llvm/test/Transforms/WholeProgramDevirt/branch-funnel.ll
M llvm/test/Transforms/WholeProgramDevirt/constant-arg.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl-check.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl-multiple-assumes.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl.ll
M llvm/test/Transforms/WholeProgramDevirt/pointer-vtable.ll
M llvm/test/Verifier/tbaa-struct.ll
A llvm/test/Verifier/variadic.ll
A llvm/test/tools/llvm-objcopy/ELF/compress-sections-within-segment.s
A llvm/test/tools/llvm-objcopy/ELF/compress-sections.s
M llvm/test/tools/llvm-objcopy/ELF/decompress-sections.test
M llvm/test/tools/llvm-readobj/ELF/ARM/attribute-big-endian.test
M llvm/tools/llvm-dis-fuzzer/CMakeLists.txt
M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
M llvm/tools/llvm-objcopy/ObjcopyOpts.td
M llvm/tools/llvm-readobj/ELFDumper.cpp
M llvm/tools/vfabi-demangle-fuzzer/vfabi-demangler-fuzzer.cpp
M llvm/unittests/Analysis/ValueTrackingTest.cpp
M llvm/unittests/Bitcode/DataLayoutUpgradeTest.cpp
M llvm/unittests/CodeGen/AArch64SelectionDAGTest.cpp
M llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
M llvm/unittests/CodeGen/PassManagerTest.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
M llvm/unittests/Support/EndianTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn
M llvm/utils/gn/secondary/clang/test/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Tooling/BUILD.gn
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
M llvm/utils/gn/secondary/libcxxabi/src/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
M llvm/utils/lint/common_lint.py
M mlir/docs/DefiningDialects/Operations.md
M mlir/docs/Dialects/LLVM.md
M mlir/docs/Interfaces.md
M mlir/include/mlir/Dialect/Affine/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Arith/Transforms/Transforms.h
M mlir/include/mlir/Dialect/CMakeLists.txt
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPInterfaces.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
A mlir/include/mlir/Dialect/Polynomial/CMakeLists.txt
A mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
A mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
A mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.h
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialDialect.h
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialOps.h
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialTypes.h
M mlir/include/mlir/Dialect/SCF/Transforms/Patterns.h
M mlir/include/mlir/Dialect/SCF/Transforms/Transforms.h
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVAttributes.td
M mlir/include/mlir/Dialect/SPIRV/IR/TargetAndABI.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/IR/OpDefinition.h
M mlir/include/mlir/InitAllDialects.h
M mlir/include/mlir/Interfaces/ValueBoundsOpInterface.h
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/Affine/Transforms/ReifyValueBounds.cpp
M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/Arith/Transforms/IntNarrowing.cpp
M mlir/lib/Dialect/Arith/Transforms/ReifyValueBounds.cpp
M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
M mlir/lib/Dialect/CMakeLists.txt
M mlir/lib/Dialect/Linalg/Transforms/Padding.cpp
M mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
M mlir/lib/Dialect/MemRef/Transforms/IndependenceTransforms.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
A mlir/lib/Dialect/Polynomial/CMakeLists.txt
A mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt
A mlir/lib/Dialect/Polynomial/IR/Polynomial.cpp
A mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
A mlir/lib/Dialect/Polynomial/IR/PolynomialDialect.cpp
A mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
M mlir/lib/Dialect/SCF/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
A mlir/lib/Dialect/SCF/Transforms/UpliftWhileToFor.cpp
M mlir/lib/Dialect/SPIRV/IR/TargetAndABI.cpp
M mlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp
M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Transforms/IndependenceTransforms.cpp
M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/test/CAPI/CMakeLists.txt
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
M mlir/test/Conversion/GPUToSPIRV/entry-point.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Dialect/Affine/value-bounds-op-interface-impl.mlir
M mlir/test/Dialect/Affine/value-bounds-reification.mlir
M mlir/test/Dialect/ArmSME/vector-legalization.mlir
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
A mlir/test/Dialect/Polynomial/attributes.mlir
A mlir/test/Dialect/Polynomial/types.mlir
A mlir/test/Dialect/SCF/uplift-while.mlir
M mlir/test/Dialect/Tensor/value-bounds-op-interface-impl.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/test-scalable-bounds.mlir
M mlir/test/Integration/Dialect/Complex/CPU/correctness.mlir
A mlir/test/Integration/Dialect/Tosa/CPU/test-maxpool-dynamic.mlir
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
M mlir/test/Target/SPIRV/decorations.mlir
M mlir/test/lib/Dialect/Affine/CMakeLists.txt
M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
M mlir/test/lib/Dialect/SCF/CMakeLists.txt
A mlir/test/lib/Dialect/SCF/TestUpliftWhileToFor.cpp
M mlir/test/lib/Dialect/SPIRV/TestEntryPointAbi.cpp
M mlir/test/lib/Dialect/Test/CMakeLists.txt
M mlir/test/lib/Dialect/Test/TestDialect.cpp
M mlir/test/lib/Dialect/Test/TestDialect.h
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/mlir-tblgen/op-format.mlir
M mlir/tools/mlir-opt/mlir-opt.cpp
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
M openmp/libomptarget/plugins-nextgen/host/CMakeLists.txt
M openmp/runtime/src/kmp_dispatch.cpp
M openmp/runtime/test/tasking/hidden_helper_task/capacity_mix_threads.cpp
M openmp/runtime/test/tasking/hidden_helper_task/capacity_nthreads.cpp
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/fenv/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
rebase
Created using spr 1.3.4
Compare: https://github.com/llvm/llvm-project/compare/2523e11ec04b...1b678ba0ea24
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