LLVM/project c43ccefllvm/lib/Transforms/Vectorize VPlanTransforms.cpp VPlanUtils.cpp

[VPlan] Use PSE to construct SCEVs in getSCEVExprForVPValue (NFCI).

getSCEVExprForVPValue is used to create SCEVs for expressions from the
original loop, which may be predicated. Use PSE to construct predicated
SCEVs if possible. This matches the legacy LV code behavior.

Currently should be NFC, but will enable migrating more SCEV/cost-based
computations to VPlan.

The patch requires exposing a new getPredicatedSCEV helper to
PredicatedScalarEvolution which just takes a SCEV, to avoid needing to
go through IR values, which isn't an option for getSCEVExprForVPValue.
DeltaFile
+45-38llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+26-18llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
+18-20llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+14-9llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+11-9llvm/lib/Transforms/Vectorize/VPlanTransforms.h
+9-7llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+123-1014 files not shown
+139-10510 files

LLVM/project 2ffaf9dclang-tools-extra/clang-tidy/readability IdentifierNamingCheck.cpp, clang-tools-extra/docs ReleaseNotes.rst

readability-identifier-naming should add universal default options (#171686)

Adds a `DefaultCase` (and other options, but `DefaultPrefix/Suffix` is
probably not useful), which is used as a base in the override hierarchy.

Resolves #75688
DeltaFile
+75-0clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-default-override.cpp
+71-0clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-default-lower.cpp
+58-0clang-tools-extra/docs/clang-tidy/checks/readability/identifier-naming.rst
+49-0clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-default-none.cpp
+27-14clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
+3-1clang-tools-extra/docs/ReleaseNotes.rst
+283-151 files not shown
+286-157 files

LLVM/project a1bbf86mlir/cmake/modules AddMLIRPython.cmake, mlir/examples/standalone CMakeLists.txt

massage cmake
DeltaFile
+127-31mlir/cmake/modules/AddMLIRPython.cmake
+10-61mlir/python/CMakeLists.txt
+3-0mlir/examples/standalone/CMakeLists.txt
+140-923 files

LLVM/project c3775b7mlir/cmake/modules AddMLIRPython.cmake, mlir/examples/standalone CMakeLists.txt

massage cmake
DeltaFile
+127-31mlir/cmake/modules/AddMLIRPython.cmake
+10-61mlir/python/CMakeLists.txt
+3-0mlir/examples/standalone/CMakeLists.txt
+140-923 files

LLVM/project 1c8fd45libcxx/utils/ci/docker linux-builder-base.dockerfile

[libcxx] Remove comment about manually installing ninja

This comment was addressed in 789ef89860e991f536b7ab896bf0562029804f58 but I
forgot to remove the comment. This PR addresses that.
DeltaFile
+0-2libcxx/utils/ci/docker/linux-builder-base.dockerfile
+0-21 files

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

[clang-tidy] Add 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
+10-4clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
+5-5clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-var.cpp
+2-2clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-fix-mode-none.cpp
+72-302 files not shown
+76-318 files

LLVM/project 366f6ebllvm/lib/Transforms/Vectorize SLPVectorizer.cpp

[SLP][NFC]Add parens to silence a warning message, NFC
DeltaFile
+10-10llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+10-101 files

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

[clang-tidy] Add 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
+10-4clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
+5-5clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-var.cpp
+2-2clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-fix-mode-none.cpp
+72-302 files not shown
+76-318 files

LLVM/project 28ef75blldb/source/Plugins/TypeSystem/Clang TypeSystemClang.cpp, lldb/test/API/commands/frame/var-dil/basics/PointerArithmetic TestFrameVarDILPointerArithmetic.py

[LLDB] Improve error handling in TypeSystemClang::GetChildCompilerTypeAtIndex (#170932)

Convert the function to early exits, and add sensible error messages for
all failing checks.
DeltaFile
+353-357lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
+1-1lldb/test/API/commands/frame/var-dil/basics/PointerArithmetic/TestFrameVarDILPointerArithmetic.py
+354-3582 files

LLVM/project d85c080clang-tools-extra/clang-tidy/misc UseInternalLinkageCheck.cpp, clang-tools-extra/test/clang-tidy/checkers/misc use-internal-linkage.c

TMP
DeltaFile
+6-1clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
+1-1clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage.c
+7-22 files

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

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

LLVM/project e69deb2clang-tools-extra/clang-tidy ClangTidyDiagnosticConsumer.cpp, clang-tools-extra/clang-tidy/abseil DurationFactoryScaleCheck.cpp

[clang-tidy][NFC] Migrate away from `make_*` functions (#173191)

These seem to always have a better alternative (CTAD, braced init-list,
etc.)
DeltaFile
+10-10clang-tools-extra/clang-tidy/abseil/DurationFactoryScaleCheck.cpp
+5-7clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
+3-4clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
+3-3clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
+3-3clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
+2-2clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp
+26-297 files not shown
+33-3613 files

LLVM/project e644f06llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer crash_exceed_scheduling.ll extract-many-users-buildvector.ll

[SLP]Enable float point math ops as copyables elements.

Patch enables support for float point math operations as base
instructions for copyable elements. It also fixes some scheduling
issues, found during testing

Reviewers: hiraditya, RKSimon

Pull Request: https://github.com/llvm/llvm-project/pull/169857
DeltaFile
+92-46llvm/test/Transforms/SLPVectorizer/crash_exceed_scheduling.ll
+26-102llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
+60-20llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+34-38llvm/test/Transforms/SLPVectorizer/extract-many-users-buildvector.ll
+18-26llvm/test/Transforms/SLPVectorizer/X86/user-with-multi-copyable-ops.ll
+20-20llvm/test/Transforms/SLPVectorizer/insertelement-postpone.ll
+250-25213 files not shown
+341-33819 files

LLVM/project 5f4fc30llvm/include/llvm/Passes CodeGenPassBuilder.h, llvm/lib/Target/AMDGPU AMDGPUTargetMachine.cpp

[NPM] Remove unused includes for CodeGenPassBuilder (#172575)

There are a couple around. Remove them to better comply with IWYU.
DeltaFile
+0-5llvm/include/llvm/Passes/CodeGenPassBuilder.h
+1-0llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
+1-52 files

LLVM/project d48050aclang/lib/CodeGen CGExpr.cpp CGValue.h, clang/test/CodeGenHLSL/BasicFeatures MatrixSingleSubscriptConstSwizzle.hlsl

[Matrix][HLSL] Implement Matrix single constant index swizzle (#173044)

fixes #172805

For the constant case if we know the row index then we can compute the
offsets via `E->getEncodedElementAccess(Elts)`. We had to also add
column and row sizes to LValue so that we could compute the right index.
the emitter for `MatrixSingleSubscriptExpr` collects the sizes off the
type and passes it to `MakeMatrixRow`.

---------

Co-authored-by: Justin Bogner <mail at justinbogner.com>
DeltaFile
+115-3clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptConstSwizzle.hlsl
+24-3clang/lib/CodeGen/CGExpr.cpp
+17-1clang/lib/CodeGen/CGValue.h
+156-73 files

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

TMP
DeltaFile
+6-6clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
+6-61 files

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