[all-commits] [llvm/llvm-project] b31d8b: [JITLink] Use NonOwningSymbolStringPtrs in Externa...
Krzysztof Parzyszek via All-commits
all-commits at lists.llvm.org
Mon Apr 13 07:30:22 PDT 2026
Branch: refs/heads/users/kparzysz/r03-generated-depth
Home: https://github.com/llvm/llvm-project
Commit: b31d8bc21bc324b73bf0a47e92216b9aac7408c0
https://github.com/llvm/llvm-project/commit/b31d8bc21bc324b73bf0a47e92216b9aac7408c0
Author: Lang Hames <lhames at gmail.com>
Date: 2026-04-12 (Sun, 12 Apr 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
Log Message:
-----------
[JITLink] Use NonOwningSymbolStringPtrs in ExternalSymbolsMap. (#191634)
SymbolStringPtr comparisons should be more efficient that string
comparisons. Fixes a FIXME.
Commit: be62f270fd01e8c526f1e37df74ff1061e360dab
https://github.com/llvm/llvm-project/commit/be62f270fd01e8c526f1e37df74ff1061e360dab
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2026-04-12 (Sun, 12 Apr 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-attr.mir
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-debug.mir
R llvm/test/CodeGen/AMDGPU/misched-remat-revert.ll
M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_copies.mir
M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_cost.mir
M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_diff_types.mir
Log Message:
-----------
[AMDGPU][Scheduler] Use MIR-level rematerializer in rematerialization stage (#189491)
This makes the scheduler's rematerialization stage use the
target-independent rematerializer. Previously duplicate logic is
deleted, and restrictions are put in place in the stage so that the same
constraints as before apply on rematerializable registers (as the
rematerializer is able to expose many more rematerialization
opportunities than what the stage can track at the moment). Consequently
it is not expected that this change improves performance overall, but it
is a first step toward being able to use the rematerializer's more
advanced capabilities during scheduling.
This is *not* a NFC for 2 reasons.
- Score equalities between two rematerialization candidates with
otherwise equivalent score are decided by their corresponding register's
index handle in the rematerializer (previously the pointer to their
state object's value). This is determined by the rematerializer's
register collection order, which is different from the stage's old
register collection order. This is the cause of all test changes but
one, and should not be detrimental to performance in real cases.
- To support rollback, the stage now uses the rematerializer's rollback
listener instead of its previous ad-hoc method (setting the opcode of
rematerialized MIs to a DBG_VALUE, and their registers to the sentinel).
This is the source of test changes in
`machine-scheduler-sink-trivial-remats-debug.mir`. The new rollback
mechanism completely removes the behavior tested by
`misched-remat-revert.ll` so the test is deleted.
---------
Co-authored-by: Shilei Tian <i at tianshilei.me>
Commit: 48ad929c0f3595bed417172de638ed9a0cbdb4c1
https://github.com/llvm/llvm-project/commit/48ad929c0f3595bed417172de638ed9a0cbdb4c1
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-04-12 (Sun, 12 Apr 2026)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/__numeric/saturation_arithmetic.h
M libcxx/include/numeric
M libcxx/include/version
M libcxx/modules/std/numeric.inc
M libcxx/test/libcxx/numerics/nodiscard.verify.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.compile.pass.cpp
R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.pass.cpp
R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.assert.pass.cpp
R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.compile.pass.cpp
R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.pass.cpp
R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.compile.pass.cpp
R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.pass.cpp
R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.compile.pass.cpp
R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_add.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_add.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_cast.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_cast.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_div.assert.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_div.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_div.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_mul.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_mul.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_sub.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_sub.pass.cpp
R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/sub_sat.compile.pass.cpp
R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/sub_sat.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][numeric] P4052R0: Renaming saturation arithmetic functions (#189574)
Implements P4052R0.
Also renames:
- the internal names for consistency.
- test files (no changes to the contents but the function names).
Fixes: #189589
---------
Co-authored-by: A. Jiang <de34 at live.cn>
Commit: b844cc8f8de9bfbd003cbe01e1295563c4ca62e6
https://github.com/llvm/llvm-project/commit/b844cc8f8de9bfbd003cbe01e1295563c4ca62e6
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-04-12 (Sun, 12 Apr 2026)
Changed paths:
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/include/__ranges/iota_view.h
M libcxx/test/std/ranges/range.factories/range.iota.view/size.pass.cpp
Log Message:
-----------
[libc++][ranges] LWG3610: `iota_view::size` sometimes rejects integer-class types (#155169)
Fixes #104948
# References
- https://wg21.link/range.iota.view
- https://wg21.link/range.iota.view#17
- https://wg21.link/LWG3610
---------
Co-authored-by: A. Jiang <de34 at live.cn>
Commit: 778c0fb1dbf1803f8f250fd7feb935095e91e57b
https://github.com/llvm/llvm-project/commit/778c0fb1dbf1803f8f250fd7feb935095e91e57b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-04-12 (Sun, 12 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/phi-operand-gathered-loads.ll
Log Message:
-----------
[SLP] Fix GEP cost computation for load vectorization cost estimates
Pass Instruction::Load instead of Instruction::GetElementPtr to
getGEPCosts in isMaskedLoadCompress and CheckForShuffledLoads.
These call sites estimate costs for wide contiguous loads and sub-vector
load patterns, not for masked gather pointer vector formation. Using
Instruction::GetElementPtr incorrectly triggered the gather-style cost
path, which computes vector GEP formation costs. Since the call sites
already add scalarization overhead for pointer vector building
separately, this led to double-counting of pointer costs and inaccurate
vectorization decisions.
Reviewers: hiraditya, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/191620
Commit: b444d1deb50896b334a9708dd7143b015dd59158
https://github.com/llvm/llvm-project/commit/b444d1deb50896b334a9708dd7143b015dd59158
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-04-12 (Sun, 12 Apr 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-attr.mir
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-debug.mir
A llvm/test/CodeGen/AMDGPU/misched-remat-revert.ll
M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_copies.mir
M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_cost.mir
M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_diff_types.mir
Log Message:
-----------
Revert "[AMDGPU][Scheduler] Use MIR-level rematerializer in rematerialization stage (#189491)"
This reverts commit be62f270fd01e8c526f1e37df74ff1061e360dab, it breaks
the compilation!!!
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/191717
Commit: 636dbc8875733438370575f44d3f2777f6271b88
https://github.com/llvm/llvm-project/commit/636dbc8875733438370575f44d3f2777f6271b88
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-04-12 (Sun, 12 Apr 2026)
Changed paths:
M clang/lib/AST/ByteCode/Boolean.h
A clang/lib/AST/ByteCode/Char.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/IntegralAP.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/InterpStack.cpp
M clang/lib/AST/ByteCode/InterpStack.h
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/PrimType.cpp
M clang/lib/AST/ByteCode/PrimType.h
M clang/lib/AST/ByteCode/Primitives.h
M clang/lib/AST/ByteCode/Program.cpp
A clang/test/AST/ByteCode/addr-label-diff.c
A clang/test/AST/ByteCode/addr-label-diff.cpp
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
M clang/test/AST/ByteCode/const-eval.c
M clang/test/AST/ByteCode/cxx11.cpp
A clang/test/AST/ByteCode/int-as-ptr-arith.c
M clang/test/CodeGen/const-init.c
M clang/test/CodeGen/const-label-addr.c
M clang/test/CodeGen/statements.c
M clang/test/CodeGen/staticinit.c
M clang/test/CodeGenCXX/2008-05-07-CrazyOffsetOf.cpp
M clang/test/CodeGenCXX/const-init-cxx11.cpp
M clang/test/CodeGenCXX/const-init.cpp
M clang/test/Sema/array-init.c
M clang/test/Sema/compound-literal.c
M clang/test/Sema/const-ptr-int-ptr-cast.c
M clang/test/Sema/init.c
M clang/test/SemaCXX/constexpr-string.cpp
M clang/unittests/AST/ByteCode/Descriptor.cpp
Log Message:
-----------
[clang][bytecode] Support different integral types (e.g. addresses) (#185028)
This is an alternative approach to
https://github.com/llvm/llvm-project/pull/169769.
We increase the size of the old `Integral<Bits, Signed>` to 24 bytes (on
a 64 bit system) and introduce a new `Char<Signed>` that's used for the
old `PT_Sint8` and `PT_Uint8` primitive types.
The old approach did not work out in the end because we need to be able
to do arithmetic (but essentially just `+` and `-`) on the offsets of
such integers-that-are-actually-pointers.
c-t-t-:
https://llvm-compile-time-tracker.com/compare.php?from=723d5cb11b2a64e4f11032f24967702e52f822bc&to=16dc90efebbf52e381c7655131b2fb74c307cc42&stat=instructions:u
Commit: e9cd683f1b216e0749005619ba0d7fd2caa3e7ca
https://github.com/llvm/llvm-project/commit/e9cd683f1b216e0749005619ba0d7fd2caa3e7ca
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-04-12 (Sun, 12 Apr 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1down-bf16.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1down.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1up-bf16.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1up.ll
Log Message:
-----------
[RISCV] Enable vfslide1up/down for bf16 shuffles with Zvfbfa. (#191608)
Commit: 1d1208b626c48c678d827ed88c4e68c2f237688b
https://github.com/llvm/llvm-project/commit/1d1208b626c48c678d827ed88c4e68c2f237688b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-04-12 (Sun, 12 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/copyable-phi-used-non-copyable.ll
Log Message:
-----------
[SLP]Fix dominance failure when value is copyable in one PHI entry but non-copyable in another
When a value is treated as a copyable element in one tree entry and as a
non-copyable element in another, both feeding into PHI nodes, the
scheduler could produce vectorized IR where an instruction does not
dominate all its uses. Bail out of scheduling in tryScheduleBundle when
this conflict is detected to prevent generating broken modules.
Fixes #191714
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/191724
Commit: 90d35155ff5295c4c4d27b42e3ecb33d03cdd292
https://github.com/llvm/llvm-project/commit/90d35155ff5295c4c4d27b42e3ecb33d03cdd292
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-04-12 (Sun, 12 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/phi-operand-gathered-loads.ll
Log Message:
-----------
Revert "[SLP] Fix GEP cost computation for load vectorization cost estimates"
This reverts commit 778c0fb1dbf1803f8f250fd7feb935095e91e57b to fix
buildbots https://lab.llvm.org/buildbot/#/builders/213/builds/2725, https://lab.llvm.org/buildbot/#/builders/212/builds/2876
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/191725
Commit: 8113b989337c61f5063939ec8e3ce4ba5ee4f213
https://github.com/llvm/llvm-project/commit/8113b989337c61f5063939ec8e3ce4ba5ee4f213
Author: Madhur Kumar <152476790+MadhurKumar004 at users.noreply.github.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
A llvm/test/Transforms/InstCombine/icmp-umax-notx.ll
Log Message:
-----------
[InstCombine] Missed fold: umax(x, C) > ~x -> x < 0 (#189396)
fix : https://github.com/llvm/llvm-project/issues/187648
Fix the missed optimization for
`icmp ugt (umax(x, C)), ~x` and `icmp ult (umax(x, C)), ~x`
Alive2 proof:
https://alive2.llvm.org/ce/z/dDNJ2m
https://alive2.llvm.org/ce/z/X633UX
Commit: 6c779819669204c7f23240b1050929672296ee59
https://github.com/llvm/llvm-project/commit/6c779819669204c7f23240b1050929672296ee59
Author: Lang Hames <lhames at gmail.com>
Date: 2026-04-12 (Sun, 12 Apr 2026)
Changed paths:
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/KaleidoscopeJIT.h
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/KaleidoscopeJIT.h
M llvm/examples/OrcV2Examples/LLJITWithExecutorProcessControl/LLJITWithExecutorProcessControl.cpp
M llvm/include/llvm/ExecutionEngine/Orc/EPCIndirectionUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
M llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h
M llvm/include/llvm/ExecutionEngine/Orc/SelfExecutorProcessControl.h
M llvm/include/llvm/ExecutionEngine/Orc/SimpleRemoteEPC.h
M llvm/lib/ExecutionEngine/Orc/EPCIndirectionUtils.cpp
M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
M llvm/lib/ExecutionEngine/Orc/SelfExecutorProcessControl.cpp
M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
M llvm/unittests/ExecutionEngine/Orc/JITLinkRedirectionManagerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/LazyCallThroughAndReexportsTest.cpp
M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
M llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp
Log Message:
-----------
[ORC] Move MemoryAccess ownership out of ExecutorProcessControl. (#191715)
Similar to the DylibManager change in e55fb5de0f9, this removes an
unnecessary coupling between ExecutorProcessControl and MemoryAccess,
allowing clients to select MemoryAccess implementations independently.
To simplify the transition, the
ExecutorProcessControl::createDefaultMemoryAccess method will return an
instance of whatever MemoryAccess the ExecutorProcessControl
implementation had been using previously.
Commit: 183660de3a29cbd69f51730ee2044437edcaf32a
https://github.com/llvm/llvm-project/commit/183660de3a29cbd69f51730ee2044437edcaf32a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-04-12 (Sun, 12 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/phi-operand-gathered-loads.ll
Log Message:
-----------
[SLP] Fix GEP cost computation for load vectorization cost estimates
Pass Instruction::Load instead of Instruction::GetElementPtr to
getGEPCosts in isMaskedLoadCompress and CheckForShuffledLoads.
These call sites estimate costs for wide contiguous loads and sub-vector
load patterns, not for masked gather pointer vector formation. Using
Instruction::GetElementPtr incorrectly triggered the gather-style cost
path, which computes vector GEP formation costs. Since the call sites
already add scalarization overhead for pointer vector building
separately, this led to double-counting of pointer costs and inaccurate
vectorization decisions.
Reviewers: hiraditya, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/191728
Commit: 0ab10d1c446db03beaf6e6302910132f5ea3492d
https://github.com/llvm/llvm-project/commit/0ab10d1c446db03beaf6e6302910132f5ea3492d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-04-12 (Sun, 12 Apr 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
A llvm/test/Transforms/InstCombine/known-range-frexp-exp.ll
Log Message:
-----------
ValueTracking: Handle frexp exp in computeKnownConstantRange (#191282)
Commit: 7c872e96aa71e406e479e6f95901c72eef79da97
https://github.com/llvm/llvm-project/commit/7c872e96aa71e406e479e6f95901c72eef79da97
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-04-12 (Sun, 12 Apr 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/operand-reorder-with-copyables.ll
Log Message:
-----------
[SLP][NFC]Add a test with the reordering of the RHS/LHS operands for copyables, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/191730
Commit: b799b380ba3ae3b099c244cf53928af9d4d47d80
https://github.com/llvm/llvm-project/commit/b799b380ba3ae3b099c244cf53928af9d4d47d80
Author: Fangrui Song <i at maskray.me>
Date: 2026-04-12 (Sun, 12 Apr 2026)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/test/CodeGen/X86/prefalign.ll
Log Message:
-----------
[AsmPrinter] Fix redundant/weaker .prefalign when IR align attr >= prefalign (#191675)
PR #155529 (only fired with -ffunction-sections, then modified by PR
184032) compared `MF->getAlignment()` (the backend's minimum function
alignment) against `MF->getPreferredAlignment()` to decide whether to
emit `.prefalign`. This ignored the IR function's own align attribute,
which `emitAlignment` picks up later via `getGVAlignment`, so the
comparison was against the wrong minimum.
Consequences on x86 (backend min = 1, target pref = 16):
* `[[gnu::aligned(32)]] void g(){}` lowers to `align 32 prefalign(32)`.
.p2align 5
.prefalign 5, .Lfunc_end, nop
The .prefalign is fully redundant: .p2align 5 already forces the
desired 32-byte alignment.
* `define void @f4() align 32 prefalign(16)`.
.p2align 5
.prefalign 4, .Lfunc_end, nop
Here .prefalign with a weak alignment is harmless but the assembly
output is nonsensical.
This patch updates `emitAlignment` to return the effective alignment it
emits and use that as the true minimum in `emitFunctionHeader`.
Commit: 56775ba553bf47bf14cbf4d3ec1ea3619d4f6356
https://github.com/llvm/llvm-project/commit/56775ba553bf47bf14cbf4d3ec1ea3619d4f6356
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2026-04-12 (Sun, 12 Apr 2026)
Changed paths:
M llvm/tools/llubi/lib/Library.cpp
Log Message:
-----------
[llubi] Fix invalid printf format specifier for %c (#191713)
Fix ASAN warning about unexpected format specifier %llc introduced
in commit f149ab665a4b. The 'c' format specifier should not have the
'll' length modifier. Separated the 'c' case to use the correct format
without the length modifier, casting to int as required by the standard.
Commit: 5b1b0efbaa97c43a6cd32df37eaa0ea7f282aeec
https://github.com/llvm/llvm-project/commit/5b1b0efbaa97c43a6cd32df37eaa0ea7f282aeec
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2026-04-12 (Sun, 12 Apr 2026)
Changed paths:
M clang/tools/diagtool/ShowEnabledWarnings.cpp
Log Message:
-----------
[Clang][diagtool] Fix memory leak in ShowEnabledWarnings (#191711)
Fix 136-byte memory leak introduced in commit 6dc059ac3c7c. Before
that commit, the TextDiagnosticBuffer was passed to DiagnosticsEngine
constructor which took ownership and managed its lifetime. After the
refactoring, the buffer is no longer passed to DiagnosticsEngine, so
it becomes an orphaned allocation that is never freed. Changed to use
std::unique_ptr for automatic cleanup.
Commit: 029e5b017bfd5a564a664a6f6a8d40bda40125bf
https://github.com/llvm/llvm-project/commit/029e5b017bfd5a564a664a6f6a8d40bda40125bf
Author: Eugene Shalygin <eugene.shalygin at gmail.com>
Date: 2026-04-12 (Sun, 12 Apr 2026)
Changed paths:
M clang/lib/Format/BreakableToken.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/ContinuationIndenter.h
M clang/lib/Format/FormatToken.h
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Format/WhitespaceManager.h
M clang/unittests/Format/AlignmentTest.cpp
Log Message:
-----------
[clang-format] treat continuation as indent for aligned lines (#191217)
This allows to inherit tabbed indent from the lines we break by the
lines we want to align. Thus in the AlignWithSpaces mode aligned lines
do not generate smaller indent than those they are aligned to.
Commit: 717ba7c3107dc7ebc41feaaedf1d8eaf89306e04
https://github.com/llvm/llvm-project/commit/717ba7c3107dc7ebc41feaaedf1d8eaf89306e04
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-04-12 (Sun, 12 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Handle calls in VPInstruction:opcodeMayReadOrWriteFromMemory. (#190681)
Retrieve the called function and check its memory attributes, to
determine if a VPInstruction calling a function reads or writes memory.
Use it to strengthen assert in areAllLoadsDereferenceable.
PR: https://github.com/llvm/llvm-project/pull/190681
Commit: c0fbdb21bb23554a662cff743fddf5721a14102f
https://github.com/llvm/llvm-project/commit/c0fbdb21bb23554a662cff743fddf5721a14102f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-04-12 (Sun, 12 Apr 2026)
Changed paths:
M clang/lib/AST/ByteCode/EvaluationResult.cpp
Log Message:
-----------
[clang][bytecode] Stop using QualTypes when checking evaluation results (#191732)
They might not match the descriptor contents exactly, so just look at
the descriptors.
Commit: d946ac356897e863392d1454607889166ae74cc0
https://github.com/llvm/llvm-project/commit/d946ac356897e863392d1454607889166ae74cc0
Author: Robert Imschweiler <robert.imschweiler at amd.com>
Date: 2026-04-12 (Sun, 12 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Utils/CallGraphUpdater.cpp
A llvm/test/Transforms/Inline/inline-history-dead-function.ll
Log Message:
-----------
[CallGraphUpdater] Replace dead function in metadata with null instead of poison (#191729)
Assisted-by: claude-4.6-opus
Commit: e62acf49a636a1014e991d75dfa49f0a7cf7951f
https://github.com/llvm/llvm-project/commit/e62acf49a636a1014e991d75dfa49f0a7cf7951f
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-04-12 (Sun, 12 Apr 2026)
Changed paths:
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/IRBuilder.cpp
Log Message:
-----------
[NFC][LLVM] Rename IRBuilder/LLVM C API params for overload types (#191674)
Rename IRBuilder and LLVM C API function params for overload types to
use names to better reflect their meaning.
Commit: 2c28158cb74a78226e95b8bc90c88154eb56a742
https://github.com/llvm/llvm-project/commit/2c28158cb74a78226e95b8bc90c88154eb56a742
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-04-12 (Sun, 12 Apr 2026)
Changed paths:
M llvm/lib/IR/Intrinsics.cpp
M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
Log Message:
-----------
[LLVM][Intrinsics] Eliminate range check for IIT table in `DecodeIITType` (#190260)
`DecodeIITType` does a range check each time the next entry from the IIT
encoding table is read. This is required to handle IIT encodings that
are in-lined into the `IIT_Table` entries, since the `IITEntries` array
in `getIntrinsicInfoTableEntries` is terminated after the last non-zero
nibble is seen in the inlined encoding (but that may not be the actual
end). Change this code to instead have the `IITEntries` array for the
inlined case point to the full `IITValues` array payload + a IIT_Done
terminator, so that such entries look exactly like they would if they
were encoded in the long encoding table and then remove the range check
in `DecodeIITType` to streamline that code a bit.
Additionally, change some use if 0s (in loop conditions and default
constructed terminator in the IIT long encoding table) to explicitly use
IIT_Done to clarify the code better.
Also use `consume_front()` in a few places instead of `front()` followed
by `slice(1)`.
Commit: 00328f10ac90d4d254efed0af5bd193ff731841b
https://github.com/llvm/llvm-project/commit/00328f10ac90d4d254efed0af5bd193ff731841b
Author: 🍌Shawn <m18824909883 at 163.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/MIFOpConversion.cpp
Log Message:
-----------
[flang][NFC] Fix typo in comment for multi-image environment (#191722)
Commit: 7b94b9ae13c69075a85d3af8b987a38610fbce5a
https://github.com/llvm/llvm-project/commit/7b94b9ae13c69075a85d3af8b987a38610fbce5a
Author: Wenju He <wenju.he at intel.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M libclc/clc/lib/generic/workitem/clc_get_sub_group_size.cl
Log Message:
-----------
[libclc] Refine generic __clc_get_sub_group_size with fast full sub-group path (#188895)
Add a fast path for the common case that total work-group size is
multiple of max sub-group size.
The fallback path is ported from amdgpu/workitem/clc_get_sub_group_size.cl.
Compiler can generate predicated instructions for the fallback path to
avoid branches.
Commit: 507d82339230990d65ccfe753d0fd3e620c82b71
https://github.com/llvm/llvm-project/commit/507d82339230990d65ccfe753d0fd3e620c82b71
Author: Wenju He <wenju.he at intel.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/test/CodeGen/X86/AMX/amx-across-func.ll
M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-drop-solution-dbg-msg.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/2011-11-29-postincphi.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/postinc-iv-used-by-urem-and-udiv.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/pr62660-normalization-failure.ll
M llvm/test/Transforms/LoopStrengthReduce/duplicated-phis.ll
Log Message:
-----------
[LSR] Use TTI to check if zero-start IV is free in getSetupCost (#190587)
This avoids a downstream regression where LSR prefers {-1,+1}.
When constant zero typically doesn't require preheader initialization
(queried via TTI::getIntImmCost), consider it as free in getSetupCost.
Three test changes are improvements: amx-across-func.ll,
2011-11-29-postincphi.ll and pr62660-normalization-failure.ll.
Other test changes are neutral.
Commit: 121f5a96ff38ec0c5d5f7274b1b0ca0df26a1cee
https://github.com/llvm/llvm-project/commit/121f5a96ff38ec0c5d5f7274b1b0ca0df26a1cee
Author: Wenju He <wenju.he at intel.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
M libclc/CMakeLists.txt
M libclc/README.md
M libclc/test/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[libclc] Enable LLVM_RUNTIME_TARGETS in build system (#189892)
libclc target is now passed in from LLVM_RUNTIME_TARGETS.
The old configure flow based on `-DLLVM_ENABLE_RUNTIMES=libclc` is
deprecated because libclc no longer has a default target.
`-DLLVM_ENABLE_RUNTIMES=libclc -DLLVM_RUNTIME_TARGETS="<target-triple>"`
still works but it is considered legacy.
The new standard build requires:
Each target must now be selected explicitly on the CMake command line
through the runtimes target-specific cache entry and
LLVM_RUNTIME_TARGETS.
For example:
-DRUNTIMES_amdgcn-amd-amdhsa-llvm_LLVM_ENABLE_RUNTIMES=libclc
-DLLVM_RUNTIME_TARGETS="amdgcn-amd-amdhsa-llvm"
-DRUNTIMES_nvptx64-nvidia-cuda_LLVM_ENABLE_RUNTIMES=libclc
-DLLVM_RUNTIME_TARGETS="nvptx64-nvidia-cuda"
-DRUNTIMES_clspv--_LLVM_ENABLE_RUNTIMES=libclc
-DLLVM_RUNTIME_TARGETS="clspv--"
-DRUNTIMES_clspv64--_LLVM_ENABLE_RUNTIMES=libclc
-DLLVM_RUNTIME_TARGETS="clspv64--"
-DRUNTIMES_spirv-mesa3d-_LLVM_ENABLE_RUNTIMES=libclc
-DLLVM_RUNTIME_TARGETS="spirv-mesa3d-"
-DRUNTIMES_spirv64-mesa3d-_LLVM_ENABLE_RUNTIMES=libclc
-DLLVM_RUNTIME_TARGETS="spirv64-mesa3d-"
To build multiple targets, pass them as a semicolon-separated list in
`LLVM_RUNTIME_TARGETS` and provide a matching
`RUNTIMES_<target-triple>_LLVM_ENABLE_RUNTIMES=libclc` entry for each
target.
Updated README.md to document the new build flow.
---------
Co-authored-by: Copilot <175728472+Copilot at users.noreply.github.com>
Commit: 215f35eb8f1c313ac135ad47db1cc0b99b3ae694
https://github.com/llvm/llvm-project/commit/215f35eb8f1c313ac135ad47db1cc0b99b3ae694
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
Log Message:
-----------
[AArch64] Skip non-pseudo instructions in AArch64ExpandPseudoInsts (#191395)
AArch64::getSVEPseudoMap calls are visible in compile-time profiles even on
non-SVE targets. I think CodeGenMapTable could be improved, it's currently
emitting a constexpr array sorted by opcode and a hand-rolled binary search
over that array, however the AArch64ExpandPseudoInsts pass is missing a simple
check for pseudo instructions before expanding. This avoids the compile-time
cost.
https://llvm-compile-time-tracker.com/compare.php?from=0d42811ea4658b3e86a3801b3bc848324f8540f8&to=9e2434de84577ca1c5e6de8fe8d75c6b8e282b3f&stat=instructions%3Au
Commit: c755c084b07e86724586a8eeffdfff8c600ce1d5
https://github.com/llvm/llvm-project/commit/c755c084b07e86724586a8eeffdfff8c600ce1d5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-04-12 (Sun, 12 Apr 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/RISCV/split-udiv-by-constant.ll
M llvm/test/CodeGen/RISCV/split-urem-by-constant.ll
M llvm/test/CodeGen/X86/i128-udiv.ll
Log Message:
-----------
[TargetLowering] Support larger divisors in expandDIVREMByConstant. (#191119)
Instead of bailing out if the original divisor exceeds HBitWidth,
allow divisors that fit in HBitWidth after removing trailing zeros.
PartialRem now needs a low and high part. Shifting RemL left
now needs to handle shifting into RemH.
Assisted-by: Claude Sonnet 4.5
Commit: f647f0ce8e905b1a64035e5c6d3c75de26c9481c
https://github.com/llvm/llvm-project/commit/f647f0ce8e905b1a64035e5c6d3c75de26c9481c
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-04-12 (Sun, 12 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-load.ll
Log Message:
-----------
[SLP] Fix handling of strided loads during re-vectorization (#191294)
Fixes #191292
Commit: 682ae8b626393ad77afebebda912f14f3c55a003
https://github.com/llvm/llvm-project/commit/682ae8b626393ad77afebebda912f14f3c55a003
Author: Arun Thangamani <arun.thangamani at intel.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M mlir/lib/Dialect/X86/Transforms/VectorContractToAMXDotProduct.cpp
M mlir/test/Dialect/X86/AMX/vector-contract-to-tiled-dp.mlir
Log Message:
-----------
[mlir][x86] Lower packed type vector.contract to AMX dot-product (online-packing) (#188192)
A transform pass to lower flat layout `vector.contract` operation to (a)
amx.tile_mulf for BF16, or (b) amx.tile_muli for Int8 packed types via
`online` packing.
TODOs: On an another `patch` planned to re-factor this pass + retiring
`convert-vector-to-amx` pass.
Commit: 52553173b9f67529f509e11116298c97425e6e05
https://github.com/llvm/llvm-project/commit/52553173b9f67529f509e11116298c97425e6e05
Author: Luke Lau <luke at igalia.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll
Log Message:
-----------
[RISCV] Remove codegen for vp_{u,s}{add,sub}sat (#191639)
Part of the work to remove trivial VP intrinsics from the RISC-V
backend, see
https://discourse.llvm.org/t/rfc-remove-codegen-support-for-trivial-vp-intrinsics-in-the-risc-v-backend/87999
This splits off 4 intrinsics from #179622.
Commit: 1d18740d307bb30cca9e9c8b2dc15e161d8e10f0
https://github.com/llvm/llvm-project/commit/1d18740d307bb30cca9e9c8b2dc15e161d8e10f0
Author: Amit Tiwari <amtiwari at amd.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M clang/bindings/python/clang/cindex.py
M clang/include/clang-c/Index.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/StmtOpenMP.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
A clang/test/AST/ast-dump-openmp-split.c
A clang/test/Analysis/split_analyze.c
A clang/test/Index/openmp-split.c
A clang/test/OpenMP/split_ast_print.cpp
A clang/test/OpenMP/split_codegen.cpp
A clang/test/OpenMP/split_composition.cpp
A clang/test/OpenMP/split_compound_associated.cpp
A clang/test/OpenMP/split_counts_constexpr.cpp
A clang/test/OpenMP/split_counts_ice.c
A clang/test/OpenMP/split_counts_verify.c
A clang/test/OpenMP/split_diag_errors.c
A clang/test/OpenMP/split_distribute_inner_split.cpp
A clang/test/OpenMP/split_driver_smoke.c
A clang/test/OpenMP/split_iv_types.c
A clang/test/OpenMP/split_loop_styles.cpp
A clang/test/OpenMP/split_member_ctor.cpp
A clang/test/OpenMP/split_messages.cpp
A clang/test/OpenMP/split_nested_outer_only.c
A clang/test/OpenMP/split_offload_codegen.cpp
A clang/test/OpenMP/split_omp_fill.c
A clang/test/OpenMP/split_openmp_version.cpp
A clang/test/OpenMP/split_opts_simd_debug.cpp
A clang/test/OpenMP/split_parallel_split.cpp
A clang/test/OpenMP/split_pch_codegen.cpp
A clang/test/OpenMP/split_range_for_diag.cpp
A clang/test/OpenMP/split_serialize_module.cpp
A clang/test/OpenMP/split_teams_nesting.cpp
A clang/test/OpenMP/split_template_nttp.cpp
A clang/test/OpenMP/split_templates.cpp
A clang/test/OpenMP/split_trip_volatile.c
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTest.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
A openmp/runtime/test/transform/split/fill_first.c
A openmp/runtime/test/transform/split/foreach.cpp
A openmp/runtime/test/transform/split/intfor.c
A openmp/runtime/test/transform/split/intfor_negstart.c
A openmp/runtime/test/transform/split/iterfor.cpp
A openmp/runtime/test/transform/split/leq_bound.c
A openmp/runtime/test/transform/split/lit.local.cfg
A openmp/runtime/test/transform/split/negative_incr.c
A openmp/runtime/test/transform/split/nonconstant_incr.c
A openmp/runtime/test/transform/split/parallel-split-intfor.c
A openmp/runtime/test/transform/split/single_fill.c
A openmp/runtime/test/transform/split/three_segments.c
A openmp/runtime/test/transform/split/trip_one.c
A openmp/runtime/test/transform/split/unsigned_iv.c
A openmp/runtime/test/transform/split/zero_first_segment.c
Log Message:
-----------
[Clang][OpenMP] Implement Loop splitting `#pragma omp split` directive (#190397)
Implement Loop-splitting #pragma omp split construct with counts clause.
Posting this PR after the revert of PR
([#183261](https://github.com/llvm/llvm-project/pull/183261))
Changes:
1. Added `openmp/runtime/test/transform/split/lit.local.cfg`
2. Enforced ICE for `counts` clause items in `SemaOpenMP.cpp` (minor
change)
3. Updated tests `split_messages.cpp`, `split_omp_fill.cpp`,
`split_diag_errors.c`.
4. Removed `nonconstant_count.cpp`
Commit: 82442a58c054611219385528f06a05bf1eb19215
https://github.com/llvm/llvm-project/commit/82442a58c054611219385528f06a05bf1eb19215
Author: David Green <david.green at arm.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/Analysis/CostModel/AArch64/ldexp.ll
M llvm/test/CodeGen/AArch64/ldexp.ll
Log Message:
-----------
[AArch64] Fix legalization of bf16 ldexp. (#190805)
Similar to fp16 ldexp, we cannot create illegal types for bf16 during
lowering so should promote.
Commit: c76cb2ba3c43d09d4a273bf0fe14be55789d9370
https://github.com/llvm/llvm-project/commit/c76cb2ba3c43d09d4a273bf0fe14be55789d9370
Author: Chandana Mudda <quic_csinderi at quicinc.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
A clang/test/Analysis/regionstore-zero-init.cpp
Log Message:
-----------
[analyzer] Refine default binding preservation in RegionStore (#189319)
Narrow the new setImplicitDefaultValue() guard so existing default
bindings are preserved only for aggregate-like cases.
The previous change was too broad and regressed normal
zero-initialization, causing new int[10]{} to be modeled as undefined
and emit a garbage-value warning instead of the expected analyzer
reports.
Commit: fe74f12a9e71abb89f2732bb50df4a8271f9d1a1
https://github.com/llvm/llvm-project/commit/fe74f12a9e71abb89f2732bb50df4a8271f9d1a1
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M llvm/include/llvm/CodeGen/ScheduleDAG.h
M llvm/lib/CodeGen/ScheduleDAG.cpp
Log Message:
-----------
[MISched] Extract `isClustered()` method on SUnit (NFC) (#191700)
This patch encapsulates the check for wether a `SUnit` is clustered,
rather than letting it scatter across call sites. Currently there is
only a single user, but more users can show up, and I think it provides
a cleaner API even for that single user.
Commit: a95979686f532a194d9fb8a8671800f5e75e3405
https://github.com/llvm/llvm-project/commit/a95979686f532a194d9fb8a8671800f5e75e3405
Author: Luke Lau <luke at igalia.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Assert ComputeReductionResult isn't predicated in middle block. NFC (#191767)
Commit: 53e01f1f6471d0d7c6db3b793e1005386d09e8c2
https://github.com/llvm/llvm-project/commit/53e01f1f6471d0d7c6db3b793e1005386d09e8c2
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
Log Message:
-----------
[mlir][tosa] Improve matmul verifier to check shape information (#191300)
Updates the matmul verifier to check input and output shapes are valid.
Also adds some tests for verifier failures which were previously not
covered.
Commit: 6073fde018a71ed364b1fe3c052c920b8b032deb
https://github.com/llvm/llvm-project/commit/6073fde018a71ed364b1fe3c052c920b8b032deb
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
A llvm/test/Transforms/LoopVectorize/tail-folding-constant-trip-counts.ll
Log Message:
-----------
[VPlan] Directly check if middle block is pred of scalar preheader. (#191768)
hasScalarTail currently returns incorrect results when queried after
runtime checks have been added. Generalize and harden by checking if the
middle block is a predecessor of the scalar preheader.
Commit: abece588672ebf849e393077ded2daa88be06802
https://github.com/llvm/llvm-project/commit/abece588672ebf849e393077ded2daa88be06802
Author: Mao Chuanjun <10255501521 at stu.ecnu.edu.cn>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions.cpp
Log Message:
-----------
[clang-tidy] Fix a false positive when converting a bool to a signed integer type (#191696)
Fix #191337
Commit: 923340b3786470c140598fa7203050786957c484
https://github.com/llvm/llvm-project/commit/923340b3786470c140598fa7203050786957c484
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/placement-new.cpp
Log Message:
-----------
[clang][bytecode] Fix placement new on multidimensional array elements (#191766)
The direct base of those pointers is not a union, i.e. `getRecord()`
returns `nullptr`.
Commit: 9a5bc720257024b44cf9f4c63741be53c4fba4c2
https://github.com/llvm/llvm-project/commit/9a5bc720257024b44cf9f4c63741be53c4fba4c2
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M clang/test/CodeGen/AArch64/sme-remarks.c
M llvm/docs/AArch64SME.rst
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AArch64/AArch64.h
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/lib/Target/AArch64/AArch64SMEAttributes.cpp
M llvm/lib/Target/AArch64/AArch64SMEAttributes.h
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.h
M llvm/lib/Target/AArch64/CMakeLists.txt
M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
R llvm/lib/Target/AArch64/SMEABIPass.cpp
M llvm/test/CodeGen/AArch64/aarch64-sme-za-call-lowering.ll
M llvm/test/CodeGen/AArch64/sme-abi-save-call-remarks.ll
M llvm/test/CodeGen/AArch64/sme-agnostic-za.ll
M llvm/test/CodeGen/AArch64/sme-dynamic-tls.ll
M llvm/test/CodeGen/AArch64/sme-lazy-save-call.ll
M llvm/test/CodeGen/AArch64/sme-lazy-save-windows.ll
M llvm/test/CodeGen/AArch64/sme-lazy-sve-nzcv-live.mir
M llvm/test/CodeGen/AArch64/sme-new-za-function.ll
R llvm/test/CodeGen/AArch64/sme-new-zt0-function.ll
M llvm/test/CodeGen/AArch64/sme-peephole-opts.ll
M llvm/test/CodeGen/AArch64/sme-shared-za-interface.ll
M llvm/test/CodeGen/AArch64/sme-za-control-flow.ll
M llvm/test/CodeGen/AArch64/sme-za-exceptions.ll
M llvm/test/CodeGen/AArch64/sme-za-function-with-many-blocks.ll
M llvm/test/CodeGen/AArch64/sme-za-lazy-save-buffer.ll
M llvm/test/CodeGen/AArch64/sme-zt0-state.ll
M llvm/test/CodeGen/AArch64/sve-stack-frame-layout.ll
M llvm/test/Verifier/sme-attributes.ll
M llvm/unittests/Target/AArch64/SMEAttributesTest.cpp
M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
Log Message:
-----------
[AArch64][SME] Remove SelectionDAG SME ABI lowering (#190950)
This patch removes the `-aarch64-new-sme-abi=<true/false>` option (which
has been defaulted to "true" since LLVM 22), and removes the Selection
DAG lowering for the SME ABI.
There should be no functional changes for the default path
(`-aarch64-new-sme-abi=true`).
Commit: ec944346ddcb560f6d5dbb0faa5850f9baed0476
https://github.com/llvm/llvm-project/commit/ec944346ddcb560f6d5dbb0faa5850f9baed0476
Author: Zorojuro <sawantsukumar at gmail.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/log2p1f16.h
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Fix: add log2p1f16 to shared math (#189179)
This PR intends to add the log2p1f16 function to shared math, along with
adding tests for it and bazel which was missed in
[f0ce26d](https://github.com/llvm/llvm-project/commit/f0ce26d06d822fd6985d227dc1be9d218977e334).
Commit: bdc11929aa0b4dbcd0f06ade1bc54b45b5b8bf8b
https://github.com/llvm/llvm-project/commit/bdc11929aa0b4dbcd0f06ade1bc54b45b5b8bf8b
Author: Zorojuro <sawantsukumar at gmail.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/log10p1f16.h
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Fix: add log10p1f16 to shared math (#189185)
This PR intends to add the log10p1f16 function to shared math, along
with adding tests for it and Bazel which was missed in
[a7d1a87](https://github.com/llvm/llvm-project/commit/a7d1a87b30ce626678d33fe1c12e647f7ce4fb20).
Commit: f65301d637076db2232ca6c6d569cc0674e5858a
https://github.com/llvm/llvm-project/commit/f65301d637076db2232ca6c6d569cc0674e5858a
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
Log Message:
-----------
[Clangd] Don't traverse ConceptDecl in typeForNode (#191654)
ConceptDecl doesn't have an associated template declaration, and it
doesn't introduce a type either.
Fixes https://github.com/llvm/llvm-project/issues/188914
Commit: 70b9feceaf7e7cef8bdc3820f0b0561b332eb684
https://github.com/llvm/llvm-project/commit/70b9feceaf7e7cef8bdc3820f0b0561b332eb684
Author: Lang Hames <lhames at gmail.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericDylibManager.h
M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
M llvm/include/llvm/ExecutionEngine/Orc/SelfExecutorProcessControl.h
M llvm/lib/ExecutionEngine/Orc/SelfExecutorProcessControl.cpp
Log Message:
-----------
[ORC] Forward declare DylibManager in ExecutorProcessControl.h. (#191771)
Commit: df6c82053c5e1f9814d130d423f34871bc6423c5
https://github.com/llvm/llvm-project/commit/df6c82053c5e1f9814d130d423f34871bc6423c5
Author: eiytoq <eiytoq at outlook.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M libcxx/include/__mdspan/mdspan.h
M libcxx/test/std/containers/views/mdspan/mdspan/element_type.verify.cpp
Log Message:
-----------
[libc++] Fix the mdspan ElementType complete object type mandate (#191703)
Fixes: #191688
Commit: 75ca0f71d209058d1f565d7529e6d1b117129911
https://github.com/llvm/llvm-project/commit/75ca0f71d209058d1f565d7529e6d1b117129911
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/test/CodeGen/AArch64/O0-pipeline.ll
M llvm/test/CodeGen/AArch64/O3-pipeline.ll
Log Message:
-----------
[AArch64] Don't forcefully add ORE to O0 pipeline (#191476)
Construct the OptimizationRemarkEmitter in AArch64StackTagging on demand
if not available and requires, this avoids computing several analysis in
all pipelines.
Commit: 358f3d7402cd3e4849f771abb4448411b76d21ec
https://github.com/llvm/llvm-project/commit/358f3d7402cd3e4849f771abb4448411b76d21ec
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][bazel][math][NFC] Fix deps (#191785)
Commit: d043b9e38dd9494c3c56018b2cbaf44fe205b110
https://github.com/llvm/llvm-project/commit/d043b9e38dd9494c3c56018b2cbaf44fe205b110
Author: Matthew Nagy <matthew.nagy at sony.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M compiler-rt/lib/tysan/tysan.cpp
M compiler-rt/lib/tysan/tysan_interceptors.cpp
Log Message:
-----------
[TySan][Sanitizer Common] Make TySan compatible with sanitizer common… (#183310)
… features and test suite
This involved:
- Implementing the `__sanitizer_print_stack_trace` interface
- Adding the common signal handlers
- Correctly set the tool name
- Cache the binary name before running
Commit: 200e8c589e41f561b8dd7ed7c9b5e5ba26ab8300
https://github.com/llvm/llvm-project/commit/200e8c589e41f561b8dd7ed7c9b5e5ba26ab8300
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/ResolveShapedTypeResultDims.cpp
M mlir/test/Interfaces/InferShapedTypeOpInterface/resolve-shaped-type-result-dims.mlir
Log Message:
-----------
[MLIR][MemRef] Fix DimOfReifyRankedShapedTypeOpInterface IR-change on failure (#188973)
DimOfReifyRankedShapedTypeOpInterface::matchAndRewrite called
reifyDimOfResult via the PatternRewriter. Some implementations delegate
to the coarse-grained reifyResultShapes, which creates ops for ALL
dimensions (e.g. a tensor.dim) before discovering that a specific
dimension is not reifiable (signalled by an empty OpFoldResult).
The pattern then returned failure() once it saw the empty OpFoldResult,
but the newly created ops were already in the IR. Under
MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS this triggered "pattern
returned failure but IR did change".
Fix: record the op immediately before the matched dim op, so we can
identify ops inserted during the reification attempt. If reification
returns an empty (unreifiable) OpFoldResult, erase those newly created
ops before returning failure, restoring the IR to its original state.
Assisted-by: Claude Code
Commit: 91c0ba6de8e742fc92bf166f508157c6fe8b9df4
https://github.com/llvm/llvm-project/commit/91c0ba6de8e742fc92bf166f508157c6fe8b9df4
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M mlir/lib/Dialect/OpenACC/Transforms/ACCLoopTiling.cpp
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsTiling.cpp
M mlir/test/Dialect/OpenACC/acc-loop-tiling.mlir
Log Message:
-----------
[OpenACC] Fix pattern API check failures in acc-loop-tiling pass (#188968)
Two bugs were introduced/revealed by
MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS:
1. `ACCLoopTilingImpl::matchAndRewrite` returned `success()` for loops
with no tile values, triggering "pattern returned success but IR did not
change". Fixed by returning `failure()` instead.
2. `moveOpsAndReplaceIVs` moved ops between blocks via `splice()` and
updated operands via `replaceAllUsesInRegionWith()` without notifying
the rewriter. This caused "operation fingerprint changed" errors since
the moved ops' parent op and operands changed without
`startOpModification`/ `finalizeOpModification`. Fixed by wrapping all
moved ops (and their nested ops) with rewriter modification
notifications.
Assisted-by: Claude Code
Commit: 72d35333fbd9829f9f89f7f1978ffdbaca396b09
https://github.com/llvm/llvm-project/commit/72d35333fbd9829f9f89f7f1978ffdbaca396b09
Author: David Green <david.green at arm.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/bitcast.ll
Log Message:
-----------
[AArch64][GISel] Clamp bitcast to v2i64 (#191360)
This helps to not lower, improving the number of nodes that we expand
into and improving the quality of the generated code.
Originally a part of #177158 by Ryan Cowan
Commit: 6dbf9d1ac5e68ec6811e6b05c67f12fda07f62e3
https://github.com/llvm/llvm-project/commit/6dbf9d1ac5e68ec6811e6b05c67f12fda07f62e3
Author: Lang Hames <lhames at gmail.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
M llvm/lib/ExecutionEngine/Orc/EPCIndirectionUtils.cpp
Log Message:
-----------
[ORC] Forward declare MemoryAccess in ExecutorProcessControl.h. (#191778)
Commit: 4c3ef83e5b235359d557c68c4a3c81cd42e7525d
https://github.com/llvm/llvm-project/commit/4c3ef83e5b235359d557c68c4a3c81cd42e7525d
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[NFC][SPIR-V] Use PatternMatch combinators in SPIRVEmitIntrinsics (#189554)
Replace `dyn_cast<IntrinsicInst> + getIntrinsicID()` chains with
PatternMatch combinators where applicable
Commit: 5667b93617fe0a1a0c927ab4c2d3bd889da5963f
https://github.com/llvm/llvm-project/commit/5667b93617fe0a1a0c927ab4c2d3bd889da5963f
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/lib/Target/SPIRV/SPIRVTypeInst.cpp
M llvm/lib/Target/SPIRV/SPIRVTypeInst.h
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bindless_images/bindless_images_generic.ll
Log Message:
-----------
[SPIR-V] Add Int64ImageEXT capability for OpTypeImage with 64-bit integer sampled type (#190742)
Fix spirv-val failure:
```
error: line 20: Capability Int64ImageEXT is required when using Sampled Type of 64-bit int
%spirv_Image = OpTypeImage %ulong 3D 0 0 0 0 Unknown ReadOnly
```
Detect when OpTypeImage uses a 64-bit integer as its sampled type and
automatically add the Int64ImageEXT capability and
SPV_EXT_shader_image_int64 extension
related to https://github.com/llvm/llvm-project/issues/190736
Commit: 8dcd4713550e0e8ceffad49674499672a92069f1
https://github.com/llvm/llvm-project/commit/8dcd4713550e0e8ceffad49674499672a92069f1
Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Correct description of predicate.enable MD (#191496)
The documentation incorrectly stated that this metadata enables/disables
vectorization, but it actually controls predication.
Also clarify that enabling predication implicitly enables vectorization.
Commit: 137c53cbc844c2e643825e430bd9aa84b117f8bd
https://github.com/llvm/llvm-project/commit/137c53cbc844c2e643825e430bd9aa84b117f8bd
Author: Fady Farag <com.webkit.iidmsa at gmail.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M clang/test/CodeGen/2004-02-13-Memset.c
Log Message:
-----------
[clang][test] Fix 32-bit bot failures after cc419f185e13 (#191551)
Use `{{.*}}` instead of `i64` for `memset` size type, as 32-bit
platforms use `i32`.
Commit: 55d7a0575a70322b535ec81c1840508042e52297
https://github.com/llvm/llvm-project/commit/55d7a0575a70322b535ec81c1840508042e52297
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M mlir/lib/Dialect/SPIRV/Transforms/UpdateVCEPass.cpp
M mlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir
Log Message:
-----------
[MLIR][SPIRV] Deduce Shader capability for DescriptorSet/Binding decorations (#188743)
UpdateVCEPass only queried capabilities via QueryCapabilityInterface and
SPIRV type capabilities, but did not check capabilities implied by
decoration attributes on ops. Specifically, the DescriptorSet and
Binding decorations—represented by the `binding` and `descriptor_set`
attributes on `spirv.GlobalVariable`—require the `Shader` capability per
the SPIR-V spec Decoration table, but this was not deduced.
Add an explicit check in UpdateVCEPass: when a `spirv.GlobalVariable`
has a `binding` or `descriptor_set` attribute, require the `Shader`
capability.
Part of #168357
Assisted-by: Claude Code
Commit: 988e00ebcd54db5c4a15d15b87c16313d4190b59
https://github.com/llvm/llvm-project/commit/988e00ebcd54db5c4a15d15b87c16313d4190b59
Author: Alexandre Ganea <aganea at havenstudios.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M openmp/runtime/src/kmp_alloc.cpp
Log Message:
-----------
[openmp] Silence warnings when building on Windows (#191556)
Fixes unused-but-set globals on non-Unix paths in kmp_alloc.cpp
Commit: 571beb55057e66184fbcc9d9b9f81b443f6a9d52
https://github.com/llvm/llvm-project/commit/571beb55057e66184fbcc9d9b9f81b443f6a9d52
Author: Alexandre Ganea <aganea at havenstudios.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M compiler-rt/cmake/Modules/CompilerRTCompile.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/interception/CMakeLists.txt
M compiler-rt/lib/ubsan/CMakeLists.txt
Log Message:
-----------
[compiler-rt] clang-cl: skip MSVC external-header probe; -std=c++ for unit-test compiles (#191564)
1. `check_cxx_compiler_flag` marked `COMPILER_RT_HAS_EXTERNAL_FLAG` true
for clang-cl, so `/experimental:external` and `/external:anglebrackets`
were passed and clang-cl warned they were unused. Now only probe with
real MSVC (not Clang); set the flag false otherwise; rely on that in
asan/interception/ubsan.
2. Custom compile lines for unit tests didn’t get C++17, so headers hit
`-Wc++17-extensions` (e.g. `constexpr if` / message-less `static_assert`
in FuzzedDataProvider / asan_fake_stack). Now append
`-std=c++${CMAKE_CXX_STANDARD}` or `-std=c++17` for C++ sources in
`clang_compile()` for both standalone and non-standalone builds.
Commit: d9a9962aa52b7a7cc251babba5d19f8adcd70ff3
https://github.com/llvm/llvm-project/commit/d9a9962aa52b7a7cc251babba5d19f8adcd70ff3
Author: Alexandre Ganea <aganea at havenstudios.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
Log Message:
-----------
[GSYM] Silence cast warning (#191561)
Previously clang-cl was generating "warning: comparison of integers of
different signs".
Commit: 73dd62d41ff6caee880582e4ce11188e4460e9b8
https://github.com/llvm/llvm-project/commit/73dd62d41ff6caee880582e4ce11188e4460e9b8
Author: Minsoo Choo <minsoochoo0122 at proton.me>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
Log Message:
-----------
[lldb][Process/FreeBSDKernelCore] Improve error handling (#191423)
Improve error handling with the following changes:
- If `kvm_open2()` fails in `DoLoadCore()`, log error with a message
obtained from the function.
- Return false or continue for loop if memory read fails.
- Rename `!error.Success()` to `error.Fail()` for readability (NFC).
Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
Commit: a98ecc9027426941851ac32ff75cb599acf49221
https://github.com/llvm/llvm-project/commit/a98ecc9027426941851ac32ff75cb599acf49221
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
R lldb/test/API/lang/cpp/non-type-template-param-member-ptr/Makefile
R lldb/test/API/lang/cpp/non-type-template-param-member-ptr/TestCppNonTypeTemplateParamPtrToMember.py
R lldb/test/API/lang/cpp/non-type-template-param-member-ptr/main.cpp
Log Message:
-----------
Revert "[lldb][DWARFASTParserClang] Handle pointer-to-member-data non-type te…" (#191798)
Reverts llvm/llvm-project#189510
Crashes lldb on certain type of debug info. See
https://github.com/llvm/llvm-project/pull/189510#issuecomment-4235929442
for more details.
Commit: f3fce677f2a06e857433b42c5b5a38d554d79699
https://github.com/llvm/llvm-project/commit/f3fce677f2a06e857433b42c5b5a38d554d79699
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M mlir/test/mlir-tblgen/op-format-invalid.td
M mlir/test/mlir-tblgen/op-format-spec.td
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[MLIR][ODS] Error on optional attribute used outside optional group in assemblyFormat (#188726)
Using an optional attribute directly in assemblyFormat (e.g., `$attr
attr-dict`) without wrapping it in an optional group causes the
generated printer to call `printAttribute` with a null `Attribute` when
the attribute is absent. This leads to a crash in the alias initializer
when it calls `getAlias` on a null attribute.
Add a validation check in `OpFormatParser::verifyAttributes` that
detects this pattern and emits a diagnostic error with a helpful note
pointing users to the correct `($attr^)?` syntax.
Fixes #58064
Assisted-by: Claude Code
Commit: 65f4e709e1e0edb650a5ff5263afcd5012d04228
https://github.com/llvm/llvm-project/commit/65f4e709e1e0edb650a5ff5263afcd5012d04228
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M lldb/docs/dil-expr-lang.ebnf
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILLexer.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/source/Target/StackFrame.cpp
M lldb/source/ValueObject/DILAST.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILLexer.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/test/API/commands/frame/var-dil/expr/Arithmetic/TestFrameVarDILArithmetic.py
Log Message:
-----------
[lldb] Add binary multiplication, division, remainder to DIL (#187281)
Add binary arithmetic multiplication, division, remainder to DIL.
This patch also passes DILMode to the parser to check if binary
multiplication is allowed by the mode. This cannot be done in the lexer
alone, because it allows token `*` as a dereference operator for legacy
mode, but that token could also be a binary multiplication allowed only
in full mode.
Commit: 1c1d0cd30edf8134585ab914efdb7bf2f781958c
https://github.com/llvm/llvm-project/commit/1c1d0cd30edf8134585ab914efdb7bf2f781958c
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Target/LLVMIR/Import/module-flags.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[MLIR][LLVMIR] Handle MDTuple-of-MDStrings module flags (e.g. riscv-isa) (#188741)
The "riscv-isa" LLVM module flag stores its value as an MDTuple
containing MDStrings (e.g. `\!{\!"rv64i2p1", \!"m2p0"}`). Previously,
this fell through the unrecognized-key path in
`convertModuleFlagValueFromMDTuple`, which emitted a warning and dropped
the flag during import.
This patch adds generic handling for MDTuples whose operands are all
MDStrings:
- Import: convert to `ArrayAttr<StringAttr>` in
`convertModuleFlagValueFromMDTuple`
- Export: convert `ArrayAttr<StringAttr>` back to an MDTuple of
MDStrings in `convertModuleFlagValue`, enabling a lossless round-trip
- Verifier: allow `ArrayAttr<StringAttr>` as a valid `ModuleFlagAttr`
value for keys not otherwise handled by specific verifier branches
Fixes #188122
Assisted-by: Claude Code
Commit: 848bf3e3fe2514becdacfd644092055228f4e890
https://github.com/llvm/llvm-project/commit/848bf3e3fe2514becdacfd644092055228f4e890
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M flang/test/Lower/Intrinsics/transpose.f90
M flang/test/Lower/Intrinsics/transpose_opt.f90
M flang/test/Lower/Intrinsics/trim.f90
M flang/test/Lower/Intrinsics/ubound.f90
M flang/test/Lower/Intrinsics/ubound01.f90
Log Message:
-----------
[flang][NFC] Converted five tests from old lowering to new lowering (part 43) (#191753)
Tests converted from test/Lower/Intrinsics: transpose.f90,
transpose_opt.f90, trim.f90, ubound.f90, ubound01.f90
Commit: dd0c5ebe69e580066de100c8c2ba5430a1aeee44
https://github.com/llvm/llvm-project/commit/dd0c5ebe69e580066de100c8c2ba5430a1aeee44
Author: Matthew Nagy <matthew.nagy at sony.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M compiler-rt/test/sanitizer_common/CMakeLists.txt
M compiler-rt/test/sanitizer_common/TestCases/Linux/aligned_alloc-alignment.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/allocator_returns_null_std.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/decorate_proc_maps.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/deepbind.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/free_aligned_sized.c
M compiler-rt/test/sanitizer_common/TestCases/Linux/free_sized.c
M compiler-rt/test/sanitizer_common/TestCases/Linux/malloc_usable_size.c
M compiler-rt/test/sanitizer_common/TestCases/Linux/mlock_test.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/mprobe.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/pvalloc-overflow.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/release_to_os_test.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/replace_dlopen_main_program_test.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/resize_tls_dynamic.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/tls_get_addr.c
M compiler-rt/test/sanitizer_common/TestCases/Linux/tls_malloc_hook.c
M compiler-rt/test/sanitizer_common/TestCases/Linux/unexpected_format_specifier_test.cpp
M compiler-rt/test/sanitizer_common/TestCases/Posix/huge_malloc.c
M compiler-rt/test/sanitizer_common/TestCases/Posix/mmap_write_exec.cpp
M compiler-rt/test/sanitizer_common/TestCases/Posix/posix_memalign-alignment.cpp
M compiler-rt/test/sanitizer_common/TestCases/Posix/print-module-map.cpp
M compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cpp
M compiler-rt/test/sanitizer_common/TestCases/Posix/weak_hook_test.cpp
M compiler-rt/test/sanitizer_common/TestCases/allocator_interface.cpp
M compiler-rt/test/sanitizer_common/TestCases/allocator_returns_null.cpp
M compiler-rt/test/sanitizer_common/TestCases/compress_stack_depot.cpp
M compiler-rt/test/sanitizer_common/TestCases/corelimit.cpp
M compiler-rt/test/sanitizer_common/TestCases/get_allocated_begin.cpp
M compiler-rt/test/sanitizer_common/TestCases/hard_rss_limit_mb_test.cpp
M compiler-rt/test/sanitizer_common/TestCases/malloc_hook.cpp
M compiler-rt/test/sanitizer_common/TestCases/malloc_hook_get_allocated_size_fast.cpp
M compiler-rt/test/sanitizer_common/TestCases/max_allocation_size.cpp
M compiler-rt/test/sanitizer_common/TestCases/reallocarray-overflow.cpp
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_symbolize.cpp
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard-dso.cpp
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard.cpp
M compiler-rt/test/sanitizer_common/lit.common.cfg.py
Log Message:
-----------
[TySan][Sanitizer Common] Enable TySan testing in the sanitizer commo… (#191385)
…n test suite
Secondary pr to enable tests after
https://github.com/llvm/llvm-project/pull/183310 enables the features
Commit: e455e6c9ecae01da8c2959d7dfefa7631373efcb
https://github.com/llvm/llvm-project/commit/e455e6c9ecae01da8c2959d7dfefa7631373efcb
Author: Victor Campos <victor.campos at arm.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/gpu/spirv/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/fuzzing/string/CMakeLists.txt
A libc/fuzzing/string/strnlen_s_differential_fuzz.cpp
M libc/include/CMakeLists.txt
M libc/include/string.yaml
M libc/src/string/CMakeLists.txt
M libc/src/string/string_utils.h
M libc/src/string/strnlen.cpp
A libc/src/string/strnlen_s.cpp
A libc/src/string/strnlen_s.h
M libc/test/src/string/CMakeLists.txt
A libc/test/src/string/strnlen_s_test.cpp
M libc/utils/docgen/string.yaml
Log Message:
-----------
[libc] Add Annex K strnlen_s function (#186112)
This patch adds the `strnlen_s` function from Annex K.
In order to reduce duplication between `strnlen` and `strnlen_s`, the
common logic has been extracted to a new internal function which both
now call.
In addition to the function definition, the patch adds a unit test and a
fuzzing test.
Commit: e027a17b2d45bf3656ff4ab7cea7db273971ab83
https://github.com/llvm/llvm-project/commit/e027a17b2d45bf3656ff4ab7cea7db273971ab83
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M llvm/test/CodeGen/SPIRV/logical-struct-access.ll
Log Message:
-----------
[NFC][SPIR-V] Fix logical-struct-access.ll to pass spirv-val validation (#191792)
OpReturnValue with a pointer type is invalid in SPIR-V Logical
addressing model (Vulkan). The functions in the test return
OpAccessChain results, which are pointers
related to https://github.com/llvm/llvm-project/issues/190736
Commit: f9c9f94f13c88be0626d5a4e453f5494de0e106a
https://github.com/llvm/llvm-project/commit/f9c9f94f13c88be0626d5a4e453f5494de0e106a
Author: Victor Campos <victor.campos at arm.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64PrologueEpilogue.cpp
A llvm/test/CodeGen/AArch64/sign-return-address-pauthlr-slh.ll
Log Message:
-----------
[AArch64] Mark X16 as clobbered in PAUTH_EPILOGUE for hint-based PAuthLR (#175991)
When users request branch protection with PAuthLR on targets that do not
support the PAuthLR instructions, the PAUTH_EPILOGUE falls back to using
hint-space instructions. This fallback sequence uses X16 as a temporary
register, but X16 was not listed in the clobber set.
Because Speculative Load Hardening uses X16, this omission made SLH
incompatible with this PAUTH_EPILOGUE path.
Mark X16 as clobbered so the compiler does not assume X16 is preserved
across the epilogue, restoring compatibility with Speculative Load
Hardening and avoiding incorrect register liveness assumptions. The
clobber is added in C++ rather than TableGen, as X16 is only clobbered
when PAuthLR is requested as a branch protection variation and should
not be treated as clobbered unconditionally.
Commit: e572b0c1e3d494d4fd44a76dc903a15bd559b40d
https://github.com/llvm/llvm-project/commit/e572b0c1e3d494d4fd44a76dc903a15bd559b40d
Author: ShashwathiNavada <shashwathinavada at gmail.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Fir/dispatch.f90
M flang/test/Lower/CUDA/cuda-allocatable-device.cuf
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Lower/CUDA/cuda-gpu-managed.cuf
M flang/test/Lower/CUDA/cuda-mod.cuf
M flang/test/Lower/CUDA/cuda-pointer-sync.cuf
M flang/test/Lower/HLFIR/procedure-pointer-in-generics.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenMP/block-use-predetermined-privatization.f90
M flang/test/Lower/OpenMP/cray-pointers01.f90
M flang/test/Lower/OpenMP/threadprivate-hlfir.f90
M flang/test/Lower/OpenMP/threadprivate-real-logical-complex-derivedtype.f90
M flang/test/Lower/OpenMP/threadprivate-use-association-2-hlfir.f90
M flang/test/Lower/OpenMP/threadprivate-use-association.f90
M flang/test/Lower/allocatable-globals.f90
M flang/test/Lower/array-elemental-calls-char-dynamic.f90
M flang/test/Lower/c-interoperability.f90
M flang/test/Lower/dense-attributed-array.f90
M flang/test/Lower/dispatch.f90
A flang/test/Lower/extrn_subp.f90
M flang/test/Lower/pointer-default-init.f90
M flang/test/Lower/polymorphic.f90
Log Message:
-----------
[Flang] External subprograms should be allowed as proc_target in procedure pointers. (#183268)
Fixes https://github.com/llvm/llvm-project/issues/177505.
This patch updates an existing external procedure symbol with the
correct function signature and argument attributes, so it can be safely
used as a proc_target without signature conflicts.
---------
Co-authored-by: jeanPerier <jean.perier.polytechnique at gmail.com>
Commit: b9d6efebf9c6527c389868caa4dfcbdc0b8078a5
https://github.com/llvm/llvm-project/commit/b9d6efebf9c6527c389868caa4dfcbdc0b8078a5
Author: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M clang-tools-extra/clang-tidy/fuchsia/TemporaryObjectsCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/TemporaryObjectsCheck.h
A clang-tools-extra/clang-tidy/utils/CheckUtils.h
A clang-tools-extra/test/clang-tidy/checkers/fuchsia/temporary-objects-deprecated-alias.cpp
M clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
Log Message:
-----------
[clang-tidy] Emit warning when user is using deprecated `zircon` checks (#189522)
Add `utils::diagDeprecatedCheckAlias` so checks can detect whether they
are running under a deprecated name without enabling the new names.
This commit also comes with an example with `zircon` module. It is
deprecated in 22 release but we didn't provide a note for it before.
Commit: f4da0ca171f8cfee3bed6182174d5dfa078df416
https://github.com/llvm/llvm-project/commit/f4da0ca171f8cfee3bed6182174d5dfa078df416
Author: Lang Hames <lhames at gmail.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/SimpleRemoteEPC.h
M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
Log Message:
-----------
[ORC] Sink a #include in SimpleRemoteEPC.h, and remove another. (#191797)
These #includes are only needed in the SimpleRemoteEPC.cpp
implementation.
Commit: 80d72ae2cec9b7625e537a917d11af04c50699a6
https://github.com/llvm/llvm-project/commit/80d72ae2cec9b7625e537a917d11af04c50699a6
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M lldb/include/lldb/Target/ExecutionContext.h
Log Message:
-----------
[lldb] Remove declarations of two non-existent constructors (NFC) (#191622)
They have never existed since the initial public checkin.
Commit: d5b8d8846d1a5864bb12ac9eb4f1031ca888e71a
https://github.com/llvm/llvm-project/commit/d5b8d8846d1a5864bb12ac9eb4f1031ca888e71a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/test/AST/ByteCode/placement-new.cpp
Log Message:
-----------
[clang][bytecode] Fix activating primitive array elements (#191772)
For primitive array elements, we would accidentally activate the element
and then immediate de-activate the array root, which is wrong. Ignore
the element from the beginning to the later check never even compares
with the element.
Commit: 14f2556639be002af1e614ddcb6bff496ca32fc3
https://github.com/llvm/llvm-project/commit/14f2556639be002af1e614ddcb6bff496ca32fc3
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/cxx11.cpp
Log Message:
-----------
[clang][bytecode] Don't check anonymous union in memcpy op (#191783)
It's fine if they are uninitialized.
Commit: 7083e9d8da07d97ab4541405b72e8b7ce8dad181
https://github.com/llvm/llvm-project/commit/7083e9d8da07d97ab4541405b72e8b7ce8dad181
Author: Matthew Nagy <matthew.nagy at sony.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Linux/internal_symbolizer.cpp
M compiler-rt/test/sanitizer_common/TestCases/print-stack-trace.cpp
Log Message:
-----------
XFAIL symbolizer test for TySan (#191810)
Commit: b33c301e818207ef59fcf19ebc295fb623eb0d0d
https://github.com/llvm/llvm-project/commit/b33c301e818207ef59fcf19ebc295fb623eb0d0d
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
A llvm/test/Transforms/LoopVectorize/epilog-vectorization-fixed-order-recurrences.ll
A llvm/test/Transforms/LoopVectorize/epilog-vectorization-fmaxnum-reductions.ll
Log Message:
-----------
[LV] Extend epilogue vectorization test coverage with dead FORs/FMinMax. (#191799)
Extend test coverage with dedicated epilogue vectorization tests for
dead first-order recurrences and FMinMaxNum reductions.
Add users to FORs in existing tests where the dead FORs appeared
unintentional.
Commit: a0427859fb701039445e3da7eaab0b5aa97cbbf2
https://github.com/llvm/llvm-project/commit/a0427859fb701039445e3da7eaab0b5aa97cbbf2
Author: Amit Tiwari <amtiwari at amd.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
Log Message:
-----------
[CIR][NFC] Add NYI for OMPSplitDirective stmt (#191791)
As requested by @erichkeane here:
https://github.com/llvm/llvm-project/pull/190329#issuecomment-4183615635
Commit: 3c2a9c90cb3c816609a6baabf919c392f0bcb40c
https://github.com/llvm/llvm-project/commit/3c2a9c90cb3c816609a6baabf919c392f0bcb40c
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/test/CodeGen/SPIRV/transcoding/ldexp.ll
A llvm/test/CodeGen/SPIRV/transcoding/pown.ll
A llvm/test/CodeGen/SPIRV/transcoding/rootn.ll
Log Message:
-----------
[SPIR-V] Fix type mismatch in scalar-to-vector promotion for mixed-type builtins (#190969)
When promoting scalar arguments to vectors for builtins like `ldexp`,
`pown`, and `rootn`, use the correct vector type matching the argument
element type instead of always using the return type: these builtins
take an integer argument but at the same time have floating point return
type
Fix `ldexp` test that does not pass spirv-val and add similar tests for
`pown` and `rootn`
related to https://github.com/llvm/llvm-project/issues/190736
Commit: 28e237ae831225d46794b5ad90441e8b19828329
https://github.com/llvm/llvm-project/commit/28e237ae831225d46794b5ad90441e8b19828329
Author: Mel Chen <mel.chen at sifive.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/reverse-load-scatter.ll
A llvm/test/Transforms/LoopVectorize/RISCV/reverse-load-scatter.ll
Log Message:
-----------
[LV] Add test for reverse load with scatter store. nfc (#189928)
Commit: d012e0380a8f1e16b2720d98b96197084f2e1207
https://github.com/llvm/llvm-project/commit/d012e0380a8f1e16b2720d98b96197084f2e1207
Author: Tim Gymnich <tim at gymni.ch>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/test/CodeGen/AArch64/known-never-nan.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/clamp-minmax-const-combine.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmed3-min-max-const-combine.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/known-fpclass-phi.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmaxnum.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fminnum.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-clamp-minmax-const.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-fmed3-minmax-const.mir
M llvm/test/CodeGen/AMDGPU/fmed3.ll
M llvm/unittests/CodeGen/GlobalISel/KnownFPClassTest.cpp
Log Message:
-----------
[GISel] Use GISelValueTracking in isKnownNeverNaN (#190542)
Pass GISelValueTracking* through isKnownNeverNaN and isKnownNeverSNaN so
that the implementation can call computeKnownFPClass to derive NaN
information from value tracking, rather than only looking at flags and
direct constant definitions. Update all callers.
Co-Authored-By: Claude Sonnet 4.6 <noreply at anthropic.com>
Commit: b6ff43f1ecd34717b8d22dac329ca913fc910d4f
https://github.com/llvm/llvm-project/commit/b6ff43f1ecd34717b8d22dac329ca913fc910d4f
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M bolt/lib/Core/AddressMap.cpp
M bolt/lib/Rewrite/GNUPropertyRewriter.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M lldb/source/DataFormatters/FormatterSection.cpp
M llvm/include/llvm/DebugInfo/DWARF/LowLevel/DWARFDataExtractorSimple.h
M llvm/include/llvm/Object/BBAddrMap.h
M llvm/include/llvm/Support/DataExtractor.h
M llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp
M llvm/lib/DebugInfo/GSYM/MergedFunctionsInfo.cpp
M llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp
M llvm/lib/Object/ELF.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
M llvm/tools/obj2yaml/dwarf2yaml.cpp
M llvm/tools/obj2yaml/elf2yaml.cpp
M llvm/unittests/Support/DataExtractorTest.cpp
Log Message:
-----------
[Support] Remove address-extraction methods from DataExtractor (NFC) (#190519)
Most clients don't have a notion of "address" and pass arbitrary values
(including `0` and `sizeof(void *)`) to `DataExtractor` constructors.
This makes address-extraction methods dangerous to use.
Those clients that do have a notion of address can use other methods
like `getUnsigned()` to extract an address, or they can derive from
`DataExtractor` and add convenience methods if extracting an address is
routine. `DWARFDataExtractor` is an example, where the removed methods
were actually moved.
This does not remove `AddressSize` argument of `DataExtractor`
constructors yet, but makes it unused and overloads constructors in
preparation for their deletion. I'll be removing uses of the
to-be-deleted constructors in follow-up patches.
Commit: a2bf43d6b18d6a0614b685c8c72432fc90f6dc1c
https://github.com/llvm/llvm-project/commit/a2bf43d6b18d6a0614b685c8c72432fc90f6dc1c
Author: Lang Hames <lhames at gmail.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/MachOBuilder.h
M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
A llvm/unittests/ExecutionEngine/Orc/MachOBuilderTest.cpp
Log Message:
-----------
[ORC] Add MachOBuilder support for LC_UUID load commands. (#191807)
Enables LC_UUID load commands to be added with the addLoadCommand
method.
This will be used in future MachOPlatform changes to add support for
adding UUIDs to MachO JITDylibs.
Commit: 5afba800906a5e69518abfb1995567c6186cfd6d
https://github.com/llvm/llvm-project/commit/5afba800906a5e69518abfb1995567c6186cfd6d
Author: Princeton Ferro <pferro at nvidia.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M llvm/include/llvm/IR/ValueHandle.h
M llvm/include/llvm/Transforms/Scalar/GVN.h
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/unittests/IR/ValueHandleTest.cpp
Log Message:
-----------
[GVN] use `AssertingVH` for leaders to improve compilation time (#175870)
Replace the manual check in `verifyRemoved()` with `AssertingVH`
instrumentation. For cases where the leader table becomes very large,
this is a cheaper way to verify we don't have dangling entries in the
leader table.
For this change, we must implement a move constructor for `AssertingVH`
so that we can keep the first entry as an inline-allocated node that
will be handled correctly as the table grows.
Commit: 972282dd16e4950a53c63170adc1052db523dde3
https://github.com/llvm/llvm-project/commit/972282dd16e4950a53c63170adc1052db523dde3
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
M bolt/lib/Core/AddressMap.cpp
M bolt/lib/Rewrite/GNUPropertyRewriter.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/TemporaryObjectsCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/TemporaryObjectsCheck.h
A clang-tools-extra/clang-tidy/utils/CheckUtils.h
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions.cpp
A clang-tools-extra/test/clang-tidy/checkers/fuchsia/temporary-objects-deprecated-alias.cpp
M clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
M clang/bindings/python/clang/cindex.py
M clang/include/clang-c/Index.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/StmtOpenMP.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/AST/ByteCode/Boolean.h
A clang/lib/AST/ByteCode/Char.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/EvaluationResult.cpp
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/IntegralAP.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/InterpStack.cpp
M clang/lib/AST/ByteCode/InterpStack.h
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/PrimType.cpp
M clang/lib/AST/ByteCode/PrimType.h
M clang/lib/AST/ByteCode/Primitives.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Format/BreakableToken.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/ContinuationIndenter.h
M clang/lib/Format/FormatToken.h
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Format/WhitespaceManager.h
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
A clang/test/AST/ByteCode/addr-label-diff.c
A clang/test/AST/ByteCode/addr-label-diff.cpp
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
M clang/test/AST/ByteCode/const-eval.c
M clang/test/AST/ByteCode/cxx11.cpp
A clang/test/AST/ByteCode/int-as-ptr-arith.c
M clang/test/AST/ByteCode/placement-new.cpp
A clang/test/AST/ast-dump-openmp-split.c
A clang/test/Analysis/regionstore-zero-init.cpp
A clang/test/Analysis/split_analyze.c
M clang/test/CodeGen/2004-02-13-Memset.c
M clang/test/CodeGen/AArch64/sme-remarks.c
M clang/test/CodeGen/const-init.c
M clang/test/CodeGen/const-label-addr.c
M clang/test/CodeGen/statements.c
M clang/test/CodeGen/staticinit.c
M clang/test/CodeGenCXX/2008-05-07-CrazyOffsetOf.cpp
M clang/test/CodeGenCXX/const-init-cxx11.cpp
M clang/test/CodeGenCXX/const-init.cpp
A clang/test/Index/openmp-split.c
A clang/test/OpenMP/split_ast_print.cpp
A clang/test/OpenMP/split_codegen.cpp
A clang/test/OpenMP/split_composition.cpp
A clang/test/OpenMP/split_compound_associated.cpp
A clang/test/OpenMP/split_counts_constexpr.cpp
A clang/test/OpenMP/split_counts_ice.c
A clang/test/OpenMP/split_counts_verify.c
A clang/test/OpenMP/split_diag_errors.c
A clang/test/OpenMP/split_distribute_inner_split.cpp
A clang/test/OpenMP/split_driver_smoke.c
A clang/test/OpenMP/split_iv_types.c
A clang/test/OpenMP/split_loop_styles.cpp
A clang/test/OpenMP/split_member_ctor.cpp
A clang/test/OpenMP/split_messages.cpp
A clang/test/OpenMP/split_nested_outer_only.c
A clang/test/OpenMP/split_offload_codegen.cpp
A clang/test/OpenMP/split_omp_fill.c
A clang/test/OpenMP/split_openmp_version.cpp
A clang/test/OpenMP/split_opts_simd_debug.cpp
A clang/test/OpenMP/split_parallel_split.cpp
A clang/test/OpenMP/split_pch_codegen.cpp
A clang/test/OpenMP/split_range_for_diag.cpp
A clang/test/OpenMP/split_serialize_module.cpp
A clang/test/OpenMP/split_teams_nesting.cpp
A clang/test/OpenMP/split_template_nttp.cpp
A clang/test/OpenMP/split_templates.cpp
A clang/test/OpenMP/split_trip_volatile.c
M clang/test/Sema/array-init.c
M clang/test/Sema/compound-literal.c
M clang/test/Sema/const-ptr-int-ptr-cast.c
M clang/test/Sema/init.c
M clang/test/SemaCXX/constexpr-string.cpp
M clang/tools/diagtool/ShowEnabledWarnings.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/unittests/AST/ByteCode/Descriptor.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTest.h
M clang/unittests/Format/AlignmentTest.cpp
M compiler-rt/cmake/Modules/CompilerRTCompile.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/interception/CMakeLists.txt
M compiler-rt/lib/tysan/tysan.cpp
M compiler-rt/lib/tysan/tysan_interceptors.cpp
M compiler-rt/lib/ubsan/CMakeLists.txt
M compiler-rt/test/sanitizer_common/CMakeLists.txt
M compiler-rt/test/sanitizer_common/TestCases/Linux/aligned_alloc-alignment.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/allocator_returns_null_std.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/decorate_proc_maps.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/deepbind.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/free_aligned_sized.c
M compiler-rt/test/sanitizer_common/TestCases/Linux/free_sized.c
M compiler-rt/test/sanitizer_common/TestCases/Linux/internal_symbolizer.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/malloc_usable_size.c
M compiler-rt/test/sanitizer_common/TestCases/Linux/mlock_test.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/mprobe.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/pvalloc-overflow.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/release_to_os_test.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/replace_dlopen_main_program_test.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/resize_tls_dynamic.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/tls_get_addr.c
M compiler-rt/test/sanitizer_common/TestCases/Linux/tls_malloc_hook.c
M compiler-rt/test/sanitizer_common/TestCases/Linux/unexpected_format_specifier_test.cpp
M compiler-rt/test/sanitizer_common/TestCases/Posix/huge_malloc.c
M compiler-rt/test/sanitizer_common/TestCases/Posix/mmap_write_exec.cpp
M compiler-rt/test/sanitizer_common/TestCases/Posix/posix_memalign-alignment.cpp
M compiler-rt/test/sanitizer_common/TestCases/Posix/print-module-map.cpp
M compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cpp
M compiler-rt/test/sanitizer_common/TestCases/Posix/weak_hook_test.cpp
M compiler-rt/test/sanitizer_common/TestCases/allocator_interface.cpp
M compiler-rt/test/sanitizer_common/TestCases/allocator_returns_null.cpp
M compiler-rt/test/sanitizer_common/TestCases/compress_stack_depot.cpp
M compiler-rt/test/sanitizer_common/TestCases/corelimit.cpp
M compiler-rt/test/sanitizer_common/TestCases/get_allocated_begin.cpp
M compiler-rt/test/sanitizer_common/TestCases/hard_rss_limit_mb_test.cpp
M compiler-rt/test/sanitizer_common/TestCases/malloc_hook.cpp
M compiler-rt/test/sanitizer_common/TestCases/malloc_hook_get_allocated_size_fast.cpp
M compiler-rt/test/sanitizer_common/TestCases/max_allocation_size.cpp
M compiler-rt/test/sanitizer_common/TestCases/print-stack-trace.cpp
M compiler-rt/test/sanitizer_common/TestCases/reallocarray-overflow.cpp
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_symbolize.cpp
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard-dso.cpp
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard.cpp
M compiler-rt/test/sanitizer_common/lit.common.cfg.py
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Transforms/MIFOpConversion.cpp
M flang/test/Fir/dispatch.f90
M flang/test/Lower/CUDA/cuda-allocatable-device.cuf
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Lower/CUDA/cuda-gpu-managed.cuf
M flang/test/Lower/CUDA/cuda-mod.cuf
M flang/test/Lower/CUDA/cuda-pointer-sync.cuf
M flang/test/Lower/HLFIR/procedure-pointer-in-generics.f90
M flang/test/Lower/Intrinsics/transpose.f90
M flang/test/Lower/Intrinsics/transpose_opt.f90
M flang/test/Lower/Intrinsics/trim.f90
M flang/test/Lower/Intrinsics/ubound.f90
M flang/test/Lower/Intrinsics/ubound01.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenMP/block-use-predetermined-privatization.f90
M flang/test/Lower/OpenMP/cray-pointers01.f90
M flang/test/Lower/OpenMP/threadprivate-hlfir.f90
M flang/test/Lower/OpenMP/threadprivate-real-logical-complex-derivedtype.f90
M flang/test/Lower/OpenMP/threadprivate-use-association-2-hlfir.f90
M flang/test/Lower/OpenMP/threadprivate-use-association.f90
M flang/test/Lower/allocatable-globals.f90
M flang/test/Lower/array-elemental-calls-char-dynamic.f90
M flang/test/Lower/c-interoperability.f90
M flang/test/Lower/dense-attributed-array.f90
M flang/test/Lower/dispatch.f90
A flang/test/Lower/extrn_subp.f90
M flang/test/Lower/pointer-default-init.f90
M flang/test/Lower/polymorphic.f90
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/gpu/spirv/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/fuzzing/string/CMakeLists.txt
A libc/fuzzing/string/strnlen_s_differential_fuzz.cpp
M libc/include/CMakeLists.txt
M libc/include/string.yaml
M libc/shared/math.h
A libc/shared/math/log10p1f16.h
A libc/shared/math/log2p1f16.h
M libc/src/string/CMakeLists.txt
M libc/src/string/string_utils.h
M libc/src/string/strnlen.cpp
A libc/src/string/strnlen_s.cpp
A libc/src/string/strnlen_s.h
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M libc/test/src/string/CMakeLists.txt
A libc/test/src/string/strnlen_s_test.cpp
M libc/utils/docgen/string.yaml
M libclc/CMakeLists.txt
M libclc/README.md
M libclc/clc/lib/generic/workitem/clc_get_sub_group_size.cl
M libclc/test/CMakeLists.txt
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/__mdspan/mdspan.h
M libcxx/include/__numeric/saturation_arithmetic.h
M libcxx/include/__ranges/iota_view.h
M libcxx/include/numeric
M libcxx/include/version
M libcxx/modules/std/numeric.inc
M libcxx/test/libcxx/numerics/nodiscard.verify.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/element_type.verify.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.compile.pass.cpp
R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.pass.cpp
R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.assert.pass.cpp
R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.compile.pass.cpp
R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.pass.cpp
R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.compile.pass.cpp
R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.pass.cpp
R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.compile.pass.cpp
R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_add.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_add.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_cast.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_cast.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_div.assert.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_div.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_div.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_mul.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_mul.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_sub.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_sub.pass.cpp
R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/sub_sat.compile.pass.cpp
R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/sub_sat.pass.cpp
M libcxx/test/std/ranges/range.factories/range.iota.view/size.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
M lldb/docs/dil-expr-lang.ebnf
M lldb/include/lldb/Target/ExecutionContext.h
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILLexer.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/source/DataFormatters/FormatterSection.cpp
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/ValueObject/DILAST.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILLexer.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/test/API/commands/frame/var-dil/expr/Arithmetic/TestFrameVarDILArithmetic.py
R lldb/test/API/lang/cpp/non-type-template-param-member-ptr/Makefile
R lldb/test/API/lang/cpp/non-type-template-param-member-ptr/TestCppNonTypeTemplateParamPtrToMember.py
R lldb/test/API/lang/cpp/non-type-template-param-member-ptr/main.cpp
M llvm/docs/AArch64SME.rst
M llvm/docs/LangRef.rst
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/KaleidoscopeJIT.h
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/KaleidoscopeJIT.h
M llvm/examples/OrcV2Examples/LLJITWithExecutorProcessControl/LLJITWithExecutorProcessControl.cpp
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/ScheduleDAG.h
M llvm/include/llvm/DebugInfo/DWARF/LowLevel/DWARFDataExtractorSimple.h
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericDylibManager.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCIndirectionUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
M llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h
M llvm/include/llvm/ExecutionEngine/Orc/MachOBuilder.h
M llvm/include/llvm/ExecutionEngine/Orc/SelfExecutorProcessControl.h
M llvm/include/llvm/ExecutionEngine/Orc/SimpleRemoteEPC.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/IR/ValueHandle.h
M llvm/include/llvm/Object/BBAddrMap.h
M llvm/include/llvm/Support/DataExtractor.h
M llvm/include/llvm/Transforms/Scalar/GVN.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/ScheduleDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp
M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
M llvm/lib/DebugInfo/GSYM/MergedFunctionsInfo.cpp
M llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp
M llvm/lib/ExecutionEngine/Orc/EPCIndirectionUtils.cpp
M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
M llvm/lib/ExecutionEngine/Orc/SelfExecutorProcessControl.cpp
M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Intrinsics.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Object/ELF.cpp
M llvm/lib/Target/AArch64/AArch64.h
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/lib/Target/AArch64/AArch64PrologueEpilogue.cpp
M llvm/lib/Target/AArch64/AArch64SMEAttributes.cpp
M llvm/lib/Target/AArch64/AArch64SMEAttributes.h
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.h
M llvm/lib/Target/AArch64/CMakeLists.txt
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
R llvm/lib/Target/AArch64/SMEABIPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/lib/Target/SPIRV/SPIRVTypeInst.cpp
M llvm/lib/Target/SPIRV/SPIRVTypeInst.h
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Utils/CallGraphUpdater.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/runtimes/CMakeLists.txt
M llvm/test/Analysis/CostModel/AArch64/ldexp.ll
M llvm/test/CodeGen/AArch64/O0-pipeline.ll
M llvm/test/CodeGen/AArch64/O3-pipeline.ll
M llvm/test/CodeGen/AArch64/aarch64-sme-za-call-lowering.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/known-never-nan.ll
M llvm/test/CodeGen/AArch64/ldexp.ll
A llvm/test/CodeGen/AArch64/sign-return-address-pauthlr-slh.ll
M llvm/test/CodeGen/AArch64/sme-abi-save-call-remarks.ll
M llvm/test/CodeGen/AArch64/sme-agnostic-za.ll
M llvm/test/CodeGen/AArch64/sme-dynamic-tls.ll
M llvm/test/CodeGen/AArch64/sme-lazy-save-call.ll
M llvm/test/CodeGen/AArch64/sme-lazy-save-windows.ll
M llvm/test/CodeGen/AArch64/sme-lazy-sve-nzcv-live.mir
M llvm/test/CodeGen/AArch64/sme-new-za-function.ll
R llvm/test/CodeGen/AArch64/sme-new-zt0-function.ll
M llvm/test/CodeGen/AArch64/sme-peephole-opts.ll
M llvm/test/CodeGen/AArch64/sme-shared-za-interface.ll
M llvm/test/CodeGen/AArch64/sme-za-control-flow.ll
M llvm/test/CodeGen/AArch64/sme-za-exceptions.ll
M llvm/test/CodeGen/AArch64/sme-za-function-with-many-blocks.ll
M llvm/test/CodeGen/AArch64/sme-za-lazy-save-buffer.ll
M llvm/test/CodeGen/AArch64/sme-zt0-state.ll
M llvm/test/CodeGen/AArch64/sve-stack-frame-layout.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/clamp-minmax-const-combine.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmed3-min-max-const-combine.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/known-fpclass-phi.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmaxnum.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fminnum.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-clamp-minmax-const.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-fmed3-minmax-const.mir
M llvm/test/CodeGen/AMDGPU/fmed3.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1down-bf16.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1down.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1up-bf16.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1up.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll
M llvm/test/CodeGen/RISCV/split-udiv-by-constant.ll
M llvm/test/CodeGen/RISCV/split-urem-by-constant.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bindless_images/bindless_images_generic.ll
M llvm/test/CodeGen/SPIRV/logical-struct-access.ll
M llvm/test/CodeGen/SPIRV/transcoding/ldexp.ll
A llvm/test/CodeGen/SPIRV/transcoding/pown.ll
A llvm/test/CodeGen/SPIRV/transcoding/rootn.ll
M llvm/test/CodeGen/X86/AMX/amx-across-func.ll
M llvm/test/CodeGen/X86/i128-udiv.ll
M llvm/test/CodeGen/X86/prefalign.ll
A llvm/test/Transforms/Inline/inline-history-dead-function.ll
A llvm/test/Transforms/InstCombine/icmp-umax-notx.ll
A llvm/test/Transforms/InstCombine/known-range-frexp-exp.ll
M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-drop-solution-dbg-msg.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/2011-11-29-postincphi.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/postinc-iv-used-by-urem-and-udiv.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/pr62660-normalization-failure.ll
M llvm/test/Transforms/LoopStrengthReduce/duplicated-phis.ll
M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
A llvm/test/Transforms/LoopVectorize/AArch64/reverse-load-scatter.ll
A llvm/test/Transforms/LoopVectorize/RISCV/reverse-load-scatter.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
A llvm/test/Transforms/LoopVectorize/epilog-vectorization-fixed-order-recurrences.ll
A llvm/test/Transforms/LoopVectorize/epilog-vectorization-fmaxnum-reductions.ll
A llvm/test/Transforms/LoopVectorize/tail-folding-constant-trip-counts.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-load.ll
A llvm/test/Transforms/SLPVectorizer/X86/copyable-phi-used-non-copyable.ll
A llvm/test/Transforms/SLPVectorizer/X86/operand-reorder-with-copyables.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi-operand-gathered-loads.ll
M llvm/test/Verifier/sme-attributes.ll
M llvm/tools/llubi/lib/Library.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
M llvm/tools/llvm-readobj/ELFDumper.cpp
M llvm/tools/obj2yaml/dwarf2yaml.cpp
M llvm/tools/obj2yaml/elf2yaml.cpp
M llvm/unittests/CodeGen/GlobalISel/KnownFPClassTest.cpp
M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
M llvm/unittests/ExecutionEngine/Orc/JITLinkRedirectionManagerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/LazyCallThroughAndReexportsTest.cpp
A llvm/unittests/ExecutionEngine/Orc/MachOBuilderTest.cpp
M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
M llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp
M llvm/unittests/IR/PatternMatch.cpp
M llvm/unittests/IR/ValueHandleTest.cpp
M llvm/unittests/Support/DataExtractorTest.cpp
M llvm/unittests/Target/AArch64/SMEAttributesTest.cpp
M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
M mlir/lib/Dialect/MemRef/Transforms/ResolveShapedTypeResultDims.cpp
M mlir/lib/Dialect/OpenACC/Transforms/ACCLoopTiling.cpp
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsTiling.cpp
M mlir/lib/Dialect/SPIRV/Transforms/UpdateVCEPass.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/X86/Transforms/VectorContractToAMXDotProduct.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/OpenACC/acc-loop-tiling.mlir
M mlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
M mlir/test/Dialect/X86/AMX/vector-contract-to-tiled-dp.mlir
M mlir/test/Interfaces/InferShapedTypeOpInterface/resolve-shaped-type-result-dims.mlir
M mlir/test/Target/LLVMIR/Import/module-flags.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
M mlir/test/mlir-tblgen/op-format-invalid.td
M mlir/test/mlir-tblgen/op-format-spec.td
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
M openmp/runtime/src/kmp_alloc.cpp
A openmp/runtime/test/transform/split/fill_first.c
A openmp/runtime/test/transform/split/foreach.cpp
A openmp/runtime/test/transform/split/intfor.c
A openmp/runtime/test/transform/split/intfor_negstart.c
A openmp/runtime/test/transform/split/iterfor.cpp
A openmp/runtime/test/transform/split/leq_bound.c
A openmp/runtime/test/transform/split/lit.local.cfg
A openmp/runtime/test/transform/split/negative_incr.c
A openmp/runtime/test/transform/split/nonconstant_incr.c
A openmp/runtime/test/transform/split/parallel-split-intfor.c
A openmp/runtime/test/transform/split/single_fill.c
A openmp/runtime/test/transform/split/three_segments.c
A openmp/runtime/test/transform/split/trip_one.c
A openmp/runtime/test/transform/split/unsigned_iv.c
A openmp/runtime/test/transform/split/zero_first_segment.c
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
Merge branch 'main' into users/kparzysz/r03-generated-depth
Compare: https://github.com/llvm/llvm-project/compare/5c5b8ea7c1ef...972282dd16e4
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