LLVM/project 2e93539llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 reused-extract-scalar-lanes.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+3-1llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+1-3llvm/test/Transforms/SLPVectorizer/X86/reused-extract-scalar-lanes.ll
+4-42 files

LLVM/project 8ec281bllvm/lib/IR Intrinsics.cpp, llvm/test/CodeGen/AArch64 sve-bad-intrinsics.ll

[LLVM] Precise error message for intrinsic signature verification (1/n) (#196802)

Generate more precise error message when intrinsic signature
verification fails. Keep track of the current position/component of the
intrinsic signature being checked and print a more descriptive error
message which includes the position/element of the signature that failed
and the reason it failed.

Note that not all cases in `matchIntrinsicType` generate errors, so have
a temporary fallback to keep generating a generic error message in those
cases. This fallback will be eventually removed.

Added a C++ unit test for testing intrinsic struct return type that is
either an identified struct or a packed struct, as these cases cannot be
created from a .ll file directly (since autoupgrade in the parser fixes
them up).
DeltaFile
+291-0llvm/test/Verifier/intrinsic-bad-arg-type1.ll
+171-47llvm/lib/IR/Intrinsics.cpp
+36-0llvm/unittests/IR/VerifierTest.cpp
+2-2llvm/test/CodeGen/AArch64/sve-bad-intrinsics.ll
+1-1llvm/test/CodeGen/WinEH/wineh-intrinsics-invalid.ll
+501-505 files

LLVM/project f63b8eellvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 pr196804.ll

[SelectionDAG] Fix miscompile in known-0/1 setcc fold with XOR (#196804) (#197767)

When simplifySetCC folds `(xor X, C) != 0` (where the XOR result is
known 0/1) into `TRUNCATE(XOR X, C)`, later DAG combines can incorrectly
fold the XOR back into its source operand, losing the NOT semantics.
This causes the x86 backend to test the original value instead of the
XOR result, inverting the condition and producing wrong code.

Fix by folding `(xor X, C) ==/!= N1` directly into `setcc(X, N1^C,
cond)` instead of returning TRUNCATE(XOR). The SETCC form is canonical
and immune to the problematic DAG combine.

Fixes #196804.
DeltaFile
+26-0llvm/test/CodeGen/X86/pr196804.ll
+3-1llvm/lib/Target/X86/X86ISelLowering.cpp
+29-12 files

LLVM/project e88d1b7clang/docs TypeSanitizer.rst

[Docs] Fix and update TySan docs (#198331)
DeltaFile
+3-3clang/docs/TypeSanitizer.rst
+3-31 files

LLVM/project 9c11571lldb/source/Commands CommandObjectBreakpoint.cpp CommandObjectTarget.cpp

Revert "[lldb] Make CommandObject::GetTarget filter out the dummy target (#198026)" (#198325)

This reverts commit d90baa054dfc7d9f53148e4739effbf9fd7ac27a.

Fails in CI in `TestMultipleBinaryCorefile.py` when running `image list
-g` in `test_corefile_binaries_dsymforuuid` because `TargetModulesList`
currently asserts we have a target even with the `-g` flag set.

Original PR https://github.com/llvm/llvm-project/pull/198026
DeltaFile
+150-162lldb/source/Commands/CommandObjectBreakpoint.cpp
+114-143lldb/source/Commands/CommandObjectTarget.cpp
+48-55lldb/source/Commands/CommandObjectWatchpoint.cpp
+46-49lldb/source/Commands/CommandObjectSource.cpp
+23-20lldb/source/Commands/CommandObjectProcess.cpp
+18-24lldb/source/Commands/CommandObjectFrame.cpp
+399-45314 files not shown
+492-57920 files

LLVM/project e9a46b9llvm/lib/Transforms/Vectorize LoopVectorize.cpp

[VPlan] Skip verification for intermediate VPlan transforms (#198321)

Fix #198274
DeltaFile
+7-7llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+7-71 files

LLVM/project 3e30430llvm/lib/Target/RISCV RISCVInstrInfoP.td RISCVInstrInfo.td, llvm/test/CodeGen/RISCV rvp-simd-64.ll

[RISCV][P-ext] Add patterns for padd.dbs/dhs/dws. (#198227)
DeltaFile
+6-12llvm/test/CodeGen/RISCV/rvp-simd-64.ll
+14-1llvm/lib/Target/RISCV/RISCVInstrInfoP.td
+0-5llvm/lib/Target/RISCV/RISCVInstrInfo.td
+20-183 files

LLVM/project 4d5839fclang-tools-extra/clang-doc Representation.h

[clang-doc][nfc] Reformat and revise comment block
DeltaFile
+35-22clang-tools-extra/clang-doc/Representation.h
+35-221 files

LLVM/project ea64c90clang-tools-extra/clang-doc Serialize.cpp Serialize.h

[clang-doc] Removed OwnedPtr alias

The alias served a purpose during migration, but now conveys the wrong
semantics, as the memory these pointers reference is interned inside
a local arena, and doesn't convey any sort of ownership.
DeltaFile
+40-38clang-tools-extra/clang-doc/Serialize.cpp
+29-42clang-tools-extra/clang-doc/Serialize.h
+17-18clang-tools-extra/clang-doc/Representation.cpp
+3-22clang-tools-extra/clang-doc/Representation.h
+8-8clang-tools-extra/clang-doc/JSONGenerator.cpp
+8-6clang-tools-extra/clang-doc/Generators.h
+105-13411 files not shown
+148-17717 files

LLVM/project 8348dcaclang-tools-extra/clang-doc BitcodeReader.cpp

Fix typo in variable name
DeltaFile
+2-2clang-tools-extra/clang-doc/BitcodeReader.cpp
+2-21 files

LLVM/project 6a74a7fclang-tools-extra/clang-doc Serialize.cpp BitcodeReader.cpp, clang-tools-extra/clang-doc/benchmarks ClangDocBenchmark.cpp

[clang-doc] Use distinct APIs for fixed arena allocation sites

Typically, code either always emits data into the TransientArena or the
PersistentArena. Use more explicit APIs to convey the intent directly
instead of relying on parameters or defaults. We were not always
consistent about this.
DeltaFile
+13-14clang-tools-extra/clang-doc/Serialize.cpp
+6-7clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp
+6-5clang-tools-extra/clang-doc/BitcodeReader.cpp
+4-5clang-tools-extra/clang-doc/Representation.cpp
+7-1clang-tools-extra/clang-doc/Representation.h
+36-325 files

LLVM/project 30bc65fllvm/lib/Target/AArch64 AArch64AsmPrinter.cpp AArch64InstrInfo.td, llvm/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp

[PAC][ELF] Support R_AARCH64_AUTH_TLSDESC_CALL relocation

The R_AARCH64_AUTH_TLSDESC_CALL is introduced to allow linker relaxation of
AUTH TLSDESC call sequences for non-preemptible undefined weak symbols.

The lld patch introducing the relaxation: #194636

Corresponding ARM docs PR: https://github.com/ARM-software/abi-aa/pull/395
DeltaFile
+11-6llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+12-3llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
+10-5llvm/test/CodeGen/AArch64/ptrauth-arm64-tls-dynamics.ll
+9-0llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
+8-0llvm/lib/Target/AArch64/AArch64InstrInfo.td
+3-0llvm/test/MC/AArch64/directives-case_insensitive.s
+53-141 files not shown
+54-147 files

LLVM/project 21d1e21llvm/utils/FileCheck FileCheck.cpp

Replace MarkerRange::truncate with new constructor

`truncate` was ok before this patch, but now it is unclear what
happens if the original `MarkerRange` had `ShowExclusive==true`.  In
that case, it seems like maybe we should end up with a range marking
the characters before and after the one character, but instead we
always end up with a single marker at just the one character.
Currently, `truncate` is never called for that case, but it is better
to keep the API clear for the future.  Constructing an entirely new
`MarkerRange` makes it clearer to me that it knows nothing about the
old `MarkerRange`'s `ShowExclusive`.  If needed later, we can add a
`ShowExclusive` parameter to the new constructor.
DeltaFile
+4-3llvm/utils/FileCheck/FileCheck.cpp
+4-31 files

LLVM/project 79a0c1dlld/ELF RelocScan.h, lld/ELF/Arch AArch64.cpp

Support R_AARCH64_AUTH_TLSDESC_CALL
DeltaFile
+20-53lld/ELF/Arch/AArch64.cpp
+9-6lld/test/ELF/aarch64-tlsdesc-pauth.s
+3-1lld/ELF/RelocScan.h
+1-1lld/test/ELF/aarch64-reloc-pauth-undef-weak-pie.s
+1-1lld/test/ELF/aarch64-reloc-pauth-undef-weak-dso.s
+1-1lld/test/ELF/aarch64-reloc-pauth-undef-weak.s
+35-636 files

LLVM/project 4d34694clang-tools-extra/clang-doc Representation.h Representation.cpp, clang-tools-extra/unittests/clang-doc BitcodeTest.cpp MergeTest.cpp

[clang-doc] Update type aliases (#190425)

Many of the type aliases we introduced to simplify migration to arena
allocation  are no longer relevant after completing the migration. We
can use more relevant names and remove dead aliases.
DeltaFile
+13-17clang-tools-extra/clang-doc/Representation.h
+9-9clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
+8-9clang-tools-extra/clang-doc/Representation.cpp
+3-5clang-tools-extra/clang-doc/YAMLGenerator.cpp
+4-4clang-tools-extra/unittests/clang-doc/MergeTest.cpp
+4-4clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
+41-486 files not shown
+54-6112 files

LLVM/project 806e497clang-tools-extra/clang-doc YAMLGenerator.cpp

[clang-doc][nfc] Use static declarations to enforce internal linkage
DeltaFile
+4-4clang-tools-extra/clang-doc/YAMLGenerator.cpp
+4-41 files

LLVM/project 847e1acclang/include/clang/Basic Module.h, clang/include/clang/Serialization ModuleManager.h

[clang][modules] Remove `ModuleManager` in-memory buffers (#194753)

The last remaining undesirable `FileManager` usage in
`ModuleManager::addModule()` is the lookup in the in-memory buffers map.
This PR merges that functionality with the `InMemoryModuleCache`,
simplifying the code and removing unnecessary file system access via
`ModuleManager::lookupBuffer()`.

This is also useful downstream, where we already use the
`InMemoryModuleCache` for PCMs loaded from CAS, but don't have an
explicit way to represent the PCM location in `ModuleFile{Name,Key}`.
DeltaFile
+43-4clang/include/clang/Basic/Module.h
+11-28clang/lib/Serialization/ModuleManager.cpp
+0-13clang/include/clang/Serialization/ModuleManager.h
+9-4clang/lib/Frontend/ASTUnit.cpp
+5-8clang/lib/Serialization/ASTReader.cpp
+6-3clang/lib/Frontend/ChainedIncludesSource.cpp
+74-602 files not shown
+77-688 files

LLVM/project 9437613clang-tools-extra/clang-tidy/misc StaticInitializationCycleCheck.cpp, clang-tools-extra/test/clang-tidy/checkers/misc static-initialization-cycle.cpp

Revert "[clang-tidy] Fix crash in misc-static-initialization-cycle" (#198315)

The previous commit caused a buildbot failure:
https://lab.llvm.org/buildbot/#/builders/46/builds/35532
DeltaFile
+0-8clang-tools-extra/test/clang-tidy/checkers/misc/static-initialization-cycle.cpp
+1-1clang-tools-extra/clang-tidy/misc/StaticInitializationCycleCheck.cpp
+1-92 files

LLVM/project 807d484llvm/test/CodeGen/X86 avx512-calling-conv.ll masked_gather_scatter.ll

[X86] LowerBUILD_VECTORvXi1 - attempt to fold as VPTESTMB(BUILD_VECTOR_vXi8(X),1) for v2i1/v4i1/v8i1 types (#198293)

Extends #198166 to handle cases where we need to BUILD_VECTOR using vXi8 smaller than 128-bits
DeltaFile
+369-1,443llvm/test/CodeGen/X86/avx512-calling-conv.ll
+96-149llvm/test/CodeGen/X86/masked_gather_scatter.ll
+91-147llvm/test/CodeGen/X86/vec-strict-cmp-128-fp16.ll
+124-82llvm/test/CodeGen/X86/vec-strict-fptoint-128.ll
+74-90llvm/test/CodeGen/X86/vec-strict-cmp-sub128.ll
+34-56llvm/test/CodeGen/X86/vec-strict-fptoint-128-fp16.ll
+788-1,96711 files not shown
+961-2,33217 files

LLVM/project 2021782compiler-rt/lib/profile InstrProfilingPlatformWindows.c, compiler-rt/test/profile instrprof-mcdc-correlation.c

[MC/DC][Coverage] Enable profile correlation for MC/DC (#136437)
DeltaFile
+255-101llvm/lib/ProfileData/InstrProfCorrelator.cpp
+85-0llvm/test/Instrumentation/InstrProfiling/debug-info-correlate-bitmap.ll
+35-0compiler-rt/test/profile/instrprof-mcdc-correlation.c
+33-0llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
+21-4llvm/include/llvm/ProfileData/InstrProfCorrelator.h
+2-3compiler-rt/lib/profile/InstrProfilingPlatformWindows.c
+431-1085 files not shown
+439-11411 files

LLVM/project 835be4fllvm/lib/Target/SPIRV SPIRVCombinerHelper.cpp SPIRVLegalizePointerCast.cpp, llvm/test/CodeGen/SPIRV/llvm-intrinsics matrix-multiply.ll

[SPIR-V] Support 1x1 result in matrix multiply combiner (#198091)

Emit a copy instead of G_BUILD_VECTOR for the scalarized 1-element
result, and skip extractelement when storing a 1-element vector to a [1
x T] array

Enable the previously-disabled 1x2 * 2x1 test
DeltaFile
+12-10llvm/test/CodeGen/SPIRV/llvm-intrinsics/matrix-multiply.ll
+4-1llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp
+2-1llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
+18-123 files

LLVM/project 154d7f2llvm/lib/Target/DirectX DXILPrettyPrinter.cpp

clang-format
DeltaFile
+2-5llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
+2-51 files

LLVM/project f915fa6libc/include regex.yaml, libc/src/regex regerror.cpp

Merge branch 'main' into revert-198155-acp/zeyi2/1032984724178912
DeltaFile
+120-0offload/unittests/OffloadAPI/kernel/olLaunchKernelCooperative.cpp
+27-64offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
+82-0libc/include/regex.yaml
+76-6offload/plugins-nextgen/level_zero/src/L0Kernel.cpp
+77-0libc/test/src/regex/regex_basic_test.cpp
+76-0libc/src/regex/regerror.cpp
+458-7070 files not shown
+1,668-12376 files

LLVM/project 3c532a4libc/include regex.yaml, libc/src/regex regerror.cpp CMakeLists.txt

[libc] Add POSIX regex stub implementation and build infrastructure (#196995)

Added the four POSIX regex entrypoints (regcomp, regexec, regerror,
regfree) and registered them for x86_64, aarch64, riscv, and arm.
regerror is fully implemented with all 13 POSIX error code strings. The
other three are stubs backed by simple string matching to validate the
build pipeline end-to-end.

This implementation is restricted to full-build mode
(LLVM_LIBC_FULL_BUILD) to avoid ABI compatibility risks with system
headers and internal state management in overlay mode.

New files:
* include/regex.yaml and regex-macros.h for header generation
* regex_t, regoff_t, regmatch_t type headers
* src/regex/ with all four entrypoints
* test/src/regex/ with regerror and basic round-trip tests

All 7 tests pass.
DeltaFile
+82-0libc/include/regex.yaml
+77-0libc/test/src/regex/regex_basic_test.cpp
+76-0libc/src/regex/regerror.cpp
+57-0libc/src/regex/CMakeLists.txt
+54-0libc/src/regex/regexec.cpp
+51-0libc/src/regex/regcomp.cpp
+397-037 files not shown
+982-043 files

LLVM/project b3fb273llvm/test/FileCheck/match-time-error-propagation matched-expected-pattern.txt

Merge branch 'filecheck-refactor-dump-input-tests' into filecheck-braced-search-ranges
DeltaFile
+1-1llvm/test/FileCheck/match-time-error-propagation/matched-expected-pattern.txt
+1-11 files

LLVM/project 0475a4blibc/config/linux/x86_64 entrypoints.txt, libc/hdr netinet_in_macros.h CMakeLists.txt

[libc] Enable arpa/inet.h entrypoints in overlay mode (#198270)

Two of these depend on in_addr_t and struct in_addr, but these are types
whose layout is defined by POSIX and OS ABIs, and they are simpler than
struct sockaddr_in, which we enabled in #195035.
DeltaFile
+27-0libc/hdr/netinet_in_macros.h
+26-0libc/hdr/types/in_addr_t.h
+26-0libc/hdr/types/struct_in_addr.h
+18-0libc/hdr/types/CMakeLists.txt
+8-8libc/config/linux/x86_64/entrypoints.txt
+9-0libc/hdr/CMakeLists.txt
+114-86 files not shown
+125-1912 files

LLVM/project 04b3970llvm/test/FileCheck/dump-input/search-range-annotations check-not.txt check-label-follows.txt, llvm/test/FileCheck/match-time-error-propagation matched-expected-pattern.txt

Merge branch 'filecheck-resurrect-overflow-tests' into filecheck-refactor-dump-input-tests
DeltaFile
+101-0llvm/test/FileCheck/dump-input/search-range-annotations/check-not.txt
+67-0llvm/test/FileCheck/dump-input/search-range-annotations/check-label-follows.txt
+54-0llvm/test/FileCheck/dump-input/search-range-annotations/check-next-same.txt
+1-1llvm/test/FileCheck/match-time-error-propagation/matched-expected-pattern.txt
+223-14 files

LLVM/project f9fbf22llvm/test/FileCheck/dump-input/search-range-annotations check-not.txt check-label-follows.txt

Port PR #198138's new tests here

That makes it easier to see the benefit of PR #198138.
DeltaFile
+101-0llvm/test/FileCheck/dump-input/search-range-annotations/check-not.txt
+67-0llvm/test/FileCheck/dump-input/search-range-annotations/check-label-follows.txt
+54-0llvm/test/FileCheck/dump-input/search-range-annotations/check-next-same.txt
+222-03 files

LLVM/project 13da33elibc/cmake/modules prepare_libc_gpu_build.cmake, openmp/device CMakeLists.txt

[libc] Demote compiler check error to a warning (#198033)

Summary:
This check exists to encode the policy that this is only intended to be
built with a just-built compiler. In practice it's a little too strict
and breaks pretty much every six months when the version bumps or when
people try to build a separate patch. Just demote to a warning.
DeltaFile
+1-1libc/cmake/modules/prepare_libc_gpu_build.cmake
+1-1openmp/device/CMakeLists.txt
+2-22 files

LLVM/project 4101028offload/liboffload/src OffloadImpl.cpp, offload/plugins-nextgen/cuda/dynamic_cuda cuda.h

[offload] Add properties parameter to olLaunchKernel (#197897)

Introduce a properties argument to olLaunchKernel to enable future
extensions.
This change adds initial extension for cooperative kernel launch.

The change restores the functionality from:
https://github.com/llvm/llvm-project/pull/184343
which was later reverted in:
https://github.com/llvm/llvm-project/pull/197463

#184343 modified the API, and between the last rebase and the final
merge, additional tests were added
upstream(https://github.com/llvm/llvm-project/pull/193927) that still
relied on the previous API version.

Diff between this PR and #184343 
```
diff --git a/offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp b/offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp

    [34 lines not shown]
DeltaFile
+120-0offload/unittests/OffloadAPI/kernel/olLaunchKernelCooperative.cpp
+27-64offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
+76-6offload/plugins-nextgen/level_zero/src/L0Kernel.cpp
+66-5offload/plugins-nextgen/cuda/src/rtl.cpp
+53-2offload/liboffload/src/OffloadImpl.cpp
+45-3offload/plugins-nextgen/cuda/dynamic_cuda/cuda.h
+387-8018 files not shown
+559-10224 files