LLVM/project 222fbe4clang/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
+906-175clang/lib/AST/ASTContext.cpp
+318-12clang/test/SemaTemplate/instantiation-dependence.cpp
+176-96clang/lib/AST/ItaniumMangle.cpp
+76-68clang/lib/AST/Type.cpp
+76-48clang/lib/Sema/SemaTemplate.cpp
+93-16clang/include/clang/AST/ASTContext.h
+1,645-41585 files not shown
+2,469-79091 files

LLVM/project 2b43050clang/lib/AST ExprConstant.cpp, clang/test/SemaCXX constant-expression-cxx14.cpp

[clang][ExprConst] Add another missing `NoteLValueLocation()` call (#195098)

This is a little more work since it requires a new parameter for all the
`found()` handlers.
DeltaFile
+19-10clang/lib/AST/ExprConstant.cpp
+11-6clang/test/SemaCXX/constant-expression-cxx14.cpp
+30-162 files

LLVM/project cb2a64ellvm/include/llvm/SandboxIR Region.h, llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer RegionWithScore.h

Reapply "[SandboxIR][SandboxVec] Remove score tracking from Region, add RegionWithScore" (#195708) (#195752)

This reverts commit 75f884b96dfa082227fb730435c68353cd3376c5.
DeltaFile
+72-51llvm/include/llvm/SandboxIR/Region.h
+20-77llvm/unittests/SandboxIR/RegionTest.cpp
+94-0llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/RegionWithScore.h
+7-79llvm/lib/SandboxIR/Region.cpp
+84-0llvm/unittests/Transforms/Vectorize/SandboxVectorizer/RegionWithScoreTest.cpp
+43-0llvm/lib/Transforms/Vectorize/SandboxVectorizer/RegionWithScore.cpp
+320-2077 files not shown
+335-21813 files

LLVM/project f846769llvm/lib/IR Constants.cpp, llvm/test/Assembler aggregate-constant-values.ll

[RFC][IR] Support vector splats in `ConstantPointerNull` (#195486)

This PR allows `ConstantPointerNull` to represent both scalar pointer
nulls and fixed or scalable vector splats of pointer nulls. This change
first aligns with the native splat behavior of `ConstantInt` and
`ConstantFP`, and second, makes it easier to eventually change the
semantics of `ConstantPointerNull` to represent a semantic null pointer
instead of a zero value, which is what it represents today.
DeltaFile
+31-31llvm/test/Transforms/RewriteStatepointsForGC/base-vector.ll
+30-30llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
+49-4llvm/lib/IR/Constants.cpp
+28-0llvm/unittests/IR/ConstantsTest.cpp
+18-9llvm/test/Transforms/RewriteStatepointsForGC/base-inference.ll
+24-0llvm/test/Assembler/aggregate-constant-values.ll
+180-7463 files not shown
+351-22269 files

LLVM/project 11de06elldb/source/Plugins/ExpressionParser/Clang IRForTarget.cpp

[lldb] Add missing closing brace in IRForTarget (#195761)

Follow-up to 51d52c2a6cdc.
DeltaFile
+1-1lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
+1-11 files

LLVM/project 88ec045compiler-rt/lib/asan asan_errors.cpp

[asan] Add HINT prefix to poison_history_size suggestions (#195733)

Consistency update to prefix poison tracking suggestions with "HINT:"
to match other ASan diagnostic hints.
DeltaFile
+3-2compiler-rt/lib/asan/asan_errors.cpp
+3-21 files

LLVM/project 490fc0eclang/test/AST ast-dump-templates.cpp, llvm/test/CodeGen/RISCV rvp-simd-64.ll atomic-rmw.ll

rebase

Created using spr 1.3.8-beta.1
DeltaFile
+652-9,343clang/test/AST/ast-dump-templates.cpp
+4,652-0llvm/test/CodeGen/RISCV/rvp-simd-64.ll
+2,420-2,120llvm/test/CodeGen/RISCV/atomic-rmw.ll
+2,940-1,458llvm/test/CodeGen/X86/vector-reduce-smin.ll
+2,936-1,457llvm/test/CodeGen/X86/vector-reduce-smax.ll
+2,695-1,364llvm/test/CodeGen/X86/vector-reduce-umax.ll
+16,295-15,7423,568 files not shown
+146,779-87,1743,574 files

LLVM/project 3d96ae7clang/test/AST ast-dump-linkage.cpp ast-dump-linkage-internal.cpp, libc/src/semaphore/linux named_semaphore.cpp

rebase

Created using spr 1.3.7
DeltaFile
+485-0clang/test/AST/ast-dump-linkage.cpp
+477-0clang/test/AST/ast-dump-linkage-internal.cpp
+198-0llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-live-outs.ll
+195-0libc/src/semaphore/linux/named_semaphore.cpp
+63-63clang/test/AST/ast-dump-decl.cpp
+114-0libc/test/src/semaphore/linux/semaphore_test.cpp
+1,532-63137 files not shown
+3,028-686143 files

LLVM/project 0a62c54compiler-rt/lib/asan asan_poisoning.cpp asan_errors.cpp

[asan] Only suggest increasing poison_history_size if the buffer is full (#195732)

I unlikely but possible to setup shadow state, e.g unpoison heap red
zone just after partial granule.

If buffer is not full, increasing it will not help.
DeltaFile
+10-8compiler-rt/lib/asan/asan_poisoning.cpp
+6-2compiler-rt/lib/asan/asan_errors.cpp
+1-1compiler-rt/lib/asan/asan_poisoning.h
+17-113 files

LLVM/project dc92452clang/lib/FrontendTool ExecuteCompilerInvocation.cpp

fix clang-format
DeltaFile
+2-1clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
+2-11 files

LLVM/project 1131735compiler-rt/lib/asan asan_errors.cpp

[NFC][asan] Re-use ErrorGeneric::shadow_val (#195684)

It's done to reduce code size, as additional load on reporting is
negligible.

This requires change in ErrorGeneric constructor, to now we skip partial
shadow only if next one has a better value.

Before shadow_val was either `0x[a-f].` or 0.
Now it may be partial granule as well.

However it's NFC as  `0 < shadow_val < ASAN_SHADOW_GRANULARITY` does not
affect reporting outside of `CheckPoisonRecords`.
DeltaFile
+8-18compiler-rt/lib/asan/asan_errors.cpp
+8-181 files

LLVM/project 241f03dclang/test/AST ast-dump-linkage.cpp ast-dump-linkage-internal.cpp, libc/src/semaphore/linux named_semaphore.cpp

rebase

Created using spr 1.3.7
DeltaFile
+485-0clang/test/AST/ast-dump-linkage.cpp
+477-0clang/test/AST/ast-dump-linkage-internal.cpp
+198-0llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-live-outs.ll
+195-0libc/src/semaphore/linux/named_semaphore.cpp
+63-63clang/test/AST/ast-dump-decl.cpp
+114-0libc/test/src/semaphore/linux/semaphore_test.cpp
+1,532-63133 files not shown
+3,046-683139 files

LLVM/project 72c2847clang/test/AST ast-dump-linkage.cpp ast-dump-linkage-internal.cpp, libc/src/semaphore/linux named_semaphore.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+485-0clang/test/AST/ast-dump-linkage.cpp
+477-0clang/test/AST/ast-dump-linkage-internal.cpp
+198-0llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-live-outs.ll
+195-0libc/src/semaphore/linux/named_semaphore.cpp
+63-63clang/test/AST/ast-dump-decl.cpp
+114-0libc/test/src/semaphore/linux/semaphore_test.cpp
+1,532-63132 files not shown
+3,038-674138 files

LLVM/project 3cbe75blibc/src/semaphore/linux named_semaphore.cpp

[libc][semaphore] Zero-initialize rand_bytes to fix GCC warning (#195757)

GCC 15 warns about `rand_bytes` being maybe uninitialized when passed to
`getrandom`. Since `getrandom` writes to it, it doesn't strictly need
initialization, but zero-initializing it satisfies the compiler and
avoids the `-Werror=maybe-uninitialized` error.

Fix for https://github.com/llvm/llvm-project/pull/192278

Assisted by Gemini
DeltaFile
+1-1libc/src/semaphore/linux/named_semaphore.cpp
+1-11 files

LLVM/project 8c6ee8dllvm/lib/IR Constants.cpp, llvm/test/Assembler aggregate-constant-values.ll

[RFC][IR] Support vector splats in `ConstantPointerNull`

This PR allows `ConstantPointerNull` to represent both scalar pointer nulls and
fixed or scalable vector splats of pointer nulls. This change first aligns with
the native splat behavior of `ConstantInt` and `ConstantFP`, and second, makes
it easier to eventually change the semantics of `ConstantPointerNull` to
represent a semantic null pointer instead of a zero value, which is what it
represents today.
DeltaFile
+31-31llvm/test/Transforms/RewriteStatepointsForGC/base-vector.ll
+30-30llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
+49-4llvm/lib/IR/Constants.cpp
+28-0llvm/unittests/IR/ConstantsTest.cpp
+18-9llvm/test/Transforms/RewriteStatepointsForGC/base-inference.ll
+24-0llvm/test/Assembler/aggregate-constant-values.ll
+180-7463 files not shown
+351-22269 files

LLVM/project 5d4b5c5clang/lib/FrontendTool ExecuteCompilerInvocation.cpp

fix clang-format
DeltaFile
+2-1clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
+2-11 files

LLVM/project f68a900compiler-rt/test/asan/TestCases handle_noreturn_bug.cpp, compiler-rt/test/asan/TestCases/Linux odr-vtable.cpp activation-options.cpp

[asan] Remove XFAIL from tests that are passing with debug checks

These tests have been passing with COMPILER_RT_DEBUG=ON since 2022 (at
least for x86).

Fixes https://github.com/llvm/llvm-project/issues/46206

Pull Request: https://github.com/llvm/llvm-project/pull/84614
DeltaFile
+0-3compiler-rt/test/asan/TestCases/Linux/odr-vtable.cpp
+0-2compiler-rt/test/asan/TestCases/Linux/activation-options.cpp
+0-2compiler-rt/test/asan/TestCases/Posix/start-deactivated.cpp
+0-2compiler-rt/test/asan/TestCases/Linux/odr-violation.cpp
+0-2compiler-rt/test/asan/TestCases/handle_noreturn_bug.cpp
+0-115 files

LLVM/project 7e20b8bclang/test/AST ast-dump-linkage.cpp ast-dump-linkage-internal.cpp, libc/src/semaphore/linux named_semaphore.cpp

rebase

Created using spr 1.3.7
DeltaFile
+485-0clang/test/AST/ast-dump-linkage.cpp
+477-0clang/test/AST/ast-dump-linkage-internal.cpp
+198-0llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-live-outs.ll
+195-0libc/src/semaphore/linux/named_semaphore.cpp
+63-63clang/test/AST/ast-dump-decl.cpp
+114-0libc/test/src/semaphore/linux/semaphore_test.cpp
+1,532-63131 files not shown
+3,020-666137 files

LLVM/project 167f42bclang/test/AST ast-dump-linkage.cpp ast-dump-linkage-internal.cpp, libc/src/semaphore/linux named_semaphore.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+485-0clang/test/AST/ast-dump-linkage.cpp
+477-0clang/test/AST/ast-dump-linkage-internal.cpp
+198-0llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-live-outs.ll
+195-0libc/src/semaphore/linux/named_semaphore.cpp
+63-63clang/test/AST/ast-dump-decl.cpp
+114-0libc/test/src/semaphore/linux/semaphore_test.cpp
+1,532-63132 files not shown
+3,024-673138 files

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

rebase

Created using spr 1.3.8-beta.1
DeltaFile
+275,101-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/spill-vreg-many-lanes.mir
+230,288-0llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+144,679-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/acyclic-770bb.mir
+95,086-0llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+92,827-0llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
+42,349-42,348llvm/test/MC/AMDGPU/gfx8_asm_vop3.s
+880,330-42,348109,423 files not shown
+18,213,359-6,036,414109,429 files

LLVM/project 63b0e73libc Maintainers.md

[libc] Add vhscampos as the maintainer for ARM and AArch64 (#195051)
DeltaFile
+4-0libc/Maintainers.md
+4-01 files

LLVM/project 12f896dclang/test/Analysis/Scalable/EndToEnd/UnsafeBufferFlow connected_units_by_ret.cpp disconnected_units.cpp

[SSAF][UnsafeBufferReachableAnalysis] add end-to-end testing
DeltaFile
+183-0clang/test/Analysis/Scalable/EndToEnd/UnsafeBufferFlow/connected_units_by_ret.cpp
+138-0clang/test/Analysis/Scalable/EndToEnd/UnsafeBufferFlow/disconnected_units.cpp
+117-0clang/test/Analysis/Scalable/EndToEnd/UnsafeBufferFlow/connected_units_by_calls.cpp
+111-0clang/test/Analysis/Scalable/EndToEnd/UnsafeBufferFlow/connected_units_by_global.cpp
+83-0clang/test/Analysis/Scalable/EndToEnd/UnsafeBufferFlow/connected_units_by_class_and_clients.cpp
+632-05 files

LLVM/project 183dc93clang/include/clang/ScalableStaticAnalysisFramework/Core/SourcePassAnalysis SourcePassAnalysis.h, clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis WPASuite.h

[SSAF] Add UnsafeBufferReachableDebugAnalysis--a source pass analysis

Also added temporary workaround for LUNamespace and Entity linkage info
DeltaFile
+103-1clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.cpp
+26-0clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/WPASuite.cpp
+4-1clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.cpp
+5-0clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/WPASuite.h
+2-0clang/test/Analysis/Scalable/ssaf-format/WPASuite/without-plugin.test
+2-0clang/include/clang/ScalableStaticAnalysisFramework/Core/SourcePassAnalysis/SourcePassAnalysis.h
+142-215 files not shown
+157-221 files

LLVM/project d99031bclang/test/Analysis/Scalable/ssaf-analyzer/Inputs lu-badext.txt lu-noext, clang/test/Analysis/Scalable/ssaf-analyzer/Outputs all.json both.json

Pull in the draft PR "[clang][ssaf] Add clang-ssaf-analyzer #188881"
DeltaFile
+131-0clang/tools/clang-ssaf-analyzer/SSAFAnalyzer.cpp
+126-0clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu-badext.txt
+126-0clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu-noext
+126-0clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu.json
+96-0clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/all.json
+87-0clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/both.json
+692-011 files not shown
+1,036-017 files

LLVM/project c1fceb3clang-tools-extra/docs ReleaseNotes.rst, clang-tools-extra/test/clang-tidy/checkers/misc const-correctness-pointer-as-pointers.cpp

[clang][Analysis] Handle const-qualified pointer refs in `ExprMutationAnalyzer` (#190421)

Teach `ExprMutationAnalyzer` to recognize references to const-qualified
pointer objects, such as `T *const &`, as non-const pointee sinks when
the pointee type itself is non-const.

Fixes #190218 
Fixes #157730
DeltaFile
+57-0clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
+51-0clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers.cpp
+23-4clang/lib/Analysis/ExprMutationAnalyzer.cpp
+3-0clang-tools-extra/docs/ReleaseNotes.rst
+134-44 files

LLVM/project 7a38657llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.permlane.gfx1250.ll

[AMDGPU][GlobalISel] RegBankLegalize rules for permlane_(bcast|up|down|xor|idx_gen) intrinsics (#195583)
DeltaFile
+10-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+1-1llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.gfx1250.ll
+11-12 files

LLVM/project 53e3ca1compiler-rt/test/sanitizer_common/TestCases/Posix create_thread_loop2.cpp

[compiler-rt][test] Disable create_thread_loop2 for lsan on Darwin (#195753)

create_thread_loop2 occasionally hangs on macOS till hitting timeout.
Disable the tests for LSAN on macOS.
DeltaFile
+3-0compiler-rt/test/sanitizer_common/TestCases/Posix/create_thread_loop2.cpp
+3-01 files

LLVM/project 4ae338fllvm/lib/Support APFloat.cpp, llvm/unittests/ADT APFloatTest.cpp

APFloat: fix wrong result status for large floats (#189925)

For large float literals such as
`10384593717069655257060992658440193.0`,
[`FloatingLiteral::isExact`](https://github.com/llvm/llvm-project/blob/6b2b0da40de1495ace2b100799a35711f7ad7b21/clang/include/clang/AST/Expr.h#L1702)
was incorrectly returning `true`.

The issue has been tracked down to
`IEEEFloat::roundSignificandWithExponent` incorrectly reporting `opOK`.
DeltaFile
+22-0llvm/unittests/ADT/APFloatTest.cpp
+6-6llvm/lib/Support/APFloat.cpp
+28-62 files

LLVM/project 5ea218aclang/cmake/caches cross-linux-toolchain.cmake

[CMake] Add multi-target cross to ARM/AArch64 Linux toolchain CMake cache file. (#179598)

This cache file can be used to build a multi-target cross Windows/Linux
to ARM/Aarch64/etc. Linux toolchain.

[Replacement for CrossWinToARMLinux.cmake on the buildbot]

(cherry picked from commit bfe80fb3bbaa64c3473f03d7af18e481cb9f7b5c)
DeltaFile
+360-0clang/cmake/caches/cross-linux-toolchain.cmake
+360-01 files

LLVM/project 0f0ec8fcompiler-rt/test/sanitizer_common/TestCases/Posix create_thread_loop2.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+3-0compiler-rt/test/sanitizer_common/TestCases/Posix/create_thread_loop2.cpp
+3-01 files