LLVM/project db143fbllvm/lib/Transforms/Vectorize SLPVectorizer.cpp

[SLP][NFC]Use block number instead of pointer for stable sorting, NFC
DeltaFile
+3-3llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+3-31 files

LLVM/project a5dd902clang/lib/AST ASTContext.cpp DeclCXX.cpp, clang/lib/CIR/CodeGen CIRGenClass.cpp

[CIR] Implement isMemcpyEquivalentSpecialMember for trivial copy/move ctors
DeltaFile
+41-0clang/test/CIR/CodeGen/copy-constructor-memcpy.cpp
+7-31clang/lib/CodeGen/CGClass.cpp
+20-7clang/lib/CIR/CodeGen/CIRGenClass.cpp
+22-0clang/lib/AST/ASTContext.cpp
+6-5clang/test/CIR/CodeGen/cxx-special-member-attr.cpp
+11-0clang/lib/AST/DeclCXX.cpp
+107-438 files not shown
+121-6014 files

LLVM/project 2d01df1clang/lib/CIR/CodeGen CIRGenCall.cpp CIRGenModule.cpp, clang/test/CIR/CodeGen arg-attrs.cpp invoke-attrs.cpp

[CIR] Fix reference alignment to use pointee type (#186667)

getNaturalTypeAlignment on a reference type returned pointer alignment
instead of pointee alignment. Pass the pointee type with
forPointeeType=true to match traditional codegen's
getNaturalPointeeTypeAlignment behavior. Fix applies to both argument
and return type attribute construction paths.
DeltaFile
+27-4clang/test/CIR/CodeGen/arg-attrs.cpp
+9-7clang/lib/CIR/CodeGen/CIRGenCall.cpp
+7-0clang/lib/CIR/CodeGen/CIRGenModule.cpp
+2-4clang/lib/CIR/CodeGen/CIRGenExpr.cpp
+3-3clang/test/CIR/CodeGen/invoke-attrs.cpp
+3-0clang/lib/CIR/CodeGen/CIRGenModule.h
+51-186 files

LLVM/project de00349llvm/lib/Transforms/InstCombine InstCombineSelect.cpp

Address comments
DeltaFile
+9-13llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
+9-131 files

LLVM/project dba9d90llvm/lib/Transforms/InstCombine InstCombineSelect.cpp, llvm/test/Transforms/InstCombine nanless-canonicalize-combine.ll

InstCombine: Fold out nanless canonicalize pattern

Pattern match a wrapper around llvm.canonicalize which
weakens the semantics to not require quieting signaling
nans. Depending on the denormal mode and FP type, we can
either drop the pattern entirely or reduce it only to
a canonicalize call. I'm inventing this pattern to deal
with LLVM's lax canonicalization model in math library
code.

The math library code currently has explicit checks for
the denormal mode, and conditionally canonicalizes the
result if there is flushing. Semantically, this could be
directly replaced with a simple call to llvm.canonicalize,
but doing so would incur an additional cost when using
standard IEEE behavior. If we do not care about quieting
a signaling nan, this should be a no-op unless the denormal
mode may flush. This will allow replacement of the
conditional code with a zero cost abstraction utility

    [17 lines not shown]
DeltaFile
+51-155llvm/test/Transforms/InstCombine/nanless-canonicalize-combine.ll
+103-0llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
+154-1552 files

LLVM/project 291ca72llvm/test/Transforms/InstCombine nanless-canonicalize-combine.ll

InstCombine: Add baseline test for nanless canonicalize combine
DeltaFile
+832-0llvm/test/Transforms/InstCombine/nanless-canonicalize-combine.ll
+832-01 files

LLVM/project c825177clang/lib/CIR/CodeGen CIRGenCall.cpp CIRGenModule.cpp, clang/test/CIR/CodeGen arg-attrs.cpp invoke-attrs.cpp

[CIR] Fix reference alignment to use pointee type

getNaturalTypeAlignment on a reference type returned pointer alignment
instead of pointee alignment. Pass the pointee type with
forPointeeType=true to match traditional codegen's
getNaturalPointeeTypeAlignment behavior. Fix applies to both argument
and return type attribute construction paths.
DeltaFile
+27-4clang/test/CIR/CodeGen/arg-attrs.cpp
+9-7clang/lib/CIR/CodeGen/CIRGenCall.cpp
+7-0clang/lib/CIR/CodeGen/CIRGenModule.cpp
+3-3clang/test/CIR/CodeGen/invoke-attrs.cpp
+2-4clang/lib/CIR/CodeGen/CIRGenExpr.cpp
+3-0clang/lib/CIR/CodeGen/CIRGenModule.h
+51-186 files

LLVM/project 618b9b2llvm/lib/Frontend/OpenMP OMPIRBuilder.cpp

[OpenMP][flang] Fix crash in host offload

Guard `getGridValue` in `OMPIRBuilder` to avoid reaching the
`unreachable` in `getGridValue` when offloading to host device without
an explicit num_threads clause.

Reproducer (`-fopenmp -fopenmp-targets=x86_64-unknown-linux-gnu`):
```
program test
  implicit none

  !$omp target
  !$omp end target
end program test
```

(Note: the linker still fails, but that's another issue.)
DeltaFile
+13-3llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+13-31 files

LLVM/project 1f9c54aclang/lib/AST QualTypeNames.cpp, clang/test/Interpreter pretty-print.cpp

[clang][AST] Preserve qualifiers in getFullyQualifiedType for AutoType (#187717)

A previous change (86c4e96) did not preserve qualifiers attached to the
AutoType QualType when the type was deduced.

For an AutoType after `getDeducedType()`, qualifiers from the original
QualType were dropped. Preserve and reapply them to the deduced type.
DeltaFile
+8-2clang/lib/AST/QualTypeNames.cpp
+4-0clang/test/Interpreter/pretty-print.cpp
+12-22 files

LLVM/project b3c1098lldb/unittests/Platform PlatformTest.cpp

[lldb][test] PlatformTest: fix comment
DeltaFile
+1-1lldb/unittests/Platform/PlatformTest.cpp
+1-11 files

LLVM/project 64c4e52mlir/lib/Conversion/MemRefToSPIRV MemRefToSPIRV.cpp, mlir/test/Conversion/MemRefToSPIRV memref-to-spirv.mlir

[mlir][SPIRV] Add alignment calculation to support `PhysicalStorageBuffer` with vector types (#187698)

This allows to lower `memref.load`/`store` operations on
`PhysicalStorageBuffer`-typed resources with the underlying type being a
vector type. This improves support for the `PhysicalStorageBuffer`
capability in pipelines that use the Vector dialect for distribution.

Signed-off-by: Artem Gindinson <gindinson at roofline.ai>
DeltaFile
+31-0mlir/test/Conversion/MemRefToSPIRV/memref-to-spirv.mlir
+14-5mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
+45-52 files

LLVM/project 1087db5clang-tools-extra/clang-tidy/bugprone SuspiciousSemicolonCheck.cpp SuspiciousSemicolonCheck.h

[clang-tidy] Speed up `bugprone-suspicious-semicolon` (#187558)

```txt
                   ---User Time---   --System Time--   --User+System--   ---Wall Time---  --- Name ---
Status quo:        0.4743 (100.0%)   0.3802 (100.0%)   0.8546 (100.0%)   0.8567 (100.0%)  bugprone-suspicious-semicolon
With this change:  0.0103 (100.0%)   0.0027 (100.0%)   0.0130 (100.0%)   0.0133 (100.0%)  bugprone-suspicious-semicolon
```
Continuing the trend of registering one `anyOf` matcher being slower
than registering each of its matchers separately (see #178829 for a
previous example).

(This PR also changes the traversal mode, but I only saw a small speedup
from that. Most of it came from registering the matchers separately.)

This check wasn't super expensive to begin with, but the speedup is
still pretty nice.
DeltaFile
+9-7clang-tools-extra/clang-tidy/bugprone/SuspiciousSemicolonCheck.cpp
+3-0clang-tools-extra/clang-tidy/bugprone/SuspiciousSemicolonCheck.h
+12-72 files

LLVM/project d7fe9c8clang/lib/Format TokenAnnotator.cpp, clang/unittests/Format FormatTest.cpp

[clang-format] Handle sizeof in C compound literals (#187633)

Fixes #168237
DeltaFile
+11-0clang/lib/Format/TokenAnnotator.cpp
+2-0clang/unittests/Format/FormatTest.cpp
+13-02 files

LLVM/project d0d0238llvm/lib/Target/LoongArch LoongArchISelLowering.cpp

Address wanglei's comment
DeltaFile
+1-0llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+1-01 files

LLVM/project f0a652eclang/lib/Lex PPDirectives.cpp

[NFC][clang] Remove dead code in HandleCXXModuleDirective (#187737)

Remove the dead code in `Preprocessor::HandleCXXModuleDirective`.

Signed-off-by: yronglin <yronglin777 at gmail.com>
DeltaFile
+6-7clang/lib/Lex/PPDirectives.cpp
+6-71 files

LLVM/project 91dbaf5llvm/lib/Target/NVPTX NVPTXUtilities.h, llvm/lib/Target/NVPTX/MCTargetDesc NVPTXInstPrinter.h NVPTXInstPrinter.cpp

[NVPTX] Print param space sub-qualifiers where supported  (#187350)

Print param space sub-qualifiers (`param::entry` and `param::func`) for
PTX 8.3+, as described in the [PTX ISA
docs](https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#parameter-state-space).
This requires threading the `MCSubtargetInfo` through the inst printer,
which is done by setting `PassSubtarget = 1` on the asm writer.

Emitting the full space avoids the need for ptxas to infer it, improving
readability and more importantly preventing potential bugs if valid LLVM
IR transformations were to move a load from ADDRESS_SPACE_ENTRY_PARAM
into a device function.
DeltaFile
+148-0llvm/test/CodeGen/NVPTX/param-space-subqualifiers.ll
+35-24llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
+28-28llvm/test/CodeGen/NVPTX/tensormap_replace.ll
+34-17llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
+5-3llvm/lib/Target/NVPTX/NVPTXUtilities.h
+3-3llvm/test/CodeGen/NVPTX/inline-asm-b128-test1.ll
+253-752 files not shown
+260-778 files

LLVM/project 4cba4adllvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.pops.exiting.wave.id.ll

AMDGPU/GlobalISel: RegBankLegalize rules for pops_exiting_wave_id (#187778)

Merge rule with groupstaticsize, also change to use fast uniform rule
since both of these intrinsics are uniform with no inputs.
DeltaFile
+3-1llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+2-2llvm/test/CodeGen/AMDGPU/llvm.amdgcn.pops.exiting.wave.id.ll
+5-32 files

LLVM/project 36798cfllvm/test/CodeGen/AMDGPU llvm.amdgcn.mbcnt.ll

[AMDGPU][GlobalISel][NFC] Change mbcnt test to use new-reg-bank-select (#187772)

The amdgcn_mbcnt_lo and amdgcn_mbcnt_hi intrinsics already have
RegBankLegalize rules but the test was not converted to use
new-reg-bank-select yet.
DeltaFile
+1-1llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mbcnt.ll
+1-11 files

LLVM/project 8eccc21libclc CMakeLists.txt, libclc/test CMakeLists.txt check_external_funcs.sh

[libclc] Replace llvm-dis with llvm-nm in check-external-funcs.test (#187190)

llvm-nm is covered by extra_deps in runtime build when
LLVM_INCLUDE_TESTS is true.
DeltaFile
+27-35libclc/test/CMakeLists.txt
+0-30libclc/test/check_external_funcs.sh
+0-10libclc/test/lit.cfg.py
+1-2libclc/CMakeLists.txt
+0-2libclc/test/lit.site.cfg.py.in
+1-1llvm/runtimes/CMakeLists.txt
+29-806 files

LLVM/project b2bd3f5cmake/Modules GetToolchainDirs.cmake, flang/test/Lower/OpenMP simd_aarch64.f90

Avoid unnecessary changes

Apply changes from runtimes_resource-dir

Forward-port

cleanup

cleanup

Remove RUNTIMES_DEVICE_ARCHITECTURES
DeltaFile
+2-114offload/CMakeLists.txt
+0-24runtimes/CMakeLists.txt
+11-0cmake/Modules/GetToolchainDirs.cmake
+0-10runtimes/cmake/config-Fortran.cmake
+4-4openmp/runtime/cmake/LibompExports.cmake
+2-2flang/test/Lower/OpenMP/simd_aarch64.f90
+19-1544 files not shown
+25-16110 files

LLVM/project 46c626ellvm/test/CodeGen/X86 i128-udiv.ll, llvm/test/tools/llvm-mca/RISCV/SiFiveX100/rvv arithmetic.test fp.test

Merge commit 'c8280ddb02dab6df5897bc965a5fd95f382d31b2' into HEAD
DeltaFile
+4,523-0llvm/test/tools/llvm-mca/RISCV/SiFiveX100/rvv/arithmetic.test
+3,703-0llvm/test/tools/llvm-mca/RISCV/SiFiveX100/rvv/fp.test
+3,123-0llvm/test/tools/llvm-mca/RISCV/SiFiveX100/rvv/vlseg-vsseg.test
+2,875-0llvm/test/tools/llvm-mca/RISCV/SiFiveX100/rvv/bitwise.test
+2,859-7llvm/test/CodeGen/X86/i128-udiv.ll
+2,331-0llvm/test/tools/llvm-mca/RISCV/SiFiveX100/rvv/permutation.test
+19,414-71,095 files not shown
+75,457-17,4701,101 files

LLVM/project c8280ddcmake/Modules GetToolchainDirs.cmake, compiler-rt/cmake base-config-ix.cmake

Apply changes from runtimes_resource-dir
DeltaFile
+47-38cmake/Modules/GetToolchainDirs.cmake
+5-45compiler-rt/cmake/Modules/CompilerRTUtils.cmake
+2-0compiler-rt/cmake/base-config-ix.cmake
+2-0libc/CMakeLists.txt
+1-0openmp/CMakeLists.txt
+1-0llvm-libgcc/CMakeLists.txt
+58-835 files not shown
+63-8311 files

LLVM/project d4057ebllvm/test/CodeGen/X86 i128-udiv.ll, llvm/test/tools/llvm-mca/RISCV/SiFiveX100/rvv arithmetic.test fp.test

Merge commit '840fa81c691449823422552c4bf65a2d336ac2d1' into HEAD
DeltaFile
+4,523-0llvm/test/tools/llvm-mca/RISCV/SiFiveX100/rvv/arithmetic.test
+3,703-0llvm/test/tools/llvm-mca/RISCV/SiFiveX100/rvv/fp.test
+3,123-0llvm/test/tools/llvm-mca/RISCV/SiFiveX100/rvv/vlseg-vsseg.test
+2,875-0llvm/test/tools/llvm-mca/RISCV/SiFiveX100/rvv/bitwise.test
+2,859-7llvm/test/CodeGen/X86/i128-udiv.ll
+2,331-0llvm/test/tools/llvm-mca/RISCV/SiFiveX100/rvv/permutation.test
+19,414-71,084 files not shown
+75,394-17,3871,090 files

LLVM/project 840fa81offload CMakeLists.txt

Post-merge fixes
DeltaFile
+116-0offload/CMakeLists.txt
+116-01 files

LLVM/project 106d67cllvm/test/CodeGen/X86 i128-udiv.ll, llvm/test/tools/llvm-mca/RISCV/SiFiveX100/rvv arithmetic.test fp.test

Merge commit '63c9573f1c6bafbf4dc57c470cbef13842283b58' into HEAD
DeltaFile
+4,523-0llvm/test/tools/llvm-mca/RISCV/SiFiveX100/rvv/arithmetic.test
+3,703-0llvm/test/tools/llvm-mca/RISCV/SiFiveX100/rvv/fp.test
+3,123-0llvm/test/tools/llvm-mca/RISCV/SiFiveX100/rvv/vlseg-vsseg.test
+2,875-0llvm/test/tools/llvm-mca/RISCV/SiFiveX100/rvv/bitwise.test
+2,859-7llvm/test/CodeGen/X86/i128-udiv.ll
+2,331-0llvm/test/tools/llvm-mca/RISCV/SiFiveX100/rvv/permutation.test
+19,414-71,084 files not shown
+75,334-17,4441,090 files

LLVM/project 2b47497libc/docs getting_started.rst build_concepts.rst

[libc][docs][NFC] Restructure Getting Started guide and update Build Concepts. (#187701)

Restructured the Getting Started guide into a numbered step-by-step path
for easier readability. Added a Hello World verification step to confirm
build integrity after build completion.

Additionally, updated build_concepts.rst and the Getting Started guide
to clarify that Overlay Mode is intended for augmenting the system's C
library rather than incremental adoption.
DeltaFile
+83-42libc/docs/getting_started.rst
+2-2libc/docs/build_concepts.rst
+85-442 files

LLVM/project b9d2767lldb/source/Plugins/ExpressionParser/Clang ClangExpressionParser.cpp, lldb/test/API/commands/expression/ptrauth-objc TestPtrAuthObjectiveC.py main.m

[lldb] Support arm64e Objective-C signing in the expression evaluator (#187765)

When targeting arm64e, ISA pointers, class_ro_t pointers, and interface
selectors are signed in Objective-C. This PR adds support for that in
the expression evaluator.
DeltaFile
+91-0lldb/test/API/commands/expression/ptrauth-objc/TestPtrAuthObjectiveC.py
+39-0lldb/test/API/commands/expression/ptrauth-objc/main.m
+10-0lldb/test/API/commands/expression/ptrauth-objc/Makefile
+3-0lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
+143-04 files

LLVM/project bef8df8clang/lib/AST QualTypeNames.cpp, clang/test/Interpreter pretty-print.cpp

[clang][AST] Fix assertion in `getFullyQualifiedType` for AutoType (#186105)

getFullyQualifiedType() asserts "Unhandled type node" when the input
QualType is an AutoType.

This was exposed by clang-repl's value printer:
```
clang-repl> namespace N { struct D {}; }
clang-repl> auto x = N::D(); x // asserts
```

Strip AutoType early before the type-specific handling.

(cherry picked from commit 86c4e96856a645a4015adf0e4d1a779e5662c6ca)
DeltaFile
+9-0clang/test/Interpreter/pretty-print.cpp
+5-0clang/lib/AST/QualTypeNames.cpp
+14-02 files

LLVM/project 3d4dd4blldb/unittests/Platform PlatformTest.cpp

[lldb][test] Don't build PlatformLocateSafePathTest in non-asserts builds (#187829)

From a CI failure:
```
FAILED: [code=1] tools/lldb/unittests/Platform/CMakeFiles/LLDBPlatformTests.dir/PlatformTest.cpp.obj
C:\Users\tcwg\scoop\shims\ccache.exe C:\Users\tcwg\scoop\apps\llvm-arm64\current\bin\clang-cl.exe  /nologo -TP -DLLVM_BUILD_STATIC -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\build\tools\lldb\unittests\Platform -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\unittests\Platform -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\include -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\build\tools\lldb\include -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\build\include -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\llvm\include -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\llvm\..\clang\include -IC:\Users\tcwg\ll
 vm-worker\lldb-aarch64-windows\build\tools\lldb\..\clang\include -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\source -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\unittests -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\third-party\unittest\googletest\include -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\third-party\unittest\googlemock\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw -Wno-vla-extension /O2 /Ob2 /DNDEBUG -std:c++17 -MD   -wd4018 -wd4068 -wd4150 -wd4201 -wd4251 -wd4521 -wd4530 -wd4589 -Wno-suggest-override -Wno-gn
 u-zero-variadic-macro-arguments /EHs-c- /GR- /showIncludes /Fotools\lldb\unittests\Platform\CMakeFiles\LLDBPlatformTests.dir\PlatformTest.cpp.obj /Fdtools\lldb\unittests\Platform\CMakeFiles\LLDBPlatformTests.dir\ -c -- C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\unittests\Platform\PlatformTest.cpp
C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\unittests\Platform\PlatformTest.cpp(197,5): error: use of undeclared identifier 'TestingProperties'
  197 |     TestingProperties::GetGlobalTestingProperties().SetSafeAutoLoadPaths({});
      |     ^
C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\unittests\Platform\PlatformTest.cpp(238,3): error: use of undeclared identifier 'TestingProperties'
  238 |   TestingProperties::GetGlobalTestingProperties().AppendSafeAutoLoadPaths(
      |   ^
C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\unittests\Platform\PlatformTest.cpp(265,3): error: use of undeclared identifier 'TestingProperties'
  265 |   TestingProperties::GetGlobalTestingProperties().AppendSafeAutoLoadPaths(
      |   ^
C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\unittests\Platform\PlatformTest.cpp(295,3): error: use of undeclared identifier 'TestingProperties'
  295 |   TestingProperties::GetGlobalTestingProperties().AppendSafeAutoLoadPaths(

    [26 lines not shown]
DeltaFile
+3-0lldb/unittests/Platform/PlatformTest.cpp
+3-01 files

LLVM/project 40a01eellvm/include/llvm/ADT Statistic.h, llvm/lib/Support Statistic.cpp

Eliminate global constructors (hopefully)

Created using spr 1.3.8-wip
DeltaFile
+32-11llvm/lib/Support/Statistic.cpp
+22-5llvm/unittests/ADT/StatisticTest.cpp
+16-2llvm/include/llvm/ADT/Statistic.h
+70-183 files