[all-commits] [llvm/llvm-project] 76d7fd: [CIR] Simplify expr with cleanup scopes (#192344)
Aiden Grossman via All-commits
all-commits at lists.llvm.org
Sun Apr 19 12:00:08 PDT 2026
Branch: refs/heads/users/boomanaiden154/main.lpmlegacypm-reenable-lcssa-verification
Home: https://github.com/llvm/llvm-project
Commit: 76d7fddd411c58510f93ef246b2b22cc45c5f120
https://github.com/llvm/llvm-project/commit/76d7fddd411c58510f93ef246b2b22cc45c5f120
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-04-15 (Wed, 15 Apr 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/test/CIR/CodeGen/abstract-cond.c
M clang/test/CIR/CodeGen/cleanup-conditional-eh.cpp
M clang/test/CIR/CodeGen/cleanup-conditional.cpp
M clang/test/CIR/CodeGen/coro-task.cpp
M clang/test/CIR/CodeGen/dtors.cpp
M clang/test/CIR/CodeGen/initializer-list-two-pointers.cpp
M clang/test/CIR/CodeGen/instantiate-init.cpp
M clang/test/CIR/CodeGen/lambda-dtor-field.cpp
M clang/test/CIR/CodeGen/lambda.cpp
M clang/test/CIR/CodeGen/new-delete-deactivation.cpp
M clang/test/CIR/CodeGen/paren-init-list-eh.cpp
M clang/test/CIR/CodeGen/paren-init-list.cpp
M clang/test/CIR/CodeGen/statement-exprs.c
M clang/test/CIR/CodeGen/trivial-ctor-const-init.cpp
M clang/test/CIR/CodeGenBuiltins/builtin-bit-cast.cpp
Log Message:
-----------
[CIR] Simplify expr with cleanup scopes (#192344)
This change simplifies the level of scopes we build around aggregate
expressions with cleanups and return values involving expressions with
cleanups. This removes unnecessary scopes and lexical scopes that were
created around the expressions and brings the code back into alignment
with the corresponding classic codegen implementation of these handlers.
Commit: 151d5366b66d273f1fccbc9a977aeecd04718c48
https://github.com/llvm/llvm-project/commit/151d5366b66d273f1fccbc9a977aeecd04718c48
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-04-15 (Wed, 15 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Remove VPConstantInt restriction for epilogue fold (NFC) (#192345)
The restriction is not needed currently. Removing it generalizes the
pattern in preparation of future changes.
Commit: d1e1d54befaa58fd969edb106712eb6fb8944ff3
https://github.com/llvm/llvm-project/commit/d1e1d54befaa58fd969edb106712eb6fb8944ff3
Author: Jasmine Tang <jjasmine at igalia.com>
Date: 2026-04-15 (Wed, 15 Apr 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fexp2.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp2.ll
Log Message:
-----------
[AMDGPU]: Add regbank legalize rules for amdgcn exp2 intrinsics (#191953)
Commit: 925e2c67831d47b69dcd50d6c4de4e0442b33e53
https://github.com/llvm/llvm-project/commit/925e2c67831d47b69dcd50d6c4de4e0442b33e53
Author: Ryan Mansfield <ryan_mansfield at apple.com>
Date: 2026-04-15 (Wed, 15 Apr 2026)
Changed paths:
M clang/tools/libclang/CMakeLists.txt
Log Message:
-----------
[Clang][CMake] Fix libclang.dylib not relinking when libclang.map changes (#189698)
Commit: bbc6a54f54467de1a459298d8a8390307223f3df
https://github.com/llvm/llvm-project/commit/bbc6a54f54467de1a459298d8a8390307223f3df
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2026-04-15 (Wed, 15 Apr 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/lib/Conversion/XeGPUToXeVM/XeGPUToXeVM.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
M mlir/test/Dialect/XeGPU/propagate-layout.mlir
M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
M mlir/test/Dialect/XeGPU/xegpu-unroll-patterns.mlir
M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
Log Message:
-----------
[MLIR][XeGPU] Remove create tdesc & update offset op from xegpu dialect (#182804)
This PR removes create_tdesc and update_offset ops from the XeGPU
dialect, as scatter load/store/prefetch now accept memref+offsets
directly.
Commit: 5dc1fd4c3cee70cbace96ba085abeccae7c67c22
https://github.com/llvm/llvm-project/commit/5dc1fd4c3cee70cbace96ba085abeccae7c67c22
Author: Jan Leyonberg <jan_sjodin at yahoo.com>
Date: 2026-04-15 (Wed, 15 Apr 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
A clang/test/CIR/CodeGen/amdgpu-call-addrspace-cast.cpp
Log Message:
-----------
[CIR] Add address space casts for pointer arguments when creating a call (#192303)
This patch checks if the expected type for an argument is the same as
the actual type. If types are pointers but with different address spaces
then add an address space cast to make the pointer types match.
Assised-by: Cursor / Claude Opus 4.6
Commit: d430d89d5550e2e5aa1a72c7e5e1232ef1766da6
https://github.com/llvm/llvm-project/commit/d430d89d5550e2e5aa1a72c7e5e1232ef1766da6
Author: David Rivera <davidriverg at gmail.com>
Date: 2026-04-15 (Wed, 15 Apr 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/test/CIR/CodeGenCUDA/device-stub.cu
Log Message:
-----------
[CIR][CUDA] Do Runtime Kernel Registration (#188926)
Related:
https://github.com/issues/assigned?issue=llvm%7Cllvm-project%7C179278,
https://github.com/llvm/llvm-project/issues/175871
More registration shenanigans -> Generates `__cuda_register_globals`
that associates the fatbin with kernels that contain `__global__`
qualifiers with the runtime.
Generated equivalent runtime code:
``` C
// Called once per kernel to register it with the CUDA runtime.
void __cuda_register_globals(void **fatbinHandle) {
__cudaRegisterFunction(
fatbinHandle,
(const char *)&_Z25__device_stub__kernelfunciii, // host-side stub ptr
(char *)__cuda_kernelname_str, // device-side mangled name
(char *)__cuda_kernelname_str, // device-side mangled name
-1, // thread limit (-1 = no limit)
NULL, NULL, NULL, NULL, NULL
);
}
void __cuda_module_ctor() {
__cuda_gpubin_handle = __cudaRegisterFatBinary(&__cuda_fatbin_wrapper);
__cuda_register_globals(__cuda_gpubin_handle); // ==== NEW
// TODO: Register shadow variables
__cudaRegisterFatBinaryEnd(__cuda_gpubin_handle); // CUDA >= 10.1
atexit(__cuda_module_dtor);
}
```
Commit: eab567a3eac0a8e3a565dd40159632ee9f569538
https://github.com/llvm/llvm-project/commit/eab567a3eac0a8e3a565dd40159632ee9f569538
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-04-15 (Wed, 15 Apr 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/add.v2i16.ll
M llvm/test/CodeGen/AMDGPU/build_vector.gfx11plus.ll
M llvm/test/CodeGen/AMDGPU/divergence-driven-buildvector.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/flat-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/sub.v2i16.ll
M llvm/test/CodeGen/AMDGPU/true16-imm-folded-to-0-regression.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umax.ll
Log Message:
-----------
[AMDGPU] Add true16 patterns for build_vector (vgpr, 0) (#192147)
It is shorter than VOP3 `and` instruction and in some cases
can save a second move.
Commit: 5b979f51e38b50d57c370c0c9b27688c032f6570
https://github.com/llvm/llvm-project/commit/5b979f51e38b50d57c370c0c9b27688c032f6570
Author: David CARLIER <devnexen at gmail.com>
Date: 2026-04-15 (Wed, 15 Apr 2026)
Changed paths:
M bolt/lib/Passes/Instrumentation.cpp
Log Message:
-----------
[BOLT][Passes] use ADT containers for instrumentation spanning tree. (#192289)
Swap `std::unordered_map<…, std::set<…>>` for
`DenseMap<…, SmallVector<…>>` in `Instrumentation::instrumentFunction`
and switch read paths from `STOutSet[&BB]` to `find()`. This removes
per-set heap allocations, stops inserting empty buckets on every probe,
and replaces linear `is_contained()` scans over a red-black tree with
linear scans over inline `SmallVector` storage (most basic blocks have
at most a couple of spanning-tree out-edges). NFC.
Commit: b2af653a88756b23071f68447bc5c8aba564f9a7
https://github.com/llvm/llvm-project/commit/b2af653a88756b23071f68447bc5c8aba564f9a7
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-04-15 (Wed, 15 Apr 2026)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
Log Message:
-----------
[CIR][NFC] Convert MissingFeatures::requiresCleanups to errorNYI (#192350)
This change adds errorNYI calls in two places that we previously had
requiresCleanups() missing features markers, adds a more specific
missing feature marker for loops, removes one requiresCleanups() where
the handling was already implemented, and deletes a bunch of missing
feature markers there were never used.
Commit: 0a4d3b3543053d90de46d97bc60cfcc9b92abd35
https://github.com/llvm/llvm-project/commit/0a4d3b3543053d90de46d97bc60cfcc9b92abd35
Author: adams381 <adams at nvidia.com>
Date: 2026-04-15 (Wed, 15 Apr 2026)
Changed paths:
A clang/test/CIR/CodeGen/attr-noundef.cpp
A clang/test/CIR/CodeGenCXX/uncopyable-args.cpp
A clang/test/CIR/CodeGenCXX/x86_64-arguments.cpp
Log Message:
-----------
[CIR][ABI][NFC] Add x86_64 ABI parity tests (#191259)
Add three test files for CIR ABI parity on x86_64, all with
CIR/LLVM/OGCG checks:
- uncopyable-args.cpp — 24 functions covering non-copyable and
move-only types (trivial, default-ctor, move-ctor, etc.)
- x86_64-arguments.cpp — 26 functions covering C++ struct passing,
inheritance, member pointers, empty bases, packed structs
- attr-noundef.cpp — 26 functions covering noundef placement on
structs, unions, vectors, member pointers, _BitInt
Made with [Cursor](https://cursor.com)
Commit: f834a48f78077c96f05635effc2ed59d91633aeb
https://github.com/llvm/llvm-project/commit/f834a48f78077c96f05635effc2ed59d91633aeb
Author: adams381 <adams at nvidia.com>
Date: 2026-04-15 (Wed, 15 Apr 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
A clang/test/CIR/CodeGen/trivial-abi.cpp
Log Message:
-----------
[CIR][ABI] Handle callee-destructed params for trivial_abi (#191257)
Replace errorNYI for isParamDestroyedInCallee with working
implementation: create aggregate temp, mark externally destructed,
emit expr. Unblocks [[trivial_abi]] types on Itanium ABI.
Adds trivial-abi.cpp test covering 17 cases from
CodeGenCXX/trivial_abi.cpp with CIR/LLVM/OGCG checks.
Made with [Cursor](https://cursor.com)
Commit: a3af640a1b5c61e7f31c7212338cd348d9b4a132
https://github.com/llvm/llvm-project/commit/a3af640a1b5c61e7f31c7212338cd348d9b4a132
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-04-15 (Wed, 15 Apr 2026)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/lib/Evaluate/tools.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
Log Message:
-----------
[flang][cuda] Avoid false positive on multi device symbol with components (#192177)
Semantic was wrongly flagging derived-type components as two device
resident object. Update how we collect symbols and count the number of
device resident object.
Commit: 561cf0c4f5f7c48b434c6c363c233a1b97b0ee63
https://github.com/llvm/llvm-project/commit/561cf0c4f5f7c48b434c6c363c233a1b97b0ee63
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-04-15 (Wed, 15 Apr 2026)
Changed paths:
M clang/lib/CodeGen/CodeGenAction.cpp
M flang/lib/Frontend/CompilerInstance.cpp
M llvm/include/llvm/IR/PassTimingInfo.h
M llvm/include/llvm/Pass.h
M llvm/lib/CodeGen/RegAllocBase.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/IRReader/IRReader.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/unittests/IR/TimePassesTest.cpp
Log Message:
-----------
[NFC] Move TimePasses globals from Pass.h to PassTimingInfo.h (#192352)
They don't belong in the legacy pass manager-specific header, they apply
to both pass managers, plus the pass manager isn't the right layer to
put the bools anyway.
Commit: 2537596d2292d32e029dbccf4ecee55202c8ec64
https://github.com/llvm/llvm-project/commit/2537596d2292d32e029dbccf4ecee55202c8ec64
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2026-04-15 (Wed, 15 Apr 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/Module.h
M clang/include/clang/Lex/ModuleMap.h
M clang/lib/Lex/ModuleMap.cpp
A clang/test/Modules/duplicate-header-ownership.c
Log Message:
-----------
[clang][modules] Diagnose headers owned by multiple modules (#188538)
Add -Wduplicate-header-ownership, an off by default warning that fires
at include time when a header is owned by multiple top-level modules.
This helps catch overlapping module maps that can cause confusing module
resolution.
Assisted-by: claude-opus-4.6
Commit: e0e2c8d9e065df78c17c4ed34a8133e2a863d94f
https://github.com/llvm/llvm-project/commit/e0e2c8d9e065df78c17c4ed34a8133e2a863d94f
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-04-15 (Wed, 15 Apr 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
A clang/test/CIR/CodeGen/base-init-eh.cpp
Log Message:
-----------
[CIR] Implement EH handling for base class initializer (#192358)
This implements exception handling when a base class initializer is
called from a dervied class' constructor. The cleanup handler to call
the base class dtor was already implemented. We just needed to push the
cleanup on the EH stack.
Commit: cf536231f0be2cdc3d57172a4dfa6e116c550fb6
https://github.com/llvm/llvm-project/commit/cf536231f0be2cdc3d57172a4dfa6e116c550fb6
Author: yronglin <yronglin777 at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Lex/Preprocessor.h
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/test/Modules/lookup.cpp
M clang/test/Modules/no-stale-modtime.m
A clang/test/Modules/objc-at-import.m
M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
M clang/utils/ClangVisualizers/clang.natvis
M lldb/test/Shell/Expr/TestClangModuleLoadError_FromExpression.test
Log Message:
-----------
Reapply "[ObjC][Preprocessor] Handle @import directive as a pp-directive" (#189174)
This PR reapply https://github.com/llvm/llvm-project/pull/157726.
Depends: https://github.com/llvm/llvm-project/pull/107168
This patch handle `@import` as a preprocessing directive, and since this
patch, the following import directive will be ill-formed:
```
@import Foo\n;
```
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 18bed37e5ddadb1bf7a3439b746deb43a23699d5
https://github.com/llvm/llvm-project/commit/18bed37e5ddadb1bf7a3439b746deb43a23699d5
Author: Kevin Sala Penades <salapenades1 at llnl.gov>
Date: 2026-04-15 (Wed, 15 Apr 2026)
Changed paths:
M offload/CMakeLists.txt
M offload/plugins-nextgen/cuda/CMakeLists.txt
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/test/CMakeLists.txt
M offload/unittests/CMakeLists.txt
M openmp/docs/Building.md
Log Message:
-----------
[offload][OpenMP] Require CUDA 11.8 (#191100)
Commit: 75143099f9c8f56a799c1c89f225debb9caf20f0
https://github.com/llvm/llvm-project/commit/75143099f9c8f56a799c1c89f225debb9caf20f0
Author: Yonah Goldberg <ygoldberg at nvidia.com>
Date: 2026-04-15 (Wed, 15 Apr 2026)
Changed paths:
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/test/CodeGen/AMDGPU/unsupported-atomics.ll
A llvm/test/CodeGen/NVPTX/atomic-alignment.err.ll
M llvm/test/CodeGen/NVPTX/atomicrmw-expand.err.ll
M llvm/test/CodeGen/NVPTX/atomics-b128.ll
M llvm/test/CodeGen/NVPTX/load-store-atomic.err.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/unaligned-atomic.ll
Log Message:
-----------
[AtomicExpandPass] Improve atomic expand error messages (#188380)
AtomicExpandPass tells you that an operation is not supported but not why.
Commit: 326a9fa5631ebb497c1137d28469186a76f583ed
https://github.com/llvm/llvm-project/commit/326a9fa5631ebb497c1137d28469186a76f583ed
Author: Zhaoxuan Jiang <jiangzhaoxuan94 at gmail.com>
Date: 2026-04-15 (Wed, 15 Apr 2026)
Changed paths:
M lld/MachO/Arch/ARM64.cpp
M lld/MachO/ConcatOutputSection.cpp
M lld/MachO/ConcatOutputSection.h
M lld/MachO/InputSection.cpp
M lld/MachO/InputSection.h
M lld/MachO/Target.h
A lld/test/MachO/arm64-thunk-branch-addend.s
Log Message:
-----------
[lld][MachO] Key branch-extension thunks on (referent, addend) (#191808)
TextOutputSection::finalize ignored branch relocation addends. Two call
sites branching to the same symbol with different addends therefore
collapsed onto a single thunk.
Key thunkMap on (isec, value, addend) so two call sites with different
addends get independent thunks. The addend is encoded in the thunk's
relocs and is zeroed at the call site after the callee is redirected to
the thunk. Thunk names carry a `+N` suffix when the addend is non-zero.
Commit: 7780e546771cc9a206590c802a9f1b4e4cbd08f6
https://github.com/llvm/llvm-project/commit/7780e546771cc9a206590c802a9f1b4e4cbd08f6
Author: Jim Lin <jim at andestech.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinterAnalysis.h
Log Message:
-----------
[AsmPrinter] Fix AsmPrinterAnalysis::Result::invalidate to take PreservedAnalyses by const reference (#191742)
The invalidate method was taking PreservedAnalyses by value instead of
by const reference, causing an unnecessary copy on every invalidation
query. All other analysis invalidate methods in LLVM use const
reference.
Co-authored-by: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
Commit: 4a24c685fe4433e86c1022c7fd0b5d5fa3c40e18
https://github.com/llvm/llvm-project/commit/4a24c685fe4433e86c1022c7fd0b5d5fa3c40e18
Author: Jim Lin <jim at andestech.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/ARM/setcc-logic.ll
Log Message:
-----------
[DAGCombiner] Fold (or (seteq X, 0), (seteq X, -1)) to (setult (add X, 1), 2) (#192183)
This is the De Morgan dual of the existing fold:
(and (setne X, 0), (setne X, -1)) --> (setuge (add X, 1), 2)
The or-of-equalities version checks if X is either 0 or -1, which is
equivalent to (X+1) < 2 (unsigned). This reduces two comparisons and
an or to one add and one comparison.
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
Commit: 12a4adf6f2c3d4748a58fd89fcc210d820073c85
https://github.com/llvm/llvm-project/commit/12a4adf6f2c3d4748a58fd89fcc210d820073c85
Author: Kevin Sala Penades <salapenades1 at llnl.gov>
Date: 2026-04-15 (Wed, 15 Apr 2026)
Changed paths:
M offload/cmake/OpenMPTesting.cmake
M offload/include/omptarget.h
M offload/libomptarget/device.cpp
M offload/libomptarget/interface.cpp
M offload/libomptarget/omptarget.cpp
M offload/libomptarget/private.h
M offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa.cpp
M offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa.h
M offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/plugins-nextgen/common/include/PluginInterface.h
A offload/plugins-nextgen/common/include/RecordReplay.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
A offload/plugins-nextgen/common/src/RecordReplay.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/test/lit.cfg
M offload/test/lit.site.cfg.in
A offload/test/tools/omp-kernel-replay/record-replay-advanced.cpp
A offload/test/tools/omp-kernel-replay/record-replay-basic.cpp
M offload/tools/kernelreplay/llvm-omp-kernel-replay.cpp
Log Message:
-----------
[offload] Fix kernel record/replay and add extensible mechanism (#190588)
This commit fixes the kernel record replay on both AMD and CUDA devices. It
also re-organizes the record replay code, moves the whole code to separate
files, and makes it extensible to support other record formats (potentially in
the future). The environment variables for controlling the recording have also
been modified.
Commit: 47b5ad2bdb1a8ea0840fb671ae57c128292eb34c
https://github.com/llvm/llvm-project/commit/47b5ad2bdb1a8ea0840fb671ae57c128292eb34c
Author: lonely eagle <2020382038 at qq.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M mlir/lib/Transforms/CSE.cpp
Log Message:
-----------
[mlir][CSE] Fix dominanceInfo analysis preservation (#192279)
The CSE pass calls `markAnalysesPreserved<DominanceInfo,
PostDominanceInfo>()` at the end. While CSE erases operations, it does
not remove their corresponding dominator trees, causing them to be
unnecessarily preserved in memory. This PR addresses the issue by
explicitly calling invalidate within CSE to clean up the dominator trees
for those erased operations.
Commit: 3089120f0cd2fe78911d1bc9703764a07fa7eb32
https://github.com/llvm/llvm-project/commit/3089120f0cd2fe78911d1bc9703764a07fa7eb32
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2026-04-15 (Wed, 15 Apr 2026)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/AttrImpl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/Index/CommentToXML.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/Index/annotate-comments-availability-anyappleos.cpp
M clang/test/Sema/attr-availability-anyappleos-ast.c
M clang/test/Sema/attr-availability-anyappleos.c
M clang/tools/libclang/CIndex.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
Redesign handling of anyAppleOS availability attribute (#190817)
Previously, when processing an anyAppleOS availability attribute, clang
replaced it with an implicit platform-specific attribute (e.g., ios,
macos) inferred for the current target. Only the introduced version of
the original anyAppleOS attribute was preserved (as a field on the
inferred attr). This was insufficient for clients such as Swift that
need access to the full original attribute, including deprecated,
obsoleted, and message fields.
This patch preserves the original anyAppleOS attribute on the decl and
attaches the inferred platform-specific attribute to it as a child via
the new InferredAttr field. Most callers use getEffectiveAttr() to
transparently get the inferred attr when present, preserving existing
behavior. Fix-it hints use the presence of an inferred attr to decide
whether to emit "anyAppleOS" or a platform-specific name in the
@available expression. The one behavioral change is in documentation
XML, where availability info is now emitted for both the anyAppleOS attr
and the inferred platform-specific attr.
When an explicit platform-specific attribute (e.g. ios(introduced=26.0))
conflicts with an anyAppleOS-derived attribute for the same platform,
the explicit attribute wins: the anyAppleOS attribute is erased from the
decl so only the explicit one is used.
Commit: dea55c9b0b244d4cbd06d2427b26942608db300c
https://github.com/llvm/llvm-project/commit/dea55c9b0b244d4cbd06d2427b26942608db300c
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp
M mlir/test/Dialect/NVGPU/invalid.mlir
Log Message:
-----------
[mlir][NVGPU] Validate mmaShape has 3 elements in MmaSyncOp/MmaSparseSyncOp (#190928)
Add validation in MmaSyncOp::verify and MmaSparseSyncOp::verify to
ensure `mmaShape` contains exactly 3 elements before calling
getMmaShapeAsArray() to avoid crash. Fixes
https://github.com/llvm/llvm-project/issues/173378.
Commit: 53cf0d5b9c348bc44def48baf7bf70adc8ff58e6
https://github.com/llvm/llvm-project/commit/53cf0d5b9c348bc44def48baf7bf70adc8ff58e6
Author: Lucas Chollet <lucas.chollet at serenityos.org>
Date: 2026-04-15 (Wed, 15 Apr 2026)
Changed paths:
M clang/test/Driver/serenity.cpp
Log Message:
-----------
[clang] Make serenity.cpp tests pass on clang-with-thin-lto-ubuntu (#192231)
LTO_FULL-NOT was definitely too generic and prone to matching unrelated
content. It would, as an example, match against the build path on
clang-with-thin-lto-ubuntu builder [1].
Making the match more restrictive should avoid this kind of issues.
[1] https://lab.llvm.org/buildbot/#/builders/127/builds/6956
Commit: de5a7f1827700f008dd3a60e05d4a1df78731ba7
https://github.com/llvm/llvm-project/commit/de5a7f1827700f008dd3a60e05d4a1df78731ba7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-04-15 (Wed, 15 Apr 2026)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
M llvm/test/MC/RISCV/rv32p-aliases-valid.s
Log Message:
-----------
[RISCV] Prefer LUI over PLUI.H on RV32. (#192340)
I don't think any of the cases PLUI.H can handle would be eligible for
C.LUI, but still figured it was best to use base ISA instructions when
possible.
Commit: c87a60f617dd43d27a10a9dcf0349b2327568c3b
https://github.com/llvm/llvm-project/commit/c87a60f617dd43d27a10a9dcf0349b2327568c3b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-04-15 (Wed, 15 Apr 2026)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
Log Message:
-----------
[RISCV] Replace Unsigned flag in generateInstSeqImpl with ShiftOpc. NFC (#192363)
Changed ShiftAmount from int to unsigned.
Commit: c340f605deb6c5f47f6deb7bc86d8f277a362cf9
https://github.com/llvm/llvm-project/commit/c340f605deb6c5f47f6deb7bc86d8f277a362cf9
Author: Kevin Sala Penades <salapenades1 at llnl.gov>
Date: 2026-04-15 (Wed, 15 Apr 2026)
Changed paths:
M offload/libomptarget/omptarget.cpp
M offload/plugins-nextgen/common/src/RecordReplay.cpp
Log Message:
-----------
[offload] Fix asserts in kernel record replay (#192379)
This commit fixes issues introduced in PR #190588
Commit: 0e5e9758388e3092a8cd6a0cb1b596039f80743a
https://github.com/llvm/llvm-project/commit/0e5e9758388e3092a8cd6a0cb1b596039f80743a
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/LiveRangeEdit.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/test/CodeGen/X86/apx/add.ll
M llvm/test/CodeGen/X86/apx/sub.ll
Log Message:
-----------
[X86][APX] Reset SubReg for dst and check isVirtual before getInterval/getPhys (#191765)
We have made sure dst operand never has a SubReg. We need to make sure
register is virtual when calling getInterval/getPhys.
Commit: 98449cb8dd7f79a9eade62b5ecb1fa8c614c3a0e
https://github.com/llvm/llvm-project/commit/98449cb8dd7f79a9eade62b5ecb1fa8c614c3a0e
Author: Florian Mayer <fmayer at google.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M compiler-rt/lib/hwasan/hwasan_allocator.cpp
M compiler-rt/lib/hwasan/hwasan_flags.inc
A compiler-rt/test/hwasan/TestCases/tag_mask_smoke.c
Log Message:
-----------
[HWASan] [compiler-rt] Add tag_bits option to HWASan alloc (#192386)
This can be used to make sure the allocator does not use the top bit of
the pointer. This is useful when HWASan is used in combination with
signed-integer-overflow detection. Some code uses arithmetic on intptr_t
that overflows for sufficiently large pointers.
Commit: 13cae27e9e99ab2ca865e9670c9aaa6106d87cb7
https://github.com/llvm/llvm-project/commit/13cae27e9e99ab2ca865e9670c9aaa6106d87cb7
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/lib/Evaluate/tools.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
Log Message:
-----------
Revert "[flang][cuda] Avoid false positive on multi device symbol with components" (#192393)
Reverts llvm/llvm-project#192177
this breaks some downstream testing
Commit: 72a3cd9e54f16d87f47bc984672999a9b67cd4f4
https://github.com/llvm/llvm-project/commit/72a3cd9e54f16d87f47bc984672999a9b67cd4f4
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/CodeGen/MacroFusion.cpp
A llvm/test/CodeGen/AArch64/macro-fusion-cluster-conflict.mir
Log Message:
-----------
[MacroFusion] Early return when insts already clustered (#191710)
This patch adds an early return to `fuseInstructionPair()` when macro
fused instructions are already clustered, either by an earlier fusion or
another clustering like ld/st clustering, removing the assert.
The assert is generally wrong - there are edge cases where an earlier
ld/st clustering (before macro fusion) reached the assert because it
sets `ParentClusterIdx` and fails. For example, ADRP+LOAD/STORE on
AArch64, thought it seems to be a rare case because the addresses are
ususally unkown at compile time.
It doesn't effectively change how fusions are prioritized - early
fusions still win on fusion-fusion conflicts, like before. But it
changes how we resolve the edge case of ld/st-fusion conflicts:
Previously, fusions would effectively override ld/st clustering in this
case, given that we currently limits instruction membership to at most a
single cluster through `ParentClusterIdx`. Macro fusion runs after ld/st
clustering in the pipelines.
Here we inverse the priorities from MacroFusion's perspective and prefer
earlier ld/st clustering. I think they should be generally preferred
over fusions, because they not only save dispatch and execution slots,
but they also should decrease code size. Of course this heuristic can
fail in some cases. If a new clustering algorithm is added, it would
have to inspect ordering and be placed correctly.
I have inspected several internal workloads, and ld/st-fusion conflicts
very rarely appear.
Commit: ad2bf491badb3c9d58591cf271aff94384e2ede6
https://github.com/llvm/llvm-project/commit/ad2bf491badb3c9d58591cf271aff94384e2ede6
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
M clang/unittests/Serialization/CMakeLists.txt
A clang/unittests/Serialization/CommentsTest.cpp
R clang/unittests/Serialization/NoCommentsTest.cpp
Log Message:
-----------
[C++20] [Modules] Write comments in C++20 modules' module file (#192398)
Previously we avoid writing the comments in C++20 modules' module file.
But this prevents LSP tools to read the comments in it. Although we
thought to add a new option for it and ask LSP to use the new option,
the cost of comments seems to be low and new option raises complexity,
so I prefer to write comments in C++20 modules' module file by default
now.
Commit: bd810585154b7f759689f576e95033a5e5f79593
https://github.com/llvm/llvm-project/commit/bd810585154b7f759689f576e95033a5e5f79593
Author: David Green <david.green at arm.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
A llvm/test/CodeGen/Thumb2/mve-clmul.ll
Log Message:
-----------
[ARM][MVE] Add a MVE clmul tests. NFC (#192403)
Taken from the equivalent AArch64 fixed width tests.
Commit: 6279043b5b2613282d68818485b10e4038a511a7
https://github.com/llvm/llvm-project/commit/6279043b5b2613282d68818485b10e4038a511a7
Author: Fangrui Song <i at maskray.me>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/MC/MCAssembler.cpp
A llvm/test/MC/ELF/prefalign-internal-align.s
Log Message:
-----------
[MC] Fix .prefalign oscillation when body contains a .p2align (#192402)
The intervening FT_Align's padding depends on where this prefalign
lands, so body_size can oscillate across relaxOnce iterations. When a
downstream section reacts (e.g. .debug_line DWARF deltas crossing a
special-opcode boundary), the outer loop never terminates -- originally
reported as a hang with -O1 -g on
https://github.com/llvm/llvm-project/pull/184032#issuecomment-4235991852
```
static int a;
void b() {}
int c() { for (;;) { int d; for (; a;) return 0; } }
void e() { for (;;) ; }
```
X86 sets both the preferred function alignment
and the loop-header alignment to 16 (X86ISelLowering
setPrefLoopAlignment),
so any function containing a small loop whose first BB gets .p2align 4
lands a same-alignment .p2align inside the prefalign body.
Fix: never decrease ComputedAlign across iterations.
Commit: 982f736c852c06e8ad58300980c8a7b4a79045ff
https://github.com/llvm/llvm-project/commit/982f736c852c06e8ad58300980c8a7b4a79045ff
Author: Aleksandr Platonov <platonov.aleksandr at huawei.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/ClangdServer.h
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/Compiler.h
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang-tools-extra/clangd/ModulesBuilder.h
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/Preamble.h
M clang-tools-extra/clangd/tool/ClangdMain.cpp
M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
Log Message:
-----------
[clangd] Introduce --skip-preamble-build command line option (#189284)
This option allows to disable preamble optimization in clangd. By
default it's false, but became true for TUs which import modules (and
experimental modules support is enabled).
This PR is a try to address C++20 modules problems described here
https://github.com/llvm/llvm-project/pull/187432
Fixes https://github.com/llvm/llvm-project/issues/181770
Commit: d8f63bbc8e20a68e764852a15d67a06fcd14c5bd
https://github.com/llvm/llvm-project/commit/d8f63bbc8e20a68e764852a15d67a06fcd14c5bd
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Lex/Lexer.cpp
A clang/test/Parser/macro-braces-recovery.cpp
Log Message:
-----------
[clang] Fix crash in isAtEndOfMacroExpansion at FileID boundary. (#191734)
During error recovery, a synthetic token (whose length is 0) can be
inserted past the end of a FileID, e.g. inserting ")" when a macro-arg
containing a comma should be guarded by parentheses.
When calculating the location after this token, the calculated
`AfterLoc` can point exactly to the start of the next FileID
(`NextLocalOffset`), any source manager operations on the `AfterLoc` are
invalid.
This patch adds a safe guard in `Lexer::isAtEndOfMacroExpansion` to
prevent passing this invalid location to `SourceManager`.
Fixes #115007
Fixes #21755
Commit: eb8324a472ff720c90fe4d90214c330d4daa1750
https://github.com/llvm/llvm-project/commit/eb8324a472ff720c90fe4d90214c330d4daa1750
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/Parser.cpp
A clang/test/AST/ast-dump-decl-recovery.cpp
M clang/test/Parser/recovery.cpp
Log Message:
-----------
[clang][Parser] Improve error recovery for missing semicolons in class members. (#190744)
This is something I discovered when doing the investigation for
https://github.com/llvm/llvm-project/pull/188123#issuecomment-4162665482.
This patch improves recovery when a semicolon is missing after a class
member declarations.
When the parser expects a semicolon but encounters a token that is at
the start of a line and is a valid declaration specifier, it injects a
`;` instead of skipping tokens, this allows us to preserve the
declaration after the missing ";" instead of discarding it.
Commit: 882be8f173d49fbbb58660fa556d782947bba33f
https://github.com/llvm/llvm-project/commit/882be8f173d49fbbb58660fa556d782947bba33f
Author: Varad Rahul Kamthe <133588066+varadk27 at users.noreply.github.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/docs/NVPTXUsage.rst
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/movmatrix.ll
Log Message:
-----------
[LLVM][NVPTX] Add movmatrix intrinsic and PTX instruction support (#190109)
This change adds NVVM intrinsic and NVPTX backend support for the movmatrix PTX instruction. Tests are added in `movmatrix.ll` and verified through `ptxas-13.1`.
PTX Spec Reference: https://docs.nvidia.com/cuda/parallel-thread-execution/#warp-level-matrix-instructions-movmatrix
Assisted-by: Cursor
Commit: ec1e3aef9a153d71441fe7214151272929b066e1
https://github.com/llvm/llvm-project/commit/ec1e3aef9a153d71441fe7214151272929b066e1
Author: Farid Zakaria <fmzakari at fb.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
A bolt/test/X86/lsda-encoding.s
Log Message:
-----------
[BOLT] Update LSDA encoding for x86-64 large code model (#190685)
BOLT hardcoded 4-byte LSDA (exception table) encoding for x86-64. This
is insufficient for large code model binaries where functions in .ltext
sections may be placed at addresses above 2GB, exceeding the range of
DW_EH_PE_udata4/DW_EH_PE_sdata4 encodings.
Detect large code model by checking for .ltext sections
(SHF_X86_64_LARGE) and update LSDAEncoding to use 8-byte pointers:
- Non-PIC: DW_EH_PE_absptr (8-byte absolute)
- PIC: DW_EH_PE_pcrel | DW_EH_PE_sdata8 (8-byte PC-relative)
This was pulled out from
https://github.com/llvm/llvm-project/pull/190637
Commit: 008c3afaad14b5cb1121f56d35e6eed5f48afae8
https://github.com/llvm/llvm-project/commit/008c3afaad14b5cb1121f56d35e6eed5f48afae8
Author: Konrad Kleine <kkleine at redhat.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp
Log Message:
-----------
[llvm][DebugInfo] Use formatv in DWARFUnitIndex (#191998)
This relates to #35980.
Commit: ba1acfdaad3eab0ab1f780761e68c7e3c08bc1e6
https://github.com/llvm/llvm-project/commit/ba1acfdaad3eab0ab1f780761e68c7e3c08bc1e6
Author: Konrad Kleine <kkleine at redhat.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp
Log Message:
-----------
[llvm][DebugInfo] Use formatv in DWARFDebugPubTable (#191988)
This relates to #35980.
Co-authored-by: Sergei Barannikov <barannikov88 at gmail.com>
Commit: 0499a7962f32cd849296d28e6f2f92af509f41fb
https://github.com/llvm/llvm-project/commit/0499a7962f32cd849296d28e6f2f92af509f41fb
Author: Boyao Wang <wangboyao at bytedance.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_platform.h
M compiler-rt/test/sanitizer_common/TestCases/Linux/pie_no_aslr.cpp
Log Message:
-----------
[TSAN][RISCV] Fix kHiAppMemEnd boundary for riscv64 (#191170)
This resolves TSan execution failures on riscv64 platforms when Address
Space Layout Randomization (ASLR) is disabled. There was an off-by-one
error in `tsan_platform.h` that caused the sanitizer to fail when memory
is mapped at the edge under non-ASLR environments. We fix this by
extending `kHiAppMemEnd` to cover the full allowed memory range:
`MappingRiscv64_39`: `0x3fffffffffull` -> `0x4000000000ull`
`MappingRiscv64_48`: `0x7fffffffffffull` -> `0x800000000000ull`
We also add riscv64 test support to `pie_no_aslr.cpp`
Commit: 8ac414f2674935f620d540f119bf60bfad21ce7b
https://github.com/llvm/llvm-project/commit/8ac414f2674935f620d540f119bf60bfad21ce7b
Author: Jeremy Johnson <jeremy.johnson at arm.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
Log Message:
-----------
[mlir][tosa] Add TOSA RESHAPE_BLOCK_SCALED support (#191149)
Experimental operator support, with no validation.
---------
Signed-off-by: Jeremy Johnson <jeremy.johnson at arm.com>
Commit: 3a754f4b9e852fc9c765f1152dc9a11d93cb83b1
https://github.com/llvm/llvm-project/commit/3a754f4b9e852fc9c765f1152dc9a11d93cb83b1
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/shuffle-as-vextrins.ll
Log Message:
-----------
[LoongArch][NFC] Pre-commit tests for `vextrins` (#164065)
Commit: f943685879121b02d568c0ae7e0c95a89a2323e3
https://github.com/llvm/llvm-project/commit/f943685879121b02d568c0ae7e0c95a89a2323e3
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-usabs.ll
A llvm/test/Transforms/LoopVectorize/VPlan/AArch64/partial-reduce-usabs.ll
Log Message:
-----------
[LV] Add support for absolute difference partial reductions (#188043)
This adds support for partial reductions where the extended operand is a
signed or unsigned absolute difference.
We match the absolute difference as `abs(sub(ext(X), ext(Y)))`, where
`type(X) == type(Y)` and both extends are the same kind (sext/zext).
This is then handled the same as an operand without a binop
(`ext(...)`), as we will transform the operand to
`ext(absolute-difference(A, B))` when we rewrite the reduction chain to
partial reductions.
This is an alternative to #162296.
Commit: d60b2b219423cf7f653d0d1f846b143a71d16443
https://github.com/llvm/llvm-project/commit/d60b2b219423cf7f653d0d1f846b143a71d16443
Author: Konrad Kleine <kkleine at redhat.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/DebugInfo/GSYM/GsymReaderV1.cpp
M llvm/lib/DebugInfo/GSYM/GsymReaderV2.cpp
Log Message:
-----------
[llvm][DebugInfo] Use formatv in GsymReaderV1 and GsymReaderV2 (#192000)
This relates to #35980.
Commit: 169148a6b21471ddc06b99bc7adabae552775b57
https://github.com/llvm/llvm-project/commit/169148a6b21471ddc06b99bc7adabae552775b57
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ThrowingStaticInitializationCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ThrowingStaticInitializationCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/throwing-static-initialization.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/throwing-static-initialization-allow.cpp
Log Message:
-----------
[clang-tidy] Add option 'AllowedTypes' to bugprone-throwing-static-initialization (#192031)
Commit: d6a970d527b53344ee0a97882be28a47724d8007
https://github.com/llvm/llvm-project/commit/d6a970d527b53344ee0a97882be28a47724d8007
Author: David Spickett <david.spickett at arm.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M lldb/test/API/commands/memory/read/TestMemoryRead.py
M lldb/test/API/commands/memory/read/main.c
Log Message:
-----------
[lldb][test] Add tests for repeating "memory read" command (#192063)
Tests that show the effect of #192057.
Until now repeating the command options was only tested in memory
tagging tests, which I don't run often. Here I am adding tests that'll
run anywhere.
Commit: f779ebce55bc5d325bbc985fed3d7b214142af08
https://github.com/llvm/llvm-project/commit/f779ebce55bc5d325bbc985fed3d7b214142af08
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ExprConstant.cpp
M clang/test/AST/ByteCode/builtin-bit-cast-bitfields.cpp
M clang/test/AST/ByteCode/builtin-bit-cast-long-double.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/constexpr-nqueens.cpp
M clang/test/AST/ByteCode/cxx11.cpp
M clang/test/AST/ByteCode/cxx17.cpp
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ByteCode/cxx2a.cpp
M clang/test/AST/ByteCode/lifetimes.cpp
M clang/test/AST/ByteCode/lifetimes26.cpp
M clang/test/AST/ByteCode/literals.cpp
M clang/test/AST/ByteCode/new-delete.cpp
M clang/test/AST/ByteCode/placement-new.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/AST/ByteCode/unions.cpp
M clang/test/C/C23/n3006.c
M clang/test/CXX/dcl.decl/dcl.decomp/p3.cpp
M clang/test/CXX/drs/cwg2026.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/expr/expr.const/p2-0x.cpp
M clang/test/Sema/constexpr.c
M clang/test/SemaCXX/builtin-is-within-lifetime.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/constant-expression-cxx14.cpp
M clang/test/SemaCXX/constant-expression-cxx2a.cpp
M clang/test/SemaCXX/constexpr-builtin-bit-cast.cpp
M clang/test/SemaCXX/constexpr-printing.cpp
M clang/test/SemaCXX/constexpr-value-init.cpp
M clang/test/SemaCXX/cxx2a-constexpr-dynalloc.cpp
M clang/test/SemaCXX/cxx2c-constexpr-placement-new.cpp
M clang/test/SemaCXX/static-assert-cxx26.cpp
Log Message:
-----------
[clang][ExprConst] Add "declared here" notes to uninitialized read diagnostics (#192206)
E.g. for
```c++
constexpr int unInitLocal() {
int a;
return a; // both-note {{read of uninitialized object}}
}
static_assert(unInitLocal() == 0, ""); // both-error {{not an integral constant expression}} \
// both-note {{in call to 'unInitLocal()'}}
```
we now diagnose:
```console
array.cpp:896:15: error: static assertion expression is not an integral constant expression
896 | static_assert(unInitLocal() == 0, ""); // both-error {{not an integral constant expression}} \
| ^~~~~~~~~~~~~~~~~~
array.cpp:894:10: note: read of uninitialized object is not allowed in a constant expression
894 | return a; // both-note {{read of uninitialized object}}
| ^
array.cpp:896:15: note: in call to 'unInitLocal()'
896 | static_assert(unInitLocal() == 0, ""); // both-error {{not an integral constant expression}} \
| ^~~~~~~~~~~~~
array.cpp:893:7: note: declared here
893 | int a;
| ^
1 warning and 1 error generated.
```
and point at the object that we were trying to read from. This adds an
`NoteLValueLocation()` call to the emission of
`note_constexpr_access_uninit`, which is already done in other places:
https://github.com/llvm/llvm-project/blob/7ae5fe63dd979eae13ea04e166f94056ec1306ca/clang/lib/AST/ExprConstant.cpp#L4565-L4570
Commit: 7ddf7719b3dfdfb7925f5ca492c3550b240b095e
https://github.com/llvm/llvm-project/commit/7ddf7719b3dfdfb7925f5ca492c3550b240b095e
Author: zackc6 <112835067+zackc6 at users.noreply.github.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M mlir/lib/Transforms/CSE.cpp
Log Message:
-----------
[mlir][Transforms] Fix CSE memEffectsCache handling for existing entries (NFC) (#192178)
The condition on detecting cache insertion was reversed. The consequence
was that we would always go through the path of "cache hit" first, but
find that the entry was the just-inserted one and then proceed with
updating it. Subsequent attempt could go through the "cache miss" part
and the cache would never be used.
Commit: 0da34b813432d9905b57b91bdf793b58edfdd7fa
https://github.com/llvm/llvm-project/commit/0da34b813432d9905b57b91bdf793b58edfdd7fa
Author: LU-JOHN <John.Lu at amd.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/test/CodeGen/AMDGPU/v_swap_b32.mir
Log Message:
-----------
[AMDGPU] Analyze implicit reg operands when generating swaps (#192220)
Fix register usage analysis during swap generation by including implicit
register operands. Critical change was to replace MachineInstr uses/defs
with all_uses/all_defs.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 57d2a2c287538adc0297820047f637deb6570c63
https://github.com/llvm/llvm-project/commit/57d2a2c287538adc0297820047f637deb6570c63
Author: Rohit Aggarwal <44664450+rohitaggarwal007 at users.noreply.github.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/test/Transforms/AggressiveInstCombine/popcount.ll
Log Message:
-----------
[AggressiveInstCombine] POPCNT generation for bit-count pattern (#180917)
The proposal is to enhance LLVM by teaching it to recognize the pattern
and replace it with the hardware POPCNT instruction.
#177109 has the first pattern of the popcnt fold.
---------
Co-authored-by: Rohit Aggarwal <Rohit.Aggarwal at amd.com>
Commit: 537f1240c9cd0ea7fdd4355400e2a8868d09ead5
https://github.com/llvm/llvm-project/commit/537f1240c9cd0ea7fdd4355400e2a8868d09ead5
Author: Ming Yan <ming.yan at terapines.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/test/Target/LLVMIR/Import/fastmath.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[mlir][LLVM] Add fastmath flags support to fpext/fptrunc ops. (#192185)
Add fastmath attributes to llvm fpext/fptrunc ops,
FastmathFlagsInterface op interface support.
Commit: 4097ec7720f4888f5efe14f3627a6ce0f3b7fc89
https://github.com/llvm/llvm-project/commit/4097ec7720f4888f5efe14f3627a6ce0f3b7fc89
Author: Elio <xiongzile at bytedance.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M libc/test/integration/src/unistd/CMakeLists.txt
M libc/test/integration/src/unistd/getcwd_test.cpp
Log Message:
-----------
[libc][test] Fix getcwd test for symlinked paths (#191426)
The test compared getcwd() with getenv("PWD"), which is not reliable
under symlinked paths: PWD may preserve the logical path while getcwd()
returns the physical path.
Use stat(2) to verify directory identity instead.
Co-authored-by: Zile Xiong <xiongzile99 at gmail.com>
Commit: 10be669bc5a8c6b8b988f3e91760f9d7c391e246
https://github.com/llvm/llvm-project/commit/10be669bc5a8c6b8b988f3e91760f9d7c391e246
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/llvm-libc-macros/linux/sys-socket-macros.h
M libc/include/sys/socket.yaml
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/getsockopt.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/setsockopt.h
M libc/src/sys/socket/CMakeLists.txt
A libc/src/sys/socket/getsockopt.h
M libc/src/sys/socket/linux/CMakeLists.txt
A libc/src/sys/socket/linux/getsockopt.cpp
A libc/src/sys/socket/linux/setsockopt.cpp
A libc/src/sys/socket/setsockopt.h
M libc/test/src/sys/socket/linux/CMakeLists.txt
A libc/test/src/sys/socket/linux/socketopt_test.cpp
Log Message:
-----------
[libc] Implement getsockopt and setsockopt on linux (#192237)
This patch implements getsockopt and setsockopt socket functions on
Linux. It follows the established pattern of wrapping socketcall or
using direct syscalls.
I added a basic test setting a couple of options.
I only added the first couple of simple constants (e.g. whose value does
not depend on the architecture). I've left the others for a separate
patch.
Commit: 38e0a9eb9efbbaa76fde598ccb5b4457ca7dfed1
https://github.com/llvm/llvm-project/commit/38e0a9eb9efbbaa76fde598ccb5b4457ca7dfed1
Author: David Spickett <david.spickett at arm.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M lldb/test/API/linux/aarch64/mte_tag_access/TestAArch64LinuxMTEMemoryTagAccess.py
M lldb/test/API/linux/aarch64/mte_tag_access/main.c
Log Message:
-----------
[lldb][AArch64][Linux] Fix memory tagging tests (#192421)
The test program was relying on mmap calls to allocate pages that were
next to each other, which is not guaranteed but I got away with it on
our simulated systems for a time.
Instead of taking this chance, allocate all the pages once and then
split the allocation by changing the permissions of each page. That
ordering we can rely on.
The repeating tag options test is broken due
to #192057 so I've xfailed it.
Commit: 573f8227f76670bc5fe1cd38650a3d6c8a840e03
https://github.com/llvm/llvm-project/commit/573f8227f76670bc5fe1cd38650a3d6c8a840e03
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M libc/test/src/sys/socket/linux/socketopt_test.cpp
Log Message:
-----------
[libc] Fix socketopt_test on 32-bit builds (#192423)
This is a follow-up to #192237, fixing build breakage on riscv32.
Commit: 47dfcba42fe13fa7c9c42d193a66452258990fad
https://github.com/llvm/llvm-project/commit/47dfcba42fe13fa7c9c42d193a66452258990fad
Author: Ziliang Zhang <ziliang.zhang at terapines.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/Transforms/OneShotAnalysis.h
M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
Log Message:
-----------
[mlir][bufferization] Cache areNonConflictingSubsets results in OneShotAnalysis (#189895)
The `areNonConflictingSubsets` check in `hasReadAfterWriteInterference`
can be expensive when called repeatedly for the same (uRead,
uConflictingWrite) pairs during bufferization analysis. This patch
caches the results to avoid redundant computation.
Specifically, this adds:
- A private `nonConflictingSubsetCache` DenseMap on
`OneShotAnalysisState` to memoize subset conflict results.
- A public `areNonConflictingSubsetsCached` method that wraps the
lookup-or-compute pattern, following the same convention as the existing
`findDefinitionsCached`.
- Cache invalidation in `resetCache()`.
Commit: a7733f9522e2ed81ce97d4eb9775bc8fa75002ab
https://github.com/llvm/llvm-project/commit/a7733f9522e2ed81ce97d4eb9775bc8fa75002ab
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/CodeGen/MacroFusion.cpp
Log Message:
-----------
[MacroFusion] Call Clusters.size() once before assignments (NFC) (#192396)
Commit: d18549bc5d39f82a25458836216d1fc7bdb0369d
https://github.com/llvm/llvm-project/commit/d18549bc5d39f82a25458836216d1fc7bdb0369d
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/test/Conversion/VectorToLLVM/vector-mask-to-llvm.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Conversion/VectorToLLVM/vector-xfer-to-llvm.mlir
M mlir/test/Integration/Dialect/Vector/CPU/create-mask.mlir
Log Message:
-----------
[MLIR][Vector] Fix i32 overflow in vector mask lowering for large index bounds (#188782)
When lowering vector masks with `force-32bit-vector-indices=true`, the
mask bound (an `index`-typed value) was cast directly to `i32`. For
values
larger than INT32_MAX (e.g., 2^51), the truncating cast wraps to a small
or negative i32, turning an all-true mask into an all-false one.
Fix both the fixed-size vector path (`buildVectorComparison` in
VectorTransforms.cpp) and the scalable vector path
(`VectorCreateMaskOpConversion` in ConvertVectorToLLVM.cpp) uniformly:
clamp the bound to INT32_MAX via `arith.minsi` in index type before the
cast. For fixed-size vectors `dim` would be a tighter bound (any b >=
dim
already implies all-true), but INT32_MAX is used for consistency across
both paths.
Add a LIT regression test with a 2^51 bound and an integration test that
executes the lowered code to confirm the mask is all-true at runtime.
Fixes #113689
Assisted-by: Claude Code
Commit: cfb272d42541bf5d0b1c6ccf33d54791d418495b
https://github.com/llvm/llvm-project/commit/cfb272d42541bf5d0b1c6ccf33d54791d418495b
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/shuffle-as-vextrins.ll
M llvm/test/CodeGen/LoongArch/lsx/vec-sext.ll
M llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-any-ext.ll
M llvm/test/CodeGen/LoongArch/lsx/vec-trunc.ll
M llvm/test/CodeGen/LoongArch/lsx/vmskcond.ll
Log Message:
-----------
[LoongArch] Custom legalize vector_shuffle to `vextrins` (#164067)
LASX support will be added in a follow-up change.
Commit: 2b3965adc730764b9c88299d8548fbdc437e82bf
https://github.com/llvm/llvm-project/commit/2b3965adc730764b9c88299d8548fbdc437e82bf
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/CodeGen/MachineInstr.cpp
Log Message:
-----------
[CodeGen] Add early-exit to getFoldedSpillSize (#192201)
TargetInstrInfo::hasStoreToStackSlot is showing up in compile-time
profiles of sqlite via MachineInstr::getFoldedSpillSize. Adding an
early-exit for non-store instructions is a small win on this and some
other workloads on stage1-aarch64-O0-g.
https://llvm-compile-time-tracker.com/compare.php?from=215f35eb8f1c313ac135ad47db1cc0b99b3ae694&to=4d8ce0a2e30829976c03a9e90b2dc56ab9b60646&stat=instructions%3Au
Commit: 42e0cdf2fcc3455d95be7d875302a0f7cb7c592d
https://github.com/llvm/llvm-project/commit/42e0cdf2fcc3455d95be7d875302a0f7cb7c592d
Author: yronglin <yronglin777 at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/lib/Lex/PPExpressions.cpp
M clang/test/Lexer/cxx-features.cpp
A clang/test/Preprocessor/p2843r3.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] Implement P2843R3 - Preprocessing is never undefined (#192073)
This PR marks [P2843R3 - Preprocessing is never
undefined](https://wg21.link/P2843) as implemented and add tests.
Fixes https://github.com/llvm/llvm-project/issues/145658
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 3d0d615d2a415a3dd7f79f4dbe481cc36f8073d5
https://github.com/llvm/llvm-project/commit/3d0d615d2a415a3dd7f79f4dbe481cc36f8073d5
Author: Konrad Kleine <kkleine at redhat.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
Log Message:
-----------
[llvm][DebugInfo] Use formatv in LVDWARFReader (#192011)
This relates to #35980.
Commit: 27de23ff510b4272ce4842811f0959a072445b5d
https://github.com/llvm/llvm-project/commit/27de23ff510b4272ce4842811f0959a072445b5d
Author: Konrad Kleine <kkleine at redhat.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFGdbIndex.cpp
Log Message:
-----------
[llvm][DebugInfo] Use formatv in DWARFGdbIndex (#191994)
This relates to #35980.
Co-authored-by: Sergei Barannikov <barannikov88 at gmail.com>
Commit: 167e7e76d6bdb347d6c06294f6ad00ce9821aaaa
https://github.com/llvm/llvm-project/commit/167e7e76d6bdb347d6c06294f6ad00ce9821aaaa
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M flang/include/flang/Semantics/openmp-utils.h
M flang/lib/Semantics/openmp-utils.cpp
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Semantics/OpenMP/affected-loops.f90
Log Message:
-----------
[flang][OpenMP] Identify DO loops affected by loop-associated construct (#191719)
This is to identify iteration variables of DO loops affected by an
OpenMP loop construct. These variables are privatized as per
data-sharing rules.
Issue: https://github.com/llvm/llvm-project/issues/191249
Commit: 09f6992a4bdd7f8e06c8640d85b60d673a4b7297
https://github.com/llvm/llvm-project/commit/09f6992a4bdd7f8e06c8640d85b60d673a4b7297
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/unions.cpp
Log Message:
-----------
[clang][bytecode] Don't implicitly begin union member lifetime... (#192212)
... on assignment operator calls if the LHS type does not have a
non-deleted trivial default constructor.
Commit: 76d51b780dbbc491833e26db63a13c1f47a29c77
https://github.com/llvm/llvm-project/commit/76d51b780dbbc491833e26db63a13c1f47a29c77
Author: dcandler <david.candler at arm.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M libc/CMakeLists.txt
M libc/test/CMakeLists.txt
Log Message:
-----------
[libc][cmake] Remove dependencies for bare-metal hermetic testing (#192242)
Unit tests can be disabled on bare-metal as they will fail to build. To
prevent the check-libc and check-libc-lit targets from always attempting
to build them, the dependencies are now set conditionally according to
the relevant CMake options.
Commit: ac2c986c5830b6c413ddbb0e75b8c1399fdffe85
https://github.com/llvm/llvm-project/commit/ac2c986c5830b6c413ddbb0e75b8c1399fdffe85
Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
Log Message:
-----------
[LV][NFC] Rename ScalarEpilogueLowering to EpilogueLowering (#191871)
Rename ScalarEpilogueLowering enum to EpilogueLowering.
The term 'scalar' is misleading given that the epilogue could be
vectorized.
Also rename the enum values to use the tail-folding term instead of
predication, as it's more clear.
Commit: 46bbbde1f3c3bf3a00ae19c3157f7425899b1e87
https://github.com/llvm/llvm-project/commit/46bbbde1f3c3bf3a00ae19c3157f7425899b1e87
Author: Utkarsh Saxena <usx at google.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/Origins.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/Sema/Inputs/lifetime-analysis.h
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/Sema/warn-lifetime-safety-dangling-field.cpp
M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
Log Message:
-----------
[LifetimeSafety] Add lifetimebound inference for std::make_unique (#191632)
Enhanced lifetime safety analysis to support `std::make_unique` by
propagating `lifetimebound` attributes from constructor parameters to
`make_unique` parameters.
- Added special handling for `std::make_unique` in
`inferLifetimeBoundAttribute()` to automatically propagate
`lifetimebound` attributes from the constructed type's constructor
parameters to the corresponding `make_unique` parameters
- Extended GSL owner type handling in assignment operations within
`FactsGenerator::VisitCXXOperatorCallExpr()`
`std::make_unique` is a common factory function that forwards arguments
to constructors. Without this enhancement, lifetime safety analysis
couldn't detect when `make_unique` was being used to create objects with
lifetimebound dependencies, leading to missed warnings about potential
dangling references. This change ensures that lifetime safety analysis
works seamlessly with modern C++ idioms using smart pointer factory
functions.
---
**Current Limitation**: Lifetimebound propagation only occurs when the
constructor parameter is a reference type. This restriction avoids
incorrect loan tracking when value types (pointers, view types like
`string_view`) are passed through forwarding references to
`make_unique`. However, this means some legitimate dangling scenarios
involving value-type parameters are not detected. This limitation
presents an opportunity to experiment with `clang::lifetimebound(2)` to
distinguish between parameter categories and enable more precise
tracking for forwarding references and multi-level pointers in general.
_(AI-assisted with HITL)_
Commit: a9a2d25db9c011c15a6557bc308ea1856efcb058
https://github.com/llvm/llvm-project/commit/a9a2d25db9c011c15a6557bc308ea1856efcb058
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/test/CIR/CodeGen/init-list-lvalue.cpp
Log Message:
-----------
[CIR] Implement LValue InitListExpr and FunctionalCastExpr lowering (#192298)
First, this fixes the InitListExpr lowering. This copies the same
implementation from classic-codegen, and adds some tests (this is
otherwise untested in classic codegen?).
Second, while I was writing tests for the above, I accidented into the
FunctionalCastExpr, which just calls emitCastLValue, so this fixes that
as well.
Commit: d78f85e46adca8a29765584e6ed8438058c18003
https://github.com/llvm/llvm-project/commit/d78f85e46adca8a29765584e6ed8438058c18003
Author: David Green <david.green at arm.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/knownfpclass.ll
Log Message:
-----------
[GlobalISel] Fix getShuffleDemandedElts input lanes in computeKnownFPClass (#192288)
The number of lanes needs to be for the input type, not the return, as
they can be different in GISel. This prevents an assert about invalid
shuffle mask constant from getShuffleDemandedElts.
Commit: 5cf3e0e65b0535104f456e8159b1c80ab40677b5
https://github.com/llvm/llvm-project/commit/5cf3e0e65b0535104f456e8159b1c80ab40677b5
Author: quic-k <kushpal at qti.qualcomm.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/Hexagon.h
A clang/test/Driver/Inputs/hexagon_tree/Tools/target/picolibc/hexagon-unknown-none-elf/include/c++/readme
A clang/test/Driver/Inputs/hexagon_tree/Tools/target/picolibc/hexagon-unknown-none-elf/include/c++/v1/readme
A clang/test/Driver/Inputs/hexagon_tree/Tools/target/picolibc/hexagon-unknown-none-elf/include/readme
A clang/test/Driver/Inputs/hexagon_tree/Tools/target/picolibc/hexagon-unknown-none-elf/readme
A clang/test/Driver/Inputs/hexagon_tree/Tools/target/picolibc/readme
A clang/test/Driver/hexagon-toolchain-picolibc.c
Log Message:
-----------
[Clang][Hexagon] Use --cstdlib flag to choose Picolibc (#183257)
Update the Hexagon toolchain to use --cstdlib flag to allow users to
choose Picolibc as the C library.
This allows proper selection of C library when targeting
Hexagon environments.
depends on https://github.com/llvm/llvm-project/pull/183254
Signed-off-by: Kushal Pal <kushpal at qti.qualcomm.com>
Commit: 0e5cad062cd55499ae12fd3ef4bdb555dc2169f4
https://github.com/llvm/llvm-project/commit/0e5cad062cd55499ae12fd3ef4bdb555dc2169f4
Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
A mlir/test/Dialect/Vector/canonicalize/vector-extract.mlir
Log Message:
-----------
[mlir][vector] Fold vector extract from insert when trailing unit dims (#192109)
Upstreamed from https://github.com/iree-org/iree/pull/23789
Folds vector.extract from vector.insert when the extract position is a
prefix of the insert position and the remaining (un-indexed) dimensions
of the extracted sub-vector are all size 1. In that case the extracted
value is fully determined by the inserted value.
Example:
%ins = vector.insert %s, %v [3, 0] : f32 into vector<16x1xf32>
%ext = vector.extract %ins [3] : vector<1xf32> from vector<16x1xf32>
folds to:
%ext = vector.broadcast %s : f32 to vector<1xf32>
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
Commit: 0162dbc91d5786dd4195555695759f7620f67f58
https://github.com/llvm/llvm-project/commit/0162dbc91d5786dd4195555695759f7620f67f58
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M flang/include/flang/Evaluate/match.h
Log Message:
-----------
[flang] Fix some typos in comments, NFC (#192445)
Commit: 4f50ce24315a03cfb3b9ec2e5480d866c451f1ad
https://github.com/llvm/llvm-project/commit/4f50ce24315a03cfb3b9ec2e5480d866c451f1ad
Author: Shonie Caplan <94767648+shoniecaplan at users.noreply.github.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/test/Transforms/FunctionAttrs/noundef.ll
Log Message:
-----------
[FunctionAttrs] Don't infer noundef when return has nofpclass (#191822)
- Fixes: #191338
nofpclass violations on a return produce poison.
Poison returns marked noundef are UB.
This turns off noundef inference when nofpclass attributes are present.
---------
Co-authored-by: Shonie Caplan <shonie at genki.com>
Co-authored-by: Yingwei Zheng <dtcxzyw at qq.com>
Commit: c463b75509500e3e8151673fa247766af6cd33e2
https://github.com/llvm/llvm-project/commit/c463b75509500e3e8151673fa247766af6cd33e2
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
Log Message:
-----------
[AArch64] Factor out handling of AUTRELLOADPAC addend in AsmPrinter (NFC) (#192076)
In `AArch64AsmPrinter`, move the emission of code that handles the
Addend operand of AUTRELLOADPAC from `emitPtrauthAuthResign` to a
separate function.
Make use of recently added helper functions and update the comments.
Refer to named `Pointer` and `Scratch` registers instead of
hardcoding X16 and X17.
Commit: 0a11c04f42666dfb838d08d5176b474256a8f22f
https://github.com/llvm/llvm-project/commit/0a11c04f42666dfb838d08d5176b474256a8f22f
Author: Nico Weber <thakis at chromium.org>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/Serialization/BUILD.gn
Log Message:
-----------
[gn build] Port ad2bf491badb (#192461)
Commit: 0e3f5504beb0e4ac918f6934fdc7cbf847014e9d
https://github.com/llvm/llvm-project/commit/0e3f5504beb0e4ac918f6934fdc7cbf847014e9d
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fun-ptr-addrcast.ll
M llvm/test/CodeGen/SPIRV/opencl/device_execution/execute_block.ll
M llvm/test/CodeGen/SPIRV/pointers/PtrCast-null-in-OpSpecConstantOp.ll
A llvm/test/CodeGen/SPIRV/struct-null-pointer-member.ll
Log Message:
-----------
[SPIR-V] Simplify addrspacecast for null in composite constant preprocessing (#192030)
Fold addrspacecast(null) to a typed null pointer during composite
constant preprocessing so that null pointer members in structs and
arrays get the correct SPIR-V pointer type instead of being lowered as
integers. This fixes invalid SPIR-V where OpConstantNull had an integer
type instead of a pointer type, and where OpSpecConstantOp was
unnecessarily emitted for null casts
related to https://github.com/llvm/llvm-project/issues/190736
Commit: 2c67f2fdfc41afd9acfe28e3cb42850a97f1db54
https://github.com/llvm/llvm-project/commit/2c67f2fdfc41afd9acfe28e3cb42850a97f1db54
Author: Georgiy Samoylov <Ignitor21838 at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/include/llvm/MC/TargetRegistry.h
M llvm/lib/MC/TargetRegistry.cpp
M llvm/unittests/MC/TargetRegistry.cpp
Log Message:
-----------
[llvm] Add format check for MCSubtargetFeatures (#180943)
`SubtargetFeatures` class has next constraints:
https://github.com/llvm/llvm-project/blob/c9d065abc15846deb95a23fb0b3e1855d3d26314/llvm/include/llvm/TargetParser/SubtargetFeature.h#L167-L174
At this moment feature string isn't checked for fitting in such format.
This leads to assertion failure, for example in lldb:
https://github.com/llvm/llvm-project/pull/180901, when features from
user's input don't meet the requirements.
With implementing additional format check we can avoid such problems.
Commit: 925e2156c71da60a61f1199960f5fff82de35f57
https://github.com/llvm/llvm-project/commit/925e2156c71da60a61f1199960f5fff82de35f57
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SISchedule.td
M llvm/test/tools/llvm-mca/AMDGPU/gfx12-pseudo-scalar-trans.s
Log Message:
-----------
[AMDGPU] Update gfx12 sched model (#192448)
Commit: c095488da4586f4d98c13f9793088b444e686a4a
https://github.com/llvm/llvm-project/commit/c095488da4586f4d98c13f9793088b444e686a4a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/same-node-reused.ll
M llvm/test/Transforms/SLPVectorizer/X86/deleted-instructions-clear.ll
M llvm/test/Transforms/SLPVectorizer/X86/entries-different-vf.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-shl1-add-merge.ll
M llvm/test/Transforms/SLPVectorizer/X86/shl-compatible-with-add.ll
M llvm/test/Transforms/SLPVectorizer/X86/shl-to-add-transformation.ll
M llvm/test/Transforms/SLPVectorizer/X86/shl-to-add-transformation5.ll
M llvm/test/Transforms/SLPVectorizer/X86/shll1-add-sub-combined.ll
Log Message:
-----------
[SLP]Initial compatibility support for shl v, 1 and add v, v
Allows to make shl v, 1 to be compatible with add operations by
modeling it as add v,v
Fixes #40801
Reviewers: bababuck, hiraditya, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/181168
Commit: b96818f2e0118fcbf908b0a168ca1d23190ac295
https://github.com/llvm/llvm-project/commit/b96818f2e0118fcbf908b0a168ca1d23190ac295
Author: David Spickett <david.spickett at arm.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M lldb/test/API/tools/lldb-server/TestGdbRemoteHostInfo.py
Log Message:
-----------
[lldb][test] Remove print in TestGdbRemoteHostInfo.py (#192468)
Leftover debugging code, not part of the test's assertions.
Commit: 2f268ec5b04462bebb94bfe07633cdbd3881b2c7
https://github.com/llvm/llvm-project/commit/2f268ec5b04462bebb94bfe07633cdbd3881b2c7
Author: Peng Sun <peng.sun at arm.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/availability.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p0-invalid.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-pro-fp-valid.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
Log Message:
-----------
[mlir][tosa] Add row_gather_block_scaled op (#192272)
Add `tosa.row_gather_block_scaled` to the MLIR TOSA dialect, aligned
with the current TOSA 1.1 draft spec and the implementation in
`tosa-tools`.
This includes:
- op definition
- verifier and shape inference support
- validation / profile compliance wiring
- availability and extension handling
- lit tests for parsing, verification, shape inference, and version /
extension gating
The op supports both spec-defined forms:
- non-block-scaled: 1 input value tensor, `BLOCK_SIZE_1`, 1 output
- block-scaled: data + scale tensor list, non-`BLOCK_SIZE_1`, 2 outputs
Op-specific level checks for ROW_GATHER_BLOCK_SCALED have been deferred
while the TOSA 1.1 draft is still evolving.
Signed-off-by: Peng Sun <peng.sun at arm.com>
Commit: f472ebed217c51af47cc6eb3ec697d8555b00c50
https://github.com/llvm/llvm-project/commit/f472ebed217c51af47cc6eb3ec697d8555b00c50
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
A llvm/test/CodeGen/SPIRV/smulextended-builtin.ll
A llvm/test/CodeGen/SPIRV/umulextended-builtin.ll
Log Message:
-----------
[SPIR-V] Add OpSMulExtended and OpUMulExtended builtin support (#187474)
Support OpSMulExtended and OpUMulExtended builtins in a new MulExtended
builtin group and handle both calling conventions: direct struct return
and sret pointer.
Commit: ad554651add849014743f68c0decef3e66b3cdbd
https://github.com/llvm/llvm-project/commit/ad554651add849014743f68c0decef3e66b3cdbd
Author: Mel Chen <mel.chen at sifive.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse-mask4.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse-mask4.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dbg-tail-folding-by-evl.ll
M llvm/test/Transforms/LoopVectorize/RISCV/predicated-reverse-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
Reapply "[VPlan] Extract reverse mask from reverse accesses" (#189930)
Following https://github.com/llvm/llvm-project/pull/146525, separate the
reverse mask from reverse access recipes.
At the same time, remove the unused member variable Reverse from
VPWidenMemoryRecipe.
This will help to reduce redundant reverse mask computations by
VPlan-based common subexpression elimination.
The previous revert was due to an over-aggressive assertion that
incorrectly flagged a reverse load followed by a scatter store as
illegal. This version relaxes the assertion to check the mask only.
Re-land #155579
Base on pre-commit #189928
Commit: e4ebeac8d1ee124016e6fa9fba8e5a05c3737543
https://github.com/llvm/llvm-project/commit/e4ebeac8d1ee124016e6fa9fba8e5a05c3737543
Author: Scott Linder <scott.linder at amd.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
Log Message:
-----------
[MCP][NFC] Cleanup and prepare to preserve frame-setup/destroy (#186240)
This mixes renames, removing redundant code, avoiding
`else`-after-`return`, etc. with factoring out the `isNeverRedundant`
concept.
Change-Id: I43a62a9415019cdd63c68fd3b915ebb7505d317a
Commit: 232251164fe1fe7336450bfd61810aa9b812c6bb
https://github.com/llvm/llvm-project/commit/232251164fe1fe7336450bfd61810aa9b812c6bb
Author: Leonardo Román Carrillo <leonardoroman at google.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
Log Message:
-----------
[AArch64] Correct comparator in regalloc hints to satisfy strict weak ordering (#192383)
The current comparator will have a strict-weak ordering violation for
the following scenario:
a = GoodReg ((!CSRs.contains(A) || !MRI.def_empty(A) ||
Matrix->isPhysRegUsed(A)) == true) && !Op1Reg
b = BadReg ((!CSRs.contains(A) || !MRI.def_empty(A) ||
Matrix->isPhysRegUsed(A)) == false) && !Op1Reg
c = Op1Reg
Then we would have:
a vs c
A != B && B == Op1Reg && (!CSRs.contains(A) || !MRI.def_empty(A) ||
Matrix->isPhysRegUsed(A)) = true && true && true ->
a < c
a vs b
A != B && B == Op1Reg && (!CSRs.contains(A) || !MRI.def_empty(A) ||
Matrix->isPhysRegUsed(A)) =true && false && false ->
a ~ b
b vs c
A != B && B == Op1Reg && (!CSRs.contains(A) || !MRI.def_empty(A) ||
Matrix->isPhysRegUsed(A)) = true && true && false ->
b ~ c
That will result in a strict-weak ordering violation (a < c && a ~ c),
with the new implementation we define that a < b && a < c.
Commit: 0a984edbcd2e2f094f45e5ec009d444a947aea18
https://github.com/llvm/llvm-project/commit/0a984edbcd2e2f094f45e5ec009d444a947aea18
Author: Chandana Mudda <quic_csinderi at quicinc.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonPatterns.td
A llvm/test/CodeGen/Hexagon/sext-mul-v2i16.ll
Log Message:
-----------
[Hexagon] Optimize sext + mul pattern to use vmpyh instruction (#190316)
This patch adds TableGen patterns to recognize and optimize the pattern:
(v2i32 (mul (sext v2i16), (sext v2i16)))
And transforms it to use the M2_vmpy2s_s0 instruction which generates
the efficient vmpyh (vector multiply halfwords) instruction.
The transform is guarded by `nsw` because `M2_vmpy2s_s0` performs a
saturating signed multiply (`vmpyh(...):sat`), so the replacement is
only semantics-preserving when signed overflow is undefined in the IR.
Currently, this pattern expands to:
r3:2 = vsxthw(r0) // Sign extend
r1:0 = vsxthw(r1) // Sign extend
r1 = mpyi(r3,r1) // Scalar multiply
r0 = mpyi(r2,r0) // Scalar multiply
With this patch, it generates:
r1:0 = vmpyh(r0,r1):sat // Single vector multiply
Co-authored-by: Santanu Das <quic_santdas at quicinc.com>
Commit: fce45b3e961cac33e6b26725405a14a5b1f5d733
https://github.com/llvm/llvm-project/commit/fce45b3e961cac33e6b26725405a14a5b1f5d733
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/include/clang/Frontend/CompilerInstance.h
M clang/lib/Frontend/CompilerInstance.cpp
A clang/test/Interpreter/ftime-report.cpp
M clang/tools/driver/cc1_main.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
Log Message:
-----------
[Frontend] Consolidate frontend timer setup in CompilerInstance::ExecuteAction. NFC (#192266)
Move the frontend timer creation (-ftime-report) and TimeTraceScope
("ExecuteCompiler") from cc1_main into CompilerInstance::ExecuteAction
via a new private PrepareForExecution() method. This ensures all tools
that use ExecuteAction (cc1, clang-repl, libclang, etc.) get consistent
timing infrastructure without duplicating setup code.
Commit: 5467e556a3756304e5c9a8aa93e309da755eff28
https://github.com/llvm/llvm-project/commit/5467e556a3756304e5c9a8aa93e309da755eff28
Author: Kito Cheng <kito.cheng at sifive.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVIndirectBranchTracking.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVLandingPadSetup.cpp
M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.cpp
M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/brindirect-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/brindirect-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calls.ll
M llvm/test/CodeGen/RISCV/branch-relaxation-rv32.ll
M llvm/test/CodeGen/RISCV/branch-relaxation-rv64.ll
A llvm/test/CodeGen/RISCV/calls-cf-branch.ll
M llvm/test/CodeGen/RISCV/calls.ll
A llvm/test/CodeGen/RISCV/cf-branch-isel.ll
M llvm/test/CodeGen/RISCV/jumptable-swguarded.ll
M llvm/test/CodeGen/RISCV/kcfi-isel-mir.ll
M llvm/test/CodeGen/RISCV/lpad.ll
M llvm/test/CodeGen/RISCV/machine-outliner-call-reg-live-across.mir
M llvm/test/CodeGen/RISCV/nest-register.ll
M llvm/test/CodeGen/RISCV/opt-w-instrs.mir
M llvm/test/CodeGen/RISCV/pr97304.ll
M llvm/test/CodeGen/RISCV/tail-calls.ll
M llvm/test/CodeGen/RISCV/zicfilp-indirect-branch.ll
Log Message:
-----------
[RISCV] Generate landing pad based on cf-protection-branch flag only (#179960)
Previously, the backend generated lpad instructions when the Zicfilp
extension was enabled. This patch changes the behavior to generate lpad
instructions only when the cf-protection-branch module flag is set
(typically from -fcf-protection=branch).
This aligns with the Clang frontend's intent, which has a comment saying
"Always generate Zicfilp lpad insns, Non-zicfilp CPUs would read them as
NOP".
The Zicfilp extension is no longer required for lpad generation - only
the module flag matters. Tests that previously used
-mattr=+experimental-zicfilp to trigger lpad generation now use the
cf-protection-branch module flag.
Additionally, the selection of NonX7 variants for indirect
branches/calls is now based on the cf-protection-branch module flag
instead of the Zicfilp extension. This ensures consistent behavior: when
cf-protection-branch is enabled, X7 is reserved for landing pad labels
and cannot be used for indirect branch/call target addresses.
Commit: f4e43c43ea7da30c580d5edb1e2f5e12623d1184
https://github.com/llvm/llvm-project/commit/f4e43c43ea7da30c580d5edb1e2f5e12623d1184
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/pr109581-unused-blend.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
Log Message:
-----------
[VPlan] Remove ComputeAnyOfResult, use ComputeReductionResult. (#190039)
ComputeAnyOfResult is simply a boolean OR reduction. Remove the
dedicated opcode and model directly via ComputeReductionResult.
This simplifies and unifies the code, as well as enabling trivial
constant folding.
PR: https://github.com/llvm/llvm-project/pull/190039
Commit: 9d923ec59516041609038fabeaae8202026adec6
https://github.com/llvm/llvm-project/commit/9d923ec59516041609038fabeaae8202026adec6
Author: Lei Huang <lei at ca.ibm.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsPPC.def
M clang/lib/Headers/altivec.h
M clang/lib/Sema/SemaPPC.cpp
A clang/test/CodeGen/PowerPC/builtins-ppc-deeply-compressed-weights.c
A clang/test/Sema/builtins-ppc-deeply-compressed-weights-error.c
M llvm/include/llvm/IR/IntrinsicsPowerPC.td
M llvm/lib/Target/PowerPC/PPCInstrFuture.td
A llvm/test/CodeGen/PowerPC/deeply-compressed-weights.ll
Log Message:
-----------
[PowerPC] Implement Deeply Compressed Weights Builtins (#184666)
Add support for the following deeply compressed weights builtins for ISA
Future.
- vec_uncompresshn(vector unsigned char, vector unsigned char)
- vec_uncompressln(vector unsigned char, vector unsigned char)
- vec_uncompresshb(vector unsigned char, vector unsigned char)
- vec_uncompresslb(vector unsigned char, vector unsigned char)
- vec_uncompresshh(vector unsigned char, vector unsigned char)
- vec_uncompresslh(vector unsigned char, vector unsigned char)
- vec_unpack_hsn_to_byte(vector unsigned char)
- vec_unpack_lsn_to_byte(vector unsigned char)
- vec_unpack_int4_to_bf16(vector unsigned char, uint2)
- vec_unpack_int8_to_bf16(vector unsigned char, uint1)
- vec_unpack_int4_to_fp32(vector unsigned char, uint3)
- vec_unpack_int8_to_fp32(vector unsigned char, uint2)
Assisted by AI.
Commit: 82467159043f3007e41e81fb921c81beaa234a14
https://github.com/llvm/llvm-project/commit/82467159043f3007e41e81fb921c81beaa234a14
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.add.min.max.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize rules for add_min/max intrinsics (#192356)
Commit: 04cae92976cc89c9747cb057c9d88a4c1bc25db6
https://github.com/llvm/llvm-project/commit/04cae92976cc89c9747cb057c9d88a4c1bc25db6
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/lib/Basic/Targets/SPIR.cpp
M clang/test/Preprocessor/predefined-macros.c
Log Message:
-----------
[SPIRV] Conditionally define `__AMDGCN_UNSAFE_FP_ATOMICS__` for AMDGCN flavoured SPIR-V (#192136)
Client apps rely on the `__AMDGCN_UNSAFE_FP_ATOMICS__` macro to guide
optimised execution pathways. We were not defining it for AMDGCN
flavoured SPIR-V, which led to pessimisation.
Commit: 547197d200cbaf7b24b9f14c756310e3b60c8850
https://github.com/llvm/llvm-project/commit/547197d200cbaf7b24b9f14c756310e3b60c8850
Author: woruyu <1214539920 at qq.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp
Log Message:
-----------
[NFC][AMDGPU] Rename AMDGPUUnifyDivergentExitNodes to AMDGPUUnifyDivergentExitNodesLegacy (#192399)
### Summary
This NFC patch renames the legacy pass wrapper class for
`AMDGPUUnifyDivergentExitNodes` to
`AMDGPUUnifyDivergentExitNodesLegacy`. This makes the old pass manager
wrapper explicit and avoids ambiguity. No behavior change is intended.
Commit: 1b433e936fbeef8fc1c649ad223719df897d311f
https://github.com/llvm/llvm-project/commit/1b433e936fbeef8fc1c649ad223719df897d311f
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACCCG.cpp
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtils.cpp
A mlir/test/Dialect/OpenACC/compute-region-canonicalize.mlir
M mlir/unittests/Dialect/OpenACC/OpenACCUtilsCGTest.cpp
Log Message:
-----------
[mlir][acc] Add canonicalization patterns for compute_region (#192376)
This PR improves the APIs for navigating through acc.compute_region
block arguments and also adds canonicalization patterns for those
arguments to remove unused ones and merge duplicates.
Commit: a81621a7b14ffd33d1b3fd7b6134a083f51ea1d3
https://github.com/llvm/llvm-project/commit/a81621a7b14ffd33d1b3fd7b6134a083f51ea1d3
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.perm.pk.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize rules for perm_pk16_b{4,6,8}_u4 (#192368)
Commit: 1317890e1b81b952dbbd6d4011fc9113d4722488
https://github.com/llvm/llvm-project/commit/1317890e1b81b952dbbd6d4011fc9113d4722488
Author: Jiahao Guo <eoonguo at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
Log Message:
-----------
[CIR][AArch64] Lower NEON vrsra_n intrinsics (#191129)
### Summary
Implement CIR lowering for all intrinsics in
https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#vector-rounding-shift-right-and-accumulate
This PR references the implementation from the ClangIR incubator:
https://github.com/llvm/clangir/blob/main/clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp#L4854
AArch64 does not provide a dedicated "rounding shift right by immediate"
instruction. Instead, the `SRSHL` / `URSHL` intrinsics take a signed
per-lane shift amount where a negative value means right shift, so an
immediate right shift by `n` is encoded as a signed vector splat of
`-n`. The three infrastructure changes below exist to support this
encoding at the call site:
- extends `emitNeonShiftVector` with a `neg` parameter so the
right-shift-as-negative-left-shift encoding is handled inside the
helper;
- adds `getSignChangedVectorType` (also mirroring the incubator) used to
construct the signed shift-amount vector type for the unsigned path;
- replaces the `errorNYI` in `emitNeonCallToOp`'s `shift == j` branch
with an actual call to `emitNeonShiftVector`.
Tests: new CHECK lines in clang/test/CodeGen/AArch64/neon/intrinsics.c
under section 2.1.3.2.4.
Part of #185382.
Commit: 7aa2b040236bfa8b60ebec69af60f5a334ee160e
https://github.com/llvm/llvm-project/commit/7aa2b040236bfa8b60ebec69af60f5a334ee160e
Author: Nick Desaulniers <ndesaulniers at google.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/stack-clash-dynamic-alloca.ll
M llvm/test/CodeGen/X86/stack-clash-small-alloc-medium-align.ll
Log Message:
-----------
[X86] Use unsigned comparison for stack clash probing loop (#192355)
The stack clash probing loop generated in `EmitLoweredProbedAlloca` used
a signed comparison (`X86::COND_GE`) to determine when the allocation
target had been reached.
In 32-bit mode, memory addresses above `0x80000000` have the sign bit
set. If the stack pointer lands in this region, treating the addresses
as signed integers causes the comparison logic to fail. This leads to
incorrect loop execution, resulting in an infinite loop and a crash
(segmentation fault) when setting up custom stacks for pthreads mapped
above `0x80000000` in a 32b process.
This patch changes the condition code to `X86::COND_AE` (Above or
Equal), which generates an unsigned comparison. This ensures that
addresses are treated correctly as unsigned quantities on all targets.
On 64-bit systems, this change has no practical effect on valid
user-space addresses because they do not use the sign bit (being
restricted to the lower half of the address space). However, using
unsigned comparison is the correct behavior for pointer arithmetic and
bounds checks.
Reported-by: Wonsik Kim <wonsik at google.com>
Commit: dcfe195ef1cb7590207cc7a89765482cfb164767
https://github.com/llvm/llvm-project/commit/dcfe195ef1cb7590207cc7a89765482cfb164767
Author: Scott Linder <scott.linder at amd.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
Log Message:
-----------
[MCP][NFC] Opinionated refactoring (#186239)
There are a few minor inconsistencies across the pass which I found mildly distracting:
* The use of `Def`/`Dest`/`Dst` to refer to the same thing
* Inconsistent declaration order of `Dst`/`Src` vs `Src`/`Dst`
* Lots of `->getReg()->asMCReg()`, and uses of `Register` when the pass
is always running after RA anyway.
* Some places explicitly `assert(isCopyInstr)` while others just deref
the `optional`.
Standardize on `Dst`/`Src` to match the metaphor and ordering of
`DestSourcePair`.
Assume `std::optional::operator*` will assert in any reasonable
implementation, even though this may technically be undefined behavior.
When asserts are disabled it would be anyway.
The refactor uses structured bindings for a couple reasons:
* Naturally enforces consistent order of `Dst`-then-`Src`
* Requires the use of `auto`, which ensures the declaration is not
implicitly converting from `MCRegister` back to `Register`.
In both cases the explicitness of the name `getDstSrcMCRegs` hopefully
makes the meaning at the callsite clear (`Dst, Src = DstSrc`, and
explicitly mentioning `MCReg`).
Change-Id: Ic58f555e03535d726cdad38dbe3f9c6df1b86460
Commit: ffde06f4c11927c60936802fb439a5195ac0742e
https://github.com/llvm/llvm-project/commit/ffde06f4c11927c60936802fb439a5195ac0742e
Author: Finn Plummer <mail at inbelic.dev>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Transforms/Utils.h
A llvm/include/llvm/Transforms/Utils/StripConvergenceIntrinsics.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/lib/Target/SPIRV/CMakeLists.txt
M llvm/lib/Target/SPIRV/SPIRV.h
R llvm/lib/Target/SPIRV/SPIRVStripConvergentIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Transforms/Utils/CMakeLists.txt
A llvm/lib/Transforms/Utils/StripConvergenceIntrinsics.cpp
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
A llvm/test/CodeGen/DirectX/strip-convergence-intrinsics.ll
M llvm/test/CodeGen/SPIRV/llc-pipeline.ll
A llvm/test/Transforms/StripConvergenceIntrinsics/basic.ll
Log Message:
-----------
[NFC][SPIRV] Move `SPIRVStripConvergenceIntrinsics` to Utils (#188537)
The `SPIRVStripConvergenceIntrinsic` pass was written as a spirv pass as
it is the currently the only target that emits convergence tokens during
codegen. There is nothing target specific to the pass, and, we plan to
emit convergence tokens when targeting DirectX (and all targets in
general), so move the pass to a common place.
The previous pass used temporary `Undef`s, as part of moving the pass we
can simply reverse the traverse order to remove the use of `Undef` as it
is deprecated.
Enables the pass for targeting DirectX and is a pre-req for:
https://github.com/llvm/llvm-project/pull/188792.
Assisted by: Github Copilot
Commit: 9e45a7a4fa86dae50569308df5c5d5ab9a441bdc
https://github.com/llvm/llvm-project/commit/9e45a7a4fa86dae50569308df5c5d5ab9a441bdc
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
Log Message:
-----------
[clang][OpenMP] Fix __llvm_omp_indirect_call_lookup signature for targets with non-default program AS (#192470)
The argument and return value for `__llvm_omp_indirect_call_lookup` are
function pointers so make sure they are in the correct address space.
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: 7328b74dceed9764b9195e42f1e6f08f04727157
https://github.com/llvm/llvm-project/commit/7328b74dceed9764b9195e42f1e6f08f04727157
Author: Kelvin Li <kli at ca.ibm.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Lower/PowerPC/ppc-vec-convert.f90
M flang/test/Lower/PowerPC/ppc-vec-load-elem-order.f90
M flang/test/Lower/PowerPC/ppc-vec-load.f90
M flang/test/Lower/PowerPC/ppc-vec-store-elem-order.f90
M flang/test/Lower/PowerPC/ppc-vec-store.f90
Log Message:
-----------
[flang] Handle ub.poison in lowering (#192454)
This patch is to add the UB dialect registration and UBToLLVM conversion
interface in lowering.
Commit: e90f463db5c2d28ae0d65e2ceccfaa03d4ea7c53
https://github.com/llvm/llvm-project/commit/e90f463db5c2d28ae0d65e2ceccfaa03d4ea7c53
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/copyable_reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/operand-reorder-with-copyables.ll
M llvm/test/Transforms/SLPVectorizer/X86/reused-last-instruction-in-split-node.ll
Log Message:
-----------
[SLP] Normalize copyable operand order via majority voting
When building operands for entries with copyable elements, non-copyable
lanes of commutative ops may have inconsistent operand order (e.g. some
lanes have load,add while others have add,load). This prevents
VLOperands::reorder() from grouping consecutive loads on one side,
degrading downstream vectorization.
Add majority-voting normalization during buildOperands: track the
(ValueID, ValueID) pair frequency across non-copyable lanes and swap
any lane whose operand types are the exact inverse of the most common
pattern. This makes operand order consistent, enabling better load
grouping.
This is part 1 of #189181.
Reviewers: RKSimon, hiraditya
Pull Request: https://github.com/llvm/llvm-project/pull/191631
Commit: b9ae01500d8b8c6c5b6f35d09bacd11325e67c8f
https://github.com/llvm/llvm-project/commit/b9ae01500d8b8c6c5b6f35d09bacd11325e67c8f
Author: macurtis-amd <macurtis at amd.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
A llvm/lib/Target/AMDGPU/AMDGPUNextUseAnalysis.cpp
A llvm/lib/Target/AMDGPU/AMDGPUNextUseAnalysis.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/CMakeLists.txt
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/acyclic-014bb.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/acyclic-770bb.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/acyclic-cfg-with-self-loop.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/acyclic-phi-merge-distances.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/complex-acyclic-cfg-with-4-self-loops.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/complex-control-flow-11blocks.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/complex-control-flow-15blocks.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/complex-single-loop-a.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/complex-single-loop.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/double-nested-loops-complex-cfg.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/if_else_with_loops_nested_in_2_outer_loops.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/inner_cfg_in_2_nested_loops.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/loop_nested_in_3_outer_loops_complex_cfg.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/nested-loops-with-side-exits-a.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/sequence_2_loops.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/simple-loop-3blocks.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/spill-vreg-many-lanes.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_basic_case.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_do_not_spill_restore_inside_loop.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_emit_restore_in_common_dominator.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_emit_restore_in_loop_preheader1.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_emit_restore_in_loop_preheader2.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_emit_restore_in_loop_preheader3.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_emit_restore_in_loop_preheader4.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_keep_spilled_reg_live.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_multiple_spills1.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_multiple_spills2.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_multiple_spills3.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_nested_loops.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_spill_in_common_dominator_and_optimize_restores.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_spill_loop_livethrough_reg.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_spill_loop_value_in_exit_block.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/three-tier-ranking-nested-loops.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/triple-nested-loops.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/two-sequential-loops.mir
Log Message:
-----------
AMDGPU: Add NextUseAnalysis Pass (#178873)
Based on
- https://github.com/llvm/llvm-project/pull/156079 and
- https://github.com/llvm/llvm-project/pull/171520
See those PRs for background.
Provides a compatibility mode option
`--amdgpu-next-use-analysis-compatibility-mode` that produces results
that match either PR #156079 (`compute`) or PR #171520 (`graphics`).
Co-authored-by: alex-t <atimofee at amd.com>
Co-authored-by: Konstantina Mitropoulou <KonstantinaMitropoulou at amd.com>
---------
Co-authored-by: Konstantina Mitropoulou <KonstantinaMitropoulou at amd.com>
Commit: fd8b58ce1c3e71b53a677394da1fcf3994e80585
https://github.com/llvm/llvm-project/commit/fd8b58ce1c3e71b53a677394da1fcf3994e80585
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M mlir/test/Dialect/SPIRV/IR/group-ops.mlir
M mlir/test/Dialect/SPIRV/IR/non-uniform-ops.mlir
Log Message:
-----------
[mlir][spirv][nfc] Move GroupNonUniformBallotBitCount tests to `non-uniform-ops.mlir` (#192115)
Tests were incorrectly placed in `group-ops.mlir` since the op is
defined in `SPIRVNonUniformOps.td`.
Commit: 796302a402eb439592042bcbc9469ae2b4582b07
https://github.com/llvm/llvm-project/commit/796302a402eb439592042bcbc9469ae2b4582b07
Author: adams381 <adams at nvidia.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
R clang/test/CIR/global-var-simple.cpp
Log Message:
-----------
[CIR][NFC] Remove redundant global-var-simple.cpp test (#192354)
This early smoke test is fully covered by
`clang/test/CIR/CodeGen/globals.cpp` and is no longer needed.
Per @andykaylor's feedback on #191521.
Made with [Cursor](https://cursor.com)
Commit: 3091b9811305b98cf45aaf6ed7b5c2c910b24a6f
https://github.com/llvm/llvm-project/commit/3091b9811305b98cf45aaf6ed7b5c2c910b24a6f
Author: adams381 <adams at nvidia.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/test/CIR/CodeGen/global-array-dtor.cpp
M clang/test/CIR/CodeGen/global-init.cpp
Log Message:
-----------
[CIR] Add noundef to __cxx_global_array_dtor parameter (#191529)
The synthetic __cxx_global_array_dtor helper created by
LoweringPrepare was missing noundef on its ptr parameter,
causing a mismatch with classic codegen.
Commit: a109303236e2aef39c9abe0f3264af5fa482fe1a
https://github.com/llvm/llvm-project/commit/a109303236e2aef39c9abe0f3264af5fa482fe1a
Author: Matthew Nagy <matthew.nagy at sony.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M compiler-rt/lib/tysan/tysan.cpp
Log Message:
-----------
[TySan] Set and cache tool name. (#192410)
Partial reland of [sanitizer common
support](https://github.com/llvm/llvm-project/pull/183310)
Commit: 53368bf9788b58b80405394e2e7554c3e6b6fc65
https://github.com/llvm/llvm-project/commit/53368bf9788b58b80405394e2e7554c3e6b6fc65
Author: Vatsal Khosla <95174891+VatsalKhosla at users.noreply.github.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenAsm.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/IR/inline-asm.cir
Log Message:
-----------
[CIR] Fix InlineAsmOp roundtrip parse crash on cir.asm (#186588)
Fix InlineAsmOp parser/printer roundtrip for cir.asm and avoid null
operand_attrs entries that crash alias printing during
--verify-roundtrip.
- Parse attr-dict before optional result arrow to match print order.
- Use non-null sentinel attributes for non-maybe_memory operands and
check UnitAttr explicitly.
- Keep lowering semantics by treating only UnitAttr as maybe_memory
marker.
- Update inline-asm CIR IR test to run with --verify-roundtrip and add
an attr+result coverage case.
Fix https://github.com/llvm/llvm-project/issues/161441
Commit: db9132e636dd8d375a0c6c0191749c2a221350e1
https://github.com/llvm/llvm-project/commit/db9132e636dd8d375a0c6c0191749c2a221350e1
Author: Aman LaChapelle <aman.lachapelle at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M lldb/include/lldb/Interpreter/OptionGroupVariable.h
M lldb/source/Interpreter/OptionGroupVariable.cpp
Log Message:
-----------
[lldb] Reformat OptionGroupVariable.{h,cpp}, NFC. (#192395)
This patch runs clang-format on OptionGroupVariable.{h,cpp}.
Commit: 6ee930cb48a8716c884bb7d4991c0c1e05b3e766
https://github.com/llvm/llvm-project/commit/6ee930cb48a8716c884bb7d4991c0c1e05b3e766
Author: Nico Weber <thakis at chromium.org>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/include/clang/Options/Options.td
M clang/test/Driver/cl-options.c
Log Message:
-----------
[clang] Expose -fdiagnostics-show-inlining-chain to clang-cl (#192241)
Commit: 0feabfa1d83356964d4464202db25ac1b4c94f6a
https://github.com/llvm/llvm-project/commit/0feabfa1d83356964d4464202db25ac1b4c94f6a
Author: Nico Weber <thakis at chromium.org>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
Log Message:
-----------
[gn build] Port b9ae01500d8b (#192496)
[gn build] Port b9ae01500d8b
Commit: 9ff4276edf5cd4d614a7a46a4d8bde04d54df68a
https://github.com/llvm/llvm-project/commit/9ff4276edf5cd4d614a7a46a4d8bde04d54df68a
Author: Nico Weber <thakis at chromium.org>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
Log Message:
-----------
[gn build] Port ffde06f4c119 (#192498)
Commit: 6c2bf97994c949da8d3252e7fcb18a6d7c70b098
https://github.com/llvm/llvm-project/commit/6c2bf97994c949da8d3252e7fcb18a6d7c70b098
Author: Yoonseo Choi <yoonchoi at amd.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
A llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.cluster.id.ll
A llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.dispatch.id.ll
A llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.dispatch.ptr.ll
A llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.lds.kernel.id.ll
A llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.queue.ptr.ll
A llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.workgroup.id.ll
A llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.workitem.id.ll
Log Message:
-----------
[AMDGPU] InstCombine: fold invalid calls to amdgcn intrinsics into poison values (#191904)
Replace a call to amdgpu intrinsic into a poison value when the call is
invalid because of "amdgpu-no-<xyz>" attribute in the caller function.
Upon
https://github.com/llvm/llvm-project/pull/186925#pullrequestreview-3983414064
Assisted by claude-4.6-sonnet-medium through CURSOR.
Commit: 8b15fc14f5314ceb8576629f3190d4c740590396
https://github.com/llvm/llvm-project/commit/8b15fc14f5314ceb8576629f3190d4c740590396
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
Log Message:
-----------
[CIR] Fix FlattenCFG pattern rewriter contract violations (#192359)
Fix patterns in CIRFlattenCFGPass that modify IR but return failure(),
violating the MLIR greedy pattern rewriter contract. The contract
requires that if a pattern modifies IR, it must return success().
- CIRCleanupScopeOpFlattening: always return success() since IR is
modified (blocks split, regions inlined) before error paths
- Ternary op flattening: return success() instead of falling through
after emitError, since splitBlock/createBlock already modified IR
- Use rewriter.moveOpBefore() instead of direct defOp->moveBefore() to
properly notify the rewriter of IR mutations
Found by MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS=ON.
Test: flatten-cleanup-scope-nyi.cir (a silly one since it's testing an
error, but point still valid)
Commit: 81c4ceb90239098e60d706f0a68f68d4dacec7af
https://github.com/llvm/llvm-project/commit/81c4ceb90239098e60d706f0a68f68d4dacec7af
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVLogicalOps.td
M mlir/test/Dialect/SPIRV/IR/logical-ops.mlir
M mlir/test/Target/SPIRV/logical-ops.mlir
Log Message:
-----------
[mlir][SPIR-V] Add spirv.Any and spirv.All ops (#192286)
Commit: 2427dc449759b48ed88920e0768af82a2dce27ca
https://github.com/llvm/llvm-project/commit/2427dc449759b48ed88920e0768af82a2dce27ca
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC] Remove unused PtrN parameter from analyzeConstantStrideCandidate() (#191567)
Commit: 0bbfddf03770a870c7f9aa9b888205be38e71446
https://github.com/llvm/llvm-project/commit/0bbfddf03770a870c7f9aa9b888205be38e71446
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AArch64/spillcost-call-between-operands.ll
Log Message:
-----------
[SLP][NFC]Add a test with the incorrect spill cost calculation between operands
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/192509
Commit: 6b054fdbcd8bd7b3fb850794e0feaa6d6525c793
https://github.com/llvm/llvm-project/commit/6b054fdbcd8bd7b3fb850794e0feaa6d6525c793
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/test/CIR/CodeGen/field-init-eh.cpp
Log Message:
-----------
[CIR] Implement EH handling for field initializers (#192360)
This implements the handling to call the dtor for any previously
initialized fields of destructed type if an exception is thrown later in
the initialization of the containing class.
The basic infrastructure to handle this was already in place. We just
needed a function to push an EH-only destroy cleanup on the EH stack and
a call to that function.
Commit: 5aea02a163d94092b54833001e06a26c7e57fb01
https://github.com/llvm/llvm-project/commit/5aea02a163d94092b54833001e06a26c7e57fb01
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M offload/test/api/omp_indirect_call_table_manual.c
M offload/test/api/omp_indirect_func_array.c
M offload/test/api/omp_indirect_func_struct.c
M openmp/device/src/Misc.cpp
Log Message:
-----------
[OpenMP][Device] Fix __llvm_omp_indirect_call_lookup function pointer types (#192502)
`__llvm_omp_indirect_call_lookup` takes in and returns a function
pointer, so make sure the types are correct, which includes the correct
address space.
The FE was recently changed to generate the correct code
[here](https://github.com/llvm/llvm-project/pull/192470).
With this change, three function pointer tests start passing.
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: 23dcca9d91110ebdb4e95d01818f7e16071fb21f
https://github.com/llvm/llvm-project/commit/23dcca9d91110ebdb4e95d01818f7e16071fb21f
Author: Yoonseo Choi <Yoonseo.Choi at amd.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
R llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.cluster.id.ll
R llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.dispatch.id.ll
R llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.dispatch.ptr.ll
R llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.lds.kernel.id.ll
R llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.queue.ptr.ll
R llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.workgroup.id.ll
R llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.workitem.id.ll
Log Message:
-----------
Revert "[AMDGPU] InstCombine: fold invalid calls to amdgcn intrinsics into poison values" (#192514)
Reverts llvm/llvm-project#191904
Commit: 2086b8701df4c876646e2049275efbfad5674585
https://github.com/llvm/llvm-project/commit/2086b8701df4c876646e2049275efbfad5674585
Author: Carlos Galvez <carlos.galvez at zenseact.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/CommentSema.h
M clang/lib/AST/CommentSema.cpp
M clang/test/Sema/warn-documentation.cpp
Log Message:
-----------
[clang] Fix false positive with -Wdocumentation and explicit instanti… (#178223)
…ations
Solves a use case listed in #64087.
Commit: 38f3d0be121c04b42f0988a25c22ea67543919f8
https://github.com/llvm/llvm-project/commit/38f3d0be121c04b42f0988a25c22ea67543919f8
Author: Scott Linder <scott.linder at amd.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/test/CodeGen/X86/machine-copy-prop.mir
Log Message:
-----------
[MCP] Never eliminate frame-setup/destroy instructions (#186237)
Presumably targets only insert frame instructions which are significant,
and there may be effects MCP doesn't model. Similar to reserved
registers this
is probably overly conservative, but as this causes no codegen change in
any lit test I think it is benign.
The motivation is just to clean up #183149 for AMDGPU, as we can spill
to physical registers, and currently have to spill the EXEC mask purely
to enable debug-info.
Change-Id: I9ea4a09b34464c43322edd2900361bf635efd9f7
Commit: ca3bc44c3090481615bd8fc4b3e64358b845c8bf
https://github.com/llvm/llvm-project/commit/ca3bc44c3090481615bd8fc4b3e64358b845c8bf
Author: Zhen Wang <zhenw at nvidia.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/Intrinsics/transfer.f90
Log Message:
-----------
[flang] Inline scalar-to-scalar TRANSFER for same-size trivial types (#191589)
Inline the TRANSFER intrinsic for scalar-to-scalar cases where the
result is a trivial type (integer, real, etc.) and source and result
have the same storage size. Instead of calling _FortranATransfer, the
lowering now emits a fir.convert on the source address followed by a
fir.load, effectively performing a reinterpret cast.
Commit: 9931b7830f5a411cfdb1bc1f819601a8217a4a21
https://github.com/llvm/llvm-project/commit/9931b7830f5a411cfdb1bc1f819601a8217a4a21
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
A clang/test/Driver/amdgpu-multilib.yaml
A clang/test/Driver/nvptx-multilib.yaml
Log Message:
-----------
[Clang] Add multilib support for GPU targets (#192285)
Summary:
This PR uses the new, generic multilib support added in
https://github.com/llvm/llvm-project/pull/188584
to also function for GPU targets. This will allow toolchains to easy
provide variants of these GPU libraries (for debug or asan). In
practice, this will look something like this:
```console
-DRUNTIMES_amdgcn-amd-amdhsa+debug_CMAKE_BUILD_TYPE=Debug \
-DRUNTIMES_amdgcn-amd-amdhsa+debug_LIBOMPTARGET_ENABLE_DEBUG=ON \
-DRUNTIMES_amdgcn-amd-amdhsa+debug_LLVM_ENABLE_RUNTIMES=openmp \
-DLLVM_RUNTIME_MULTILIBS=debug \
-DLLVM_RUNTIME_MULTILIB_debug_TARGETS="amdgcn-amd-amdhsa" \
```
This will then install it into the tree like this:
```
<install>/lib/amdgcn-amd-amdhsa/debug/libompdevice.a
```
The user can then activate this like the following (assuming they have a
multilib.yaml in the library directory):
```
clang input.c -fopenmp --offload-arch=gfx942 -fmultilib-flag=debug
```
Commit: bec1019d14d9c9b79b0b5e29ae4b1114942fb67b
https://github.com/llvm/llvm-project/commit/bec1019d14d9c9b79b0b5e29ae4b1114942fb67b
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
Log Message:
-----------
Revert "[Fuchsia] Stack analysis flags for runtimes" (#192515)
Reverts llvm/llvm-project#175677
We noticed using -fexperimental-call-graph-section with Control Flow
Integrity causes link failures in certain situations. Reverting this
change that sets the call graph section flag until we investigate the
root cause of the problem and handle it in the compiler well.
Commit: e60e400d778ca1734edab609f9db991b1acaab5b
https://github.com/llvm/llvm-project/commit/e60e400d778ca1734edab609f9db991b1acaab5b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/rv32p.ll
M llvm/test/CodeGen/RISCV/rv64p.ll
Log Message:
-----------
[RISCV][P-ext] Use pli.b when only the lower 2 bytes are used. (#192400)
If the lower 2 bytes are the same and are the only bytes used we
can use pli.b instead of lui+addi.
Commit: f162be248636046a20e71209e139347e084b637a
https://github.com/llvm/llvm-project/commit/f162be248636046a20e71209e139347e084b637a
Author: Nick Desaulniers <ndesaulniers at google.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/stack-probing-dynamic.ll
M llvm/test/CodeGen/RISCV/stack-clash-prologue.ll
Log Message:
-----------
[RISCV] Use unsigned comparison for stack clash probing loop (#192485)
The stack clash probing loop generated in `emitDynamicProbedAlloc` used
a signed comparison (`RISCV::COND_BLT`) to determine when the allocation
target had been reached.
In 32-bit mode, memory addresses above `0x80000000` have the sign bit
set. If the stack pointer lands in this region, treating the addresses
as signed integers causes the comparison logic to fail.
This patch changes the condition code to `RISCV::COND_BLTU` (Branch if
Less Than Unsigned), which generates an unsigned comparison. This
ensures that addresses are treated correctly as unsigned quantities on
all targets.
On 64-bit systems, this change has no practical effect on valid
user-space addresses because they do not use the sign bit (being
restricted to the lower half of the address space). However, using
unsigned comparison is the correct behavior for pointer arithmetic and
bounds checks.
Link: #192355
Commit: e210f2216df103c57b749e17b125cf002359d307
https://github.com/llvm/llvm-project/commit/e210f2216df103c57b749e17b125cf002359d307
Author: Praneeth Sarode <praneethsarode at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/docs/MemorySanitizer.rst
M clang/docs/ThreadSanitizer.rst
Log Message:
-----------
[Clang][Docs] Fix malformed code-block directive in MSan and TSan docs (#190461)
The `code-block` directives in MemorySanitizer.rst and
ThreadSanitizer.rst were missing a leading period (`. code-block`
instead of `.. code-block`). This syntax error caused Sphinx to fail to
recognize the directives, resulting in the the subsequent C code being
rendered as plain text rather than a syntax-highlighted block.
The currently broken rendering on the official docs can be seen
[here](https://clang.llvm.org/docs/MemorySanitizer.html#interaction-of-inlining-with-disabling-sanitizer-instrumentation)
and
[here](https://clang.llvm.org/docs/ThreadSanitizer.html#interaction-of-inlining-with-disabling-sanitizer-instrumentation).
Fixed the typos to ensure proper HTML rendering.
Commit: 981da65faca247557efa37f8bc55b6dc36e9b8bd
https://github.com/llvm/llvm-project/commit/981da65faca247557efa37f8bc55b6dc36e9b8bd
Author: Lei Huang <lei at ca.ibm.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/test/ClangScanDeps/prune-scanning-modules.m
M llvm/test/tools/llvm-objcopy/ELF/strip-preserve-atime.test
Log Message:
-----------
Invalidate tests using "touch -a" on Darwin (#192521)
Tests uses 'touch -a' which is known to fail on macOS.
Commit: 19ad75ef7f14e012fa8dac8312d0af4cdd806ee1
https://github.com/llvm/llvm-project/commit/19ad75ef7f14e012fa8dac8312d0af4cdd806ee1
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
M mlir/lib/Dialect/OpenACC/IR/CMakeLists.txt
M mlir/lib/Dialect/OpenACC/IR/OpenACCCG.cpp
M mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitDeclare.cpp
M mlir/test/Dialect/OpenACC/acc-implicit-declare.mlir
M mlir/unittests/Dialect/OpenACC/CMakeLists.txt
A mlir/unittests/Dialect/OpenACC/OpenACCCGOpsTest.cpp
Log Message:
-----------
[mlir][acc] Ensure implicit declare hoisting works for compute_region (#192501)
Any hoisting across `acc.compute_region` needs to be wired through block
arguments as the region is `IsolatedFromAbove`. Thus update
`ACCImplicitDeclare` to do so by using new API
`wireHoistedValueThroughIns` which handles the value wiring after
hoisting.
Commit: 7039515e0cb5ed48ede8634a7fc58df6f6f93d2e
https://github.com/llvm/llvm-project/commit/7039515e0cb5ed48ede8634a7fc58df6f6f93d2e
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/test/OpenMP/metadirective_device_arch_codegen.cpp
M offload/test/offloading/ompx_coords.c
Log Message:
-----------
[OpenMP] Fix convention of SPIRV outline functions (#192450)
When creating an outline function for device code we're not setting the
right calling convention when the target is SPIRV. This results in the
calls to the function to be removed by the InstCombine pass as it thinks
is not callable.
Commit: c195385e0b6512736b2edf9d6f576115ccb645cc
https://github.com/llvm/llvm-project/commit/c195385e0b6512736b2edf9d6f576115ccb645cc
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M utils/bazel/MODULE.bazel
M utils/bazel/MODULE.bazel.lock
Log Message:
-----------
[bazel] Update rules_python (#192518)
This pulls in this fix
https://github.com/bazel-contrib/rules_python/pull/3420
Commit: 6ff9ca2f1918e60c7e0dad327541dcbb7ea25ff2
https://github.com/llvm/llvm-project/commit/6ff9ca2f1918e60c7e0dad327541dcbb7ea25ff2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Don't check isApplicableToPLI for simm12 constants. (#192522)
It won't match except when the constant is -1, which we should use li
for. This avoids an unecessary call for hasAllWUsers in that case.
Commit: a8f1f387255a56c3080682ad62015670cca697df
https://github.com/llvm/llvm-project/commit/a8f1f387255a56c3080682ad62015670cca697df
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M mlir/unittests/Dialect/OpenACC/OpenACCCGOpsTest.cpp
Log Message:
-----------
[mlir][acc] Fix OpenACCCGOpsTest ValueRange construction (#192529)
Ensure that `Value`s are used in the `ValueRange` construction to avoid
failure:
`error: call of overloaded ValueRange(mlir::acc::ParWidthOp&) is
ambiguous`
Commit: 2c56a63b4969be7c5938db6e7e085288224b8621
https://github.com/llvm/llvm-project/commit/2c56a63b4969be7c5938db6e7e085288224b8621
Author: David CARLIER <devnexen at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M bolt/lib/Passes/Instrumentation.cpp
Log Message:
-----------
[BOLT][Passes] switch remaining Instrumentation containers to ADT. (#192525)
Follow-up to #192289. Swap the remaining `std::unordered_set`/
`std::unordered_map` containers in `Instrumentation.cpp` for `DenseSet`/
`DenseMap`: the `BBToSkip` param and `Visited` local in
`hasAArch64ExclusiveMemop`, and `BBToSkip`, `BBToID`, `VisitedSet` in
`instrumentFunction`. Drop the now-unused `<unordered_set>` include.
The swap removes per-element heap allocations on the hot path, stops
inserting empty buckets on probes where a miss is possible, and replaces
hashed-bucket traversal over node-based storage with lookups over inline
`DenseMap` storage. `BBToID` reads keep `operator[]` since the map is
pre-populated for every basic block of the function, so no
default-construct path is ever taken. NFC.
Measured on `llvm-bolt -instrument` against a relocations-linked
clang-23: -1.3% instrumentation-pass wall time, peak RSS unchanged
(dominated by instrumentation output size).
Commit: 046fd10b5e2592f10b4b0f90279d53ad24e71af6
https://github.com/llvm/llvm-project/commit/046fd10b5e2592f10b4b0f90279d53ad24e71af6
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/test/DebugInfo/Generic/bounds-checking-debuginfo.c
M clang/test/DebugInfo/Generic/cfi-check-fail-debuginfo.c
M clang/test/DebugInfo/Generic/cfi-icall-generalize-debuginfo.c
M clang/test/DebugInfo/Generic/cfi-icall-normalize2-debuginfo.c
M clang/test/DebugInfo/Generic/ubsan-function-debuginfo.c
M clang/test/DebugInfo/Generic/unsigned-promotion-debuginfo.c
Log Message:
-----------
UBSan: Use ubsan_interface.h for synthetic debug info (#171929)
Before the patch, even with the same synthetic function name, they
counted as different functions, because the file name was different.
This makes it easier to analyze data in performance profiles.
`pprof -lines -top <somefile> | grep __ubsan_check_pointer_overflow`
Before:
```
60368049443 6.26% 6.26% 60383492016 6.26% __ubsan_check_pointer_overflow test-suite/MultiSource/Benchmarks/TSVC/tsc.inc (inline)
43746146224 4.53% 10.79% 43763767409 4.54% __ubsan_check_pointer_overflow test-suite/MultiSource/Benchmarks/SciMark2-C/SparseCompRow.c (inline)
11670846196 1.21% 26.03% 11673592781 1.21% __ubsan_check_pointer_overflow test-suite/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/csr_matvec.c (inline)
7948730683 0.82% 29.07% 7949496154 0.82% __ubsan_check_pointer_overflow test-suite/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/rmatmult3.c (inline)
7442972883 0.77% 30.62% 7447647795 0.77% __ubsan_check_pointer_overflow test-suite/MultiSource/Benchmarks/mafft/Galign11.c (inline)
7181873035 0.74% 32.88% 7182846509 0.74% __ubsan_check_pointer_overflow test-suite/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/relax.c (inline)
7086681860 0.73% 33.61% 7086681860 0.73% __ubsan_check_pointer_overflow test-suite/MultiSource/Benchmarks/SciMark2-C/FFT.c (inline)
6634628163 0.69% 35.03% 6644529197 0.69% __ubsan_check_pointer_overflow test-suite/MultiSource/Benchmarks/Olden/em3d/make_graph.c (inline)
5778832834 0.6% 37.55% 5778832835 0.6% __ubsan_check_pointer_overflow test-suite/MultiSource/Benchmarks/SciMark2-C/LU.c (inline)
5707159214 0.59% 38.14% 5707159214 0.59% __ubsan_check_pointer_overflow test-suite/MultiSource/Benchmarks/SciMark2-C/Random.c (inline)
5265117200 0.55% 40.99% 5266753453 0.55% __ubsan_check_pointer_overflow test-suite/MultiSource/Benchmarks/Trimaran/netbench-url/search.c (inline)
```
After:
```
143372006423 14.76% 14.76% 143426398982 14.76% __ubsan_check_pointer_overflow sanitizer/ubsan_interface.h (inline)
16972753760 1.75% 31.03% 16979483803 1.75% __ubsan_check_pointer_overflow test-suite/MultiSource/Benchmarks/TSVC/tsc.inc (inline)
14296973786 1.47% 32.50% 14297951231 1.47% __ubsan_check_pointer_overflow test-suite/MultiSource/Benchmarks/SciMark2-C/SparseCompRow.c (inline)
7857020738 0.81% 36.93% 7857966628 0.81% __ubsan_check_pointer_overflow test-suite/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/csr_matvec.c (inline)
6956467376 0.72% 41.47% 6958074907 0.72% __ubsan_check_pointer_overflow test-suite/MultiSource/Benchmarks/Olden/em3d/make_graph.c (inline)
5502783427 0.57% 45.07% 5502783429 0.57% __ubsan_check_pointer_overflow test-suite/MultiSource/Benchmarks/SciMark2-C/LU.c (inline)
```
Commit: b2e0403b11de1ce60fbf2aadec0cc4efb44cd4c4
https://github.com/llvm/llvm-project/commit/b2e0403b11de1ce60fbf2aadec0cc4efb44cd4c4
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/llvm-libc-types/x86_64/ucontext_t.h
M libc/src/CMakeLists.txt
A libc/src/ucontext/CMakeLists.txt
A libc/src/ucontext/getcontext.h
A libc/src/ucontext/setcontext.h
A libc/src/ucontext/x86_64/CMakeLists.txt
A libc/src/ucontext/x86_64/getcontext.cpp
A libc/src/ucontext/x86_64/setcontext.cpp
M libc/test/integration/src/CMakeLists.txt
A libc/test/integration/src/ucontext/CMakeLists.txt
A libc/test/integration/src/ucontext/ucontext_test.cpp
M libc/test/src/CMakeLists.txt
A libc/test/src/ucontext/CMakeLists.txt
A libc/test/src/ucontext/ucontext_test.cpp
Log Message:
-----------
[libc] Implement getcontext and setcontext for x86_64 (#192343)
Implemented getcontext and setcontext for x86_64 architecture in LLVM
libc. These functions use inline assembly with naked attributes to
capture and restore the exact register state.
Added:
* src/ucontext/getcontext.h and setcontext.h
* src/ucontext/x86_64/getcontext.cpp and setcontext.cpp
* Hermetic integration test for register preservation.
* Unit tests for basic functionality and signal mask preservation.
Updated entrypoints for x86_64 Linux.
Commit: c88d891f2b693dbc45a2d0e155974a9541905755
https://github.com/llvm/llvm-project/commit/c88d891f2b693dbc45a2d0e155974a9541905755
Author: Vicky Nguyen <vicky.trucviennguyen at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
Log Message:
-----------
[CIR][AArch64] Upstream pairwise-minimum NEON builtins (#191759)
Related to https://github.com/llvm/llvm-project/issues/185382
CIR lowering for pairwise-minimum intrinsics
(https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#pairwise-minimum)
Port tests from `clang/test/CodeGen/AArch64/neon_intrinsics.c` to
`clang/test/CodeGen/AArch64/neon/intrinsics.c`
Commit: b104dab739ad6ad60ef0725d563d9a4ae640c5bf
https://github.com/llvm/llvm-project/commit/b104dab739ad6ad60ef0725d563d9a4ae640c5bf
Author: gulfemsavrun <gulfem at google.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/lib/Lex/PPExpressions.cpp
M clang/test/Lexer/cxx-features.cpp
R clang/test/Preprocessor/p2843r3.cpp
M clang/www/cxx_status.html
Log Message:
-----------
Revert "[Clang] Implement P2843R3 - Preprocessing is never undefined" (#192532)
Reverts llvm/llvm-project#192073
Reason for revert: This change caused build failures on Windows when
compiling libcxx.
Commit: 59c6862804e2638ac8a4b57de505dfb963871d6d
https://github.com/llvm/llvm-project/commit/59c6862804e2638ac8a4b57de505dfb963871d6d
Author: Bill Wendling <morbo at google.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/test/CodeGen/asm.c
Log Message:
-----------
[Clang] Refactor the tests to be more uniform (#191944)
- Add missing "CHECK:" lines to testcases.
- Improve checking to be a bit more readable.
- Move "rm" testcases to the bottom in anticipation of
future refactoring.
Commit: dd81356eacdd78d6781772e4ca5a25482a347b68
https://github.com/llvm/llvm-project/commit/dd81356eacdd78d6781772e4ca5a25482a347b68
Author: Sherman Pay <shermanpay1991 at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/PrettyPrinter.h
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/test/AST/ast-printer-lambda.cpp
A clang/test/AST/constexpr-lambda-diagnostic.cpp
Log Message:
-----------
Suppress printing lambda body for constexpr diagnostics (#185800)
closes #125914
Introduce `SupressLambdaBody` `PrintingPolicy` that is used only for
constexpr diagnostics. This ensures `--print-ast` still works the same.
I also considered other approaches such as modifying the
`PrintingPolicy` in the current `AstContext`, but that might cause
unexpected changes.
Add two tests:
1. To ast-printer-lambda to ensure `--print-ast` works the same.
2. Ensure lambda body is not printed for constexpr diagnostics.
Commit: db4dfdce0b6cb4eaf56804c91ffa91bea1cf16ac
https://github.com/llvm/llvm-project/commit/db4dfdce0b6cb4eaf56804c91ffa91bea1cf16ac
Author: Sharjeel Khan <sharjeelkhan at google.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M libcxx/utils/ci/BOT_OWNERS.txt
Log Message:
-----------
[libc++] Update Android CI owners (#192511)
Add nickdesaulniers as an owner for Android libc++ CI
Commit: 9d51c891b7191914952fa783ffd05acb96dafe2d
https://github.com/llvm/llvm-project/commit/9d51c891b7191914952fa783ffd05acb96dafe2d
Author: 4ast <alexei.starovoitov at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Target/BPF/BPFAsmPrinter.cpp
M llvm/lib/Target/BPF/BPFAsmPrinter.h
M llvm/lib/Target/BPF/BPFISelLowering.h
A llvm/test/CodeGen/BPF/cleanup-reject-typed-catch.ll
A llvm/test/CodeGen/BPF/cleanup-section.ll
Log Message:
-----------
[BPF] Add exception handling support with .bpf_cleanup section (#192164)
Add support for invoke/landingpad/resume instructions in the BPF backend
so that Rust programs compiled with panic=unwind can run cleanup code
(Drop implementations) when bpf_throw fires.
Changes:
1. BPFISelLowering: Define exception pointer and selector registers
(both R0) so SelectionDAG can lower landingpad instructions.
2. BPFAsmPrinter::emitFunctionBodyEnd: Emit a .bpf_cleanup section with
a flat table of (begin, end, landing_pad) triples using
R_BPF_64_NODYLD32 relocations.
The .bpf_cleanup section layout (12 bytes per entry):
u32 begin // start of the invoke region
u32 end // end of the invoke region
u32 landing_pad // address of the cleanup block
The invoke region [begin, end) includes argument setup instructions
before the call. The runtime checks begin <= PC < end to find the
matching landing pad.
Landing pad blocks survive optimization because invoke maintains CFG
edges to them throughout codegen, same as every other backend. The
standard .gcc_except_table and .eh_frame are also emitted by the
existing DwarfCFIException handler; libbpf will ignore them.
In runtime:
- bpf_throw() is called (from panic handler)
- Kernel walks the BPF call stack with arch_bpf_stack_walk()
- For each frame, look up current PC in .bpf_cleanup table
- If match found: redirect execution to the cleanup function . cleanup
function runs Drop impls (bpf_free, rcu_read_unlock, etc.) . calls
_Unwind_Resume() which is patched to just 'ret' by the verifier .
bpf_throw() pops frame goes to next
- If no match: go to next frame
Signed-off-by: Alexei Starovoitov <ast at kernel.org>
Co-authored-by: Alexei Starovoitov <ast at kernel.org>
Commit: 9de94147b5ed83f9078f0f0f3a67b25cc2abb093
https://github.com/llvm/llvm-project/commit/9de94147b5ed83f9078f0f0f3a67b25cc2abb093
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Use find instead of lookup for using ArrayRef instead of SmallVector
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/192540
Commit: b3cbad3214fcec02487b5ab4f6652c37ecb3467a
https://github.com/llvm/llvm-project/commit/b3cbad3214fcec02487b5ab4f6652c37ecb3467a
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M mlir/include/mlir/Dialect/Transform/IR/TransformDialect.h
M mlir/include/mlir/Dialect/Transform/IR/TransformDialect.td
M mlir/include/mlir/Dialect/Transform/IR/TransformTypes.td
M mlir/include/mlir/Dialect/Transform/Interfaces/CMakeLists.txt
M mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.h
M mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.td
M mlir/lib/Dialect/Transform/IR/TransformAttrs.cpp
M mlir/lib/Dialect/Transform/IR/TransformDialect.cpp
M mlir/lib/Dialect/Transform/IR/TransformTypes.cpp
M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
A mlir/test/Dialect/Transform/normal-forms.mlir
M mlir/test/Dialect/Transform/ops-invalid.mlir
M mlir/test/lib/Dialect/Transform/CMakeLists.txt
M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp
M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.h
M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.td
Log Message:
-----------
[mlir] transform dialect; add pre/post-condition type (#191813)
Add a transform dialect type denoting additional invariants on payload
IR usable for pre/post-conditions of a transformation. The invariants
are defined as a list of attributes in the type parameter, where the
attribute implements the interface for invariant-checking. This allows
clients to factor out, explicify and deduplicate precondition
verification logic.
This required adding support for Transform dialect extensions injecting
attributes into the dialects similarly to how they already do this for
operations and types.
Co-authored-by: Tim Gymnich <tim at gymni.ch>
Co-authored-by: Martin Lücke <martin.luecke at amd.com>
Assisted-by: Claude Opus 4.3 / Cursor
Co-authored-by: Tim Gymnich <tim at gymni.ch>
Co-authored-by: Martin Lücke <martin.luecke at amd.com>
Commit: 04a502d04d6030ed417b244faf51a35904384924
https://github.com/llvm/llvm-project/commit/04a502d04d6030ed417b244faf51a35904384924
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/lib/Evaluate/tools.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
Log Message:
-----------
[flang][cuda] Avoid false positive on multi device symbol with components (#192513)
Semantic was wrongly flagging derived-type components as two device
resident object. Update how we collect symbols and count the number of
device resident object.
Commit: fa44ca8e5ef6f57c03ba55a4c7b944c9a3ee633e
https://github.com/llvm/llvm-project/commit/fa44ca8e5ef6f57c03ba55a4c7b944c9a3ee633e
Author: Congzhe Cao <congzhe.cao at huawei.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopBoundSplit.cpp
Log Message:
-----------
[LoopBoundSplit] Fix edge connections during transformation (#192106)
Fixed #190672.
The issue is caused by invalid intermediate IR when `getSCEV()` is
called during transformation: the exiting block of `pre-loop` did not
re-connect to preheader of the `post-loop`, causing `LI.verify()`
unable to correctly recompute another LoopInfo for verification.
To fix, reconnect the edge earlier before calling `getSCEV()`.
Also moved the DT updates to more appropriate places right after IR
control flow has changed. and added a few LI and DT verifications to
improve robustness of the pass.
Commit: 22acd64a1b15cd7ccf60393340a59a6e0569edb9
https://github.com/llvm/llvm-project/commit/22acd64a1b15cd7ccf60393340a59a6e0569edb9
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AArch64/spillcost-loop-backedge.ll
Log Message:
-----------
[SLP][NFC]Add a test with the spill cost overestimation for blocks, dominated by root
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/192556
Commit: 030be3f7045633622158859bb2ffcd99cb5e9f4a
https://github.com/llvm/llvm-project/commit/030be3f7045633622158859bb2ffcd99cb5e9f4a
Author: Sirraide <aeternalmail at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M clang/test/SemaCXX/void-lambda-return-init.cpp
Log Message:
-----------
[Clang] [Tests] Add more tests for 87104ee (#192555)
Requested by Shafik:
https://github.com/llvm/llvm-project/pull/188904#discussion_r3090555425
Commit: 9f74e0f7df988977a643f847b83ce77b93780442
https://github.com/llvm/llvm-project/commit/9f74e0f7df988977a643f847b83ce77b93780442
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes b3cbad3 (#192554)
This fixes b3cbad3214fcec02487b5ab4f6652c37ecb3467a.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: bbf325be7e2d2078cba058e3fb4763d756b15d41
https://github.com/llvm/llvm-project/commit/bbf325be7e2d2078cba058e3fb4763d756b15d41
Author: Aman LaChapelle <aman.lachapelle at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M lldb/include/lldb/API/SBVariablesOptions.h
M lldb/include/lldb/Interpreter/OptionGroupVariable.h
A lldb/include/lldb/Utility/ValueType.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/API/SBVariablesOptions.cpp
M lldb/source/Interpreter/OptionGroupVariable.cpp
Log Message:
-----------
[lldb] Scaffolding for synthetic variable support. (#181500)
This patch handles most of the scaffolding for synthetic variable support that isn't directly tied to functional changes. This patch will be used by one following patch that actually modifies the lldb_private::StackFrame API to allow us to fetch synthetic variables.
There were a couple important/interesting decisions made in this patch that should be noted:
- Any value type may be synthetic, which is why it's a mask applied over the top of another value type.
- When printing frame variables with `fr v`, default to showing synthetic variables.
This new value type mask makes some of the ValueType handling more interesting, but since nothing generates objects with this mask until the next patch, we can land the concept in this patch in some amount of isolation.
Commit: 393207a1408a93fa5831a97a298c5d6dda96617e
https://github.com/llvm/llvm-project/commit/393207a1408a93fa5831a97a298c5d6dda96617e
Author: Brendan Dahl <brendan.dahl at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrMemory.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/test/CodeGen/WebAssembly/f16-intrinsics.ll
Log Message:
-----------
[WebAssembly] Improve FP16 load and store generation. (#191274)
Previously, these LL instructions were expanded to software emulation
calls, causing performance overhead in benchmarks. By making these
operations legal and providing patterns, we can generate efficient code
using the new instructions.
Commit: daf814c4319b4cbf183a55df0030d0706630999e
https://github.com/llvm/llvm-project/commit/daf814c4319b4cbf183a55df0030d0706630999e
Author: Victor Mustya <victor.mustya at intel.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M libclc/opencl/lib/generic/atomic/atomic_fetch_add.cl
M libclc/opencl/lib/generic/atomic/atomic_fetch_sub.cl
Log Message:
-----------
[libclc] Fix atomic_fetch_add/sub overloads for uintptr_t (#192570)
The overloads taking the memory order and/or scope parameters should
have the `_explicit` suffix, according to the OpenCL C specification.
Commit: 2664fd38127d463765d17573bec238f31a92cbaf
https://github.com/llvm/llvm-project/commit/2664fd38127d463765d17573bec238f31a92cbaf
Author: Abhinav Gaba <abhinav.gaba at intel.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M offload/test/mapping/map_ordering_tgt_exit_data_always_always.c
M offload/test/mapping/map_ordering_tgt_exit_data_delete_from.c
M offload/test/mapping/map_ordering_tgt_exit_data_delete_from_assumedsize.c
M offload/test/mapping/map_ordering_tgt_exit_data_from_delete_assumedsize.c
Log Message:
-----------
[NFC][OpenMP] Make map ordering tests for no host->tgt transfer more robust (#192571)
They were relying on the host value not being seen on the device, but
the value being matched was small enough for the probability of a
successful match against garbage data relatively high.
Now we just rely on the LIBOMPTARGET_DEBUG logs to ensure there wasn't
any transfer.
Commit: 3b1cc610162b118ba422b5dccde2c3718ed55614
https://github.com/llvm/llvm-project/commit/3b1cc610162b118ba422b5dccde2c3718ed55614
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M flang-rt/lib/cuda/pointer.cpp
M flang/include/flang/Runtime/CUDA/pointer.h
M flang/lib/Optimizer/Transforms/CUDA/CUFAllocationConversion.cpp
M flang/test/Fir/CUDA/cuda-allocate.fir
Log Message:
-----------
[flang][cuda] Add missing pointer deallocation entry point (#192566)
We were missing the deallocation entry point for pointer and wiring all
to allocatable deallocate which will trigger Invalid descriptor error.
Commit: 4b6231d410696dad377f4997cc17ac886fcbab57
https://github.com/llvm/llvm-project/commit/4b6231d410696dad377f4997cc17ac886fcbab57
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.h
M flang/include/flang/Support/Fortran.h
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Semantics/cuf03.cuf
Log Message:
-----------
[flang][cuda] Accept attributes(value) as a CUDA Fortran extension (#192560)
This is accepted by legacy compiler and is part of some documentation
Commit: c78f80c405a005346f8b2dd3f8605851df294900
https://github.com/llvm/llvm-project/commit/c78f80c405a005346f8b2dd3f8605851df294900
Author: Akimasa Watanuki <mencotton0410 at gmail.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
A clang/test/CIR/IR/branch.cir
A clang/test/CIR/IR/do-while.cir
A clang/test/CIR/IR/for.cir
A clang/test/CIR/IR/while.cir
Log Message:
-----------
[CIR][NFC] Upstream IR roundtrip tests for branch and loop ops (#189006)
Add `clang/test/CIR/IR` roundtrip tests for `cir.br`, `cir.brcond`,
`cir.for`, `cir.while`, and `cir.do`.
This adds parser/printer coverage for the textual forms of these
control-flow operations.
Partially addresses #156747.
Commit: 03312094b8243bb54b5bc8d89dea923fc09ce885
https://github.com/llvm/llvm-project/commit/03312094b8243bb54b5bc8d89dea923fc09ce885
Author: Jim Lin <jim at andestech.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/RISCV/rvv/buildvec-sext.ll
Log Message:
-----------
[DAGCombiner] Extend convertBuildVecZextToZext to sign extends (#192372)
Generalize the existing fold that collapses a BUILD_VECTOR of ZERO_EXTEND
(or ANY_EXTEND) of EXTRACT_VECTOR_ELTs into a single vector extend so that
it also handles SIGN_EXTEND. Mixed sign and zero extends remain unsupported
because their high-bit semantics differ, so the combine bails out in that
case.
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
Commit: 114f6627d927f560550136c2b43747dc77f3ee9d
https://github.com/llvm/llvm-project/commit/114f6627d927f560550136c2b43747dc77f3ee9d
Author: aokblast <aokblast at FreeBSD.org>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[llvm-readobj][ELF] Remove redundant error in reportWarning (#192458)
Commit: 27769d7b5976c40f43f535ef19bcc6f8603fc3f6
https://github.com/llvm/llvm-project/commit/27769d7b5976c40f43f535ef19bcc6f8603fc3f6
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/test/CodeGen/RISCV/machine-outliner-call-x5-liveout.mir
A llvm/test/CodeGen/RISCV/machine-outliner-reserved-regs.mir
A llvm/test/CodeGen/RISCV/machine-outliner-x5-regsave-rv32e.mir
A llvm/test/CodeGen/RISCV/machine-outliner-x5-regsave.mir
Log Message:
-----------
[RISCV] Support MachineOutlinerRegSave for RISCV (#191351)
This patch adds support for the RegSave strategy in the RISC-V
MachineOutliner pass. It uses t1–t6 to preserve the t0 value across the
outlined function call when t0 is unavailable. This enables more
potential outlining candidates.
---------
Co-authored-by: Craig Topper <craig.topper at sifive.com>
Commit: 91fcdab8983a5f014528949183e9992940404782
https://github.com/llvm/llvm-project/commit/91fcdab8983a5f014528949183e9992940404782
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
Log Message:
-----------
[mlir][memref] Remove unit-stride restriction in SubViewOp folding (#192437)
This PR replaces manual offset/size resolution with `affine::mergeOffsetsSizesAndStrides`, simplifying the code and extending subview-of-subview folding to support non-unit strides.
Commit: 7094eb52d8cbaa9faeb635bfb6f6c06e6cd52b64
https://github.com/llvm/llvm-project/commit/7094eb52d8cbaa9faeb635bfb6f6c06e6cd52b64
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M libc/src/__support/threads/CMakeLists.txt
M libc/src/__support/threads/CndVar.h
M libc/src/__support/threads/darwin/futex_utils.h
A libc/src/__support/threads/futex_utils.h
M libc/src/__support/threads/linux/futex_utils.h
M libc/src/__support/threads/raw_mutex.h
M libc/src/__support/threads/raw_rwlock.h
M libc/src/semaphore/CMakeLists.txt
M libc/src/semaphore/posix_semaphore.h
M libc/test/integration/src/__support/threads/CMakeLists.txt
A libc/test/integration/src/__support/threads/futex_requeue_test.cpp
M libc/test/src/__support/threads/CMakeLists.txt
A libc/test/src/__support/threads/futex_utils_test.cpp
Log Message:
-----------
[libc][threads] adjust futex library and expose requeue API (#192478)
Make futex a common abstraction layer across platforms.
(linux/wasm/macOS/windows/fuchsia all have the support, which we can
align their support later on).
This patch also expose a requeue API that returns ENOSYS on unsupported
platforms. The requeue operation will be needed to reimplement a strict
FIFO style condvar similar to musl.
Additional cleanup is done to change raw syscall return value to
`ErrorOr<int>`.
Assisted-by: Codex with gpt-5.4 medium fast
Commit: 685ee06ff810e818a55b4b0d10f93dd75303a84c
https://github.com/llvm/llvm-project/commit/685ee06ff810e818a55b4b0d10f93dd75303a84c
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 7094eb5 (#192584)
This fixes 7094eb52d8cbaa9faeb635bfb6f6c06e6cd52b64.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 7cabc53157287698fa33a310466e9ae4d49c73f9
https://github.com/llvm/llvm-project/commit/7cabc53157287698fa33a310466e9ae4d49c73f9
Author: hev <wangrui at loongson.cn>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/add.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/sub.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/add.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/sub.ll
Log Message:
-----------
[LoongArch][NFC] Add tests for add/sub with negative splat immediates (#191965)
Commit: 2bac8d6ebe9003f6ad575a5e2b4465fd1449dea7
https://github.com/llvm/llvm-project/commit/2bac8d6ebe9003f6ad575a5e2b4465fd1449dea7
Author: hev <wangrui at loongson.cn>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/and.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/nor.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/or.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/xor.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/and.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/nor.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/or.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/xor.ll
Log Message:
-----------
[LoongArch][NFC] Add tests for bitwise with byte splat immediates (#192216)
Commit: 8398672dca5dcc53b56620b70659e38ea30f2f98
https://github.com/llvm/llvm-project/commit/8398672dca5dcc53b56620b70659e38ea30f2f98
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fptrunc.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/fptrunc.ll
Log Message:
-----------
[LoongArch][NFC] Pre-commit tests for vector fptrunc from vxf64 to vxf32 (#164058)
Commit: ab94dbc0569368290c7b400e9b47981193b73e69
https://github.com/llvm/llvm-project/commit/ab94dbc0569368290c7b400e9b47981193b73e69
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/test/AST/ByteCode/cxx20.cpp
Log Message:
-----------
[clang][bytecode] Mark pointers destroyed in destructors (#192460)
We didn't use to do this at all, so calling the destructor explicitly
twice in a row wasn't an error. Calling it and accessing the object
afterwards wasn't an error either.
Commit: fca80b4ff3fc00d95a1ae6412e838c04443f55ef
https://github.com/llvm/llvm-project/commit/fca80b4ff3fc00d95a1ae6412e838c04443f55ef
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-alloca-placement.ll
Log Message:
-----------
[AMDGPU][ASAN] Move allocas to entry block in amdgpu-sw-lower-lds pass (#190772)
The `amdgpu-sw-lower-lds` pass inserts a workitem-0 check, malloc, and
barrier before the original entry block, creating a new entry block.
This pushes the original allocas into a non-entry block, causing LLVM to
treat them as dynamic allocas.
AMDGPU backend generates incorrect flat addresses for dynamic alloca
addrspacecasts at -O0, causing memory faults when ASan is enabled with
LDS.
This PR hoists constant-size allocas to the new entry block so they
remain static.
Commit: ede75e5d5dfb9b9481c1ae2c332085d24d9744df
https://github.com/llvm/llvm-project/commit/ede75e5d5dfb9b9481c1ae2c332085d24d9744df
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/cxx20.cpp
Log Message:
-----------
[clang][bytecode] Don't diagnose const assignments... (#192593)
... when we're in CPCE mode.
Commit: 19463aab0271572a3e9e2f45ec21014553241c05
https://github.com/llvm/llvm-project/commit/19463aab0271572a3e9e2f45ec21014553241c05
Author: Konrad Kleine <kkleine at redhat.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFCFIPrinter.cpp
Log Message:
-----------
[llvm][DebugInfo] Use formatv in DWARFCFIPrinter (#191982)
This relates to #35980.
Commit: b4e75e158e460f66407bd5be7d13a38ff61d816a
https://github.com/llvm/llvm-project/commit/b4e75e158e460f66407bd5be7d13a38ff61d816a
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M libc/src/ucontext/getcontext.h
M libc/src/ucontext/setcontext.h
M libc/src/ucontext/x86_64/getcontext.cpp
M libc/src/ucontext/x86_64/setcontext.cpp
Log Message:
-----------
[libc][nfc] Fix ucontext buildbot failure with noexcept (#192343) (#192601)
Added noexcept to getcontext and setcontext declarations and definitions
to resolve missing attribute warning on aliases.
This fixes failures on builders using GCC like
libc-x86_64-debian-gcc-fullbuild-dbg.
Commit: 10536d48b700e82101d9c8f4a0a87c999b6f9251
https://github.com/llvm/llvm-project/commit/10536d48b700e82101d9c8f4a0a87c999b6f9251
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M llvm/include/llvm/Transforms/IPO/LowerTypeTests.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/test/Other/fatlto.ll
M llvm/test/Other/new-pm-O0-defaults.ll
M llvm/test/Other/new-pm-lto-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
M llvm/test/ThinLTO/X86/lower_type_test_phi.ll
M llvm/test/Transforms/LowerTypeTests/drop_type_test.ll
M llvm/test/Transforms/LowerTypeTests/drop_type_test_phi.ll
M llvm/test/Transforms/LowerTypeTests/drop_type_test_select.ll
Log Message:
-----------
[CFI] Extract DropTypeTestsPass from LowerTypeTestsPass (#192578)
This patch introduces `DropTypeTestsPass` as a dedicated pass
to handle the dropping of type tests. Previously, this was handled
by `LowerTypeTestsPass` with a specific parameter.
By splitting this into its own pass, we simplify the pass pipeline
construction and make the intent clearer in `PassRegistry.def` and
various pipeline builders.
It's almost NFC, if not opt command line changes.
Commit: 8671b797be7a9b6424ed33b7df1f4869412fe4db
https://github.com/llvm/llvm-project/commit/8671b797be7a9b6424ed33b7df1f4869412fe4db
Author: Mel Chen <mel.chen at sifive.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
Log Message:
-----------
[LV][RISCV] Fix incorrect pointer operand in interleaved access tests. nfc (#192464)
In some load cases, the index 1 member used the same pointer as the
index 0 member. This patch corrected the pointer use.
Commit: bcc606cd0e04735af71988498c59362e81a25d8b
https://github.com/llvm/llvm-project/commit/bcc606cd0e04735af71988498c59362e81a25d8b
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M mlir/lib/Dialect/Shard/Transforms/Partition.cpp
Log Message:
-----------
[NFC][mlir][shard] Unify MoveLastSplitAxisPattern/MoveLastSplitAxisPattern (#192295)
Made MoveLastSplitAxisPattern more general to also cover MoveLastSplitAxisPattern.
Less code, same functionality.
Assisted by claude.
Commit: 2fdd23f7a32c15e07a2217abbcfec35092dffc59
https://github.com/llvm/llvm-project/commit/2fdd23f7a32c15e07a2217abbcfec35092dffc59
Author: Brad Smith <brad at comstyle.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/aarch64/hwcap.inc
Log Message:
-----------
[compiler-rt][AArch64][NFC] Sort HWCAP entries (#192370)
Commit: a02d955b334c3b65a08159bb869018e8a7f0f81c
https://github.com/llvm/llvm-project/commit/a02d955b334c3b65a08159bb869018e8a7f0f81c
Author: Matthias Springer <me at m-sp.org>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/vector-contract-to-matrix-intrinsics-transforms.mlir
M mlir/test/Dialect/XeGPU/xegpu-vector-linearize.mlir
Log Message:
-----------
[mlir][vector] Fold poison operands into vector.shuffle mask (#190932)
Fold poison operands into the `vector.shuffle` mask. This commit also
splits up the `vector::ShuffleOp::fold` implementation into multiple
helper functions.
Assisted-by: claude-4.6-opus-high
Commit: 7f5588f35abefa7f961fd471eb5282ab384dc46a
https://github.com/llvm/llvm-project/commit/7f5588f35abefa7f961fd471eb5282ab384dc46a
Author: Dmitrii Makarenko <dmitrii.makarenko at intel.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.td
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[MLIR] make One-Shot and SCF bufferization TensorLikeType-aware (#189073)
Fix bufferization inconsistencies between builtin tensor types and
custom TensorLikeType implementations across One-Shot analysis/module
paths and SCF bufferization interfaces.
The main issue was a mix of TensorType/RankedTensorType checks in places
that need TensorLikeType-aware handling. This could leave
function-boundary equivalence/aliasing incomplete for custom tensor-like
types, leading to spurious SCF loop equivalence verification failures.
This change:
- switches relevant One-Shot analysis/module checks from TensorType/
RankedTensorType to TensorLikeType;
- updates generic/default aliasing utilities to treat TensorLikeType
consistently;
- updates SCF BufferizableOpInterface implementations
(for/while/if/yield related paths) to use TensorLikeType/BufferLikeType
where appropriate;
- updates test custom ops to provide required aliasing/getBufferType
hooks for custom tensor-like types;
- refreshes and renames custom_types SCF tests to explicitly check
memref replacement after bufferization.
Potential follow-ups / known risk areas:
- SCF.Forall shared_outs still has RankedTensorType assumptions in
signatures/ paths and should be audited for full TensorLikeType
coverage.
- SCF.For and SCF.While resolveConflicts call
allocateTensorForShapedValue, which currently assumes ranked
tensor/memref copy paths; this may still be a limitation for some
tensor-like/unranked scenarios.
---------
Signed-off-by: Dmitrii Makarenko <dmitrii.makarenko at intel.com>
Commit: 1963feb560d6f95c0402c48d3c75bcb06057827c
https://github.com/llvm/llvm-project/commit/1963feb560d6f95c0402c48d3c75bcb06057827c
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[LV] Replace "BinOp" with "ExtendedOp" in partial reduction transforms (NFCI) (#192422)
"BinOp" as not been accurate for a while (as it's sometime just an
extend). After #188043, it can now also be an "abs" in some cases.
This patch renames "BinOp" to "ExtendedOp" (in line with
matchExtendedReductionOperand). It also updates some doc comments and
tweaks matching the "ExtendedOp" in transformToPartialReduction.
Commit: b2317cc584b84b275a60004226b5962e635c4fda
https://github.com/llvm/llvm-project/commit/b2317cc584b84b275a60004226b5962e635c4fda
Author: Matthias Springer <me at m-sp.org>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M mlir/include/mlir/Conversion/ArithCommon/AttrToLLVMConverter.h
M mlir/include/mlir/Dialect/Arith/IR/ArithBase.td
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Dialect/Arith/canonicalize.mlir
M mlir/test/Dialect/Arith/ops.mlir
Log Message:
-----------
[mlir][arith] Add rounding mode flags to binary arithmetic operations (#188458)
Add rounding mode flags for `addf`, `subf`, `mulf`, `divf`. This
addresses a TODO in the op description.
The folder now takes into account the specified rounding mode. If no
rounding mode is specified, the folders/canonicalizations default to
`rmNearestTiesToEven`. (This behavior has not changed.) This is
documented in the top-level arith dialect documentation. The default
arith rounding mode applies only to "internal" transformations such as
foldings/canonicalizations. In case of an unspecified explicit rounding
mode, the runtime behavior is up to the target backend.
Also add a lowering to LLVM intrinsics such as
`llvm.intr.experimental.constrained.fadd`.
Assisted-by: claude-4.6-opus-high
Commit: 6b0d268fe544b25fd1f82aad4e246f8a74e260ed
https://github.com/llvm/llvm-project/commit/6b0d268fe544b25fd1f82aad4e246f8a74e260ed
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M flang/include/flang/Lower/MultiImageFortran.h
A flang/include/flang/Optimizer/Builder/MIFCommon.h
M flang/include/flang/Optimizer/Dialect/MIF/MIFOps.td
M flang/include/flang/Optimizer/Transforms/MIFOpConversion.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/MultiImageFortran.cpp
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
A flang/lib/Optimizer/Builder/MIFCommon.cpp
M flang/lib/Optimizer/Dialect/MIF/CMakeLists.txt
M flang/lib/Optimizer/Dialect/MIF/MIFOps.cpp
M flang/lib/Optimizer/Transforms/MIFOpConversion.cpp
M flang/test/Fir/MIF/change_team.mlir
M flang/test/Fir/MIF/change_team2.mlir
A flang/test/Fir/MIF/coarray-alloc.mlir
M flang/test/Fir/MIF/form_team.mlir
M flang/test/Fir/MIF/get_team.mlir
M flang/test/Fir/MIF/sync_team.mlir
M flang/test/Fir/MIF/team_number.mlir
A flang/test/Lower/MIF/coarray_allocation.f90
A flang/test/Lower/MIF/coarray_allocation2.f90
A flang/test/Lower/MIF/coarray_allocation3.f90
A flang/test/Lower/MIF/coarray_allocation4.f90
A flang/test/Lower/MIF/coarray_allocation5.f90
Log Message:
-----------
[Flang] Adding first lowering for the allocation and deallocation of coarrays (#182110)
This PR add support of coarray allocation and deallocation in Flang and
adds two new operations to MIF:
- `mif::AllocaCoarrayOp` : Allocates a coarray
using `prif_allocate_coarray` PRIF procedure.
- `mif::DeallocaCoarrayOp` : Deallocates a coarray
using `prif_deallocate_coarray` PRIF procedure
This PR does not yet handle allocation for the following cases (which
will be added in future PRs):
- Coarrays with ALLOCATABLE and/or POINTER components (PRIF has
procedures (`prif_(de)allocate`) for this).
- Coarray dummy arguments (PRIF has also procedures for this)
- Finalization of coarrays
- non-ALLOCATABLE SAVE coarrays outside the scoping unit of the main
program (e.g. non-ALLOCATABLE coarrays declared in a module or a
procedure)
Another PR which add support of some basic intrinsics with a coarray as
an argument will follow after this one.
---------
Co-authored-by: Dan Bonachea <dobonachea at lbl.gov>
Commit: 4b2fffab5620fb937e96ef3f2911fc79a3703081
https://github.com/llvm/llvm-project/commit/4b2fffab5620fb937e96ef3f2911fc79a3703081
Author: Zhijie Wang <yesterda9 at gmail.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
Log Message:
-----------
[LifetimeSafety] Handle xvalue operand of LValueToRValue cast (#192312)
Under C++23, P2266 wraps the operand of `return p;` in an xvalue NoOp
cast for by-value parameters. The `CK_LValueToRValue` branch in
FactsGenerator guarded on `!SubExpr->isLValue()`, breaking origin flow
and silencing the suggestion for `int* id(int* p) { return p; }`.
Use `isGLValue()`, matching how origins are built and stripped elsewhere
in the analysis.
Only add a RUN in suggestion test file, since some tests in
`warn-lifetime-safety.cpp` cause a hard error under C++23. For example:
`MyObj& f() { MyObj s; return s; }`. `error: non-const lvalue reference
to type 'MyObj' cannot bind to a temporary of type 'MyObj'`.
Fixes: #176292
Commit: 8364db5096b6baa00904242eb323d66f1ef96e94
https://github.com/llvm/llvm-project/commit/8364db5096b6baa00904242eb323d66f1ef96e94
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
A llvm/test/Transforms/LoopVectorize/AArch64/splice-cost.ll
Log Message:
-----------
[LV] Fix the cost of first order recurrence splice (#192473)
The index had the wrong sign (for splice.right, the sign is negative),
which meant that it calculates the cost of a splice.left operation. For
SVE this makes a difference because a splice.left is lowered using an
unpredicated EXT instruction, whereas a splice.right is lowered using a
predicated SPLICE instruction, which needs a slightly higher cost.
The change in `reduction-recurrence-costs-sve.ll` happens because the
vector loop is now less profitable (higher cost) and therefore requires
a higher trip-count to be profitable (hence the extra umax).
Commit: 3ac04b93d0fe0c4554bf753e57047872f6f55de9
https://github.com/llvm/llvm-project/commit/3ac04b93d0fe0c4554bf753e57047872f6f55de9
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaOps.td
M mlir/test/Dialect/SPIRV/IR/tosa-ops-verification.mlir
Log Message:
-----------
[mlir][spirv] Improve type constraints for SPIR-V Tosa CastOp (#192227)
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: a4cccdc393ec8930c03d633ecf932e47d914466b
https://github.com/llvm/llvm-project/commit/a4cccdc393ec8930c03d633ecf932e47d914466b
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/predicated-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/gather-scatter-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/runtime-check-dependent-on-stride.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/VPlan/icmp-uniforms.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[VPlan] Remove constant branches early. (#183397)
Simplify constant branches early, after introducing the check in the
middle block.
This removes any trivial branches in the input CFG (e.g. over-reduced
test cases) early and also folds branches on true/false created by
addMiddleChecks. This allows to check if there's a scalar tail instead
to check if the tail has been folded, as mentioned in
https://github.com/llvm/llvm-project/pull/182507
This requires to remove recipes in the new unreachable blocks, as
otherwise we would fail during verification, due to uses in unreachable
blocks. Alternatively, we may be able to skip verification for uses in
unreachable blocks.
Depends on https://github.com/llvm/llvm-project/pull/181252.
PR: https://github.com/llvm/llvm-project/pull/183397
Commit: 58b65fa67f1fa25c45a92550f99c2d7f7b2c2bec
https://github.com/llvm/llvm-project/commit/58b65fa67f1fa25c45a92550f99c2d7f7b2c2bec
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M cross-project-tests/lit.cfg.py
Log Message:
-----------
[cross-project-tests][lit] Print LLDB version when configuring tests (#192614)
Useful when debugging issues with the LLDB tests.
Commit: 935413c3cb8eabf3e69181c986c8899affa13d7a
https://github.com/llvm/llvm-project/commit/935413c3cb8eabf3e69181c986c8899affa13d7a
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fptrunc.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/fptrunc.ll
Log Message:
-----------
[LoongArch] Add support for vector FP_ROUND from vxf64 to vxf32 (#164059)
In LoongArch, [x]vfcvt.s.d intstructions require two vector registers
for v4f64->v4f32, v8f64->v8f32 conversions.
This patch handles these cases:
- For FP_ROUND v2f64->v2f32(illegal), add a customized v2f32 widening to
convert it into a target-specific LoongArchISD::VFCVT.
- For FP_ROUND v4f64->v4f32, on LSX platforms, v4f64 is illegal and will
be split into two v2f64->v2f32, resulting in two LoongArchISD::VFCVT.
Finally, they are combined into a single node during combining
LoongArchISD::VPACKEV. On LASX platforms, v4f64->v4f32 can directly
lower to vfcvt.s.d in lowerFP_ROUND.
- For FP_ROUND v8f64->v8f32, on LASX platforms, v8f64 is illegal and
will be split into two v4f64->v4f32 and then combine using
ISD::CONCAT_VECTORS, so we combine two ISD::FP_ROUND to
LoongArchISD::VFCVT in this phase.
Commit: b3661c2da61c5f2b6cca30a3ca2e66dfdf26acd3
https://github.com/llvm/llvm-project/commit/b3661c2da61c5f2b6cca30a3ca2e66dfdf26acd3
Author: hev <wangrui at loongson.cn>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp
M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.h
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/add.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/sub.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/add.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/sub.ll
Log Message:
-----------
[LoongArch] Select V{ADD,SUB}I for operations with negative splat immediates (#191966)
Currently, vector add/sub with a negative splat immediate is lowered as
a vector splat followed by a register-register operations, e.g.:
```
vrepli.b $vr1, -1
vadd.b $vr0, $vr0, $vr1
```
This misses the opportunity to use the more efficient V{ADD,SUB}I
instruction with a positive immediate.
This patch introduces `selectVSplatImmNeg` to detect negative splat
immediates whose negated value fits in a 5-bit unsigned immediate. New
patterns `(Pat{Vr,Vr}Nimm5)` are added to match:
```
add v, splat(-imm) --> vsubi v, v, imm
sub v, splat(-imm) --> vaddi v, v, imm
```
This avoids materializing the splat constant and reduces the instruction
count.
The transformation is applied for both LSX and LASX vector types.
Commit: 9a3f0a0e136c6a6e23515ba2769de6e6160488d3
https://github.com/llvm/llvm-project/commit/9a3f0a0e136c6a6e23515ba2769de6e6160488d3
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M libc/config/linux/x86_64/headers.txt
Log Message:
-----------
[libc] Add ucontext to public headers for Linux x86_64 (#192621)
Added libc.include.ucontext to TARGET_PUBLIC_HEADERS for Linux x86_64 in
headers.txt.
Commit: 79f31de283b66cc8fa0e372c18d2ca7629829b7d
https://github.com/llvm/llvm-project/commit/79f31de283b66cc8fa0e372c18d2ca7629829b7d
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/shuffle-as-xvextrins.ll
Log Message:
-----------
[LoongArch][NFC] Pre-commit tests for `xvextrins` (#164373)
Commit: 1014eb28e7d4bbfe132b270d885cb9e094e4227a
https://github.com/llvm/llvm-project/commit/1014eb28e7d4bbfe132b270d885cb9e094e4227a
Author: Vincent <janssen.vincentius at gmail.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M mlir/lib/IR/ODSSupport.cpp
A mlir/test/IR/invalid-properties.mlir
Log Message:
-----------
[mlir] Fix copy paste typo in convertFromAttribute (#192484)
It seems that the bool overload for `convertFromAttribute` has a failure
message incorrectly copied over from the string overload's
implementation.
Commit: a82f3093a05bf00bc959ba439a616efa787c8086
https://github.com/llvm/llvm-project/commit/a82f3093a05bf00bc959ba439a616efa787c8086
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/test/AST/ByteCode/new-delete.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
Log Message:
-----------
[clang][bytecode] Allow more function calls in CPCE mode (#192597)
We previously didn't diagnose the attached test cases correctly.
Commit: cb5445f0797b01fee6410319df09813bfc8021f6
https://github.com/llvm/llvm-project/commit/cb5445f0797b01fee6410319df09813bfc8021f6
Author: Luke Lau <luke at igalia.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/masked-divrem.ll
M llvm/test/CodeGen/RISCV/rvv/masked-sdiv.ll
M llvm/test/CodeGen/RISCV/rvv/masked-srem.ll
M llvm/test/CodeGen/RISCV/rvv/masked-udiv.ll
M llvm/test/CodeGen/RISCV/rvv/masked-urem.ll
Log Message:
-----------
[RISCV] Lower masked_{u,s}{div,rem} and update TTI (#192543)
The loop vectorizer will soon emit llvm.masked.udiv intrinsics and
friends. The vast majority of the time these will be transformed to
vp.udiv on RISC-V thanks to tail folding, but if it doesn't tail fold or
uses a fixed VF then it will reach instruction selection.
This patch lowers the nodes to the masked pseudo for scalable and fixed
vectors, and updates the TTI to account for it.
Commit: b7716135a88f1424fbb400124d3b57a269b38c75
https://github.com/llvm/llvm-project/commit/b7716135a88f1424fbb400124d3b57a269b38c75
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave2.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zipeven-zipodd.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
Log Message:
-----------
[RISCV] Add tests for Zvzip CodeGen (#192591)
Then we can add CodeGen support incrementally.
Commit: 6383afba60e16a9b5b9c62e68fe214f870dd3183
https://github.com/llvm/llvm-project/commit/6383afba60e16a9b5b9c62e68fe214f870dd3183
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Use vputils helper in Blend::usesFirstLaneOnly (NFC) (#189697)
Commit: 2b93b3ca7932d415d7f1c3b029f9e39a0a41272e
https://github.com/llvm/llvm-project/commit/2b93b3ca7932d415d7f1c3b029f9e39a0a41272e
Author: Kseniya Tikhomirova <kseniya.tikhomirova at intel.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M libsycl/src/CMakeLists.txt
A libsycl/src/detail/device_image_wrapper.cpp
M libsycl/src/detail/device_image_wrapper.hpp
M libsycl/src/detail/device_impl.hpp
A libsycl/src/detail/device_kernel_info.hpp
R libsycl/src/detail/kernel_id.hpp
M libsycl/src/detail/program_manager.cpp
M libsycl/src/detail/program_manager.hpp
Log Message:
-----------
[libsycl] Add liboffload kernel creation (#188794)
This commit extends ProgramAndKernelManager functionality with kernel
creation.
First, it introduces device kernel info object containing kernel data
that is uniform for submissions of the same kernel. This object helps to
avoid kernel data lookup for subsequent calls of the same kernel. This
data is used to create kernel or to find kernel symbol if it has already
been created.
Second, this commit introduces wrappers to manage kernel related data
and its lifetime. Wrappers are implemented for:
1) programs, wrapper is a RAII helper and calls liboffload
create/release methods for program
2) device images, keeps built programs and provide methods to search
existing programs and to add new ones.
---------
Signed-off-by: Tikhomirova, Kseniya <kseniya.tikhomirova at intel.com>
Co-authored-by: Alexey Bader <alexey.bader at intel.com>
Commit: 7f3ed0c45c52b3ed514b181cf716cae3dae3b947
https://github.com/llvm/llvm-project/commit/7f3ed0c45c52b3ed514b181cf716cae3dae3b947
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/AArch64/sve-sext-zext.ll
Log Message:
-----------
[LLVM][DAGTypeLegalizer] Maintain scalableness when widening inreg extends. (#192482)
Fixes https://github.com/llvm/llvm-project/issues/187557
Commit: d00a49fc3495f260d8b3125b5d9f4e263ac13166
https://github.com/llvm/llvm-project/commit/d00a49fc3495f260d8b3125b5d9f4e263ac13166
Author: Elio <xiongzile at bytedance.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/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/hdr/types/CMakeLists.txt
A libc/hdr/types/wctype_t.h
A libc/hdr/wctype_overlay.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/wctype_t.h
M libc/include/wctype.yaml
M libc/src/__support/wctype_utils.h
M libc/src/wctype/CMakeLists.txt
A libc/src/wctype/iswctype.cpp
A libc/src/wctype/iswctype.h
A libc/src/wctype/wctype.cpp
A libc/src/wctype/wctype.h
M libc/test/src/__support/wctype_utils_test.cpp
M libc/test/src/wctype/CMakeLists.txt
A libc/test/src/wctype/iswctype_test.cpp
A libc/test/src/wctype/wctype_test.cpp
Log Message:
-----------
[libc] Add iswctype and wctype (#191178)
Implement the iswctype and wctype functions from <wctype.h>.
- Add wctype_t type definition.
- Implement wctype to map property strings to classification
descriptors.
- Implement iswctype as a dispatcher over existing wide character
classification functions.
- Add corresponding entrypoints and unit tests.
Refs: https://github.com/llvm/llvm-project/issues/191076
---------
Co-authored-by: Zile Xiong <xiongzile99 at gmail.com>
Commit: 8d488fcd6f7c35b3d256feb0554fd885a9f5ce10
https://github.com/llvm/llvm-project/commit/8d488fcd6f7c35b3d256feb0554fd885a9f5ce10
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix nanobind header build (#192627)
The build was broken by 3b3ac5a1169722bff1ae0f5f8f27a48cc08c3d02
changing textual_hdrs to hdrs - the copts/features weren't copied over,
meaning Nanobind was attempted to be built with exceptions disabled.
Co-authored-by: James Molloy <jmolloy at google.com>
Commit: 96266b71214a2fa0925ea11fe2d01a349eb702e0
https://github.com/llvm/llvm-project/commit/96266b71214a2fa0925ea11fe2d01a349eb702e0
Author: Kryptonite <oalazizi75 at gmail.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
A clang-tools-extra/clang-tidy/readability/RedundantLambdaParameterListCheck.cpp
A clang-tools-extra/clang-tidy/readability/RedundantLambdaParameterListCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/redundant-lambda-parameter-list.rst
A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-lambda-parameter-list.cpp
Log Message:
-----------
[clang-tidy] Add `readability-redundant-lambda-parameter-list` (#190438)
Adds a new clang-tidy check that removes redundant empty parameter lists
from lambda expressions when the rewrite is valid for the active
language standard.
Fixes #190396
Assisted by Claude (Anthropic), all decisions taken in
this PR involved my active judgment
Commit: 91339fd737c67771fd944f17ea9c3e0908e9d418
https://github.com/llvm/llvm-project/commit/91339fd737c67771fd944f17ea9c3e0908e9d418
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-inline-asm.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-unwind-inline-asm.ll
M llvm/test/CodeGen/AArch64/GlobalISel/rbs-matrixindex-regclass-crash.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-inlineasm.mir
M llvm/test/CodeGen/AArch64/aarch64-sme2-asm.ll
M llvm/test/CodeGen/AArch64/aarch64-sve-asm.ll
M llvm/test/CodeGen/AArch64/aarch64-za-clobber.ll
M llvm/test/CodeGen/AArch64/branch-relax-cross-section.mir
M llvm/test/CodeGen/AArch64/callbr-asm-outputs-indirect-isel.ll
M llvm/test/CodeGen/AArch64/emit_fneg_with_non_register_operand.mir
M llvm/test/CodeGen/AArch64/jump-table-compress.mir
M llvm/test/CodeGen/AArch64/machine-latecleanup-inlineasm.mir
M llvm/test/CodeGen/AArch64/misched-fusion-cmp.mir
M llvm/test/CodeGen/AArch64/nested-iv-regalloc.mir
M llvm/test/CodeGen/AArch64/peephole-insvigpr.mir
M llvm/test/CodeGen/AArch64/ptrauth-isel.ll
M llvm/test/CodeGen/AArch64/remat-fmov-vector-imm.mir
M llvm/test/CodeGen/AArch64/shrinkwrap-split-restore-point.mir
M llvm/test/CodeGen/AArch64/wineh9.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm-mismatched-size.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-inline-asm.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-ignore-copies-crash.mir
M llvm/test/CodeGen/AMDGPU/branch-relax-indirect-branch.mir
M llvm/test/CodeGen/AMDGPU/branch-relax-no-terminators.mir
M llvm/test/CodeGen/AMDGPU/buffer-intrinsics-mmo-offsets.ll
M llvm/test/CodeGen/AMDGPU/call-defs-mode-register.ll
M llvm/test/CodeGen/AMDGPU/coalesce-copy-to-agpr-to-av-registers.mir
M llvm/test/CodeGen/AMDGPU/coalescer-early-clobber-subreg.mir
M llvm/test/CodeGen/AMDGPU/dst-sel-hazard.mir
M llvm/test/CodeGen/AMDGPU/endpgm-dce.mir
M llvm/test/CodeGen/AMDGPU/hazards-gfx950.mir
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-av-with-load-source.mir
M llvm/test/CodeGen/AMDGPU/inline-asm.i128.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.exp.large.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.exp.small.mir
M llvm/test/CodeGen/AMDGPU/local-stack-alloc-add-references.gfx10.mir
M llvm/test/CodeGen/AMDGPU/local-stack-alloc-add-references.gfx8.mir
M llvm/test/CodeGen/AMDGPU/local-stack-alloc-add-references.gfx9.mir
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
M llvm/test/CodeGen/AMDGPU/machine-sink-cycle.mir
M llvm/test/CodeGen/AMDGPU/machine-sink-loop-var-out-of-divergent-loop-swdev407790.mir
M llvm/test/CodeGen/AMDGPU/mai-hazards.mir
M llvm/test/CodeGen/AMDGPU/no-limit-coalesce.mir
M llvm/test/CodeGen/AMDGPU/optimize-exec-mask-pre-ra-no-fold-exec-copy.mir
M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
M llvm/test/CodeGen/AMDGPU/regalloc-failure-overlapping-insert-assert.mir
M llvm/test/CodeGen/AMDGPU/regalloc-undef-copy-fold.mir
M llvm/test/CodeGen/AMDGPU/remaining-virtual-register-operands.mir
M llvm/test/CodeGen/AMDGPU/rename-independent-subregs.mir
M llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-copy-from.mir
M llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-subreg-insert-extract.mir
M llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-subreg-src2-chain.mir
M llvm/test/CodeGen/AMDGPU/sched-assert-dead-def-subreg-use-other-subreg.mir
M llvm/test/CodeGen/AMDGPU/sched-handleMoveUp-subreg-def-across-subreg-def.mir
M llvm/test/CodeGen/AMDGPU/sink-after-control-flow-postra.mir
M llvm/test/CodeGen/AMDGPU/spill-regpressure-less.mir
M llvm/test/CodeGen/AMDGPU/spill-vector-superclass.ll
M llvm/test/CodeGen/AMDGPU/subreg-undef-def-with-other-subreg-defs.mir
M llvm/test/CodeGen/AMDGPU/swdev282079.mir
M llvm/test/CodeGen/AMDGPU/vccz-corrupt-bug-workaround.mir
M llvm/test/CodeGen/AMDGPU/verify-gfx90a-aligned-vgprs.mir
M llvm/test/CodeGen/AMDGPU/vgpr-mark-last-scratch-load.mir
M llvm/test/CodeGen/AMDGPU/vopc-remat.mir
M llvm/test/CodeGen/ARM/ifcvt-diamond-unanalyzable-common.mir
M llvm/test/CodeGen/ARM/inlineasmbr-if-cvt.mir
M llvm/test/CodeGen/ARM/machine-outliner-noreturn.mir
M llvm/test/CodeGen/ARM/machine-outliner-unoutlinable.mir
M llvm/test/CodeGen/LoongArch/inline-asm-clobbers-fcc.mir
M llvm/test/CodeGen/MIR/Generic/inline-asm-bad-mem-constraint.mir
M llvm/test/CodeGen/MIR/Generic/inline-asm-bad-regclass.mir
M llvm/test/CodeGen/MIR/Generic/inline-asm-extra-info.mir
M llvm/test/CodeGen/MIR/Generic/inline-asm-no-constraint.mir
M llvm/test/CodeGen/MIR/Generic/inline-asm-tiedto-bad-operand-number.mir
M llvm/test/CodeGen/MIR/Generic/inline-asm-tiedto-missing-colon.mir
M llvm/test/CodeGen/MIR/Generic/inline-asm-tiedto-missing-dollar.mir
M llvm/test/CodeGen/MIR/X86/early-clobber-register-flag.mir
M llvm/test/CodeGen/MIR/X86/inline-asm-registers.mir
M llvm/test/CodeGen/MIR/X86/inline-asm-rm-exhaustion.mir
M llvm/test/CodeGen/MIR/X86/inline-asm.mir
M llvm/test/CodeGen/Mips/longbranch/branch-limits-fp-micromips.mir
M llvm/test/CodeGen/Mips/longbranch/branch-limits-fp-micromipsr6.mir
M llvm/test/CodeGen/Mips/longbranch/branch-limits-fp-mips.mir
M llvm/test/CodeGen/Mips/longbranch/branch-limits-fp-mipsr6.mir
M llvm/test/CodeGen/Mips/longbranch/branch-limits-int-microMIPS.mir
M llvm/test/CodeGen/Mips/longbranch/branch-limits-int-micromipsr6.mir
M llvm/test/CodeGen/Mips/longbranch/branch-limits-int-mips64.mir
M llvm/test/CodeGen/Mips/longbranch/branch-limits-int-mips64r6.mir
M llvm/test/CodeGen/Mips/longbranch/branch-limits-int-mipsr6.mir
M llvm/test/CodeGen/Mips/longbranch/branch-limits-int.mir
M llvm/test/CodeGen/Mips/longbranch/branch-limits-msa.mir
M llvm/test/CodeGen/PowerPC/aix-lower-jump-table-mir.ll
M llvm/test/CodeGen/PowerPC/aix-print-pc.mir
M llvm/test/CodeGen/PowerPC/alignlongjumptest.mir
M llvm/test/CodeGen/PowerPC/callbr-asm-outputs-indirect-isel.ll
M llvm/test/CodeGen/PowerPC/ctrloops32.mir
M llvm/test/CodeGen/PowerPC/ctrloops64.mir
M llvm/test/CodeGen/PowerPC/shrink-wrap.mir
M llvm/test/CodeGen/RISCV/branch-rel.mir
M llvm/test/CodeGen/RISCV/rvv/pr99782.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
M llvm/test/CodeGen/RISCV/zdinx-spill.ll
M llvm/test/CodeGen/RISCV/zilsd-spill.ll
M llvm/test/CodeGen/SystemZ/twoaddr-kill.mir
M llvm/test/CodeGen/Thumb/high-reg-clobber.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/out-of-range-cbz.mir
M llvm/test/CodeGen/Thumb2/high-reg-spill.mir
M llvm/test/CodeGen/Thumb2/pipeliner-inlineasm.mir
M llvm/test/CodeGen/X86/apx/flags-copy-lowering.mir
M llvm/test/CodeGen/X86/callbr-asm-different-indirect-target.mir
M llvm/test/CodeGen/X86/callbr-asm-kill.mir
M llvm/test/CodeGen/X86/callbr-asm-outputs-indirect-isel-m32.ll
M llvm/test/CodeGen/X86/callbr-asm-outputs-indirect-isel.ll
M llvm/test/CodeGen/X86/callbr-asm-outputs-regallocfast.mir
M llvm/test/CodeGen/X86/cfi-xmm.ll
M llvm/test/CodeGen/X86/early-clobber.mir
M llvm/test/CodeGen/X86/flags-copy-lowering.mir
M llvm/test/CodeGen/X86/fp16-reload.mir
M llvm/test/CodeGen/X86/inline-asm-avx512f-x-constraint.ll
M llvm/test/CodeGen/X86/inline-asm-default-clobbers.ll
M llvm/test/CodeGen/X86/peephole-copy.mir
M llvm/test/CodeGen/X86/pr86880.mir
M llvm/test/CodeGen/X86/regallocfast-callbr-asm-spills-after-reload.mir
M llvm/test/CodeGen/X86/scheduler-asm-moves.mir
M llvm/test/CodeGen/X86/stack-folding-bmi2.mir
M llvm/test/CodeGen/X86/stack-folding-fp-nofpexcept.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-enter-at-end.mir
M llvm/test/CodeGen/X86/switch-jmp-edge-split.mir
M llvm/test/CodeGen/X86/tail-dup-asm-goto.ll
Log Message:
-----------
[AMDGPU][NFC] Update MIR tests to use symbolic INLINEASM operands (#186839)
Commit: c872a64173f75e0285b44ffb27fd771ea3383f20
https://github.com/llvm/llvm-project/commit/c872a64173f75e0285b44ffb27fd771ea3383f20
Author: StefanPaulet <65234821+StefanPaulet at users.noreply.github.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/CXX/drs/cwg17xx.cpp
M clang/test/SemaCXX/cxx1z-constexpr-lambdas.cpp
M clang/test/SemaCXX/lambda-expressions.cpp
M clang/test/SemaTemplate/GH75426.cpp
M clang/test/SemaTemplate/concepts.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add diagnostic for friend declaration of closure type member (#191419)
Clang allows friend declarations of closure type members, which is
disallowed per CWG 1780 (Issue #26540).
Added a new diagnostic when the friend declaration targets a member of a
`CXXRecordDecl` that is a lambda.
---------
Co-authored-by: Corentin Jabot <corentinjabot at gmail.com>
Commit: 873a2597118c473fd0038d6b9270503b79dbce69
https://github.com/llvm/llvm-project/commit/873a2597118c473fd0038d6b9270503b79dbce69
Author: idubinov <idubinov at amd.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/test/CodeGen/SPIRV/trunc-nonstd-bitwidth.ll
Log Message:
-----------
[SPIRV] Fix trunc nonstandard int types (#191393)
In some cases, the trunc dst type was widened to higher bit size, which
changes behavior of the instruction.
Now, in case of need of widening, the trunc instruction is replaced with
AND with appropriate mask.
Assisted-by: Claude Code.
---------
Co-authored-by: Marcos Maronas <mmaronas at amd.com>
Co-authored-by: Arseniy Obolenskiy <gooddoog at student.su>
Commit: fa7d199f3eb3655b2bbc76ffa5f35cf74d3a53a5
https://github.com/llvm/llvm-project/commit/fa7d199f3eb3655b2bbc76ffa5f35cf74d3a53a5
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Port d00a49fc3495f260d8b3125b5d9f4e263ac13166 (#192637)
Commit: 027ca61e5cc040c4db1d6219a9843b81432d5ea6
https://github.com/llvm/llvm-project/commit/027ca61e5cc040c4db1d6219a9843b81432d5ea6
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Lex/LiteralSupport.cpp
M clang/test/C/C2y/n3353.c
Log Message:
-----------
Suppress octal literal diagnostics from system macros (#192481)
We emit two kinds of diagnostics related to octal literals. One is a
compat/extension warning for use of 0o as the literal prefix and the
other is a deprecation warning for use of 0 as the literal prefix.
Clang now suppresses both of those diagnostics when the octal literal
comes from a macro expansion of a macro defined in a system header.
Those are not uses of the literal the user has any control over,
generally, so the diagnostics are not helpful in that case.
Fixes #192389
Commit: 15e523bb7ebe35a4e3bf114fb26efe324b9112da
https://github.com/llvm/llvm-project/commit/15e523bb7ebe35a4e3bf114fb26efe324b9112da
Author: Rolf Morel <rolfmorel at gmail.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[MLIR][CODEOWNERS] Update CODEOWNERS to include MLIR Shard Dialect (#192642)
Add CODEOWNERS for MLIR Shard Dialect.
Commit: e270662c0b2c3a24211f200fe758a84b45b25fcd
https://github.com/llvm/llvm-project/commit/e270662c0b2c3a24211f200fe758a84b45b25fcd
Author: NagaChaitanya Vellanki <pnagato at protonmail.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/BuiltinHeaders.def
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Sema/SemaChecking.cpp
A clang/test/CodeGen/Inputs/stdbit.h
A clang/test/CodeGen/builtin-stdc-bit-functions.c
A clang/test/Sema/Inputs/stdbit.h
A clang/test/Sema/builtin-stdc-bit-functions.c
A clang/test/SemaCXX/constexpr-builtin-stdc-bit-functions.cpp
Log Message:
-----------
[clang]Implement the c23 stdc bit builtins (#185978)
This patch implements the following C23 bit builtins
__builtin_stdc_leading_zeros/ones
__builtin_stdc_trailing_zeros/ones
__builtin_stdc_first_leading/trailing_zero/one
__builtin_stdc_count_zeros/ones
__builtin_stdc_has_single_bit
__builtin_stdc_bit_width
__builtin_stdc_bit_floor
__builtin_stdc_bit_ceil
Additional Notes:
* Supports all unsigned integer types including _BitInt and __int128
* lowers to llvm.ctlz / llvm.cttz / llvm.ctpop intrinsics
* constexpr support
Addresses: #79630
Commit: ed19c7775f6eae5be5f238adc67114330b8daf61
https://github.com/llvm/llvm-project/commit/ed19c7775f6eae5be5f238adc67114330b8daf61
Author: Yoni Katzuv <yoni.katzuv at quantum-machines.co>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M mlir/include/mlir/Dialect/Async/IR/Async.h
M mlir/include/mlir/Dialect/Func/IR/FuncOps.h
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVOps.h
M mlir/include/mlir/IR/BuiltinOps.h
Log Message:
-----------
[mlir] Fix definition of type traits struct member for some ops (#192047)
This commit fixes all appearences of `numLowBitsAvailable` to the
correct `NumLowBitsAvailable`. Prior to this change, instantiation of
templates like `llvm::PointerIntPair<mlir::ModuleOp, 3>` would not
compile.
See usage of `NumLowBitsAvailable`:
https://github.com/llvm/llvm-project/blob/224c429e858f8171852990a6f7b2b3590eeaffb7/llvm/include/llvm/ADT/PointerIntPair.h#L169
Commit: e13c07bc57cbe13da73053d57387563fb79660c6
https://github.com/llvm/llvm-project/commit/e13c07bc57cbe13da73053d57387563fb79660c6
Author: Lucas Chollet <lucas.chollet at serenityos.org>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M clang/test/Driver/serenity.cpp
Log Message:
-----------
[clang] Reland NO_LIBCXX test in serenity.cpp (#192638)
The test was first introduced in 934f7950 and then removed in 9c94881f.
The first iteration was depending on the default runtime being
compiler-rt, which isn't true for all bots and thus caused failures:
https://lab.llvm.org/buildbot/#/builders/10/builds/26512
The new version of the test doesn't depend on the compiler runtime.
Commit: 7dddddc3185da662c70cac5ca14f60480b211ef0
https://github.com/llvm/llvm-project/commit/7dddddc3185da662c70cac5ca14f60480b211ef0
Author: Sairudra More <sairudra60 at gmail.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M flang-rt/lib/runtime/type-info.cpp
M flang-rt/unittests/Runtime/Descriptor.cpp
Log Message:
-----------
[flang-rt] Fix REAL(10)/COMPLEX(10) component sizes in runtime type info (#192049)
This fixes a crash caused by incorrect component sizes in runtime type
info.
For REAL(10) and COMPLEX(10) components,
`Component::GetElementByteSize()` was using the Fortran kind value as
the byte size. On x86-64 that underestimates the actual storage size, so
component size computation can be wrong for extended-precision types.
This patch routes REAL and COMPLEX component sizes through
`Descriptor::BytesFor()`, which matches the runtime’s existing
storage-size handling. I also added a runtime unit test covering the
relevant `Descriptor::BytesFor()` storage-size behavior for REAL and
COMPLEX kinds, including kind 10.
Fixes #192085
---------
Co-authored-by: Sairudra More <moresair at pe31.hpc.amslabs.hpecorp.net>
Commit: 4c7ed8dc849be29e6fb5ee869f4cc6024604b823
https://github.com/llvm/llvm-project/commit/4c7ed8dc849be29e6fb5ee869f4cc6024604b823
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/test/CodeGen/SPIRV/AtomicBuiltinsFloat.ll
M llvm/test/CodeGen/SPIRV/CheckCapKernelWithoutKernel.ll
M llvm/test/CodeGen/SPIRV/ExecutionMode_GLCompute.ll
M llvm/test/CodeGen/SPIRV/FOrdGreaterThanEqual_bool.ll
M llvm/test/CodeGen/SPIRV/FOrdGreaterThanEqual_int.ll
M llvm/test/CodeGen/SPIRV/OpVectorInsertDynamic.ll
M llvm/test/CodeGen/SPIRV/SpecConstants/bool-spirv-specconstant.ll
M llvm/test/CodeGen/SPIRV/TruncToBool.ll
M llvm/test/CodeGen/SPIRV/assume.ll
M llvm/test/CodeGen/SPIRV/basic_int_types_spirvdis.ll
M llvm/test/CodeGen/SPIRV/branching/OpSwitch32.ll
M llvm/test/CodeGen/SPIRV/branching/OpSwitchChar.ll
M llvm/test/CodeGen/SPIRV/branching/analyze-branch-opt.ll
M llvm/test/CodeGen/SPIRV/branching/if-merging.ll
M llvm/test/CodeGen/SPIRV/branching/if-non-merging.ll
M llvm/test/CodeGen/SPIRV/capability-Int64Atomics-store.ll
M llvm/test/CodeGen/SPIRV/capability-Int64Atomics.ll
M llvm/test/CodeGen/SPIRV/capability-Shader.ll
M llvm/test/CodeGen/SPIRV/capability-integers.ll
M llvm/test/CodeGen/SPIRV/constant/local-aggregate-constant.ll
M llvm/test/CodeGen/SPIRV/constant/local-arbitrary-width-integers-constants-type-promotion.ll
M llvm/test/CodeGen/SPIRV/constant/local-bool-constants.ll
M llvm/test/CodeGen/SPIRV/constant/local-float-point-constants.ll
M llvm/test/CodeGen/SPIRV/constant/local-integers-constants.ll
M llvm/test/CodeGen/SPIRV/constant/local-null-constants.ll
M llvm/test/CodeGen/SPIRV/constant/local-vector-matrix-constants.ll
M llvm/test/CodeGen/SPIRV/debug-info/no-nonsemantic-without-extension.ll
M llvm/test/CodeGen/SPIRV/event_no_group_cap.ll
M llvm/test/CodeGen/SPIRV/exec_mode_float_control_khr.ll
M llvm/test/CodeGen/SPIRV/expect.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_relaxed_printf_string_address_space/builtin_printf.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_relaxed_printf_string_address_space/non-constant-printf.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_double.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_half.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_double.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_float.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_half.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_16bit_atomics/atomic_bfloat16_load_store_xchg.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_16bit_atomics/atomic_int16_arithmetic.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_16bit_atomics/atomic_int16_load_store_xchg_cmpxchg.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_16bit_atomics/atomicrmw_faddfsub_bfloat16.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_16bit_atomics/atomicrmw_fminfmax_bfloat16.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_bf16.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_checked.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_get_coord.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_packed.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_prefetch.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_tf32.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_memory_access_aliasing/alias-barrier.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_memory_access_aliasing/alias-empty-md.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_memory_access_aliasing/alias-load-store-struct.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_memory_access_aliasing/alias-load-store.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_predicated_io/predicated_io_generic.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_subgroups/builtin-op-wrappers.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_no_integer_wrap_decoration.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_uniform_group_instructions/uniform-group-instructions.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_NV_shader_atomic_fp16_vector/atomicrmw_faddfsub_vec_float16.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_NV_shader_atomic_fp16_vector/atomicrmw_fminfmax_vec_float16.ll
M llvm/test/CodeGen/SPIRV/extensions/enable-all-extensions-but-one.ll
M llvm/test/CodeGen/SPIRV/extensions/enable-all-extensions.ll
M llvm/test/CodeGen/SPIRV/extensions/unused-but-allowed-SPV_INTEL_arbitrary_precision_integers.ll
M llvm/test/CodeGen/SPIRV/freeze.ll
M llvm/test/CodeGen/SPIRV/function/alloca-load-store.ll
M llvm/test/CodeGen/SPIRV/function/identity-function.ll
M llvm/test/CodeGen/SPIRV/function/multiple-anonymous-functions.ll
M llvm/test/CodeGen/SPIRV/function/trivial-function-definition.ll
M llvm/test/CodeGen/SPIRV/function/trivial-function-with-attributes.ll
M llvm/test/CodeGen/SPIRV/function/trivial-function-with-call.ll
M llvm/test/CodeGen/SPIRV/function/variadics-lowering-builtin-substr-in-name.ll
M llvm/test/CodeGen/SPIRV/function/variadics-lowering-namespace-printf.ll
M llvm/test/CodeGen/SPIRV/global-var-intrinsic.ll
M llvm/test/CodeGen/SPIRV/half_extension.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/rcp.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/cbuffer_unused.ll
M llvm/test/CodeGen/SPIRV/image-unoptimized.ll
M llvm/test/CodeGen/SPIRV/image.ll
M llvm/test/CodeGen/SPIRV/image_decl_func_arg.ll
M llvm/test/CodeGen/SPIRV/image_dim.ll
M llvm/test/CodeGen/SPIRV/instructions/call-complex-function.ll
M llvm/test/CodeGen/SPIRV/instructions/call-trivial-function.ll
M llvm/test/CodeGen/SPIRV/instructions/fcmp.ll
M llvm/test/CodeGen/SPIRV/instructions/float-casts.ll
M llvm/test/CodeGen/SPIRV/instructions/float-fast-flags.ll
M llvm/test/CodeGen/SPIRV/instructions/intrinsics.ll
M llvm/test/CodeGen/SPIRV/instructions/scalar-bitwise-operations.ll
M llvm/test/CodeGen/SPIRV/instructions/scalar-floating-point-arithmetic.ll
M llvm/test/CodeGen/SPIRV/instructions/undef-nested-composite-store.ll
M llvm/test/CodeGen/SPIRV/instructions/undef-simple-composite-store.ll
M llvm/test/CodeGen/SPIRV/instructions/unreachable.ll
M llvm/test/CodeGen/SPIRV/instructions/vector-bitwise-operations.ll
M llvm/test/CodeGen/SPIRV/instructions/vector-floating-point-arithmetic.ll
M llvm/test/CodeGen/SPIRV/instructions/vector-integer-arithmetic.ll
M llvm/test/CodeGen/SPIRV/linkage/LinkOnceODR.ll
M llvm/test/CodeGen/SPIRV/linkage/LinkOnceODRFun.ll
M llvm/test/CodeGen/SPIRV/linked-list.ll
M llvm/test/CodeGen/SPIRV/llc-pipeline.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/assume.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/bswap.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/ceil.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/ctlz.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/ctpop.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/cttz.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/debugtrap.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/expect.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/fabs.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/fshl.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/fshr.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/invariant.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/maxnum.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/memset.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/nearbyint.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/sqrt.ll
M llvm/test/CodeGen/SPIRV/logical-access-chain.ll
M llvm/test/CodeGen/SPIRV/mangled_function.ll
M llvm/test/CodeGen/SPIRV/multi_md.ll
M llvm/test/CodeGen/SPIRV/no_capability_shader.ll
M llvm/test/CodeGen/SPIRV/opaque_pointers.ll
M llvm/test/CodeGen/SPIRV/opencl/basic/get_global_offset.ll
M llvm/test/CodeGen/SPIRV/opencl/basic/progvar_prog_scope_init.ll
M llvm/test/CodeGen/SPIRV/opencl/basic/progvar_prog_scope_uninit.ll
M llvm/test/CodeGen/SPIRV/opencl/get_global_id.ll
M llvm/test/CodeGen/SPIRV/opencl/get_num_groups.ll
M llvm/test/CodeGen/SPIRV/opencl/metadata/fp_contractions_metadata.ll
M llvm/test/CodeGen/SPIRV/opencl/metadata/no_fp_contractions_metadata.ll
M llvm/test/CodeGen/SPIRV/opencl/metadata/opencl_version_metadata.ll
M llvm/test/CodeGen/SPIRV/opencl/vstore2.ll
M llvm/test/CodeGen/SPIRV/physical-layout/generator-magic-number.ll
M llvm/test/CodeGen/SPIRV/physical-layout/spirv-version.ll
M llvm/test/CodeGen/SPIRV/preprocess-metadata.ll
M llvm/test/CodeGen/SPIRV/pstruct.ll
M llvm/test/CodeGen/SPIRV/read_image.ll
M llvm/test/CodeGen/SPIRV/sitofp-with-bool.ll
M llvm/test/CodeGen/SPIRV/spec_const_decoration.ll
M llvm/test/CodeGen/SPIRV/spirv-tools-dis.ll
M llvm/test/CodeGen/SPIRV/spirv.Queue.ll
M llvm/test/CodeGen/SPIRV/spirv_param_decorations_quals.ll
M llvm/test/CodeGen/SPIRV/store.ll
M llvm/test/CodeGen/SPIRV/transcoding/DecorationMaxByteOffset.ll
M llvm/test/CodeGen/SPIRV/transcoding/GlobalFunAnnotate.ll
M llvm/test/CodeGen/SPIRV/transcoding/NoSignedUnsignedWrap.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpConstantBool.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpConstantSampler.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpImageQuerySize.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpImageReadMS.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpImageSampleExplicitLod.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/sub_group_mask.ll
M llvm/test/CodeGen/SPIRV/transcoding/RelationalOperators.ll
M llvm/test/CodeGen/SPIRV/transcoding/RelationalOperatorsFUnord.ll
M llvm/test/CodeGen/SPIRV/transcoding/ReqdSubgroupSize.ll
M llvm/test/CodeGen/SPIRV/transcoding/SpecConstantComposite.ll
M llvm/test/CodeGen/SPIRV/transcoding/TransFNeg.ll
M llvm/test/CodeGen/SPIRV/transcoding/image_get_size_with_access_qualifiers.ll
M llvm/test/CodeGen/SPIRV/transcoding/memory_access.ll
M llvm/test/CodeGen/SPIRV/transcoding/optional-core-features-multiple.ll
M llvm/test/CodeGen/SPIRV/transcoding/readonly.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_ballot.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_clustered_reduce.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_non_uniform_arithmetic.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_non_uniform_vote.ll
M llvm/test/CodeGen/SPIRV/transcoding/vec8.ll
M llvm/test/CodeGen/SPIRV/transcoding/vec_type_hint.ll
M llvm/test/CodeGen/SPIRV/uitofp-with-bool.ll
M llvm/test/CodeGen/SPIRV/vk-pushconstant-access.ll
M llvm/test/CodeGen/SPIRV/vk-pushconstant-layout-natural.ll
Log Message:
-----------
[NFC][SPIR-V] Enable testing using spirv-val in CodeGen tests (#192407)
Commit: 0b88e333b0fee5d78bbc66f62369230c1b29ff39
https://github.com/llvm/llvm-project/commit/0b88e333b0fee5d78bbc66f62369230c1b29ff39
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/Analysis/CostModel/AArch64/masked-divrem.ll
M llvm/test/CodeGen/AArch64/masked-sdiv-fixed-length.ll
M llvm/test/CodeGen/AArch64/masked-sdiv-scalable.ll
M llvm/test/CodeGen/AArch64/masked-udiv-fixed-length.ll
M llvm/test/CodeGen/AArch64/masked-udiv-scalable.ll
A llvm/test/CodeGen/AArch64/sve-fixed-length-masked-div.ll
A llvm/test/CodeGen/AArch64/sve-fixed-length-masked-rem.ll
Log Message:
-----------
[LLVM][CodeGen][SVE] Add custom lowering for ISD::MASKED_SDIV/UDIV. (#191164)
Also refactor custom lowering of ISD::SDIV/UDIV to replace uses of
Arch64ISD::PRED_SDIV/UDIV with the new target independent equivalents.
Commit: c74c4a8bf6f7663e1fc645e3bd43935791f33123
https://github.com/llvm/llvm-project/commit/c74c4a8bf6f7663e1fc645e3bd43935791f33123
Author: Michael Jones <michaelrj at google.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
A libc/include/string.h.def
M libc/include/string.yaml
Log Message:
-----------
[libc] Fix missing strings symbols in string.h (#192640)
The glibc string.h includes strings.h if it's in the default mode. Added
to allow more programs to be built.
Commit: efd8a91ee1e10e10fa7eeab06abbee91c5c5232d
https://github.com/llvm/llvm-project/commit/efd8a91ee1e10e10fa7eeab06abbee91c5c5232d
Author: Luke Lau <luke at igalia.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
A llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-expr-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-expr.ll
Log Message:
-----------
[VPlan] Split sinkable FindLastIV tail folding tests into new test. NFC (#191195)
Follow up to
https://github.com/llvm/llvm-project/pull/191176#pullrequestreview-4082422318
Commit: 1ba89ddd9b2baa5e5a1fdd98dfccc07cbfc1c0c3
https://github.com/llvm/llvm-project/commit/1ba89ddd9b2baa5e5a1fdd98dfccc07cbfc1c0c3
Author: Fred Tingaud <95592999+frederic-tingaud-sonarsource at users.noreply.github.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/Stmt.h
M clang/lib/AST/ExprCXX.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
A clang/test/AST/ast-dump-cxx20-reversed-operator.cpp
Log Message:
-----------
[AST]Fix Location and Range for reversed rewritten CXXOperatorCallExpr (#192467)
In C++20+, when `a != b` is automatically rewritten to `!(b == a)`, the
range and sourceLocation of the generated nodes are incorrect and the
range has begin > end.
Assisted-by: Claude code
Commit: ab799d32d54eba0fb7562a2ed331a63f6fb750ee
https://github.com/llvm/llvm-project/commit/ab799d32d54eba0fb7562a2ed331a63f6fb750ee
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes c74c4a8 (#192646)
This fixes c74c4a8bf6f7663e1fc645e3bd43935791f33123.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: ea7e7527d104fb46789ba74eafe154bfa3c67fef
https://github.com/llvm/llvm-project/commit/ea7e7527d104fb46789ba74eafe154bfa3c67fef
Author: Weronika Lewandowska <weronika.lewandowska at intel.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M offload/tools/deviceinfo/llvm-offload-device-info.cpp
Log Message:
-----------
[offload] Add backend L0 to offload deviceinfo tool (#192622)
Commit: 9fa05b0377de8d9f573b9a7f026bd202ef9e897a
https://github.com/llvm/llvm-project/commit/9fa05b0377de8d9f573b9a7f026bd202ef9e897a
Author: lonely eagle <2020382038 at qq.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/test/Dialect/MemRef/invalid.mlir
M mlir/test/Dialect/MemRef/ops.mlir
Log Message:
-----------
[mlir][memref] Make memref.cast areCastCompatible return true when meet same types (#192029)
When both the source and destination types of `memref.cast` are
unranked, it causes an IR verification failure, which impacts downstream
projects and its behavior is inconsistent with the documentation. To
address this, this PR now allows the operation to return true if the
source and destination types are identical.
Commit: 705cdc3a9d0adb4c0667aa840a1f23165eca297b
https://github.com/llvm/llvm-project/commit/705cdc3a9d0adb4c0667aa840a1f23165eca297b
Author: LU-JOHN <John.Lu at amd.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/v_swap_b16.ll
M llvm/test/CodeGen/AMDGPU/v_swap_b32.mir
M llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
Log Message:
-----------
Reland "[AMDGPU] Generate more swaps" #184164 (#192452)
After fixing analysis of implicit register operands when matching a swap
in https://github.com/llvm/llvm-project/pull/192220, reland #184164.
#184164 was reverted in
https://github.com/llvm/llvm-project/pull/187723.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: e5bb8046685769be4f1ed685a583a8a615f8abc8
https://github.com/llvm/llvm-project/commit/e5bb8046685769be4f1ed685a583a8a615f8abc8
Author: Nico Weber <thakis at chromium.org>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn
Log Message:
-----------
[gn build] Port 96266b71214a (#192663)
Commit: 00177ef8c57987d4105b9f088a6f52ec6374adf8
https://github.com/llvm/llvm-project/commit/00177ef8c57987d4105b9f088a6f52ec6374adf8
Author: Nico Weber <thakis at chromium.org>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M clang/include/clang/Options/Options.td
M clang/test/Driver/cl-options.c
Log Message:
-----------
[clang] Exposse -fdiagnostics-print-source-range-info to clang-cl (#192500)
Commit: ed9da27de8789d5052b152e2b7f64d3ea354a23a
https://github.com/llvm/llvm-project/commit/ed9da27de8789d5052b152e2b7f64d3ea354a23a
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.h
M mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.td
M mlir/lib/Dialect/Transform/IR/TransformDialect.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/lib/Dialect/Transform/IR/TransformTypes.cpp
M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
M mlir/test/Dialect/Transform/normal-forms.mlir
M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp
M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.td
Log Message:
-----------
[mlir] add normal form checked transform interface (#192647)
This interface can be implemented by operations that guarantee certain
normal forms for themselves and their regions. The operations provide
the list of normal forms they guarantee. This interface interacts with
the typed transform handles removing the need for them to check normal
forms that are guaranteed (and preserved by transforms).
Provide a simple `transform.payload` operation to carry a list of normal
forms and implement the interface.
This exposes the fact that the transform interpreter may be running the
verifier too much, but this is a pre-existing beavior that is orthogonal
to this patch.
Assisted-by: Claude Opus 4.7 / Cursor
Commit: 456bf22d5dfd0010c376190b4fca83d5d7cbb857
https://github.com/llvm/llvm-project/commit/456bf22d5dfd0010c376190b4fca83d5d7cbb857
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAArch64.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/Headers/arm_acle.h
M clang/lib/Sema/SemaARM.cpp
R clang/test/CodeGen/AArch64/pcdphint-atomic-store.c
M clang/test/CodeGen/arm_acle.c
M clang/test/CodeGen/builtins-arm64.c
R clang/test/Sema/AArch64/pcdphint-atomic-store.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
R llvm/test/CodeGen/AArch64/pcdphint-atomic-store.ll
M llvm/test/Verifier/AArch64/intrinsic-immarg.ll
Log Message:
-----------
Remove __arm_atomic_store_with_stshh from llvm (#192419)
This patch is revert of #181386 with some manual changes applied due to
revert conflicts.
Current implementation of __arm_atomic_store_with_stshh is incorrect as
it doesn't enforce the memory ordering constraints as can be seen
[here](https://godbolt.org/z/n5YnbaT8E). Different solution will need to
be implemented, but removing for now so users don't pick this up.
Commit: 0863312900d38ee124fa31c5842d3f3009ffd73f
https://github.com/llvm/llvm-project/commit/0863312900d38ee124fa31c5842d3f3009ffd73f
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M flang/test/Lower/logical-operations.f90
M flang/test/Lower/loops2.f90
M flang/test/Lower/loops3.f90
M flang/test/Lower/memory-alloc.f90
M flang/test/Lower/zero-size.f90
Log Message:
-----------
[flang][NFC] Converted five tests from old lowering to new lowering (part 46) (#192439)
Tests converted from test/Lower: logical-operations.f90, loops2.f90,
loops3.f90, memory-alloc.f90, zero-size.f90
Commit: 735b15239c493fce6a5033776470892f30d7e00e
https://github.com/llvm/llvm-project/commit/735b15239c493fce6a5033776470892f30d7e00e
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M libc/src/strings/strcasecmp.cpp
M libc/src/strings/strncasecmp.cpp
M libc/test/src/string/strcmp_test.cpp
M libc/test/src/strings/strcasecmp_test.cpp
M libc/test/src/strings/strncasecmp_test.cpp
Log Message:
-----------
[libc] Fix strcasecmp/strncasecmp signedness and add tests (#192632)
Fixed character signedness bug in strcasecmp and strncasecmp
implementations in src/strings/ where characters > 127 were not
correctly handled.
Added LIBC_CRASH_ON_NULLPTR checks to both functions.
Enhanced unit tests in test/src/strings/ to be comprehensive without
duplicating basic case insensitivity tests.
Updated assertions in strcasecmp_test, strncasecmp_test, and strcmp_test
to check for sign instead of exact value.
Commit: bf3cc1754024c08164d78e42bb55928d41953e95
https://github.com/llvm/llvm-project/commit/bf3cc1754024c08164d78e42bb55928d41953e95
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TargetEnv.h
M mlir/lib/Dialect/Tosa/IR/TargetEnv.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/tosa-validation-version-1p0-invalid.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p0-pro-fp-invalid.mlir
Log Message:
-----------
[mlir][tosa] Add `draft` information to specification version (#192122)
The draft flag can be used by useful to indicate that a specification
version is not yet finalized, and may be subject to change. This is
particularly important for serialized formats that offer guarantees
around backwards compatibility. By exposing `draft` information in the
specification version in the target environment, we can allow consumers
to query this information.
Commit: b077718c8911dea21efc4d21b2abbf2d85435640
https://github.com/llvm/llvm-project/commit/b077718c8911dea21efc4d21b2abbf2d85435640
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M bolt/include/bolt/Core/MCPlus.h
M bolt/include/bolt/Core/MCPlusBuilder.h
Log Message:
-----------
[BOLT] Support non-null MCInst operands in annotation handling (#192188)
The annotation sentinel in BOLT is a null MCInst operand appended after
all prime operands. However, some architectures (e.g. Hexagon) use
non-null MCInst operands as legitimate prime operands for duplex
sub-instructions. The existing code treated any MCInst operand as the
annotation sentinel, causing duplex sub-instructions to be
misidentified.
In getNumPrimeOperands(), only treat a null MCInst operand as the
sentinel. In getAnnotationInstOp(), skip non-null MCInst operands when
searching for the annotation sentinel.
Commit: 03d3d6bf8acd67b6f194075846df54f2497b7b19
https://github.com/llvm/llvm-project/commit/03d3d6bf8acd67b6f194075846df54f2497b7b19
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 735b152 (#192673)
This fixes 735b15239c493fce6a5033776470892f30d7e00e.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 0993b11a12e1eacd63ae8c84e0a5cff9e3f09ef6
https://github.com/llvm/llvm-project/commit/0993b11a12e1eacd63ae8c84e0a5cff9e3f09ef6
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/lib/AST/ASTContext.cpp
Log Message:
-----------
[clang] Clear ASTContext::TUDecl in 'cleanup' for easier debugging (#191697)
While the ASTContext has more things inside, I think we should at least
clear the TUDecl so that when traversing the (dangling) AST would
immediately step on the null-dereference instead of chasing dangling
pointers and crash later.
I was bitten by this in #191058.
This commit should be NFC - assuming that people didn't traverse already
dangling ASTs.
Commit: 56bb0a4fce3030b62ce842e5b06e8ecc5b816de1
https://github.com/llvm/llvm-project/commit/56bb0a4fce3030b62ce842e5b06e8ecc5b816de1
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/test/CodeGen/SPIRV/lit.local.cfg
Log Message:
-----------
[SPIR-V] Use ToolSubst for spirv-tools lit substitutions (#192462)
Bare-string substitutions match as substrings and the replacement path
contains the tool name, causing corrupted RUN lines
The issue is reproducible, for example, when path to llvm has tool name
substring at any point
Commit: ea2f50817fa32560f8fac227b58d6a2a9626df3b
https://github.com/llvm/llvm-project/commit/ea2f50817fa32560f8fac227b58d6a2a9626df3b
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M mlir/test/Dialect/Tosa/tosa-validation-version-1p0-invalid.mlir
Log Message:
-----------
[mlir][tosa] Fix validation test (#192679)
Fixes a validation test after a merge race condition with
https://github.com/llvm/llvm-project/pull/192122 and
https://github.com/llvm/llvm-project/pull/192272.
Commit: b7e915c59354cf4e78a37363fab514ad21ebb29c
https://github.com/llvm/llvm-project/commit/b7e915c59354cf4e78a37363fab514ad21ebb29c
Author: Caroline Newcombe <caroline.newcombe at hpe.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/test/Lower/HLFIR/conditional-expr.f90
Log Message:
-----------
[flang] Conditional expressions lowering: use fir.if SSA results for trivial scalar types (#192338)
For trivial scalar types (INTEGER, REAL, COMPLEX, LOGICAL, UNSIGNED),
generate `fir.if` with SSA results instead of allocating a temporary and
using `hlfir.assign`. This avoids the alloca/declare/assign/load pattern
for types that can be passed directly as SSA values.
Non-trivial scalar types (derived types, characters) continue to use the
existing temporary-based paths.
The LIT test expectations have been updated accordingly, and a test case
was added.
Commit: 7ce828298b4882c12f8218f37159b3df2be036f3
https://github.com/llvm/llvm-project/commit/7ce828298b4882c12f8218f37159b3df2be036f3
Author: v-zhangxiaomeng5 <v-zhangxiaomeng5 at xiaomi.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M libcxx/src/ios.cpp
Log Message:
-----------
[libc++] Fix realloc bug in ios.cpp (#177526)
When realloc fails in the function register_callback in `ios.cpp`, the
memory will be leaked, then `__fn_` is assigned as `nullptr`,
dereferencing `__fn_` causes UB. The fix is quite simple which aligns to
`iword & pword` for `realloc`, i.e. return directly if `realloc` fails.
Regarding testing for this bug fix, because `realloc` is a C function
that we can't replace, there is no way to exercise that path easily.
Commit: 49a7f37154df354167ed3420cbee00a305e0316f
https://github.com/llvm/llvm-project/commit/49a7f37154df354167ed3420cbee00a305e0316f
Author: Steven Wu <stevenwu at apple.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/CAS/MappedFileRegionArena.cpp
A llvm/test/tools/llvm-cas/mapping-size-too-small.test
Log Message:
-----------
[CAS] Fix assertion failure when opening CAS with smaller mapping size (#192565)
When opening an existing large CAS using a smaller requested mapping
size, the file size can be smaller than capacity while holding only a
shared lock. Replace the assertion with a graceful lock upgrade to
exclusive before resizing the file.
Commit: a342f779af8ccaebeedaec7a59dc789a0c7e8db3
https://github.com/llvm/llvm-project/commit/a342f779af8ccaebeedaec7a59dc789a0c7e8db3
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M libc/include/llvm-libc-types/x86_64/mcontext_t.h
M libc/include/llvm-libc-types/x86_64/ucontext_t.h
Log Message:
-----------
[libc] Fix ucontext_t and mcontext_t for C compliance (#192648)
* x86_64/ucontext_t.h: Removed alignas to fix C compilation error.
* x86_64/mcontext_t.h: Updated include guard to prevent collision.
Commit: 69112990ebc6ade572b74c79e2535aa3bbf071fa
https://github.com/llvm/llvm-project/commit/69112990ebc6ade572b74c79e2535aa3bbf071fa
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M libc/include/limits.yaml
M libc/include/llvm-libc-macros/limits-macros.h
Log Message:
-----------
[libc] Various limits adds and fixes (#192672)
Implemented and corrected POSIX limits:
* Corrected _POSIX_NAME_MAX and _POSIX_PATH_MAX definitions.
* Added PATH_MAX for Linux.
* Added _POSIX_THREAD_DESTRUCTOR_ITERATIONS and
PTHREAD_DESTRUCTOR_ITERATIONS.
* Updated limits.yaml to include these macros.
Commit: fd647ca46564e60915d3108a3dd2f0eb0499a6c1
https://github.com/llvm/llvm-project/commit/fd647ca46564e60915d3108a3dd2f0eb0499a6c1
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/f16f32dot-fixed-length-fdot.ll
Log Message:
-----------
[AArch64] Fix codegen for FEAT_F16F32DOT with SVE2/SME. (#192668)
When compiling with +sve2/+sme, don't override to use Custom lowering
for PARTIAL_REDUCE_FMLA when it previously determined the operation was
legal due to +f16f32dot/+fp16fml.
Commit: d9b43e2e31b4f0b06e35f65e40c5aafdf67f3ae9
https://github.com/llvm/llvm-project/commit/d9b43e2e31b4f0b06e35f65e40c5aafdf67f3ae9
Author: Michael Jones <michaelrj at google.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M libc/src/__support/CMakeLists.txt
A libc/src/__support/wctype_impl.h
M libc/src/__support/wctype_utils.h
M libc/src/wctype/CMakeLists.txt
M libc/src/wctype/iswctype.cpp
M libc/src/wctype/wctype.cpp
Log Message:
-----------
[libc] Reorganize iswctype to avoid GPU/libc++ error (#192659)
After #191178 there were build errors when building the libc++
hand-in-hand pieces due to header layering.
Written with the assistance of Gemini
Commit: 6e94ad04a118cf7113463715900b772d77247bce
https://github.com/llvm/llvm-project/commit/6e94ad04a118cf7113463715900b772d77247bce
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M flang/lib/Evaluate/fold-implementation.h
M flang/test/Evaluate/rewrite01.f90
A flang/test/Evaluate/rewrite09.f90
M flang/test/Lower/HLFIR/array-ctor-as-elemental.f90
M flang/test/Lower/HLFIR/array-ctor-as-inlined-temp.f90
M flang/test/Lower/HLFIR/array-ctor-as-runtime-temp.f90
Log Message:
-----------
[flang] Fold x + 0, 0 + x and x - 0 for INTEGER and UNSIGNED (#192479)
This fixes https://github.com/llvm/llvm-project/issues/191928.
Commit: 2c9a1a74fb7b6c3297d16fa98a0b5432317067f7
https://github.com/llvm/llvm-project/commit/2c9a1a74fb7b6c3297d16fa98a0b5432317067f7
Author: Chris Apple <cja-private at pm.me>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M clang/lib/Driver/SanitizerArgs.cpp
M clang/test/Driver/fsanitize-realtime.c
Log Message:
-----------
[clang][rtsan] Disallow type and realtime sanitizer combo (#192681)
Both of these sanitizer runtimes define similar interceptors, so they
may not be used together
Commit: 8656768ceb131c67da789bf95558b7485ae540a3
https://github.com/llvm/llvm-project/commit/8656768ceb131c67da789bf95558b7485ae540a3
Author: quic-k <kushpal at qti.qualcomm.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M clang/test/Driver/hexagon-toolchain-picolibc.c
Log Message:
-----------
[Hexagon] Relax toolchain check to accept ld in driver test (#192596)
Fixes failures in
https://lab.llvm.org/buildbot/#/builders/145/builds/13829
https://lab.llvm.org/buildbot/#/builders/124/builds/2152
Signed-off-by: Kushal Pal <kushpal at qti.qualcomm.com>
Commit: fce4a1eab3801c250eb6a271d0248a7b6293fa19
https://github.com/llvm/llvm-project/commit/fce4a1eab3801c250eb6a271d0248a7b6293fa19
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
R clang/docs/CIR/ABILowering.md
A clang/docs/CIR/ABILowering.rst
R clang/docs/CIR/CleanupAndEHDesign.md
A clang/docs/CIR/CleanupAndEHDesign.rst
Log Message:
-----------
[CIR][docs] Migrate existing Markdown documents to reStructuredText format (#192066)
This patch migrates the existing ClangIR documents that are written in
Markdown format to reStructuredText format to align CIR's documents with
clang's documentation policy.
Closes #191850 .
Commit: 3183e576bb25defeabf8e000a05846d16fc73174
https://github.com/llvm/llvm-project/commit/3183e576bb25defeabf8e000a05846d16fc73174
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
Log Message:
-----------
[X86] masked_gather_scatter.ll - regenerate with VPADD asm comments (#192685)
Commit: 5de013ddcb0e93269541a9e209220414ab46d36a
https://github.com/llvm/llvm-project/commit/5de013ddcb0e93269541a9e209220414ab46d36a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
A llvm/test/CodeGen/X86/pr192034.ll
Log Message:
-----------
[X86] Add test coverage for #192034 (#192686)
Commit: b2ca7319ca38553d111b9519dfc7a4a2e2e3ac3b
https://github.com/llvm/llvm-project/commit/b2ca7319ca38553d111b9519dfc7a4a2e2e3ac3b
Author: artyo_Om <art.maklakov28 at gmail.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
A llvm/test/CodeGen/X86/block-placement-triangle-profile-likely-prob.mir
Log Message:
-----------
[CodeGen] Fix profiled triangular CFG threshold in MachineBlockPlacement (#188752)
Fix an assertion failure in MachineBlockPlacement for profiled
triangular CFGs with large -profile-likely-prob values.
The existing triangular-CFG threshold scaling can produce a
BranchProbability greater than 1. Capping to `BranchProbability(100,
100)` added.
Commit: ecb2d8173782f547efac8db304c0eb41f2b0d632
https://github.com/llvm/llvm-project/commit/ecb2d8173782f547efac8db304c0eb41f2b0d632
Author: Ayush Sahay <quic_asahay at quicinc.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
Log Message:
-----------
[lldb][Windows] Read/Write PC after suspending thread (#191371)
Currently, we access the PC before suspending the thread in case of a
software breakpoint exception. However, we can't reliably read or write
the thread context while the thread is running. So, suspend the thread
first and then read or write the PC when handling a software breakpoint
exception.
Co-authored-by: Ayush Sahay <asahay at qti.qualcomm.com>
Commit: 25b0ab2d4f7a7a4b165b26d31dd563ef4dde4f17
https://github.com/llvm/llvm-project/commit/25b0ab2d4f7a7a4b165b26d31dd563ef4dde4f17
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/const-branch.c
Log Message:
-----------
[ci][llvm] Run cross-project-tests on llvm/ changes (#188522)
This patch ensures we run the `cross-project-tests` on `llvm/` PRs. At
the very least those tests depend on debug-info and
`llvm/ADT/`/`llvm/Support` (and the data-formatters that also live in
`llvm/`).
This would've helped catch
https://github.com/llvm/llvm-project/pull/188483 at pre-merge time.
Commit: d1f742532b9286196d0c60e9364a99095ba8cdd4
https://github.com/llvm/llvm-project/commit/d1f742532b9286196d0c60e9364a99095ba8cdd4
Author: jumerckx <31353884+jumerckx at users.noreply.github.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M mlir/lib/IR/OperationSupport.cpp
M mlir/test/IR/operation-equality.mlir
Log Message:
-----------
[mlir] Propagate `checkCommutativeEquivalent` into `isRegionEquivalentTo` (#192670)
The `checkCommutativeEquivalent` callback was not forwarded when
recursing into nested regions via `isRegionEquivalentTo`, causing silent
fallback to strict operand-order comparison for ops inside regions. Fix
by propagating the callback through the call site, and add a lit test
covering this case.
Commit: 4284bd02269d65ed7d5efc477ecf5b9fde8a5cef
https://github.com/llvm/llvm-project/commit/4284bd02269d65ed7d5efc477ecf5b9fde8a5cef
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/test/CodeGen/X86/avx-vperm2x128.ll
M llvm/test/CodeGen/X86/insertps-combine.ll
M llvm/test/CodeGen/X86/var-permute-128.ll
M llvm/test/CodeGen/X86/var-permute-256.ll
M llvm/test/CodeGen/X86/var-permute-512.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-xop.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining.ll
Log Message:
-----------
[X86] Regenerate shuffle lowering tests with VPADD asm comments (#192690)
Reduces diffs in upcoming patches
Commit: f14644d085de8e835125b4260e3f3ceee8681f93
https://github.com/llvm/llvm-project/commit/f14644d085de8e835125b4260e3f3ceee8681f93
Author: Kevin Sala Penades <salapenades1 at llnl.gov>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M offload/include/Shared/APITypes.h
M offload/include/device.h
M offload/include/omptarget.h
M offload/liboffload/src/OffloadImpl.cpp
M offload/libomptarget/device.cpp
M offload/libomptarget/interface.cpp
M offload/libomptarget/omptarget.cpp
M offload/libomptarget/private.h
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/include/RecordReplay.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/common/src/RecordReplay.cpp
A offload/test/tools/omp-kernel-replay/record-replay-diff-teams-threads.cpp
A offload/test/tools/omp-kernel-replay/record-replay-diff-threads.cpp
M offload/tools/kernelreplay/llvm-omp-kernel-replay.cpp
Log Message:
-----------
[offload] Add mechanism to return info to kernel replay tool (#192611)
This commit adds a mechanism to return information about a kernel replay
to outer replay tool. This mechanism allows verifying the replay memory
output when using different launch configurations (e.g., different number
of teams or threads) than the one used for recording.
It also adds a new KernelExtraArgsTy structure that is only generated by
the offload/libomptarget runtime components (unlike KernelArgsTy). These
runtime arguments can be used by future extensions, including extensions
not related to kernel record replay.
Commit: a8c80fe41fde8c66434af91fd5a0f2d3b71b28be
https://github.com/llvm/llvm-project/commit/a8c80fe41fde8c66434af91fd5a0f2d3b71b28be
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
Log Message:
-----------
[flang][OpenMP] Clean up check-omp-structure.h, NFC (#192695)
Group declarations to make it clear in which of the check-omp-*.cpp
files a given function is defined.
Delete declarations that don't have corresponding definitions.
Rename private member variable to follow naming convention.
Commit: fdff641f760d529c9484ecdd48b00d07d203f9a7
https://github.com/llvm/llvm-project/commit/fdff641f760d529c9484ecdd48b00d07d203f9a7
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
Log Message:
-----------
[MLIR] Fix -Wunused-variable (#192698)
Inline the variable given the call does not have side effects and the
variable name does not add any clarity.
Commit: 001b1b60121e30a6b9066e54d9a35a7a341a0918
https://github.com/llvm/llvm-project/commit/001b1b60121e30a6b9066e54d9a35a7a341a0918
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
Log Message:
-----------
[MLIR] Fix forward fdff641f760d529c9484ecdd48b00d07d203f9a7 (#192701)
ninja check-mlir somehow did not catch this...
Commit: 546cc690020e4e4317cd05ea833d5e6ff00ec161
https://github.com/llvm/llvm-project/commit/546cc690020e4e4317cd05ea833d5e6ff00ec161
Author: Dmitrii Kuragin <kuraginmail at gmail.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/init-variables-objcxx.mm
Log Message:
-----------
[Clang-Tidy] Fixed `cppcoreguidelines-init-variables` to handle ObjC for-in loops. (#191306)
The check used to report false positive in case of for-in loop in
Objective-C[++]:
```
for (NSString *value in values) {
...
}
```
With the report message:
```
...: warning: variable 'value' is not initialized [cppcoreguidelines-init-variables]
for (NSString *value in values) {
^
= NULL
```
This PR exclude the for-in loop from the the matcher in order to avoid
the false-positive.
Fixes #62106
Commit: 2253d7575a52918b37012e20d2fa5d6758bc8017
https://github.com/llvm/llvm-project/commit/2253d7575a52918b37012e20d2fa5d6758bc8017
Author: Lei Huang <lei at ca.ibm.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsPPC.def
M clang/lib/Headers/altivec.h
A clang/test/CodeGen/PowerPC/builtins-post-quantum-crypto.c
A clang/test/Sema/PowerPC/builtins-post-quantum-crypto-error.c
M llvm/include/llvm/IR/IntrinsicsPowerPC.td
M llvm/lib/Target/PowerPC/PPCInstrFuture.td
A llvm/test/CodeGen/PowerPC/post-quantum-crypto.ll
Log Message:
-----------
[PowerPC] Add builtins for Post Quantum Cryptography Acceleration (#184717)
This patch implements Post Quantum Cryptography (PQC) Acceleration
builtins for PowerPC's future ISA by ensuring that vector operations
(vec_add, vec_sub, vec_mul, vec_mulh) correctly map to VSX instructions
(xvadduwm, xvadduhm, xvsubuwm, xvsubuhm, xvmuluwm, xvmuluhm, xvmulhsw,
xvmulhsh, xvmulhuw, xvmulhuh) when targeting mcpu=future.
Implement new builtin for vec_mulh:
* vector short vec_mulh(vector signed short, vector signed short)
* vector unsigned short vec_mulh(vector unsigned short, vector unsigned
short)
Assisted by AI.
Commit: e8c8cbb06a5285b19a009af15d05d3f9fd09bfee
https://github.com/llvm/llvm-project/commit/e8c8cbb06a5285b19a009af15d05d3f9fd09bfee
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M lldb/source/Core/Debugger.cpp
A lldb/test/API/functionalities/breakpoint/breakpoint_command_auto_continue/Makefile
A lldb/test/API/functionalities/breakpoint/breakpoint_command_auto_continue/TestBreakpointCommandAutoContinue.py
A lldb/test/API/functionalities/breakpoint/breakpoint_command_auto_continue/bpcmd.py
A lldb/test/API/functionalities/breakpoint/breakpoint_command_auto_continue/main.cpp
Log Message:
-----------
[lldb] Don't adopt in the ExecutionContext from auto-continue events (#191433)
When a breakpoint auto-continues, the event handler receives a "stopped
but restarted" event. During the transition where we step over the
breakpoint (before continuing), the public state hasn't yet been set to
running. This caused the `DefaultEventHandler` to call
`ExecutionContextRef` with `adopt_selected=true`, which would fetch
stale thread/frame state and needlessly (and incorrectly) interrupt the
target to compute the execution context (used by the statusline). This
PR fixes that by not doing that.
Fixes #190956
Co-authored-by: Jim Ingham <jingham at apple.com>
Commit: 0fd21b102286f3a920950d650cb50420b0f94fc3
https://github.com/llvm/llvm-project/commit/0fd21b102286f3a920950d650cb50420b0f94fc3
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/SemaOpenACC/compute-construct-firstprivate-clause.cpp
M clang/test/SemaOpenACC/compute-construct-private-clause.cpp
M clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
Log Message:
-----------
[OpenACC] Require a complete type for vars-with-restrictions (#192680)
The bug report shows a case where an incomplete type was passed to a
var-list in a clause that has a restriction. Only the 'private',
'firstprivate', and 'reduction' clauses have such restrictions on what
they can reference, so only those will cause problems.
This patch adds a 'completeness' requirement for all 3 of those to make
sure we can properly enforce our restrictions.
Fixes: #192664
Commit: 50b859cca1ccf7d174ee61a8a130ae14220209e4
https://github.com/llvm/llvm-project/commit/50b859cca1ccf7d174ee61a8a130ae14220209e4
Author: Addmisol <addmisol9 at gmail.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M clang/lib/CodeGen/Targets/AMDGPU.cpp
A clang/test/CodeGen/amdgpu-abi-struct-coerce.c
M clang/test/CodeGen/amdgpu-variadic-call.c
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
M clang/test/Headers/amdgcn-openmp-device-math-complex.c
Log Message:
-----------
[AMDGPU] Stop coercing structs with FP and int fields to integer arrays (#185083)
Fixes #184150
This PR fixes the ABI lowering code for small aggregates (≤64 bits) on
AMDGPU targets to selectively coerce based on element types:
- Structs containing only sub-32-bit integers (char, short): Continue to
coerce to i16/i32/[2 x i32] for efficient register packing
- Structs containing floats or full-sized integers (i32, i64, float,
double): Preserve original types using ABIArgInfo::getDirect() without
coercion
Previously, ALL small aggregates were unconditionally coerced to integer
types. A struct like { float, int } would be lowered to [2 x i32],
losing the floating-point type information. This prevented attaching
FP-specific attributes like nofpclass to the float
component.
Changes
- clang/lib/CodeGen/Targets/AMDGPU.cpp: Added
containsOnlyPackableIntegerTypes() helper function that recursively
checks if an aggregate contains only sub-32-bit integer types. Updated
classifyReturnType and classifyArgumentType to use this helper - only
coercing
aggregates that contain exclusively small integers, while preserving
types for aggregates containing floats or full-sized integers.
- clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl: Updated expected
output to reflect that char-only structs are still coerced (e.g.,
struct_char_x8 -> [2 x i32]) while preserving correct behavior.
- clang/test/CodeGen/amdgpu-abi-struct-coerce.c: Added test coverage for
various struct types including mixed float/int fields, demonstrating the
selective coercion behavior.
Before/After
// Struct with float - NOW preserves types
typedef struct { float f; int i; } fp_int_pair;
Before: define [2 x i32] @ foo([2 x i32] %x.coerce)
After: define %struct.fp_int_pair @ foo(float %x.coerce0, i32
%x.coerce1)
// Struct with only small integers - STILL coerced for efficiency
typedef struct { char a, b, c, d, e, f, g, h; } eight_chars;
Before: define [2 x i32] @ bar([2 x i32] %x.coerce)
After: define [2 x i32] @ bar([2 x i32] %x.coerce) // Unchanged
Test Plan
- Updated existing ABI tests in amdgpu-abi-struct-coerce.cl
- Added new test amdgpu-abi-struct-coerce.c for mixed FP/int structs
- Updated affected OpenMP complex math header tests
Commit: 38ab75da336d7c0f9c87bf4fab9ce858dfa8a208
https://github.com/llvm/llvm-project/commit/38ab75da336d7c0f9c87bf4fab9ce858dfa8a208
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/utils/git/github-automation.py
Log Message:
-----------
[Github][CI] Add note about AI tools in good-first-issue text (#173109)
After https://github.com/llvm/llvm-project/pull/172515, we have a new
paragraph in LLVM policy about AI:
> The one exception we reserve is for GitHub issues labelled with the
“good first issue” label. These issues are selected by LLVM contributors
to help newcomers get familiar with the code base. Thus, it makes no
sense to fix them using AI tools. Using AI tools to fix issues labelled
as “good first issues” is forbidden.
We should add disclosure about it in the introduction note for
developers to see clearly.
---------
Co-authored-by: Reid Kleckner <rkleckner at nvidia.com>
Commit: 12771e9568972500a217481ab5c9960a596ba184
https://github.com/llvm/llvm-project/commit/12771e9568972500a217481ab5c9960a596ba184
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M lldb/test/API/lang/c/ptrauth/TestPtrAuth.py
M lldb/test/API/lang/c/ptrauth/main.c
Log Message:
-----------
[lldb] Convert TestPtrAuth.py from an inline to a regular test (NFC) (#192705)
This PR changes TestPtrAuth.py from an inline to a "regular" API test.
The motivation for this is #191416 and the need to specify parameters to
the build.
Commit: 1b62eaa2bf051a8207c86454ede3420e9f9d4886
https://github.com/llvm/llvm-project/commit/1b62eaa2bf051a8207c86454ede3420e9f9d4886
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M flang/include/flang/Lower/OpenACC.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-loop-collapse-force-lowering.f90
A flang/test/Lower/OpenACC/acc-loop-collapse-force-non-tightly-nested.f90
M flang/test/Semantics/OpenACC/acc-collapse-force.f90
Log Message:
-----------
[flang][acc] Fix crash on collapse(force:N) with non-tightly nested loops (#191310)
When collapse(force:N) is applied to non-tightly nested loops, the
compiler could crash or generate redundant inner loops.
Crashes occurred because getNestedEvaluations() was called without
checking hasNestedEvaluations() first. Add guards in hasEarlyReturn(),
createRegionOp(), and the collapse-force sinking logic in Bridge.cpp.
Redundant inner loops were generated because processDoLoopBounds
absorbed N levels of do-loops into the outer acc.loop, but the PFT
walker still generated separate acc.loop ops for those same loops.
Fix by tracking absorbed DoConstruct* pointers in visitLoopControl
and skipping them in genFIR(DoConstruct).
Commit: d84356e74f5357a3a22317d4e766e244c28865b6
https://github.com/llvm/llvm-project/commit/d84356e74f5357a3a22317d4e766e244c28865b6
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.add.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.and.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fadd.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmax.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmin.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fsub.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.max.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.min.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.or.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.sub.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umax.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umin.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.xor.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize rules for wave_reduce intrinsics (#192377)
Commit: cd0b558c195bd4d13aa311f081722fea51459a47
https://github.com/llvm/llvm-project/commit/cd0b558c195bd4d13aa311f081722fea51459a47
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Lower/OpenACC/acc-host-data-cuda-device.f90
Log Message:
-----------
[flang][cuda][openacc] use the ultimate symbol to set the implicit device attribute (#192553)
The attribute was not applied when the symbol had a UseDetails. Use the
ultimate symbol so we get the proper ObjectEntityDetails to apply the
implicit attribute.
Commit: 2b8311ef3e6484679370d60b369aa189f48981b9
https://github.com/llvm/llvm-project/commit/2b8311ef3e6484679370d60b369aa189f48981b9
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M flang/include/flang/Semantics/symbol.h
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Lower/OpenACC/acc-routine-named-external.f90
Log Message:
-----------
[flang][OpenACC] Support acc routine info on ProcEntityDetails for separate compilation (#192367)
When !$acc routine(name) vector is used in a caller for an external
subroutine, the symbol has ProcEntityDetails (not SubprogramDetails).
The routine info (vector/worker/gang/seq) was silently lost because
AddRoutineInfoToSymbol only handled SubprogramDetails, and CallInterface
only checked SubprogramDetails for openACCRoutineInfos.
Add openACCRoutineInfos storage to ProcEntityDetails and handle it in
both AddRoutineInfoToSymbol and CallInterface so the parallelism level
is properly lowered to acc.routine with the correct keyword.
Commit: f6916bded9f5306057824c5be7c5a877baa1bdc3
https://github.com/llvm/llvm-project/commit/f6916bded9f5306057824c5be7c5a877baa1bdc3
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_test1_no_explicit_vect_width.ll
M llvm/test/Transforms/LoopVectorize/X86/outer_loop_test1_no_explicit_vect_width.ll
M llvm/test/Transforms/LoopVectorize/dbg-outer-loop-vect.ll
M llvm/test/Transforms/LoopVectorize/non-widenable-intrinsics-outer-loop.ll
M llvm/test/Transforms/LoopVectorize/outer-loop-inner-latch-successors.ll
M llvm/test/Transforms/LoopVectorize/outer-loop-vec-phi-predecessor-order.ll
M llvm/test/Transforms/LoopVectorize/outer-loop-wide-phis.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_hcfg_construction.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_scalable.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_test2.ll
M llvm/test/Transforms/LoopVectorize/vplan-native-path-inner-loop-with-runtime-checks.ll
M llvm/test/Transforms/LoopVectorize/vplan-outer-loop-uncomputable-trip-count.ll
Log Message:
-----------
[LV] Modernize outer loop tests check lines (NFC) (#192689)
Re-generate check lines with latest UTC, adjust naming for consistency.
Commit: 55e8c5e0eaea9943c2039a8add9525ed90dad03a
https://github.com/llvm/llvm-project/commit/55e8c5e0eaea9943c2039a8add9525ed90dad03a
Author: adeshcom14 <aadikane at amd.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/test/CodeGen/AMDGPU/async-buffer-loads.ll
M llvm/test/CodeGen/AMDGPU/asyncmark-gfx12plus.ll
M llvm/test/CodeGen/AMDGPU/asyncmark-pregfx12.ll
Log Message:
-----------
[AMDGPU] Mark ASYNCMARK as meta instruction to fix hazard cycle miscounting (#189981)
ASYNCMARK emits no hardware code it is used for tracking purpose but was
not marked as meta, causing getNumWaitStates to return 1 and
GCNHazardRecognizer to incorrectly count it as a pipeline cycle.
This patch marks ASYNCMARK as meta-Instruction so it correctly reports 0
wait states.
Fixes: #186878
Commit: 86397f49c7725f35a51517a8290cb4207c97771d
https://github.com/llvm/llvm-project/commit/86397f49c7725f35a51517a8290cb4207c97771d
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/builders/builder.py
M lldb/packages/Python/lldbsuite/test/builders/darwin.py
M lldb/packages/Python/lldbsuite/test/configuration.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/dotest_args.py
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/test/API/commands/expression/ptrauth-auth-traps/Makefile
M lldb/test/API/commands/expression/ptrauth-auth-traps/TestPtrAuthAuthTraps.py
M lldb/test/API/commands/expression/ptrauth-objc/Makefile
M lldb/test/API/commands/expression/ptrauth-objc/TestPtrAuthObjectiveC.py
M lldb/test/API/commands/expression/ptrauth-vtable/Makefile
M lldb/test/API/commands/expression/ptrauth-vtable/TestPtrAuthVTableExpressions.py
M lldb/test/API/commands/expression/ptrauth/Makefile
M lldb/test/API/commands/expression/ptrauth/TestPtrAuthExpressions.py
M lldb/test/API/lang/c/ptrauth/Makefile
M lldb/test/API/lang/c/ptrauth/TestPtrAuth.py
Log Message:
-----------
[lldb] Rally around triple rather than arch in the API tests (#191416)
This PR removes as much uses of arch as possible, in favor of using
triple directly. Most of the changes are in the builder, which no longer
passes `ARCH` to Make, and of course in Makefile.rules.
This significantly simplifies the remote Darwin test suite, as it
previously had to try and piece together the triple from the platform
and the arch. As an added benefit, we now go through the same code path
for host and remote test runs.
I have tested this on Darwin and Linux and made the changes with the
remote test suites in mind, but it's possible I missed something not
caught by my local testing.
Commit: 1bf82626f7024cc66d46d07dfebd55d0acb44b29
https://github.com/llvm/llvm-project/commit/1bf82626f7024cc66d46d07dfebd55d0acb44b29
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
A flang/test/Lower/OpenACC/acc-declare-global-component-not-supported.f90
M flang/test/Lower/OpenACC/acc-declare.f90
Log Message:
-----------
[flang][acc] Accept component reference in non-global `acc declare` (#192563)
The current TODO was being issued for all cases of `acc declare`
including ones which are treated as a subroutine-scope lifetime. Since
the latter use normal data mapping clauses without the need for
ctors/dtors, accept them. However, still emit TODO for the cases where
component references are `acc declare`d in global context.
Commit: 809b4cfa2b15f1e5699ff00c842266e5362ccd32
https://github.com/llvm/llvm-project/commit/809b4cfa2b15f1e5699ff00c842266e5362ccd32
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/utils/lit/lit/Test.py
M llvm/utils/lit/lit/TestTimes.py
M llvm/utils/lit/lit/discovery.py
A llvm/utils/lit/tests/Inputs/malformed-test-times/a.txt
A llvm/utils/lit/tests/Inputs/malformed-test-times/b.txt
A llvm/utils/lit/tests/Inputs/malformed-test-times/lit.cfg
A llvm/utils/lit/tests/Inputs/malformed-test-times/lit_test_times
A llvm/utils/lit/tests/malformed-test-times.py
Log Message:
-----------
[llvm-lit] Error on malformed `.lit_test_times` entries instead of stack trace (#191305)
When running `llvm-lit`, I sometimes hit a traceback, because a
`.lit_test_times.txt` file has got corrupted (not sure how).
However, it's non-obvious what the issue is (you just get a traceback),
so I've fixed this as follows:
`read_test_times()` currently assumes every line in
`.lit_test_times.txt`
contains a floating-point time followed by a test path. If the file
contains a blank line, a line without a path, or a non-numeric time,
`llvm-lit` will now error with: `fatal: found malformed timing data in`
+ filename.
Add test coverage for this too.
Commit: faf63e97020c589eea64ddfcc64e0fbc1a40d8c4
https://github.com/llvm/llvm-project/commit/faf63e97020c589eea64ddfcc64e0fbc1a40d8c4
Author: Kelvin Li <kli at ca.ibm.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M flang/test/Lower/PowerPC/ppc-intrinsics.f90
M flang/test/Lower/PowerPC/ppc-mma-accumulator-move-clear.f90
M flang/test/Lower/PowerPC/ppc-mma-assemble-disassemble.f90
M flang/test/Lower/PowerPC/ppc-mma-outer-product-1.f90
M flang/test/Lower/PowerPC/ppc-mma-outer-product-2.f90
M flang/test/Lower/PowerPC/ppc-pwr10-vec-intrinsics.f90
M flang/test/Lower/PowerPC/ppc-vec-abs.f90
M flang/test/Lower/PowerPC/ppc-vec-add-and-mul-sub-xor.f90
M flang/test/Lower/PowerPC/ppc-vec-any.f90
M flang/test/Lower/PowerPC/ppc-vec-cmp.f90
M flang/test/Lower/PowerPC/ppc-vec-cvf-elem-order.f90
M flang/test/Lower/PowerPC/ppc-vec-max-min-madd-nmsub.f90
M flang/test/Lower/PowerPC/ppc-vec-merge-elem-order.f90
M flang/test/Lower/PowerPC/ppc-vec-merge.f90
M flang/test/Lower/PowerPC/ppc-vec-perm-elem-order.f90
M flang/test/Lower/PowerPC/ppc-vec-perm.f90
M flang/test/Lower/PowerPC/ppc-vec-sel.f90
M flang/test/Lower/PowerPC/ppc-vec-shift-be-le.f90
M flang/test/Lower/PowerPC/ppc-vec-shift.f90
M flang/test/Lower/PowerPC/ppc-vec-splat-elem-order.f90
M flang/test/Lower/PowerPC/ppc-vector-types.f90
Log Message:
-----------
[flang][PPC] Remove -flang-experimental-hlfir flag in ppc vector tests (NFC) (#192715)
Commit: 3b45641a3d9b40c1c7210e4cf66a473a9f720d44
https://github.com/llvm/llvm-project/commit/3b45641a3d9b40c1c7210e4cf66a473a9f720d44
Author: Anshul Nigham <nigham at google.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.h
M llvm/lib/Target/AArch64/AArch64PassRegistry.def
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/lower-neon-vector-fcmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-rev.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-shuf-to-ins.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-uzp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-zip.mir
Log Message:
-----------
[NewPM] Adds a port for AArch64PostLegalizerLowering (#190718)
Standard porting (extraction into a helper function shared across legacy
and new PM passes).
Dropped unused include `TargetPassConfig.h`
Commit: 37a8c718182a1dc25e46ae2295f172abb3791d78
https://github.com/llvm/llvm-project/commit/37a8c718182a1dc25e46ae2295f172abb3791d78
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectDisassemble.cpp
M lldb/source/Commands/CommandObjectSource.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/CommandReturnObject.cpp
M lldb/source/Target/Thread.cpp
M lldb/test/Shell/Commands/command-disassemble-process.yaml
M lldb/test/Shell/Commands/command-disassemble.s
M lldb/test/Shell/Commands/command-list-reach-beginning-of-file.test
M lldb/test/Shell/Commands/command-list-reach-end-of-file.test
M lldb/test/Shell/Driver/LocalLLDBInit.test
Log Message:
-----------
[lldb] Assert lack of trailing period or newlines in diagnostics (#191447)
This PR adds an assert to `CommandReturnObject::{AppendNote,
AppendWarning}` to ensure the diagnostics don't end with a newline,
which is added by the function, or a period, which goes against the
coding standards.
I added a little helper that asserts in assert-enabled builds and trim
the diagnostic otherwise. I know that goes against the notion that
"asserts are preconditions" and therefore you shouldn't handle the case
where they don't hold (something I generally advocate for) but I think
we should prioritize a consistent user experience over purity.
We should do the same thing for `AppendError`, but currently there are
still too many violations that need to be cleaned up and if the compiler
emits non-compliant diagnostics, we may not be able to do this at all.
Commit: 6c3d84cbdf987e3f2eb113fb4e9212c56b54c6b5
https://github.com/llvm/llvm-project/commit/6c3d84cbdf987e3f2eb113fb4e9212c56b54c6b5
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/include/llvm/Transforms/Utils/ValueMapper.h
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
A llvm/test/Transforms/FunctionImport/Inputs/inline-history.ll
A llvm/test/Transforms/FunctionImport/inline-history.ll
Log Message:
-----------
[ThinLTO] Drop !inline_history metadata when importing functions (#192564)
In #190876 we now have functions in ValueAsMetadata (!inline_history
metadata). This has caused undefined symbol linker errors in some
ThinLTO builds. The following is what's going on:
@f in module A is getting imported from module A to module B, and it has
a call with !inline_history pointing to @g in module A, so a declaration
for @g is also imported into module B. But @g gets internalized in
module A, causing the undefined symbol error at link time due to
memprof's ICP in module B creating a call to @g since we can ICP a call
to any declaration.
To avoid pulling in a function declaration that may be wrong, simply
drop !inline_history metadata when importing functions. They aren't
necessary for correctness, they only prevent inlining explosion in some
recursive edge cases. Worst case is we do another round of inlining
through mutually recursive functions and then stop again due to newly
added !inline_history metadata, which should be fine; the inlining
explosion typically happens because we keep inlining through mutually
recursive functions.
Commit: bf10fc870e0db55a81db1d0da768011370113101
https://github.com/llvm/llvm-project/commit/bf10fc870e0db55a81db1d0da768011370113101
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/utils/lit/tests/filter-failed-delete.py
M llvm/utils/lit/tests/filter-failed-rerun.py
M llvm/utils/lit/tests/filter-failed.py
Log Message:
-----------
[lit] Fix tests when run via symlinks (#192530)
If the path to Inputs/filter-failed was a symlink, it would copy the
symlinks, and then edit the same files, leading to flaky failures if the
tests ran in parallel.
Commit: 8e424e318de2f7b51b0fea27915601c4a38cdb13
https://github.com/llvm/llvm-project/commit/8e424e318de2f7b51b0fea27915601c4a38cdb13
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/rv64p.ll
Log Message:
-----------
[RISCV] Support emitting plui.h for i32 constants on RV64. (#192534)
If the constant was originally i32, it will be sign or zero
extended to i64 during type legalization. If we can prove the
upper bits aren't used we can duplicate the lower bits to allow
RISCVMatInt to select plui.h.
Commit: 59a509aa80e57c420d06f364b02f0159f7f70775
https://github.com/llvm/llvm-project/commit/59a509aa80e57c420d06f364b02f0159f7f70775
Author: Zachary Yedidia <zyedidia at gmail.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/docs/LFI.rst
Log Message:
-----------
[LFI][Doc] Update documentation for planned features (#192128)
This PR updates the LFI documentation to be a little less
AArch64-specific in anticipation of x86-64 support. I've also updated
the planned names for the `no-lfi-stores`/`no-lfi-loads` features, and
updated the planned rewrite sequence for `x30` modifications to make it
more PAC-compatible for when we include support for that.
Commit: ee82ab9cf406a22ad801db4e906a1444209046d3
https://github.com/llvm/llvm-project/commit/ee82ab9cf406a22ad801db4e906a1444209046d3
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/test/Other/new-pm-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
Log Message:
-----------
[JTS][Passes] Enable JTS By Default (#190674)
Now that the compile-time issues have been fixed (#190092) and given
that was the last known blocker for enabling this pass, try enabling it
by default again.
Previous attempts at enablement are in
https://github.com/llvm/llvm-project/pull/82546 and
https://github.com/llvm/llvm-project/pull/83229 which were
reverted/never landed due to causing compile time explosions in
std::variant heavy code such as flang with old libstdc++ versions.
https://llvm-compile-time-tracker.com/compare.php?from=2aa4100fa710ed83c5acd7505c27b4498f727c8e&to=4d80149901a224a90505c3b30192dab20cca5358&stat=instructions:u
Compile time looks like it should just be noise.
Commit: dcc86448c37a95ed3195dd3631dde9c4a24fbbee
https://github.com/llvm/llvm-project/commit/dcc86448c37a95ed3195dd3631dde9c4a24fbbee
Author: Anshul Nigham <nigham at google.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.h
M llvm/lib/Target/AArch64/AArch64PassRegistry.def
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-constrain-new-regop.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-dead-cc-defs-in-fcmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-dead-cc-defs.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-xclass-copies.mir
Log Message:
-----------
[NewPM] Adds a port for AArch64PostSelectOptimize (#192599)
Standard porting with updated tests.
Note: Removed unused dep on TargetPassConfig for legacy pass.
Commit: a3292e8924528420989c23a8e79174f9b9cb3840
https://github.com/llvm/llvm-project/commit/a3292e8924528420989c23a8e79174f9b9cb3840
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
A lldb/packages/Python/lldbsuite/test/make/mach_thread.h
M lldb/test/API/functionalities/thread/thread_exit/main.cpp
Log Message:
-----------
[lldb] Fix TestThreadExit.py flakiness (#190976)
When `pthread_join` returns, the target thread signals its internal
semaphore, but the underlying Mach thread hasn't been removed from the
task yet with `thread_terminate`.
The flakiness is the result of the debugger stopping the process halts
the dying thread mid-termination. There is no Mach API to distinguish a
dying thread from a live one: it appears as `TH_STATE_STOPPED`, like any
other suspended thread.
This PR adds a helper (`wait_for_thread_cleanup`) that polls
`task_threads` to ensure the Mach thread is actually gone before the
breakpoint. Since there might be other tests that are affected by this
race, I put it in a common location so it can be reused.
Commit: 0f4b9a7f2efaadd617994741bd2e61642ef2f96b
https://github.com/llvm/llvm-project/commit/0f4b9a7f2efaadd617994741bd2e61642ef2f96b
Author: Madhur Kumar <152476790+MadhurKumar004 at users.noreply.github.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/pr86717.ll
M llvm/test/CodeGen/RISCV/pr84200.ll
A llvm/test/CodeGen/X86/sub-to-xor-masked.ll
Log Message:
-----------
[DAGCombiner] Fold `sub nuw C, x` -> `xor x, C` when C is a mask (#192692)
fixes : https://github.com/llvm/llvm-project/issues/86874
Alive proof: https://alive2.llvm.org/ce/z/YKCPCA
Commit: 184edc1b7d2816c1e43eb2d740ff3e7831e97eb6
https://github.com/llvm/llvm-project/commit/184edc1b7d2816c1e43eb2d740ff3e7831e97eb6
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/test/Other/new-pm-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
Log Message:
-----------
Revert "[JTS][Passes] Enable JTS By Default" (#192737)
Reverts llvm/llvm-project#190674
Causes an assertion failure when doing a multi-stage PGO build.
https://lab.llvm.org/buildbot/#/builders/113/builds/12349
Commit: 5b938b8c0366c387c2d03e7db7445dbb3b131f16
https://github.com/llvm/llvm-project/commit/5b938b8c0366c387c2d03e7db7445dbb3b131f16
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/test/CIR/CodeGen/rtti-member-pointer.cpp
M clang/test/CIR/CodeGen/rtti-qualfn.cpp
M clang/test/CIR/CodeGenCXX/vtable-linkage.cpp
Log Message:
-----------
[CIR] Fix typeinfo linkage and comdat (#192721)
We weren't properly setting the linkage on typeinfo objects, leading to
multiple definition linking error when typeinfo for a class was
referenced in multiple source files. We had the correct linkage
available in the buildTypeInfo function, but we weren't doing anything
with it. This also prevented us from hitting the diagnostic saying that
we should have set the comdat attribute for the typeinfo. This change
fixes both of those problems.
Commit: ce1631a322f9db1c5630b6db403c6bf29a9144a7
https://github.com/llvm/llvm-project/commit/ce1631a322f9db1c5630b6db403c6bf29a9144a7
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
A llvm/test/Transforms/InstCombine/fold-vp-load.ll
Log Message:
-----------
[InstCombine] Fold bitcast into vp.load (#192173)
Similar to normal loads, we should be able to fold bitcast into
`vp.load` if (1) mask is all-ones (2) either the new vector type has a
larger known minimum length than that of the original vector, or you
need to make sure the original EVL can be exact divided by the
decreasing factor (of the known minimum length).
This patch adds such folding pattern, though it only support cases where
the new vector type has a larger known minimum length.
Commit: 8758917028fed2bdc713ecacfac696a621ca1638
https://github.com/llvm/llvm-project/commit/8758917028fed2bdc713ecacfac696a621ca1638
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceGlobal.cpp
A flang/test/Fir/CUDA/cuda-device-global-preserve.f90
M flang/test/Fir/CUDA/cuda-device-global.f90
Log Message:
-----------
[flang][cuda] Add option to preserve global with no use for debug info (#192731)
Commit: bfdf30a8d0437ec8999ad03e00c6ceea6397c833
https://github.com/llvm/llvm-project/commit/bfdf30a8d0437ec8999ad03e00c6ceea6397c833
Author: nvptm <pmathew at nvidia.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M flang/include/flang/Optimizer/Support/InternalNames.h
M flang/lib/Optimizer/Support/InternalNames.cpp
Log Message:
-----------
[flang] NameUniquer helper for detecting module-scope data (#192733)
Add NameUniquer::isModuleScopeDataUniquedName to detect uniqued names
for module-scope data (variables, named constants, and common blocks),
excluding procedures and other prefixed symbols.
Commit: 913141e63916622ec63c8670584eb6f71403ff84
https://github.com/llvm/llvm-project/commit/913141e63916622ec63c8670584eb6f71403ff84
Author: Amara Emerson <amara at apple.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h
M llvm/test/CodeGen/AArch64/arm64-zip.ll
M llvm/test/CodeGen/AArch64/dup.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
Log Message:
-----------
[AArch64][GlobalISel] Fix nonterminating legalization for <8 x s4> vectors. (#192747)
G_CONCAT_VECTORS with <16 x s4> sources hits the bitcast legalization
path, which round-trips through scalar types (e.g. s32) and regenerates
<8 x s4> vectors via G_UNMERGE_VALUES and G_BUILD_VECTOR. The
G_BUILD_VECTOR is then widened to <8 x s8> (via .minScalarOrElt(0, s8)),
producing G_ANYEXT/G_TRUNC artifact pairs. The artifact combiner folds
these pairs away, restoring the original <8 x s4> types, which feeds
back into G_CONCAT_VECTORS again.
This change:
* Adds .minScalarOrElt(1, s8) to the G_ICMP rules to ensure operand
vector elements are at least s8. This causes <16 x s4> operands to be
widened
to <16 x s8>, and the result type follows via minScalarEltSameAs.
* Add custom legalization for G_CONCAT_VECTORS when element size < 8.
The custom handler widens source operands via G_ANYEXT (e.g.
<8 x s4> -> <8 x s8>), concats the widened vectors (producing a
legal type like <16 x s8>), and truncs the result back to the
original type.
The code is bad but we can fix that later, some fallbacks are fixed with
this.
rdar://153760145
Commit: 12a9996192f66e7b3b5534b43e50b2e387214097
https://github.com/llvm/llvm-project/commit/12a9996192f66e7b3b5534b43e50b2e387214097
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move-derived-to-base.cpp
Log Message:
-----------
[clang-tidy] Prevent false-positive in presence of derived-to-base cast in bugprone.use-after-move (#189638)
The following scenario is quite common, but was reported as a
use-after-move:
```cpp
struct Base {
Base(Base&&);
};
struct C : Base {
int field;
C(C&& c) :
Base(std::move(c)), // << only moves through the base type
field(c.field) // << this is a valid use-after-move
{}
};
```
Fix this by checking field origin when the moved value is immediately
cast to base.
Commit: 24154a55d698a98e7b6d2aae1778b79f15ce5b09
https://github.com/llvm/llvm-project/commit/24154a55d698a98e7b6d2aae1778b79f15ce5b09
Author: PiJoules <leonardchan at google.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/LTO.cpp
M lld/COFF/LTO.h
M lld/COFF/SymbolTable.cpp
M lld/ELF/Driver.cpp
M lld/ELF/LTO.cpp
M lld/ELF/LTO.h
R lld/test/COFF/lto-libcall-archive-bitcode.test
R lld/test/ELF/lto/libcall-archive-bitcode.test
R lld/test/wasm/lto/libcall-archive-bitcode.ll
M lld/wasm/LTO.cpp
M lld/wasm/LTO.h
M lld/wasm/SymbolTable.cpp
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/LTO/LTO.h
M llvm/include/llvm/LTO/LTOBackend.h
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/LTO/LTOCodeGenerator.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
R llvm/test/LTO/Resolution/X86/libcall-external.ll
R llvm/test/LTO/Resolution/X86/libcall-in-thin-link.ll
R llvm/test/LTO/Resolution/X86/libcall-in-tu.ll
M llvm/tools/llvm-lto2/llvm-lto2.cpp
Log Message:
-----------
Revert "Reland "[LTO][LLD] Prevent invalid LTO libfunc transforms (#164916)"" (#192741)
Reverts llvm/llvm-project#190642
A bisect shows this as the change leading to the link failure at
https://g-issues.fuchsia.dev/issues/503377901
Commit: 699b6bd9cbe2897839fb4c38b310479b887ccd37
https://github.com/llvm/llvm-project/commit/699b6bd9cbe2897839fb4c38b310479b887ccd37
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/test/Analysis/CostModel/RISCV/arith-int.ll
Log Message:
-----------
[RISCV] Cost UDIV/UREM by a constant power of 2 as a SHL/AND in getArithmeticInstrCost() (#179570)
Similar to behavior in X86 and AArch64.
---------
Co-authored-by: Ryan Buchner <rbuchner at qti.qualcomm.com>
Co-authored-by: Luke Lau <luke_lau at icloud.com>
Commit: 5cda8d956cc72a8a3a5edaa41b545f790491695c
https://github.com/llvm/llvm-project/commit/5cda8d956cc72a8a3a5edaa41b545f790491695c
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/lds-link-time-codegen-named-barrier.ll
A llvm/test/CodeGen/AMDGPU/lds-link-time-codegen.ll
Log Message:
-----------
[AMDGPU] Emit the relocation symbol for LDS and named barrier when object linking is enabled (#192380)
Commit: da663a1b9519bbe012e7684c39c5b26727444eb6
https://github.com/llvm/llvm-project/commit/da663a1b9519bbe012e7684c39c5b26727444eb6
Author: Syadus Sefat <42645939+mssefat at users.noreply.github.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.ll
Log Message:
-----------
[AMDGPU][GlobalIsel] Add regbank support for cvt_scalef32_sr_pk_f6_f116/32 intrinsics (#192745)
This patch adds register bank legalization rules for
cvt_scalef32_sr_pk_f6_f116/32 intrinsics in the AMDGPU GlobalISel
pipeline.
Commit: 695e1baf61c533056e6cc6eff707a681f804db42
https://github.com/llvm/llvm-project/commit/695e1baf61c533056e6cc6eff707a681f804db42
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.store.async.from.lds.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize rules for async LDS stores (#192717)
Commit: 058398c4ceaf880b82a8a85a087f362fd8b48d75
https://github.com/llvm/llvm-project/commit/058398c4ceaf880b82a8a85a087f362fd8b48d75
Author: Chengjun <chengjunp at Nvidia.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVVMIntrRange.cpp
M llvm/test/CodeGen/NVPTX/intr-range.ll
A llvm/test/CodeGen/NVPTX/reqntid-const-fold.ll
Log Message:
-----------
[NVPTX] Constant fold blockDim when reqntid is specified (#191575)
Currently, NVPTX cannot fold the `ntid.x/y/z` intrinsic calls into const
values when `reqntid` is specified, which prevents the code from further
optimization.
Therefore, in this change, we extend the `NVVMIntrRange` pass to:
- Tighten `ntid.x/y/z` intrinsic calls to one value range, which can be
const folded in later InstCombine pass
- Tighten `tid.x/y/z` range attributes to use per-dimension reqntid
bounds
- When .reqntid exceeds hardware limits, garbage-in/garbage-out
Commit: 6886505f9cd56e2bfcc9ba7ff3c08be17bf221e6
https://github.com/llvm/llvm-project/commit/6886505f9cd56e2bfcc9ba7ff3c08be17bf221e6
Author: Kyungtak Woo <kevinwkt at google.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.h
M llvm/lib/Target/AArch64/AArch64PassRegistry.def
M llvm/lib/Target/AArch64/AArch64RedundantCondBranchPass.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/test/CodeGen/AArch64/cbz_wzr.mir
Log Message:
-----------
[NewPM] Port AArch64RedundantCondBranch to the new pass manager (#190897)
Adds a newPM pass for AArch64RedundantCondBranch
- Refactors base logic into an Impl class
- Renames old pass with the "Legacy" suffix
- Adds the new pass manager pass using refactored logic
- Updated existing .mir tests to also test with the New Pass Manager.
Context and motivation in
https://llvm.org/docs/NewPassManager.html#status-of-the-new-and-legacy-pass-managers
Commit: 63e032b0ad2ff0e74769020e769d9c795fa7dce7
https://github.com/llvm/llvm-project/commit/63e032b0ad2ff0e74769020e769d9c795fa7dce7
Author: Usama Hameed <u_hameed at apple.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M clang/test/CodeGen/ubsan-aggregate-null-align.c
Log Message:
-----------
[UBSan][test] Make aggregate alignment test precise for Darwin
Darwin adds an alignment check on dest, which was causing test failure.
rdar://120802910
Commit: b87f23a38ea0ece767a80d2ecc3685c36959ae88
https://github.com/llvm/llvm-project/commit/b87f23a38ea0ece767a80d2ecc3685c36959ae88
Author: Romain Paquet <rpqt at rpqt.fr>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M mlir/docs/Tutorials/MlirOpt.md
Log Message:
-----------
[mlir][docs] Rename fusion option name in MlirOpt tutorial (#184635)
Options have been renamed in #128405
Commit: 25df9f28c4abe2a803407c18b8cb43b530f48d4d
https://github.com/llvm/llvm-project/commit/25df9f28c4abe2a803407c18b8cb43b530f48d4d
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M mlir/lib/Dialect/Tensor/Transforms/FoldTensorSubsetOps.cpp
M mlir/test/Dialect/Tensor/fold-tensor-subset-ops.mlir
Log Message:
-----------
[mlir][tensor] Remove unit-stride restriction in InsertSliceOp folding (#192600)
This PR replaces manual offset/size resolution with `affine::mergeOffsetsSizesAndStrides`, simplifying the code and extending subview-of-subview folding to support non-unit strides.
Commit: 492f5d70b2b154bb3352c671437b3a8591afcfaa
https://github.com/llvm/llvm-project/commit/492f5d70b2b154bb3352c671437b3a8591afcfaa
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M llvm/test/CodeGen/RISCV/attributes.ll
Log Message:
-----------
[RISCV] Add missing RUN line for RV32P to attributes.ll. NFC (#192750)
Commit: 029abe67307acdd2191fc6b2171eefadc531583a
https://github.com/llvm/llvm-project/commit/029abe67307acdd2191fc6b2171eefadc531583a
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M lldb/include/lldb/Core/Debugger.h
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/CommandObject.cpp
M lldb/source/Target/Target.cpp
M lldb/unittests/Core/DebuggerTest.cpp
Log Message:
-----------
[lldb] Store the dummy target in the selected execution context (#190496)
Store the dummy target in the selected execution context. There's no
reason for everybody to have to independently fall back to the dummy
target.
Commit: 43e798e4d831b5133e3cf6d30c6315e3e4a71078
https://github.com/llvm/llvm-project/commit/43e798e4d831b5133e3cf6d30c6315e3e4a71078
Author: Alexander Kornienko <alexfh at google.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
A clang/test/CodeGenCXX/bpf-debug-info-alias.cpp
Log Message:
-----------
[BPF] Handle aliases in CodeGenModule::EmitExternalDeclaration. Fixes #192365 (#192374)
Adds handling of global aliases in
CodeGenModule::EmitExternalDeclaration. This fixes a clang crash on some
real code, see llvm#192365.
Commit: ebbcd427522ea494ec2277275eb679c993f5f323
https://github.com/llvm/llvm-project/commit/ebbcd427522ea494ec2277275eb679c993f5f323
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/builders/builder.py
M lldb/packages/Python/lldbsuite/test/builders/darwin.py
M lldb/packages/Python/lldbsuite/test/configuration.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/dotest_args.py
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/test/API/commands/expression/ptrauth-auth-traps/Makefile
M lldb/test/API/commands/expression/ptrauth-auth-traps/TestPtrAuthAuthTraps.py
M lldb/test/API/commands/expression/ptrauth-objc/Makefile
M lldb/test/API/commands/expression/ptrauth-objc/TestPtrAuthObjectiveC.py
M lldb/test/API/commands/expression/ptrauth-vtable/Makefile
M lldb/test/API/commands/expression/ptrauth-vtable/TestPtrAuthVTableExpressions.py
M lldb/test/API/commands/expression/ptrauth/Makefile
M lldb/test/API/commands/expression/ptrauth/TestPtrAuthExpressions.py
M lldb/test/API/lang/c/ptrauth/Makefile
M lldb/test/API/lang/c/ptrauth/TestPtrAuth.py
Log Message:
-----------
Revert "[lldb] Rally around triple rather than arch in the API tests (#191416)" (#192763)
Temoprarily reverting while we look at the TestMacCatalyst.py and
TestRosetta.py fails introduced by this PR, to unblock the CI.
This reverts commit 86397f49c7725f35a51517a8290cb4207c97771d.
Commit: 780a9593b908018abd409f928df9d411a11f69c8
https://github.com/llvm/llvm-project/commit/780a9593b908018abd409f928df9d411a11f69c8
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/source/Target/StackFrame.cpp
M lldb/source/ValueObject/DILParser.cpp
Log Message:
-----------
[lldb] Remove unused bool members of DILParser (NFC) (#192572)
These options are used by DIL's `Interpreter`, but are unused by the
Parser.
Commit: 499593c01dd5d6aa47207abe06a382c30157a5e3
https://github.com/llvm/llvm-project/commit/499593c01dd5d6aa47207abe06a382c30157a5e3
Author: hev <wangrui at loongson.cn>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp
M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.h
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/ctpop-ctlz.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/and.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/icmp.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/nor.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/or.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/xor.ll
M llvm/test/CodeGen/LoongArch/lasx/xvmskcond.ll
M llvm/test/CodeGen/LoongArch/lsx/ctpop-ctlz.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/and.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/icmp.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/nor.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/or.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/xor.ll
M llvm/test/CodeGen/LoongArch/pr177863.ll
Log Message:
-----------
[LoongArch] Select `V{AND,OR,XOR,NOR}I.B` for bitwise with byte splat immediates (#192217)
The `V{AND,OR,XOR,NOR}I.B` instructions operate on byte elements and
accept an 8-bit immediate. However, when the same byte splat constant is
used with wider vector element types (e.g. v8i16, v4i32, v2i64),
instruction selection currently falls back to materializing the constant
in a temporary register.
```
vrepli.b -1
vxor.v
```
even though the immediate form is available:
```
vxori.b 255
```
This happens because selectVSplatImm requires the splat bit width to
match the vector element size, preventing matching byte splat immediates
for non-i8 vector types.
Generalize selectVSplatImm to optionally accept an explicit element bit
width and introduce a new vsplat_i8_uimm8 pattern to detect byte splat
immediates independently of the vector element type. Use this pattern to
extend the V*I.B instruction patterns to wider vector element types.
This enables direct selection of byte-immediate bitwise instructions,
reduces instruction count, and avoids unnecessary temporary registers in
common mask operations.
Commit: 6bb3a3563025d55177e5416277c52cb1801ec2c1
https://github.com/llvm/llvm-project/commit/6bb3a3563025d55177e5416277c52cb1801ec2c1
Author: 🍌Shawn <m18824909883 at 163.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaChecking.cpp
M clang/test/Sema/builtin-align.c
M clang/test/SemaCXX/builtin-align-cxx.cpp
Log Message:
-----------
[clang] Improve diagnostics for `__builtin_align` builtins with floating/member pointer operands (#192650)
Improve diagnostics for `__builtin_align_up`, `__builtin_align_down`,
and `__builtin_is_aligned` when the first operand has an invalid type.
Clang already emits `err_typecheck_expect_scalar_operand` for
unsupported operands, but the message is generic. This patch adds
follow-up notes to clarify three common invalid cases:
* floating point operands (“floating point types are not allowed here”)
* C++ member pointer operands (“member pointers are not allowed here”)
* plain-function-pointer ("function pointers are not allowed here")
Commit: 63ae74b78a11f6c61136dbc445652929389eb9ab
https://github.com/llvm/llvm-project/commit/63ae74b78a11f6c61136dbc445652929389eb9ab
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M clang/test/CXX/drs/cwg2947.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Update C++ DR status page (#192768)
Now that Croydon motions are reflected in `cwg_index.html`.
Commit: 4b0dd87d3a29af0b35f6f40551abc49ad422f6f9
https://github.com/llvm/llvm-project/commit/4b0dd87d3a29af0b35f6f40551abc49ad422f6f9
Author: fineg74 <61437305+fineg74 at users.noreply.github.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/__clang_spirv_libdevice_declares.h
A clang/lib/Headers/__clang_spirv_math.h
M clang/lib/Headers/openmp_wrappers/math.h
Log Message:
-----------
[OFFLOAD] Introduce OpenMP math wrappers for SPIRV backend (#192139)
This PR is a first step to introduce math OpenMP wrappers for SPIRV
backend.
As a first step only API that either mapped to existing SPIRV API or has
straightforward implementation is introduced.
Commit: 40333cde2bbd62936d67478eab15ed1fa55b0532
https://github.com/llvm/llvm-project/commit/40333cde2bbd62936d67478eab15ed1fa55b0532
Author: Shivam Gupta <shivam98.tkg at gmail.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M llvm/docs/CommandGuide/FileCheck.rst
M llvm/include/llvm/FileCheck/FileCheck.h
M llvm/lib/FileCheck/FileCheck.cpp
M llvm/lib/FileCheck/FileCheckImpl.h
A llvm/test/FileCheck/diff/diff-blank-stray.txt
A llvm/test/FileCheck/diff/diff-empty-check.txt
A llvm/test/FileCheck/diff/diff-label-boundary.txt
A llvm/test/FileCheck/diff/diff-label-fuzzy-match.txt
A llvm/test/FileCheck/diff/diff-label-next.txt
A llvm/test/FileCheck/diff/diff-multi-block.txt
A llvm/test/FileCheck/diff/diff-multi-failres.txt
A llvm/test/FileCheck/diff/diff-multi-mismatch.txt
A llvm/test/FileCheck/diff/diff-next-stray-line.txt
A llvm/test/FileCheck/diff/diff-regex-escaping.txt
A llvm/test/FileCheck/diff/diff-resync-after-noise.txt
A llvm/test/FileCheck/diff/diff-resync-high-noise.txt
A llvm/test/FileCheck/diff/diff-skipped-expected.txt
A llvm/test/FileCheck/diff/diff-stress-large-input.txt
M llvm/utils/FileCheck/FileCheck.cpp
Log Message:
-----------
[FileCheck] Add a diff output option for FileCheck (#187120)
This patch adds a `--diff` flag to FileCheck to address the readability
of traditional FileCheck output which can be difficult to parse by
human, especially when dealing with multiple substitutions or large
input files with many mismatches and additional context. This feature
provides a more familiar, scannable format for developers by rendering
mismatches as diffs.
There are two diff modes, split and unified both with substitution and
no-substitution version however to make it easier for reviewer, this
only have unified with no substitution.
Functional description of PR-
`getDiffContext` -
It provides the surrounding context for the mismatch. It uses the
`SourceMgr` to find the Line using `LineNo`. Once it found the pointer,
it scans forward until it hits a newline (\n or \r) or the end of the
memory buffer, then it trim to remove the whitespaces.
`renderDiff`
This function handle the printing of diff, print header(expected and
actual line number), one line context before the target line, mismatch
i.e. expected line and actual line and finally one line after context.
`printDiff`
This does the preparation for printing the diff. It has `CheckStr` with
which it find the expected (pattern) line, It resolve the actual line
either with `OverwriteActualLine` (which it gets from handleDiffFailure
which uses fuzzy match `diag` vector) or with directly `SourceMgr`. It
then asked for Line context from `getDiffContext` and finally call
`renderDiff` for actual printing.
`handleDiffFailure`
This function is important. it first print header of input file and
pattern file path. Then do main task of finding the target input line
for the check pattern line. It uses fuzzy match to find most intended
match. If there is none then target line default to next input line in
the buffer. It then move the `CheckRegion` for next Check line.
`checkInput`
This is where we intercept the flow for diff output. checkInput function
traverse on each check line of each check label. It find the MatchPos,
if it is `npos` then break the loop for check label but in our case we
also call `handleDiffFailure` for printing mismatch. We also have a
handling of check-next and check-empty where even if `MatchPos` is > 0
i.e. there is match later, we intercept then call `handleDiffFailure`
for printing the gap as mismatch.
Example -
`$ cat input.ll`
```llvm
define i32 @sum() {
%res = add nsw i32 10, 20
ret i64 %res
}
```
`$ cat test.txt`
```llvm
; CHECK-LABEL: define i32 @calculate()
; CHECK: %res = add nsw i32 20, 10
; CHECK-NEXT: ret i32 %res
```
`$bin/FileCheck ./test.txt --input-file=./input.ll --diff=unidiff`
```llvm
--- ./test.txt
+++ ./input.ll
@@ -2 +2 @@
define i32 @cal() {
-%res = add nsw i32 20, 10
+%res = add nsw i32 10, 20
ret i64 %res
FileCheck: Found 1 unique textual mismatch.
```
Fixes #77257
Assisted by Gemini AI.
Commit: 877dd33b427361a048bb123ecb383f3b14b9400e
https://github.com/llvm/llvm-project/commit/877dd33b427361a048bb123ecb383f3b14b9400e
Author: Connector Switch <c8ef at outlook.com>
Date: 2026-04-18 (Sat, 18 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:
-----------
Revert "XFAIL symbolizer test for TySan" (#192770)
Reverts llvm/llvm-project#191810
Relates to https://github.com/llvm/llvm-project/pull/191902
Commit: 8872678ae766ed41dd5db2854bc525085e802d34
https://github.com/llvm/llvm-project/commit/8872678ae766ed41dd5db2854bc525085e802d34
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-04-17 (Fri, 17 Apr 2026)
Changed paths:
M lldb/test/API/macosx/rosetta/TestRosetta.py
Log Message:
-----------
[lldb][macos] Add trace prints to TestRosetta to debug CI (#192771)
Commit: 4b2537b15c3eb73bad71c29bff61bb2c2b8bfe8e
https://github.com/llvm/llvm-project/commit/4b2537b15c3eb73bad71c29bff61bb2c2b8bfe8e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/masked_gather.ll
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
M llvm/test/CodeGen/X86/masked_load.ll
M llvm/test/CodeGen/X86/masked_store.ll
M llvm/test/CodeGen/X86/pr192034.ll
Log Message:
-----------
[X86] combineINSERT_SUBVECTOR - attempt to widen mask predicate as scalar integer instead of inserting into a zero vXi1 vector (#192699)
Fold vXi1 insert_subvector(zero_vector(),bitcast(scalar_mask),idx) ->
bitcast(shl(zext(scalar_mask),idx))
vXi1 zero widening and insertion has to rely on kshiftl/kshiftr pairs,
but if the mask was a scalar it can be a lot cheaper to just widen it to
a wider (legal) scalar first.
Cleans up some codegen for #192034 - first step towards pruning all the
VMOVSH patterns we've ended up :/
Commit: 8f1e24a207294f6454aa79ac9389c1093654cee5
https://github.com/llvm/llvm-project/commit/8f1e24a207294f6454aa79ac9389c1093654cee5
Author: PrabbyDD <147005742+PrabbyDD at users.noreply.github.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/lib/Basic/Targets/SPIR.h
A clang/test/Frontend/spirv-target-validation.c
Log Message:
-----------
[Clang] diagnosing missing Vulkan environment when using SPIR-V triple (#190840)
When a user passes '-target spirv' without specififying a vulkan
environment ttriple, SPIRVTargetInfo will fire an assert instead of
throwing an error diagnostic. Added this diagnostic in
CompilerInstance::createTarget() before target is initialized. Fixes
https://github.com/llvm/llvm-project/issues/189964
Commit: 703dcde39dff4d4a98db6d964ab09603c16c4b8d
https://github.com/llvm/llvm-project/commit/703dcde39dff4d4a98db6d964ab09603c16c4b8d
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M lldb/include/lldb/Utility/FileSpecList.h
M lldb/unittests/Utility/FileSpecListTest.cpp
Log Message:
-----------
[lldb][Utility] Add FileSpecList::Append(const FileSpecList &) API (#191446)
Adds a new API to `FileSpecList` that allows appending another
`FileSpecList`.
This is used in another PR where I didn't want to iterate over the list
and push_back manually.
Assisted-by: Claude
- Used Claude to write the skeleton of the test before manually cleaning
it up.
Commit: 5a0b4c95de4b08d9c18667fc06f17253fc18f087
https://github.com/llvm/llvm-project/commit/5a0b4c95de4b08d9c18667fc06f17253fc18f087
Author: Jiaqi He <heturing at gmail.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M clang/lib/Format/DefinitionBlockSeparator.cpp
M clang/unittests/Format/DefinitionBlockSeparatorTest.cpp
Log Message:
-----------
[clang-format] Preserve trailing NOLINTEND placement with SeparateDefinitionBlocks (#190741)
Fixes https://github.com/llvm/llvm-project/issues/189384.
When `SeparateDefinitionBlocks: Always` is enabled, clang-format may
separate a clearly trailing comment block by inserting an empty line
before it.
For example, it may format:
```c++
// NOLINTBEGIN
int x = 1;
int y = 2;
// NOLINTEND
void some_function() {}
```
as
```c++
// NOLINTBEGIN
int x = 1;
int y = 2;
// NOLINTEND
void some_function() {}
```
This is undesirable as the trailing comment is visually attached to the
preceding block rather than acting as a separator for the following
definition.
This change preserves comment blocks that are clearly trailing the
preceding block.
Also add a regression test.
---------
Co-authored-by: owenca <owenpiano at gmail.com>
Commit: 5e0e8630dcc91e1efc824088038e944a76dbdfbc
https://github.com/llvm/llvm-project/commit/5e0e8630dcc91e1efc824088038e944a76dbdfbc
Author: cqwrteur <uwgghhbcad at gmail.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M clang/test/CodeGenCXX/homogeneous-aggregates.cpp
Log Message:
-----------
Fix typo in comment about MSVC sret convention (#168162)
The comment mis-spelled the word convention with convetion.
Commit: 28c43a6aa115dfa754edc110064958c55d3668dc
https://github.com/llvm/llvm-project/commit/28c43a6aa115dfa754edc110064958c55d3668dc
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M lldb/source/API/SBTarget.cpp
M lldb/source/Target/Target.cpp
M lldb/test/API/lit.cfg.py
A lldb/test/API/windows/conpty/Makefile
A lldb/test/API/windows/conpty/TestConPTY.py
A lldb/test/API/windows/conpty/main.c
M lldb/test/Shell/lit.cfg.py
Log Message:
-----------
[lldb][windows] do not use ConPTY in tests (#192657)
Commit: 0d69fb3b995151ebbd83b03e94f7a301c7482b30
https://github.com/llvm/llvm-project/commit/0d69fb3b995151ebbd83b03e94f7a301c7482b30
Author: David Green <david.green at arm.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-regbankselect.mir
M llvm/test/CodeGen/AArch64/add.ll
M llvm/test/CodeGen/AArch64/andorxor.ll
M llvm/test/CodeGen/AArch64/arm64-neon-3vdiff.ll
M llvm/test/CodeGen/AArch64/concat-vector.ll
M llvm/test/CodeGen/AArch64/ctlz.ll
M llvm/test/CodeGen/AArch64/ctpop.ll
M llvm/test/CodeGen/AArch64/cttz.ll
M llvm/test/CodeGen/AArch64/highextractbitcast.ll
M llvm/test/CodeGen/AArch64/mul.ll
M llvm/test/CodeGen/AArch64/popcount.ll
M llvm/test/CodeGen/AArch64/qmovn.ll
M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
M llvm/test/CodeGen/AArch64/sub.ll
M llvm/test/CodeGen/AArch64/uadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/usub_sat_vec.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
Log Message:
-----------
[AArch64][GISel] Regbank G_BITCAST using src regbank. (#191522)
This takes the regbank of a G_BITCAST from the input srcreg that has
already been allocated, keeping the bitcast on the same bank. A copy
then might be added to the dst if needed.
onlyUsesFP is also improved for G_BITCAST, allowing operations to guess
the correct type through a onlyUsesFP too.
Originally from #177158 by Ryan Cowan with modifications.
Commit: b144b9c483335d55c0678d177d0f58b5650e2802
https://github.com/llvm/llvm-project/commit/b144b9c483335d55c0678d177d0f58b5650e2802
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat.h
M clang/lib/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummary.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummary.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummaryEncoding.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/WPASuite.cpp
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-element.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-ptr-level.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-no-key.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-element.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-id.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-col.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-file.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-line.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-direct-callees.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-pretty-name.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-virtual-callees.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-1.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-2.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-multikey.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-ref.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-value.json
M clang/unittests/ScalableStaticAnalysisFramework/EntityLinkerTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/LUSummaryTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/TUSummaryTest.cpp
Log Message:
-----------
[clang][ssaf] Rework NestedBuildNamespaces of TU and LU summaries (#191489)
Problem:
ASTEntityMapping::getEntityName() creates EntityName with an empty
NestedBuildNamespace, but the linker expected the TU namespace to
already be present in the EntityName. This caused internal linkage
symbols to conflict during linking: since their NestedBuildNamespace was
empty, they all inherited the same LU namespace during resolution,
making internal symbols from different TUs appear identical. For
example, two "static inline" functions with the same USR in separate TUs
would be incorrectly merged into a single LU entity instead of remaining
distinct.
This is now fixed and demonstrated by the
InternalLinkageWithEmptyNamespaceAcrossTUs test, which creates two
internal linkage symbols across two TUs and verifies they remain
separate after linking.
---
TU summaries now omit the "namespace" field from entity names in JSON,
since the linker adds TU namespace qualification at link time. LU (and
WPA) summaries retain the "namespace" field as before, since their
entity names are fully resolved.
Split entityNameFromJSON/entityNameToJSON into TU and LU variants:
- tuEntityNameFromJSON: reads only "usr" and "suffix"
- tuEntityNameToJSON: writes only "usr" and "suffix"
- luEntityNameFromJSON/luEntityNameToJSON: full behavior with required
"namespace" field
Similarly split entityIdTableEntry and entityIdTable functions. Shared
helpers (entityNameCoreFromJSON, entityIdTableFromJSONImpl) to avoid
code duplication.
Update all TU JSON test inputs to remove the "namespace" field, and
update unit tests accordingly.
---
Alternatively, we could choose to populate the NestedBuildNamespace with
the TU namespace when creating an EntityName, thus meet the linker
expectation. However, this would bloat the representation, and also make
it redundant.
Assisted-By: claude
Commit: 90b1416c3136244433d9f3917fe3029145687618
https://github.com/llvm/llvm-project/commit/90b1416c3136244433d9f3917fe3029145687618
Author: flovent <flbven at protonmail.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
Log Message:
-----------
[clang-tidy] Fix crash in `cppcoreguidelines-pro-type-member-init` with alias template in constructor initializer (#192786)
Closes #192510.
Commit: da6ca203a677f51764cc9dfa1bbc9660a5c199e3
https://github.com/llvm/llvm-project/commit/da6ca203a677f51764cc9dfa1bbc9660a5c199e3
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanCFG.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
Log Message:
-----------
[VPlan] Strip vp_post_order_{deep,shallow} (NFC) (#192787)
Post 691a130 ([ADT] Refactor post order traversal, #191047),
PostOrderTraversal's lifetime needs to exceed the lifetime of the
iterator. The vp_post_order_{deep,shallow} helpers now have the
potential for being used incorrectly: hence, strip them, and require the
PostOrderTraversal to be constructed explictly, similar to RPOT.
Commit: 4fb21a1d226bff588a66b51452a159b41c5373d5
https://github.com/llvm/llvm-project/commit/4fb21a1d226bff588a66b51452a159b41c5373d5
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[IR] Add icmp like matcher (NFC) (#192746)
matches icmp and trunc nuw x to i1 (icmp ne x,0)
Commit: d1dcce6b6580edfd4c501c17ded6b7cb86ae4ccf
https://github.com/llvm/llvm-project/commit/d1dcce6b6580edfd4c501c17ded6b7cb86ae4ccf
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
A llvm/test/CodeGen/X86/pr169485.ll
Log Message:
-----------
[X86] Add crash test coverage for #169485 (#192797)
Commit: 9d193ada7056dcc61ab061d2e35a4c05d7e61e15
https://github.com/llvm/llvm-project/commit/9d193ada7056dcc61ab061d2e35a4c05d7e61e15
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M lldb/scripts/gen-property-docs-from-json.py
Log Message:
-----------
[lldb] Avoid NotRequired for Python < 3.11 compatibility (#192723)
NotRequired was added in Python 3.11, while the minimum supported Python
for LLDB is 3.8. Avoid it by using `Dict[str, Any]` instead.
Commit: 580910073482c0b49be5364f9595ba2dc2bf8f2e
https://github.com/llvm/llvm-project/commit/580910073482c0b49be5364f9595ba2dc2bf8f2e
Author: Fangrui Song <i at maskray.me>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M llvm/docs/CommandGuide/FileCheck.rst
M llvm/include/llvm/FileCheck/FileCheck.h
M llvm/lib/FileCheck/FileCheck.cpp
M llvm/lib/FileCheck/FileCheckImpl.h
R llvm/test/FileCheck/diff/diff-blank-stray.txt
R llvm/test/FileCheck/diff/diff-empty-check.txt
R llvm/test/FileCheck/diff/diff-label-boundary.txt
R llvm/test/FileCheck/diff/diff-label-fuzzy-match.txt
R llvm/test/FileCheck/diff/diff-label-next.txt
R llvm/test/FileCheck/diff/diff-multi-block.txt
R llvm/test/FileCheck/diff/diff-multi-failres.txt
R llvm/test/FileCheck/diff/diff-multi-mismatch.txt
R llvm/test/FileCheck/diff/diff-next-stray-line.txt
R llvm/test/FileCheck/diff/diff-regex-escaping.txt
R llvm/test/FileCheck/diff/diff-resync-after-noise.txt
R llvm/test/FileCheck/diff/diff-resync-high-noise.txt
R llvm/test/FileCheck/diff/diff-skipped-expected.txt
R llvm/test/FileCheck/diff/diff-stress-large-input.txt
M llvm/utils/FileCheck/FileCheck.cpp
Log Message:
-----------
Revert "[FileCheck] Add a diff output option for FileCheck (#187120)" (#192803)
This reverts commit 40333cde2bbd62936d67478eab15ed1fa55b0532.
The implementation is buggy. There are thousands of failures in
```
FILECHECK_OPTS=--diff ninja -C /tmp/Rel check-llvm-mc
FILECHECK_OPTS=--diff ninja -C /tmp/Rel check-lld-elf
```
Commit: 6ad7d557b9f5b969e96acd49b216e87cd3f1efc6
https://github.com/llvm/llvm-project/commit/6ad7d557b9f5b969e96acd49b216e87cd3f1efc6
Author: Anshul Nigham <nigham at google.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.h
M llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
M llvm/lib/Target/AArch64/AArch64PassRegistry.def
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/test/CodeGen/AArch64/ccmp-look-through-copy.mir
M llvm/test/CodeGen/AArch64/ccmp-successor-probs.mir
Log Message:
-----------
[NewPM] Adds a port for AArch64ConditionalComparesPass (#192755)
Adds a standard porting for AArch64ConditionalCompares.
Commit: b7f54fd7ecbcd25906b19e472718dd6f93159070
https://github.com/llvm/llvm-project/commit/b7f54fd7ecbcd25906b19e472718dd6f93159070
Author: Zorojuro <sawantsukumar at gmail.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/logbbf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/logbbf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/logbbf16.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_constexpr_test.cpp
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor logbbf16 to header-only (#189194)
Co-authored-by: bassiounix <muhammad.m.bassiouni at gmail.com>
Commit: e70a2e84ce954c58c2da5bfbee7f69b8c2b1109d
https://github.com/llvm/llvm-project/commit/e70a2e84ce954c58c2da5bfbee7f69b8c2b1109d
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Allow same predecessor multiple times in the verifier. (NFC) (#192809)
IR instructions like switch lead to initial VPlans with blocks that have
the same predecessor multiple times. Allow it in the verifier.
Commit: 5bcac7bb5c4957138c929a13359d1350994230bb
https://github.com/llvm/llvm-project/commit/5bcac7bb5c4957138c929a13359d1350994230bb
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Fix isLatch to handle BranchOnTwoConds, check verifier.(NFC) (#192808)
Update `isLatch` to handle BranchOnTwoConds,
in preparation to enable running the verifier on earlier VPlans.
Commit: 0053d6628ba22263a0d0dd12854daa06846b4bf8
https://github.com/llvm/llvm-project/commit/0053d6628ba22263a0d0dd12854daa06846b4bf8
Author: Javed Absar <javed.absar at gmail.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
A mlir/test/Interfaces/TilingInterface/tile-elementwise.mlir
Log Message:
-----------
[mlir][linalg][elementwise] Add tests for tiling elementwise operation. (#192798)
Commit: 26ba308be0eeb652ecbc0ad3c660ef69404c0185
https://github.com/llvm/llvm-project/commit/26ba308be0eeb652ecbc0ad3c660ef69404c0185
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC] Simplify range/type accessors
Use the range-friendly llvm::accumulate() overload instead of the
two-iterator std::accumulate() form, drop redundant cast<>/dyn_cast<>
calls where the source already provides a typed accessor.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/192811
Commit: 2c6ce15199c9c97900f24b308afef38731db8adb
https://github.com/llvm/llvm-project/commit/2c6ce15199c9c97900f24b308afef38731db8adb
Author: Andrei (Andrey) Khropov <andrey.khropov at gmail.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerTypeUnit.h
Log Message:
-----------
[llvm] Fix misspelling in DWARFLinkerTypeUnit (#184335)
Commit: 80a11185b670796a8c4b4cfcf8b1e877e85e486c
https://github.com/llvm/llvm-project/commit/80a11185b670796a8c4b4cfcf8b1e877e85e486c
Author: aokblast <aokblast at FreeBSD.org>
Date: 2026-04-19 (Sun, 19 Apr 2026)
Changed paths:
M llvm/test/tools/llvm-ar/error-opening-directory.test
Log Message:
-----------
[llvm-ar] Enable failed testacase on FreeBSD (#192612)
FreeBSD used to allow the read system call on directory file descriptors
(dirfd). In those cases, it returned the internal file data structure
instead of failing. This caused the llvm-ar test— which expects a
failure when attempting to read a directory— to pass incorrectly.
This behavior existed for compatibility with older Unix implementations,
but it was removed in commit dcef4f65ae3978c50eab745f67364db4660a9f43.
The change applies to FreeBSD 13 and later. Since FreeBSD 12 has also
reached end-of-life, the outdated behavior is no longer relevant.
As a result, the test now behaves as intended and can be safely
re-enabled.
Commit: 5b381d5c00009c73eb85fa8b5341590a1adf8521
https://github.com/llvm/llvm-project/commit/5b381d5c00009c73eb85fa8b5341590a1adf8521
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp
Log Message:
-----------
[lldb][AArch64] Fix typeo in AArch64 DoFixAddr highmem (#191952)
Code and Data masks are the same on AArch64, but someone could adopt a
Code mask that cleared the low 2 bits, so it's good to correct the
mistake.
rdar://174463000
Commit: 59785514f9f981c69b933ffb5739201dede521c2
https://github.com/llvm/llvm-project/commit/59785514f9f981c69b933ffb5739201dede521c2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-04-19 (Sun, 19 Apr 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode][NFC] Avoid classify calls in visitZeroRecordInitializer (#192676)
We already have the PrimType in the Descriptor.
Commit: 4113d79a20253cd34820d8ff2031c7e0307b9e66
https://github.com/llvm/llvm-project/commit/4113d79a20253cd34820d8ff2031c7e0307b9e66
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-04-18 (Sat, 18 Apr 2026)
Changed paths:
M llvm/lib/CodeGen/MachineBlockHashInfo.cpp
Log Message:
-----------
[NFC][CodeGen] Optimize hash table lookups in MachineBlockHashInfo (#192823)
Commit: 404b75651f7220e9de1801fa987ccf92c1fc95bb
https://github.com/llvm/llvm-project/commit/404b75651f7220e9de1801fa987ccf92c1fc95bb
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-04-19 (Sun, 19 Apr 2026)
Changed paths:
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Target/Target.h
M lldb/source/Core/Debugger.cpp
M lldb/source/Target/Platform.cpp
M lldb/source/Target/Target.cpp
Log Message:
-----------
[lldb][Target] Move Debugger::GetSafeAutoLoadPaths into Target (#192703)
Required for https://github.com/llvm/llvm-project/pull/191454
We want to make the `Target`/`Platform` define commonly used default
paths (without configuring them in CMake). This is easiest if this logic
lived in `Target` (since then we have access to the associated
`Platform`).
Commit: 8225bcc141e749bcdb8b900d1e1a9f9a36fdac00
https://github.com/llvm/llvm-project/commit/8225bcc141e749bcdb8b900d1e1a9f9a36fdac00
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-04-19 (Sun, 19 Apr 2026)
Changed paths:
M lldb/include/lldb/Target/Platform.h
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
M lldb/source/Target/Target.cpp
M lldb/unittests/Platform/CMakeLists.txt
M lldb/unittests/Platform/PlatformDarwinTest.cpp
Log Message:
-----------
[lldb][PlatformDarwin] Make PlatformDarwin define a safe-path for auto-loading scripting resources (#191454)
This patch adds a new API (`Platform::GetSafeAutoLoadPaths`) which gives
platforms a chance to advertise their safe-paths. We have a
`LLDB_SAFE_AUTO_LOAD_PATHS` CMake variable for this that vendors can
set, but for sensible defaults we wanted to bake them into LLDB for
convenience. We could set the defaults of the CMake variable
per-platform, but for Apple platforms that's trickier because the path
isn't statically known (it's the SDK path derived from the target's
triple).
Depends on:
* https://github.com/llvm/llvm-project/pull/191446
* https://github.com/llvm/llvm-project/pull/192703
Assisted-by: Claude
- Used Claude to write the skeleton of the test before manually cleaning
it up.
Commit: f7abe260a548e5b98ca193cb3b42c1e6896b5a48
https://github.com/llvm/llvm-project/commit/f7abe260a548e5b98ca193cb3b42c1e6896b5a48
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-04-19 (Sun, 19 Apr 2026)
Changed paths:
M llvm/lib/CodeGen/BasicBlockMatchingAndInference.cpp
Log Message:
-----------
[NFC][CodeGen] Use DenseMap instead of unordered_map in BasicBlockMatchingAndInference (#192824)
We don't need reference stability of unordered_map here.
Commit: 4cf7796dfb540215f06ba9ad5fe92534f8ab034b
https://github.com/llvm/llvm-project/commit/4cf7796dfb540215f06ba9ad5fe92534f8ab034b
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-04-19 (Sun, 19 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
Log Message:
-----------
[VPlan] Mark DerivedIV unconditionally single-scalar (NFC) (#189706)
The result must be single-scalar, independently of operands. The patch
is an NFC because all operands happen to be single-scalar currently.
Commit: ce27dcc79de9a1effbe62d9fbce737d26634ae88
https://github.com/llvm/llvm-project/commit/ce27dcc79de9a1effbe62d9fbce737d26634ae88
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-04-19 (Sun, 19 Apr 2026)
Changed paths:
M llvm/lib/CodeGen/MachineBlockHashInfo.cpp
Log Message:
-----------
[NFC][CodeGen] Make a few MachineBlockHashInfo functions static (#192825)
Commit: 8de4c61386b3f94ad77060c1047d7cc4c979415c
https://github.com/llvm/llvm-project/commit/8de4c61386b3f94ad77060c1047d7cc4c979415c
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-04-19 (Sun, 19 Apr 2026)
Changed paths:
M lldb/test/API/macosx/rosetta/TestRosetta.py
Log Message:
-----------
[lldb][CI] force TestRosetta.py to fail for a minute, so I (#192835)
can collect the trace logging on the CI bot and see what its environment
looks like today.
Commit: 2a3667bbb54081dee0eb7eb28de81631e393199a
https://github.com/llvm/llvm-project/commit/2a3667bbb54081dee0eb7eb28de81631e393199a
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-04-19 (Sun, 19 Apr 2026)
Changed paths:
M lldb/test/API/macosx/rosetta/TestRosetta.py
Log Message:
-----------
Revert "[lldb][CI] force TestRosetta.py to fail for a minute, so I (#… (#192836)
…192835)"
This reverts commit 8de4c61386b3f94ad77060c1047d7cc4c979415c.
Commit: d8c14330dcc17610f634b45d1730b7a6e46d91cd
https://github.com/llvm/llvm-project/commit/d8c14330dcc17610f634b45d1730b7a6e46d91cd
Author: Alisson Azzolini <37222419+aazzolini at users.noreply.github.com>
Date: 2026-04-19 (Sun, 19 Apr 2026)
Changed paths:
M mlir/include/mlir/Bindings/Python/Globals.h
M mlir/lib/Bindings/Python/Globals.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/python/mlir/ir.py
M mlir/test/python/ir/auto_location.py
Log Message:
-----------
[mlir][python] Add location source composition to loc_tracebacks() (#192310)
## Summary
Add two new kwargs to `loc_tracebacks()` controlling how the three
location sources (explicit `loc=`, traceback, `Location.current`)
compose:
- **`on_explicit`**: `OnExplicitAction.USE_EXPLICIT` (default) |
`OnExplicitAction.USE_TRACEBACK` — what to do when explicit `loc=` is
passed
- **`current_loc`**: `CurrentLocAction.FALLBACK` (default) |
`CurrentLocAction.NAMELOC_WRAP` — how to compose `Location.current`
NameLoc scopes on top
Both enums are exposed to Python via `nb::enum_<>` bindings, following
the `PassDisplayMode` pattern in `Pass.cpp`.
The two flags are orthogonal and only take effect when
`loc_tracebacks()` is active.
## Use cases
1. **DSL profiling attribution**:
`loc_tracebacks(current_loc=CurrentLocAction.NAMELOC_WRAP,
on_explicit=OnExplicitAction.USE_TRACEBACK)` — push NameLoc scopes for
profiling and have them survive traceback generation
2. **Override explicit locs with tracebacks**:
`loc_tracebacks(on_explicit=OnExplicitAction.USE_TRACEBACK)` — get full
Python stack traces without removing every `loc=` argument
## Test plan
- [x] All 102 existing Python binding tests pass (5 unsupported
unchanged)
- [x] 6 new tests covering: nameloc_wrap, on_explicit default,
on_explicit=use_traceback, DSL profiling combo, orthogonality
(use_explicit + nameloc_wrap), tracebacks-disabled fallback
Co-authored by Claude Code ;)
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
Commit: 5c723d819668aaa13b6dd57f669e9fad27129e60
https://github.com/llvm/llvm-project/commit/5c723d819668aaa13b6dd57f669e9fad27129e60
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-04-19 (Sun, 19 Apr 2026)
Changed paths:
M lldb/test/API/macosx/rosetta/TestRosetta.py
Log Message:
-----------
[lldb][macOS] add additional logging print to TestRosetta (#192837)
to clearly show that we're executing x86_64 binaries in this debug
session.
Commit: bd5b29314660232e74a43b684cbecf6f0c1e3983
https://github.com/llvm/llvm-project/commit/bd5b29314660232e74a43b684cbecf6f0c1e3983
Author: jumerckx <31353884+jumerckx at users.noreply.github.com>
Date: 2026-04-19 (Sun, 19 Apr 2026)
Changed paths:
M mlir/lib/IR/OperationSupport.cpp
M mlir/test/Dialect/Func/duplicate-function-elimination.mlir
M mlir/test/IR/operation-equality.mlir
Log Message:
-----------
[mlir] Support full commutative operation equality (#192652)
Previous, commutative equality only works if the operand lists are
exact permutations of one another.
By treating the `equivalentValues` map as a map onto a common set of
values, we can achieve full commutative equality.
Commit: d4974dfe67c9a322f3b9a913dbbaf4e4f4a58a08
https://github.com/llvm/llvm-project/commit/d4974dfe67c9a322f3b9a913dbbaf4e4f4a58a08
Author: Matthias Springer <me at m-sp.org>
Date: 2026-04-19 (Sun, 19 Apr 2026)
Changed paths:
M mlir/docs/Canonicalization.md
Log Message:
-----------
[mlir][docs] Add poison example to canonicalization section (#192782)
Mention that folding to `ub.poison` is a common canonicalization.
Commit: 26b7fd51095221e03ce2a2170b6d168652ba3c7d
https://github.com/llvm/llvm-project/commit/26b7fd51095221e03ce2a2170b6d168652ba3c7d
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-04-19 (Sun, 19 Apr 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
Log Message:
-----------
[VPlan] Support plain CFG plans in the verifier. (#181817)
Update the verifier to support verifying plain CFG plans in the verifier
and add missing support for switch opcodes in type analysis.
This allows the verifier to handle early plain-CFG plans, allowing using
RUN_PASS wrapper for early transforms.
PR: https://github.com/llvm/llvm-project/pull/181817
Commit: 17e1a3b875faddbbfd4f5329d490d164943260d0
https://github.com/llvm/llvm-project/commit/17e1a3b875faddbbfd4f5329d490d164943260d0
Author: eiytoq <eiytoq at outlook.com>
Date: 2026-04-19 (Sun, 19 Apr 2026)
Changed paths:
M libcxx/test/std/containers/views/mdspan/mdspan/index_operator.pass.cpp
Log Message:
-----------
[libc++] Enable `mdspan::operator[]` constraint tests for AppleClang (#192475)
Although I couldn't find a corresponding AppleClang release note, this
issue appears to be fixed in AppleClang 16.
Commit: a3f244e2d5550e110daee562b88bee247b75d66c
https://github.com/llvm/llvm-project/commit/a3f244e2d5550e110daee562b88bee247b75d66c
Author: Jakub Mazurkiewicz <mazkuba3 at gmail.com>
Date: 2026-04-19 (Sun, 19 Apr 2026)
Changed paths:
M libcxx/include/__functional/bind_front.h
M libcxx/include/functional
A libcxx/test/libcxx/utilities/function.objects/func.bind.partial/bind_front.nttp.compile.pass.cpp
A libcxx/test/libcxx/utilities/function.objects/func.bind.partial/bind_front.nttp.nodiscard.verify.cpp
A libcxx/test/std/utilities/function.objects/func.bind.partial/bind_front.nttp.pass.cpp
A libcxx/test/std/utilities/function.objects/func.bind.partial/bind_front.nttp.verify.cpp
M libcxx/test/std/utilities/function.objects/func.bind.partial/types.h
Log Message:
-----------
[libc++][functional] Implement `std::bind_front<NTTP>` (#165096)
Add `std::bind_front<NTTP>` function from
[P2714R1](https://wg21.link/p2714r1).
Towards https://github.com/llvm/llvm-project/issues/105388.
Commit: fcc61927ad4c9d455079728daa1e6b99106ed355
https://github.com/llvm/llvm-project/commit/fcc61927ad4c9d455079728daa1e6b99106ed355
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-04-19 (Sun, 19 Apr 2026)
Changed paths:
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/aapcs-volatile-bitfields.c
M clang/test/CIR/CodeGen/abstract-cond.c
M clang/test/CIR/CodeGen/aggregate-copy-overlap.cpp
M clang/test/CIR/CodeGen/array-init-loop-exprs.cpp
M clang/test/CIR/CodeGen/assign-operator.cpp
M clang/test/CIR/CodeGen/atomic-thread-fence.c
M clang/test/CIR/CodeGen/bitfields.c
M clang/test/CIR/CodeGen/bitfields.cpp
M clang/test/CIR/CodeGen/bitfields_be.c
M clang/test/CIR/CodeGen/call-via-class-member-funcptr.cpp
M clang/test/CIR/CodeGen/class.cpp
M clang/test/CIR/CodeGen/complex.cpp
M clang/test/CIR/CodeGen/copy-constructor.cpp
M clang/test/CIR/CodeGen/cxx-default-init.cpp
M clang/test/CIR/CodeGen/delete.cpp
M clang/test/CIR/CodeGen/field-init-eh.cpp
M clang/test/CIR/CodeGen/initializer-list-two-pointers.cpp
M clang/test/CIR/CodeGen/inline-asm.c
M clang/test/CIR/CodeGen/inline-cxx-func.cpp
M clang/test/CIR/CodeGen/instantiate-init.cpp
M clang/test/CIR/CodeGen/lambda-dtor-field.cpp
M clang/test/CIR/CodeGen/lambda.cpp
M clang/test/CIR/CodeGen/no-unique-address.cpp
M clang/test/CIR/CodeGen/paren-init-list-eh.cpp
M clang/test/CIR/CodeGen/paren-init-list.cpp
M clang/test/CIR/CodeGen/statement-exprs.c
M clang/test/CIR/CodeGen/struct-init.cpp
M clang/test/CIR/CodeGen/struct.c
M clang/test/CIR/CodeGen/struct.cpp
M clang/test/CIR/CodeGen/ternary-throw.cpp
M clang/test/CIR/CodeGen/variable-decomposition.cpp
M clang/test/CIR/CodeGen/volatile.cpp
Log Message:
-----------
[CIR] Emit inbounds nuw flags on GetMemberOp GEP lowering (#186738)
Struct member accesses via GetMemberOp are always inbounds and cannot
unsigned-wrap, matching LLVM's IRBuilder::CreateStructGEP behavior.
Commit: b6a4fdb8035d78934f98e823f67a5adb8c333828
https://github.com/llvm/llvm-project/commit/b6a4fdb8035d78934f98e823f67a5adb8c333828
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-04-19 (Sun, 19 Apr 2026)
Changed paths:
M llvm/test/Transforms/LoopStrengthReduce/X86/2011-12-04-loserreg.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/bin_power.ll
M llvm/test/Transforms/LoopStrengthReduce/pr25541.ll
Log Message:
-----------
[LSR] Autogenerate some tests
pr25541.ll - Was a regression test for a crash. Make a note and
autogenerate the tests.
bin_power.ll - Was essentially doing what UTC would do already, minus
one test where the assembly output is somewhat large, but the large
assembly output shouldn't be an issue with an autoupdate script and
isn't big enough to justify not including in my opinion.
This makes updating some tests easier for planned changes to LCSSA
preservation.
Reviewers: fhahn, nikic
Pull Request: https://github.com/llvm/llvm-project/pull/191664
Commit: f5e2b8b1df079a90f0756d75dcafff8e8efb8eb1
https://github.com/llvm/llvm-project/commit/f5e2b8b1df079a90f0756d75dcafff8e8efb8eb1
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-04-19 (Sun, 19 Apr 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/builders/builder.py
M lldb/packages/Python/lldbsuite/test/builders/darwin.py
M lldb/packages/Python/lldbsuite/test/configuration.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/dotest_args.py
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/test/API/commands/expression/ptrauth-auth-traps/Makefile
M lldb/test/API/commands/expression/ptrauth-auth-traps/TestPtrAuthAuthTraps.py
M lldb/test/API/commands/expression/ptrauth-objc/Makefile
M lldb/test/API/commands/expression/ptrauth-objc/TestPtrAuthObjectiveC.py
M lldb/test/API/commands/expression/ptrauth-vtable/Makefile
M lldb/test/API/commands/expression/ptrauth-vtable/TestPtrAuthVTableExpressions.py
M lldb/test/API/commands/expression/ptrauth/Makefile
M lldb/test/API/commands/expression/ptrauth/TestPtrAuthExpressions.py
M lldb/test/API/lang/c/ptrauth/Makefile
M lldb/test/API/lang/c/ptrauth/TestPtrAuth.py
M lldb/test/API/macosx/macCatalyst/Makefile
M lldb/test/API/macosx/macCatalyst/TestMacCatalyst.py
M lldb/test/API/macosx/rosetta/Makefile
M lldb/test/API/macosx/rosetta/TestRosetta.py
Log Message:
-----------
[lldb] Rally around triple rather than arch in the API tests (#192818)
This PR removes as much uses of arch as possible, in favor of using
triple directly. Most of the changes are in the builder, which no longer
passes ARCH to Make, and of course in Makefile.rules.
This significantly simplifies the remote Darwin test suite, as it
previously had to try and piece together the triple from the platform
and the arch. As an added benefit, we now go through the same code path
for host and remote test runs.
I have tested this on Darwin and Linux and made the changes with the
remote test suites in mind, but it's possible I missed something not
caught by my local testing.
Commit: e93f7e595cbcbc995c97942ae343a1382f921f18
https://github.com/llvm/llvm-project/commit/e93f7e595cbcbc995c97942ae343a1382f921f18
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-04-19 (Sun, 19 Apr 2026)
Changed paths:
M llvm/include/llvm/Support/GenericLoopInfoImpl.h
Log Message:
-----------
[NFC][Loop] Remove unused verbose loop debug output
This has been defined out using the preprocessor for ~14 years. Given it
doesn't look like it has gotten any use since then, just remove it to
clean the code up a bit.
Reviewers: nikic
Pull Request: https://github.com/llvm/llvm-project/pull/192830
Commit: 9086be2e78f25bff174604ac3bfe7db49265eca7
https://github.com/llvm/llvm-project/commit/9086be2e78f25bff174604ac3bfe7db49265eca7
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-04-19 (Sun, 19 Apr 2026)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .github/CODEOWNERS
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/MCPlus.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
A bolt/test/X86/lsda-encoding.s
M clang-tools-extra/clang-tidy/bugprone/ThrowingStaticInitializationCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ThrowingStaticInitializationCheck.h
M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
A clang-tools-extra/clang-tidy/readability/RedundantLambdaParameterListCheck.cpp
A clang-tools-extra/clang-tidy/readability/RedundantLambdaParameterListCheck.h
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/ClangdServer.h
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/Compiler.h
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang-tools-extra/clangd/ModulesBuilder.h
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/Preamble.h
M clang-tools-extra/clangd/tool/ClangdMain.cpp
M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/throwing-static-initialization.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/redundant-lambda-parameter-list.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/throwing-static-initialization-allow.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move-derived-to-base.cpp
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/init-variables-objcxx.mm
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-lambda-parameter-list.cpp
M clang/cmake/caches/Fuchsia-stage2.cmake
R clang/docs/CIR/ABILowering.md
A clang/docs/CIR/ABILowering.rst
R clang/docs/CIR/CleanupAndEHDesign.md
A clang/docs/CIR/CleanupAndEHDesign.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/MemorySanitizer.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/ThreadSanitizer.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/CommentSema.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/PrettyPrinter.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/BuiltinHeaders.def
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAArch64.td
M clang/include/clang/Basic/BuiltinsPPC.def
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Module.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Lex/ModuleMap.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Options/Options.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/AttrImpl.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Descriptor.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/InterpFrame.cpp
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/CommentSema.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/Origins.cpp
M clang/lib/Basic/Targets/SPIR.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/CIR/CodeGen/CIRGenAsm.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/Hexagon.h
M clang/lib/Format/DefinitionBlockSeparator.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/__clang_spirv_libdevice_declares.h
A clang/lib/Headers/__clang_spirv_math.h
M clang/lib/Headers/altivec.h
M clang/lib/Headers/arm_acle.h
M clang/lib/Headers/openmp_wrappers/math.h
M clang/lib/Index/CommentToXML.cpp
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummary.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummary.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummaryEncoding.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/WPASuite.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPPC.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/test/AST/ByteCode/builtin-bit-cast-bitfields.cpp
M clang/test/AST/ByteCode/builtin-bit-cast-long-double.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/constexpr-nqueens.cpp
M clang/test/AST/ByteCode/cxx11.cpp
M clang/test/AST/ByteCode/cxx17.cpp
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ByteCode/cxx2a.cpp
M clang/test/AST/ByteCode/lifetimes.cpp
M clang/test/AST/ByteCode/lifetimes26.cpp
M clang/test/AST/ByteCode/literals.cpp
M clang/test/AST/ByteCode/new-delete.cpp
M clang/test/AST/ByteCode/placement-new.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/AST/ByteCode/unions.cpp
A clang/test/AST/ast-dump-cxx20-reversed-operator.cpp
A clang/test/AST/ast-dump-decl-recovery.cpp
M clang/test/AST/ast-printer-lambda.cpp
A clang/test/AST/constexpr-lambda-diagnostic.cpp
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-element.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-ptr-level.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-no-key.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-element.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-id.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-col.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-file.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-line.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-direct-callees.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-pretty-name.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-virtual-callees.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-1.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-2.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-multikey.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-ref.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-value.json
M clang/test/C/C23/n3006.c
M clang/test/C/C2y/n3353.c
M clang/test/CIR/CodeGen/aapcs-volatile-bitfields.c
M clang/test/CIR/CodeGen/abstract-cond.c
M clang/test/CIR/CodeGen/aggregate-copy-overlap.cpp
A clang/test/CIR/CodeGen/amdgpu-call-addrspace-cast.cpp
M clang/test/CIR/CodeGen/array-init-loop-exprs.cpp
M clang/test/CIR/CodeGen/assign-operator.cpp
M clang/test/CIR/CodeGen/atomic-thread-fence.c
A clang/test/CIR/CodeGen/attr-noundef.cpp
A clang/test/CIR/CodeGen/base-init-eh.cpp
M clang/test/CIR/CodeGen/bitfields.c
M clang/test/CIR/CodeGen/bitfields.cpp
M clang/test/CIR/CodeGen/bitfields_be.c
M clang/test/CIR/CodeGen/call-via-class-member-funcptr.cpp
M clang/test/CIR/CodeGen/class.cpp
M clang/test/CIR/CodeGen/cleanup-conditional-eh.cpp
M clang/test/CIR/CodeGen/cleanup-conditional.cpp
M clang/test/CIR/CodeGen/complex.cpp
M clang/test/CIR/CodeGen/copy-constructor.cpp
M clang/test/CIR/CodeGen/coro-task.cpp
M clang/test/CIR/CodeGen/cxx-default-init.cpp
M clang/test/CIR/CodeGen/delete.cpp
M clang/test/CIR/CodeGen/dtors.cpp
A clang/test/CIR/CodeGen/field-init-eh.cpp
M clang/test/CIR/CodeGen/global-array-dtor.cpp
M clang/test/CIR/CodeGen/global-init.cpp
A clang/test/CIR/CodeGen/init-list-lvalue.cpp
M clang/test/CIR/CodeGen/initializer-list-two-pointers.cpp
M clang/test/CIR/CodeGen/inline-asm.c
M clang/test/CIR/CodeGen/inline-cxx-func.cpp
M clang/test/CIR/CodeGen/instantiate-init.cpp
M clang/test/CIR/CodeGen/lambda-dtor-field.cpp
M clang/test/CIR/CodeGen/lambda.cpp
M clang/test/CIR/CodeGen/new-delete-deactivation.cpp
M clang/test/CIR/CodeGen/no-unique-address.cpp
M clang/test/CIR/CodeGen/paren-init-list-eh.cpp
M clang/test/CIR/CodeGen/paren-init-list.cpp
M clang/test/CIR/CodeGen/rtti-member-pointer.cpp
M clang/test/CIR/CodeGen/rtti-qualfn.cpp
M clang/test/CIR/CodeGen/statement-exprs.c
M clang/test/CIR/CodeGen/struct-init.cpp
M clang/test/CIR/CodeGen/struct.c
M clang/test/CIR/CodeGen/struct.cpp
M clang/test/CIR/CodeGen/ternary-throw.cpp
A clang/test/CIR/CodeGen/trivial-abi.cpp
M clang/test/CIR/CodeGen/trivial-ctor-const-init.cpp
M clang/test/CIR/CodeGen/variable-decomposition.cpp
M clang/test/CIR/CodeGen/volatile.cpp
M clang/test/CIR/CodeGenBuiltins/builtin-bit-cast.cpp
M clang/test/CIR/CodeGenCUDA/device-stub.cu
A clang/test/CIR/CodeGenCXX/uncopyable-args.cpp
M clang/test/CIR/CodeGenCXX/vtable-linkage.cpp
A clang/test/CIR/CodeGenCXX/x86_64-arguments.cpp
A clang/test/CIR/IR/branch.cir
A clang/test/CIR/IR/do-while.cir
A clang/test/CIR/IR/for.cir
M clang/test/CIR/IR/inline-asm.cir
A clang/test/CIR/IR/while.cir
R clang/test/CIR/global-var-simple.cpp
M clang/test/CXX/dcl.decl/dcl.decomp/p3.cpp
M clang/test/CXX/drs/cwg17xx.cpp
M clang/test/CXX/drs/cwg2026.cpp
M clang/test/CXX/drs/cwg2947.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/expr/expr.const/p2-0x.cpp
M clang/test/ClangScanDeps/prune-scanning-modules.m
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
R clang/test/CodeGen/AArch64/pcdphint-atomic-store.c
A clang/test/CodeGen/Inputs/stdbit.h
A clang/test/CodeGen/PowerPC/builtins-post-quantum-crypto.c
A clang/test/CodeGen/PowerPC/builtins-ppc-deeply-compressed-weights.c
A clang/test/CodeGen/amdgpu-abi-struct-coerce.c
M clang/test/CodeGen/amdgpu-variadic-call.c
M clang/test/CodeGen/arm_acle.c
M clang/test/CodeGen/asm.c
A clang/test/CodeGen/builtin-stdc-bit-functions.c
M clang/test/CodeGen/builtins-arm64.c
M clang/test/CodeGen/ubsan-aggregate-null-align.c
A clang/test/CodeGenCXX/bpf-debug-info-alias.cpp
M clang/test/CodeGenCXX/homogeneous-aggregates.cpp
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
M clang/test/DebugInfo/Generic/bounds-checking-debuginfo.c
M clang/test/DebugInfo/Generic/cfi-check-fail-debuginfo.c
M clang/test/DebugInfo/Generic/cfi-icall-generalize-debuginfo.c
M clang/test/DebugInfo/Generic/cfi-icall-normalize2-debuginfo.c
M clang/test/DebugInfo/Generic/ubsan-function-debuginfo.c
M clang/test/DebugInfo/Generic/unsigned-promotion-debuginfo.c
A clang/test/Driver/Inputs/hexagon_tree/Tools/target/picolibc/hexagon-unknown-none-elf/include/c++/readme
A clang/test/Driver/Inputs/hexagon_tree/Tools/target/picolibc/hexagon-unknown-none-elf/include/c++/v1/readme
A clang/test/Driver/Inputs/hexagon_tree/Tools/target/picolibc/hexagon-unknown-none-elf/include/readme
A clang/test/Driver/Inputs/hexagon_tree/Tools/target/picolibc/hexagon-unknown-none-elf/readme
A clang/test/Driver/Inputs/hexagon_tree/Tools/target/picolibc/readme
A clang/test/Driver/amdgpu-multilib.yaml
M clang/test/Driver/cl-options.c
M clang/test/Driver/fsanitize-realtime.c
A clang/test/Driver/hexagon-toolchain-picolibc.c
A clang/test/Driver/nvptx-multilib.yaml
M clang/test/Driver/serenity.cpp
A clang/test/Frontend/spirv-target-validation.c
M clang/test/Headers/amdgcn-openmp-device-math-complex.c
A clang/test/Index/annotate-comments-availability-anyappleos.cpp
A clang/test/Interpreter/ftime-report.cpp
A clang/test/Modules/duplicate-header-ownership.c
M clang/test/Modules/lookup.cpp
M clang/test/Modules/no-stale-modtime.m
A clang/test/Modules/objc-at-import.m
M clang/test/OpenMP/metadirective_device_arch_codegen.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
A clang/test/Parser/macro-braces-recovery.cpp
M clang/test/Parser/recovery.cpp
M clang/test/Preprocessor/predefined-macros.c
R clang/test/Sema/AArch64/pcdphint-atomic-store.c
M clang/test/Sema/Inputs/lifetime-analysis.h
A clang/test/Sema/Inputs/stdbit.h
A clang/test/Sema/PowerPC/builtins-post-quantum-crypto-error.c
M clang/test/Sema/attr-availability-anyappleos-ast.c
M clang/test/Sema/attr-availability-anyappleos.c
M clang/test/Sema/builtin-align.c
A clang/test/Sema/builtin-stdc-bit-functions.c
A clang/test/Sema/builtins-ppc-deeply-compressed-weights-error.c
M clang/test/Sema/constexpr.c
M clang/test/Sema/warn-documentation.cpp
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/Sema/warn-lifetime-safety-dangling-field.cpp
M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
M clang/test/SemaCXX/builtin-align-cxx.cpp
M clang/test/SemaCXX/builtin-is-within-lifetime.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/constant-expression-cxx14.cpp
M clang/test/SemaCXX/constant-expression-cxx2a.cpp
M clang/test/SemaCXX/constexpr-builtin-bit-cast.cpp
A clang/test/SemaCXX/constexpr-builtin-stdc-bit-functions.cpp
M clang/test/SemaCXX/constexpr-printing.cpp
M clang/test/SemaCXX/constexpr-value-init.cpp
M clang/test/SemaCXX/cxx1z-constexpr-lambdas.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
M clang/test/SemaCXX/cxx2a-constexpr-dynalloc.cpp
M clang/test/SemaCXX/cxx2c-constexpr-placement-new.cpp
M clang/test/SemaCXX/lambda-expressions.cpp
M clang/test/SemaCXX/static-assert-cxx26.cpp
M clang/test/SemaCXX/void-lambda-return-init.cpp
M clang/test/SemaOpenACC/compute-construct-firstprivate-clause.cpp
M clang/test/SemaOpenACC/compute-construct-private-clause.cpp
M clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
M clang/test/SemaTemplate/GH75426.cpp
M clang/test/SemaTemplate/concepts.cpp
M clang/tools/driver/cc1_main.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CMakeLists.txt
M clang/unittests/Format/DefinitionBlockSeparatorTest.cpp
M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/EntityLinkerTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/LUSummaryTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/TUSummaryTest.cpp
M clang/unittests/Serialization/CMakeLists.txt
A clang/unittests/Serialization/CommentsTest.cpp
R clang/unittests/Serialization/NoCommentsTest.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M clang/utils/ClangVisualizers/clang.natvis
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/www/cxx_dr_status.html
M compiler-rt/lib/builtins/cpu_model/aarch64/hwcap.inc
M compiler-rt/lib/hwasan/hwasan_allocator.cpp
M compiler-rt/lib/hwasan/hwasan_flags.inc
M compiler-rt/lib/tsan/rtl/tsan_platform.h
M compiler-rt/lib/tysan/tysan.cpp
A compiler-rt/test/hwasan/TestCases/tag_mask_smoke.c
M compiler-rt/test/sanitizer_common/TestCases/Linux/internal_symbolizer.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/pie_no_aslr.cpp
M compiler-rt/test/sanitizer_common/TestCases/print-stack-trace.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/const-branch.c
M cross-project-tests/lit.cfg.py
M flang-rt/lib/cuda/pointer.cpp
M flang-rt/lib/runtime/type-info.cpp
M flang-rt/unittests/Runtime/Descriptor.cpp
M flang/include/flang/Evaluate/match.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Lower/MultiImageFortran.h
M flang/include/flang/Lower/OpenACC.h
A flang/include/flang/Optimizer/Builder/MIFCommon.h
M flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.h
M flang/include/flang/Optimizer/Dialect/MIF/MIFOps.td
M flang/include/flang/Optimizer/Support/InternalNames.h
M flang/include/flang/Optimizer/Transforms/MIFOpConversion.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Runtime/CUDA/pointer.h
M flang/include/flang/Semantics/openmp-utils.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Support/Fortran.h
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/tools.cpp
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/MultiImageFortran.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
A flang/lib/Optimizer/Builder/MIFCommon.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/MIF/CMakeLists.txt
M flang/lib/Optimizer/Dialect/MIF/MIFOps.cpp
M flang/lib/Optimizer/Support/InternalNames.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFAllocationConversion.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceGlobal.cpp
M flang/lib/Optimizer/Transforms/MIFOpConversion.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/openmp-utils.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Evaluate/rewrite01.f90
A flang/test/Evaluate/rewrite09.f90
M flang/test/Fir/CUDA/cuda-allocate.fir
A flang/test/Fir/CUDA/cuda-device-global-preserve.f90
M flang/test/Fir/CUDA/cuda-device-global.f90
M flang/test/Fir/MIF/change_team.mlir
M flang/test/Fir/MIF/change_team2.mlir
A flang/test/Fir/MIF/coarray-alloc.mlir
M flang/test/Fir/MIF/form_team.mlir
M flang/test/Fir/MIF/get_team.mlir
M flang/test/Fir/MIF/sync_team.mlir
M flang/test/Fir/MIF/team_number.mlir
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/HLFIR/array-ctor-as-elemental.f90
M flang/test/Lower/HLFIR/array-ctor-as-inlined-temp.f90
M flang/test/Lower/HLFIR/array-ctor-as-runtime-temp.f90
M flang/test/Lower/HLFIR/conditional-expr.f90
M flang/test/Lower/Intrinsics/transfer.f90
A flang/test/Lower/MIF/coarray_allocation.f90
A flang/test/Lower/MIF/coarray_allocation2.f90
A flang/test/Lower/MIF/coarray_allocation3.f90
A flang/test/Lower/MIF/coarray_allocation4.f90
A flang/test/Lower/MIF/coarray_allocation5.f90
A flang/test/Lower/OpenACC/acc-declare-global-component-not-supported.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenACC/acc-host-data-cuda-device.f90
M flang/test/Lower/OpenACC/acc-loop-collapse-force-lowering.f90
A flang/test/Lower/OpenACC/acc-loop-collapse-force-non-tightly-nested.f90
A flang/test/Lower/OpenACC/acc-routine-named-external.f90
M flang/test/Lower/PowerPC/ppc-intrinsics.f90
M flang/test/Lower/PowerPC/ppc-mma-accumulator-move-clear.f90
M flang/test/Lower/PowerPC/ppc-mma-assemble-disassemble.f90
M flang/test/Lower/PowerPC/ppc-mma-outer-product-1.f90
M flang/test/Lower/PowerPC/ppc-mma-outer-product-2.f90
M flang/test/Lower/PowerPC/ppc-pwr10-vec-intrinsics.f90
M flang/test/Lower/PowerPC/ppc-vec-abs.f90
M flang/test/Lower/PowerPC/ppc-vec-add-and-mul-sub-xor.f90
M flang/test/Lower/PowerPC/ppc-vec-any.f90
M flang/test/Lower/PowerPC/ppc-vec-cmp.f90
M flang/test/Lower/PowerPC/ppc-vec-convert.f90
M flang/test/Lower/PowerPC/ppc-vec-cvf-elem-order.f90
M flang/test/Lower/PowerPC/ppc-vec-load-elem-order.f90
M flang/test/Lower/PowerPC/ppc-vec-load.f90
M flang/test/Lower/PowerPC/ppc-vec-max-min-madd-nmsub.f90
M flang/test/Lower/PowerPC/ppc-vec-merge-elem-order.f90
M flang/test/Lower/PowerPC/ppc-vec-merge.f90
M flang/test/Lower/PowerPC/ppc-vec-perm-elem-order.f90
M flang/test/Lower/PowerPC/ppc-vec-perm.f90
M flang/test/Lower/PowerPC/ppc-vec-sel.f90
M flang/test/Lower/PowerPC/ppc-vec-shift-be-le.f90
M flang/test/Lower/PowerPC/ppc-vec-shift.f90
M flang/test/Lower/PowerPC/ppc-vec-splat-elem-order.f90
M flang/test/Lower/PowerPC/ppc-vec-store-elem-order.f90
M flang/test/Lower/PowerPC/ppc-vec-store.f90
M flang/test/Lower/PowerPC/ppc-vector-types.f90
M flang/test/Lower/logical-operations.f90
M flang/test/Lower/loops2.f90
M flang/test/Lower/loops3.f90
M flang/test/Lower/memory-alloc.f90
M flang/test/Lower/zero-size.f90
M flang/test/Semantics/OpenACC/acc-collapse-force.f90
A flang/test/Semantics/OpenMP/affected-loops.f90
M flang/test/Semantics/cuf03.cuf
M libc/CMakeLists.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/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/linux/x86_64/headers.txt
M libc/config/windows/entrypoints.txt
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/wctype_t.h
A libc/hdr/wctype_overlay.h
M libc/include/CMakeLists.txt
M libc/include/limits.yaml
M libc/include/llvm-libc-macros/limits-macros.h
M libc/include/llvm-libc-macros/linux/sys-socket-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/wctype_t.h
M libc/include/llvm-libc-types/x86_64/mcontext_t.h
M libc/include/llvm-libc-types/x86_64/ucontext_t.h
A libc/include/string.h.def
M libc/include/string.yaml
M libc/include/sys/socket.yaml
M libc/include/wctype.yaml
M libc/shared/math.h
A libc/shared/math/logbbf16.h
M libc/src/CMakeLists.txt
M libc/src/__support/CMakeLists.txt
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/getsockopt.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/setsockopt.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/logbbf16.h
M libc/src/__support/threads/CMakeLists.txt
M libc/src/__support/threads/CndVar.h
M libc/src/__support/threads/darwin/futex_utils.h
A libc/src/__support/threads/futex_utils.h
M libc/src/__support/threads/linux/futex_utils.h
M libc/src/__support/threads/raw_mutex.h
M libc/src/__support/threads/raw_rwlock.h
A libc/src/__support/wctype_impl.h
M libc/src/__support/wctype_utils.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/logbbf16.cpp
M libc/src/semaphore/CMakeLists.txt
M libc/src/semaphore/posix_semaphore.h
M libc/src/strings/strcasecmp.cpp
M libc/src/strings/strncasecmp.cpp
M libc/src/sys/socket/CMakeLists.txt
A libc/src/sys/socket/getsockopt.h
M libc/src/sys/socket/linux/CMakeLists.txt
A libc/src/sys/socket/linux/getsockopt.cpp
A libc/src/sys/socket/linux/setsockopt.cpp
A libc/src/sys/socket/setsockopt.h
A libc/src/ucontext/CMakeLists.txt
A libc/src/ucontext/getcontext.h
A libc/src/ucontext/setcontext.h
A libc/src/ucontext/x86_64/CMakeLists.txt
A libc/src/ucontext/x86_64/getcontext.cpp
A libc/src/ucontext/x86_64/setcontext.cpp
M libc/src/wctype/CMakeLists.txt
A libc/src/wctype/iswctype.cpp
A libc/src/wctype/iswctype.h
A libc/src/wctype/wctype.cpp
A libc/src/wctype/wctype.h
M libc/test/CMakeLists.txt
M libc/test/integration/src/CMakeLists.txt
M libc/test/integration/src/__support/threads/CMakeLists.txt
A libc/test/integration/src/__support/threads/futex_requeue_test.cpp
A libc/test/integration/src/ucontext/CMakeLists.txt
A libc/test/integration/src/ucontext/ucontext_test.cpp
M libc/test/integration/src/unistd/CMakeLists.txt
M libc/test/integration/src/unistd/getcwd_test.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_constexpr_test.cpp
M libc/test/shared/shared_math_test.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/threads/CMakeLists.txt
A libc/test/src/__support/threads/futex_utils_test.cpp
M libc/test/src/__support/wctype_utils_test.cpp
M libc/test/src/string/strcmp_test.cpp
M libc/test/src/strings/strcasecmp_test.cpp
M libc/test/src/strings/strncasecmp_test.cpp
M libc/test/src/sys/socket/linux/CMakeLists.txt
A libc/test/src/sys/socket/linux/socketopt_test.cpp
A libc/test/src/ucontext/CMakeLists.txt
A libc/test/src/ucontext/ucontext_test.cpp
M libc/test/src/wctype/CMakeLists.txt
A libc/test/src/wctype/iswctype_test.cpp
A libc/test/src/wctype/wctype_test.cpp
M libclc/opencl/lib/generic/atomic/atomic_fetch_add.cl
M libclc/opencl/lib/generic/atomic/atomic_fetch_sub.cl
M libcxx/include/__functional/bind_front.h
M libcxx/include/functional
M libcxx/src/ios.cpp
A libcxx/test/libcxx/utilities/function.objects/func.bind.partial/bind_front.nttp.compile.pass.cpp
A libcxx/test/libcxx/utilities/function.objects/func.bind.partial/bind_front.nttp.nodiscard.verify.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/index_operator.pass.cpp
A libcxx/test/std/utilities/function.objects/func.bind.partial/bind_front.nttp.pass.cpp
A libcxx/test/std/utilities/function.objects/func.bind.partial/bind_front.nttp.verify.cpp
M libcxx/test/std/utilities/function.objects/func.bind.partial/types.h
M libcxx/utils/ci/BOT_OWNERS.txt
M libsycl/src/CMakeLists.txt
A libsycl/src/detail/device_image_wrapper.cpp
M libsycl/src/detail/device_image_wrapper.hpp
M libsycl/src/detail/device_impl.hpp
A libsycl/src/detail/device_kernel_info.hpp
R libsycl/src/detail/kernel_id.hpp
M libsycl/src/detail/program_manager.cpp
M libsycl/src/detail/program_manager.hpp
M lld/COFF/InputFiles.cpp
M lld/COFF/LTO.cpp
M lld/COFF/LTO.h
M lld/COFF/SymbolTable.cpp
M lld/ELF/Driver.cpp
M lld/ELF/LTO.cpp
M lld/ELF/LTO.h
M lld/MachO/Arch/ARM64.cpp
M lld/MachO/ConcatOutputSection.cpp
M lld/MachO/ConcatOutputSection.h
M lld/MachO/InputSection.cpp
M lld/MachO/InputSection.h
M lld/MachO/Target.h
R lld/test/COFF/lto-libcall-archive-bitcode.test
R lld/test/ELF/lto/libcall-archive-bitcode.test
A lld/test/MachO/arm64-thunk-branch-addend.s
R lld/test/wasm/lto/libcall-archive-bitcode.ll
M lld/wasm/LTO.cpp
M lld/wasm/LTO.h
M lld/wasm/SymbolTable.cpp
M lldb/include/lldb/API/SBVariablesOptions.h
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Interpreter/OptionGroupVariable.h
M lldb/include/lldb/Target/Platform.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/Utility/FileSpecList.h
A lldb/include/lldb/Utility/ValueType.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/builders/builder.py
M lldb/packages/Python/lldbsuite/test/builders/darwin.py
M lldb/packages/Python/lldbsuite/test/configuration.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/dotest_args.py
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
A lldb/packages/Python/lldbsuite/test/make/mach_thread.h
M lldb/scripts/gen-property-docs-from-json.py
M lldb/source/API/SBTarget.cpp
M lldb/source/API/SBVariablesOptions.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectDisassemble.cpp
M lldb/source/Commands/CommandObjectSource.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/CommandObject.cpp
M lldb/source/Interpreter/CommandReturnObject.cpp
M lldb/source/Interpreter/OptionGroupVariable.cpp
M lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
M lldb/source/Target/Platform.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/test/API/commands/expression/ptrauth-auth-traps/Makefile
M lldb/test/API/commands/expression/ptrauth-auth-traps/TestPtrAuthAuthTraps.py
M lldb/test/API/commands/expression/ptrauth-objc/Makefile
M lldb/test/API/commands/expression/ptrauth-objc/TestPtrAuthObjectiveC.py
M lldb/test/API/commands/expression/ptrauth-vtable/Makefile
M lldb/test/API/commands/expression/ptrauth-vtable/TestPtrAuthVTableExpressions.py
M lldb/test/API/commands/expression/ptrauth/Makefile
M lldb/test/API/commands/expression/ptrauth/TestPtrAuthExpressions.py
M lldb/test/API/commands/memory/read/TestMemoryRead.py
M lldb/test/API/commands/memory/read/main.c
A lldb/test/API/functionalities/breakpoint/breakpoint_command_auto_continue/Makefile
A lldb/test/API/functionalities/breakpoint/breakpoint_command_auto_continue/TestBreakpointCommandAutoContinue.py
A lldb/test/API/functionalities/breakpoint/breakpoint_command_auto_continue/bpcmd.py
A lldb/test/API/functionalities/breakpoint/breakpoint_command_auto_continue/main.cpp
M lldb/test/API/functionalities/thread/thread_exit/main.cpp
M lldb/test/API/lang/c/ptrauth/Makefile
M lldb/test/API/lang/c/ptrauth/TestPtrAuth.py
M lldb/test/API/lang/c/ptrauth/main.c
M lldb/test/API/linux/aarch64/mte_tag_access/TestAArch64LinuxMTEMemoryTagAccess.py
M lldb/test/API/linux/aarch64/mte_tag_access/main.c
M lldb/test/API/lit.cfg.py
M lldb/test/API/macosx/macCatalyst/Makefile
M lldb/test/API/macosx/macCatalyst/TestMacCatalyst.py
M lldb/test/API/macosx/rosetta/Makefile
M lldb/test/API/macosx/rosetta/TestRosetta.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteHostInfo.py
A lldb/test/API/windows/conpty/Makefile
A lldb/test/API/windows/conpty/TestConPTY.py
A lldb/test/API/windows/conpty/main.c
M lldb/test/Shell/Commands/command-disassemble-process.yaml
M lldb/test/Shell/Commands/command-disassemble.s
M lldb/test/Shell/Commands/command-list-reach-beginning-of-file.test
M lldb/test/Shell/Commands/command-list-reach-end-of-file.test
M lldb/test/Shell/Driver/LocalLLDBInit.test
M lldb/test/Shell/Expr/TestClangModuleLoadError_FromExpression.test
M lldb/test/Shell/lit.cfg.py
M lldb/unittests/Core/DebuggerTest.cpp
M lldb/unittests/Platform/CMakeLists.txt
M lldb/unittests/Platform/PlatformDarwinTest.cpp
M lldb/unittests/Utility/FileSpecListTest.cpp
M llvm/docs/LFI.rst
M llvm/docs/NVPTXUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/AsmPrinterAnalysis.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsPowerPC.td
M llvm/include/llvm/IR/PassTimingInfo.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LTO/LTO.h
M llvm/include/llvm/LTO/LTOBackend.h
M llvm/include/llvm/MC/TargetRegistry.h
M llvm/include/llvm/Pass.h
M llvm/include/llvm/Support/GenericLoopInfoImpl.h
M llvm/include/llvm/Transforms/IPO/LowerTypeTests.h
M llvm/include/llvm/Transforms/Utils.h
A llvm/include/llvm/Transforms/Utils/StripConvergenceIntrinsics.h
M llvm/include/llvm/Transforms/Utils/ValueMapper.h
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CAS/MappedFileRegionArena.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/BasicBlockMatchingAndInference.cpp
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/LiveRangeEdit.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineBlockHashInfo.cpp
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/MacroFusion.cpp
M llvm/lib/CodeGen/RegAllocBase.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerTypeUnit.h
M llvm/lib/DebugInfo/DWARF/DWARFCFIPrinter.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp
M llvm/lib/DebugInfo/DWARF/DWARFGdbIndex.cpp
M llvm/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp
M llvm/lib/DebugInfo/GSYM/GsymReaderV1.cpp
M llvm/lib/DebugInfo/GSYM/GsymReaderV2.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/IRReader/IRReader.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/LTO/LTOCodeGenerator.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/TargetRegistry.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Target/AArch64/AArch64.h
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64PassRegistry.def
M llvm/lib/Target/AArch64/AArch64RedundantCondBranchPass.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
A llvm/lib/Target/AMDGPU/AMDGPUNextUseAnalysis.cpp
A llvm/lib/Target/AMDGPU/AMDGPUNextUseAnalysis.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp
M llvm/lib/Target/AMDGPU/CMakeLists.txt
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SISchedule.td
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/BPF/BPFAsmPrinter.cpp
M llvm/lib/Target/BPF/BPFAsmPrinter.h
M llvm/lib/Target/BPF/BPFISelLowering.h
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonPatterns.td
M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp
M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.h
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVVMIntrRange.cpp
M llvm/lib/Target/PowerPC/PPCInstrFuture.td
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVIndirectBranchTracking.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVLandingPadSetup.cpp
M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.cpp
M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SPIRV/CMakeLists.txt
M llvm/lib/Target/SPIRV/SPIRV.h
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
R llvm/lib/Target/SPIRV/SPIRVStripConvergentIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrMemory.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/Scalar/LoopBoundSplit.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Utils/CMakeLists.txt
A llvm/lib/Transforms/Utils/StripConvergenceIntrinsics.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanCFG.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Analysis/CostModel/AArch64/masked-divrem.ll
M llvm/test/Analysis/CostModel/RISCV/arith-int.ll
M llvm/test/Analysis/CostModel/RISCV/masked-divrem.ll
M llvm/test/Analysis/ScalarEvolution/pr62430.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-regbankselect.mir
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-inline-asm.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-unwind-inline-asm.ll
A llvm/test/CodeGen/AArch64/GlobalISel/knownfpclass.ll
M llvm/test/CodeGen/AArch64/GlobalISel/lower-neon-vector-fcmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-rev.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-shuf-to-ins.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-uzp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-zip.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-constrain-new-regop.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-dead-cc-defs-in-fcmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-dead-cc-defs.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-xclass-copies.mir
M llvm/test/CodeGen/AArch64/GlobalISel/rbs-matrixindex-regclass-crash.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-inlineasm.mir
M llvm/test/CodeGen/AArch64/aarch64-sme2-asm.ll
M llvm/test/CodeGen/AArch64/aarch64-sve-asm.ll
M llvm/test/CodeGen/AArch64/aarch64-za-clobber.ll
M llvm/test/CodeGen/AArch64/add.ll
M llvm/test/CodeGen/AArch64/andorxor.ll
M llvm/test/CodeGen/AArch64/arm64-neon-3vdiff.ll
M llvm/test/CodeGen/AArch64/arm64-zip.ll
M llvm/test/CodeGen/AArch64/branch-relax-cross-section.mir
M llvm/test/CodeGen/AArch64/callbr-asm-outputs-indirect-isel.ll
M llvm/test/CodeGen/AArch64/cbz_wzr.mir
M llvm/test/CodeGen/AArch64/ccmp-look-through-copy.mir
M llvm/test/CodeGen/AArch64/ccmp-successor-probs.mir
M llvm/test/CodeGen/AArch64/concat-vector.ll
M llvm/test/CodeGen/AArch64/ctlz.ll
M llvm/test/CodeGen/AArch64/ctpop.ll
M llvm/test/CodeGen/AArch64/cttz.ll
M llvm/test/CodeGen/AArch64/dup.ll
M llvm/test/CodeGen/AArch64/emit_fneg_with_non_register_operand.mir
M llvm/test/CodeGen/AArch64/f16f32dot-fixed-length-fdot.ll
M llvm/test/CodeGen/AArch64/highextractbitcast.ll
M llvm/test/CodeGen/AArch64/jump-table-compress.mir
M llvm/test/CodeGen/AArch64/machine-latecleanup-inlineasm.mir
A llvm/test/CodeGen/AArch64/macro-fusion-cluster-conflict.mir
M llvm/test/CodeGen/AArch64/masked-sdiv-fixed-length.ll
M llvm/test/CodeGen/AArch64/masked-sdiv-scalable.ll
M llvm/test/CodeGen/AArch64/masked-udiv-fixed-length.ll
M llvm/test/CodeGen/AArch64/masked-udiv-scalable.ll
M llvm/test/CodeGen/AArch64/misched-fusion-cmp.mir
M llvm/test/CodeGen/AArch64/mul.ll
M llvm/test/CodeGen/AArch64/nested-iv-regalloc.mir
R llvm/test/CodeGen/AArch64/pcdphint-atomic-store.ll
M llvm/test/CodeGen/AArch64/peephole-insvigpr.mir
M llvm/test/CodeGen/AArch64/popcount.ll
M llvm/test/CodeGen/AArch64/pr86717.ll
M llvm/test/CodeGen/AArch64/ptrauth-isel.ll
M llvm/test/CodeGen/AArch64/qmovn.ll
M llvm/test/CodeGen/AArch64/ragreedy-csr.ll
M llvm/test/CodeGen/AArch64/remat-fmov-vector-imm.mir
M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/shrinkwrap-split-restore-point.mir
M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
M llvm/test/CodeGen/AArch64/sub.ll
A llvm/test/CodeGen/AArch64/sve-fixed-length-masked-div.ll
A llvm/test/CodeGen/AArch64/sve-fixed-length-masked-rem.ll
M llvm/test/CodeGen/AArch64/sve-sext-zext.ll
M llvm/test/CodeGen/AArch64/uadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/usub_sat_vec.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/wineh9.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm-mismatched-size.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-inline-asm.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-ignore-copies-crash.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fexp2.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/acyclic-014bb.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/acyclic-770bb.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/acyclic-cfg-with-self-loop.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/acyclic-phi-merge-distances.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/complex-acyclic-cfg-with-4-self-loops.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/complex-control-flow-11blocks.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/complex-control-flow-15blocks.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/complex-single-loop-a.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/complex-single-loop.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/double-nested-loops-complex-cfg.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/if_else_with_loops_nested_in_2_outer_loops.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/inner_cfg_in_2_nested_loops.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/loop_nested_in_3_outer_loops_complex_cfg.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/nested-loops-with-side-exits-a.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/sequence_2_loops.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/simple-loop-3blocks.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/spill-vreg-many-lanes.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_basic_case.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_do_not_spill_restore_inside_loop.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_emit_restore_in_common_dominator.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_emit_restore_in_loop_preheader1.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_emit_restore_in_loop_preheader2.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_emit_restore_in_loop_preheader3.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_emit_restore_in_loop_preheader4.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_keep_spilled_reg_live.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_multiple_spills1.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_multiple_spills2.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_multiple_spills3.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_nested_loops.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_spill_in_common_dominator_and_optimize_restores.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_spill_loop_livethrough_reg.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_spill_loop_value_in_exit_block.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/three-tier-ranking-nested-loops.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/triple-nested-loops.mir
A llvm/test/CodeGen/AMDGPU/NextUseAnalysis/two-sequential-loops.mir
M llvm/test/CodeGen/AMDGPU/add.v2i16.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-alloca-placement.ll
M llvm/test/CodeGen/AMDGPU/async-buffer-loads.ll
M llvm/test/CodeGen/AMDGPU/asyncmark-gfx12plus.ll
M llvm/test/CodeGen/AMDGPU/asyncmark-pregfx12.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/branch-relax-indirect-branch.mir
M llvm/test/CodeGen/AMDGPU/branch-relax-no-terminators.mir
M llvm/test/CodeGen/AMDGPU/buffer-intrinsics-mmo-offsets.ll
M llvm/test/CodeGen/AMDGPU/build_vector.gfx11plus.ll
M llvm/test/CodeGen/AMDGPU/call-defs-mode-register.ll
M llvm/test/CodeGen/AMDGPU/coalesce-copy-to-agpr-to-av-registers.mir
M llvm/test/CodeGen/AMDGPU/coalescer-early-clobber-subreg.mir
M llvm/test/CodeGen/AMDGPU/divergence-driven-buildvector.ll
M llvm/test/CodeGen/AMDGPU/dst-sel-hazard.mir
M llvm/test/CodeGen/AMDGPU/endpgm-dce.mir
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/flat-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/hazards-gfx950.mir
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-av-with-load-source.mir
M llvm/test/CodeGen/AMDGPU/inline-asm.i128.ll
A llvm/test/CodeGen/AMDGPU/lds-link-time-codegen-named-barrier.ll
A llvm/test/CodeGen/AMDGPU/lds-link-time-codegen.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.add.min.max.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp2.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.store.async.from.lds.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.exp.large.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.exp.small.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.perm.pk.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.add.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.and.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fadd.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmax.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmin.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fsub.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.max.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.min.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.or.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.sub.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umax.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umin.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.xor.ll
M llvm/test/CodeGen/AMDGPU/local-stack-alloc-add-references.gfx10.mir
M llvm/test/CodeGen/AMDGPU/local-stack-alloc-add-references.gfx8.mir
M llvm/test/CodeGen/AMDGPU/local-stack-alloc-add-references.gfx9.mir
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
M llvm/test/CodeGen/AMDGPU/machine-sink-cycle.mir
M llvm/test/CodeGen/AMDGPU/machine-sink-loop-var-out-of-divergent-loop-swdev407790.mir
M llvm/test/CodeGen/AMDGPU/mai-hazards.mir
M llvm/test/CodeGen/AMDGPU/no-limit-coalesce.mir
M llvm/test/CodeGen/AMDGPU/optimize-exec-mask-pre-ra-no-fold-exec-copy.mir
M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
M llvm/test/CodeGen/AMDGPU/regalloc-failure-overlapping-insert-assert.mir
M llvm/test/CodeGen/AMDGPU/regalloc-undef-copy-fold.mir
M llvm/test/CodeGen/AMDGPU/remaining-virtual-register-operands.mir
M llvm/test/CodeGen/AMDGPU/rename-independent-subregs.mir
M llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-copy-from.mir
M llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-subreg-insert-extract.mir
M llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-subreg-src2-chain.mir
M llvm/test/CodeGen/AMDGPU/sched-assert-dead-def-subreg-use-other-subreg.mir
M llvm/test/CodeGen/AMDGPU/sched-handleMoveUp-subreg-def-across-subreg-def.mir
M llvm/test/CodeGen/AMDGPU/sink-after-control-flow-postra.mir
M llvm/test/CodeGen/AMDGPU/spill-regpressure-less.mir
M llvm/test/CodeGen/AMDGPU/spill-vector-superclass.ll
M llvm/test/CodeGen/AMDGPU/sub.v2i16.ll
M llvm/test/CodeGen/AMDGPU/subreg-undef-def-with-other-subreg-defs.mir
M llvm/test/CodeGen/AMDGPU/swdev282079.mir
M llvm/test/CodeGen/AMDGPU/true16-imm-folded-to-0-regression.ll
M llvm/test/CodeGen/AMDGPU/unsupported-atomics.ll
M llvm/test/CodeGen/AMDGPU/v_swap_b16.ll
M llvm/test/CodeGen/AMDGPU/v_swap_b32.mir
M llvm/test/CodeGen/AMDGPU/vccz-corrupt-bug-workaround.mir
M llvm/test/CodeGen/AMDGPU/vector-reduce-umax.ll
M llvm/test/CodeGen/AMDGPU/verify-gfx90a-aligned-vgprs.mir
M llvm/test/CodeGen/AMDGPU/vgpr-mark-last-scratch-load.mir
M llvm/test/CodeGen/AMDGPU/vopc-remat.mir
M llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
M llvm/test/CodeGen/ARM/arm-and-tst-peephole.ll
M llvm/test/CodeGen/ARM/ifcvt-diamond-unanalyzable-common.mir
M llvm/test/CodeGen/ARM/inlineasmbr-if-cvt.mir
M llvm/test/CodeGen/ARM/machine-outliner-noreturn.mir
M llvm/test/CodeGen/ARM/machine-outliner-unoutlinable.mir
M llvm/test/CodeGen/ARM/setcc-logic.ll
A llvm/test/CodeGen/BPF/cleanup-reject-typed-catch.ll
A llvm/test/CodeGen/BPF/cleanup-section.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
A llvm/test/CodeGen/DirectX/strip-convergence-intrinsics.ll
A llvm/test/CodeGen/Hexagon/sext-mul-v2i16.ll
M llvm/test/CodeGen/LoongArch/inline-asm-clobbers-fcc.mir
M llvm/test/CodeGen/LoongArch/lasx/ctpop-ctlz.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/add.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/and.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fptrunc.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/icmp.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/nor.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/or.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/shuffle-as-xvextrins.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/sub.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/xor.ll
M llvm/test/CodeGen/LoongArch/lasx/xvmskcond.ll
M llvm/test/CodeGen/LoongArch/lsx/ctpop-ctlz.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/add.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/and.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/fptrunc.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/icmp.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/nor.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/or.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/shuffle-as-vextrins.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/sub.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/xor.ll
M llvm/test/CodeGen/LoongArch/lsx/vec-sext.ll
M llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-any-ext.ll
M llvm/test/CodeGen/LoongArch/lsx/vec-trunc.ll
M llvm/test/CodeGen/LoongArch/lsx/vmskcond.ll
M llvm/test/CodeGen/LoongArch/pr177863.ll
M llvm/test/CodeGen/MIR/Generic/inline-asm-bad-mem-constraint.mir
M llvm/test/CodeGen/MIR/Generic/inline-asm-bad-regclass.mir
M llvm/test/CodeGen/MIR/Generic/inline-asm-extra-info.mir
M llvm/test/CodeGen/MIR/Generic/inline-asm-no-constraint.mir
M llvm/test/CodeGen/MIR/Generic/inline-asm-tiedto-bad-operand-number.mir
M llvm/test/CodeGen/MIR/Generic/inline-asm-tiedto-missing-colon.mir
M llvm/test/CodeGen/MIR/Generic/inline-asm-tiedto-missing-dollar.mir
M llvm/test/CodeGen/MIR/X86/early-clobber-register-flag.mir
M llvm/test/CodeGen/MIR/X86/inline-asm-registers.mir
M llvm/test/CodeGen/MIR/X86/inline-asm-rm-exhaustion.mir
M llvm/test/CodeGen/MIR/X86/inline-asm.mir
M llvm/test/CodeGen/Mips/longbranch/branch-limits-fp-micromips.mir
M llvm/test/CodeGen/Mips/longbranch/branch-limits-fp-micromipsr6.mir
M llvm/test/CodeGen/Mips/longbranch/branch-limits-fp-mips.mir
M llvm/test/CodeGen/Mips/longbranch/branch-limits-fp-mipsr6.mir
M llvm/test/CodeGen/Mips/longbranch/branch-limits-int-microMIPS.mir
M llvm/test/CodeGen/Mips/longbranch/branch-limits-int-micromipsr6.mir
M llvm/test/CodeGen/Mips/longbranch/branch-limits-int-mips64.mir
M llvm/test/CodeGen/Mips/longbranch/branch-limits-int-mips64r6.mir
M llvm/test/CodeGen/Mips/longbranch/branch-limits-int-mipsr6.mir
M llvm/test/CodeGen/Mips/longbranch/branch-limits-int.mir
M llvm/test/CodeGen/Mips/longbranch/branch-limits-msa.mir
A llvm/test/CodeGen/NVPTX/atomic-alignment.err.ll
M llvm/test/CodeGen/NVPTX/atomicrmw-expand.err.ll
M llvm/test/CodeGen/NVPTX/atomics-b128.ll
M llvm/test/CodeGen/NVPTX/intr-range.ll
M llvm/test/CodeGen/NVPTX/load-store-atomic.err.ll
A llvm/test/CodeGen/NVPTX/movmatrix.ll
A llvm/test/CodeGen/NVPTX/reqntid-const-fold.ll
M llvm/test/CodeGen/PowerPC/aix-lower-jump-table-mir.ll
M llvm/test/CodeGen/PowerPC/aix-print-pc.mir
M llvm/test/CodeGen/PowerPC/alignlongjumptest.mir
M llvm/test/CodeGen/PowerPC/callbr-asm-outputs-indirect-isel.ll
M llvm/test/CodeGen/PowerPC/ctrloops32.mir
M llvm/test/CodeGen/PowerPC/ctrloops64.mir
A llvm/test/CodeGen/PowerPC/deeply-compressed-weights.ll
A llvm/test/CodeGen/PowerPC/post-quantum-crypto.ll
M llvm/test/CodeGen/PowerPC/shrink-wrap.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/brindirect-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/brindirect-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calls.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/branch-rel.mir
M llvm/test/CodeGen/RISCV/branch-relaxation-rv32.ll
M llvm/test/CodeGen/RISCV/branch-relaxation-rv64.ll
A llvm/test/CodeGen/RISCV/calls-cf-branch.ll
M llvm/test/CodeGen/RISCV/calls.ll
A llvm/test/CodeGen/RISCV/cf-branch-isel.ll
M llvm/test/CodeGen/RISCV/jumptable-swguarded.ll
M llvm/test/CodeGen/RISCV/kcfi-isel-mir.ll
M llvm/test/CodeGen/RISCV/lpad.ll
M llvm/test/CodeGen/RISCV/machine-outliner-call-reg-live-across.mir
M llvm/test/CodeGen/RISCV/machine-outliner-call-x5-liveout.mir
A llvm/test/CodeGen/RISCV/machine-outliner-reserved-regs.mir
A llvm/test/CodeGen/RISCV/machine-outliner-x5-regsave-rv32e.mir
A llvm/test/CodeGen/RISCV/machine-outliner-x5-regsave.mir
M llvm/test/CodeGen/RISCV/nest-register.ll
M llvm/test/CodeGen/RISCV/opt-w-instrs.mir
M llvm/test/CodeGen/RISCV/pr84200.ll
M llvm/test/CodeGen/RISCV/pr97304.ll
M llvm/test/CodeGen/RISCV/rv32p.ll
M llvm/test/CodeGen/RISCV/rv64p.ll
A llvm/test/CodeGen/RISCV/rvv/buildvec-sext.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave2.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zipeven-zipodd.ll
M llvm/test/CodeGen/RISCV/rvv/masked-sdiv.ll
M llvm/test/CodeGen/RISCV/rvv/masked-srem.ll
M llvm/test/CodeGen/RISCV/rvv/masked-udiv.ll
M llvm/test/CodeGen/RISCV/rvv/masked-urem.ll
M llvm/test/CodeGen/RISCV/rvv/pr99782.ll
M llvm/test/CodeGen/RISCV/rvv/stack-probing-dynamic.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
M llvm/test/CodeGen/RISCV/stack-clash-prologue.ll
M llvm/test/CodeGen/RISCV/tail-calls.ll
M llvm/test/CodeGen/RISCV/zdinx-spill.ll
M llvm/test/CodeGen/RISCV/zicfilp-indirect-branch.ll
M llvm/test/CodeGen/RISCV/zilsd-spill.ll
M llvm/test/CodeGen/SPIRV/AtomicBuiltinsFloat.ll
M llvm/test/CodeGen/SPIRV/CheckCapKernelWithoutKernel.ll
M llvm/test/CodeGen/SPIRV/ExecutionMode_GLCompute.ll
M llvm/test/CodeGen/SPIRV/FOrdGreaterThanEqual_bool.ll
M llvm/test/CodeGen/SPIRV/FOrdGreaterThanEqual_int.ll
M llvm/test/CodeGen/SPIRV/OpVectorInsertDynamic.ll
M llvm/test/CodeGen/SPIRV/SpecConstants/bool-spirv-specconstant.ll
M llvm/test/CodeGen/SPIRV/TruncToBool.ll
M llvm/test/CodeGen/SPIRV/assume.ll
M llvm/test/CodeGen/SPIRV/basic_int_types_spirvdis.ll
M llvm/test/CodeGen/SPIRV/branching/OpSwitch32.ll
M llvm/test/CodeGen/SPIRV/branching/OpSwitchChar.ll
M llvm/test/CodeGen/SPIRV/branching/analyze-branch-opt.ll
M llvm/test/CodeGen/SPIRV/branching/if-merging.ll
M llvm/test/CodeGen/SPIRV/branching/if-non-merging.ll
M llvm/test/CodeGen/SPIRV/capability-Int64Atomics-store.ll
M llvm/test/CodeGen/SPIRV/capability-Int64Atomics.ll
M llvm/test/CodeGen/SPIRV/capability-Shader.ll
M llvm/test/CodeGen/SPIRV/capability-integers.ll
M llvm/test/CodeGen/SPIRV/constant/local-aggregate-constant.ll
M llvm/test/CodeGen/SPIRV/constant/local-arbitrary-width-integers-constants-type-promotion.ll
M llvm/test/CodeGen/SPIRV/constant/local-bool-constants.ll
M llvm/test/CodeGen/SPIRV/constant/local-float-point-constants.ll
M llvm/test/CodeGen/SPIRV/constant/local-integers-constants.ll
M llvm/test/CodeGen/SPIRV/constant/local-null-constants.ll
M llvm/test/CodeGen/SPIRV/constant/local-vector-matrix-constants.ll
M llvm/test/CodeGen/SPIRV/debug-info/no-nonsemantic-without-extension.ll
M llvm/test/CodeGen/SPIRV/event_no_group_cap.ll
M llvm/test/CodeGen/SPIRV/exec_mode_float_control_khr.ll
M llvm/test/CodeGen/SPIRV/expect.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_relaxed_printf_string_address_space/builtin_printf.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_relaxed_printf_string_address_space/non-constant-printf.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_double.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_half.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_double.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_float.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_half.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_16bit_atomics/atomic_bfloat16_load_store_xchg.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_16bit_atomics/atomic_int16_arithmetic.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_16bit_atomics/atomic_int16_load_store_xchg_cmpxchg.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_16bit_atomics/atomicrmw_faddfsub_bfloat16.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_16bit_atomics/atomicrmw_fminfmax_bfloat16.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fun-ptr-addrcast.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_bf16.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_checked.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_get_coord.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_packed.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_prefetch.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_tf32.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_memory_access_aliasing/alias-barrier.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_memory_access_aliasing/alias-empty-md.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_memory_access_aliasing/alias-load-store-struct.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_memory_access_aliasing/alias-load-store.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_predicated_io/predicated_io_generic.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_subgroups/builtin-op-wrappers.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_no_integer_wrap_decoration.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_uniform_group_instructions/uniform-group-instructions.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_NV_shader_atomic_fp16_vector/atomicrmw_faddfsub_vec_float16.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_NV_shader_atomic_fp16_vector/atomicrmw_fminfmax_vec_float16.ll
M llvm/test/CodeGen/SPIRV/extensions/enable-all-extensions-but-one.ll
M llvm/test/CodeGen/SPIRV/extensions/enable-all-extensions.ll
M llvm/test/CodeGen/SPIRV/extensions/unused-but-allowed-SPV_INTEL_arbitrary_precision_integers.ll
M llvm/test/CodeGen/SPIRV/freeze.ll
M llvm/test/CodeGen/SPIRV/function/alloca-load-store.ll
M llvm/test/CodeGen/SPIRV/function/identity-function.ll
M llvm/test/CodeGen/SPIRV/function/multiple-anonymous-functions.ll
M llvm/test/CodeGen/SPIRV/function/trivial-function-definition.ll
M llvm/test/CodeGen/SPIRV/function/trivial-function-with-attributes.ll
M llvm/test/CodeGen/SPIRV/function/trivial-function-with-call.ll
M llvm/test/CodeGen/SPIRV/function/variadics-lowering-builtin-substr-in-name.ll
M llvm/test/CodeGen/SPIRV/function/variadics-lowering-namespace-printf.ll
M llvm/test/CodeGen/SPIRV/global-var-intrinsic.ll
M llvm/test/CodeGen/SPIRV/half_extension.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/rcp.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/cbuffer_unused.ll
M llvm/test/CodeGen/SPIRV/image-unoptimized.ll
M llvm/test/CodeGen/SPIRV/image.ll
M llvm/test/CodeGen/SPIRV/image_decl_func_arg.ll
M llvm/test/CodeGen/SPIRV/image_dim.ll
M llvm/test/CodeGen/SPIRV/instructions/call-complex-function.ll
M llvm/test/CodeGen/SPIRV/instructions/call-trivial-function.ll
M llvm/test/CodeGen/SPIRV/instructions/fcmp.ll
M llvm/test/CodeGen/SPIRV/instructions/float-casts.ll
M llvm/test/CodeGen/SPIRV/instructions/float-fast-flags.ll
M llvm/test/CodeGen/SPIRV/instructions/intrinsics.ll
M llvm/test/CodeGen/SPIRV/instructions/scalar-bitwise-operations.ll
M llvm/test/CodeGen/SPIRV/instructions/scalar-floating-point-arithmetic.ll
M llvm/test/CodeGen/SPIRV/instructions/undef-nested-composite-store.ll
M llvm/test/CodeGen/SPIRV/instructions/undef-simple-composite-store.ll
M llvm/test/CodeGen/SPIRV/instructions/unreachable.ll
M llvm/test/CodeGen/SPIRV/instructions/vector-bitwise-operations.ll
M llvm/test/CodeGen/SPIRV/instructions/vector-floating-point-arithmetic.ll
M llvm/test/CodeGen/SPIRV/instructions/vector-integer-arithmetic.ll
M llvm/test/CodeGen/SPIRV/linkage/LinkOnceODR.ll
M llvm/test/CodeGen/SPIRV/linkage/LinkOnceODRFun.ll
M llvm/test/CodeGen/SPIRV/linked-list.ll
M llvm/test/CodeGen/SPIRV/lit.local.cfg
M llvm/test/CodeGen/SPIRV/llc-pipeline.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/assume.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/bswap.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/ceil.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/ctlz.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/ctpop.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/cttz.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/debugtrap.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/expect.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/fabs.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/fshl.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/fshr.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/invariant.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/maxnum.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/memset.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/nearbyint.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/sqrt.ll
M llvm/test/CodeGen/SPIRV/logical-access-chain.ll
M llvm/test/CodeGen/SPIRV/mangled_function.ll
M llvm/test/CodeGen/SPIRV/multi_md.ll
M llvm/test/CodeGen/SPIRV/no_capability_shader.ll
M llvm/test/CodeGen/SPIRV/opaque_pointers.ll
M llvm/test/CodeGen/SPIRV/opencl/basic/get_global_offset.ll
M llvm/test/CodeGen/SPIRV/opencl/basic/progvar_prog_scope_init.ll
M llvm/test/CodeGen/SPIRV/opencl/basic/progvar_prog_scope_uninit.ll
M llvm/test/CodeGen/SPIRV/opencl/device_execution/execute_block.ll
M llvm/test/CodeGen/SPIRV/opencl/get_global_id.ll
M llvm/test/CodeGen/SPIRV/opencl/get_num_groups.ll
M llvm/test/CodeGen/SPIRV/opencl/metadata/fp_contractions_metadata.ll
M llvm/test/CodeGen/SPIRV/opencl/metadata/no_fp_contractions_metadata.ll
M llvm/test/CodeGen/SPIRV/opencl/metadata/opencl_version_metadata.ll
M llvm/test/CodeGen/SPIRV/opencl/vstore2.ll
M llvm/test/CodeGen/SPIRV/physical-layout/generator-magic-number.ll
M llvm/test/CodeGen/SPIRV/physical-layout/spirv-version.ll
M llvm/test/CodeGen/SPIRV/pointers/PtrCast-null-in-OpSpecConstantOp.ll
M llvm/test/CodeGen/SPIRV/preprocess-metadata.ll
M llvm/test/CodeGen/SPIRV/pstruct.ll
M llvm/test/CodeGen/SPIRV/read_image.ll
M llvm/test/CodeGen/SPIRV/sitofp-with-bool.ll
A llvm/test/CodeGen/SPIRV/smulextended-builtin.ll
M llvm/test/CodeGen/SPIRV/spec_const_decoration.ll
M llvm/test/CodeGen/SPIRV/spirv-tools-dis.ll
M llvm/test/CodeGen/SPIRV/spirv.Queue.ll
M llvm/test/CodeGen/SPIRV/spirv_param_decorations_quals.ll
M llvm/test/CodeGen/SPIRV/store.ll
A llvm/test/CodeGen/SPIRV/struct-null-pointer-member.ll
M llvm/test/CodeGen/SPIRV/transcoding/DecorationMaxByteOffset.ll
M llvm/test/CodeGen/SPIRV/transcoding/GlobalFunAnnotate.ll
M llvm/test/CodeGen/SPIRV/transcoding/NoSignedUnsignedWrap.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpConstantBool.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpConstantSampler.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpImageQuerySize.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpImageReadMS.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpImageSampleExplicitLod.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/sub_group_mask.ll
M llvm/test/CodeGen/SPIRV/transcoding/RelationalOperators.ll
M llvm/test/CodeGen/SPIRV/transcoding/RelationalOperatorsFUnord.ll
M llvm/test/CodeGen/SPIRV/transcoding/ReqdSubgroupSize.ll
M llvm/test/CodeGen/SPIRV/transcoding/SpecConstantComposite.ll
M llvm/test/CodeGen/SPIRV/transcoding/TransFNeg.ll
M llvm/test/CodeGen/SPIRV/transcoding/image_get_size_with_access_qualifiers.ll
M llvm/test/CodeGen/SPIRV/transcoding/memory_access.ll
M llvm/test/CodeGen/SPIRV/transcoding/optional-core-features-multiple.ll
M llvm/test/CodeGen/SPIRV/transcoding/readonly.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_ballot.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_clustered_reduce.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_non_uniform_arithmetic.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_non_uniform_vote.ll
M llvm/test/CodeGen/SPIRV/transcoding/vec8.ll
M llvm/test/CodeGen/SPIRV/transcoding/vec_type_hint.ll
M llvm/test/CodeGen/SPIRV/trunc-nonstd-bitwidth.ll
M llvm/test/CodeGen/SPIRV/uitofp-with-bool.ll
A llvm/test/CodeGen/SPIRV/umulextended-builtin.ll
M llvm/test/CodeGen/SPIRV/vk-pushconstant-access.ll
M llvm/test/CodeGen/SPIRV/vk-pushconstant-layout-natural.ll
M llvm/test/CodeGen/SystemZ/twoaddr-kill.mir
M llvm/test/CodeGen/Thumb/high-reg-clobber.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/out-of-range-cbz.mir
M llvm/test/CodeGen/Thumb2/high-reg-spill.mir
A llvm/test/CodeGen/Thumb2/mve-clmul.ll
M llvm/test/CodeGen/Thumb2/pipeliner-inlineasm.mir
M llvm/test/CodeGen/WebAssembly/f16-intrinsics.ll
M llvm/test/CodeGen/X86/apx/add.ll
M llvm/test/CodeGen/X86/apx/flags-copy-lowering.mir
M llvm/test/CodeGen/X86/apx/sub.ll
M llvm/test/CodeGen/X86/avx-vperm2x128.ll
A llvm/test/CodeGen/X86/block-placement-triangle-profile-likely-prob.mir
M llvm/test/CodeGen/X86/callbr-asm-different-indirect-target.mir
M llvm/test/CodeGen/X86/callbr-asm-kill.mir
M llvm/test/CodeGen/X86/callbr-asm-outputs-indirect-isel-m32.ll
M llvm/test/CodeGen/X86/callbr-asm-outputs-indirect-isel.ll
M llvm/test/CodeGen/X86/callbr-asm-outputs-regallocfast.mir
M llvm/test/CodeGen/X86/cfi-xmm.ll
M llvm/test/CodeGen/X86/early-clobber.mir
M llvm/test/CodeGen/X86/flags-copy-lowering.mir
M llvm/test/CodeGen/X86/fp16-reload.mir
M llvm/test/CodeGen/X86/inline-asm-avx512f-x-constraint.ll
M llvm/test/CodeGen/X86/inline-asm-default-clobbers.ll
M llvm/test/CodeGen/X86/insertps-combine.ll
M llvm/test/CodeGen/X86/lsr-addrecloops.ll
M llvm/test/CodeGen/X86/machine-copy-prop.mir
M llvm/test/CodeGen/X86/masked_gather.ll
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
M llvm/test/CodeGen/X86/masked_load.ll
M llvm/test/CodeGen/X86/masked_store.ll
M llvm/test/CodeGen/X86/peephole-copy.mir
A llvm/test/CodeGen/X86/pr169485.ll
A llvm/test/CodeGen/X86/pr192034.ll
M llvm/test/CodeGen/X86/pr86880.mir
M llvm/test/CodeGen/X86/regallocfast-callbr-asm-spills-after-reload.mir
M llvm/test/CodeGen/X86/scheduler-asm-moves.mir
M llvm/test/CodeGen/X86/stack-clash-dynamic-alloca.ll
M llvm/test/CodeGen/X86/stack-clash-small-alloc-medium-align.ll
M llvm/test/CodeGen/X86/stack-folding-bmi2.mir
M llvm/test/CodeGen/X86/stack-folding-fp-nofpexcept.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-enter-at-end.mir
A llvm/test/CodeGen/X86/sub-to-xor-masked.ll
M llvm/test/CodeGen/X86/switch-jmp-edge-split.mir
M llvm/test/CodeGen/X86/tail-dup-asm-goto.ll
M llvm/test/CodeGen/X86/var-permute-128.ll
M llvm/test/CodeGen/X86/var-permute-256.ll
M llvm/test/CodeGen/X86/var-permute-512.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-xop.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining.ll
R llvm/test/LTO/Resolution/X86/libcall-external.ll
R llvm/test/LTO/Resolution/X86/libcall-in-thin-link.ll
R llvm/test/LTO/Resolution/X86/libcall-in-tu.ll
A llvm/test/MC/ELF/prefalign-internal-align.s
M llvm/test/MC/RISCV/rv32p-aliases-valid.s
M llvm/test/Other/fatlto.ll
M llvm/test/Other/new-pm-O0-defaults.ll
M llvm/test/Other/new-pm-lto-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
M llvm/test/ThinLTO/X86/lower_type_test_phi.ll
M llvm/test/Transforms/AggressiveInstCombine/popcount.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/unaligned-atomic.ll
M llvm/test/Transforms/FunctionAttrs/noundef.ll
A llvm/test/Transforms/FunctionImport/Inputs/inline-history.ll
A llvm/test/Transforms/FunctionImport/inline-history.ll
A llvm/test/Transforms/InstCombine/fold-vp-load.ll
M llvm/test/Transforms/LoopStrengthReduce/2011-12-19-PostincQuadratic.ll
M llvm/test/Transforms/LoopStrengthReduce/AArch64/postinc-with-fixups-with-different-loops.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-invalid-ptr-extend.ll
M llvm/test/Transforms/LoopStrengthReduce/ARM/illegal-addr-modes.ll
M llvm/test/Transforms/LoopStrengthReduce/Power/incomplete-phi.ll
M llvm/test/Transforms/LoopStrengthReduce/RISCV/icmp-zero.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/2011-12-04-loserreg.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/bin_power.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/debuginfo-scev-salvage-ptrtoaddr.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/eh-insertion-point-2.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/eh-insertion-point.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/expander-crashes.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/icmp-zero-offset-overflow.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/incorrect-offset-scaling.ll
R llvm/test/Transforms/LoopStrengthReduce/X86/lcssa-preservation-regression.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/lsr-expand-quadratic.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/lsr-overflow.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/nested-ptr-addrec.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/normalization-during-scev-expansion.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/postinc-iv-used-by-urem-and-udiv.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/pr40514.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/pr46943.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/pr47776-do-not-apply-info-from-guards-to-addrecs.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/pr62660-normalization-failure.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/sibling-loops.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/zext-signed-addrec.ll
M llvm/test/Transforms/LoopStrengthReduce/duplicated-phis.ll
M llvm/test/Transforms/LoopStrengthReduce/lsr-overflow.ll
M llvm/test/Transforms/LoopStrengthReduce/nonintegral.ll
M llvm/test/Transforms/LoopStrengthReduce/post-inc-icmpzero.ll
M llvm/test/Transforms/LoopStrengthReduce/pr12691.ll
M llvm/test/Transforms/LoopStrengthReduce/pr25541.ll
M llvm/test/Transforms/LoopStrengthReduce/pr27056.ll
M llvm/test/Transforms/LoopStrengthReduce/scaling-factor-incompat-type.ll
M llvm/test/Transforms/LoopStrengthReduce/scev-incorrect-nuw-inference.ll
M llvm/test/Transforms/LoopStrengthReduce/uglygep-address-space.ll
M llvm/test/Transforms/LoopStrengthReduce/uglygep.ll
M llvm/test/Transforms/LoopStrengthReduce/wrong-hoisting-iv.ll
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_test1_no_explicit_vect_width.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-usabs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/predicated-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
A llvm/test/Transforms/LoopVectorize/AArch64/splice-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse-mask4.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse-mask4.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dbg-tail-folding-by-evl.ll
M llvm/test/Transforms/LoopVectorize/RISCV/gather-scatter-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/predicated-reverse-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/runtime-check-dependent-on-stride.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-uniform-store.ll
A llvm/test/Transforms/LoopVectorize/VPlan/AArch64/partial-reduce-usabs.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/VPlan/icmp-uniforms.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-sink-scalars-and-merge.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/outer_loop_test1_no_explicit_vect_width.ll
M llvm/test/Transforms/LoopVectorize/X86/pr109581-unused-blend.ll
M llvm/test/Transforms/LoopVectorize/dbg-outer-loop-vect.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
A llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-expr-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-expr.ll
M llvm/test/Transforms/LoopVectorize/non-widenable-intrinsics-outer-loop.ll
M llvm/test/Transforms/LoopVectorize/outer-loop-inner-latch-successors.ll
M llvm/test/Transforms/LoopVectorize/outer-loop-vec-phi-predecessor-order.ll
M llvm/test/Transforms/LoopVectorize/outer-loop-wide-phis.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_hcfg_construction.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_scalable.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_test2.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
M llvm/test/Transforms/LoopVectorize/vplan-native-path-inner-loop-with-runtime-checks.ll
M llvm/test/Transforms/LoopVectorize/vplan-outer-loop-uncomputable-trip-count.ll
M llvm/test/Transforms/LowerTypeTests/drop_type_test.ll
M llvm/test/Transforms/LowerTypeTests/drop_type_test_phi.ll
M llvm/test/Transforms/LowerTypeTests/drop_type_test_select.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/spillcost-call-between-operands.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/spillcost-loop-backedge.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/same-node-reused.ll
M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/copyable_reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/deleted-instructions-clear.ll
M llvm/test/Transforms/SLPVectorizer/X86/entries-different-vf.ll
M llvm/test/Transforms/SLPVectorizer/X86/operand-reorder-with-copyables.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-shl1-add-merge.ll
M llvm/test/Transforms/SLPVectorizer/X86/reused-last-instruction-in-split-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/shl-compatible-with-add.ll
M llvm/test/Transforms/SLPVectorizer/X86/shl-to-add-transformation.ll
M llvm/test/Transforms/SLPVectorizer/X86/shl-to-add-transformation5.ll
M llvm/test/Transforms/SLPVectorizer/X86/shll1-add-sub-combined.ll
A llvm/test/Transforms/StripConvergenceIntrinsics/basic.ll
M llvm/test/Verifier/AArch64/intrinsic-immarg.ll
M llvm/test/tools/llvm-ar/error-opening-directory.test
A llvm/test/tools/llvm-cas/mapping-size-too-small.test
M llvm/test/tools/llvm-mca/AMDGPU/gfx12-pseudo-scalar-trans.s
M llvm/test/tools/llvm-objcopy/ELF/strip-preserve-atime.test
M llvm/tools/llvm-lto2/llvm-lto2.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
M llvm/unittests/IR/TimePassesTest.cpp
M llvm/unittests/MC/TargetRegistry.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
M llvm/utils/git/github-automation.py
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Serialization/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
M llvm/utils/lit/lit/Test.py
M llvm/utils/lit/lit/TestTimes.py
M llvm/utils/lit/lit/discovery.py
A llvm/utils/lit/tests/Inputs/malformed-test-times/a.txt
A llvm/utils/lit/tests/Inputs/malformed-test-times/b.txt
A llvm/utils/lit/tests/Inputs/malformed-test-times/lit.cfg
A llvm/utils/lit/tests/Inputs/malformed-test-times/lit_test_times
M llvm/utils/lit/tests/filter-failed-delete.py
M llvm/utils/lit/tests/filter-failed-rerun.py
M llvm/utils/lit/tests/filter-failed.py
A llvm/utils/lit/tests/malformed-test-times.py
M mlir/docs/Canonicalization.md
M mlir/docs/Tutorials/MlirOpt.md
M mlir/include/mlir/Bindings/Python/Globals.h
M mlir/include/mlir/Conversion/ArithCommon/AttrToLLVMConverter.h
M mlir/include/mlir/Dialect/Arith/IR/ArithBase.td
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/include/mlir/Dialect/Async/IR/Async.h
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.td
M mlir/include/mlir/Dialect/Bufferization/Transforms/OneShotAnalysis.h
M mlir/include/mlir/Dialect/Func/IR/FuncOps.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVLogicalOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVOps.h
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TargetEnv.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Transform/IR/TransformDialect.h
M mlir/include/mlir/Dialect/Transform/IR/TransformDialect.td
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/include/mlir/Dialect/Transform/IR/TransformTypes.td
M mlir/include/mlir/Dialect/Transform/Interfaces/CMakeLists.txt
M mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.h
M mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/include/mlir/IR/BuiltinOps.h
M mlir/lib/Bindings/Python/Globals.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Conversion/XeGPUToXeVM/XeGPUToXeVM.cpp
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
M mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp
M mlir/lib/Dialect/OpenACC/IR/CMakeLists.txt
M mlir/lib/Dialect/OpenACC/IR/OpenACCCG.cpp
M mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitDeclare.cpp
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtils.cpp
M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Shard/Transforms/Partition.cpp
M mlir/lib/Dialect/Tensor/Transforms/FoldTensorSubsetOps.cpp
M mlir/lib/Dialect/Tosa/IR/TargetEnv.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Transform/IR/TransformAttrs.cpp
M mlir/lib/Dialect/Transform/IR/TransformDialect.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/lib/Dialect/Transform/IR/TransformTypes.cpp
M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
M mlir/lib/IR/ODSSupport.cpp
M mlir/lib/IR/OperationSupport.cpp
M mlir/lib/Transforms/CSE.cpp
M mlir/python/mlir/ir.py
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Conversion/VectorToLLVM/vector-mask-to-llvm.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Conversion/VectorToLLVM/vector-xfer-to-llvm.mlir
M mlir/test/Dialect/Arith/canonicalize.mlir
M mlir/test/Dialect/Arith/ops.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir
M mlir/test/Dialect/Func/duplicate-function-elimination.mlir
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
M mlir/test/Dialect/MemRef/invalid.mlir
M mlir/test/Dialect/MemRef/ops.mlir
M mlir/test/Dialect/NVGPU/invalid.mlir
M mlir/test/Dialect/OpenACC/acc-implicit-declare.mlir
A mlir/test/Dialect/OpenACC/compute-region-canonicalize.mlir
M mlir/test/Dialect/SPIRV/IR/group-ops.mlir
M mlir/test/Dialect/SPIRV/IR/logical-ops.mlir
M mlir/test/Dialect/SPIRV/IR/non-uniform-ops.mlir
M mlir/test/Dialect/SPIRV/IR/tosa-ops-verification.mlir
M mlir/test/Dialect/Tensor/fold-tensor-subset-ops.mlir
M mlir/test/Dialect/Tosa/availability.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p0-invalid.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p0-pro-fp-invalid.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-pro-fp-valid.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
A mlir/test/Dialect/Transform/normal-forms.mlir
M mlir/test/Dialect/Transform/ops-invalid.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
A mlir/test/Dialect/Vector/canonicalize/vector-extract.mlir
M mlir/test/Dialect/Vector/vector-contract-to-matrix-intrinsics-transforms.mlir
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
M mlir/test/Dialect/XeGPU/propagate-layout.mlir
M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
M mlir/test/Dialect/XeGPU/xegpu-unroll-patterns.mlir
M mlir/test/Dialect/XeGPU/xegpu-vector-linearize.mlir
A mlir/test/IR/invalid-properties.mlir
M mlir/test/IR/operation-equality.mlir
M mlir/test/Integration/Dialect/Vector/CPU/create-mask.mlir
A mlir/test/Interfaces/TilingInterface/tile-elementwise.mlir
M mlir/test/Target/LLVMIR/Import/fastmath.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
M mlir/test/Target/SPIRV/logical-ops.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Transform/CMakeLists.txt
M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp
M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.h
M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.td
M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
M mlir/test/python/ir/auto_location.py
M mlir/unittests/Dialect/OpenACC/CMakeLists.txt
A mlir/unittests/Dialect/OpenACC/OpenACCCGOpsTest.cpp
M mlir/unittests/Dialect/OpenACC/OpenACCUtilsCGTest.cpp
M offload/CMakeLists.txt
M offload/cmake/OpenMPTesting.cmake
M offload/include/Shared/APITypes.h
M offload/include/device.h
M offload/include/omptarget.h
M offload/liboffload/src/OffloadImpl.cpp
M offload/libomptarget/device.cpp
M offload/libomptarget/interface.cpp
M offload/libomptarget/omptarget.cpp
M offload/libomptarget/private.h
M offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa.cpp
M offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa.h
M offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/plugins-nextgen/common/include/PluginInterface.h
A offload/plugins-nextgen/common/include/RecordReplay.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
A offload/plugins-nextgen/common/src/RecordReplay.cpp
M offload/plugins-nextgen/cuda/CMakeLists.txt
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/test/CMakeLists.txt
M offload/test/api/omp_indirect_call_table_manual.c
M offload/test/api/omp_indirect_func_array.c
M offload/test/api/omp_indirect_func_struct.c
M offload/test/lit.cfg
M offload/test/lit.site.cfg.in
M offload/test/mapping/map_ordering_tgt_exit_data_always_always.c
M offload/test/mapping/map_ordering_tgt_exit_data_delete_from.c
M offload/test/mapping/map_ordering_tgt_exit_data_delete_from_assumedsize.c
M offload/test/mapping/map_ordering_tgt_exit_data_from_delete_assumedsize.c
M offload/test/offloading/ompx_coords.c
A offload/test/tools/omp-kernel-replay/record-replay-advanced.cpp
A offload/test/tools/omp-kernel-replay/record-replay-basic.cpp
A offload/test/tools/omp-kernel-replay/record-replay-diff-teams-threads.cpp
A offload/test/tools/omp-kernel-replay/record-replay-diff-threads.cpp
M offload/tools/deviceinfo/llvm-offload-device-info.cpp
M offload/tools/kernelreplay/llvm-omp-kernel-replay.cpp
M offload/unittests/CMakeLists.txt
M openmp/device/src/Misc.cpp
M openmp/docs/Building.md
M utils/bazel/MODULE.bazel
M utils/bazel/MODULE.bazel.lock
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.7
[skip ci]
Compare: https://github.com/llvm/llvm-project/compare/1e2192af5fc2...9086be2e78f2
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