LLVM/project 819e7fdoffload/plugins-nextgen/cuda/dynamic_cuda cuda.cpp, offload/plugins-nextgen/cuda/src rtl.cpp

Revert "[offload] Fix CUDA args size by subtracting tail padding (#172249)"

This reverts commit 35315a84b4a3b78deb876f0ac767696ad7e8aa50.
DeltaFile
+2-31offload/plugins-nextgen/cuda/src/rtl.cpp
+0-14offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
+0-3offload/unittests/OffloadAPI/device_code/multiargs.cpp
+3-0offload/test/offloading/CUDA/basic_launch_multi_arg.cu
+0-2offload/unittests/OffloadAPI/device_code/CMakeLists.txt
+0-1offload/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp
+5-511 files not shown
+5-527 files

LLVM/project 6437411clang-tools-extra/clang-tidy/misc UseInternalLinkageCheck.cpp

TMP
DeltaFile
+1-1clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
+1-11 files

LLVM/project a88498fllvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/RISCV buildvector-all-external-scalars.ll

[SLP]Skip buildvector tree, if all scalars are used externally and remain scalar

If the buildvector is going to be vector with threshold cost < 0 and all
buildvector scalars are externally used and remain scalar, such a tree
should not be vectorized, it may lead to a compiler hang because same
scalars remain in the function and will be vectorized once again.

Fixes #172609
DeltaFile
+480-0llvm/test/Transforms/SLPVectorizer/RISCV/buildvector-all-external-scalars.ll
+11-0llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+491-02 files

LLVM/project 34c52f3clang-tools-extra/clang-tidy/misc UseInternalLinkageCheck.cpp, clang-tools-extra/docs/clang-tidy/checks/misc use-internal-linkage.rst

[clang-tidy] Add first-class C support to `misc-use-internal-linkage`
DeltaFile
+33-0clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage.c
+12-12clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-func.cpp
+10-7clang-tools-extra/docs/clang-tidy/checks/misc/use-internal-linkage.rst
+5-5clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-var.cpp
+3-3clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
+2-2clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-fix-mode-none.cpp
+65-291 files not shown
+66-307 files

LLVM/project ac6afd8llvm/lib/CodeGen/SelectionDAG LegalizeDAG.cpp

[LegalizeDAG] Return after replacing ISD::POISON with ISD::UNDEF. (#173173)

We already replaced the node, we shouldn't run the rest of the code that
still uses the old node.
DeltaFile
+9-9llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+9-91 files

LLVM/project d752d56clang-tools-extra/clang-tidy/misc UseInternalLinkageCheck.cpp, clang-tools-extra/docs/clang-tidy/checks/misc use-internal-linkage.rst

[clang-tidy] Add first-class C support to `misc-use-internal-linkage`
DeltaFile
+33-0clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage.c
+12-12clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-func.cpp
+10-7clang-tools-extra/docs/clang-tidy/checks/misc/use-internal-linkage.rst
+5-5clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-var.cpp
+3-3clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
+2-2clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-fix-mode-none.cpp
+65-291 files not shown
+66-307 files

LLVM/project 789845elibcxx/test/libcxx/diagnostics mutex.nodiscard.verify.cpp vector.nodiscard.verify.cpp, libcxx/test/libcxx/thread nodiscard.verify.cpp

[libc++] Mini-cleanup for `[[nodiscard]]` (#172275)

1. Remove incorrect `[[nodiscard]]` from compound assignment operators
in `<__filesystem/copy_options.h>`. Also add regression tests.
2. Add missing `[[nodiscard]]` mark for `mdspan::size` in
`<__mdspan/mdspan.h>` and test it.
3. Enable verifying `[[nodiscard]]` in C++03 for various components.
These components are either present in C++03 or backported by libc++
from C++11/17.
DeltaFile
+68-0libcxx/test/std/input.output/filesystems/fs.enum/enum.copy_options.pass.cpp
+10-12libcxx/test/libcxx/diagnostics/mutex.nodiscard.verify.cpp
+6-8libcxx/test/libcxx/diagnostics/vector.nodiscard.verify.cpp
+4-4libcxx/test/libcxx/diagnostics/functional.nodiscard.verify.cpp
+6-2libcxx/test/libcxx/diagnostics/algorithm.nodiscard.verify.cpp
+4-3libcxx/test/libcxx/thread/nodiscard.verify.cpp
+98-2917 files not shown
+111-6623 files

LLVM/project 14a23d8llvm/unittests/ExecutionEngine/Orc CallableTraitsHelperTest.cpp

[llvm][unittests] Silence warning when building with MSVC

Fixes:
```
[836/1441] Building CXX object unittests\ExecutionEngine\Orc\CMakeFiles\OrcJITTests.dir\CallableTraitsHelperTest.cpp.obj
C:\git\llvm-project\llvm\unittests\ExecutionEngine\Orc\CallableTraitsHelperTest.cpp(25): warning C4551: function call missing argument list
C:\git\llvm-project\llvm\unittests\ExecutionEngine\Orc\CallableTraitsHelperTest.cpp(34): warning C4551: function call missing argument list
```
DeltaFile
+2-2llvm/unittests/ExecutionEngine/Orc/CallableTraitsHelperTest.cpp
+2-21 files

LLVM/project c79fbcdllvm/lib/Target/Hexagon HexagonVectorCombine.cpp

[Hexagon] Silence warnings with MSVC

Fixes:
```
[3400/4469] Building CXX object lib\Target\Hexagon\CMakeFiles\LLVMHexagonCodeGen.dir\HexagonVectorCombine.cpp.obj
C:\git\llvm-project\llvm\lib\Target\Hexagon\HexagonVectorCombine.cpp(2698): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
C:\git\llvm-project\llvm\lib\Target\Hexagon\HexagonVectorCombine.cpp(2724): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
```
DeltaFile
+3-2llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
+3-21 files

LLVM/project 9ed4b6dllvm/include/llvm/Support KnownFPClass.h, llvm/lib/Analysis ValueTracking.cpp

InstCombine: Handle canonicalize in SimplifyDemandedFPClass

Doesn't try to handle PositiveZero flushing mode, but I
don't believe it is incorrect with it.
DeltaFile
+73-0llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+24-49llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-canonicalize.ll
+6-49llvm/lib/Analysis/ValueTracking.cpp
+48-0llvm/lib/Support/KnownFPClass.cpp
+5-0llvm/include/llvm/Support/KnownFPClass.h
+156-985 files

LLVM/project fa6f411llvm/test/Transforms/InstCombine simplify-demanded-fpclass-canonicalize.ll

InstCombine: Add baseline test for canonicalize SimplifyDemandedFPClass
DeltaFile
+607-0llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-canonicalize.ll
+607-01 files

LLVM/project 92e343elldb/source/Plugins/Platform/POSIX PlatformPOSIX.cpp, lldb/source/Plugins/Platform/Windows PlatformWindows.cpp

[LLVM][ADT] Make `scope-exit` CTAD-capable (#173131)

This enables using it like

```cpp
llvm::scope_exit Cleanup([] { ... });
```
instead of
```cpp
auto Cleanup = llvm::make_scope_exit([] { ... });
```
DeltaFile
+3-9llvm/include/llvm/ADT/ScopeExit.h
+2-3lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
+1-1lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
+6-133 files

LLVM/project e69fb42llvm/docs NVPTXUsage.rst, llvm/include/llvm/IR IntrinsicsNVVM.td

[MLIR][NVPTX] Add intrinsics and Ops to read smem-sizes (#173089)

This patch adds three intrinsics and their corresponding Ops
representing the PTX special-register read instructions
that report various configurations of shared-memory sizes.

Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
DeltaFile
+30-0llvm/docs/NVPTXUsage.rst
+28-0llvm/test/CodeGen/NVPTX/intrinsics.ll
+18-0llvm/test/CodeGen/NVPTX/intrinsics-sm90-ptx81.ll
+9-2llvm/include/llvm/IR/IntrinsicsNVVM.td
+8-0llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
+6-0mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
+99-21 files not shown
+105-27 files

LLVM/project 01cb854llvm/include/llvm/Support KnownFPClass.h, llvm/lib/Analysis ValueTracking.cpp

InstCombine: Handle canonicalize in SimplifyDemandedFPClass

Doesn't try to handle PositiveZero flushing mode, but I
don't believe it is incorrect with it.
DeltaFile
+26-53llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-canonicalize.ll
+73-0llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+6-49llvm/lib/Analysis/ValueTracking.cpp
+48-0llvm/lib/Support/KnownFPClass.cpp
+5-0llvm/include/llvm/Support/KnownFPClass.h
+158-1025 files

LLVM/project 06ef509llvm/test/Transforms/InstCombine simplify-demanded-fpclass-canonicalize.ll

InstCombine: Add baseline test for canonicalize SimplifyDemandedFPClass
DeltaFile
+609-0llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-canonicalize.ll
+609-01 files

LLVM/project 80887c7clang/include/clang/Basic DiagnosticFrontendKinds.td DiagnosticGroups.td, clang/lib/CodeGen CGOpenMPRuntime.cpp CodeGenModule.cpp

[clang][NFC][diagnostics] Remove most usage of `getCustomDiagID()` from CodeGen (#172557)

DeltaFile
+63-0clang/include/clang/Basic/DiagnosticFrontendKinds.td
+11-29clang/lib/CodeGen/CGOpenMPRuntime.cpp
+10-20clang/lib/CodeGen/CodeGenModule.cpp
+4-12clang/lib/CodeGen/CodeGenPGO.cpp
+2-7clang/lib/CodeGen/BackendUtil.cpp
+9-0clang/include/clang/Basic/DiagnosticGroups.td
+99-688 files not shown
+115-9214 files

LLVM/project 42b3483llvm/lib/Analysis ValueTracking.cpp, llvm/test/Transforms/Attributor nofpclass-canonicalize.ll

ValueTracking: Improve accuracy of 0 handling with PreserveSign (#173165)

If the source value is known not subnormal and not zero with the
same sign, we can infer the result is also not zero with the same
sign.
DeltaFile
+26-26llvm/test/Transforms/Attributor/nofpclass-canonicalize.ll
+8-0llvm/lib/Analysis/ValueTracking.cpp
+34-262 files

LLVM/project c513e6allvm/lib/Analysis ValueTracking.cpp, llvm/test/Transforms/Attributor nofpclass-canonicalize.ll

ValueTracking: Improve accuracy of 0 handling with PreserveSign

If the source value is known not subnormal and not zero with the
same sign, we can infer the result is also not zero with the same
sign.
DeltaFile
+26-26llvm/test/Transforms/Attributor/nofpclass-canonicalize.ll
+8-0llvm/lib/Analysis/ValueTracking.cpp
+34-262 files

LLVM/project ffbed74llvm/test/Transforms/Attributor nofpclass-canonicalize.ll

ValueTracking: Add more tests for computeKnownFPClass canonicalize (#173164)

DeltaFile
+90-0llvm/test/Transforms/Attributor/nofpclass-canonicalize.ll
+90-01 files

LLVM/project 0d29efbllvm/utils/gn/secondary/libcxx/include BUILD.gn

[gn build] Port fc4661aa11a0
DeltaFile
+1-0llvm/utils/gn/secondary/libcxx/include/BUILD.gn
+1-01 files

LLVM/project fc4661alibcxx/include/__ranges adjacent_transform_view.h, libcxx/test/std/ranges/range.adaptors/range.adjacent.transform adaptor.pass.cpp end.pass.cpp

[libc++] Implement `adjacent_transform` (#168208)

This patch implements std::ranges::adjacent_transform_view. This is part
of P2321R2 tracked
by #105169.
DeltaFile
+406-0libcxx/include/__ranges/adjacent_transform_view.h
+275-0libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/adaptor.pass.cpp
+206-0libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/sentinel/eq.pass.cpp
+195-0libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/sentinel/minus.pass.cpp
+183-0libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/end.pass.cpp
+164-0libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/iterator/arithmetic.pass.cpp
+1,429-026 files not shown
+3,487-532 files

LLVM/project 0952cccllvm/lib/Transforms/InstCombine InstCombineCompares.cpp, llvm/test/Transforms/InstCombine icmp-binop.ll

[InstCombine] Bail out on type mismatch in foldICmpBinOpWithConstantViaTruthTable (#173179)

Fixes https://github.com/llvm/llvm-project/issues/173177
The previous implementation doesn't consider cases like `<2 x i1>
icmp(binop(sel <2 x i1>, sel i1))`.
DeltaFile
+17-1llvm/test/Transforms/InstCombine/icmp-binop.ll
+1-1llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
+18-22 files

LLVM/project f06f5b5llvm/lib/Target/RISCV RISCVISelLowering.cpp, llvm/test/CodeGen/RISCV/rvv rvv-vmerge-to-vmv.ll

[RISCV] Use legally typed splat during vmv_v_v splat(x) -> vmv_v_x (#173154)

Fixes https://github.com/llvm/llvm-project/issues/173141
Introduced in #170539, `DAG.getSplatValue` may involve the illegal-typed
splat value if not specified. This patch fixes it.
DeltaFile
+23-0llvm/test/CodeGen/RISCV/rvv/rvv-vmerge-to-vmv.ll
+1-1llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+24-12 files

LLVM/project 3eee451llvm/lib/Transforms/IPO MergeFunctions.cpp

Fix use-after-free bug in mergeTwoFunctions(). (#173126)

This was caught by Apple's Probabilistic Guard Malloc which detected
that OldF's memory is freed inside mergeTwoFunctions(), and then
back in insert() the now dangling pointer is dereferenced again.

rdar://163874208
DeltaFile
+7-3llvm/lib/Transforms/IPO/MergeFunctions.cpp
+7-31 files

LLVM/project 3ce0552llvm/lib/Target/RISCV RISCVISelLowering.cpp, llvm/test/CodeGen/RISCV load-narrow-shift-mask-combine.ll

[RISCV] Introduce new AND combine to expose additional load narrowing opportunities (#170483)

The standard codegen pipeline sometimes ends up with a shift followed by
 a mask. If doing the mask first would have enabled load narrowing, then
 it is preferable to do so. The motivating example was seen in povray
 from SPEC where we had something like:

 ```
 lh a0, 0(a0)
 slli a0, a0, 56
 srli a0, a0, 52
 ```

 Which can be better implemented as:
 ```
 lbu a0, 0(a0)
 slli a0, a0, 4
 ```


    [3 lines not shown]
DeltaFile
+43-1llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+10-16llvm/test/CodeGen/RISCV/load-narrow-shift-mask-combine.ll
+1-1llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
+54-183 files

LLVM/project 6b09f73llvm/test/CodeGen/RISCV load-narrow-shift-mask-combine.ll

[RISCV][test] Precommit test case showing opportunity to narrow loads for some shift then mask cases

Reviewed as part of #170483
DeltaFile
+80-0llvm/test/CodeGen/RISCV/load-narrow-shift-mask-combine.ll
+80-01 files

LLVM/project 177072amlir/python/mlir/dialects scf.py, mlir/test/python/dialects scf.py

[MLIR][Python] Update the scf.if interface to be consistent with affine.if (#173171)

This is a follow-up of #171957 that updates the argument names of
`scf.if` Python binding to be consistent with `affine.if`. Basically,
both operations should use `has_else` to determine whether the `if`
block is presented.

cc @makslevental
DeltaFile
+7-5mlir/python/mlir/dialects/scf.py
+1-1mlir/test/python/dialects/scf.py
+8-62 files

LLVM/project 4fec702clang/docs ReleaseNotes.rst, clang/lib/Sema SemaInit.cpp

[clang] Add FixItHint for designated init order (#173136)

Generate fix-it for C++20 designated initializers when the initializers
do not match the declaration order in the structure.
DeltaFile
+105-0clang/test/SemaCXX/cxx20-designated-initializer-fixits.cpp
+65-3clang/lib/Sema/SemaInit.cpp
+3-0clang/docs/ReleaseNotes.rst
+173-33 files

LLVM/project 14b9478clang-tools-extra/clang-tidy/bugprone ArgumentCommentCheck.cpp

[clang-tidy][NFC] Refactor `bugprone-argument-comment` [1/3] (#172521)

This is a necessary step to land #171757

Part of https://github.com/llvm/llvm-project/issues/170921
DeltaFile
+21-21clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
+21-211 files

LLVM/project b5fd757clang/include/clang/Basic DiagnosticSemaKinds.td, clang/lib/Sema SemaSYCL.cpp SemaDecl.cpp

[Clang][SYCL][NFC] Modify err_sycl_entry_point_invalid to use %enum_select. (#173122)

The `err_sycl_entry_point_invalid` diagnostic has a selection field for
which there are already many options with more expected to be added. Use
of `%enum_select` avoids the need for magic numbers with associated
comments at source locations where the diagnostic is issued.
DeltaFile
+11-5clang/include/clang/Basic/DiagnosticSemaKinds.td
+7-7clang/lib/Sema/SemaSYCL.cpp
+4-4clang/lib/Sema/SemaDecl.cpp
+22-163 files