LLVM/project 165ce5cclang/include/clang/Serialization ASTRecordReader.h, clang/lib/AST ASTContext.cpp Type.cpp

trivial changes
DeltaFile
+20-14clang/lib/Sema/SemaOpenMP.cpp
+18-14clang/lib/AST/ASTContext.cpp
+16-15clang/lib/Sema/SemaTemplate.cpp
+14-11clang/lib/AST/Type.cpp
+14-8clang/lib/AST/ASTDiagnostic.cpp
+11-6clang/include/clang/Serialization/ASTRecordReader.h
+93-6833 files not shown
+202-15239 files

LLVM/project 5b3da81clang/include/clang/AST ASTContext.h, clang/lib/AST ASTContext.cpp ItaniumMangle.cpp

[clang] implement CWG2064: ignore value dependence for decltype

The 'decltype' for a value-dependent (but non-type-dependent) should be known,
so this patch makes them non-opaque instead.

This patch also implements what's neceessary to allow overloading
on pure differences in instantiation dependence, making `std::void_t`
usable for SFINAE purposes.

This also readds a few test cases from da98651, which was a previous attempt
at resolving CWG2064.

Fixes #8740
Fixes #61818
Fixes #190388
DeltaFile
+888-161clang/lib/AST/ASTContext.cpp
+328-12clang/test/SemaTemplate/instantiation-dependence.cpp
+176-96clang/lib/AST/ItaniumMangle.cpp
+100-98clang/lib/Sema/SemaCXXScopeSpec.cpp
+62-57clang/lib/AST/Type.cpp
+88-11clang/include/clang/AST/ASTContext.h
+1,642-43570 files not shown
+2,397-78876 files

LLVM/project 3a7c0ebclang/lib/Headers arm64_neon.h module.modulemap, clang/test/CodeGen arm64-neon-header.c

[clang] Add arm64_neon.h wrapper on windows (#196014)

Add an MSVC-compatible <arm64_neon.h> resource header that forwards to
Clang's generated <arm_neon.h>. This lets ARM64 Windows code using the
MSVC header name lower NEON intrinsics through Clang builtins instead of
eaving external neon_* calls such as neon_ld1m4_q32

Fixes #195683
DeltaFile
+21-0clang/lib/Headers/arm64_neon.h
+14-0clang/test/CodeGen/arm64-neon-header.c
+6-0clang/lib/Headers/module.modulemap
+1-0clang/lib/Headers/CMakeLists.txt
+42-04 files

LLVM/project ed20210clang/docs ReleaseNotes.rst, clang/lib/Parse ParseDecl.cpp

[clangd][Parser][Sema] Fix TemplateIdAnnotation UAF with template-id declarator and lambda default argument (#196788)

I think this is another case of template annotations lifetime bug,
similar to the one fixed by
https://github.com/llvm/llvm-project/pull/89494.

Closes https://github.com/llvm/llvm-project/issues/196725.
DeltaFile
+8-0clang/lib/Parse/ParseDecl.cpp
+6-0clang/test/Parser/cxx-default-args.cpp
+1-0clang/docs/ReleaseNotes.rst
+15-03 files

LLVM/project 5ea4df0compiler-rt/lib/sanitizer_common sanitizer_common.h

Fix formatting of function declarations in sanitizer_common.h
DeltaFile
+2-2compiler-rt/lib/sanitizer_common/sanitizer_common.h
+2-21 files

LLVM/project fef9638compiler-rt/lib/asan asan_thread.h

Fix pointer declaration style for altstack_base_
DeltaFile
+1-1compiler-rt/lib/asan/asan_thread.h
+1-11 files

LLVM/project 3b93af2compiler-rt/lib/sanitizer_common sanitizer_posix_libcdep.cpp

Fix return statement formatting in sigaltstack check
DeltaFile
+2-1compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
+2-11 files

LLVM/project 19231dbcompiler-rt/test/asan/TestCases/Posix multiple_sigaltstack.cpp

Reorder includes
DeltaFile
+1-1compiler-rt/test/asan/TestCases/Posix/multiple_sigaltstack.cpp
+1-11 files

LLVM/project 19a1532llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll, llvm/test/CodeGen/AMDGPU/NextUseAnalysis spill-vreg-many-lanes.mir acyclic-770bb.mir

Merge branch 'main' into users/ilovepi/signalstack
DeltaFile
+275,101-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/spill-vreg-many-lanes.mir
+87,984-82,073llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+144,679-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/acyclic-770bb.mir
+66,293-29,491llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
+57,682-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/double-nested-loops-complex-cfg.mir
+27,592-26,643llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+659,331-138,20728,075 files not shown
+3,490,982-1,327,98828,081 files

LLVM/project 578ba5fllvm/include/llvm/ADT MapVector.h

[ADT] Avoid map storage for small SmallMapVector (#196473)

SmallMapVector previously used SmallDenseMap for its index, which still
initializes and maintains map storage even when the number of entries is
tiny.

Teach MapVector to support a vector-only small mode. While the entry
count stays
within the configured small size, operations use the underlying vector
directly.
When the size grows past the threshold, the map index is built and
subsequent
operations use the regular MapVector path.

This mirrors the small-size strategy used by SmallSetVector.
DeltaFile
+73-15llvm/include/llvm/ADT/MapVector.h
+73-151 files

LLVM/project 16b7331llvm/lib/CodeGen AtomicExpandPass.cpp, llvm/test/CodeGen/ARM atomic-load-store.ll

[AtomicExpand] Add bitcasts when expanding load atomic vector

AtomicExpand fails for aligned `load atomic <n x T>` because it
does not find a compatible library call. This change adds appropriate
bitcasts so that the call can be lowered. It also adds support for
128 bit lowering in tablegen to support SSE/AVX.
DeltaFile
+226-61llvm/test/Transforms/AtomicExpand/X86/expand-atomic-non-integer.ll
+90-1llvm/test/CodeGen/X86/atomic-load-store.ll
+51-0llvm/test/CodeGen/ARM/atomic-load-store.ll
+15-4llvm/lib/CodeGen/AtomicExpandPass.cpp
+382-664 files

LLVM/project dff356dclang-tools-extra/clang-tidy/bugprone ArgumentCommentCheck.cpp ArgumentCommentCheck.h, clang-tools-extra/docs ReleaseNotes.rst

[clang-tidy] comment braced and parenthesized init arguments (#180408)

Handle arguments like `{}`, `Type{}` and `Type()` in
`bugprone-argument-comment` and
add coverage for `initializer_list` and designated initializers.

Fixes: https://github.com/llvm/llvm-project/issues/171842
DeltaFile
+239-0clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-init-list.cpp
+117-37clang-tools-extra/docs/clang-tidy/checks/bugprone/argument-comment.rst
+111-27clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
+69-0clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-init-list-cxx20.cpp
+18-7clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.h
+8-2clang-tools-extra/docs/ReleaseNotes.rst
+562-736 files

LLVM/project b66d798libc/src/__support high_precision_decimal.h

[libc] Fix a copyright comment typo (#196846)

No behavior change.
DeltaFile
+1-1libc/src/__support/high_precision_decimal.h
+1-11 files

LLVM/project fb53478llvm/include/llvm/Support VersionTuple.h ELFAttributeParser.h, llvm/lib/Support ConvertUTFWrapper.cpp APInt.cpp

Add missing direct includes for bit.h/SwapByteOrder.h. NFC (#196843)

These translation units use llvm::endianness, llvm::byteswap,
llvm::has_single_bit, or sys::IsLittleEndianHost without explicitly
including the header that declares them. They currently compile only
because llvm/ADT/Hashing.h transitively pulls in
llvm/Support/SwapByteOrder.h (which includes llvm/ADT/bit.h).
DeltaFile
+1-0llvm/unittests/Object/SymbolicFileTest.cpp
+1-0llvm/unittests/DebugInfo/DWARF/DWARFFormValueTest.cpp
+1-0llvm/lib/Support/ConvertUTFWrapper.cpp
+1-0llvm/lib/Support/APInt.cpp
+1-0llvm/include/llvm/Support/VersionTuple.h
+1-0llvm/include/llvm/Support/ELFAttributeParser.h
+6-02 files not shown
+8-08 files

LLVM/project d565d51llvm/test/Transforms/LoopVectorize/AArch64 reduction-cost.ll binop-costs.ll, llvm/test/Transforms/LoopVectorize/X86/CostModel vpinstruction-cost.ll

[LV] Add missing cost tests for various unary and binary ops (NFC) (#196841)
DeltaFile
+317-24llvm/test/Transforms/LoopVectorize/X86/CostModel/vpinstruction-cost.ll
+111-0llvm/test/Transforms/LoopVectorize/AArch64/reduction-cost.ll
+34-1llvm/test/Transforms/LoopVectorize/AArch64/binop-costs.ll
+462-253 files

LLVM/project e88bf12clang-tools-extra/test/clang-tidy/checkers/bugprone unhandled-code-paths.cpp, clang-tools-extra/test/clang-tidy/checkers/hicpp multiway-paths-covered.cpp

Add a check for cross-block vectorization

Created using spr 1.3.7
DeltaFile
+0-2,614llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
+2,614-0llvm/test/CodeGen/AMDGPU/ctlz_zero_poison.ll
+1,670-0llvm/test/CodeGen/AMDGPU/cttz_zero_poison.ll
+0-1,670llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
+468-0clang-tools-extra/test/clang-tidy/checkers/bugprone/unhandled-code-paths.cpp
+0-468clang-tools-extra/test/clang-tidy/checkers/hicpp/multiway-paths-covered.cpp
+4,752-4,752321 files not shown
+12,761-10,589327 files

LLVM/project 5a1635cllvm/test/Transforms/LoopVectorize preserve-inbounds-gep-with-pointer-casts.ll version-mem-access.ll, llvm/test/Transforms/LoopVectorize/VPlan/X86 scalarize-wide-load-for-address-use.ll

[LV] Add tests for load/store scalarization and ptrcasts (NFC) (#196839)

Add missing test coverage for range of pointer casts and load/store
scalarization.
DeltaFile
+227-0llvm/test/Transforms/LoopVectorize/VPlan/X86/scalarize-wide-load-for-address-use.ll
+154-0llvm/test/Transforms/LoopVectorize/preserve-inbounds-gep-with-pointer-casts.ll
+48-0llvm/test/Transforms/LoopVectorize/version-mem-access.ll
+429-03 files

LLVM/project a85e494mlir/include/mlir/Dialect/SPIRV/IR SPIRVNonUniformOps.td SPIRVGroupOps.td, mlir/lib/Dialect/SPIRV/IR GroupOps.cpp

[mlir][spirv] Enforce execution scope for group operations in ODS (#196644)

This adds a new class `SPIRV_ExecutionScopeAttrIs` shared between group
and non-uniform group operations.

Assisted-by: Codex
DeltaFile
+0-106mlir/lib/Dialect/SPIRV/IR/GroupOps.cpp
+60-35mlir/include/mlir/Dialect/SPIRV/IR/SPIRVNonUniformOps.td
+42-11mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGroupOps.td
+17-17mlir/test/Dialect/SPIRV/IR/non-uniform-ops.mlir
+11-0mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
+2-1mlir/test/Dialect/SPIRV/IR/group-ops.mlir
+132-1706 files

LLVM/project a8868e6mlir/include/mlir/Dialect/SPIRV/IR SPIRVAttributes.td, mlir/test/Dialect/SPIRV/IR target-and-abi.mlir

[mlir][spirv] Remove stale NV CooperativeMatrix attributes (#196639)

Since the support for NV CooperativeMatrix has been removed a while
back, those attributes can be safely removed.
DeltaFile
+0-39mlir/test/Dialect/SPIRV/IR/target-and-abi.mlir
+0-22mlir/include/mlir/Dialect/SPIRV/IR/SPIRVAttributes.td
+0-612 files

LLVM/project 8996639llvm/lib/Target/AArch64 AArch64CodeLayoutOpt.cpp AArch64Processors.td, llvm/test/CodeGen/AArch64 code-layout-opt.ll

[AArch64] New pass for code layout optimizations. (#184434)

This pass is intended to optimize code layout prior to AsmPrinter. The
initial version handles two known cases:
I.  FCMP-FCSEL
II. CMP/CMN-CSEL, 32-bit only

Using existing directives, the pass induces function-alignment (of
64-bytes by default) when a pair is detected, and possibly induces
block-alignment of up to 4-bytes on top of that if the pair would
straddle cache-lines.
 
Beyond performance improvement, this pass reduces noise due to code
layout thus stabilizes measured performance over-time. For example,
knock-out effects on a "sensitive function" won't be triggered by
codegen changes outside it.

Enabled by default on processors with the new `FeatureAlignCmpCSelPairs`
subtarget feature (gated per sub-case by `FeatureFuseCmpCSel` /

    [6 lines not shown]
DeltaFile
+264-0llvm/test/CodeGen/AArch64/code-layout-opt.ll
+262-0llvm/lib/Target/AArch64/AArch64CodeLayoutOpt.cpp
+6-0llvm/lib/Target/AArch64/AArch64Processors.td
+6-0llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
+4-0llvm/lib/Target/AArch64/AArch64Features.td
+2-0llvm/lib/Target/AArch64/AArch64.h
+544-02 files not shown
+546-08 files

LLVM/project 0f9c84bllvm/test/CodeGen/WebAssembly slp-memory-interleave.ll

Disable non-power-of-2 in codegen test

Created using spr 1.3.7
DeltaFile
+1-1llvm/test/CodeGen/WebAssembly/slp-memory-interleave.ll
+1-11 files

LLVM/project 2893aa5libc/src/__support/math cos.h

[libc][math] Fix -Wshadow warnings in cos.h (#196342)

cos() does `using namespace range_reduction_double_internal;` and
range_reduction_double_internal after 51e9430a0c767 contains

    using LIBC_NAMESPACE::fputil::DoubleDouble;
    using Float128 = LIBC_NAMESPACE::fputil::DyadicFloat<128>;

So the local using statements for DoubleDouble and Float128 shadowed
these. Just remove the local using statements.

No behavior change.
DeltaFile
+0-2libc/src/__support/math/cos.h
+0-21 files

LLVM/project 93c1336libc/src/__support/File file.cpp, libc/src/__support/File/linux file.cpp

[libc] Move a few -Wshadow warnings in __support/File (#196810)

No behavior change.
DeltaFile
+5-5libc/src/__support/File/file.cpp
+1-1libc/src/__support/File/linux/file.cpp
+6-62 files

LLVM/project 865465dutils/bazel/llvm-project-overlay/clang BUILD.bazel

[Bazel] Fixes 2f4c387 (#196822)

This fixes 2f4c387147f1617e242dd500960410728e5ec35e.

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
DeltaFile
+2-0utils/bazel/llvm-project-overlay/clang/BUILD.bazel
+2-01 files

LLVM/project dd23e41clang-tools-extra/clang-tidy/modernize UseTrailingReturnTypeCheck.cpp UseTrailingReturnTypeCheck.h

[clang-tidy][NFC] Move `ClassifiedToken` to cpp file (#196820)

`ClassifiedToken` is used in only the implementation of
`UseTrailingReturnTypeCheck`. Move it into the unnamed namespace of the
cpp file instead of it being in the header.
DeltaFile
+10-0clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
+0-6clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.h
+10-62 files

LLVM/project b50027fllvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/PhaseOrdering/AArch64 reduce_submuladd.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+140-76llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
+137-42llvm/test/Transforms/SLPVectorizer/X86/dot-product.ll
+31-98llvm/test/Transforms/PhaseOrdering/AArch64/reduce_submuladd.ll
+44-56llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
+24-60llvm/test/Transforms/SLPVectorizer/RISCV/revec.ll
+65-14llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+441-34631 files not shown
+645-68337 files

LLVM/project 232aa78clang-tools-extra/clang-tidy/modernize UseTrailingReturnTypeCheck.cpp UseTrailingReturnTypeCheck.h

[clang-tidy] Move `ClassifiedToken` to cpp file

`ClassifiedToken` is used in only the implementation of `UseTrailingReturnTypeCheck`. Move it into the unnamed namespace of the cpp file instead of it being in the header.
DeltaFile
+10-0clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
+0-6clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.h
+10-62 files

LLVM/project 10f9417clang/lib/CodeGen CoverageMappingGen.cpp, clang/test/CoverageMapping system_macro_switch.cpp

[Coverage] Fix assertion failure when a -isystem header invokes a user macro (#195427)

```
  // a.cc
  static void foo(int x) {
    switch (x) {
  #define GENERIC(n) case n:
  #include "types.def"   // -isystem header invokes a user macro
      break;
    }
  }

  // sys/types.def
  #define MID(name) GENERIC(name)
  MID(0)
  MID(1)
  MID(2)
```


    [17 lines not shown]
DeltaFile
+42-0clang/test/CoverageMapping/system_macro_switch.cpp
+16-11clang/lib/CodeGen/CoverageMappingGen.cpp
+58-112 files

LLVM/project 2f4c387llvm/include/llvm/Support Hash.h, llvm/include/llvm/Transforms/Utils KCFIHash.h

Move KCFI type ID hash helpers out of LLVMSupport (#196784)

PR #167254 inappropriately introduced llvm/Support/Hash.{h,cpp} for the
KCFI helpers. The name is misleading — it has nothing to do with the
generic hashing facility in llvm/ADT/Hashing.h — and KCFI is a
CodeGen/IR feature that does not belong in the foundational Support
layer.

Move the files to llvm/lib/Transforms/Utils/KCFIHash.cpp, alongside
setKCFIType, which is the only existing KCFI helper in TransformUtils.

Also relocate the deprecated pre-xxh3 xxHash64 implementation into
KCFIHash.cpp, the sole user. clang/test/CodeGen/kcfi-generalize.c and
kcfi-normalize.c are end-to-end regression tests for the xxHash64 output
DeltaFile
+142-0llvm/lib/Transforms/Utils/KCFIHash.cpp
+0-75llvm/lib/Support/xxhash.cpp
+0-54llvm/lib/Support/Hash.cpp
+37-0llvm/include/llvm/Transforms/Utils/KCFIHash.h
+0-37llvm/include/llvm/Support/Hash.h
+0-12llvm/unittests/Support/xxhashTest.cpp
+179-1786 files not shown
+183-18812 files

LLVM/project 285ac8clibcxx/utils/ci run-buildbot

[libcxx] Switch to check-runtimes for generic-llvm-libc (#196780)
DeltaFile
+1-13libcxx/utils/ci/run-buildbot
+1-131 files