[all-commits] [llvm/llvm-project] 0692bd: [Clang] fix crash in duplicate attribute checking ...
Vitaly Buka via All-commits
all-commits at lists.llvm.org
Tue Mar 24 14:19:08 PDT 2026
Branch: refs/heads/users/vitalybuka/spr/compiler-rt-suppress-unused-variable-report-in-emutls
Home: https://github.com/llvm/llvm-project
Commit: 0692bd52cb3f7a3c4b27cd788746e8085484792f
https://github.com/llvm/llvm-project/commit/0692bd52cb3f7a3c4b27cd788746e8085484792f
Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
Date: 2026-03-24 (Tue, 24 Mar 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/test/Sema/code_align.c
Log Message:
-----------
[Clang] fix crash in duplicate attribute checking (#188274)
Fixes #188259
---
This PR fixes a crash in duplicate attribute checking when arguments
have different integer signedness. It changes the check to use
`isSameValue` (which uses `compareValues`) instead of `llvm::APSInt`
equality.
Commit: cd1a598d8677cd33a8c41c83f45c4381ebeb143e
https://github.com/llvm/llvm-project/commit/cd1a598d8677cd33a8c41c83f45c4381ebeb143e
Author: Richard Howell <rmaz at users.noreply.github.com>
Date: 2026-03-24 (Tue, 24 Mar 2026)
Changed paths:
A llvm/test/tools/llvm-lipo/remove.test
M llvm/tools/llvm-lipo/LipoOpts.td
M llvm/tools/llvm-lipo/llvm-lipo.cpp
Log Message:
-----------
[lipo] add -remove flag (#188275)
Add the -remove flag to llvm-lipo. This matches the existing Darwin lipo
tool:
```
% xcrun lipo 2>&1 | grep remove
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo: one of -create, -thin <arch_type>, -extract <arch_type>, -remove <arch_type>, -replace <arch_type> <file_name>, -verify_arch <arch_type> ... , -archs, -info, or -detailed_info must be specified
-remove <arch_type> [-remove <arch_type> ...]
```
Assisted-by: claude-code
Commit: 55bbf7b16b9467e86081cd0eb54935f717f60081
https://github.com/llvm/llvm-project/commit/55bbf7b16b9467e86081cd0eb54935f717f60081
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-03-24 (Tue, 24 Mar 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
M llvm/test/CodeGen/WebAssembly/load-ext.ll
Log Message:
-----------
Reland "[WebAssembly][FastISel] Fold i64 extension chains into widened loads" (#188324)
Reverts llvm/llvm-project#188306
Relands llvm/llvm-project#187934
It was reverted by mistake.
Commit: 7bfd54ac2548a3161e6237621e57a8406bf94964
https://github.com/llvm/llvm-project/commit/7bfd54ac2548a3161e6237621e57a8406bf94964
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-03-24 (Tue, 24 Mar 2026)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/InstrMaps.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
M llvm/test/Transforms/SandboxVectorizer/external_uses.ll
M llvm/test/Transforms/SandboxVectorizer/scheduler.ll
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/InstrMapsTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp
Log Message:
-----------
[SandboxVec][BottomUpVec] Improve handling of external uses (#185468)
Up until now the bottom-up vectorizer pass would not delete the scalar
instructions that have external uses after being vectorized, because it
lacked the ability to generate extracts from the vectors.
With the term "external uses", we refer to uses outside the currently
vectorized graph.
This patch fixes this. We can now properly handle external uses by
extracting from the vectors.
This change relies on the recent changes to the DAG's callbacks because
the external user may not be within the current DAG's interval.
Commit: 2ae3d8ae57004e6cfb2673083289660d8cfc2dac
https://github.com/llvm/llvm-project/commit/2ae3d8ae57004e6cfb2673083289660d8cfc2dac
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-24 (Tue, 24 Mar 2026)
Changed paths:
M llvm/include/llvm/CodeGen/ExpandPostRAPseudos.h
A llvm/test/CodeGen/X86/post-ra-pseudos.mir
Log Message:
-----------
[CodeGen][NewPM] Mark ExpandPostRAPseudos as required (#188304)
We need to lower these pseudoinstructions regardless of optimization
level or we end up with instructions that we cannot print.
Commit: daec3b9fb6e2192febfbd29046e02e476a5b159f
https://github.com/llvm/llvm-project/commit/daec3b9fb6e2192febfbd29046e02e476a5b159f
Author: Deric C. <cheung.deric at gmail.com>
Date: 2026-03-24 (Tue, 24 Mar 2026)
Changed paths:
A clang/include/clang/Basic/HLSLIntrinsics.td
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
A clang/test/TableGen/hlsl-intrinsics.td
M clang/utils/TableGen/CMakeLists.txt
A clang/utils/TableGen/HLSLEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[HLSL] Implement TableGen for builtin HLSL intrinsics (#187610)
This PR introduces a TableGen-based code generation system for HLSL
intrinsic overloads as described in proposal
[[0043]](https://github.com/llvm/wg-hlsl/blob/main/proposals/0043-hlsl-intrinsic-tablegen.md)
for replacing hand-written boilerplate with declarative .td definitions.
Actual changes to `hlsl_intrinsics.h` and `hlsl_alias_intrinsics.h` to
replace handwritten HLSL intrinsic overloads with TableGen is left to
follow-up PRs.
Assisted-by: GitHub Copilot (powered by Claude Opus 4.6)
Commit: 6ef30612ee6d69d0a5658ec0d2f78b6a09a4aa0d
https://github.com/llvm/llvm-project/commit/6ef30612ee6d69d0a5658ec0d2f78b6a09a4aa0d
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-03-24 (Tue, 24 Mar 2026)
Changed paths:
M lldb/source/Target/ProcessTrace.cpp
Log Message:
-----------
[lldb][trace] Ensure ProcessTrace plugin can be re-registered (#188336)
Initialize makes sure that it calls RegisterPlugin only once, but
Terminate always calls UnregisterPlugin. This is a problem for tests
that call Initialize/Terminate before and after each test case: the
second case will fail because the trace plugin won't be loaded.
This fixes a test failure introduced by #187768, which adds a test case
that passes on its own but fails when run after the previous test case.
Commit: 4e290b34294cd6de562385bc8c5f8af457aeb46a
https://github.com/llvm/llvm-project/commit/4e290b34294cd6de562385bc8c5f8af457aeb46a
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-03-24 (Tue, 24 Mar 2026)
Changed paths:
M libc/src/string/memory_utils/utils.h
Log Message:
-----------
[libc][strings] Refactor load_aligned for cleaner endianness handling (#186360)
Replace the explicit `if constexpr` branching for big and little
endianness with compile-time calculated shift constants `VAL_SHIFT` and
`NEXT_SHIFT`. This simplifies the logic and reduces code duplication,
relying on the compiler to constant-fold the zero shifts into no-ops.
Commit: 11bc6e8776d233a98b573d5c8b08cfb4e5c3ab61
https://github.com/llvm/llvm-project/commit/11bc6e8776d233a98b573d5c8b08cfb4e5c3ab61
Author: zGoldthorpe <Zach.Goldthorpe at amd.com>
Date: 2026-03-24 (Tue, 24 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
Log Message:
-----------
[SelectionDAG] Add known bit for `ISD::FABS` (#188335)
Absolute value always clears the sign bit, so make that knowh to
selectionDAG's `computeKnownBits`.
Commit: 13b2ee25aebc937c0f459ca38c2092b882bec9dc
https://github.com/llvm/llvm-project/commit/13b2ee25aebc937c0f459ca38c2092b882bec9dc
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2026-03-24 (Tue, 24 Mar 2026)
Changed paths:
M clang/include/clang/AST/ExternalASTSource.h
Log Message:
-----------
[clang][AST] Fix LazyGenerationalUpdatePtr NumLowBitsAvailable on 32-bit (#188318)
The `PointerLikeTypeTraits` for `LazyGenerationalUpdatePtr` claimed
`PointerLikeTypeTraits<T>::NumLowBitsAvailable - 1` spare low bits. This
assumed that the inner `PointerUnion<T, LazyData*>` has `T_bits - 1`
spare bits, which is only true when `alignof(LazyData) >= alignof(*T)`.
On 32-bit systems, `LazyData` (containing pointers and `uint32_t`) has
`alignof = 4`, giving `LazyData*` only 2 low bits. With `T = Decl*` (3
bits due to `alignas(8)`), the inner `PointerUnion` has `min(3,2) - 1 =
1` spare bit, but the PLTT claimed `3 - 1 = 2`.
Historically, the formula was correct when introduced in 053f6c6c9e4d --
at that time `Decl` had no alignment annotation, so `T_bits ==
LazyData*_bits` on all platforms. It became outdated when 771721cb35f3
added `LLVM_ALIGNAS(8)` to `Decl`, raising `Decl*` to 3 bits on 32-bit
while `LazyData*` stayed at 2. The old `PointerIntPair`-based
`PointerUnion::doCast` happened to mask with `minLowBitsAvailable()`
(tolerant of overclaims), so this was never exposed until the
`PunnedPointer` refactoring changed `doCast` to mask with
`To::NumLowBitsAvailable`.
Fixes: https://github.com/llvm/llvm-project/issues/188269
Co-authored-by: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
Commit: e3c6244f6e7ce9c76274f9ebca7b6a1f1fcec781
https://github.com/llvm/llvm-project/commit/e3c6244f6e7ce9c76274f9ebca7b6a1f1fcec781
Author: Lang Hames <lhames at gmail.com>
Date: 2026-03-25 (Wed, 25 Mar 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManager.h
M llvm/lib/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManager.cpp
M llvm/unittests/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManagerTest.cpp
Log Message:
-----------
[ORC] Add EPCGenericJITLinkMemoryManager::Create named constructor. (#188191)
Create takes a JITDylib and a SymbolNames struct, looks up the
implementation symbol addresses in the given JITDylib, and uses them to
construct an EPCGenericJITLinkMemoryManager instance. This makes it
easier for ORC clients to construct the memory manager from named
symbols (e.g. in a bootstrap JITDylib) rather than raw addresses.
Commit: fe286356ca34a530f8a6ccf0b630fc32fc69fc44
https://github.com/llvm/llvm-project/commit/fe286356ca34a530f8a6ccf0b630fc32fc69fc44
Author: Mircea Trofin <mtrofin at google.com>
Date: 2026-03-24 (Tue, 24 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
A llvm/test/Transforms/JumpThreading/update-bpi-bfi-unfold-select.ll
Log Message:
-----------
[JT] `tryToUnfoldSelectInCurrBB` should update BFI & BPI if present (#188097)
Issue #187545
Commit: 56b5f19fccc4ef3d3d19ea62521e7f530880063e
https://github.com/llvm/llvm-project/commit/56b5f19fccc4ef3d3d19ea62521e7f530880063e
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-03-24 (Tue, 24 Mar 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ExternalASTSource.h
A clang/include/clang/Basic/HLSLIntrinsics.td
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/test/Sema/code_align.c
A clang/test/TableGen/hlsl-intrinsics.td
M clang/utils/TableGen/CMakeLists.txt
A clang/utils/TableGen/HLSLEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
M libc/src/string/memory_utils/utils.h
M lldb/source/Target/ProcessTrace.cpp
M llvm/include/llvm/CodeGen/ExpandPostRAPseudos.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManager.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/InstrMaps.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManager.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
M llvm/test/CodeGen/WebAssembly/load-ext.ll
A llvm/test/CodeGen/X86/post-ra-pseudos.mir
A llvm/test/Transforms/JumpThreading/update-bpi-bfi-unfold-select.ll
M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
M llvm/test/Transforms/SandboxVectorizer/external_uses.ll
M llvm/test/Transforms/SandboxVectorizer/scheduler.ll
A llvm/test/tools/llvm-lipo/remove.test
M llvm/tools/llvm-lipo/LipoOpts.td
M llvm/tools/llvm-lipo/llvm-lipo.cpp
M llvm/unittests/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManagerTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/InstrMapsTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp
Log Message:
-----------
Merge branch 'main' into users/vitalybuka/spr/compiler-rt-suppress-unused-variable-report-in-emutls
Compare: https://github.com/llvm/llvm-project/compare/76b4dbbab36b...56b5f19fccc4
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list