[all-commits] [llvm/llvm-project] 2fc073: [AArch64] Decompose FADD reductions with known zer...
Jonathan Thackray via All-commits
all-commits at lists.llvm.org
Fri Mar 6 09:55:41 PST 2026
Branch: refs/heads/users/jthackray/spr/aarch64-fix-more-typos-nfc
Home: https://github.com/llvm/llvm-project
Commit: 2fc0733805e3bdd8d37d35ba39763e646df88f52
https://github.com/llvm/llvm-project/commit/2fc0733805e3bdd8d37d35ba39763e646df88f52
Author: Guy David <guyda96 at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/faddv-fp16.ll
A llvm/test/CodeGen/AArch64/faddv.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd.ll
Log Message:
-----------
[AArch64] Decompose FADD reductions with known zero elements (#167313)
FADDV is matched into FADDPv4f32 + FADDPv2i32p but this can be relaxed
when one element (usually the 4th) or more are known to be zero.
Before:
```
movi d1, #0000000000000000
mov v0.s[3], v1.s[0]
faddp v0.4s, v0.4s, v0.4s
faddp s0, v0.2s
```
After:
```
mov s1, v0.s[2]
faddp s0, v0.2s
fadd s0, s0, s1
```
When all of the elements are zero, the intrinsic now simply reduces into
a constant instead of emitting two additions.
Commit: e55945556a1e99a7d6618735873d513a0239b2a0
https://github.com/llvm/llvm-project/commit/e55945556a1e99a7d6618735873d513a0239b2a0
Author: Tamas Kaman <tamas.kaman at arm.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
Log Message:
-----------
[scudo] Change header tagging for the secondary allocator (#182487)
When secondary allocator allocates a new chunk, the allocation is
prepended with a chunk header (common with the primary allocator)
and large header (only used for secondary).
Only the headers are tagged, the data is not, and the headers are
tagged individually as different tags are used for them.
In the current implementation while tagging the large header the unused
area is tagged with it, so the allocator can tag up to a page size (in
worst case), which is costly and does not bring security benefit (as the
area is unused).
With the current fix we can get rid of around 97-98% of the tagging for
the secondary allocator, measured with random benchmarks.
Co-authored-by: Christopher Ferris <cferris1000 at users.noreply.github.com>
Commit: 20ec9a9bb72560fe73706f46415dcfb118f9d265
https://github.com/llvm/llvm-project/commit/20ec9a9bb72560fe73706f46415dcfb118f9d265
Author: Saleem Abdulrasool <compnerd at compnerd.org>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/cmake/modules/AddClang.cmake
Log Message:
-----------
build: correct `MSVC` and Windows mixup for `CLANG_BUILD_STATIC` (#183609)
The build incorrectly used `MSVC` to determine that we were building for
Windows (MS ABI). This prevents the use of the GNU driver for building
LLVM for Windows. Adjust the condition to `WIN32 AND NOT MINGW` to
correctly identify that we are building for Windows MS ABI.
Commit: 7e39b280e8607e4bd09b87fb3271963803b4d02f
https://github.com/llvm/llvm-project/commit/7e39b280e8607e4bd09b87fb3271963803b4d02f
Author: Anonmiraj <ezzibrahimx at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/nextafter.h
A libc/shared/math/nextafterbf16.h
A libc/shared/math/nextafterf.h
A libc/shared/math/nextafterf128.h
A libc/shared/math/nextafterf16.h
A libc/shared/math/nextafterl.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/nextafter.h
A libc/src/__support/math/nextafterbf16.h
A libc/src/__support/math/nextafterf.h
A libc/src/__support/math/nextafterf128.h
A libc/src/__support/math/nextafterf16.h
A libc/src/__support/math/nextafterl.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/nextafter.cpp
M libc/src/math/generic/nextafterbf16.cpp
M libc/src/math/generic/nextafterf.cpp
M libc/src/math/generic/nextafterf128.cpp
M libc/src/math/generic/nextafterf16.cpp
M libc/src/math/generic/nextafterl.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor nextafter family to header-only (#181673)
closes #181672
Commit: 7c022af37ef2bc9deb60c6be93b7925028d39e8a
https://github.com/llvm/llvm-project/commit/7c022af37ef2bc9deb60c6be93b7925028d39e8a
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/report.cpp
M compiler-rt/lib/scudo/standalone/report.h
M compiler-rt/lib/scudo/standalone/tests/report_test.cpp
M compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
M compiler-rt/lib/scudo/standalone/wrappers_c.inc
M compiler-rt/lib/scudo/standalone/wrappers_c_checks.h
Log Message:
-----------
[scudo] Add reallocarray C wrapper. (#183385)
`reallocarray()` is a POSIX extension to C standard which wraps
`realloc` function and adds `calloc`-like overflow detection. It is
available in glibc and some other standard library implementations. Add
`reallocarray` to the list of Scudo C wrappers, so that the code that
depends on `reallocarray` presence will continue to work.
Commit: 5e6f0c45a851ccb53a7bf1847b967d3cd42de724
https://github.com/llvm/llvm-project/commit/5e6f0c45a851ccb53a7bf1847b967d3cd42de724
Author: Ankit Aggarwal <aankit at qti.qualcomm.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/test/Preprocessor/hexagon-predefines.c
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/TargetParser/Triple.cpp
Log Message:
-----------
[Clang][Hexagon] Add QURT as recognized OS in target triple (#183622)
Add support for the QURT as a recognized OS type in the LLVM triple
system, and define the __qurt__ predefined macro when targeting it.
Commit: 26b4c25b8bceb414471d825395e418636d9d17e7
https://github.com/llvm/llvm-project/commit/26b4c25b8bceb414471d825395e418636d9d17e7
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/stream.cpp
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang/include/flang/Optimizer/Builder/CUDAIntrinsicCall.h
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/CUDA/stream.h
M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
M flang/module/cuda_runtime_api.f90
M flang/test/Lower/CUDA/cuda-default-stream.cuf
Log Message:
-----------
[flang][cuda] Add support for cudaStreamDestroy (#183648)
Add specific lowering and entry point for cudaStreamDestroy. Since we
keep associated stream for some allocation, we need to reset it when the
stream is destroy so we don't use it anymore.
Commit: d149830b98f89787faa8a8cd2387e20b7cd7b0f2
https://github.com/llvm/llvm-project/commit/d149830b98f89787faa8a8cd2387e20b7cd7b0f2
Author: Ruiling, Song <ruiling.song at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
A llvm/test/CodeGen/AMDGPU/load-saddr-offset-imm.ll
Log Message:
-----------
[AMDGPU] Pre-Commit tests for handle mbcnt in computeKnownBitsFromOperator (#178607)
For PR #183229
Commit: 99c463512a0458ff1a1928d670cded3b320eb990
https://github.com/llvm/llvm-project/commit/99c463512a0458ff1a1928d670cded3b320eb990
Author: Shashi Shankar <shashishankar1687 at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Debug/DebugCounter.cpp
A mlir/test/mlir-opt/debugcounter-invalid-cl-options.mlir
Log Message:
-----------
[MLIR] Do not abort on invalid --mlir-debug-counter values (#181751)
Use `cl::Option::error()` diagnostics for invalid `--mlir-debug-counter`
arguments and exit with status 1 (no stack dump).
Added `mlir/test/mlir-opt/debugcounter-invalid-cl-options.mlir`
covering:
- non-numeric value (`-1n`)
- missing `=`
- missing `-skip`/`-count` suffix
Fixes #180117
Commit: 9b708b0032745ca6f8bbd0c6d39a7ecb9fad0310
https://github.com/llvm/llvm-project/commit/9b708b0032745ca6f8bbd0c6d39a7ecb9fad0310
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv-unsupported.mlir
Log Message:
-----------
[mlir][arith-to-spirv] Fix null dereference when converting trunci/extui with tensor types (#183654)
`getScalarOrVectorConstInt` only handles `VectorType` and `IntegerType`,
returning `nullptr` for any other type (e.g., a `RankedTensorType` that
slips through after type emulation maps `tensor<Nxi16>` to
`tensor<Nxi32>` with the same destination type). The callers in
`TruncIPattern` and `ExtUIPattern` passed this null value directly to
`spirv::BitwiseAndOp::create`, causing a null-pointer dereference in
`OperandStorage`.
Similarly, the signed-extension pattern passes the result of
`getScalarOrVectorConstInt` as a shift amount to
`ShiftLeftLogicalOp::create` without a null check.
Add `if (\!mask)` / `if (\!shiftSize)` guards that return a match
failure in all three cases, converting the crash into a proper
legalization failure.
Fixes #178214
Commit: 361e2359860e332ea669f53717c9759f8b3ca7e0
https://github.com/llvm/llvm-project/commit/361e2359860e332ea669f53717c9759f8b3ca7e0
Author: Twice <twice at apache.org>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/python/mlir/dialects/ext.py
M mlir/test/python/dialects/ext.py
Log Message:
-----------
[MLIR][Python] Support op adaptor for Python-defined operations (#183528)
Previously, in #177782, we added support for dialect conversion and
generated an `OpAdaptor` subtype for every ODS-defined operation. In
this PR, we will also generate `OpAdaptor` subtypes for Python-defined
operations, so that they can be applied in dialect conversion as well.
Commit: decb5d3ff6a1351fa16c1a6850c553d416b1495e
https://github.com/llvm/llvm-project/commit/decb5d3ff6a1351fa16c1a6850c553d416b1495e
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.h
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/EHScopeStack.h
M clang/test/CIR/CodeGen/goto.cpp
M clang/test/CIR/CodeGen/label-values.c
M clang/test/CIR/CodeGen/label.c
M clang/test/CIR/CodeGen/nrvo.cpp
M clang/test/CIR/CodeGen/vla.c
Log Message:
-----------
[CIR] Remove branch through cleanup fixups (#182953)
Because we are using a structured representation of cleanups in CIR, we
don't need to handle branching through cleanups during codegen. These
branches are created during CFG flattening instead. However, we had
already committed some code that copied the classic codegen behavior for
branching through cleanups. This change deletes that unneeded code.
The most significant change here is that when we encounter a return
statement we emit the return directly in the current location.
The coroutine implementation still creates a return block in the current
lexical scope and branches to that block. Cleaning up that
representation is left as future work.
The popCleanupBlock handling still has a significant amount of logic
that is carried over from the classic codegen implementation. It is left
in place until we can be sure we won't need it.
Commit: 408209275e63765d69ad752a55b15df5f6063f0a
https://github.com/llvm/llvm-project/commit/408209275e63765d69ad752a55b15df5f6063f0a
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopUnrollAndJam/dependencies.ll
Log Message:
-----------
[LoopUnrollAndJam] Update test dependencies.ll (NFC) (#183509)
Recent on-going works to fix the correctness issues in DA will affect
some existing regression tests for passes that rely on it. As a result,
the original intent of several tests will be lost.
This patch updates `dependencies.ll` to avoid such issues and preserve
its intent. Specifically, this patch changes the loop bounds from
parameters to constants, which allows SCEV to infer no-wrap flags for
the addrecs. Also this patch updates other minor issues in the test,
such as adding pseudo codes and removing some `nuw` to avoid UB.
Commit: b28ad9cb96c29bb3a4fab187a64a20a70709e2da
https://github.com/llvm/llvm-project/commit/b28ad9cb96c29bb3a4fab187a64a20a70709e2da
Author: Sam James <sam at gentoo.org>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/tools/llvm-dwp/Opts.td
Log Message:
-----------
[llvm-dwp] Fix typo in --help
Commit: c1d33452468d2728005ced20be550e617f24e6dd
https://github.com/llvm/llvm-project/commit/c1d33452468d2728005ced20be550e617f24e6dd
Author: Yue Huang <30948580+AdUhTkJm at users.noreply.github.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Analysis/Presburger/PWMAFunction.cpp
Log Message:
-----------
[MLIR][Presburger][NFC] Don't add empty regions when unioning PWMA functions (#182468)
This will prevent exponential behaviour in lexicographic maximum
computation, where the `tiebreak` predicate is very likely to return
empty regions.
Commit: 46b6c9744f840981fb06504c3bf5583021064402
https://github.com/llvm/llvm-project/commit/46b6c9744f840981fb06504c3bf5583021064402
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopUnrollAndJam/unroll-and-jam.ll
Log Message:
-----------
[LoopUnrollAndJam] Update test unroll-and-jam.ll (NFC) (#183520)
The test `unroll-and-jam.ll` has the following issues:
- Some functions use `%i` and `%I` as variable names, which UTC fails to
distinguish, causing it to update the assertions incorrectly.
- Some tests use parameters for loop bounds, which means they will start
failing in the near future due to the ongoing changes in DA.
To address these issues, this patch updates the test as follows:
- Renames certain variables to avoid the naming conflict.
- For the tests that will be affected by the DA changes, adds variants
with constant loop bounds.
Commit: c056d7c5d6ea076b38fa937c54ab44ce2e5a95e1
https://github.com/llvm/llvm-project/commit/c056d7c5d6ea076b38fa937c54ab44ce2e5a95e1
Author: Neha <151068751+nehaGautam07 at users.noreply.github.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
A clang/test/SemaCXX/crash-invalid-operator-template.cpp
Log Message:
-----------
[Sema] Fix crash on invalid operator template-id (#181404)
Add checks in GetNameFromUnqualifiedId to handle invalid TemplateId
cases safely. This avoids a crash when handling an invalid template-id
during error recovery and allows normal error reporting to continue.
Fixes #177549
Commit: 8f9c926868d1e9a53e392f430f7cd68bd49bb997
https://github.com/llvm/llvm-project/commit/8f9c926868d1e9a53e392f430f7cd68bd49bb997
Author: theRonShark <ron.lieberman at amd.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
R llvm/test/Transforms/LoopUnroll/AMDGPU/unroll-runtime.ll
Log Message:
-----------
Revert "AMDGPU: Fix runtime unrolling when cascaded GEPs present (#14… (#183641)
…7700)"
slows down llama.cpp
This reverts commit cff4a00d3f7d91c0dd3a93eb81db66be178273d3.
Commit: 8d5b74db2d8f54da2609d18040504153c1afe5df
https://github.com/llvm/llvm-project/commit/8d5b74db2d8f54da2609d18040504153c1afe5df
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
Log Message:
-----------
[DenseMap] Add memory barrier for sanitizers in getInlineBuckets/getLargeRep
Add a compiler memory barrier to prevent optimizations from triggering
false positives on partially poisoned buckets in (HW)ASan.
Fixes #182720.
Pull Request: https://github.com/llvm/llvm-project/pull/183457
Commit: 5929c9040fac0b9044080e50d683110104d600f4
https://github.com/llvm/llvm-project/commit/5929c9040fac0b9044080e50d683110104d600f4
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
Log Message:
-----------
[mlir][vector] Fix fold result for empty vector.mask with no results (#180345)
This PR fixes `foldEmptyMaskOp` to return `failure` when folding an
empty vector.mask whose terminatorhas no operands. Previously this case
returned success without producing any folded results, which violates
the folding contract. Fixes #177825.
Commit: b354b206d3bef08d254713c027e235c0251eebdb
https://github.com/llvm/llvm-project/commit/b354b206d3bef08d254713c027e235c0251eebdb
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/Driver/SanitizerArgs.cpp
M clang/test/Driver/fsanitize-minimal-runtime.c
M compiler-rt/test/safestack/overflow.c
Log Message:
-----------
[SafeStack] Allow -fsanitize-minimal-runtime with -fsanitize=safestack (#183644)
SafeStack does not require a full sanitizer runtime, so it should be
compatible
with the minimal runtime flag.
Commit: f30dfe7de4c3c584ae470425e96bac41676ddc69
https://github.com/llvm/llvm-project/commit/f30dfe7de4c3c584ae470425e96bac41676ddc69
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/tools/mlir-tblgen/OpDocGen.cpp
Log Message:
-----------
Revert "[mlir-tblgen] Remove `namespace {}` around OpDocGroup (#182721)" (#183458)
Reverts #182721, it's not needed after #183457.
It was a work around for #182720.
This reverts commit a0f344f69d7eb5d87dd78c628a196a3a7440e792.
Commit: 77600cbd9798bfde4949d047609866ebb6a7fd25
https://github.com/llvm/llvm-project/commit/77600cbd9798bfde4949d047609866ebb6a7fd25
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/test/Dialect/XeGPU/propagate-layout-inst-data.mlir
M mlir/test/Dialect/XeGPU/propagate-layout.mlir
Log Message:
-----------
[MLIR][XeGPU] XeGPU Layout adds support for fractional-subgroup-size vector (#183434)
This PR enhances the layout assignment for XeGPU load/store operations
to handle vector size smaller than subgroup size.
Say for vector[4], in case of lane_data=[1], lane_layout=[4] and
inst_data=[4].
The fractional-subgroup-size vector support is required to support the
cross-subgroup reduction case. The number of participant subgroups in
reduction can be small, so it causes each subgroup needs to reduce a
small vector size, often a fraction of subgroup size.
Most layout-based subgroup distribution patterns support
fraction-subgroup-size without no change except a few: reduction,
insert/extract, constant. We don't expect ND operations (like
load_nd/store_nd/dpas) accept fractional-subgroup-size vector.
Commit: 07007b7c8d9eb4d3c4da4eb150aeae8d83c0f1f3
https://github.com/llvm/llvm-project/commit/07007b7c8d9eb4d3c4da4eb150aeae8d83c0f1f3
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
Log Message:
-----------
[lldb] Don't add remap entries for empty segments (#183651)
There are some binaries in the shared cache with a zero-length segment,
or segments who get mapped to lldb address 0 to indicate a failure. Do
not add entries to the VirtualDataExtractor's LookupTablefor those -
they
are not readable.
rdar://171106338
Commit: 86b99eff8c4d2fc8b3391a67d2ba88b0840f6fea
https://github.com/llvm/llvm-project/commit/86b99eff8c4d2fc8b3391a67d2ba88b0840f6fea
Author: Yanzuo Liu <zwuis at outlook.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
R clang/test/SemaCXX/crash-invalid-operator-template.cpp
Log Message:
-----------
Revert "[Sema] Fix crash on invalid operator template-id (#181404)" (#183682)
Reverts llvm/llvm-project#181404
(c056d7c5d6ea076b38fa937c54ab44ce2e5a95e1) because of post-commit ci
failure.
Commit: ed8f080737dec39212cad72100670c3a21de7720
https://github.com/llvm/llvm-project/commit/ed8f080737dec39212cad72100670c3a21de7720
Author: raycppwizard <raycppwizard at foxmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/www/cxx_status.html
Log Message:
-----------
[Clang][docs] Fix proposal number typo for P1847R4 (#183671)
This PR fixes a typo in `clang/www/cxx_status.html`.
The link text for the feature "Make declaration order layout mandated"
incorrectly referred to **P1874R4**, while the actual URL
(https://wg21.link/p1847r4) and the feature name correctly point to
**P1847R4**.
This change corrects the displayed text to match the proposal number.
Commit: 32134a64b195f7804698418b6f416e761d890dea
https://github.com/llvm/llvm-project/commit/32134a64b195f7804698418b6f416e761d890dea
Author: Jacques Pienaar <jacques+gh at japienaar.info>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialectBytecode.cpp
A mlir/test/mlir-tblgen/bytecode-write.td
M mlir/tools/mlir-tblgen/BytecodeDialectGen.cpp
Log Message:
-----------
[mlirbc] Switch generator to enable write's with failures. (#182464)
Previously one had to have a matching case per entry (e.g., one could
use a printer predicate, but the assumption was one woujld never
fallback) and just always return success.
Commit: 192acd6d536cbbb57f778bd996401716ec51d439
https://github.com/llvm/llvm-project/commit/192acd6d536cbbb57f778bd996401716ec51d439
Author: Rana Pratap Reddy <109514914+ranapratap55 at users.noreply.github.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.td
A clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-wmma-f16.hip
Log Message:
-----------
[Clang][AMDGPU] Change __fp16 to _Float16 in GFX1250 WMMA/SWMMAC builtin definitions (#183493)
Change the type signature of `gfx1250 WMMA/SWMMAC` builtins from
`__fp16` to `_Float16` in the tablegen builtin definitions.
Commit: b0b3e3e1c7f6387eabc2ef9ff1fea311e63a4299
https://github.com/llvm/llvm-project/commit/b0b3e3e1c7f6387eabc2ef9ff1fea311e63a4299
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/ARM/active-lane-mask.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-hoist-runtime-checks.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-vmla.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-saddsatcost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/predicated-reverse-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reductions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-complex-mask.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-iv32.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-known-no-overflow.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/VPlan/PowerPC/vplan-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/VPlan/X86/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/X86/fold-tail-low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags-interleave.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-optimize-vector-induction-width.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
M llvm/test/Transforms/LoopVectorize/use-scalar-epilogue-if-tp-fails.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_add_q7.ll
Log Message:
-----------
[VPlan] Don't drop NUW flag on tail folded canonical IVs (#183301)
After #183080 vscale can no longer be a non-power of 2, which means the
canonical IV can't overflow with tail folding w/ scalable vectors
anymore. Therefore we don't need to drop the NUW flag.
IVUpdateMayOverflow is left to be removed in a separate PR since it
removes further runtime checks.
Commit: a5bbedf522d4f75d4e4e5c0a9c8a92349f3b5a4b
https://github.com/llvm/llvm-project/commit/a5bbedf522d4f75d4e4e5c0a9c8a92349f3b5a4b
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reductions-tf.ll
Log Message:
-----------
[LV] Convert test to UTC. NFC
Commit: 92704064e585247bbdd77be24ca3e8b8080f1580
https://github.com/llvm/llvm-project/commit/92704064e585247bbdd77be24ca3e8b8080f1580
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
Log Message:
-----------
[VectorCombine][X86] Ensure we recognise free sign extends of vector comparison results (#183575)
Unless we're working with AVX512 mask predicate types, sign extending a
vXi1 comparison result back to the width of the comparison source types
is free.
VectorCombine::foldShuffleOfCastops - pass the original CastInst in the
getCastInstrCost calls to track the source comparison instruction.
Fixes #165813
Commit: 058705bf76af61b5f8bba3005073331cecb8733e
https://github.com/llvm/llvm-project/commit/058705bf76af61b5f8bba3005073331cecb8733e
Author: Steffen Larsen <sholstla at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
Log Message:
-----------
[Clang][NFCI] Make program state GDM key const pointer (#183477)
This commit makes the GDM key in ProgramState a constant pointer. This
is done to better reflect the intention of the key as a unique
identifier for the data stored in the GDM, and to prevent the use of the
storage pointed to by the key as global state.
Signed-off-by: Steffen Holst Larsen <sholstla at amd.com>
Commit: 5af5bd4f9867336b2616aa84ad73368d18b945eb
https://github.com/llvm/llvm-project/commit/5af5bd4f9867336b2616aa84ad73368d18b945eb
Author: Mahesh-Attarde <mahesh.attarde at intel.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAMX.td
M llvm/lib/Target/X86/X86PreTileConfig.cpp
Log Message:
-----------
[AMX][NFC] Match pseudo name with isa (#182235)
Adds missing suffix to clear intent for isa.
we switch from `TILEMOVROWrre` to `TILEMOVROWrte` in
https://github.com/llvm/llvm-project/pull/168193 , however pseudo was
same, updating pseudo to intent right isa version, This patch makes
changes `PTILEMOVROWrre` to `PTILEMOVROWrte`, even though pseudo does
not actually have any tile register.
---------
Co-authored-by: mattarde <mattarde at intel.com>
Commit: a1f83ba1b6a7b78ffa1a02b3ededab44be08150f
https://github.com/llvm/llvm-project/commit/a1f83ba1b6a7b78ffa1a02b3ededab44be08150f
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[LV] NFCI: Move extend optimization to transformToPartialReduction. (#182860)
The reason for doing this in `transformToPartialReduction` is so that we
can create the VPExpressions directly when transforming reductions into
partial reductions (to be done in a follow-up PR).
I also intent to see if we can merge the in-loop reductions with partial
reductions, so that there will be no need for the separate
`convertToAbstractRecipes` VPlan Transform pass.
Commit: c690414f83695d2000c31bc9eafb941a1f84aae9
https://github.com/llvm/llvm-project/commit/c690414f83695d2000c31bc9eafb941a1f84aae9
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode][NFC] Refactor visitDeclRef() (#183690)
Move the `!VD` case up so we can assume `VD` to be non-null earlier and
use a local variable instead of calling `D->getType()` several times.
Commit: 16aa1900ef8fe0ac64a60d681adf4bcbaa7d864b
https://github.com/llvm/llvm-project/commit/16aa1900ef8fe0ac64a60d681adf4bcbaa7d864b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.h
Log Message:
-----------
[clang][bytecode][NFC] Print more info in Pointer::operator<< (#183691)
So we know whether a pointer is a dummy and alive.
Commit: d43213fe801213beb23b03f9d5297e791b4e8826
https://github.com/llvm/llvm-project/commit/d43213fe801213beb23b03f9d5297e791b4e8826
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/ARM/active-lane-mask.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-hoist-runtime-checks.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-vmla.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-saddsatcost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/predicated-reverse-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reductions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-complex-mask.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-iv32.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-known-no-overflow.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/VPlan/PowerPC/vplan-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/VPlan/X86/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/X86/fold-tail-low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags-interleave.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-optimize-vector-induction-width.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
M llvm/test/Transforms/LoopVectorize/use-scalar-epilogue-if-tp-fails.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_add_q7.ll
Log Message:
-----------
Revert "[VPlan] Don't drop NUW flag on tail folded canonical IVs (#183301)" (#183698)
This reverts commit b0b3e3e1c7f6387eabc2ef9ff1fea311e63a4299.
After thinking about this for a bit, I don't think this is correct.
vscale being a power-of-2 only guarantees the canonical IV increment
overflows to zero, but not overflows in general.
Commit: f71bd1c74fe8d86b007bbe683012e5b5b072091b
https://github.com/llvm/llvm-project/commit/f71bd1c74fe8d86b007bbe683012e5b5b072091b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/EvaluationResult.cpp
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Record.cpp
M clang/lib/AST/ByteCode/Record.h
Log Message:
-----------
[clang][bytecode] Add `Record::hasPtrField()` (#183513)
So we can short-circuit the checking in
`EvaluationResult::collectBlock()`. This improves the compile time of
`X86Disassembler.cpp` by roughly 3.8%:
https://llvm-compile-time-tracker.com/compare_clang.php?from=d69c6a8528c60a8f8013651ff18ed4882f6e6836&to=b8b6333551d7c644e3c1b00ed19aceea09da40cc&stat=instructions%3Au
Commit: 4147cd29e1f2ecbc3bcd609b23d02ddd7fab4502
https://github.com/llvm/llvm-project/commit/4147cd29e1f2ecbc3bcd609b23d02ddd7fab4502
Author: hanbeom <kese111 at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
M llvm/test/CodeGen/WebAssembly/load-ext.ll
M llvm/test/CodeGen/WebAssembly/offset-fastisel.ll
Log Message:
-----------
[WebAssembly][FastISel] Emit signed loads for sext of i8/i16/i32 (#182767)
FastISel currently defaults to unsigned loads for i8/i16/i32 types,
leaving any sign-extension to be handled by a separate instruction. This
patch optimizes this by folding the SExtInst into the LoadInst, directly
emitting a signed load (e.g., i32.load8_s).
When a load has a single SExtInst use, selectLoad emits a signed load
and safely removes the redundantly emitted SExtInst.
Fixed: #180783
Commit: 28cbc682a9117013bcbdeeb24f0ad4f83f94a7c3
https://github.com/llvm/llvm-project/commit/28cbc682a9117013bcbdeeb24f0ad4f83f94a7c3
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
Log Message:
-----------
[NFC][analyzer] Remove NodeBuilders: part I (#183354)
This commit simplifies some parts of the engine by replacing short-lived
`NodeBuilder`s with `CoreEngine::makeNode`.
Additionally, the three-argument overload of `CoreEngine::enqueue` is
renamed to `enqueueStmtNodes` to highlight that it just calls
`enqueueStmtNode` in a loop.
Commit: 9e95cff5155a0a8524f2181dc9545ed7902ef6c1
https://github.com/llvm/llvm-project/commit/9e95cff5155a0a8524f2181dc9545ed7902ef6c1
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/IR/RuntimeLibcalls.cpp
A llvm/test/CodeGen/AArch64/veclib-llvm.pow.ll
M llvm/test/Transforms/Util/DeclareRuntimeLibcalls/armpl.ll
Log Message:
-----------
[AArch64] Add vector expansion support for ISD::FPOW when using ArmPL (#183526)
This patch is split off from PR #183319 and teaches the backend how to
lower the FPOW DAG node to the vector math library function when using
ArmPL. This is similar to what we already do for llvm.sincos/FSINCOS
today.
Commit: 7a5ba652f08b890217b1d551b6c8e686a7b5379f
https://github.com/llvm/llvm-project/commit/7a5ba652f08b890217b1d551b6c8e686a7b5379f
Author: Folkert de Vries <folkert at folkertdev.nl>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/select-bitcast.ll
Log Message:
-----------
[AArch64] optimize vselect of bitcast (#180375)
Using code/ideas from the x86 backend to optimize a select on a bitcast
integer. The previous aarch64 approach was to individually extract the
bits from the mask, which is kind of terrible.
https://rust.godbolt.org/z/576sndT66
```llvm
define void @if_then_else8(ptr %out, i8 %mask, ptr %if_true, ptr %if_false) {
start:
%t = load <8 x i32>, ptr %if_true, align 4
%f = load <8 x i32>, ptr %if_false, align 4
%m = bitcast i8 %mask to <8 x i1>
%s = select <8 x i1> %m, <8 x i32> %t, <8 x i32> %f
store <8 x i32> %s, ptr %out, align 4
ret void
}
```
turned into
```asm
if_then_else8: // @if_then_else8
sub sp, sp, #16
ubfx w8, w1, #4, #1
and w11, w1, #0x1
ubfx w9, w1, #5, #1
fmov s1, w11
ubfx w10, w1, #1, #1
fmov s0, w8
ubfx w8, w1, #6, #1
ldp q5, q2, [x3]
mov v1.h[1], w10
ldp q4, q3, [x2]
mov v0.h[1], w9
ubfx w9, w1, #2, #1
mov v1.h[2], w9
ubfx w9, w1, #3, #1
mov v0.h[2], w8
ubfx w8, w1, #7, #1
mov v1.h[3], w9
mov v0.h[3], w8
ushll v1.4s, v1.4h, #0
ushll v0.4s, v0.4h, #0
shl v1.4s, v1.4s, #31
shl v0.4s, v0.4s, #31
cmlt v1.4s, v1.4s, #0
cmlt v0.4s, v0.4s, #0
bsl v1.16b, v4.16b, v5.16b
bsl v0.16b, v3.16b, v2.16b
stp q1, q0, [x0]
add sp, sp, #16
ret
```
With this PR that instead emits
```asm
if_then_else8:
adrp x8, .LCPI0_1
dup v0.4s, w1
ldr q1, [x8, :lo12:.LCPI0_1]
adrp x8, .LCPI0_0
ldr q2, [x8, :lo12:.LCPI0_0]
ldp q4, q3, [x2]
and v1.16b, v0.16b, v1.16b
and v0.16b, v0.16b, v2.16b
ldp q5, q2, [x3]
cmeq v1.4s, v1.4s, #0
cmeq v0.4s, v0.4s, #0
bsl v1.16b, v2.16b, v3.16b
bsl v0.16b, v5.16b, v4.16b
stp q0, q1, [x0]
ret
```
So substantially shorter. Instead of building the mask
element-by-element, this approach (by virtue of not splitting) instead
splats the mask value into all vector lanes, performs a bitwise and with
powers of 2, and compares with zero to construct the mask vector.
cc https://github.com/rust-lang/rust/issues/122376
cc https://github.com/llvm/llvm-project/pull/175769
Commit: 10b48e41e7d7455a68c00ac52442f994d7c51ffe
https://github.com/llvm/llvm-project/commit/10b48e41e7d7455a68c00ac52442f994d7c51ffe
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/get_active_lane_mask.ll
Log Message:
-----------
[InstCombine] Combine extract from get_active_lane_mask where all lanes inactive (#183329)
When extracting a subvector from the result of a get_active_lane_mask, return
a constant zero vector if it can be proven that all lanes will be inactive.
For example, the result of the extract below will be a subvector where
every lane is inactive if X & Y are const, and `Y * VScale >= X`:
vector.extract(get.active.lane.mask(Start, X), Y)
Commit: 294cf1f6b49b56795757f1392d705cdb78cd1d06
https://github.com/llvm/llvm-project/commit/294cf1f6b49b56795757f1392d705cdb78cd1d06
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/fnabs.ll
Log Message:
-----------
[X86] fnabs.ll - regenerate test checks and add AVX512 test coverage (#183709)
Commit: 5e1d99158e0bccc1b1de34c66f7b48a65c5a6116
https://github.com/llvm/llvm-project/commit/5e1d99158e0bccc1b1de34c66f7b48a65c5a6116
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/stack-align.ll
Log Message:
-----------
[X86] stack-align.ll - regenerate test checks with no address scrubing (#183712)
Commit: d6fcf47a893475f6f3dbcace29093297b7e9f366
https://github.com/llvm/llvm-project/commit/d6fcf47a893475f6f3dbcace29093297b7e9f366
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M libcxx/include/__vector/vector.h
M libcxx/test/std/containers/sequences/vector/vector.modifiers/append_range.pass.cpp
Log Message:
-----------
[libc++] Fix vector::append_range growing before the capacity is reached (#183264)
Currently `vector::append_range` grows even when appending a number of
elements that is exactly equal to its spare capacity, which is
guaranteed by the standard to _not_ happen.
Fixes #183256
Commit: 250ebfc3068819b22706010940724822ac6a426d
https://github.com/llvm/llvm-project/commit/250ebfc3068819b22706010940724822ac6a426d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/vec-copysign-avx512.ll
M llvm/test/CodeGen/X86/vec_fcopysign.ll
Log Message:
-----------
[X86] regenerate fcopysign test checks (#183710)
Fix vpternlog comments
Commit: 1afd7d40afe33c2e7256210e07390cc0903a7069
https://github.com/llvm/llvm-project/commit/1afd7d40afe33c2e7256210e07390cc0903a7069
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/test/CodeGen/AMDGPU/promote-alloca-vector-gep.ll
Log Message:
-----------
[AMDGPU] Support i8/i16 GEP indices when promoting allocas to vectors (#175489)
Allow promote alloca to vector to form a vector element index from
i8/i16
GEPs when the dynamic offset is known to be element size aligned.
Example:
```llvm
%alloca = alloca <3 x float>, addrspace(5)
%idx = select i1 %idx_select, i32 0, i32 4
%p = getelementptr inbounds i8, ptr addrspace(5) %alloca, i32 %idx
```
Or:
```llvm
%alloca = alloca <3 x float>, addrspace(5)
%idx = select i1 %idx_select, i32 0, i32 2
%p = getelementptr inbounds i16, ptr addrspace(5) %alloca, i32 %idx
```
Commit: 5e30ff9e70becff834e1e0bbe22d3821630460e2
https://github.com/llvm/llvm-project/commit/5e30ff9e70becff834e1e0bbe22d3821630460e2
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M lldb/test/API/functionalities/dyld-launch-linux/TestDyldLaunchLinux.py
Log Message:
-----------
[lldb][test] Re-enable TestDyldLaunchLinux.py for Linux/Arm (#181221)
The test was disabled in c55e021d, but it now passes, with both remote
and local runs.
Commit: b9f2a489607cc8e9d7717450b1e32145cdb93ee9
https://github.com/llvm/llvm-project/commit/b9f2a489607cc8e9d7717450b1e32145cdb93ee9
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/include/llvm/Analysis/MemorySSA.h
M llvm/lib/Analysis/MemorySSA.cpp
M llvm/lib/Analysis/MemorySSAUpdater.cpp
Log Message:
-----------
[MemorySSA] Make `getBlockDefs` and `getBlockAccesses` return a non-const list (NFC)
As per discussion at https://github.com/llvm/llvm-project/pull/181709#discussion_r2847595945,
users may already get a non-const MemoryAccess pointer via
`getMemoryAccess` for a given instruction. Drop the restriction
on directly iterate over them by modifying public `getBlockDefs`/
`getBlockAccesses` APIs to return a mutable list, thus dropping the
now obsolete distinction with `getWritableBlockDefs` and
`getWritableBlockAccesses` helpers.
Commit: 49f4232a7d73062de3796dec06bb34bf6842245b
https://github.com/llvm/llvm-project/commit/49f4232a7d73062de3796dec06bb34bf6842245b
Author: idubinov <53053614+idubinov at users.noreply.github.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULaneMaskUtils.h
Log Message:
-----------
[AMDGPU] Remove unused CmpLGOp instruction (#180195)
The instruction was accidentally added, remove it.
Rename OrN2Op to OrN2Opc for consistency with other names
Commit: e7bc02d9a49fe988daa5f149f30a8b3e06cbe348
https://github.com/llvm/llvm-project/commit/e7bc02d9a49fe988daa5f149f30a8b3e06cbe348
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/trip-count-scalable-stride.ll
Log Message:
-----------
[SCEV] Always return true for isKnownToBeAPowerOfTwo for SCEVVScale (#183693)
After #183080 vscale is always a power of two, so we don't need to check
for the vscale_range attribute.
Commit: 98825908fc51f0226b38381520ba2a4f5f1f36e9
https://github.com/llvm/llvm-project/commit/98825908fc51f0226b38381520ba2a4f5f1f36e9
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/test/Dialect/Affine/canonicalize.mlir
Log Message:
-----------
[mlir][affine] Fix crash in linearize_index fold when basis is ub.poison (#183650)
`foldCstValueToCstAttrBasis` iterates the folded dynamic basis values
and erases any operand whose folded attribute is non-null (i.e., was
constant- folded). When an operand folds to `ub.PoisonAttr`, the
attribute is non-null so the operand was erased from the dynamic operand
list. However, `getConstantIntValue` on the corresponding `OpFoldResult`
in `mixedBasis` returns `std::nullopt` for poison (it is not an integer
constant), so the position was left as `ShapedType::kDynamic` in the
returned static basis.
This left the op in an inconsistent state: the static basis claimed one
more dynamic entry than actually existed. A subsequent call to
`getMixedBasis()` triggered the assertion inside `getMixedValues`.
Fix by skipping poison attributes in the erasure loop, treating them
like non-constant values. This keeps the dynamic operand and its
matching `kDynamic` entry in the static basis consistent.
Fixes #179265
Commit: c5c0fe663c7ba55982422940a489cde15f8d2497
https://github.com/llvm/llvm-project/commit/c5c0fe663c7ba55982422940a489cde15f8d2497
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Remove non-power-of-2 scalable VF comment. NFC (#183719)
No longer holds after #183080
Commit: 14f73345ff0caa0694e9033d0c805f9cfa7ff519
https://github.com/llvm/llvm-project/commit/14f73345ff0caa0694e9033d0c805f9cfa7ff519
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Analysis/DataFlow/IntegerRangeAnalysis.cpp
M mlir/test/Dialect/Arith/int-range-narrowing.mlir
Log Message:
-----------
[mlir][dataflow] Fix crash in IntegerRangeAnalysis with non-constant loop bounds (#183660)
When visiting non-control-flow arguments of a LoopLikeOpInterface op,
IntegerRangeAnalysis assumed that getLoopLowerBounds(),
getLoopUpperBounds(), and getLoopSteps() always return non-null values
when getLoopInductionVars() is non-null. This assumption is incorrect:
for example, AffineForOp returns nullopt from getLoopUpperBounds() when
the upper bound is not a constant affine expression (e.g., a dynamic
index from a tensor.dim).
Fix this by checking whether the bound optionals are engaged before
dereferencing them and falling back to the generic analysis if any bound
is unavailable.
Fixes #180312
Commit: 1a6bd39fd49868c5024db908cc194397f3415029
https://github.com/llvm/llvm-project/commit/1a6bd39fd49868c5024db908cc194397f3415029
Author: lonely eagle <2020382038 at qq.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M flang/test/Lower/HLFIR/goto-do-body.f90
M flang/test/Lower/volatile3.f90
Log Message:
-----------
[flang] Use CHECK-DAG to check constants (NFC) (#183687)
It is part of https://github.com/llvm/llvm-project/pull/180556, as a
separate NFC PR
Commit: 4d169f38cab5071cd0e6233c1170cc02c95edff1
https://github.com/llvm/llvm-project/commit/4d169f38cab5071cd0e6233c1170cc02c95edff1
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Clarify in vscale_range that vscale is a power-of-two without the attribute (#183689)
Previously vscale_range used to add the constraint that vscale is a
power-of-two, but after #183080 it's already a power-of-two to begin
with.
This clarifies the sentence about assumptions when there is no attribute
Commit: 6b91049f44d21c5810703ccee23672875001d5ad
https://github.com/llvm/llvm-project/commit/6b91049f44d21c5810703ccee23672875001d5ad
Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
A clang/test/CodeGen/c23-constexpr-member-access.c
A clang/test/Sema/constexpr-member-access.c
Log Message:
-----------
[Clang] support C23 constexpr struct member access in constant expressions (#182770)
Fixes #178349
---
This patch resolves an issue where accessing C23 `constexpr` struct
members using the dot operator was not recognized as a constant
expression.
According to C23 spec:
> 6.6p7:
>
> An identifier that is:
> — an enumeration constant,
> — a predefined constant, or
> — declared with storage-class specifier constexpr and has an object
type,
> is a named constant, as is a postfix expression that applies the .
member access operator to a named
> constant of structure or union type, even recursively. For enumeration
and predefined constants,
> their value and type are defined in the respective clauses; for
constexpr objects, such a named
> constant is a constant expression with the type and value of the
declared object.
>
> § 6.6p13:
>
> A structure or union constant is a named constant or compound literal
constant with structure or
> union type, respectively
>
> § 6.6p15:
>
> Starting from a structure or union constant, the member-access .
operator may be used to form a
> named constant or compound literal constant as described previously in
this subclause
Commit: 3676ae43bff9159ab509654bd13c9145752a05b9
https://github.com/llvm/llvm-project/commit/3676ae43bff9159ab509654bd13c9145752a05b9
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
Log Message:
-----------
[NFC][SPIRV] Remove dead code from `SPIRVPostLegalizer.cpp` (#183585)
Both `visit` functions are unused in the file and outside of it.
Commit: d8671280d4bf4a598e0bc640a4608f7ac0089842
https://github.com/llvm/llvm-project/commit/d8671280d4bf4a598e0bc640a4608f7ac0089842
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs-apple.ll
M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/select-index.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-constant-known-via-scev.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/pr131359-dead-for-splice.ll
M llvm/test/Transforms/LoopVectorize/X86/pr54634.ll
M llvm/test/Transforms/LoopVectorize/X86/replicating-load-store-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
M llvm/test/Transforms/LoopVectorize/X86/widened-value-used-as-scalar-and-first-lane.ll
M llvm/test/Transforms/LoopVectorize/assume.ll
M llvm/test/Transforms/LoopVectorize/cse-gep-source-element-type.ll
M llvm/test/Transforms/LoopVectorize/find-last-iv-interleave.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags-interleave.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/metadata.ll
M llvm/test/Transforms/LoopVectorize/noalias-scope-decl.ll
M llvm/test/Transforms/LoopVectorize/pr45679-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
M llvm/test/Transforms/LoopVectorize/scalable-assume.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
M llvm/test/Transforms/LoopVectorize/select-index-interleaving.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
Log Message:
-----------
[VPlan] Add nuw to unrolled canonical IVs (#183716)
After #183080, the canonical IV (not the increment!) can't overflow. So
now canonical IVs that are unrolled will have steps that don't overflow,
so we can add the nuw flag.
This allows us to tighten the VPlanVerifier isKnownMonotonic check by
restricting it to adds with nuw.
Commit: fc69531254ca9e81fd4371c68e7fd74fe4b9527a
https://github.com/llvm/llvm-project/commit/fc69531254ca9e81fd4371c68e7fd74fe4b9527a
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/ExecutionEngine/ExecutionEngine.cpp
M llvm/test/ExecutionEngine/Interpreter/test-interp-vec-insertelement.ll
Log Message:
-----------
[LLVM][ExecutionEngine] Add vector ConstantInt/FP support to getConstantValue(). (#182538)
Unify vector constant handling via calls to getAggregateElement rather
than handling each constant type separately.
Commit: e3dda81e2a802112fb9b3129ec34d1103e5ed5d6
https://github.com/llvm/llvm-project/commit/e3dda81e2a802112fb9b3129ec34d1103e5ed5d6
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M flang/include/flang/Parser/openmp-utils.h
Log Message:
-----------
[flang][OpenMP] Add `is_range<R>` trait to detect classes with begin/end, NFC (#183615)
Commit: 2f4624613d05b2982dccc99ac0a06e87e6f3efd0
https://github.com/llvm/llvm-project/commit/2f4624613d05b2982dccc99ac0a06e87e6f3efd0
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/test/Analysis/malloc-annotations.c
Log Message:
-----------
[analyzer] Fix crash in MallocChecker when a function has both ownership_returns and ownership_takes (#183583)
When a function was annotated with both `ownership_returns` and
`ownership_takes` (or `ownership_holds`), MallocChecker::evalCall would
fall into the freeing-only branch (isFreeingOwnershipAttrCall) and call
checkOwnershipAttr without first calling MallocBindRetVal. That meant no
heap symbol had been conjured for the return value, so
checkOwnershipAttr later dereferenced a null/invalid symbol and crashed.
Fix: merge the two dispatch branches so that MallocBindRetVal is always
called first whenever ownership_returns is present, regardless of
whether the function also carries ownership_takes/ownership_holds.
The crash was introduced in #106081
339282d49f5310a2837da45c0ccc19da15675554.
Released in clang-20, and crashing ever since.
Fixes #183344.
Assisted-By: claude
Commit: 8a0be0bc3772e8ed06b9a17255e0cfb25539f125
https://github.com/llvm/llvm-project/commit/8a0be0bc3772e8ed06b9a17255e0cfb25539f125
Author: bala-bhargav <penugondabalabharghav at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/gfni-xor-fold-avx512.ll
M llvm/test/CodeGen/X86/gfni-xor-fold.ll
Log Message:
-----------
[X86] Fold XOR of two vgf2p8affineqb instructions with same input (#179900)
This patch implements an optimization to fold XOR of two
`vgf2p8affineqb` instructions operating on the same input.
This optimization:
Reduces instruction count from 3 to 2
Eliminates one vgf2p8affineqb instruction
Added combineXorWithTwoGF2P8AFFINEQB function in X86ISelLowering.cpp
Uses sd_match pattern matching for consistency with existing code
Checks that both operations have single use to avoid code bloat
Verifies both operations use the same input
Handles commutative XOR patterns automatically
Commit: dc2ec04342de45b29ac7a170952776b2b3a0011f
https://github.com/llvm/llvm-project/commit/dc2ec04342de45b29ac7a170952776b2b3a0011f
Author: Nico Weber <thakis at chromium.org>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/lldb/include/lldb/Host/BUILD.gn
Log Message:
-----------
[gn] port 3490d28c8cab
Commit: 20df251af50b4cb8cad2fcdb94e723f1debaddc4
https://github.com/llvm/llvm-project/commit/20df251af50b4cb8cad2fcdb94e723f1debaddc4
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[LLVM][Runtimes] Add 'llvm-gpu-loader' to dependency list (#183601)
Summary:
This is used to run the unit tests in libc / libc++. It must exist in
the build directory's binary path, but without this dependnecy we may
not build it before running the runtimes build. This should ensure that
it's present, and only if we have tests enabled.
Commit: bf3ab0d873bf72dd0d73cb8975e642429ab95ea1
https://github.com/llvm/llvm-project/commit/bf3ab0d873bf72dd0d73cb8975e642429ab95ea1
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
Log Message:
-----------
[AMDGPU][Scheduler] Add `GCNRegPressure`-based methods to `GCNRPTarget` (#182853)
This adds a few methods to `GCNRPTarget` that can estimate/perform RP
savings based on `GCNRegPressure` instead of a single `Register`,
opening the door to model/incorporate more complex savings made up of
multiple registers of potentially different classes. The scheduler's
rematerialization stage now uses this new API.
Although there are no test changes this is not really NFC since register
pressure savings in the rematerialization stage are now computed through
`GCNRegPressure` instead of the stage itself. If anything this makes
them more consistent with the rest of the RP-tracking infrastructure.
Commit: 9210d701cbf07dad8a08743c953e0faf4f938699
https://github.com/llvm/llvm-project/commit/9210d701cbf07dad8a08743c953e0faf4f938699
Author: Scott Linder <scott.linder at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
A llvm/test/CodeGen/MIR/Generic/expected-unsigned.mir
Log Message:
-----------
[MIR] Error on signed integer in getUnsigned (#183171)
Previously we effectively took the absolute value of the APSInt, instead
diagnose the unexpected negative value.
Change-Id: I4efe961e7b29fdf1d5f97df12f8139aac12c9219
Commit: 7402312ae12d91df436486ca296119607a81edd0
https://github.com/llvm/llvm-project/commit/7402312ae12d91df436486ca296119607a81edd0
Author: idubinov <igor.dubinov at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
Log Message:
-----------
[NFC][SPIRV] Fix compile warnings (#183725)
Fix compile warnings in SPIR-V
```
llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp:2882:26: warning: enumerated and non-enumerated type in conditional expression [-Wextra]
2882 | return IsFloatTy ? SPIRV::OpGroupNonUniformFMax : IntOp;
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp: In lambda function:
llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp:2897:26: warning: enumerated and non-enumerated type in conditional expression [-Wextra]
2897 | return IsFloatTy ? SPIRV::OpGroupNonUniformFMin : IntOp;
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
Commit: a8a6613cc4235c8cbd473927f8567b74b9030c6b
https://github.com/llvm/llvm-project/commit/a8a6613cc4235c8cbd473927f8567b74b9030c6b
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
Log Message:
-----------
[AMDGPU][Scheduler] Fix compilation fail in EXPENSIVE_CHECKS (#183745)
Bug introduced by #182853 (`Remat` is now a pointer).
Commit: 9c2a3ca4949ee2e29a155efa9c69aea801b41813
https://github.com/llvm/llvm-project/commit/9c2a3ca4949ee2e29a155efa9c69aea801b41813
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/test/Dialect/OpenACC/ops.mlir
Log Message:
-----------
[MLIR] Fix OpenACC parser crash with opaque pointers (#183521)
Fixes #181453
Fixes #181589
Commit: 7cc27e28db97a9b2fd145d35044b7dbe6c8426f2
https://github.com/llvm/llvm-project/commit/7cc27e28db97a9b2fd145d35044b7dbe6c8426f2
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
M mlir/test/Dialect/Vector/vector-unroll-options.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[MLIR][Vector] Enhance shape_cast unrolling support in case the target shape is [1, 1, ..1] (#183436)
This PR fixes a minor issue in shape_cast unrolling: when all target
dimensions are unit-sized, it no longer removes all leading unit
dimensions.
Commit: 370273382035097069c5472378df84e10e6fa66b
https://github.com/llvm/llvm-project/commit/370273382035097069c5472378df84e10e6fa66b
Author: AbdallahRashed <63146988+AbdallahRashed at users.noreply.github.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/clmul-fixed.ll
Log Message:
-----------
[SelectionDAG] Fix CLMULR/CLMULH expansion (#183537)
For v8i8 on AArch64, `expandCLMUL` picked the zext path (ExtVT=v8i16) since ZERO_EXTEND/SRL were legal, but CLMUL on v8i16 is not, resulting in a bit-by-bit expansion (~42 insns). Prefer the bitreverse path when CLMUL is legal on VT but not ExtVT.
v8i8 CLMULR: 42 → 4 instructions.
Fixes #182780
Commit: f55b86258c913669a143e466adc43afb851bcbfb
https://github.com/llvm/llvm-project/commit/f55b86258c913669a143e466adc43afb851bcbfb
Author: RattataKing <amilywu2 at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
Log Message:
-----------
[mlir][Python] Drop Python <=3.9 compatibility path (#183416)
According to PR #163499, minimum Python version for mlir-py is now 3.10,
we no longer need patches for py<=3.9.
This change aligns with the Python version bump policy discussed
[here](https://discourse.llvm.org/t/rfc-adopt-regularly-scheduled-python-minimum-version-bumps/88841).
Commit: 620425a884388947ae691f3b80545e47c8687840
https://github.com/llvm/llvm-project/commit/620425a884388947ae691f3b80545e47c8687840
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir][tensor] Fix crash in tensor.from_elements fold with non-scalar element types (#183659)
The fold for tensor.from_elements attempted to always produce a
DenseElementsAttr by calling DenseElementsAttr::get(type, elements).
However, DenseElementsAttr::get only handles basic scalar element types
(integer, index, float, complex) directly. For other element types such
as vector types, it expects StringAttr (raw bytes) for each element,
which folded constants won't provide — triggering an assertion.
Fix this by guarding the fold: only attempt the DenseElementsAttr fold
when the tensor element type is integer, index, float, or complex.
Fixes #180459
Commit: bcd8819aee057f483c040743a6e8ccb2ecd7d44a
https://github.com/llvm/llvm-project/commit/bcd8819aee057f483c040743a6e8ccb2ecd7d44a
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/test/Transforms/remove-dead-values.mlir
Log Message:
-----------
[mlir][transforms] Fix crash in remove-dead-values when function has non-call users (#183655)
`processFuncOp` asserts that all symbol uses of a function are
`CallOpInterface` operations. This is violated when a function is
referenced by a non-call operation such as `spirv.EntryPoint`, which
uses the function symbol for metadata purposes without calling it.
Fix this by replacing the assertion with an early return: if any user of
the function symbol is not a `CallOpInterface`, skip the function
entirely. This is safe because the pass cannot determine the semantics
of arbitrary non-call references, so it should leave such functions
alone.
Fixes #180416
Commit: ef05d06109405fa4080f9dad762c7a5523a4b8b7
https://github.com/llvm/llvm-project/commit/ef05d06109405fa4080f9dad762c7a5523a4b8b7
Author: Minsoo Choo <minsoochoo0122 at proton.me>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/CMakeLists.txt
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.h
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCoreProperties.td
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb][Process/FreeBSDKernelCore] Implement DoWriteMemory() (#183553)
Implement `ProcessFreeBSDKernelCore::DoWriteMemory()` to write data on
kernel crash dump or `/dev/mem`. Due to safety reasons (e.g. writing
wrong value on `/dev/mem` can trigger kernel panic), this feature is
only enabled when `plugin.process.freebsd-kernel-core.read-only` is set
to false (true by default).
Since 85a1fe6 (#183237) was reverted as it was prematurely merged, I'm
committing changes again with corrections here.
---------
Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
Commit: d8956d7796bb2d7e5feb7945dffb2dbcf372aaa3
https://github.com/llvm/llvm-project/commit/d8956d7796bb2d7e5feb7945dffb2dbcf372aaa3
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.h
M llvm/lib/Target/SPIRV/SPIRVAPI.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.h
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
Log Message:
-----------
[SPIRV][NFCI] Use unordered data structures for SPIR-V extensions (#183567)
Review follow-up from https://github.com/llvm/llvm-project/pull/183325
No reason for these data structures to be ordered.
Minor annoyance when trying to use `DenseMap` because of the C++ code
for enums generated by TableGen, but not too bad.
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: 53656d1a2fad6765e69dbdc6613d44013d7bfcbd
https://github.com/llvm/llvm-project/commit/53656d1a2fad6765e69dbdc6613d44013d7bfcbd
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/test/DebugInfo/CXX/vtable-external.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-diamond.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-multiple.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-simple-main.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-simple.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-virtual.cpp
M clang/test/DebugInfo/CXX/vtable-template-instantiation.cpp
Log Message:
-----------
[clang][DebugInfo] Rename _vtable$ to __clang_vtable (#183617)
Discussion is a follow-up from
https://github.com/llvm/llvm-project/issues/182762#issuecomment-3965207289
(where we're discussing how LLDB could make use of this symbol for
vtable detection).
`_vtable$` is not a reserved identifier in C or C++. In order for
debuggers to reliably use this symbol without accidentally reaching into
user-identifiers, this patch renames it such that it is reserved. The
naming follows the style of the recently added `__clang_trap_msg`
debug-info symbol.
Commit: 4eab75e21fdf1f180ef46f00591cc30cf72df69a
https://github.com/llvm/llvm-project/commit/4eab75e21fdf1f180ef46f00591cc30cf72df69a
Author: Akash Dutta <137309513+akadutta at users.noreply.github.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AMDGPU/zext-duplicate-shift.ll
Log Message:
-----------
[SLP][NFC] Precommit test for zext reorder with duplicate shifts (#183748)
This is a pre-commit test for
https://github.com/llvm/llvm-project/pull/183627,
Commit: 11a92a9305a79548449731e3be989a3ffaa8ae53
https://github.com/llvm/llvm-project/commit/11a92a9305a79548449731e3be989a3ffaa8ae53
Author: Amy Kwan <amy.kwan1 at ibm.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/include/llvm/MC/MCGOFFAttributes.h
M llvm/include/llvm/MC/MCSymbolGOFF.h
M llvm/lib/MC/GOFFObjectWriter.cpp
M llvm/lib/MC/MCSymbolGOFF.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
Log Message:
-----------
[SystemZ] Add indirect reference bit XATTR REFERENCE(INDIRECT) for indirect symbol handling support (#183441)
This is the first of three patches aimed to support indirect symbol
handling for the SystemZ backend. This PR introduces a `GOFF:ERAttr` to
represent indirect references, handles indirect symbols within
`setSymbolAttribute()` by setting the indirect reference bit, and also
updates the HLASM streamer to emit `XATTR REFERENCE(INDIRECT)` and
various other combinations.
Commit: ed05f7012fe93af8b2b230f7059d0162d8aed126
https://github.com/llvm/llvm-project/commit/ed05f7012fe93af8b2b230f7059d0162d8aed126
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
M mlir/test/Dialect/Vector/vector-multi-reduction-flattening.mlir
Log Message:
-----------
[mlir][vector] Rename `ReduceMultiDimReductionRank` -> `FlattenMultiReduction` (NFC) (#183721)
The updated name better captures what the pattern does and matches the
coresponding `populat*` hook,
`populateVectorMultiReductionFlatteningPatterns`, that only contains
this pattern.
Commit: 2265d3240f23c1c6ff7b4d0fa2711a9ed36fdc8a
https://github.com/llvm/llvm-project/commit/2265d3240f23c1c6ff7b4d0fa2711a9ed36fdc8a
Author: Hans Wennborg <hans at hanshq.net>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
Log Message:
-----------
[pdb] Fix libc++ strict-weak-ordering assertion failures from gsiRecordCmp (#183749)
Builds using libc++ hardening was hitting asserts like
libc++ Hardening assertion
!__comp(*(__first + __a), *(__first + __b)) failed:
Your comparator is not a valid strict-weak ordering
printf-debugging revealed that symbols like "?ST@@3JA" were not
comparing equal with themselves. It turns out the comparison was done
with
return S1.compare_insensitive(S2.data());
and even when &S1 == &S2, S1 and S2.data() may not refer to identical
strings, since data() may not have a null terminator where the StringRef
locally ends.
This fixes the ordering, simplifies the code, and makes it a little
faster :)
Fixes: #163755
Commit: 4b10a4c17781e389e5e67a0aa274ba00382ac149
https://github.com/llvm/llvm-project/commit/4b10a4c17781e389e5e67a0aa274ba00382ac149
Author: Jacques Pienaar <jacques+gh at japienaar.info>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
A mlir/test/Bytecode/bytecode_producer.mlir
M mlir/test/CMakeLists.txt
M mlir/test/lit.cfg.py
Log Message:
-----------
[mlir] Enable specifying bytecode producer in mlir-opt. (#182846)
Commit: 9c53215d213189d1f62e8f6ee7ba73a089ac2269
https://github.com/llvm/llvm-project/commit/9c53215d213189d1f62e8f6ee7ba73a089ac2269
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/mul-simplification.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs-apple.ll
M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vector-loop-backedge-elimination-with-evl.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-decreasing.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-poison-ub-ops-feeding-pointer.ll
M llvm/test/Transforms/LoopVectorize/reduction-minmax-users-and-predicated.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-cond-poison.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
Log Message:
-----------
[VPlan] Remove manual region removal when simplifying for VF and UF. (#181252)
Replace manual region dissolution code in
simplifyBranchConditionForVFAndUF with using general
removeBranchOnConst. simplifyBranchConditionForVFAndUF now just creates
a (BranchOnCond true) or updates BranchOnTwoConds.
The loop then gets automatically removed by running removeBranchOnConst.
This removes a bunch of special logic to handle header phi replacements
and CFG updates. With the new code, there's no restriction on what kind
of header phi recipes the loop contains.
Note that VPEVLBasedIVRecipe needs to be marked as readnone. This is
technically unrelated, but I could not find an independent test that
would be impacted.
The code to deal with epilogue resume values now needs updating, because
we may simplify a reduction directly to the start value.
PR: https://github.com/llvm/llvm-project/pull/181252
Commit: 975dba28633d2f3746a8a370741b17024b0f5f9b
https://github.com/llvm/llvm-project/commit/975dba28633d2f3746a8a370741b17024b0f5f9b
Author: yonghong-song <yhs at fb.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/test/CodeGen/distributed-thin-lto/cfi-devirt.ll
M clang/test/CodeGen/distributed-thin-lto/cfi.ll
M clang/test/CodeGen/thinlto-funcattr-prop.ll
M lld/test/ELF/lto/comdat-nodeduplicate.ll
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/include/llvm/LTO/LTO.h
M llvm/include/llvm/Transforms/IPO/WholeProgramDevirt.h
M llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/ModuleSummaryIndex.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
M llvm/test/Assembler/thinlto-memprof-summary.ll
M llvm/test/Assembler/thinlto-multiple-summaries-for-guid.ll
M llvm/test/Assembler/thinlto-summary-visibility.ll
M llvm/test/Assembler/thinlto-summary.ll
M llvm/test/Assembler/thinlto-vtable-summary.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-relbf.ll
M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
M llvm/test/Bitcode/thinlto-index-disassembled-by-llvm-dis.ll
M llvm/test/Bitcode/thinlto-type-tests.ll
M llvm/test/Bitcode/thinlto-type-vcalls.ll
A llvm/test/ThinLTO/X86/Inputs/reduce-promotion-same-file-local-name.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-maythrow.ll
M llvm/test/ThinLTO/X86/funcimport_alwaysinline.ll
M llvm/test/ThinLTO/X86/import_callee_declaration.ll
M llvm/test/ThinLTO/X86/load-store-caching.ll
A llvm/test/ThinLTO/X86/reduce-promotion-devirt.ll
A llvm/test/ThinLTO/X86/reduce-promotion-same-file-local-name.ll
A llvm/test/ThinLTO/X86/reduce-promotion-same-local-name.ll
A llvm/test/ThinLTO/X86/reduce-promotion.ll
M llvm/test/Transforms/LowerTypeTests/import-unsat.ll
M llvm/test/Transforms/WholeProgramDevirt/Inputs/import-indir.yaml
M llvm/test/Transforms/WholeProgramDevirt/import-indir.ll
Log Message:
-----------
[ThinLTO] Reduce the number of renaming due to promotions (#178587)
Currently for thin-lto, the imported static global values (functions,
variables, etc) will be promoted/renamed from e.g., foo() to
foo.llvm.<hash>(). Such a renaming caused difficulties in live patching
since function name is changed ([1]).
It is possible that some global value names have to be promoted to avoid
name collision and linker failure. But in practice, majority of name
promotions can be avoided.
In [2], the suggestion is that thin-lto pre-link decides whether
a particular global value needs name promotion or not. If yes, later on
in thinBackend() the name will be promoted.
I compiled a particular linux kernel version (latest bpf-next tree)
and found 1216 global values with suffix .llvm.<hash>. With this patch,
the number of promoted functions is 2, 98% reduction from the
original kernel build.
If some native objects are not participating with LTO, name promotions
have to be done to avoid potential linker issues. So the current
implementation cannot be on by default. But in certain cases, e.g., linux kernel
build, people can enable lld flag --lto-whole-program-visibility to reduce the
number of functions like foo.llvm.<hash>().
For ThinLTOCodeGenerator.cpp which is used by llvm-lto tool and a
few other rare cases, reducing the number of renaming due to promotion,
is not implemented as lld flag '-lto-whole-program-visibility' is not supported
in ThinLTOCodeGenerator.cpp for now. In summary, this pull request
only supports llvm-lto2 style workflow.
[1] https://lpc.events/event/19/contributions/2212
[2] https://discourse.llvm.org/t/rfc-avoid-functions-like-foo-llvm-for-kernel-live-patch/89400
Commit: 729602e81009460a67dae3b8d1d8466b3c83211d
https://github.com/llvm/llvm-project/commit/729602e81009460a67dae3b8d1d8466b3c83211d
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.h
M llvm/lib/Target/SPIRV/SPIRVAPI.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.h
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
Log Message:
-----------
Revert "[SPIRV][NFCI] Use unordered data structures for SPIR-V extensions" (#183774)
Reverts llvm/llvm-project#183567
UBSan failure.
Commit: a703d91091ec6f61bc044413a2799349b2214a0d
https://github.com/llvm/llvm-project/commit/a703d91091ec6f61bc044413a2799349b2214a0d
Author: John Harrison <harjohn at google.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/test/API/tools/lldb-dap/cancel/TestDAP_cancel.py
A lldb/test/API/tools/lldb-dap/cancel/busy_loop.py
Log Message:
-----------
[lldb-dap] Improve test performance for 'cancel' request. (#183632)
Update the test to more cleanly handle making a 'blocking' call using a
custom command instead of python `time.sleep`, which we cannot easily
interrupt.
This should improve the overall performance of the tests, locally they
took around 30s and now finish in around 6s.
Commit: d1da7f6ee5d7ee8729ade96209d8b19bdef69d52
https://github.com/llvm/llvm-project/commit/d1da7f6ee5d7ee8729ade96209d8b19bdef69d52
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
A clang/test/ClangScanDeps/modules-symlink-dir-from-module-incremental.c
Log Message:
-----------
[clang-scan-deps] Add test for symlink-aliased module map PCM reuse across incremental scans (#183328)
Add a test that verifies symlink aliases to a module map directory
produce the same PCM across incremental scans.
Commit: 0617623858054a3533b3ed44d355dee7f9102c1c
https://github.com/llvm/llvm-project/commit/0617623858054a3533b3ed44d355dee7f9102c1c
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
M llvm/test/CodeGen/SPIRV/debug-info/debug-type-pointer.ll
Log Message:
-----------
[SPIR-V] Fix non-deterministic compiler output for debug type pointer (#182773)
Fixes: https://github.com/llvm/llvm-project/issues/123791
Commit: de4a1a77e1476e9105a6143a8d3b8760b61ff95f
https://github.com/llvm/llvm-project/commit/de4a1a77e1476e9105a6143a8d3b8760b61ff95f
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/include/clang/DependencyScanning/InProcessModuleCache.h
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/Options/Options.td
M clang/lib/DependencyScanning/InProcessModuleCache.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Lex/Pragma.cpp
A clang/test/ClangScanDeps/modules-cycle-deadlock.c
A clang/test/Modules/implicit-cycle-deadlock.c
M llvm/include/llvm/Support/AdvisoryLock.h
M llvm/include/llvm/Support/LockFileManager.h
M llvm/lib/Support/LockFileManager.cpp
M llvm/lib/Support/VirtualOutputBackends.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
Log Message:
-----------
[clang][modules] Prevent deadlock in module cache (#182722)
When there's a dependency cycle between modules, the dependency scanner
may encounter a deadlock. This was caused by not respecting the lock
timeout. But even with the timeout implemented, leaving
`unsafeMaybeUnlock()` unimplemented means trying to take a lock after a
timeout would still fail and prevent making progress. This PR implements
this API in a way to avoid UB on `std::mutex` (when it's unlocked by
someone else than the owner). Lastly, this PR makes sure that
`unsafeUnlock()` ends the wait of existing threads, so that they don't
need to hit the full timeout amount.
This PR also implements `-fimplicit-modules-lock-timeout=<seconds>` that
allows tweaking the default 90-second lock timeout, and adds `#pragma
clang __debug sleep` that makes it easier to achieve desired execution
ordering.
rdar://170738600
Commit: 35f8ca8b76c63b47a6c5a7aa041310f42947a838
https://github.com/llvm/llvm-project/commit/35f8ca8b76c63b47a6c5a7aa041310f42947a838
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M flang/test/Lower/Intrinsics/abs.f90
M flang/test/Lower/Intrinsics/achar.f90
M flang/test/Lower/Intrinsics/acospi.f90
M flang/test/Lower/Intrinsics/adjustl.f90
M flang/test/Lower/intentout-deallocate.f90
Log Message:
-----------
[flang][NFC] Converted five tests from old lowering to new lowering (part 22) (#183681)
Tests converted from test/Lower: intentout-deallocate.f90
Tests converted from test/Lower/Intrinsics: abs.f90, achar.f90,
acospi.f90, adjustl.f90
Commit: bad56dbb23853e1413d8df13a26b6a1dc02907a1
https://github.com/llvm/llvm-project/commit/bad56dbb23853e1413d8df13a26b6a1dc02907a1
Author: Kseniya Tikhomirova <kseniya.tikhomirova at intel.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M libsycl/docs/index.rst
A libsycl/include/sycl/__impl/context.hpp
M libsycl/include/sycl/__impl/device.hpp
M libsycl/include/sycl/sycl.hpp
M libsycl/src/CMakeLists.txt
A libsycl/src/context.cpp
A libsycl/src/detail/context_impl.cpp
A libsycl/src/detail/context_impl.hpp
M libsycl/src/detail/device_impl.cpp
M libsycl/src/detail/device_impl.hpp
M libsycl/src/detail/offload/offload_utils.hpp
M libsycl/src/detail/platform_impl.cpp
M libsycl/src/detail/platform_impl.hpp
M libsycl/src/device.cpp
M libsycl/src/platform.cpp
Log Message:
-----------
[libsycl] Add sycl::context stub (#182826)
Part 1 of changes needed for USM alloc/dealloc impl.
This is part of the SYCL support upstreaming effort. The relevant RFCs
can be found here:
https://discourse.llvm.org/t/rfc-add-full-support-for-the-sycl-programming-model/74080
https://discourse.llvm.org/t/rfc-sycl-runtime-upstreaming/74479
---------
Signed-off-by: Tikhomirova, Kseniya <kseniya.tikhomirova at intel.com>
Commit: 7f0a343a8ec48b41e3866cdbabfc8740985a44f3
https://github.com/llvm/llvm-project/commit/7f0a343a8ec48b41e3866cdbabfc8740985a44f3
Author: Yangyu Chen <cyy at cyyself.name>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M clang/include/clang/Options/Options.td
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Optimizer/Passes/Pipelines.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
A flang/test/Driver/grecord-command-line.f90
A flang/test/Transforms/debug-dwarf-debug-flags.fir
Log Message:
-----------
[flang] Implement -grecord-command-line for Flang (#181686)
Enable Flang to match Clang behavior for command-line recording in DWARF
producer strings when using -grecord-command-line.
Signed-off-by: Yangyu Chen <cyy at cyyself.name>
Commit: dc26edd9b6602857b67f35c8d2f6fe4ed13c8137
https://github.com/llvm/llvm-project/commit/dc26edd9b6602857b67f35c8d2f6fe4ed13c8137
Author: Amit Kumar Pandey <pandey.kumaramit2023 at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/test/Driver/amdgpu-openmp-sanitize-options.c
M clang/test/Driver/hip-sanitize-options.hip
M clang/test/Driver/rocm-device-libs.cl
Log Message:
-----------
[ASan] Enable Internalization for 'asanrtl.bc' in Driver (#182825)
Just like other bitcode libs such as ockl.bc ocml.bc, link asanrtl.bc
with '-mlink-builtin-bitcode' in the driver when GPU ASan is enabled.
Commit: 5661ed60e37d63d5deff6f4c943b928b6b957049
https://github.com/llvm/llvm-project/commit/5661ed60e37d63d5deff6f4c943b928b6b957049
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][vector] Fix crashes in MaskOp::fold and CanonializeEmptyMaskOp (#183781)
Two related crashes were fixed in vector.mask handling:
1. MaskOp::fold() crashes with a null pointer dereference when the mask
is all-true and the mask body has no maskable operation (only a
vector.yield). getMaskableOp() returns nullptr in this case, and the
fold was calling nullptr->dropAllUses(). Fixed by returning failure()
when there is no maskable op, deferring to the canonicalizer.
2. CanonializeEmptyMaskOp creates an invalid arith.select when the mask
type is a vector (e.g., vector<1xi1>) but the result type is a scalar
(e.g., i32). arith.select with a vector condition requires the value
types to be vectors of the same shape. Fixed by bailing out when any
result type doesn't match the mask shape.
Regression tests are added for both cases.
Fixes #177833
Commit: 55d62abadbc5e6bf129378fe9d0b87f124aefee5
https://github.com/llvm/llvm-project/commit/55d62abadbc5e6bf129378fe9d0b87f124aefee5
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M lldb/docs/dil-expr-lang.ebnf
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/source/ValueObject/DILAST.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/test/API/commands/frame/var-dil/expr/Arithmetic/TestFrameVarDILArithmetic.py
M lldb/test/API/commands/frame/var-dil/expr/Arithmetic/main.cpp
Log Message:
-----------
[lldb] Add arithmetic binary addition to DIL (#177208)
Commit: d2c545266b8b0216b51c7b87e3ca0980c47c5342
https://github.com/llvm/llvm-project/commit/d2c545266b8b0216b51c7b87e3ca0980c47c5342
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/unittests/Target/RISCV/RISCVSelectionDAGTest.cpp
Log Message:
-----------
[RISCV] Use getCopyFromReg in unit test to match comment. NFC (#183199)
Using physical register 0, aka NoRegister, also just looked suspicious.
Commit: cd50a3074bdfcd2d9ba45d99b0129b1c1d68d58d
https://github.com/llvm/llvm-project/commit/cd50a3074bdfcd2d9ba45d99b0129b1c1d68d58d
Author: yonghong-song <yhs at fb.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/test/CodeGen/distributed-thin-lto/cfi-devirt.ll
M clang/test/CodeGen/distributed-thin-lto/cfi.ll
M clang/test/CodeGen/thinlto-funcattr-prop.ll
M lld/test/ELF/lto/comdat-nodeduplicate.ll
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/include/llvm/LTO/LTO.h
M llvm/include/llvm/Transforms/IPO/WholeProgramDevirt.h
M llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/ModuleSummaryIndex.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
M llvm/test/Assembler/thinlto-memprof-summary.ll
M llvm/test/Assembler/thinlto-multiple-summaries-for-guid.ll
M llvm/test/Assembler/thinlto-summary-visibility.ll
M llvm/test/Assembler/thinlto-summary.ll
M llvm/test/Assembler/thinlto-vtable-summary.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-relbf.ll
M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
M llvm/test/Bitcode/thinlto-index-disassembled-by-llvm-dis.ll
M llvm/test/Bitcode/thinlto-type-tests.ll
M llvm/test/Bitcode/thinlto-type-vcalls.ll
R llvm/test/ThinLTO/X86/Inputs/reduce-promotion-same-file-local-name.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-maythrow.ll
M llvm/test/ThinLTO/X86/funcimport_alwaysinline.ll
M llvm/test/ThinLTO/X86/import_callee_declaration.ll
M llvm/test/ThinLTO/X86/load-store-caching.ll
R llvm/test/ThinLTO/X86/reduce-promotion-devirt.ll
R llvm/test/ThinLTO/X86/reduce-promotion-same-file-local-name.ll
R llvm/test/ThinLTO/X86/reduce-promotion-same-local-name.ll
R llvm/test/ThinLTO/X86/reduce-promotion.ll
M llvm/test/Transforms/LowerTypeTests/import-unsat.ll
M llvm/test/Transforms/WholeProgramDevirt/Inputs/import-indir.yaml
M llvm/test/Transforms/WholeProgramDevirt/import-indir.ll
Log Message:
-----------
Revert "[ThinLTO] Reduce the number of renaming due to promotions (#178587)" (#183782)
There is a conflict with existing code. See
https://github.com/llvm/llvm-project/pull/178587
Revert and resolve the conflict and then will submit later.
Commit: 179c25eaefe651f815f4a32328d8e51dfcda1d34
https://github.com/llvm/llvm-project/commit/179c25eaefe651f815f4a32328d8e51dfcda1d34
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/test/CodeGen/AArch64/stack-tagging.ll
M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope.ll
Log Message:
-----------
[MTE] [HWASan] support more complicated lifetimes
This allows us to support more lifetimes, and also gets rid of
the quadratic call to isPotentiallyReachable.
Reviewers: pcc, usama54321
Reviewed By: pcc
Pull Request: https://github.com/llvm/llvm-project/pull/182425
Commit: 1269a74db9ffde19f8230edeac0ddbcafc3a4d66
https://github.com/llvm/llvm-project/commit/1269a74db9ffde19f8230edeac0ddbcafc3a4d66
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Enable `parse_headers` for llvm/BUILD.bazel (#183680)
Instead of excluding the whole package, push any existing parse_headers
failures to individual targets. In some cases we can avoid suppressing a
target by adding a few missing deps.
Commit: c3b3f4195219e368bd18fc1a1bab18d0dae45d8f
https://github.com/llvm/llvm-project/commit/c3b3f4195219e368bd18fc1a1bab18d0dae45d8f
Author: Amy Kwan <amy.kwan1 at ibm.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/include/llvm/MC/MCSectionGOFF.h
M llvm/include/llvm/MC/MCSymbolGOFF.h
M llvm/lib/MC/GOFFObjectWriter.cpp
M llvm/lib/MC/MCAsmInfoGOFF.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.h
Log Message:
-----------
[SystemZ] Emit external aliases required for indirect symbol handling support (#183442)
This is the second of three patches aimed to support indirect symbol
handling for the SystemZ backend. An external name is added for both MC
sections and symbols and makes the relevant printers and writers utilize
the external name when present. Furthermore, the ALIAS HLASM instruction
is emitted after every XATTR instruction.
Depends on https://github.com/llvm/llvm-project/pull/183441.
Commit: 0d95dda1eeee690bb7c3ec425ebfed5a8a80517b
https://github.com/llvm/llvm-project/commit/0d95dda1eeee690bb7c3ec425ebfed5a8a80517b
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Analysis/LoopInfo.cpp
M llvm/test/Transforms/LoopDeletion/invalidate-scev-after-hoisting.ll
A llvm/test/Transforms/LoopSimplify/profile-info.ll
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[LoopInfo] Preserve profile information in makeLoopInvariant (#174171)
When hoisting loop invariant instructions, we can preserve profile
metadata because it depends solely on the condition (which is loop
invariant) rather than where we are in the control flow graph.
Commit: 67a51ea34d25b4be246791af5df858167dce901c
https://github.com/llvm/llvm-project/commit/67a51ea34d25b4be246791af5df858167dce901c
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
A llvm/test/CodeGen/PowerPC/bit_floor.ll
Log Message:
-----------
[NFC][POWER] add Pre-Commit test case for Inefficient std::bit_floor(x) (#183363)
add a pre-commit test case for Inefficient asm of std::bit_floor(x) for
powerpc.
Commit: c49460bae76c873725ae77d5f9b4d6239b7c40a7
https://github.com/llvm/llvm-project/commit/c49460bae76c873725ae77d5f9b4d6239b7c40a7
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M flang-rt/include/flang-rt/runtime/lock.h
M flang-rt/include/flang-rt/runtime/tools.h
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/environment.cpp
M flang-rt/lib/runtime/stop.cpp
M flang-rt/lib/runtime/terminator.cpp
M flang/include/flang/Common/api-attrs.h
A offload/test/offloading/fortran/target-descriptor-ops.f90
Log Message:
-----------
[flang-rt] Enable more runtime functions for the GPU target (#183649)
Summary:
This enables primarily `stop.cpp` and `descriptor.cpp`. Requires a
little bit of wrangling to get it to compile. Unlike the CUDA build,
this build uses an in-tree libc++ configured for the GPU. This is
configured without thread support, environment, or filesystem, and it is
not POSIX at all. So, no mutexes, pthreads, or get/setenv.
I tested stop, but i don't know if it's actually legal to exit from
OpenMP offloading.
Commit: 6301243a5d69146b4b76ac4233b0b2f6a3c31616
https://github.com/llvm/llvm-project/commit/6301243a5d69146b4b76ac4233b0b2f6a3c31616
Author: Kshitij Paranjape <kshitijvparanjape at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
A llvm/test/Transforms/AggressiveInstCombine/X86/pr175590.ll
Log Message:
-----------
Reapply "[ValueTracking] Propagate sign information out of loop" (#182512)
LLVM converts sqrt libcall to intrinsic call if the argument is within
the range(greater than or equal to 0.0). In this case the compiler is
not able to deduce the non-negativity on its own. Extended ValueTracking
to understand such loops.
Have created new ABI's for matching Intrinsics with three operands
(those existed only for 2 operands)
`matchSimpleTernaryIntrinsicRecurrence` and `matchThreeInputRecurrence`.
Fixes https://github.com/llvm/llvm-project/issues/174813
Commit: ca0e7d31d05bea7b6d29a420e9b1c756a1845e95
https://github.com/llvm/llvm-project/commit/ca0e7d31d05bea7b6d29a420e9b1c756a1845e95
Author: kwyatt-ext <kwyatt.external at hpe.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M flang-rt/lib/runtime/character.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Character.h
M flang/include/flang/Runtime/character.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Character.cpp
A flang/test/Lower/Intrinsics/tokenize.f90
A flang/test/Semantics/tokenize-errors.f90
Log Message:
-----------
[flang] [flang-rt] Addition of the Fortran 2023 TOKENIZE intrinsic. (#181030)
This implements the TOKENIZE intrinsic per the Fortran 2023 Standard.
TOKENIZE is a more complicated addition to the flang intrinsics, as it
is the first subroutine that has multiple unique footprints. Intrinsic
functions have already addressed this challenge, however subroutines and
functions are processed slightly differently and the function code was
not a good 1:1 solution for the subroutines. To solve this the function
code was used as an example to create error buffering within the
intrinsics Process and select the most appropriate error message for a
given subroutine footprint.
A simple FIR compile test was added to show the proper compilation of
each case. A thorough negative path test has also been added, ensuring
that all possible errors are reported as expected.
Testing prior to commit:
= check-flang ==========================================
```
Testing Time: 139.51s
Total Discovered Tests: 4153
Unsupported : 77 (1.85%)
Passed : 4065 (97.88%)
Expectedly Failed: 11 (0.26%)
FLANG Container Test completed 2 minutes (160 s).
Total Time: 2 minutes (160 s)
Completed : Wed Feb 11 04:05:50 PM CST 2026
```
= check-flang-rt ==========================================
```
Testing Time: 1.55s
Total Discovered Tests: 258
Passed: 258 (100.00%)
FLANG Container Test completed 0 minutes (55 s).
Total Time: 0 minutes (56 s)
Completed : Wed Feb 11 04:08:32 PM CST 2026
```
= llvm-test-suite ==========================================
```
Testing Time: 1886.64s
Total Discovered Tests: 6926
Passed: 6926 (100.00%)
CCE SLES Container debug compile completed 31 minutes (1895 s).
CCE SLES Container debug install completed in 0 minutes (0 s).
Total Time: 31 minutes (1895 s)
Completed : Wed Feb 11 05:46:52 PM CST 2026
```
Additionally, (FYI) an executable test has been written and will be
added to the llvm-test-suite under a separate PR.
---------
Co-authored-by: Kevin Wyatt <kwyatt at hpe.com>
Commit: 48eb40bee0248423fd6175ecd192ab15a71fb27b
https://github.com/llvm/llvm-project/commit/48eb40bee0248423fd6175ecd192ab15a71fb27b
Author: John Harrison <harjohn at google.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/test/API/tools/lldb-dap/variables/children/TestDAP_variables_children.py
M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ScopesRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
M lldb/tools/lldb-dap/Protocol/DAPTypes.h
M lldb/tools/lldb-dap/SBAPIExtras.h
M lldb/tools/lldb-dap/Variables.cpp
M lldb/tools/lldb-dap/Variables.h
M lldb/unittests/DAP/DAPTypesTest.cpp
M lldb/unittests/DAP/Inputs/linux-x86_64.core.yaml
M lldb/unittests/DAP/Inputs/linux-x86_64.out.yaml
M lldb/unittests/DAP/VariablesTest.cpp
Log Message:
-----------
[lldb-dap] Adjust VariableReferenceStorage lifetime management. (#183176)
Adjusting `VariableReferenceStorage` to only need to track permanent vs
temporary storage by making `VariableStore` the common base class.
Moved the subclasses of `VariableStore` into the Variables.cpp file,
since they're no long referenced externally.
Expanding on the tests by adding an updated core dump with variables in
the argument scope we can use to validate variable storage.
Commit: 852c6ef5aca60c17c2b0972d44b4664759884927
https://github.com/llvm/llvm-project/commit/852c6ef5aca60c17c2b0972d44b4664759884927
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
M mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir
Log Message:
-----------
[mlir][LLVM] Let decomposeValue/composeValue handle aggregates (#183405)
This commit updates the LLVM::decomposeValue and LLVM::composeValue
methods to handle aggregate types - LLVM arrays and structs, and to have
different behaviors on dealing with types like pointers that can't be
bitcast to fixed-size integers. This allows the "any type" on
gpu.subgroup_broadcast to be more comprehensive - you can broadcast a
memref to a subgroup by decomposing it, for example.
(This branched off of getting an LLM to implement
ValueuboundsOpInterface on subgroup_broadcast, having it add handling
for the dimensions of shaped types, and realizing that there's no
fundamental reason you can't broadcast a memref or the like)
---------
Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>
Commit: c05e323be7caaadff6fdd09a2336be60e3041af1
https://github.com/llvm/llvm-project/commit/c05e323be7caaadff6fdd09a2336be60e3041af1
Author: Demetrius Kanios <demetrius at kanios.net>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp
Log Message:
-----------
[WebAssembly] Incorporate SCCs into WebAssemblyFixIrreducibleControlFlow (#181755)
Rather than mapping out full "reachability" between blocks in a region
to find loops and using `LoopBlocks` to find the bodies of said loops,
use SCCs (strongly-connected components) to provide this information.
This brings in LLVM's generic `SCCIterator` (which uses Tarjan's
algorithm) as the implementation for sorting the basic blocks of the CFG
into their SCCs.
This PR greatly reduces the compile-time footprint of the pass, making
memory use and time taken negliable where it might have previously
caused stalls and OOM before (e.g. #47793,
usagi-coffee/tree-sitter-abl#114)
------
Supersedes #179722
Fixes #47793
Fixes #165041 (probably)
Thanks to @jkbz64 for the initial investigations (w/ AI; see #179722)
into why this pass was slow and memory consuming and showing that SCCs
were the key.
Also thanks to the Cheerp compiler project for bringing `SCCIterator` to
light in this context ([blog
post](https://cheerp.io/blog/control-flow#fix-the-irreducible-control-flow),
[implementation](https://github.com/leaningtech/cheerp-compiler/blob/master/llvm/lib/CheerpUtils/FixIrreducibleControlFlow.cpp)).
Commit: dce48f2653cb81883a24ff5babdcac5bcb91725c
https://github.com/llvm/llvm-project/commit/dce48f2653cb81883a24ff5babdcac5bcb91725c
Author: Amit Kumar Pandey <pandey.kumaramit2023 at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/test/Driver/amdgpu-openmp-sanitize-options.c
Log Message:
-----------
[OpenMP] Enable internalization of 'ockl.bc' for OpenMP (#183685)
Fix linking of 'ockl.bc' for OpenMP by switching from
`-mlink-bitcode-file` to `-mlink-builtin-bitcode`
Commit: 403fd7679f80c97c13e992b32a6762bfc92641cb
https://github.com/llvm/llvm-project/commit/403fd7679f80c97c13e992b32a6762bfc92641cb
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SlotIndexes.cpp
M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-01.mir
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/remat-sop.mir
M llvm/test/CodeGen/X86/statepoint-live-in.ll
M llvm/test/CodeGen/X86/statepoint-regs.ll
Log Message:
-----------
[SlotIndexes] Further pack indices to improve spill placement time (#182640)
This patch makes it so that renumbering indices when inserting
instructions into the SlotIndexes analysis renumbers the entire list if
the list is otherwise densely packed. This fixes a case we saw on
AArch64 with a lot of spills where every single spill instruction
insertion required a renumbering of most of the instructions in a large
function, making the operation approximately quadratic.
This is not NFC as heuristics depend on the SlotIndex numbers, although
this should mostly be a wash as LRs should be extended ~equally.
Commit: 282a2b77c358c4509f8fcc97c2f0f2b8cdc9b915
https://github.com/llvm/llvm-project/commit/282a2b77c358c4509f8fcc97c2f0f2b8cdc9b915
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/include/clang/Analysis/Scalable/Serialization/JSONFormat.h
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
M clang/lib/Analysis/Scalable/CMakeLists.txt
R clang/lib/Analysis/Scalable/Serialization/JSONFormat.cpp
A clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.cpp
A clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.h
A clang/lib/Analysis/Scalable/Serialization/JSONFormat/TUSummary.cpp
A clang/lib/Analysis/Scalable/Serialization/JSONFormat/TUSummaryEncoding.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.h
M clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/TUSummaryTest.cpp
Log Message:
-----------
[clang][ssaf] Add `JSONFormat` support for `TUSummaryEncoding`
This PR adds `JSONFormat` support for reading and writing
`TUSummaryEncoding`. The implementation exploits similarities in the
structures of `TUSummary` and `TUSummaryEncoding` by reusing existing
`JSONFormat` support for `TUSummary`. Duplication of tests has been
avoided by parameterizing the test fixture that runs all relevant
read/write tests against `TUSummary`, for `TUSummaryEncoding`. This
ensures that the two serialization paths remain in lockstep.
Commit: cf28f23f10133f0419768ce8284fe05fa079f93c
https://github.com/llvm/llvm-project/commit/cf28f23f10133f0419768ce8284fe05fa079f93c
Author: Akash Dutta <137309513+akadutta at users.noreply.github.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AMDGPU/zext-duplicate-shift.ll
Log Message:
-----------
[SLP] Reject duplicate shift amounts in matchesShlZExt reorder path (#183627)
In the reordered RHS path of matchesShlZExt, the code never checked that
each shift amount (0, Stride, 2×Stride, …) appears at most once. When
the same shift appeared in multiple lanes, it still filled Order,
producing a non-permutation (e.g. Order = [0,0,0,1]). That led to bad
shuffle masks and miscompilation (e.g. shuffles with poison).
The patch adds an explicit duplicate check: before setting Order[Idx] =
Pos, it ensures Pos has not been seen before, using a SmallBitVector
SeenPositions(VF). If a position is seen twice, the function returns
false and the optimization is not applied.
Commit: 25d709e72c976f8f7420a342e7916b46b6c23e28
https://github.com/llvm/llvm-project/commit/25d709e72c976f8f7420a342e7916b46b6c23e28
Author: Amy Kwan <amy.kwan1 at ibm.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/test/CodeGen/SystemZ/zos-ada-relocations.ll
Log Message:
-----------
[SystemZ] Emit external aliases for indirect function descriptors in the ADA section (#183443)
This is the last of the three patches aimed to support indirect symbol
handling for the SystemZ backend.
An external alias is emitted for indirect function descriptors within
the ADA section, rather than a temporary alias, while also setting all
of the appropriate symbol attributes that are needed for the HLASM
streamer to emit the correct XATTR and ALIAS instructions for the
indirect symbols.
Moreover, this patch updates the
`CodeGen/SystemZ/zos-ada-relocations.ll` test as the ADA section is
currently the only user of indirect symbols on z/OS.
Depends on https://github.com/llvm/llvm-project/pull/183442.
Commit: ee6f5f386f95753d869045acbe54a6b3ec38dde9
https://github.com/llvm/llvm-project/commit/ee6f5f386f95753d869045acbe54a6b3ec38dde9
Author: Manuel Carrasco <Manuel.Carrasco at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
A llvm/test/Transforms/InstCombine/alloca-poison-size.ll
Log Message:
-----------
[InstCombine] Replace alloca with undef size with poison instead of null (#182919)
InstCombine previously replaced an alloca instruction with a null
pointer when the array size operand was undef. While this replacement
may be legal, it still caused invalid IR in cases where the original
alloca was used by `@llvm.lifetime` intrinsics.
The spec requires that the pointer operand of `@llvm.lifetime.*` must be
either:
- a pointer to an alloca instruction, or
- a poison value.
Replacing the pointer with null violated this requirement and triggered
verifier errors.
These new changes update InstCombine so that in this scenario the alloca
is replaced with poison instead of null.
Commit: 8ce2b9cbc2bcde50189e74650cf994e8f549f58d
https://github.com/llvm/llvm-project/commit/8ce2b9cbc2bcde50189e74650cf994e8f549f58d
Author: Tommy Chiang <ototot at google.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M clang/include/clang/AST/DeclCXX.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/test/CodeGenCXX/mangle-lambdas.cpp
Log Message:
-----------
[Clang][ItaniumMangle] Fix recursive mangling for lambda init-captures (#182667)
[Clang][ItaniumMangle] Fix recursive mangling for lambda init-captures
Mangle computation for lambda signatures can recurse when a call
operator type
references an init-capture (for example via decltype(init-capture)). In
these
cases, mangling can re-enter the init-capture declaration and cycle back
through
operator() mangling.
Make lambda context publication explicit and independent from numbering
state,
then use that context uniformly during mangling:
* Publish lambda `ContextDecl` in `Sema::handleLambdaNumbering()` before
numbering, so dependent type mangling can resolve the lambda context
without
recursing through the call operator.
* Introduce `CXXRecordDecl::setLambdaContextDecl()` and remove
`ContextDecl`
from `CXXRecordDecl::LambdaNumbering`.
* Update `ASTImporter` to import/set lambda context separately from
numbering.
* In Itanium mangling, derive init-capture handling from context
computation:
- map local-lambda init-captures to the enclosing local context in
`getEffectiveDeclContext()`
- support init-capture variables in `getClosurePrefix()`
- keep `mangleLocalName()` generic and rely on the computed context
Add mangling regression coverage in mangle-lambdas.cpp, including:
* local init-captures used through decltype
* non-local variable-template init-captures in decltype
* non-local static inline member init-captures in decltype
* Fixes https://github.com/llvm/llvm-project/issues/63271
* Fixes https://github.com/llvm/llvm-project/issues/86240
* Fixes https://github.com/llvm/llvm-project/issues/139089
Commit: df5bee6afc79eb393c6dcbaad1b2ab3665f3a853
https://github.com/llvm/llvm-project/commit/df5bee6afc79eb393c6dcbaad1b2ab3665f3a853
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/test/CIR/Transforms/flatten-cleanup-scope-nyi.cir
A clang/test/CIR/Transforms/flatten-try-op.cir
Log Message:
-----------
[CIR] Implement TryOp flattening (#183591)
This updates the FlattenCFG pass to add flattening for cir::TryOp in
cases where the TryOp contains catch or unwind handlers.
Substantial amounts of this PR were created using agentic AI tools, but
I have carefully reviewed the code, comments, and tests and made changes
as needed. I've left intermediate commits in the initial PR if you'd
like to see the progression.
Commit: 3d889c464eb19f3c9d5dd00caab37be19a81efa3
https://github.com/llvm/llvm-project/commit/3d889c464eb19f3c9d5dd00caab37be19a81efa3
Author: Ben Dunkin <108952361+bdunkin at users.noreply.github.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix SpaceBeforeParens with explicit template instantiations (#183183)
This fixes explicit template instantiated functions not having spaces
added/removed based on the value of `SpaceBeforeParens`.
Attribution Note - I have been authorized to contribute this change on
behalf of my company: ArenaNet LLC
Commit: 4f05592bc01ca0252e904a59f8e321e254cd0473
https://github.com/llvm/llvm-project/commit/4f05592bc01ca0252e904a59f8e321e254cd0473
Author: Srividya Sundaram <srividya.sundaram at intel.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
A clang/test/Driver/sycl-offload-jit-xarch.cpp
Log Message:
-----------
[Driver][SYCL] Add tests for -Xarch_<arch> option forwarding to SYCL JIT compilation. (#178025)
This change adds test coverage to verify that options passed via
`-Xarch_<arch> <option>` are correctly forwarded to SYCL JIT
compilations.
Commit: d1f4f9453c78619af334dfe59f812fe54f70459b
https://github.com/llvm/llvm-project/commit/d1f4f9453c78619af334dfe59f812fe54f70459b
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M flang/include/flang/Semantics/expression.h
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/bug2295.f90
Log Message:
-----------
[flang] Fix explanatory messages for generic resolution error (#183565)
The compiler emits messages to explain why each of a generic procedure's
specific procedures is not a match for a given set of actual arguments.
In the case of specific procedures with PASS arguments in derived type
procedure bindings or procedure components, these explanatory messages
are often bogus, because the re-analysis didn't adjust the actual
arguments to account for the PASS argument. Fix.
Commit: 6f612cfbd921f48f28d228689cabd8722ad47368
https://github.com/llvm/llvm-project/commit/6f612cfbd921f48f28d228689cabd8722ad47368
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx11.cpp
Log Message:
-----------
[clang] stop error recovery in SFINAE for narrowing in converted constant expressions (#183614)
A narrowing conversion in a converted constant expression should produce
an invalid expression so that [temp.deduct.general]p7 is satisfied, by
stopping substitution at this point.
This regression was introduced in #164703, and this will be backported
to clang-22, so no release notes.
Fixes #167709
Commit: ca04a70891fbc1ce97f3abd3479848c3731fe8c8
https://github.com/llvm/llvm-project/commit/ca04a70891fbc1ce97f3abd3479848c3731fe8c8
Author: Mohamed Emad <hulxxv at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/bf16sub.h
A libc/shared/math/bf16subf.h
A libc/shared/math/bf16subf128.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/bf16sub.h
A libc/src/__support/math/bf16subf.h
A libc/src/__support/math/bf16subf128.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/bf16sub.cpp
M libc/src/math/generic/bf16subf.cpp
M libc/src/math/generic/bf16subf128.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor bf16sub family to header-only (#182115)
Refactors the bf16sub math family to be header-only.
Closes https://github.com/llvm/llvm-project/issues/182114
Target Functions:
- bf16sub
- bf16subf
- bf16subf128
Commit: fc153b1e254fcdab9fa6c2c477f7ba3dec187454
https://github.com/llvm/llvm-project/commit/fc153b1e254fcdab9fa6c2c477f7ba3dec187454
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
Log Message:
-----------
[alpha.webkit.NoDeleteChecker] Check if each field is trivially destructive (#183711)
This PR fixes the bug that NoDeleteChecker and trivial function analysis
were not detecting any non-trivial destruction of class member
variables.
When evaluating a delete expression or calling a destructor directly for
triviality, check if each field in the class and its base classes is
trivially destructive.
Commit: fff2f0ba78fe0a7073dd971c0db48d6d0f17975c
https://github.com/llvm/llvm-project/commit/fff2f0ba78fe0a7073dd971c0db48d6d0f17975c
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/test/CodeGen/AMDGPU/wmma-coexecution-valu-hazards.mir
Log Message:
-----------
[AMDGPU] Handle GFX1250 hazards between WMMA and VOPD (#183573)
Hazards between WMMA and VALU were handled in #149865 but this only
worked for regular VOP* VALU encodings, not for VOPD.
Fixes: #183546
Commit: 02ebe23163c03a2a4f470f9b3073b35046926a99
https://github.com/llvm/llvm-project/commit/02ebe23163c03a2a4f470f9b3073b35046926a99
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/docs/AddressSanitizer.rst
Log Message:
-----------
[ASan] Document limitations of container overflow checks (#183590)
Mention that partially poisoning stack objects can
lead to false positives and negatives.
See #182720.
---------
Co-authored-by: Saleem Abdulrasool <compnerd at compnerd.org>
Commit: 2c98566900f09aa329c41abd164766e7a7e76968
https://github.com/llvm/llvm-project/commit/2c98566900f09aa329c41abd164766e7a7e76968
Author: Daniel Thornburgh <mysterymath at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Options/Options.td
M clang/lib/Driver/ToolChains/HLSL.cpp
R clang/test/Driver/HLSL/fre-errors.hlsl
M clang/test/Driver/HLSL/metal-converter.hlsl
Log Message:
-----------
Revert "[Metal][HLSL] Add support for dumping reflection" (#183818)
Reverts llvm/llvm-project#181258
`env PATH=""` will prevent finding any binary run by `env`.
Commit: 977702ccc40dbaad64a453e75239914f3dff0761
https://github.com/llvm/llvm-project/commit/977702ccc40dbaad64a453e75239914f3dff0761
Author: Serosh <janmejayapanda400 at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
A clang/test/SemaCXX/gh183505.cpp
Log Message:
-----------
[clang] fix crash when casting a parenthesized unresolved template-id (#183633)
this fix uses ignoreparens() in checkplaceholderexpr to prevent a crash
when an unresolved template-id is wrapped in parentheses. fixes #183505
Commit: d0afaeadecd06849b3d9cf107cf23c583b5a7736
https://github.com/llvm/llvm-project/commit/d0afaeadecd06849b3d9cf107cf23c583b5a7736
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Lex/HeaderSearchOptions.h
M clang/include/clang/Lex/ModuleMap.h
M clang/include/clang/Options/Options.td
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Serialization/ASTReader.cpp
A clang/test/Modules/lazy-by-header-extern.c
A clang/test/Modules/lazy-by-header-lookup.c
A clang/test/Modules/lazy-by-header-nested.c
A clang/test/Modules/lazy-by-header-private.c
A clang/test/Modules/lazy-by-header-umbrella-dir.c
A clang/test/Modules/lazy-by-header-umbrella-header.c
M clang/test/Modules/lazy-by-name-lookup.c
Log Message:
-----------
[clang][modulemap] Lazily load module maps by header name (#181916)
After header search has found a header it looks for module maps that
cover that header. This patch uses the parsed representation of module
maps to do this search instead of relying on FileEntryRef lookups after
stating headers in module maps.
This behavior is currently gated behind the
`-fmodules-lazy-load-module-maps` `-cc1` flag.
Commit: 1073951bdb8e12552a5d9b9fffa806ffe187e475
https://github.com/llvm/llvm-project/commit/1073951bdb8e12552a5d9b9fffa806ffe187e475
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp
M mlir/test/Dialect/ControlFlow/canonicalize.mlir
Log Message:
-----------
[mlir][cf] Fix crash in simplifyBrToBlockWithSinglePred when branch operand is a block argument of its successor (#183797)
When `simplifyBrToBlockWithSinglePred` merges a block into its sole
predecessor, it calls `inlineBlockBefore` which replaces each block
argument with the corresponding value passed by the branch. If one of
those values is itself a block argument of the successor block, the call
`replaceAllUsesWith(arg, arg)` is a no-op. Any uses of that argument
outside the block (e.g. in a downstream block) are therefore not
replaced, and when the successor block is erased the argument is
destroyed while those uses are still live, triggering the assertion
`use_empty() && "Cannot destroy a value that still has uses\!"` in
`IRObjectWithUseList::~IRObjectWithUseList`.
Guard against this by returning early when any branch operand is a block
argument owned by the destination block.
Fixes #126213
Commit: a71ded3861aafd88cc8abd672a24901d73e5624a
https://github.com/llvm/llvm-project/commit/a71ded3861aafd88cc8abd672a24901d73e5624a
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M bolt/unittests/Core/MCPlusBuilder.cpp
Log Message:
-----------
[BOLT][AArch64] Add a unittest for compare-and-branch inversion. (#181177)
Checks that isReversibleBranch() returns false
- when the immediate value is 63 and needs +1 adjustment
- when the immediate value is 0 and needs -1 adjustment
Checks that reverseBranchCondition() adjusts
- the opcode
- the immediate operand if necessary (+/-1)
- the register operands if necessary (swap)
Commit: c2f66f2a940e8c7edca2264ae207db5711432070
https://github.com/llvm/llvm-project/commit/c2f66f2a940e8c7edca2264ae207db5711432070
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp
Log Message:
-----------
[WebAseembly] Fix -Wunused-variable in #181755
This variable ends up being unused in builds without assertions. Mark it
[[maybe_unused]] per the coding standards.
Commit: 63ab568070c757ad9c4a4ba8c34f12f69e3ccc6d
https://github.com/llvm/llvm-project/commit/63ab568070c757ad9c4a4ba8c34f12f69e3ccc6d
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope.ll
Log Message:
-----------
[NFC] [HWASan] add test for duplicated lifetime end
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/183807
Commit: 94bd8b9444be293dbed98b0c3c2adaeac796e31f
https://github.com/llvm/llvm-project/commit/94bd8b9444be293dbed98b0c3c2adaeac796e31f
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/stack-tagging.ll
Log Message:
-----------
[NFC] [MTE] add test for duplicated lifetime end
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/183808
Commit: d7e037c8383e66e5c07897f144f6d8ef47258682
https://github.com/llvm/llvm-project/commit/d7e037c8383e66e5c07897f144f6d8ef47258682
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/mul-simplification.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs-apple.ll
M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vector-loop-backedge-elimination-with-evl.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-decreasing.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-poison-ub-ops-feeding-pointer.ll
M llvm/test/Transforms/LoopVectorize/reduction-minmax-users-and-predicated.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-cond-poison.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
Log Message:
-----------
Revert "[VPlan] Remove manual region removal when simplifying for VF and UF. (#181252)"
This reverts commit 9c53215d213189d1f62e8f6ee7ba73a089ac2269.
Appears to cause crashes with ordered reductions, revert while I
investigate
Commit: cdd4313183184e0741cce3b425779fcce16cc39b
https://github.com/llvm/llvm-project/commit/cdd4313183184e0741cce3b425779fcce16cc39b
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
M mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir
Log Message:
-----------
[mlir][LLVM] Let decomposeValue/composeVale pad out larger types (#183825)
Currently, as pointed out in the reviews for #183405, decomposeValues
and composeValues should be able to emit zexts and truncations for cases
like i48 and vector<3xi16> becoming i32s but currently that's an assert.
This commit fixes that limitation.
Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>
Commit: 8f268e63e484106f25e2a5740c8a38b587218387
https://github.com/llvm/llvm-project/commit/8f268e63e484106f25e2a5740c8a38b587218387
Author: Hansang Bae <hansang.bae at intel.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M offload/plugins-nextgen/level_zero/include/L0Program.h
Log Message:
-----------
[Offload] Remove unused data type (#183840)
Commit: 73d655a598d7743a2d415c4c85110c591414a08b
https://github.com/llvm/llvm-project/commit/73d655a598d7743a2d415c4c85110c591414a08b
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
A llvm/test/Transforms/LoopVectorize/predicated-early-exits-interleave.ll
Log Message:
-----------
[VPlan] Support unrolling/cloning masked VPInstructions.
Account for masked VPInstruction when verifying the operands in the
constructor. Fixes a crash when trying to unroll VPlans for predicated
early exits.
Commit: 7ad2c6db54a0e77249f2edb3c589ccf4c930d455
https://github.com/llvm/llvm-project/commit/7ad2c6db54a0e77249f2edb3c589ccf4c930d455
Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/include/mlir/Dialect/Arith/IR/ArithOpsInterfaces.td
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Dialect/Arith/canonicalize.mlir
M mlir/test/Dialect/Arith/ops.mlir
M mlir/test/Transforms/canonicalize.mlir
Log Message:
-----------
[mlir][arith] Add `exact` to `index_cast{,ui}` (#183395)
The `exact` flag with the following semantics
> If the `exact` attribute is present, it is assumed that the index type
width
> is such that the conversion does not lose information. When this
assumption
> is violated, the result is poison.
can be added to index_cast and index_castui operations. This unlocks
the following lowerings:
* index_cast (signed) exact -> trunc nsw
* index_castui (unsigned) exact -> trunc nuw
* index_castui nneg exact -> trunc nuw nsw
Changes:
* Adds ArithExactFlagInterface.
* Updates Arith_IntBinaryOpWithExactFlag to use ArithExactFlagInterface
* Update IndexCastOp and IndexCastUIOp to declare
`ArithExactFlagInterface`
* Update canonicalization patterns
* Update roundtrip, lowering, and canonicalization tests.
Commit: abbba22f45665b25b01693fc7a41712660b3c124
https://github.com/llvm/llvm-project/commit/abbba22f45665b25b01693fc7a41712660b3c124
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M lldb/examples/python/formatter_bytecode.py
M lldb/test/Shell/ScriptInterpreter/Python/bytecode.test
Log Message:
-----------
[lldb] Add synthetic support to formatter_bytecode.py (#183804)
Updates formatter_bytecode.py to support compilation and disassembly for
synthetic formatters, in other words support for multiple functions
(signatures).
This includes a number of other changes:
* String parsing and encoding have bugs fixed
* CLI args are updated, primarily to support an output file
* Added uleb encoding/decoding support
This work is a prelude the ongoing work of a Python to formatter
bytecode compiler. The python compiler to emit assembly, and this module
(formatter_bytecode) will compile it into binary bytecode.
Commit: c5588becb8dd0c9dd0e81bd29bb39d098f8df572
https://github.com/llvm/llvm-project/commit/c5588becb8dd0c9dd0e81bd29bb39d098f8df572
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M lldb/test/API/lang/cpp/gmodules/alignment/TestPchAlignment.py
M lldb/test/API/lang/cpp/gmodules/basic/TestWithModuleDebugging.py
M lldb/test/API/macosx/add-dsym/TestAddDsymDownload.py
M lldb/test/API/macosx/add-dsym/TestAddDsymMidExecutionCommand.py
Log Message:
-----------
[lldb] Add skip shared build to more API tests
Fixing test failures on my local desktop with incremental
building.
Commit: 0a9b5d52188f96b29cacbfee3bac8e1438035b32
https://github.com/llvm/llvm-project/commit/0a9b5d52188f96b29cacbfee3bac8e1438035b32
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M libcxx/include/__algorithm/find.h
M libcxx/include/__algorithm/find_if.h
M libcxx/include/__algorithm/find_if_not.h
M libcxx/include/__algorithm/ranges_find_if.h
M libcxx/include/__algorithm/ranges_find_if_not.h
M libcxx/include/__algorithm/ranges_remove_if.h
Log Message:
-----------
[libc++] Forward find* algorithms to find_if (#179938)
This propagates any optimizations to the whole family of `find`
functions.
Commit: e35fc30cb8f52a1d5a011649c47760845b5d14c0
https://github.com/llvm/llvm-project/commit/e35fc30cb8f52a1d5a011649c47760845b5d14c0
Author: Kaitlin Peng <kaitlinpeng at microsoft.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
Log Message:
-----------
Fix `BuiltinTypeMethodBuilder` uninitialized pointer (#183814)
>From [this
comment](https://github.com/llvm/llvm-project/pull/176058/changes/BASE..50c5be4bdf19a8a80b7e6e9d3ae46e11ff20a6e0#r2856661750)
on PR #176058, static analysis was flagging `TemplateParams` as not
initialized on all paths. This change fixes it by initializing to
`nullptr` at declaration.
Commit: 788625757ea4a7de562461dfea9b7a59b050ec91
https://github.com/llvm/llvm-project/commit/788625757ea4a7de562461dfea9b7a59b050ec91
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
Log Message:
-----------
[NFC] Fix use-after-free: track TargetLibraryAnalysis in BasicAAResult invalidation (#183852)
`BasicAAResult` holds a reference to `TargetLibraryInfo` but its
`invalidate()` function did not check `TargetLibraryAnalysis`. When the
pass manager destroyed and re-created `TLI` (e.g. during `CGSCC`
invalidation or `FAM.clear()`), `BasicAAResult` survived with a dangling
`TLI` reference.
This was exposed by #157495 which added `aliasErrno()`, the first code
path that dereferences `TLI` from `BasicAAResult` during the `CGSCC`
pipeline, causing a AV when compiling Rust's core library on Arm64
Windows.
This change adds `TargetLibraryAnalysis` to the invalidation check so
`BasicAAResult` is properly invalidated when its `TLI` reference becomes
stale.
Commit: 329c52c1004f2d0f487577f73387c8dd8b47fd9a
https://github.com/llvm/llvm-project/commit/329c52c1004f2d0f487577f73387c8dd8b47fd9a
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M lldb/include/lldb/Host/HostInfoBase.h
M lldb/include/lldb/Host/aix/HostInfoAIX.h
M lldb/include/lldb/Host/linux/HostInfoLinux.h
M lldb/include/lldb/Host/windows/HostInfoWindows.h
M lldb/include/lldb/Initialization/SystemInitializerCommon.h
M lldb/source/API/SystemInitializerFull.cpp
M lldb/source/Host/aix/HostInfoAIX.cpp
M lldb/source/Host/common/HostInfoBase.cpp
M lldb/source/Host/linux/HostInfoLinux.cpp
M lldb/source/Host/windows/HostInfoWindows.cpp
M lldb/source/Initialization/SystemInitializerCommon.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/tools/lldb-mcp/lldb-mcp.cpp
M lldb/tools/lldb-server/SystemInitializerLLGS.h
M lldb/tools/lldb-test/SystemInitializerTest.cpp
Log Message:
-----------
[lldb] Change the way the shlib directory helper is set (#183637)
This PR changes the way we set the shlib directory helper. Instead of
setting it while initializing the Host plugin, we register it when
initializing the Python plugin. The motivation is that the current
approach is incompatible with the dynamically linked script
interpreters, as they will not have been loaded at the time the Host
plugin is initialized.
The downside of the new approach is that we set the helper after having
initialized the Host plugin, which theoretically introduces a small
window where someone could query the helper before it has been set.
Fortunately the window is pretty small and limited to when we're
initializing plugins, but it's less "pure" than what we had previously.
That said, I think it balances out with removing the plugin include.
Commit: 07891ab5901cb25ac47afa99ead9eafea4d1cf2c
https://github.com/llvm/llvm-project/commit/07891ab5901cb25ac47afa99ead9eafea4d1cf2c
Author: Eric Christopher <echristo at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[cmake] Disable -Wdangling-pointer on GCC 12+ (#183593)
GCC 12 started warning on the RAII DAGUpdateListener pattern in
SelectionDAG.h (storing `this` in the constructor). It's a false
positive -- suppress it the same way we handle -Wno-dangling-reference
(GCC 13+) and -Wno-stringop-overread (GCC 11+).
Commit: c78f37fdebd852f567e6380382a8eda8a28f382f
https://github.com/llvm/llvm-project/commit/c78f37fdebd852f567e6380382a8eda8a28f382f
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/test/CIR/CodeGen/cleanup.cpp
M clang/test/CIR/CodeGen/coro-task.cpp
M clang/test/CIR/CodeGen/defaultarg.cpp
M clang/test/CIR/CodeGen/dtors.cpp
M clang/test/CIR/CodeGen/lambda-static-invoker.cpp
M clang/test/CIR/CodeGen/stmt-expr.cpp
M clang/test/CIR/CodeGen/struct.cpp
Log Message:
-----------
[CIR] Fix dominance problems with values defined in cleanup scopes (#183810)
We currently encounter dominance verification errors when a value is
defined inside a cleanup scope but used outside the scope. This occurs
when forceCleanup() is used to exit a cleanup scope while a variable is
holding a value that was created in the scope body. Classic codegen
solved this problem by passing a list of values to spill and reload to
forceCleanup(). This change implements that same solution for CIR.
I have also aligned the ScalarExprEmitter::VisitExprWithCleanups
implementation with that of classic codegen, eliminating an extra
lexical scope. This causes temporary allocas to be created at the next
higher existing lexical scope, but I think that's OK since they would be
hoisted there anyway by a later pass.
Commit: dc520a5f493aac270315304be10b9b8bc5119dfe
https://github.com/llvm/llvm-project/commit/dc520a5f493aac270315304be10b9b8bc5119dfe
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/test/Dialect/GPU/value-bounds-op-interface-impl.mlir
Log Message:
-----------
[mlir][GPU] Add ValueBoundsOphinterface to gpu.subgroup_broadcast (#183848)
This commit adds an ValueBoundsOpInterface to gpu.subgroup_broadcast,
matching its integer range interface implementation, so that affine
analysis can peek through subgroup broadcast ops.
Commit: 136ba6e208b2b670e999ce77c2b4c85771a0bdf2
https://github.com/llvm/llvm-project/commit/136ba6e208b2b670e999ce77c2b4c85771a0bdf2
Author: Ankit Aggarwal <aankit at qti.qualcomm.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/lib/Basic/Targets/Hexagon.h
M clang/test/Preprocessor/hexagon-predefines.c
Log Message:
-----------
[Hexagon] Define __HVX_IEEE_FP__ when -mhvx-ieee-fp is enabled (#183829)
Add a __HVX_IEEE_FP__ define when the compiler is invoked with
-mhvx-ieee-fp flag
Commit: e3c045415ae52167e197d4a6ed4ad5a04e49423a
https://github.com/llvm/llvm-project/commit/e3c045415ae52167e197d4a6ed4ad5a04e49423a
Author: Johannes de Fine Licht <johannes.definelicht at nextsilicon.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M clang/cmake/modules/AddClang.cmake
M llvm/cmake/modules/AddLLVM.cmake
M mlir/cmake/modules/AddMLIR.cmake
Log Message:
-----------
[CMake] Propagate dependencies to OBJECT libraries in `add_llvm_library` (#183541)
Previously, transitively inherited calls to
`target_include_directories(foo SYSTEM ...)` were being squashed into a
flat list of includes, effectively stripping off `-isystem` and
unintentionally forwarding warnings from such dependencies.
To correctly propagate `SYSTEM` dependencies, use
`target_link_libraries` to forward the parent target's link dependencies
to the OBJECT library (similar to the `_static` flow below). Unlike a
flat `target_include_directories`, this lets CMake resolve transitive
SYSTEM include directories through the proper dependency chain.
Note that `target_link_libraries` on an OBJECT library propagates all
usage requirements, not just includes. This also brings in transitive
`INTERFACE_COMPILE_DEFINITIONS`, `INTERFACE_COMPILE_OPTIONS`, and
`INTERFACE_COMPILE_FEATURES`. This is arguably more correct, as the
OBJECT library compiles the same sources and should see the same flags.
The existing `target_include_directories` call is retained for include
directories set directly on the target (not through link dependencies).
CMake deduplicates include directories that appear through both paths.
Compile definitions and options may technically appear twice (once via
the OBJECT library, once via the consuming target), but duplicate `-D`
and flag entries should be harmless in practice.
Also fix `clang_target_link_libraries` and `mlir_target_link_libraries`
to forward the link type (PUBLIC/PRIVATE/INTERFACE) to `obj.*` targets.
Previously the type keyword was silently dropped, resulting in
plain-signature `target_link_libraries` calls. This is now required
because the new keyword-signature call in `llvm_add_library` would
otherwise conflict (CMake requires all calls on a target to use the same
signature).
Commit: fd9421cccd0bc11b312485542cfc7e88b4d3c7b5
https://github.com/llvm/llvm-project/commit/fd9421cccd0bc11b312485542cfc7e88b4d3c7b5
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M lldb/examples/python/formatter_bytecode.py
Log Message:
-----------
[lldb] Fix sys.path manipulation failure in formatter_bytecode.py (#183868)
Fix bug in #183804.
Commit: 12e1075b6495a448fd985bfad1c35382aa0e0e42
https://github.com/llvm/llvm-project/commit/12e1075b6495a448fd985bfad1c35382aa0e0e42
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/bv-root-part-of-graph.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-node-with-non-schedulable-parent.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-vectorize-gathered-def-after-use.ll
M llvm/test/Transforms/SLPVectorizer/extract-many-users-buildvector.ll
Log Message:
-----------
[SLP]Fix operand reordering when estimating profitability of operands
Need to swap operand for a single instruction, not for the the same lane
of the first and second instruction in the list
Commit: 795cfaea9cc8a812f5dace400d13d879b825e42c
https://github.com/llvm/llvm-project/commit/795cfaea9cc8a812f5dace400d13d879b825e42c
Author: Ayokunle Amodu <ayokunle321 at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
R clang/test/CIR/CodeGen/address-of.cpp
R clang/test/CIR/CodeGen/builtin-bit-cast.cpp
R clang/test/CIR/CodeGen/builtin-floating-point.c
R clang/test/CIR/CodeGen/builtin-memchr.c
R clang/test/CIR/CodeGen/builtins-elementwise.c
R clang/test/CIR/CodeGen/object-size.c
R clang/test/CIR/CodeGen/object-size.cpp
R clang/test/CIR/CodeGen/offset-of.cpp
R clang/test/CIR/CodeGen/pred-info-builtins.c
A clang/test/CIR/CodeGenBuiltins/builtin-address-of.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-bit-cast.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-bit.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-call.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-inline.c
A clang/test/CIR/CodeGenBuiltins/builtin-memchr.c
A clang/test/CIR/CodeGenBuiltins/builtin-new-delete.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-object-size.c
A clang/test/CIR/CodeGenBuiltins/builtin-object-size.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-offset-of.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-prefetch.c
A clang/test/CIR/CodeGenBuiltins/builtin-printf.cpp
R clang/test/CIR/CodeGenBuiltins/builtin_bit.cpp
R clang/test/CIR/CodeGenBuiltins/builtin_call.cpp
R clang/test/CIR/CodeGenBuiltins/builtin_inline.c
R clang/test/CIR/CodeGenBuiltins/builtin_new_delete.cpp
R clang/test/CIR/CodeGenBuiltins/builtin_prefetch.c
R clang/test/CIR/CodeGenBuiltins/builtin_printf.cpp
M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
M clang/test/CIR/CodeGenBuiltins/builtins-floating-point.c
A clang/test/CIR/CodeGenBuiltins/builtins-pred-info.c
Log Message:
-----------
[CIR][NFC] Move some builtin tests to the CodeGenBuitins folder (#183607)
This moves a few tests that were created in the wrong location. Also
changes the names of some test files to maintain consistency.
Commit: 342e44603dc2a3a44820f93b4d974af03c3ff68a
https://github.com/llvm/llvm-project/commit/342e44603dc2a3a44820f93b4d974af03c3ff68a
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU][SIInsertWaitcnts] Move VCCZ workaround code out of the way (#182619)
This is a cleanup patch that moves the VCCZ specific workaround code
from `SIInsertWaitcnts::insertWaitcntInBlock()` to a separate class and
refactors it a bit to make it easier to read.
The end result is a simpler `insertWaitcntInBlock()`.
Should be NFC.
Commit: 5395d2668968742043c2c0e47796930a63cd6bbf
https://github.com/llvm/llvm-project/commit/5395d2668968742043c2c0e47796930a63cd6bbf
Author: Demetrius Kanios <demetrius at kanios.net>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp
Log Message:
-----------
Revert "[WebAssembly] Incorporate SCCs into WebAssemblyFixIrreducibleControlFlow (#181755)" (#183872)
This reverts commit c05e323be7caaadff6fdd09a2336be60e3041af1.
Changes failed Emscripten tests.
Commit: 8bd8d8e6debe81bbffde1543921150503d012b65
https://github.com/llvm/llvm-project/commit/8bd8d8e6debe81bbffde1543921150503d012b65
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/load-saddr-offset-imm.ll
Log Message:
-----------
[AMDGPU] Remove extra pipes from load-saddr-offset-imm.ll (#183874)
This test uses opt to run instcombin and then pipes that into llc which
has its output piped into FileCheck. Before this patch, the test also
piped in the source file into llc as well, which caused issues with a
downstream test executor that executes the lines in bash. However, these
extra pipes don't make sense anyways, so remove them.
Commit: fb6b470caedc37c880b5112bd1c85be5f55e9114
https://github.com/llvm/llvm-project/commit/fb6b470caedc37c880b5112bd1c85be5f55e9114
Author: Mohamed Emad <hulxxv at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/floor.h
A libc/shared/math/floorbf16.h
A libc/shared/math/floorf.h
A libc/shared/math/floorf128.h
A libc/shared/math/floorf16.h
A libc/shared/math/floorl.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/floor.h
A libc/src/__support/math/floorbf16.h
A libc/src/__support/math/floorf.h
A libc/src/__support/math/floorf128.h
A libc/src/__support/math/floorf16.h
A libc/src/__support/math/floorl.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/floor.cpp
M libc/src/math/generic/floorbf16.cpp
M libc/src/math/generic/floorf.cpp
M libc/src/math/generic/floorf128.cpp
M libc/src/math/generic/floorf16.cpp
M libc/src/math/generic/floorl.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor floor family to header-only (#182194)
Refactors the floor math family to be header-only.
Closes https://github.com/llvm/llvm-project/issues/182193
Target Functions:
- floor
- floorbf16
- floorf
- floorf128
- floorf16
- floorl
Commit: 62cfe1659edff8874f2d814ee356cfc9199f62d5
https://github.com/llvm/llvm-project/commit/62cfe1659edff8874f2d814ee356cfc9199f62d5
Author: Mohamed Emad <hulxxv at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/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/shared/math.h
A libc/shared/math/acospif.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/acospif.h
M libc/src/__support/math/asinpif.h
M libc/src/__support/math/inv_trigf_utils.h
M libc/src/math/CMakeLists.txt
A libc/src/math/acospif.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/acospif.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/acospif_test.cpp
M libc/test/src/math/asinpif_test.cpp
M libc/test/src/math/exhaustive/CMakeLists.txt
A libc/test/src/math/exhaustive/acospif_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/acospif_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math][c23] implement C23 `acospif` math function (#183661)
Implementing C23 `acospi` math function for single-precision with the
header-only approach that is followed since #147386
Commit: 5f22decefac061c6e1e01804d46669a8c3ebc06c
https://github.com/llvm/llvm-project/commit/5f22decefac061c6e1e01804d46669a8c3ebc06c
Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaChecking.cpp
M clang/test/Sema/builtins-elementwise-math.c
M clang/test/SemaCXX/builtins-elementwise-math.cpp
M libclc/clc/lib/generic/math/clc_fdim.inc
Log Message:
-----------
Clang: Deprecate float support from __builtin_elementwise_max (#180885)
Now we have
__builtin_elementwise_maxnum
__builtin_elementwise_maximum
__builtin_elementwise_maximumnum
Commit: 6f9c68d32074162304f27d38e69f4de4cd26ab50
https://github.com/llvm/llvm-project/commit/6f9c68d32074162304f27d38e69f4de4cd26ab50
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-scalar-assignment-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fixed-wide-lane-mask.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call-scalarize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reductions-tf.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-struct-return.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-overflow-checks.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-wide-lane-mask.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-fold-uniform-memops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/AArch64/uniform-args-call-variants.ll
M llvm/test/Transforms/LoopVectorize/AArch64/widen-gep-all-indices-invariant.ll
M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/vplan-printing.ll
Log Message:
-----------
[VPlan] Don't adjust trip count for DataAndControlFlowWithoutRuntimeCheck (#183729)
Previously, the canonical IV increment may have overflowed to a non-zero
value due to vscale being a non power-of-two. So we used to emit a
runtime check for this.
If you didn't want the runtime check,
DataAndControlFlowWithoutRuntimeCheck skipped it and instead tweaked the
trip count so it wouldn't overflow.
However #144963 stopped the check from ever being emitted because vscale
is always a power-of-two on AArch64 and RISC-V, so it never overflowed
to a non-zero value. And in #183292 the code to emit the check was
removed. But we never restored the trip count back to normal when the
target's vscale was a power-of-two.
Now that vscale is always a power-of-two, this PR avoids adjusting it. A
follow up NFC can then remove DataAndControlFlowWithoutRuntimeCheck.
Commit: 0b88ee12dd88cb27275750406364fad014d87d65
https://github.com/llvm/llvm-project/commit/0b88ee12dd88cb27275750406364fad014d87d65
Author: David Rivera <davidriverg at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
M clang/lib/CIR/CodeGen/TargetInfo.cpp
M clang/lib/CIR/CodeGen/TargetInfo.h
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/IR/address-space.cir
M clang/test/CIR/IR/invalid-addrspace.cir
Log Message:
-----------
[CIR] Infrastructure and MemorySpaceAttrInterface for Address Spaces (#179073)
Related: https://github.com/llvm/llvm-project/issues/175871,
https://github.com/issues/assigned?issue=llvm%7Cllvm-project%7C179278,
https://github.com/issues/assigned?issue=llvm%7Cllvm-project%7C160386
- Introducing the LangAddressSpace enum with offload address space kinds
(offload_private, offload_local, offload_global, offload_constant,
offload_generic) and the LangAddressSpaceAttr attribute.
- Generalizes CIR AS attributes as MemorySpaceAttrInterface and Attaches
it to `PointerType`. Includes test coverage for valid IR roundtrips and
invalid address space parsing.
This starts a series of patches with the purpose of bringing complete
address spaces support features for CIR. Most of the test coverage is
provided in subsequent patches further down the stack. note that most of
these patches are based on: https://github.com/llvm/clangir/pull/1986
Commit: d72e95bab071ef4f7f45ab3c4e47047325d50333
https://github.com/llvm/llvm-project/commit/d72e95bab071ef4f7f45ab3c4e47047325d50333
Author: Akimasa Watanuki <mencotton0410 at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M clang/test/CIR/CodeGenHLSL/matrix-element-expr-load.hlsl
Log Message:
-----------
[CIR] Use `-verify` on clang/test/CIR/CodeGenHLSL/matrix-element-expr-load.hlsl (#182817)
Update clang/test/CIR/CodeGenHLSL/matrix-element-expr-load.hlsl to use
`-verify` with expected CIR NYI diagnostics.
Commit: fe76e9004b5bcc50dc5410910350f97f05db8984
https://github.com/llvm/llvm-project/commit/fe76e9004b5bcc50dc5410910350f97f05db8984
Author: SharonXSharon <xiaoranxu.nju at gmail.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
A llvm/test/CodeGen/X86/code_placement_ext_tsp_size_and_perf.ll
Log Message:
-----------
[CodeGen] Allow `-enable-ext-tsp-block-placement` and `-apply-ext-tsp-for-size` passed together (#183642)
Currently, the asserts fires when both `UseExtTspForPerf` and
`UseExtTspForSize` are true on a given function.
Ideally, we should allow `-enable-ext-tsp-block-placement` and
`-apply-ext-tsp-for-size` passed together, meaning run the block
placement for performance on hot functions, while run the placement for
size on cold functions.
The diff makes `UseExtTspForPerf` and `UseExtTspForSize` mutually
exclusive per-function: functions with the `OptForSize` attribute use
ext-tsp block placement for size, while the others use ext-tsp block
placement for perf.
Co-authored-by: Sharon Xu <sharonxu at fb.com>
Commit: ce6a3d98cc3e208e8a4014b7812515951bf048ce
https://github.com/llvm/llvm-project/commit/ce6a3d98cc3e208e8a4014b7812515951bf048ce
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls-module.cpp
Log Message:
-----------
[clang-tidy] Teach `misc-unused-using-decls` that exported using-decls aren't unused (#183638)
Fixes #162619.
Commit: bed89970c3df5e755820708580e405f65ddaa1ba
https://github.com/llvm/llvm-project/commit/bed89970c3df5e755820708580e405f65ddaa1ba
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M bolt/test/AArch64/skip-non-vfuncptr-reloc-in-relative-vtable.s
M lld/test/ELF/aarch64-branch-to-branch.s
M lld/test/ELF/aarch64-feature-bti.s
M lld/test/ELF/aarch64-funcinit64-invalid.s
M lld/test/ELF/aarch64-funcinit64.s
M lld/test/ELF/aarch64-range-thunk-extension-plt32.s
M lld/test/ELF/aarch64-reloc-gotpcrel32.s
M lld/test/ELF/aarch64-reloc-plt32.s
M lld/test/ELF/aarch64-undefined-weak.s
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h
M llvm/test/CodeGen/AArch64/ptrauth-irelative.ll
M llvm/test/MC/AArch64/data-directive-specifier.s
M llvm/test/MC/AArch64/elf-reloc-ptrauth.s
Log Message:
-----------
AArch64: Replace @plt/%gotpcrel in data directives with %pltpcrel %gotpcrel (#155776)
Similar to #132569 for RISC-V, replace the unofficial `@plt` and
`@gotpcrel` relocation specifiers, currently only used by clang
-fexperimental-relative-c++-abi-vtables, with %pltpcrel %gotpcrel. The
syntax is not used in humand-written assembly code, and is not supported
by GNU assembler.
Also replace the recent `@funcinit` with `%funcinit(x)`.
Commit: 27d654c4c4e6eb7c19e46af20500200e793da7c7
https://github.com/llvm/llvm-project/commit/27d654c4c4e6eb7c19e46af20500200e793da7c7
Author: Son Tuan Vu <sontuavu at amd.com>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerVGPREncoding.cpp
M llvm/test/CodeGen/AMDGPU/vgpr-lowering-gfx1250.mir
Log Message:
-----------
[AMDGPU] Fix piggybacking after commute in AMDGPULowerVGPREncoding (#183778)
After successfully commuting an instruction to be compatible with the
current VGPR MSB mode, update CurrentMode with the commuted
instruction's mode requirements. This locks in the mode bits the
commuted instruction relies on, preventing later instructions from
piggybacking and corrupting those bits.
Without this fix, a subsequent instruction needing a different mode
could piggyback onto the preceding s_set_vgpr_msb and change mode bits
that the commuted instruction depends on. For example, a nullopt src1
position (treated as 0) could be overwritten to a different value,
causing incorrect register encoding for the commuted instruction.
The fix still allows compatible piggybacking - instructions that only
add new mode bits without changing existing ones can still piggyback.
Commit: 3b30dcddd97355ee36f13c5e2ca56c1d6f137b7a
https://github.com/llvm/llvm-project/commit/3b30dcddd97355ee36f13c5e2ca56c1d6f137b7a
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-27 (Fri, 27 Feb 2026)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Options/Options.td
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/reloc-section-sym.c
A clang/test/Misc/cc1as-reloc-section-sym.s
M clang/tools/driver/cc1as_main.cpp
Log Message:
-----------
[Driver] Add -Wa,--reloc-section-sym= to control section symbol conversion (#183472)
Wire the llvm-mc --reloc-section-sym={all,internal,none} option through
the clang driver (-Wa,--reloc-section-sym=) and cc1as
(--reloc-section-sym=). The option is only valid for ELF targets.
GNU Assembler will add the option as well.
Commit: 702e4ec5f705ccf72ecbf31301a364e8b2664843
https://github.com/llvm/llvm-project/commit/702e4ec5f705ccf72ecbf31301a364e8b2664843
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M lldb/test/API/macosx/delay-init-dependency/TestDelayInitDependency.py
Log Message:
-----------
[lldb/test] Skip TestDelayInitDependency on remote platforms (#183885)
This test exercises macOS-specific linker functionality (-delay_library)
and uses a hardcoded local working directory for the launch info. It
should not run against a remote platform where neither condition holds.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 1ff1e5f10a5c765b4cf1344c4964604dcd09fef3
https://github.com/llvm/llvm-project/commit/1ff1e5f10a5c765b4cf1344c4964604dcd09fef3
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
Log Message:
-----------
InstCombine: Stop applying nofpclass from use nofpclass attribute (#183835)
Functionally reverts a80d4329ce96856a02bd279c800c3d08619da4c9, with new
test.
This should be applied somewhere, but this is the wrong place.
Fixes regression reported after #182444
Commit: 55f9cf33fc14878d22415735cc1116925d9e79b3
https://github.com/llvm/llvm-project/commit/55f9cf33fc14878d22415735cc1116925d9e79b3
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
Log Message:
-----------
RISCVMCAsmInfo: Remove redundant `UseAtForSpecifier = false`. NFC (#183890)
UseAtForSpecifier defaults to false in MCAsmInfo, and RISCVMCAsmInfo
never calls initializeAtSpecifiers (which sets it to true).
Commit: ab2908ed21e7d45793fb6128543f4494f5c42c66
https://github.com/llvm/llvm-project/commit/ab2908ed21e7d45793fb6128543f4494f5c42c66
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-fold-tail.ll
A llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-group-requires-scalar-epilogue.ll
A llvm/test/Transforms/LoopVectorize/X86/transform-narrow-interleave-to-widen-memory-live-outs.ll
Log Message:
-----------
[LV] Add tail-folding & required scalar epilogue tests for IG narrowing.
Add additional tests to cover missing code paths when narrowing
interleave groups:
* tail-folding
* interleave-groups that require a scalar iteration.
Commit: c40b0b2235e5bfe600304fa4087e002b1a2f0908
https://github.com/llvm/llvm-project/commit/c40b0b2235e5bfe600304fa4087e002b1a2f0908
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h
M llvm/test/tools/llvm-dwarfdump/X86/verify_unit_header_chain.s
M llvm/test/tools/llvm-dwp/X86/cu_tu_units_manual_v5_invalid.s
M llvm/test/tools/llvm-symbolizer/split-dwarf-dwp-invalid.test
Log Message:
-----------
[llvm][DebugInfo] Bump DWARFContext maximum DWARF version (#183838)
In order to start testing DWARFv6 feature support we need to bump this
version for tooling to work.
This does not mean we officially support DWARFv6. It just enables us
testing the features gradually.
Commit: ce3460e002727a226ef6c2c3e29a978fb1823ad7
https://github.com/llvm/llvm-project/commit/ce3460e002727a226ef6c2c3e29a978fb1823ad7
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp
Log Message:
-----------
[llvm][DebugInfo] Bump DWARFDebugLine maximum DWARF version (#183841)
Bumps `.debug_line` maximum supported version to DWARFv6.
This does not mean we officially support DWARFv6. It just enables us
testing the features gradually.
Commit: 8f0928252bbe0a541cb9072a9504651d53e0d9dc
https://github.com/llvm/llvm-project/commit/8f0928252bbe0a541cb9072a9504651d53e0d9dc
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFListTable.cpp
M llvm/unittests/DebugInfo/DWARF/DWARFListTableTest.cpp
Log Message:
-----------
[llvm][DebugInfo] Bump DWARFListTable maximum DWARF version (#183859)
Bumps `.debug_rnglists` maximum supported version to DWARFv6.
This does not mean we officially support DWARFv6. It just enables us
testing the features gradually.
Added unit-test since there was no prior test in the entire LLVM
test-suite that checked this.
Commit: 9b1f7845227e48d71f206172f628bd2b1ebf2d1f
https://github.com/llvm/llvm-project/commit/9b1f7845227e48d71f206172f628bd2b1ebf2d1f
Author: David Green <david.green at arm.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrMVE.td
M llvm/test/CodeGen/Thumb2/mve-sli-sri.ll
Log Message:
-----------
[ARM][MVE] Add SLI and SRI recognition. (#183471)
This uses the newly added code from #182051 to optimize to MVE sli and
sri. The only major difference is the legal types supported, but we also
lower intrinsics via VSLIIMM/VSLIIMM, so that only one tablegen pattern
is needed.
Commit: 3403aac734189ae9d36695f3f8d12bd61f3678ea
https://github.com/llvm/llvm-project/commit/3403aac734189ae9d36695f3f8d12bd61f3678ea
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/Analysis/CMakeLists.txt
Log Message:
-----------
[CMake][LLVM] Disable PCH on Clang for file with custom flags too (#183813)
Precompiled headers are already skipped when building ConstantFolding.cpp with MSVC, they cause problems with Clang too so disable it there the same way.
Commit: b2c92bca2e6636c62c49719defd4f4e3df6b7ab1
https://github.com/llvm/llvm-project/commit/b2c92bca2e6636c62c49719defd4f4e3df6b7ab1
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/test/MC/ARM/dwarf-asm-multiple-sections.s
M llvm/test/MC/ELF/gen-dwarf.s
M llvm/tools/llvm-mc/llvm-mc.cpp
Log Message:
-----------
[llvm-mc][dwarf] Bump supported version to DWARF 6 (#183779)
Depends on:
* https://github.com/llvm/llvm-project/pull/183838
* https://github.com/llvm/llvm-project/pull/183841
* https://github.com/llvm/llvm-project/pull/183859
Bumps the supported version to 6. Unit header layout hasn't changed
between versions AFAIK, so re-used the DWARF5 `FileCheck` in the test.
This by no means claims full DWARFv6 support, but is handy for testing
DWARFv6 features while full support is being gradually implemented.
Commit: c8e211c2a8b23b7bed4fb6b76bd441caa44973de
https://github.com/llvm/llvm-project/commit/c8e211c2a8b23b7bed4fb6b76bd441caa44973de
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir][tensor] Fix crash in expand_shape fold with dynamic result type (#183785)
`foldReshapeOp` (in `ReshapeOpsUtils.h`) and `FoldReshapeWithConstant`
(in `TensorOps.cpp`) both tried to create a new `DenseElementsAttr`
constant when folding a reshape op whose operand is a constant. Neither
checked that the result type was statically shaped before doing so, but
`DenseElementsAttr::reshape()` and
`DenseElementsAttr::getFromRawBuffer()` both assert `hasStaticShape()`.
Guard both fold paths with a `hasStaticShape()` check so they return
early when the result type contains a dynamic dimension.
Fixes #177845
Commit: 7370091a43e5cbcb4cf56fb83b62e056903cb918
https://github.com/llvm/llvm-project/commit/7370091a43e5cbcb4cf56fb83b62e056903cb918
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M mlir/test/IR/visitors.mlir
M mlir/test/lib/IR/TestVisitors.cpp
Log Message:
-----------
[mlir][test-ir-visitors] Fix noSkipBlockErasure crash with block args used across blocks (#183828)
The noSkipBlockErasure callback in TestVisitors.cpp dropped uses of op
results within the same region before erasing a block, but did not drop
uses of the block's own arguments (e.g. function entry block arguments).
When the block was subsequently erased its block arguments were
destroyed while their use-lists were still non-empty, triggering the
assertion in IRObjectWithUseList::~IRObjectWithUseList().
Fix this by also iterating over the block's arguments and dropping any
uses that belong to the same parent region. This mirrors the existing
logic for op result uses and makes the block-erasure walk handle IRs
where function arguments are consumed by ops in sibling blocks.
Also replace `block->front().getParentRegion()` with
`block->getParent()` for robustness (avoids UB when the block has no
ops).
Add a regression test based on the reproducer from
https://github.com/llvm/llvm-project/issues/182996.
Fixes #182996
Commit: 245621408d03f8f85e2454332ad1816fed62c386
https://github.com/llvm/llvm-project/commit/245621408d03f8f85e2454332ad1816fed62c386
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/test/tools/llvm-cov/mcdc-macro.test
Log Message:
-----------
Restore #125407, Make covmap tolerant of nested Decisions (#183073)
Change(s):
- Suppress range errors in CounterExpr
Commit: f05b705dd3ce7fad6b30a2bc40dd9bbebf1e6a74
https://github.com/llvm/llvm-project/commit/f05b705dd3ce7fad6b30a2bc40dd9bbebf1e6a74
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M mlir/test/IR/visitors.mlir
Log Message:
-----------
[mlir] Fix crash in testNoSkipErasureCallbacks on empty blocks (#183757)
The `noSkipBlockErasure` callback in `testNoSkipErasureCallbacks` called
`block->front().getParentRegion()` to get the parent region of a block.
This dereferences the ilist sentinel node when the block has no
operations, triggering an assertion failure.
Use `block->getParent()` instead, which directly returns the region
containing the block without requiring any operations to be present.
Fixes #183511
Commit: b3be782c4d149d9f9fd4dbf0452db0af451bd1a2
https://github.com/llvm/llvm-project/commit/b3be782c4d149d9f9fd4dbf0452db0af451bd1a2
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/test/Dialect/Affine/canonicalize.mlir
Log Message:
-----------
[mlir][affine] Fix crash in linearize_index fold when multi-index is ub.poison (#183816)
`AffineLinearizeIndexOp::fold` guarded the constant-folding path with
`llvm::is_contained(adaptor.getMultiIndex(), nullptr)`, which only
catches operands that have not been evaluated at all. When an operand
folds to `ub.PoisonAttr`, the attribute is non-null so the guard passed,
and the subsequent `cast<IntegerAttr>(indexAttr)` call crashed with an
assertion failure.
Fix by replacing the null-only check with one that requires every
multi-index attribute to be a concrete `IntegerAttr`, returning
`nullptr` for any other attribute (including null and PoisonAttr).
Fixes #178204
Commit: 903acc2762d550d8f5934924aaf87b3527c63112
https://github.com/llvm/llvm-project/commit/903acc2762d550d8f5934924aaf87b3527c63112
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M clang/lib/CodeGen/ItaniumCXXABI.cpp
A clang/test/DebugInfo/CXX/ptrauth-member-function-pointer-debuglocs.cpp
Log Message:
-----------
[AArch64][PAC] Emit `!dbg` locations in `*_vfpthunk_` functions (#179688)
The usage of pointers to member functions with Pointer Authentication
requires generation of `*_vfpthunk_` functions. These thunk functions
can be later inlined and optimized by replacing the indirect call
instruction with a direct one and then inlining that function call.
In absence of `!dbg` metadata attached to the original call instruction,
such inlining ultimately results in an assertion "!dbg attachment points
at wrong subprogram for function" in the assertions-enabled builds. By
manually executing `opt` with `-verify-each` option on the LLVM IR
produced by the frontend, an actual issue can be observed: "inlinable
function call in a function with debug info must have a !dbg location"
after the replacement of indirect call instruction with the direct one
takes place.
This commit fixes the issue by attaching artificial `!dbg` locations to
the original call instruction (as well as most other instructions in
`*_vfpthunk_` function) the same way it is done for other
compiler-generated helper functions.
Commit: 0b61f15f2e138f7662d4542eabed478a99275751
https://github.com/llvm/llvm-project/commit/0b61f15f2e138f7662d4542eabed478a99275751
Author: David Green <david.green at arm.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
A llvm/test/CodeGen/AArch64/fcvt-i256.ll
Log Message:
-----------
[AArch64] Add fcvt-i256 test cases. NFC
Commit: 94ebc8a95baf27a6e53737d0e32fcd210ce75a1b
https://github.com/llvm/llvm-project/commit/94ebc8a95baf27a6e53737d0e32fcd210ce75a1b
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-load.ll
Log Message:
-----------
[LV] Remove duplicated IV expression sinking tests. (NFC)
Remove duplicated tests already covered by
llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-expr.ll.
Commit: 72525fb4ee370dcd598fd68a6515620ee3144bba
https://github.com/llvm/llvm-project/commit/72525fb4ee370dcd598fd68a6515620ee3144bba
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
Log Message:
-----------
[VPlan] Materialize UF after unrolling (NFCI).
Move materialization of the symbolic UF directly to unrollByUF. At this
point, unrolling materializes the decision and it is natural to also
materialize the symbolic UF here.
Commit: e655c36c16c118e3f8ae0c95854f33119218a4bf
https://github.com/llvm/llvm-project/commit/e655c36c16c118e3f8ae0c95854f33119218a4bf
Author: Matthias Springer <me at m-sp.org>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M mlir/include/mlir/IR/BuiltinAttributes.td
M mlir/include/mlir/IR/BuiltinTypeInterfaces.h
M mlir/include/mlir/IR/BuiltinTypeInterfaces.td
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/lib/AsmParser/AttributeParser.cpp
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/IR/AttributeDetail.h
M mlir/lib/IR/BuiltinAttributes.cpp
M mlir/lib/IR/BuiltinTypeInterfaces.cpp
M mlir/lib/IR/BuiltinTypes.cpp
A mlir/test/IR/dense-elements-type-interface.mlir
M mlir/test/lib/Dialect/Test/TestTypeDefs.td
M mlir/test/lib/Dialect/Test/TestTypes.cpp
M mlir/test/lib/Dialect/Test/TestTypes.h
Log Message:
-----------
[mlir][IR] Generalize `DenseElementsAttr` to custom element types (#183891)
`DenseElementsAttr` supports only a hard-coded list of element types:
`int`, `index`, `float`, `complex`. This commit generalizes the
`DenseElementsAttr` infrastructure: it now supports arbitrary element
types, as long as they implement the new `DenseElementTypeInterface`.
The `DenseElementTypeInterface` has the following helper functions:
- `getDenseElementBitSize`: Query the size of an element in bits. (When
storing an element in memory, each element is padded to a full byte.
This is an existing limitation of the `DenseElementsAttr`; with an
exception for `i1`.)
- `convertToAttribute`: Attribute factory / deserializer. Converts bytes
into an MLIR attribute. The attribute provides the assembly format /
printer for a single element.
- `convertFromAttribute`: Serializer. Converts an MLIR attribute into
bytes.
Note: `convertToAttribute` / `convertFromAttribute` are mainly for
writing test cases. For performance reasons, `DenseElementsAttr` users
should work with raw bytes / elements and avoid any API that
materializes MLIR attributes. However, MLIR attributes typically have
human-readable parsers/printers, making them suitable for lit tests and
debugging.
This PR introduces an additional assembly format for
`DenseElementsAttrs`. There are now two formats. (The existing one is
kept for compatibility reasons.)
- Literal-first (existing): `dense<[1, 2, 3]> : tensor<3xi32>`
- Type-first (new): `dense<tensor<3xi32> : [1 : i32, 2 : i32, 3 : i32]>`
The new syntax is needed to disambiguate between "literal" (e.g., `1`)
and attribute (e.g., `1 : i32`) when parsing the first token. In the
literal-first syntax, we only parse literals. In the type-first syntax,
we only parse attributes.
The existing `int`, `index`, `float`, `complex` types also implement the
`DenseElementTypeInterface`. This allows us to implement
`DenseElementsAttr::get` and `AttributeElementIterator::operator*` in a
generic way.
RFC:
https://discourse.llvm.org/t/rfc-allow-custom-element-types-in-denseelementattr/89656
This is a re-upload of #179122.
Commit: 2f7c947946f4861f93aee795de5f42ed80f03072
https://github.com/llvm/llvm-project/commit/2f7c947946f4861f93aee795de5f42ed80f03072
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/test/CodeGen/ARM/fp-intrinsics-vector-v8.ll
Log Message:
-----------
Precommit tests: strictfp rounding vector f16 intrinsics (#183699)
Commit: 225b56e742fea0abd326028872d257ae8cfd7544
https://github.com/llvm/llvm-project/commit/225b56e742fea0abd326028872d257ae8cfd7544
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm-interface.mlir
Log Message:
-----------
[mlir][VectorToLLVM] Fix crash in VectorInsertOpConversion with dynamic index (#183783)
VectorInsertOpConversion crashes with an assertion failure when
inserting a sub-vector at a dynamic position into a multi-dimensional
vector. The pattern calls getAsIntegers() on the position, which asserts
that all fold results are compile-time constant attributes.
The existing guard (checking llvm::IsaPred<Attribute>) only covered the
case where a scalar is inserted into the innermost dimension (the
extractvalue path). The guard was missing for the insertvalue path when
inserting a sub-vector at a dynamic position into a nested aggregate.
Fix: add the same guard before the llvm.insertvalue creation to return
failure() gracefully when any position index is dynamic, matching the
behavior of VectorExtractOpConversion.
Fixes #177829
Commit: 2342db00ab4d0305580814fb00f477b4b5cebec6
https://github.com/llvm/llvm-project/commit/2342db00ab4d0305580814fb00f477b4b5cebec6
Author: nextsilicon-itay-bookstein <55076759+nextsilicon-itay-bookstein at users.noreply.github.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M lld/tools/lld/CMakeLists.txt
M llvm/cmake/modules/LLVM-Config.cmake
Log Message:
-----------
[CMake] Use keyword signature in two additional callsites (#183889)
Fix-forward for https://github.com/llvm/llvm-project/pull/183541.
Two callsites to target_link_libraries were not migrated to the
keyword signature.
Signed-off-by: Itay Bookstein <itay.bookstein at nextsilicon.com>
Commit: 5b64aeb409ecd9f8e9ff95ffe5fde7eb6a26146c
https://github.com/llvm/llvm-project/commit/5b64aeb409ecd9f8e9ff95ffe5fde7eb6a26146c
Author: Matthias Springer <me at m-sp.org>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M mlir/include/mlir/IR/BuiltinAttributes.td
M mlir/include/mlir/IR/BuiltinTypeInterfaces.h
M mlir/include/mlir/IR/BuiltinTypeInterfaces.td
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/lib/AsmParser/AttributeParser.cpp
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/IR/AttributeDetail.h
M mlir/lib/IR/BuiltinAttributes.cpp
M mlir/lib/IR/BuiltinTypeInterfaces.cpp
M mlir/lib/IR/BuiltinTypes.cpp
R mlir/test/IR/dense-elements-type-interface.mlir
M mlir/test/lib/Dialect/Test/TestTypeDefs.td
M mlir/test/lib/Dialect/Test/TestTypes.cpp
M mlir/test/lib/Dialect/Test/TestTypes.h
Log Message:
-----------
Revert "[mlir][IR] Generalize `DenseElementsAttr` to custom element types" (#183917)
Reverts llvm/llvm-project#183891
Reverting a second time. The build bot failure seems to be
non-deterministic.
Commit: d5a8f1eda29abae6d2d0fa8e08a8402cc3fd84cc
https://github.com/llvm/llvm-project/commit/d5a8f1eda29abae6d2d0fa8e08a8402cc3fd84cc
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/known-pow2.ll
Log Message:
-----------
[X86] known-pow2.ll - add tests showing failure to handle ISD::EXTRACT_VECTOR_ELT nodes (#183918)
Commit: 7585ab05d6fb08f6b03329637018eb4774d39042
https://github.com/llvm/llvm-project/commit/7585ab05d6fb08f6b03329637018eb4774d39042
Author: LU-JOHN <John.Lu at amd.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/test/CodeGen/AMDGPU/hazard-shift64.mir
Log Message:
-----------
[AMDGPU] Enable shift64 hazard recognition for gfx9 (#183839)
Enable shift64 hazard recognition for gfx9 cores.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 3d086f573dc410a11bd11b1cdfba1ed2b80a95cb
https://github.com/llvm/llvm-project/commit/3d086f573dc410a11bd11b1cdfba1ed2b80a95cb
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/test/CIR/CodeGen/implicit-value-init-expr.cpp
Log Message:
-----------
[CIR] Implement ImplicitValueInitExpr for ComplexType (#183836)
Implement ImplicitValueInitExpr for ComplexType
Commit: a6ceae48f56cfd5ae3e87a865ef1fab315d1e0d0
https://github.com/llvm/llvm-project/commit/a6ceae48f56cfd5ae3e87a865ef1fab315d1e0d0
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
Log Message:
-----------
[AMDGPU] Assert non-array alloca does have a size (#183834)
Refs
https://github.com/llvm/llvm-project/pull/179523/changes#r2851952141
Commit: 4a93b9a1b1ec221cb66e7d31a4d80b225d7f8fce
https://github.com/llvm/llvm-project/commit/4a93b9a1b1ec221cb66e7d31a4d80b225d7f8fce
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/fp-intrinsics-vector-v8.ll
Log Message:
-----------
[ARM] Lower strictfp vector fp16 rounding operations similar to default mode (#183700)
Previously the strictfp rounding nodes were lowered using unrolling to
scalar operations, which has negative impact on performance. Partially
this issue was fixed in #180480, this change continues that work and
implements optimized lowering for v4f16 and v8f16.
Commit: 2430410b7d879fce3db76c21bb8c60ed22abd0b5
https://github.com/llvm/llvm-project/commit/2430410b7d879fce3db76c21bb8c60ed22abd0b5
Author: Minsoo Choo <minsoochoo0122 at proton.me>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M lldb/docs/index.rst
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/CMakeLists.txt
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_ppc64le.cpp
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_ppc64le.h
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ThreadFreeBSDKernelCore.cpp
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb][Process/FreeBSDKernelCore] Add ppc64le support (#180669)
This is LLDB version of
https://cgit.freebsd.org/ports/tree/devel/gdb/files/kgdb/ppcfbsd-kern.c.
This enables selecting ppc64le and reading registers from PCB structure
on core dump and live kernel debugging. FPU registers aren't supported
yet due to pcb structure issue, but this change still achieves feature
parity with KGDB. Trapframe unwinding support will be implemented in
future. Test files using core dump from ppc64le will be implemented once
other kernel debugging improvements are done.
---------
Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
Commit: 1909e43a4adc049db3fc4f1e622dd6702120562d
https://github.com/llvm/llvm-project/commit/1909e43a4adc049db3fc4f1e622dd6702120562d
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/test/Dialect/GPU/invalid.mlir
Log Message:
-----------
[mlir][GPU] Fix crash in WarpExecuteOnLane0Op::verify with wrong terminator (#183930)
WarpExecuteOnLane0Op::verify() called getTerminator() which performed an
unconditional cast<gpu::YieldOp> on the block's last operation. When the
op body was written with a different terminator (e.g. affine.yield), the
cast asserted immediately instead of emitting a verifier diagnostic.
Fix by using dyn_cast in verify() before calling getTerminator(), and
emitting a proper error message when the terminator is not gpu.yield.
Add a regression test to invalid.mlir.
Fixes #181450
Commit: 4d724c074dd14000c46224bf303cb8157a48d8ee
https://github.com/llvm/llvm-project/commit/4d724c074dd14000c46224bf303cb8157a48d8ee
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/known-never-zero.ll
Log Message:
-----------
[X86] known-never-zero.ll - add tests showing failure to handle ISD::EXTRACT_VECTOR_ELT nodes (#183934)
Commit: 3034c0966931bef36c169b5727ee20129aa4d4e3
https://github.com/llvm/llvm-project/commit/3034c0966931bef36c169b5727ee20129aa4d4e3
Author: James Wobser <james.wobser at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] bugfix: Whitesmiths with IndentAccessModifiers (#182432)
Due to special handling of Whitesmiths when parsing, the additional
level(s) needed for the block, when used with IndentAccessModifiers,
were not being applied. Consequently, when calculating the access
modifier indent offset, the modifiers were being placed at the class
level.
This change ensures that the additional level(s) are not omitted for
Whitesmiths.
Commit: 5ed875a06cb0a6d543f719ad72df2a1660e42cb9
https://github.com/llvm/llvm-project/commit/5ed875a06cb0a6d543f719ad72df2a1660e42cb9
Author: Gabriele Mondada <gab at ijk.ch>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M lldb/source/Utility/ZipFile.cpp
M lldb/unittests/Host/common/CMakeLists.txt
A lldb/unittests/Host/common/Inputs/zip-test-no-extras.zip
M lldb/unittests/Host/common/ZipFileResolverTest.cpp
Log Message:
-----------
[lldb][lldb-server] Fix zip file lookup ignoring last entry in the zip file (#173966)
Command qModuleInfo (GDB server protocol) can be used to request
metadata of shared libraries stored in a ZIP archive on the target. This
is typically used for retrieving SO files bundled in a APK file on
Android.
Requesting the last entry in the ZIP file often fails because of a bug
in the entry search mechanism. This PR fixes this.
NOTES:
* The bug appears only if the entry in the zip file has no extra field
or comment
* This is part on an effort to get lldb working for debugging Swift on
Android: https://github.com/swiftlang/llvm-project/issues/10831
Commit: e317f424557cbf76deaa568ab8a5416822453d50
https://github.com/llvm/llvm-project/commit/e317f424557cbf76deaa568ab8a5416822453d50
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/last-buildvector-node.ll
Log Message:
-----------
[SLP]Recalculate dependencies for the buildvector schedule node, if they have copyable node
Need to recalculate the deps for all buildvector nodes with copyable
deps to prevent a compiler crash during scheduling of instructions
Commit: 3e05ab6322cbf2a96362dcacb5907ba519fe552d
https://github.com/llvm/llvm-project/commit/3e05ab6322cbf2a96362dcacb5907ba519fe552d
Author: yonghong-song <yhs at fb.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M clang/test/CodeGen/distributed-thin-lto/cfi-devirt.ll
M clang/test/CodeGen/distributed-thin-lto/cfi.ll
M clang/test/CodeGen/thinlto-funcattr-prop.ll
M lld/test/ELF/lto/comdat-nodeduplicate.ll
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/include/llvm/LTO/LTO.h
M llvm/include/llvm/Transforms/IPO/WholeProgramDevirt.h
M llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/ModuleSummaryIndex.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
M llvm/test/Assembler/thinlto-memprof-summary.ll
M llvm/test/Assembler/thinlto-multiple-summaries-for-guid.ll
M llvm/test/Assembler/thinlto-summary-visibility.ll
M llvm/test/Assembler/thinlto-summary.ll
M llvm/test/Assembler/thinlto-vtable-summary.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-relbf.ll
M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
M llvm/test/Bitcode/thinlto-index-disassembled-by-llvm-dis.ll
M llvm/test/Bitcode/thinlto-type-tests.ll
M llvm/test/Bitcode/thinlto-type-vcalls.ll
A llvm/test/ThinLTO/X86/Inputs/reduce-promotion-same-file-local-name.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-maythrow.ll
M llvm/test/ThinLTO/X86/funcimport_alwaysinline.ll
M llvm/test/ThinLTO/X86/import_callee_declaration.ll
M llvm/test/ThinLTO/X86/load-store-caching.ll
A llvm/test/ThinLTO/X86/reduce-promotion-devirt.ll
A llvm/test/ThinLTO/X86/reduce-promotion-same-file-local-name.ll
A llvm/test/ThinLTO/X86/reduce-promotion-same-local-name.ll
A llvm/test/ThinLTO/X86/reduce-promotion.ll
M llvm/test/Transforms/LowerTypeTests/import-unsat.ll
M llvm/test/Transforms/WholeProgramDevirt/Inputs/import-indir.yaml
M llvm/test/Transforms/WholeProgramDevirt/import-indir.ll
Log Message:
-----------
[ThinLTO] Reduce the number of renaming due to promotions (#183793)
Currently for thin-lto, the imported static global values (functions,
variables, etc) will be promoted/renamed from e.g., foo() to
foo.llvm.(). Such a renaming caused difficulties in live patching
since function name is changed ([1]).
It is possible that some global value names have to be promoted to avoid
name collision and linker failure. But in practice, majority of name
promotions can be avoided.
In [2], the suggestion is that thin-lto pre-link decides whether
a particular global value needs name promotion or not. If yes, later on
in thinBackend() the name will be promoted.
I compiled a particular linux kernel version (latest bpf-next tree)
and found 1216 global values with suffix .llvm.. With this patch,
the number of promoted functions is 2, 98% reduction from the
original kernel build.
If some native objects are not participating with LTO, name promotions
have to be done to avoid potential linker issues. So the current
implementation cannot be on by default. But in certain cases, e.g., linux kernel
build, people can enable lld flag --lto-whole-program-visibility to reduce the
number of functions like foo.llvm.().
For ThinLTOCodeGenerator.cpp which is used by llvm-lto tool and a
few other rare cases, reducing the number of renaming due to promotion,
is not implemented as lld flag '-lto-whole-program-visibility' is not
supported in ThinLTOCodeGenerator.cpp for now. In summary, this pull
request only supports llvm-lto2 style workflow.
The feature is off by default. To enable the future, lld flag
'-lto-whole-program-visibility' and llvm flag
'-always-rename-promoted-locals=false' are needed.
The link [3] has more context for the pull request discussions.
[1] https://lpc.events/event/19/contributions/2212
[2] https://discourse.llvm.org/t/rfc-avoid-functions-like-foo-llvm-for-kernel-live-patch/89400
[3] https://github.com/llvm/llvm-project/pull/178587
Commit: 4a602c03ea050d7adf666d5a440164ca6f78707c
https://github.com/llvm/llvm-project/commit/4a602c03ea050d7adf666d5a440164ca6f78707c
Author: Minsoo Choo <minsoochoo0122 at proton.me>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M lldb/docs/index.rst
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/CMakeLists.txt
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_riscv64.cpp
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_riscv64.h
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ThreadFreeBSDKernelCore.cpp
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb][Process/FreeBSDKernelCore] Add riscv64 support (#180670)
This is LLDB version of
https://cgit.freebsd.org/ports/tree/devel/gdb/files/kgdb/riscv-fbsd-kern.c.
This enables selecting riscv64 and reading registers from PCB structure
on core dump and live kenrel debugging while trapframe unwinding support
will be implemented in future. Test files using core dump from riscv64
will be implemented once other kernel debugging improvements are done.
---------
Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
Commit: 59ba10b9d38a27e6783a64f21c0a4f56bccae126
https://github.com/llvm/llvm-project/commit/59ba10b9d38a27e6783a64f21c0a4f56bccae126
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/test/Dialect/SPIRV/IR/types.mlir
Log Message:
-----------
[mlir][spirv] Fix crash when spirv.struct member type is not a SPIR-V type (#183942)
When parsing a spirv.struct type, any MLIR type was accepted as a member
type without validation. This caused a crash in TypeExtensionVisitor and
TypeCapabilityVisitor which unconditionally used cast<SPIRVType> on
struct element types, asserting when a non-SPIR-V type (e.g.,
vector<2x2xi1>) was encountered.
Fix the parser to reject non-SPIR-V member types with a proper error
message.
Fixes #179675
Commit: a0fb4f67084839d0209a303b223217a04532fd48
https://github.com/llvm/llvm-project/commit/a0fb4f67084839d0209a303b223217a04532fd48
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M lldb/examples/python/formatter_bytecode.py
Log Message:
-----------
[lldb] Add BytecodeSection class to formatter_bytecode.py (#183876)
Changes `formatter_bytecode.compile_file` to return a `BytecodeSection`
value. The `BytecodeSection` holds the data that needs to be emitted to
an `__lldbformatters` section.
The `BytecodeSection` currently provides `write_binary`, but will be
updated in a follow up commit to include `write_source` which will allow
the data to be emitted as C source code, or Swift source code. This will
make it easier to integrate into build systems, as it's easier to get
data into a binary via source code, than as a raw binary file.
Commit: df616fbe1c908b6c79b81599e0a6ec9d0137543c
https://github.com/llvm/llvm-project/commit/df616fbe1c908b6c79b81599e0a6ec9d0137543c
Author: Gabriele Mondada <gab at ijk.ch>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M lldb/tools/lldb-dap/EventHelper.cpp
Log Message:
-----------
[lldb][lldb-dap] Correctly format lldb warnings in the debug console (#173852)
Trivial change to prevent all warnings from being printed on a single
line in the VS Code debug console.
Commit: b72d8ac98c6eee51ac66bc865c81a23a16c37731
https://github.com/llvm/llvm-project/commit/b72d8ac98c6eee51ac66bc865c81a23a16c37731
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/known-never-zero.ll
Log Message:
-----------
[DAG] isKnownNeverZero - add ISD::EXTRACT_VECTOR_ELT handling (#183961)
Initialize DemandedElts mask when the index is constant and inbounds, otherwise check all elements.
Commit: 20f36a2ff10fd5c4ca821a3382b44440a6429b88
https://github.com/llvm/llvm-project/commit/20f36a2ff10fd5c4ca821a3382b44440a6429b88
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M mlir/lib/Dialect/GPU/Transforms/ModuleToBinary.cpp
Log Message:
-----------
[MLIR][GPU] Improve error message on invalid pass option
This provides a more helpful message to the user when passing invalid command
line options
Commit: 2c3d5f958f22965a1b7f76aac97467fdf4f4a8d1
https://github.com/llvm/llvm-project/commit/2c3d5f958f22965a1b7f76aac97467fdf4f4a8d1
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaExpr.cpp
M clang/test/ParserOpenACC/parse-constructs.cpp
A clang/test/SemaCXX/GH175783.cpp
Log Message:
-----------
[clang] use typo-corrected name qualifier for expressions (#183937)
Fixes #175783
Commit: 0b423a5b2738a795d8033398ca0959d36cee0e06
https://github.com/llvm/llvm-project/commit/0b423a5b2738a795d8033398ca0959d36cee0e06
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M mlir/test/Dialect/GPU/module-to-binary-invalid-format.mlir
Log Message:
-----------
[MLIR] Fix invalid test after improving the error message (NFC)
Commit: 910988b9f15ce8c4b3a383e925c7c0ab0ef52f2f
https://github.com/llvm/llvm-project/commit/910988b9f15ce8c4b3a383e925c7c0ab0ef52f2f
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/amdpal-chain-metadata.ll
Log Message:
-----------
[AMDGPU] Stop treating AMDGPU_CS_ChainPreserve as a module entry funtion (#183718)
Starting with AMD PAL metadata v3.6, pipeline ELFs cannot have a
`.shader_functions` section. However, dynamic VGPR retry helpers use
the `AMDGPU_CS_ChainPreserve` calling convention, which LLVM previously
treated as a module entrypoint, incorrectly emitting this metadata.
Commit: 4673cecc89d1a2260edcff2808ed46de7bc0435d
https://github.com/llvm/llvm-project/commit/4673cecc89d1a2260edcff2808ed46de7bc0435d
Author: Twice <twice at apache.org>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M mlir/include/mlir-c/Rewrite.h
M mlir/lib/Bindings/Python/Rewrite.cpp
M mlir/lib/CAPI/Transforms/Rewrite.cpp
A mlir/test/python/integration/dialects/bf.py
Log Message:
-----------
[MLIR][Python] Add support of `convert_region_types` and the bf integration test (#183664)
This PR adds the `convert_region_types` API to
`ConversionPatternRewriter` and introduces a new integration test,
`bf.py`, which demonstrates how to combine a Python-defined dialect, the
dialect conversion API, the pass manager, and the execution engine to
build a pure-Python JIT compilation pipeline.
Commit: da8d18190530be7265bdb15b29cf0c654095c26c
https://github.com/llvm/llvm-project/commit/da8d18190530be7265bdb15b29cf0c654095c26c
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M libc/shared/math/asinf16.h
M libc/shared/math/asinhf16.h
M libc/shared/math/asinpif16.h
M libc/shared/math/atanf16.h
M libc/shared/math/atanhf16.h
M libc/shared/math/bf16fmaf128.h
M libc/shared/math/bf16mul.h
M libc/shared/math/bf16mulf.h
M libc/shared/math/bf16mulf128.h
M libc/shared/math/bf16mull.h
M libc/shared/math/bf16sub.h
M libc/shared/math/bf16subf.h
M libc/shared/math/bf16subf128.h
M libc/shared/math/ceil.h
M libc/shared/math/ceilbf16.h
M libc/shared/math/ceilf.h
M libc/shared/math/ceilf128.h
M libc/shared/math/ceilf16.h
M libc/shared/math/ceill.h
M libc/shared/math/cosf16.h
M libc/shared/math/coshf16.h
M libc/shared/math/cospif16.h
M libc/shared/math/dfmal.h
M libc/shared/math/exp10f16.h
M libc/shared/math/exp10m1f16.h
M libc/shared/math/exp2f16.h
M libc/shared/math/exp2m1f16.h
M libc/shared/math/expf16.h
M libc/shared/math/expm1f16.h
M libc/shared/math/f16div.h
M libc/shared/math/f16divf.h
M libc/shared/math/f16divf128.h
M libc/shared/math/f16divl.h
M libc/shared/math/f16fma.h
M libc/shared/math/f16fmaf.h
M libc/shared/math/f16fmaf128.h
M libc/shared/math/f16fmal.h
M libc/shared/math/f16mul.h
M libc/shared/math/f16mulf.h
M libc/shared/math/f16mulf128.h
M libc/shared/math/f16mull.h
M libc/shared/math/f16sqrtf128.h
M libc/shared/math/f16sqrtl.h
M libc/shared/math/f16sub.h
M libc/shared/math/f16subf.h
M libc/shared/math/f16subf128.h
M libc/shared/math/f16subl.h
M libc/shared/math/fadd.h
M libc/shared/math/faddf128.h
M libc/shared/math/faddl.h
M libc/shared/math/fdim.h
M libc/shared/math/fdimbf16.h
M libc/shared/math/fdimf.h
M libc/shared/math/fdimf128.h
M libc/shared/math/fdimf16.h
M libc/shared/math/fdiml.h
M libc/shared/math/floor.h
M libc/shared/math/floorbf16.h
M libc/shared/math/floorf.h
M libc/shared/math/floorf128.h
M libc/shared/math/floorf16.h
M libc/shared/math/floorl.h
M libc/shared/math/fmax.h
M libc/shared/math/fmaxbf16.h
M libc/shared/math/fmaxf.h
M libc/shared/math/fmaxf128.h
M libc/shared/math/fmaxf16.h
M libc/shared/math/fmaxl.h
M libc/shared/math/frexpf16.h
M libc/shared/math/fsqrtf128.h
M libc/shared/math/getpayload.h
M libc/shared/math/getpayloadbf16.h
M libc/shared/math/getpayloadf.h
M libc/shared/math/getpayloadf128.h
M libc/shared/math/getpayloadf16.h
M libc/shared/math/getpayloadl.h
M libc/shared/math/hypotf.h
M libc/shared/math/hypotf16.h
M libc/shared/math/ilogbf.h
M libc/shared/math/ilogbf16.h
M libc/shared/math/ldexpf16.h
M libc/shared/math/log.h
M libc/shared/math/log10.h
M libc/shared/math/log1p.h
M libc/shared/math/log2.h
M libc/shared/math/logb.h
M libc/shared/math/logbf.h
M libc/shared/math/logbf128.h
M libc/shared/math/logbf16.h
M libc/shared/math/logf16.h
M libc/shared/math/setpayload.h
M libc/shared/math/setpayloadbf16.h
M libc/shared/math/setpayloadf.h
M libc/shared/math/setpayloadf128.h
M libc/shared/math/setpayloadf16.h
M libc/shared/math/setpayloadl.h
M libc/shared/math/setpayloadsig.h
M libc/shared/math/setpayloadsigbf16.h
M libc/shared/math/setpayloadsigf.h
M libc/shared/math/setpayloadsigf128.h
M libc/shared/math/setpayloadsigf16.h
M libc/shared/math/setpayloadsigl.h
M libc/shared/math/sinhf16.h
M libc/shared/math/tanpif16.h
Log Message:
-----------
[libc][math] Cleanup shared/math (#183971)
Commit: c35a726ca9795928e419044e6349edf6b73b6cd0
https://github.com/llvm/llvm-project/commit/c35a726ca9795928e419044e6349edf6b73b6cd0
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-02-28 (Sat, 28 Feb 2026)
Changed paths:
M clang/test/TableGen/builtin-docs.td
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
Log Message:
-----------
[Clang][TableGen] Sort undocumented builtins after documented ones in generated docs (#183938)
The builtin documentation emitter previously sorted all categories
purely alphabetically, which placed the "Undocumented" section before
categories like "WMMA" in the generated RST. This made the output
confusing since stub entries appeared before real documentation.
Push the "Undocumented" category to the end of the output so that all
documented categories appear first, regardless of their names.
Commit: bf4ed7903aee3690977f1865fb5509f74f3f860c
https://github.com/llvm/llvm-project/commit/bf4ed7903aee3690977f1865fb5509f74f3f860c
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/initializer_list
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/memory
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/vector
M clang-tools-extra/test/clang-tidy/checkers/boost/Inputs/use-ranges/fake_std.h
M clang-tools-extra/test/clang-tidy/checkers/boost/use-ranges-pipe.cpp
M clang-tools-extra/test/clang-tidy/checkers/boost/use-ranges.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/dangling-handle.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unchecked-optional-access.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-return-value.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/use-ranges.cpp
R clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/smart-ptr/initializer_list.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-ranges/fake_std.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-default-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/replace-random-shuffle.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/return-braced-init-list.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/shrink-to-fit.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace-ignore-implicit-constructors.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges-pipe.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas-cxx14.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-vector-operation.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-data-pointer.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration-cxx17.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/qualified-auto-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/qualified-auto.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-smartptr-get.cpp
Log Message:
-----------
[clang-tidy][NFC] Use singe mock vector header in tests (#183963)
In new tests we should encourage to use these "source of truth" files if
possible.
Commit: b2ce908a48e0ab6b0404742f38e5e5d0ee51cc2f
https://github.com/llvm/llvm-project/commit/b2ce908a48e0ab6b0404742f38e5e5d0ee51cc2f
Author: Reagan <xbjfk.github at gmail.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M compiler-rt/CMakeLists.txt
M compiler-rt/lib/gwp_asan/CMakeLists.txt
M compiler-rt/lib/msan/tests/CMakeLists.txt
M compiler-rt/lib/profile/CMakeLists.txt
M compiler-rt/lib/scudo/standalone/CMakeLists.txt
Log Message:
-----------
[compiler-rt][CMake] Fix build when specifying --stdlib= (with 2 dashes) (#136111)
You can pass the stdlib argument either as -stdlib and --stdlib - the
previous regex did not account for this however - which caused the build
to fail, as a --stdlib argument would be replaced with a single dash,
causing clang to assume reading from stdin and the build to fail:
clang++: error: -E or -x required when input is from standard input
clang++: error: cannot specify -o when generating multiple output files
The files
[libcxxabi/CMakeLists.txt](https://github.com/llvm/llvm-project/blob/bf6986f9f09f79da38006a83c339226c429bb686/libcxxabi/CMakeLists.txt#L261)
and
[libunwind/CMakeLists.txt](https://github.com/llvm/llvm-project/blob/bf6986f9f09f79da38006a83c339226c429bb686/libunwind/CMakeLists.txt#L257)
account for this by removing --stdlib first.
Co-authored-by: Vitaly Buka <vitalybuka at google.com>
Commit: 10b1b7857b0564c447054ed5f451729230280f54
https://github.com/llvm/llvm-project/commit/10b1b7857b0564c447054ed5f451729230280f54
Author: MacGyver Codilla <77024043+39otsu at users.noreply.github.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M compiler-rt/test/asan/TestCases/fakeframe-right-redzone.cpp
M compiler-rt/test/asan/TestCases/shadowed-stack-serialization.cpp
Log Message:
-----------
[ASan] Mark recent integration tests as accordingly for MSVC (#135889)
Both of these tests will cause an unsuccessful pass when using msvc.
`shadowed-stack-serialization.cpp` - XFAIL due to the metadata not being
generated.
`fakeframe-right-redzone.cpp` - UNSUPPORTED due to the optimization
limitations of the msvc compiler.
---------
Co-authored-by: MacGyver Codilla <mcodilla at microsoft.com>
Commit: d412b04a883c7d6212edf1d678349689cb7d723b
https://github.com/llvm/llvm-project/commit/d412b04a883c7d6212edf1d678349689cb7d723b
Author: Benjamin Stott <Benjamin.Stott at sony.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M compiler-rt/lib/ubsan/ubsan_diag.h
Log Message:
-----------
[UBSan] Wrap Location variants in anonymous union (#168866)
(Addresses the FIXME)
Commit: b872179bebe7a9aa42163fdb3334ab9e388c9dfd
https://github.com/llvm/llvm-project/commit/b872179bebe7a9aa42163fdb3334ab9e388c9dfd
Author: Xavier Roche <roche at httrack.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
A llvm/test/CodeGen/AArch64/bitcnt-i256.ll
A llvm/test/CodeGen/AArch64/cmp-i256.ll
A llvm/test/CodeGen/AArch64/div-i256.ll
A llvm/test/CodeGen/AArch64/mul-i256.ll
A llvm/test/CodeGen/AArch64/shift-i256.ll
Log Message:
-----------
[AArch64][test] Add i256 codegen baseline tests (#183587)
## Summary
Add baseline codegen tests for i256 operations on AArch64:
- `bitcnt-i256.ll`: ctpop, ctlz, cttz, Hamming distance, parity (3 RUN
lines: +neon, +sve, +cssc)
- `cmp-i256.ll`: 8 icmp variants (slt/sgt/sle/sge/ult/ugt/ule/uge) +
select
- `div-i256.ll`: udiv, sdiv, urem, srem, power-of-2, and constant
division
- `mul-i256.ll`: multiply, multiply-by-constant, add, sub, and, or, xor
- `shift-i256.ll`: variable shl/lshr/ashr, constant shifts, narrow (i32)
amounts
These are test-only NFC pre-patches for `__int256` builtin type support
(#182733). i256 is already a valid LLVM IR type; these tests capture the
current baseline codegen. The main PR will update the CHECK lines to
show codegen improvements (e.g., direct libcall routing for
division/multiply).
## Test plan
- All 5 tests pass with `llvm-lit` on upstream `main` (generated with
`update_llc_test_checks.py` using upstream `llc`)
## AI Disclosure
This patch was developed with assistance from Claude (Anthropic). All
commits carry `Assisted-by: Claude (Anthropic)` and `Co-Authored-By:
Claude Opus 4.6 <noreply at anthropic.com>` trailers, per the [LLVM AI Tool
Policy](https://llvm.org/docs/DeveloperPolicy.html#use-of-ai-generated-contributions).
All code has been reviewed and validated by the author.
---------
Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>
Commit: 9ffa08f097d45a36a50d5a8066d00488db3596ed
https://github.com/llvm/llvm-project/commit/9ffa08f097d45a36a50d5a8066d00488db3596ed
Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M mlir/test/mlir-tblgen/op-properties-predicates.td
Log Message:
-----------
[mlir][NFC] Fix typo in property predicate tests (#183987)
Commit: d74c6b1176e92b1741bb3275c2befbe76b7449e9
https://github.com/llvm/llvm-project/commit/d74c6b1176e92b1741bb3275c2befbe76b7449e9
Author: Matthias Springer <me at m-sp.org>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M mlir/include/mlir/IR/BuiltinAttributes.td
M mlir/include/mlir/IR/BuiltinTypeInterfaces.h
M mlir/include/mlir/IR/BuiltinTypeInterfaces.td
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/include/mlir/Support/InterfaceSupport.h
M mlir/lib/AsmParser/AttributeParser.cpp
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/IR/AttributeDetail.h
M mlir/lib/IR/BuiltinAttributes.cpp
M mlir/lib/IR/BuiltinTypeInterfaces.cpp
M mlir/lib/IR/BuiltinTypes.cpp
A mlir/test/IR/dense-elements-type-interface.mlir
M mlir/test/lib/Dialect/Test/TestTypeDefs.td
M mlir/test/lib/Dialect/Test/TestTypes.cpp
M mlir/test/lib/Dialect/Test/TestTypes.h
Log Message:
-----------
[mlir][IR] Generalize `DenseElementsAttr` to custom element types (#183920)
`DenseElementsAttr` supports only a hard-coded list of element types:
`int`, `index`, `float`, `complex`. This commit generalizes the
`DenseElementsAttr` infrastructure: it now supports arbitrary element
types, as long as they implement the new `DenseElementTypeInterface`.
The `DenseElementTypeInterface` has the following helper functions:
- `getDenseElementBitSize`: Query the size of an element in bits. (When
storing an element in memory, each element is padded to a full byte.
This is an existing limitation of the `DenseElementsAttr`; with an
exception for `i1`.)
- `convertToAttribute`: Attribute factory / deserializer. Converts bytes
into an MLIR attribute. The attribute provides the assembly format /
printer for a single element.
- `convertFromAttribute`: Serializer. Converts an MLIR attribute into
bytes.
Note: `convertToAttribute` / `convertFromAttribute` are mainly for
writing test cases. For performance reasons, `DenseElementsAttr` users
should work with raw bytes / elements and avoid any API that
materializes MLIR attributes. However, MLIR attributes typically have
human-readable parsers/printers, making them suitable for lit tests and
debugging.
This PR introduces an additional assembly format for
`DenseElementsAttrs`. There are now two formats. (The existing one is
kept for compatibility reasons.)
- Literal-first (existing): `dense<[1, 2, 3]> : tensor<3xi32>`
- Type-first (new): `dense<tensor<3xi32> : [1 : i32, 2 : i32, 3 : i32]>`
The new syntax is needed to disambiguate between "literal" (e.g., `1`)
and attribute (e.g., `1 : i32`) when parsing the first token. In the
literal-first syntax, we only parse literals. In the type-first syntax,
we only parse attributes.
The existing `int`, `index`, `float`, `complex` types also implement the
`DenseElementTypeInterface`. This allows us to implement
`DenseElementsAttr::get` and `AttributeElementIterator::operator*` in a
generic way.
RFC:
https://discourse.llvm.org/t/rfc-allow-custom-element-types-in-denseelementattr/89656
This is a re-upload of #179122.
Commit: 5768ee2dcdad1bba9763361313ccce5641497033
https://github.com/llvm/llvm-project/commit/5768ee2dcdad1bba9763361313ccce5641497033
Author: fogsong233 <fogsong233 at gmail.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M clang/lib/Interpreter/IncrementalParser.cpp
A clang/test/Interpreter/incremental-c-implicit-error.c
A clang/test/Interpreter/incremental-c-implicit-undo.c
Log Message:
-----------
[clang-repl] fix CleanUpPTU by removing decl according to C implicitly FuncitonDecl. (#178648)
fix #171440
---------
Co-authored-by: Vassil Vassilev <v.g.vassilev at gmail.com>
Commit: 0f63db5c665b77c943ed19d2615f94dbf24cfb7a
https://github.com/llvm/llvm-project/commit/0f63db5c665b77c943ed19d2615f94dbf24cfb7a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/lib/Transforms/IPO/Attributor.cpp
Log Message:
-----------
Attributor: Avoid calling identifyDefaultAbstractAttributes on declarations (#182663)
Previously it would be called and inserted into a visited map,
but would never be used. This could possibly go one step further
and never add declarations to the SetVector of Functions. If I try
that, only one call graph printing test fails.
Commit: d68d47db7b5a08f1722cc03ccfbc1bf441b34fe2
https://github.com/llvm/llvm-project/commit/d68d47db7b5a08f1722cc03ccfbc1bf441b34fe2
Author: David Green <david.green at arm.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/lib/Target/ARM/ARMInstrFormats.td
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrNEON.td
M llvm/lib/Target/ARM/ARMInstrThumb.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
M llvm/test/CodeGen/ARM/bfx.ll
M llvm/test/CodeGen/ARM/extract-bits.ll
M llvm/test/CodeGen/ARM/fpclamptosat_vec.ll
M llvm/test/CodeGen/ARM/vector-DAGCombine.ll
M llvm/test/CodeGen/ARM/vector-store.ll
M llvm/test/CodeGen/ARM/vext.ll
M llvm/test/CodeGen/ARM/vselect_imax.ll
M llvm/test/CodeGen/ARM/vtrn.ll
M llvm/test/CodeGen/Thumb/pr35836.ll
M llvm/test/CodeGen/Thumb/pr35836_2.ll
M llvm/test/CodeGen/Thumb/umulo-128-legalisation-lowering.ll
M llvm/test/tools/llvm-mca/ARM/cortex-a57-basic-instructions.s
M llvm/test/tools/llvm-mca/ARM/cortex-a57-neon-instructions.s
M llvm/test/tools/llvm-mca/ARM/cortex-a57-thumb.s
M llvm/test/tools/llvm-mca/ARM/m4-int.s
M llvm/test/tools/llvm-mca/ARM/m55-int.s
M llvm/test/tools/llvm-mca/ARM/m7-int.s
M llvm/test/tools/llvm-mca/ARM/m85-int.s
M llvm/test/tools/llvm-mca/ARM/simple-cortex-m33.s
Log Message:
-----------
[ARM] Explicitly mark certain instructions as having no side effects. (#182771)
This goes through some Arm instructions and adds hasSideEffects = 0 to
ones where it was not already implied. This should help with scheduling
and instruction movement.
Commit: 6fa90a3f7e893fa83880f42a76ec2346917e331f
https://github.com/llvm/llvm-project/commit/6fa90a3f7e893fa83880f42a76ec2346917e331f
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M mlir/lib/IR/SymbolTable.cpp
M mlir/test/Dialect/IRDL/invalid.irdl.mlir
Log Message:
-----------
[MLIR][SymbolTable] Fix crash when SymbolTable is built on unverified IR (#183945)
The SymbolTable::SymbolTable constructor asserted that all symbol names
in the region were unique. This could cause mlir-opt to crash instead of
producing a proper diagnostic when the IR contained both:
1. An IsolatedFromAbove op (e.g., irdl.dialect) with a symbol user that
looks up symbols in an ancestor symbol table, and
2. Duplicate symbols in that ancestor (e.g., two func.func @test).
The crash occurred because IsolatedFromAbove ops are verified in
verifyOnExit() before verifyRegionInvariants() runs the SymbolTable
trait's verifyRegionTrait (which produces the proper duplicate-symbol
diagnostic). When the isolated op's symbol use verification triggered
SymbolTableCollection::getSymbolTable() on the ancestor, the constructor
would assert instead of gracefully handling the invalid-but-not-yet-
reported duplicate symbols.
The fix removes the assertion and silently skips duplicate symbol
insertions (keeping the first definition). The proper diagnostic is
still produced by the SymbolTable trait's verifyRegionTrait, which runs
after all children have been verified.
Add a regression test in invalid.irdl.mlir using a self-referencing IRDL
parametric type combined with duplicate function symbols.
Fixes #159673
Commit: 74c0ee7e72bf62589c4dfa6f4601887bafa82d7c
https://github.com/llvm/llvm-project/commit/74c0ee7e72bf62589c4dfa6f4601887bafa82d7c
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/CostModel.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[TTI] Remove TargetLibraryInfo from IntrinsicCostAttributes (NFC) (#183764)
This is a remnant from when `sincos` costs used the vector mappings from
`TargetLibraryInfo::getVectorMappingInfo`.
Commit: 9801e752024ff641d2f7fea308d5cc078d74794e
https://github.com/llvm/llvm-project/commit/9801e752024ff641d2f7fea308d5cc078d74794e
Author: David Green <david.green at arm.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/lib/Target/ARM/ARMInstrThumb.td
M llvm/test/tools/llvm-mca/ARM/simple-cortex-m33.s
Log Message:
-----------
[ARM] tADDrSPi no side effects change (#183071)
This is pulled out of #182771 in case it causes issues. The mis-compile
I believe is no longer present, as tADDrSPi is used in several test
cases which do not change due to of marking tADDrSPi as not affect side
effects.
Commit: 2cb2fe7f2a1dfd51642651264c644e213809cb0b
https://github.com/llvm/llvm-project/commit/2cb2fe7f2a1dfd51642651264c644e213809cb0b
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/test/Dialect/SCF/invalid.mlir
Log Message:
-----------
[mlir][scf] Fix crash in ForOp verifier when body block has no arguments (#183946)
A malformed `scf.for` whose body block contains no arguments caused
`getRegionIterArgs()` to crash via an out-of-bounds `drop_front(1)`
call. This happened because `verifyLoopLikeOpInterface` (a
`verifyRegionTrait`) invokes `getRegionIterArgs()` during
`verifyRegionInvariants`, which runs before `verifyRegions()` has a
chance to report a proper diagnostic.
Fix by adding an explicit check in `ForOp::verify()` (which runs in
`verifyInvariants`, before any region trait verifiers execute) that
ensures the body block has at least as many arguments as there are
induction variables. This prevents the crash and produces a clear error
message.
Fixes #159737
Commit: b7e20442d5edc768c986cc1f3363ab76cd9d7281
https://github.com/llvm/llvm-project/commit/b7e20442d5edc768c986cc1f3363ab76cd9d7281
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M mlir/include/mlir/IR/OpBase.td
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/mlir-tblgen/types.mlir
Log Message:
-----------
[MLIR][ODS] Fix AllElementCountsMatch crash on dynamic shaped types (#183948)
The AllElementCountsMatch trait called ShapedType::getNumElements() on
operands or results with dynamic dimensions, which unconditionally
asserts hasStaticShape(). This caused mlir-opt to crash instead of
failing gracefully when the trait was used with dynamically-shaped
types.
Fix this by rewriting AllElementCountsMatch to use an And<> predicate
combining Neg<AnyMatchOperatorPred> (requiring all types to be
statically shaped) with AllMatchSameOperatorPred (requiring equal
element counts). When any type has dynamic dimensions the verification
now fails with a diagnostic instead of crashing.
Update the regression test to expect a verification failure rather than
success when dynamic shapes are present.
Fixes #159740
Commit: 785490e9db54ef03988d8e9fe56aab45e4b29129
https://github.com/llvm/llvm-project/commit/785490e9db54ef03988d8e9fe56aab45e4b29129
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M mlir/include/mlir/Transforms/Passes.h
M mlir/include/mlir/Transforms/Passes.td
M mlir/include/mlir/Transforms/ViewOpGraph.h
M mlir/lib/Transforms/CSE.cpp
M mlir/lib/Transforms/Canonicalizer.cpp
M mlir/lib/Transforms/ControlFlowSink.cpp
M mlir/lib/Transforms/GenerateRuntimeVerification.cpp
M mlir/lib/Transforms/InlinerPass.cpp
M mlir/lib/Transforms/LoopInvariantCodeMotion.cpp
M mlir/lib/Transforms/OpStats.cpp
M mlir/lib/Transforms/PrintIR.cpp
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/lib/Transforms/SCCP.cpp
M mlir/lib/Transforms/StripDebugInfo.cpp
M mlir/lib/Transforms/SymbolDCE.cpp
M mlir/lib/Transforms/SymbolPrivatize.cpp
M mlir/lib/Transforms/TopologicalSort.cpp
M mlir/lib/Transforms/ViewOpGraph.cpp
M mlir/test/CAPI/pass.c
M mlir/test/Pass/ir-printing.mlir
M mlir/test/Pass/pass-timing.mlir
M mlir/test/Pass/run-reproducer.mlir
M mlir/test/Transforms/composite-pass.mlir
M mlir/test/python/pass_manager.py
Log Message:
-----------
[MLIR] Remove `let constructor = ` from mlir/include/mlir/Transforms/Passes.td (#183950)
This makes the constructor auto-generated.
Commit: 0ba4f13b264a385ffdcdcb77c935f6c503ba62df
https://github.com/llvm/llvm-project/commit/0ba4f13b264a385ffdcdcb77c935f6c503ba62df
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M mlir/test/Dialect/Affine/invalid-reify-bound-dim.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
Log Message:
-----------
[mlir][test] Fix crash in ReifyBoundOp with invalid 'type' attribute (#184004)
The `ReifyBoundOp::getBoundType()` called `llvm_unreachable("invalid
bound type")` when the `type` attribute was set to a value other than
"EQ", "LB", or "UB" (e.g., "scalable"). This caused an abort instead of
a user-visible diagnostic.
Add a verification check that rejects invalid `type` values with a
proper error message before `getBoundType()` is ever called.
Fixes #128805
Commit: 2c9720972e90fce4a5409cac9d9141c048a64632
https://github.com/llvm/llvm-project/commit/2c9720972e90fce4a5409cac9d9141c048a64632
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M mlir/CMakeLists.txt
M mlir/cmake/modules/AddMLIRPython.cmake
M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
M mlir/include/mlir/Bindings/Python/IRCore.h
M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
M mlir/include/mlir/Bindings/Python/NanobindUtils.h
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/test/CMakeLists.txt
M mlir/test/lit.cfg.py
M mlir/test/lit.site.cfg.py.in
M mlir/test/python/ir/auto_location.py
A mlir/test/python/ir/auto_location_stable_abi.py
Log Message:
-----------
[mlir][python] Add stable ABI (abi3) support (#183856)
Add `MLIR_ENABLE_PYTHON_STABLE_ABI` cmake flag to build bindings against
the Python limited/stable API (abi3 / PEP 384). This allow for
compatibility across different >=3.12 versions with a single .so /
wheel. We also require CMake >=3.26.
The stable ABI restricts usage to a subset of the CPython C API: frame
and code object structs are opaque, so introspection APIs like
`PyCode_Addr2Location`, `PyFrame_GetLasti`, and `PyFrame_GetCode` are
unavailable. The traceback-based auto-location logic is dropped because
we don’t have stable ABI to produce complete locations.
Assisted-by: claude
Commit: 3bdee9b5576bd0b64da9501c267d4b40d768be9a
https://github.com/llvm/llvm-project/commit/3bdee9b5576bd0b64da9501c267d4b40d768be9a
Author: Valeriy Savchenko <vsavchenko at apple.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/test/Transforms/GVN/PRE/pre-load-through-select.ll
M llvm/test/Transforms/GVN/PRE/pre-loop-load-through-select.ll
A llvm/test/Transforms/GVN/load-select-addr-store-fwd.ll
Log Message:
-----------
[GVN] Forward store values through select addresses in findDominatingValue (#183316)
## Alive2 proof
https://alive2.llvm.org/ce/z/v6pX7C
Commit: 49b77e3b45555b022d0a0e2aac239708d706ae10
https://github.com/llvm/llvm-project/commit/49b77e3b45555b022d0a0e2aac239708d706ae10
Author: Valeriy Savchenko <vsavchenko at apple.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/AArch64/fold-signbit-reduction-cmp.ll
M llvm/test/Transforms/VectorCombine/RISCV/fold-signbit-reduction-cmp.ll
M llvm/test/Transforms/VectorCombine/X86/fold-signbit-reduction-cmp.ll
Log Message:
-----------
[VectorCombine] Fold sign-bit check for multiple vectors (#182911)
## Alive2 proofs
| Reduction | Shift | Cmp | Sources | Proof |
|-----------|-------|----------|---------|-------|
| add | lshr | == 0 | 2 | [proof](https://alive2.llvm.org/ce/z/f44vco) |
| add | lshr | == 8 | 2 | [proof](https://alive2.llvm.org/ce/z/Ks_nea) |
| add | ashr | == 0 | 2 | [proof](https://alive2.llvm.org/ce/z/ZsXJ5k) |
| add | ashr | == -8 | 2 | [proof](https://alive2.llvm.org/ce/z/HZfans)
|
| add | lshr | == 0 | 3 | [proof](https://alive2.llvm.org/ce/z/x-dEdz) |
| add | lshr | == 12 | 3 | [proof](https://alive2.llvm.org/ce/z/sfNvhr)
|
These proofs are not very exhaustive, but somewhat show that it works
for addition. Apart from the fact that we use multiple vectors, the
proofs from the previous changes generally apply here as well because we
effectively match on reductions of size M x N.
Commit: a6e7c38ea6310ef8d8e6ba0d8158d7d1f4e28f5b
https://github.com/llvm/llvm-project/commit/a6e7c38ea6310ef8d8e6ba0d8158d7d1f4e28f5b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/revec-select-scalar-vector-cond.ll
Log Message:
-----------
[SLP]Do not vectorize select nodes with scalar and vector conditions
If the select nodes contains selects with mixed scalar/vector
conditions, such nodes should not be revectorized.
Fixes #170836
Commit: 7b26069828aa88064b92f73f764b708754e441ec
https://github.com/llvm/llvm-project/commit/7b26069828aa88064b92f73f764b708754e441ec
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
Log Message:
-----------
[VPlan] Pass ForceTargetInstructionCost insted of NumOccurences.
Update code incorrectly passing
ForceTargetInstructionCost.getNumOccurrences().
Fixes a cost-divergence with legacy cost model.
Commit: 9730d3128435350c5ef90c198979df25004ccc1f
https://github.com/llvm/llvm-project/commit/9730d3128435350c5ef90c198979df25004ccc1f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/revec-reductions.ll
Log Message:
-----------
[SLP]Fix types for reductions in revec
Need to consider vector inputs, when building casts for the reduced
values
Fixes #170828
Commit: 320220e48b8f1054ce7a37c8b2a528315080e29c
https://github.com/llvm/llvm-project/commit/320220e48b8f1054ce7a37c8b2a528315080e29c
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
M llvm/test/Transforms/LoopVectorize/predicated-early-exits-interleave.ll
M llvm/test/Transforms/LoopVectorize/predicated-multiple-exits.ll
M llvm/test/Transforms/LoopVectorize/unsupported_early_exit.ll
Log Message:
-----------
[VPlan] Support arbitrary predicated early exits. (#182396)
This removes the restriction requiring a single predicated early exit.
Using MaskedCond, we only combine early-exit conditions with block
masks from non-exiting control flow.
This means we have to ensure that we check the early exit conditions in
program order, to make sure we take the first exit in program order that
exits at the first lane for the combined exit condition.
To do so, sort the exits by their reverse post-order numbers.
Depends on https://github.com/llvm/llvm-project/pull/182395
PR: https://github.com/llvm/llvm-project/pull/182396
Commit: ae7916539918544655bd92b7f9a05b48563483b4
https://github.com/llvm/llvm-project/commit/ae7916539918544655bd92b7f9a05b48563483b4
Author: Dave Bartolomeo <dave_bartolomeo at apple.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftCXXABI.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/test/CodeGenObjC/aarch64-sve-types.m
Log Message:
-----------
[clang][NFC][diagnostics] Remove several uses of `getCustomDiagID()` (#172532)
This change converts all existing uses of `getCustomDiagID()` within the
`clang/AST` library into regular diagnostics defined in
`DiagnosticASTKinds.td`.
This is mostly just cleanup, but it will also help with future changes
to the diagnostic system by letting us focus on the custom diagnostic
scenarios that _don't_ fit into the usual pre-declared diagnostic
scenario.
Commit: 02c7a6cd7f35a9ad5d1c650b4f56593db1210641
https://github.com/llvm/llvm-project/commit/02c7a6cd7f35a9ad5d1c650b4f56593db1210641
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/disjoint-or-reductions.ll
Log Message:
-----------
[SLP][NFC]Add tests for bitcasts/bswaps with large target type
Commit: 451529778d428ee691ce699c5ae8acfa9b9ea6c4
https://github.com/llvm/llvm-project/commit/451529778d428ee691ce699c5ae8acfa9b9ea6c4
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/Sema/sugar-common-types.c
Log Message:
-----------
[clang] fix common type calculation for l-values of 'void' type (#183972)
Fixes #111300
Commit: e4301c48fdd95f43644d84868f560b291d46bc60
https://github.com/llvm/llvm-project/commit/e4301c48fdd95f43644d84868f560b291d46bc60
Author: David Zbarsky <dzbarsky at gmail.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Fix windows stack space on llvm driver link (#182998)
Bazel was missing this logic from cmake:
https://github.com/llvm/llvm-project/blob/cd200c8dfae0de1602b59011381377d147a86bdb/llvm/cmake/modules/HandleLLVMOptions.cmake#L567-L580
Commit: 3041c90718df44617382af80c3b1fc8d68ce9f2c
https://github.com/llvm/llvm-project/commit/3041c90718df44617382af80c3b1fc8d68ce9f2c
Author: Matthias Springer <me at m-sp.org>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/fold-constant-extract-slice.mlir
Log Message:
-----------
[mlir][tensor] Remove hard-coded types from `ConstantOpExtractSliceFolder` (#184013)
Use the `Attribute` API, which works with arbitrary element types.
Commit: a13afe84bb4240608b9ce822918c43e689d63b47
https://github.com/llvm/llvm-project/commit/a13afe84bb4240608b9ce822918c43e689d63b47
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/disjoint-or-reductions.ll
Log Message:
-----------
[SLP][NFC]Add more bitcast/bswap tests with immediate loads, NFC
Commit: 48209b6777be924b4384f2fc3148d713ac3f411c
https://github.com/llvm/llvm-project/commit/48209b6777be924b4384f2fc3148d713ac3f411c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/known-pow2.ll
Log Message:
-----------
[DAG] isKnownToBeAPowerOfTwo - add ISD::EXTRACT_VECTOR_ELT handling (#183924)
Initialize DemandedElts mask when the index is constant and inbounds, otherwise check all elements.
Commit: 1dc85c60410f8366e59fd518afa1d9cf22a909e6
https://github.com/llvm/llvm-project/commit/1dc85c60410f8366e59fd518afa1d9cf22a909e6
Author: Daniil Dudkin <unterumarmung at yandex.ru>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.h
M clang-tools-extra/unittests/clang-tidy/LexerUtilsTest.cpp
Log Message:
-----------
[clang-tidy][NFC] Add `getCommentsInRange` utility (#183940)
Commit: 3cf53f684d511c5e31b27ab40397f24efaba1866
https://github.com/llvm/llvm-project/commit/3cf53f684d511c5e31b27ab40397f24efaba1866
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/iv-live-outs.ll
Log Message:
-----------
[LV] Handle sunk reverse VPInstruction in planContainsAdditionalSimps.
Licm can now sink reverse VPInstructions outside the loop region; they
won't be considered when computing costs. Account for that in
planContainsAdditionalSimplifications.
Fixes https://github.com/llvm/llvm-project/issues/183592.
Commit: f62adea305d6e0a9307fa69943c625f407a73688
https://github.com/llvm/llvm-project/commit/f62adea305d6e0a9307fa69943c625f407a73688
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[ProfCheck] Exclude new GVN test
Added in a recent PR. We still have not gotten through GVN, so this is
likely caused by existing code. Exclude it to keep the bot green.
Commit: dddd06be8c3ed10eaef4f986ec4ceb828be7e789
https://github.com/llvm/llvm-project/commit/dddd06be8c3ed10eaef4f986ec4ceb828be7e789
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
Log Message:
-----------
[NFC][Clang] Auto generate check lines for `clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl` (#183926)
Commit: d1d2a1ed76a687ae0dea54b6925bd8c104341d4a
https://github.com/llvm/llvm-project/commit/d1d2a1ed76a687ae0dea54b6925bd8c104341d4a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/multi-use-bicasted-reduction.ll
Log Message:
-----------
[SLP][NFC]Add a test with the incorrect compare, extracted from the transformed vector
Commit: cf1e76835febe1e6f1bcd5c3ebf4178b4c92dbe7
https://github.com/llvm/llvm-project/commit/cf1e76835febe1e6f1bcd5c3ebf4178b4c92dbe7
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ThrowingStaticInitializationCheck.h
M clang-tools-extra/clang-tidy/llvm/UseNewMLIROpBuilderCheck.h
Log Message:
-----------
[clang-tidy][NFC] Don't call `getLangOpts` in `isLanguageVersionSupported` (#184029)
This is just a little inconsistency I noticed. Basically all checks
inspect the `LangOpts` parameter, but these two ignore the parameter and
call `getLangOpts` instead.
Commit: 789bf51f0ce64c541ab0ca81d43c912cf0731628
https://github.com/llvm/llvm-project/commit/789bf51f0ce64c541ab0ca81d43c912cf0731628
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/multi-use-bicasted-reduction.ll
Log Message:
-----------
[SLP]Do not consider condition with multiple uses and negate predicate as a candidate for inversed select
If the select/zext comparison has negate predicate and is used in
several places, it should not be considered as a candidate for inversed
zext/select pattern, it will be replaced by a negate vector predicate,
leading to an incorrect codegen for other uses
Commit: d9ca61b6e7b9aa94d244b831a3cb6274d3839d1c
https://github.com/llvm/llvm-project/commit/d9ca61b6e7b9aa94d244b831a3cb6274d3839d1c
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
Log Message:
-----------
Revert "[NFC][Clang] Auto generate check lines for `clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl`" (#184035)
Reverts llvm/llvm-project#183926 because of some BB failures.
Commit: e2ef93fc5750e1d5bd15cfbac49996c8b9b5e8ff
https://github.com/llvm/llvm-project/commit/e2ef93fc5750e1d5bd15cfbac49996c8b9b5e8ff
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
R clang/test/CodeGenOpenCL/.gdb_history
Log Message:
-----------
[NFC] Remove `clang/test/CodeGenOpenCL/.gdb_history` (#184038)
Commit: f05d2e8a39987b8d87e0a7d6ef887749b5b1700e
https://github.com/llvm/llvm-project/commit/f05d2e8a39987b8d87e0a7d6ef887749b5b1700e
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/test/CodeGenCUDA/amdgpu-kernel-attrs.cu
M clang/test/CodeGenHIP/default-attributes.hip
M clang/test/CodeGenOpenCL/amdgpu-cluster-dims.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
M clang/test/OpenMP/amdgcn-attributes.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelAttributes.cpp
M llvm/test/Analysis/KernelInfo/openmp/amdgpu.ll
A llvm/test/Bitcode/upgrade-uniform-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/amdhsa-kernarg-preload-num-sgprs.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-uniform-workgroup-size-v5.ll
M llvm/test/CodeGen/AMDGPU/implicit-arg-v5-opt.ll
M llvm/test/CodeGen/AMDGPU/inline-attr.ll
M llvm/test/CodeGen/AMDGPU/inlineasm-sgmask.ll
M llvm/test/CodeGen/AMDGPU/invalid-hidden-kernarg-in-kernel-signature.ll
M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
M llvm/test/CodeGen/AMDGPU/mdt-preserving-crash.ll
M llvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs.ll
M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
M llvm/test/CodeGen/AMDGPU/reqd-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
M llvm/test/CodeGen/AMDGPU/si-opt-vgpr-liverange-bug-deadlanes.mir
M llvm/test/CodeGen/AMDGPU/si-optimize-vgpr-live-range-dbg-instr.mir
M llvm/test/CodeGen/AMDGPU/swdev-549940.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-attribute-missing.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-prevent-attribute-propagation.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-propagate-attribute.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-test.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg-debug.ll
M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_split_barrier/split_work_group_barrier_12.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_split_barrier/split_work_group_barrier_20.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_split_barrier/split_work_group_barrier_spirv.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_subgroups/cl_intel_sub_groups.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/vararr_spec_const.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_subgroup_rotate/subgroup-rotate.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/constrained-comparison.ll.bak
M mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[AMDGPU] Make uniform-work-group-size a valueless attribute (#183925)
The "uniform-work-group-size" function attribute previously took a
string value of "true" or "false". Since presence alone can convey the
"true" semantics and absence can convey "false", the value is
unnecessary.
This patch converts it to a valueless string attribute: presence
indicates true, absence indicates false. For backward compatibility,
auto-upgrade logic is added in both UpgradeAttributes (bitcode) and
UpgradeFunctionAttributes: if the old value is "true", the attribute is
kept without a value; if "false", the attribute is removed.
Commit: d947f8f699eb7d14c883f180f72329cae3a23fd3
https://github.com/llvm/llvm-project/commit/d947f8f699eb7d14c883f180f72329cae3a23fd3
Author: Serosh <janmejayapanda400 at gmail.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaTemplate.cpp
A clang/test/SemaCXX/builtin_templates_invalid_parameters.cpp
Log Message:
-----------
[clang][Sema] fix crash on __type_pack_element with dependent packs (GH180307) (#180407)
dependent pack expansions in __type_pack_element can result in
single-element template argument lists. When performing semantic
analysis for these builtins, the compiler needs to account for the
dependent expansions and handle them without triggering strict size
assertions. The patch adds this analysis and ensures we either defer
evaluation for dependent cases or report clear out-of-bounds diagnostics
instead of crashing
Ai was used for test generation and CI debugging
fixes #180307
Commit: e6aafae828e0c6f7045cdc17253b42b844f52098
https://github.com/llvm/llvm-project/commit/e6aafae828e0c6f7045cdc17253b42b844f52098
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M polly/lib/External/isl/GIT_HEAD_ID
M polly/lib/External/isl/isl_ast_build_expr.c
A polly/lib/External/isl/test_inputs/codegen/polly3.c
A polly/lib/External/isl/test_inputs/codegen/polly3.st
Log Message:
-----------
[Polly] Update isl to isl-0.27-86-gcf471c16 (#184044)
Update isl to include
https://repo.or.cz/isl.git/commit/d1b49851aca59c1edd01cb1dc97674e6d79d07af
which fixes #180958
Closes #180958
Thanks @skimo-openhub for the fix and @thapgua for the bugreport.
Commit: 81872e7049ea9b19d91bb01da92869060edbf2a3
https://github.com/llvm/llvm-project/commit/81872e7049ea9b19d91bb01da92869060edbf2a3
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
Log Message:
-----------
[NFC] Fix check lines for `clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl` on Darwin (#184042)
Commit: 8774da8f2f4d28e1b806da38af8732603dc63530
https://github.com/llvm/llvm-project/commit/8774da8f2f4d28e1b806da38af8732603dc63530
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/test/Dialect/XeGPU/subgroup-distribute.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-unify-ops.mlir
Log Message:
-----------
[MLIR][XeGPU] Preserve anchor layouts in recoverTemporaryLayout (#182186)
Commit: e95dabef96f481d78f2b4da9d6f8b5d27195c2b2
https://github.com/llvm/llvm-project/commit/e95dabef96f481d78f2b4da9d6f8b5d27195c2b2
Author: Twice <twice at apache.org>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M mlir/python/mlir/dialects/ext.py
M mlir/test/python/dialects/ext.py
Log Message:
-----------
[MLIR][Python] Support attribute definitions in Python-defined dialects (#183907)
This PR is quite similiar to
https://github.com/llvm/llvm-project/pull/182805.
We added basic support of attribute definitions in Python-defined
dialects, including:
- IRDL codegen for attribute definitions
- Attr builders like `MyAttr.get(..)` and attr parameter accessors (e.g.
`my_attr.param1`)
- Use Python-defined attrs in Python-defined operations
Assisted by GitHub Copilot.
Commit: 686987a540bc176bceaad43ffe530cb3e88796d5
https://github.com/llvm/llvm-project/commit/686987a540bc176bceaad43ffe530cb3e88796d5
Author: Ruiling, Song <ruiling.song at amd.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_pixelshader.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
M llvm/test/CodeGen/AMDGPU/load-saddr-offset-imm.ll
A llvm/test/Transforms/InstCombine/AMDGPU/canonicalize-add-to-gep.ll
M llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.wave.shuffle.ll
M llvm/test/Transforms/InstCombine/AMDGPU/mbcnt.ll
Log Message:
-----------
ValueTracking/AMDGPU: handle mbcnt in computeKnownBitsFromOperator (#183229)
This helps canonicalize some address calculation. This would further
help immediate folding into memory load instructions in the backend.
The order changes to v_mad_u32_u24 is just because
@llvm.amdgcn.mul.u24.i32 was used in codegen prepare after this change.
It does not really change anything important.
Commit: 8fff1c042d14d903ad8bcd1b169e06f0ba04882d
https://github.com/llvm/llvm-project/commit/8fff1c042d14d903ad8bcd1b169e06f0ba04882d
Author: Mend Renovate <bot at renovateapp.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M .github/workflows/upload-release-artifact/action.yml
Log Message:
-----------
Update actions/attest-build-provenance action to v4 (#184051)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
|
[actions/attest-build-provenance](https://redirect.github.com/actions/attest-build-provenance)
| action | major | `v3.1.0` → `v4.1.0` |
---
> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](../issues/160328) for more information.
---
### Release Notes
<details>
<summary>actions/attest-build-provenance
(actions/attest-build-provenance)</summary>
###
[`v4.1.0`](https://redirect.github.com/actions/attest-build-provenance/releases/tag/v4.1.0)
[Compare
Source](https://redirect.github.com/actions/attest-build-provenance/compare/v4.0.0...v4.1.0)
> \[!NOTE]
> As of version 4, `actions/attest-build-provenance` is simply a wrapper
on top of
[`actions/attest`](https://redirect.github.com/actions/attest).
>
> Existing applications may continue to use the
`attest-build-provenance` action, but new implementations should use
`actions/attest` instead.
#### What's Changed
- Update RELEASE.md docs by
[@bdehamer](https://redirect.github.com/bdehamer) in
[#836](https://redirect.github.com/actions/attest-build-provenance/pull/836)
- Bump `actions/attest` from 4.0.0 to 4.1.0 by
[@bdehamer](https://redirect.github.com/bdehamer) in
[#838](https://redirect.github.com/actions/attest-build-provenance/pull/838)
- Bump `@actions/attest` from 3.0.0 to 3.1.0 by
[@bdehamer](https://redirect.github.com/bdehamer) in
[actions/attest#362](https://redirect.github.com/actions/attest/pull/362)
- Bump `@actions/attest` from 3.1.0 to 3.2.0 by
[@bdehamer](https://redirect.github.com/bdehamer) in
[actions/attest#365](https://redirect.github.com/actions/attest/pull/365)
- Add new `subject-version` input for inclusion in storage record by
[@bdehamer](https://redirect.github.com/bdehamer) in
[actions/attest#364](https://redirect.github.com/actions/attest/pull/364)
- Add storage record content to README by
[@bdehamer](https://redirect.github.com/bdehamer) in
[actions/attest#366](https://redirect.github.com/actions/attest/pull/366)
**Full Changelog**:
<https://github.com/actions/attest-build-provenance/compare/v4.0.0...v4.1.0>
###
[`v4.0.0`](https://redirect.github.com/actions/attest-build-provenance/releases/tag/v4.0.0)
[Compare
Source](https://redirect.github.com/actions/attest-build-provenance/compare/v3.2.0...v4.0.0)
> \[!NOTE]
> As of version 4, `actions/attest-build-provenance` is simply a wrapper
on top of
[`actions/attest`](https://redirect.github.com/actions/attest).
>
> Existing applications may continue to use the
`attest-build-provenance` action, but new implementations should use
`actions/attest` instead.
#### What's Changed
- Prepare v4 release by
[@bdehamer](https://redirect.github.com/bdehamer) in
[#835](https://redirect.github.com/actions/attest-build-provenance/pull/835)
**Full Changelog**:
<https://github.com/actions/attest-build-provenance/compare/v3.2.0...v4.0.0>
###
[`v3.2.0`](https://redirect.github.com/actions/attest-build-provenance/releases/tag/v3.2.0)
[Compare
Source](https://redirect.github.com/actions/attest-build-provenance/compare/v3.1.0...v3.2.0)
#### What's Changed
- Bump [@actions/core](https://redirect.github.com/actions/core)
from 1.11.1 to 2.0.1 by
[@dependabot](https://redirect.github.com/dependabot)\[bot] in
[#776](https://redirect.github.com/actions/attest-build-provenance/pull/776)
- Add more documentation on Artifact Metadata Storage Records by
[@malancas](https://redirect.github.com/malancas) in
[#797](https://redirect.github.com/actions/attest-build-provenance/pull/797)
- Update actions/attest to latest version v3.2.0 by
[@malancas](https://redirect.github.com/malancas) in
[#812](https://redirect.github.com/actions/attest-build-provenance/pull/812)
**Full Changelog**:
<https://github.com/actions/attest-build-provenance/compare/v3.1.0...v3.2.0>
</details>
---
### Configuration
📅 **Schedule**: Branch creation - Between 12:00 AM and 12:59 AM, only on
Monday ( * 0 * * 1 ) (UTC), Automerge - At any time (no schedule
defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/llvm/llvm-project).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My40My4yIiwidXBkYXRlZEluVmVyIjoiNDMuNDMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Commit: 52a9eb37db83e1891b20c8d9cf0d03559bb4b2ca
https://github.com/llvm/llvm-project/commit/52a9eb37db83e1891b20c8d9cf0d03559bb4b2ca
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M .github/workflows/upload-release-artifact/action.yml
Log Message:
-----------
[Github] Add TODO around actions/attest
Commit: ab1d59e72524c0fbb77b614c46d67265f1f6a47d
https://github.com/llvm/llvm-project/commit/ab1d59e72524c0fbb77b614c46d67265f1f6a47d
Author: owenca <owenpiano at gmail.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/unittests/Format/ConfigParseTest.cpp
Log Message:
-----------
[clang-format] Allow InheritParentConfig to accept a directory (#182791)
Add support for `BasedOnStyle: InheritParentConfig=<directory-path>` in
config files to redirect inheritance to the `.clang-format` or
`_clang-format` file in the `<directory_path>` directory.
Closes #107808
Commit: f1620e44412fd01a453f6f36d561bb395e1c0627
https://github.com/llvm/llvm-project/commit/f1620e44412fd01a453f6f36d561bb395e1c0627
Author: Wenju He <wenju.he at intel.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/NVPTX.h
M clang/test/Misc/amdgcn.languageOptsOpenCL.cl
M clang/test/Misc/nvptx.languageOptsOpenCL.cl
Log Message:
-----------
[OpenCL] Enable __cl_clang_function_scope_local_variables for AMDGPU and NVPTX targets (#183892)
I'd like to use this extension in our downstream SYCL compiler to
implement the __clc__group_scratch helper function, allowing us to
replace .ll files with .cl files for the two targets:
https://github.com/intel/llvm/blob/sycl/libclc/libspirv/lib/amdgcn-amdhsa/group/collectives_helpers.ll
https://github.com/intel/llvm/blob/sycl/libclc/libspirv/lib/ptx-nvidiacl/group/collectives_helpers.ll
Commit: 6d82f143dee1add67f64ceca89a7bce7bcf2277a
https://github.com/llvm/llvm-project/commit/6d82f143dee1add67f64ceca89a7bce7bcf2277a
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang-tools-extra/clang-tidy/performance/CMakeLists.txt
M clang-tools-extra/clang-tidy/performance/PerformanceTidyModule.cpp
A clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.cpp
A clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.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/performance/use-std-move.rst
A clang-tools-extra/test/clang-tidy/checkers/performance/use-std-move.cpp
Log Message:
-----------
[clang-tidy] New performance linter: performance-use-std-move (#179467)
This linter suggests calls to ``std::move`` when a costly copy would
happen otherwise. It does not try to suggest ``std::move`` when they are
valid but obviously not profitable (e.g. for trivially movable types)
This is a very simple version that only considers terminating basic
blocks. Further work will extend the approach through the control flow
graph.
It has already been used successfully on llvm/lib to submit bugs
#178174,
#178169, #178176, #178172, #178175, #178180, #178178, #178177, #178179,
#178173 and #178167, and on the firefox codebase to submit most of the
dependencies of bug https://bugzilla.mozilla.org/show_bug.cgi?id=2012658
Commit: b8d0bb2ddc77c6f9a856ae90fd1329778c070823
https://github.com/llvm/llvm-project/commit/b8d0bb2ddc77c6f9a856ae90fd1329778c070823
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/NoDeleteChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
Log Message:
-----------
[WebKit checkers] Trivial function analysis ignores some nodelete annotation (#183970)
This PR fixes the bug that TrivialFunctionAnalysis can ignore nodelete
annotation set on some but not all function declarations because it does
not check the annotation on prior declarations unlike
alpha.webkit.NoDeleteChecker which checks it on any declaration by
replacing isNoDeleteFunction with NoDeleteChecker's
hasNoDeleteAnnotation.
Commit: 3270bbf04cbae1d11b6a2283056974b10047094b
https://github.com/llvm/llvm-project/commit/3270bbf04cbae1d11b6a2283056974b10047094b
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M bolt/runtime/instr.cpp
Log Message:
-----------
[BOLT][instr] Make instrumentation counter reset thread safe (#183186)
Use `GlobalWriteProfileMutex` to synchronize between data reset and
dump. Between static counter reset and increment, we use atomic store
in counter reset - the counter increment sequence inserted within user
code already takes care of thread safety, so we just need to make sure
the counter reset code is also thread safe (no torn write to counter).
Commit: b4b32e88dde64ffc97fc0265e356c8743695fe0c
https://github.com/llvm/llvm-project/commit/b4b32e88dde64ffc97fc0265e356c8743695fe0c
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M bolt/runtime/common.h
M bolt/runtime/instr.cpp
Log Message:
-----------
[BOLT][instr] Disable stderr diagnostic output when targeting Android (#183185)
Disable all stderr diagnostic output on Android since there is typically
no terminal to read diagnostic message. The `noinline`annotation is to
keep same inline decision before and after this change. On AArch64
the `.text` section in instr runtime library is now ~4.8 KB smaller.
Commit: 14bcb1a0095408cbf04bad4cea984eb9f448de23
https://github.com/llvm/llvm-project/commit/14bcb1a0095408cbf04bad4cea984eb9f448de23
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2026-03-01 (Sun, 01 Mar 2026)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/lib/Core/BinaryFunction.cpp
Log Message:
-----------
[BOLT] Make sure IOAddressMap exist before lookup (NFC) (#183184)
`BinaryFunction::translateInputToOutputAddress()` contains fallback
logic in case that querying `IOAddressMap` doesn't yield an output
address. Because this function could be called in scenarios where
`IOAddressMap` won't be set up, we should check if the map actually
exists before lookup.
Commit: 1c3327561977a77aea21956c084d63e0e4fd2860
https://github.com/llvm/llvm-project/commit/1c3327561977a77aea21956c084d63e0e4fd2860
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaOps.td
Log Message:
-----------
[mlir][spirv] Introduce a base class for spirv.TOSA convolution ops (#183751)
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: 265c1f483398e2b8dbbd193258570a16fc4c5e09
https://github.com/llvm/llvm-project/commit/265c1f483398e2b8dbbd193258570a16fc4c5e09
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/max-interleave-factor-debug.ll
Log Message:
-----------
[LV] Add debug print for TTI.MaxInterleaveFactor (NFC) (#183309)
As its not currently visible in the debug output.
---------
Co-authored-by: Sander de Smalen <sander.desmalen at arm.com>
Commit: f7b1107bf5641b199340d08f96980cd228755da7
https://github.com/llvm/llvm-project/commit/f7b1107bf5641b199340d08f96980cd228755da7
Author: Mel Chen <mel.chen at sifive.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reductions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reductions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
M llvm/test/Transforms/LoopVectorize/float-minmax-instruction-flag.ll
M llvm/test/Transforms/LoopVectorize/minmax_reduction.ll
Log Message:
-----------
[IVDescriptors] Remove function FMF attribute check for FP min/max reduction (#183523)
Remove the use of function attributes no-nans-fp-math and
no-signed-zeros-fp-math in FP min/max reduction detection. The required
fast-math flags nnan and nsz should be present on the intrinsic calls,
fcmp and select instructions themselves.
Commit: 51d9b40b0d094f2de64a5ec9493fb8689daf1e08
https://github.com/llvm/llvm-project/commit/51d9b40b0d094f2de64a5ec9493fb8689daf1e08
Author: David Green <david.green at arm.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/sve-lrint.ll
Log Message:
-----------
[AArch64] Remove iXLen from sve-lrint.ll. NFC
Commit: c62c00c52405da2650512ab030bef30a9ccaec6a
https://github.com/llvm/llvm-project/commit/c62c00c52405da2650512ab030bef30a9ccaec6a
Author: Mel Chen <mel.chen at sifive.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/cast-induction.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/version-mem-access.ll
M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll
Log Message:
-----------
[VPlan] Remove unused VPExpandSCEVRecipe before expansion (#181329)
VPExpandSCEVRecipe may become unused after VPlan optimizations. This
patch removes VPExpandSCEVRecipes with no users before expansion in
expandSCEVs, avoiding generating dead code during VPlan execution.
Commit: 0704b68a027a84863bbdc654df1e2989b4de3ab7
https://github.com/llvm/llvm-project/commit/0704b68a027a84863bbdc654df1e2989b4de3ab7
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/test/tools/gold/X86/thinlto.ll
Log Message:
-----------
[gold] Fix test
Update for https://github.com/llvm/llvm-project/pull/183793.
Commit: 4922ab9915b0bc8cb6528583fe2da324d2d4bdeb
https://github.com/llvm/llvm-project/commit/4922ab9915b0bc8cb6528583fe2da324d2d4bdeb
Author: Kito Cheng <kito.cheng at sifive.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/CodeGen/RISCV/prefetch.ll
M llvm/test/CodeGen/RISCV/riscv-zihintpause.ll
Log Message:
-----------
[RISCV] Relax codegen predicates for HINT-based instructions (#179872)
Following the assembler/disassembler changes in #178609, this patch also
relaxes the codegen predicates for HINT-based instructions. Since these
instructions use encodings that are architecturally guaranteed not to
trap, the compiler can safely generate them regardless of extension
availability.
Changes:
- int_riscv_pause: Remove HasStdExtZihintpause predicate. The pause
intrinsic now generates the FENCE hint encoding unconditionally.
- NTL hints: Remove hasStdExtZihintntl() check in emitNTLHint().
Non-temporal locality hints are now emitted for all nontemporal memory
operations.
Commit: 36c6c689dc3141b557638808a073b71104e82c35
https://github.com/llvm/llvm-project/commit/36c6c689dc3141b557638808a073b71104e82c35
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M compiler-rt/test/builtins/CMakeLists.txt
Log Message:
-----------
[compiler-rt][ARM] Fix conditions for strict-mode FP testing (#183507)
On sufficiently old versions of the Arm architecture, the optimized FP
routines are not enabled. So commit a84ee1416b6c179 should not have
enabled the extra-strict tests that go with them.
Also in that commit, I wrote a comment saying I was setting two separate
compile-time definitions (-DCOMPILER_RT_ARM_OPTIMIZED_FP and
-DCOMPILER_RT_ARM_OPTIMIZED_FP_THUMB1), and then didn't actually do it!
This caused the strict mulsf3 tests to be wrongly disabled in Thumb2.
Commit: 4c2ac846bb776659ad9b7bf330f0152249b13764
https://github.com/llvm/llvm-project/commit/4c2ac846bb776659ad9b7bf330f0152249b13764
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaTypes.td
M mlir/test/Dialect/SPIRV/IR/tosa-ops-verification.mlir
M mlir/test/Dialect/SPIRV/IR/tosa-ops.mlir
M mlir/test/Target/SPIRV/tosa-ops.mlir
Log Message:
-----------
[mlir][spirv] Add Element Binary Logical operators to TOSA Ext Inst Set (#183703)
This patch introduces the following element binary operators:
* spirv.Tosa.LogicalAnd
* spirv.Tosa.LogicalLeftShift
* spirv.Tosa.LogicalRightShift
* spirv.Tosa.LogicalOr
* spirv.Tosa.LogicalXor
Also dialect and serialization round-trip tests have been added.
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: c7e1ec97b9794da3154f44ad198d9b8eaddc7dfd
https://github.com/llvm/llvm-project/commit/c7e1ec97b9794da3154f44ad198d9b8eaddc7dfd
Author: Ritanya-B-Bharadwaj <ritanya.b.bharadwaj at gmail.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Lower/OpenMP/task-implicit-firstprivate.f90
Log Message:
-----------
[flang][OpenMP] Implicitly capture variables in enclosing task for nested firstprivate (#183770)
Fixes https://github.com/llvm/llvm-project/issues/181271
If a variable is marked firstprivate in a nested task but not actually
used in the outer task body, we still need the outer task to capture it
as firstprivate. Otherwise the nested task can end up pointing to the
parallel region’s stack frame, which might already be gone when the
deferred task runs, causing a use-after-free.
Commit: 86b07a79a9c34cbd6ecd9e814a68796ca9c38a46
https://github.com/llvm/llvm-project/commit/86b07a79a9c34cbd6ecd9e814a68796ca9c38a46
Author: David Green <david.green at arm.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-abi-varargs.ll
M llvm/test/CodeGen/AArch64/arm64-abi_align.ll
M llvm/test/CodeGen/AArch64/arm64-variadic-aapcs.ll
M llvm/test/CodeGen/AArch64/ilp32-va.ll
M llvm/test/CodeGen/AArch64/machine-outliner.ll
Log Message:
-----------
[AArch64] Remove -aarch64-load-store-renaming=true from test. NFC
This is the default nowadays, and can be removed from tests not specific to the
feature.
Commit: 037fd6eaaf45e5bd9969d6a62d2b4cbc7820be7a
https://github.com/llvm/llvm-project/commit/037fd6eaaf45e5bd9969d6a62d2b4cbc7820be7a
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/VINTERPInstructions.td
M llvm/test/MC/AMDGPU/vinterp-fake16.s
M llvm/test/MC/Disassembler/AMDGPU/vinterp.txt
Log Message:
-----------
[AMDGPU] Add VINTERP encoding to gfx13 (#182481)
Commit: 96113ac416e7af1343d4ca9620ac312c301e9fc7
https://github.com/llvm/llvm-project/commit/96113ac416e7af1343d4ca9620ac312c301e9fc7
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGen/ubsan-function-sugared.cpp
M clang/test/CodeGen/ubsan-function.cpp
Log Message:
-----------
[Clang] Use llvm.ptrmask to mask out thumb bit (#183535)
Use llvm.ptrmask instead of a ptrtoint + and + inttoptr sequence to mask
out the thumb bit.
Commit: 3ad43f2d1c03f7f04bd2943e9411a7986b1962c3
https://github.com/llvm/llvm-project/commit/3ad43f2d1c03f7f04bd2943e9411a7986b1962c3
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/intrinsic-select.ll
Log Message:
-----------
[LangRef] Clarify nsz semantics (#180906)
The current LangRef wording says that the sign of a zero argument or
result is "insignificant", which is not really clear on what this means.
Alive2 models this as non-deterministically flipping the zero sign bits
for both inputs and outputs.
This PR proposes to specify this flag as non-deterministically flipping
inputs only. A consequence of this is that fabs is guaranteed to have an
unset sign bit even if the input is zero (that is,
https://alive2.llvm.org/ce/z/irCftQ is no longer a valid transform), and
that the copysign result sign only depends on the second operand (that
is, https://alive2.llvm.org/ce/z/VnHdfh is no longer a valid transform).
These rules are still more liberal than we'd really like them to be, but
at least avoid some of the issues with nsz.
This is based on the discussion in:
https://discourse.llvm.org/t/rfc-clarify-the-behavior-of-fp-operations-on-bit-strings-with-nsz-flag/85981
Commit: 900f70258b905d0b5d9eaecc74cc9130e79f899d
https://github.com/llvm/llvm-project/commit/900f70258b905d0b5d9eaecc74cc9130e79f899d
Author: David Spickett <david.spickett at arm.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M lldb/include/lldb/Utility/AnsiTerminal.h
M lldb/source/Interpreter/Options.cpp
M lldb/test/API/commands/help/TestHelp.py
M lldb/unittests/Utility/AnsiTerminalTest.cpp
Log Message:
-----------
[lldb] Indent option help with ANSI cursor codes when possible. (#183558)
This avoids formatting empty space when a range of text formatted by
ANSI codes is split across lines.
This is not currently done in any option, but the `${...}` syntax we
have does support marking any range of text, so it could be done in
future, and fixing it is simple.
As an example, if I change a breakpoint option:
```
"${S}et the breakpoint only in this shared library. Can repeat "
- "this option multiple times to specify multiple shared libraries.">;
+ "this option multiple ${times to specify multiple} shared libraries.">;
```
This applies the underline to words that will be split across lines. In
the outputs below, `^` represents an underlined character.
With spaces:
```
-s <shlib-name> ( --shlib <shlib-name> )
Set the breakpoint only in this shared library. Can repeat this option multiple times to
^^^^^^^^
specify multiple shared libraries.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
```
The indent and the text are underlined, this is not what we want.
With cursor movement:
```
-s <shlib-name> ( --shlib <shlib-name> )
Set the breakpoint only in this shared library. Can repeat this option multiple times to
^^^^^^^^
specify multiple shared libraries.
^^^^^^^^^^^^^^^^
```
Only the text is underlined, which is correct.
If we are not allowed to use ANSI (use-color is off), then the
descriptions will be stripped of ANSI anyway, so this is not a problem.
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: f46aca9bf84e810e3c97216a4d95eebc5652f651
https://github.com/llvm/llvm-project/commit/f46aca9bf84e810e3c97216a4d95eebc5652f651
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
Log Message:
-----------
[AArch64] Combine (and/or X, (dup (not Y))) -> (bic/orn X, (dup Y)) (#175739)
Commit: 925ec952ddd88f51fe022c5caeb47c6bbdca6c6f
https://github.com/llvm/llvm-project/commit/925ec952ddd88f51fe022c5caeb47c6bbdca6c6f
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/test/MC/ARM/dwarf-asm-multiple-sections.s
Log Message:
-----------
[llvm][DebugInfo][test] dwarf-asm-multiple-sections.s: refine FileCheck checks
Renames the `DWARF6` check-prefix to `DWARF7` because it's the check we use for `-dwarf-version 7`.
Also adds a check prefix for just `-dwarf-version 5` because we will
diverge DWARFv5 and DWARFv6 CU langauge attribute in https://github.com/llvm/llvm-project/pull/183897.
Commit: 0c89071fa33ff0b8a719a1671f2b3551ccf0902a
https://github.com/llvm/llvm-project/commit/0c89071fa33ff0b8a719a1671f2b3551ccf0902a
Author: Kleis Auke Wolthuizen <github at kleisauke.nl>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/utils/git/github-automation.py
Log Message:
-----------
github-automation.py: Fix mis-indented statement (#149653)
Ensure all reviewers who approved the original PR are properly notified
and added as reviewers on backport PRs.
Resolves: #109429.
Commit: 61faf7d3db72dcfe8d19f9bd926133be1be0f62b
https://github.com/llvm/llvm-project/commit/61faf7d3db72dcfe8d19f9bd926133be1be0f62b
Author: Ryan Cowan <ryan.cowan at arm.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64GlobalISelUtils.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/inttoptr_add.ll
M llvm/test/CodeGen/AArch64/GlobalISel/preselect-process-phis.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbankselect-build-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-constant.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-dup.mir
M llvm/test/CodeGen/AArch64/aarch64-mops.ll
M llvm/test/CodeGen/AArch64/arm64-fp-imm-size.ll
M llvm/test/CodeGen/AArch64/arm64-fp-imm.ll
M llvm/test/CodeGen/AArch64/arm64-fp128.ll
M llvm/test/CodeGen/AArch64/arm64-vhadd.ll
M llvm/test/CodeGen/AArch64/dup.ll
M llvm/test/CodeGen/AArch64/fcvt_combine.ll
M llvm/test/CodeGen/AArch64/fpimm.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-scalar.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/frem-power2.ll
M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
M llvm/test/CodeGen/AArch64/neon-extadd-extract.ll
M llvm/test/CodeGen/AArch64/rem-by-const.ll
Log Message:
-----------
[AArch64][GlobalISel] Use GPR for illegal fconstants and extend < 32 bit GPR constants to 32 bits (#178692)
In a similar fashion to
https://github.com/llvm/llvm-project/pull/175810, this PR aims to
simplify the handling of constants by extending smaller than 32 bit
integer constants to 32 bits in regbankselect. This is only done for
constants that were going to be assigned to a GPR and aims to simplify
the selection of these.
In addition, fconstants that would have lead to a constant pool load
because they are illegal as immediates (except for 128 bit) are now
converted to a constant on GPR registers before being copied to the FPR.
This hopefully reduces cache pressure & simplifies selection.
I have tried to rely on tablegen as much as possible for selecting the
instructions for this.
Commit: 730587d3be6cdd984d91336c0992176d72f5d5c1
https://github.com/llvm/llvm-project/commit/730587d3be6cdd984d91336c0992176d72f5d5c1
Author: Aaron Smull <45045667+asmull at users.noreply.github.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/known-never-zero.ll
Log Message:
-----------
[DAG] isKnownNeverZero - add DemandedElts for ISD::SMIN/SMAX (#184054)
Resolves #183039
Commit: 13751c87076b9fe1c235a951e75715a6761203a7
https://github.com/llvm/llvm-project/commit/13751c87076b9fe1c235a951e75715a6761203a7
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/CodeGen/AArch64/replace-with-veclib-armpl.ll
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-intrinsic-calls.ll
Log Message:
-----------
[AArch64] Vectorise llvm.pow using vector intrinsic for ArmPL library (#183319)
When vectorising loops containing calls to the llvm.pow intrinsic we
currently end up with direct calls to the vector math library equivalent
of llvm.pow. This causes problems later on because we then miss out on
optimisations in the backend for things like
pow(x, 0.25)
pow(x, 0.75)
etc.
There are a few different ways of trying to solve this, but I think the
cleanest way is to leave the call in the intrinsic form and then teach
the backend how to lower the FPOW DAG node to the vector math library
function. This is similar to what we already do for llvm.sincos/FSINCOS
today.
I've done this by removing the entries in Analysis/VecFuncs.def that map
the intrinsic to the vector math functions, whilst also teaching the
cost model that the vector intrinsic form of llvm.pow is cheap in the
presence of the library.
Commit: e3b01e132908836aebc142d5e92d96314fd44951
https://github.com/llvm/llvm-project/commit/e3b01e132908836aebc142d5e92d96314fd44951
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M lldb/test/API/commands/frame/var-dil/expr/Arithmetic/TestFrameVarDILArithmetic.py
Log Message:
-----------
[lldb] Fix wchar addition tests in DIL (#184082)
This patch fixes tests on systems where `wchar`'s underlying type is
`unsigned long`, or `long` and `int` types have the same width, so
`unsigned int` gets promoted to `unsigned long` during binary addition.
These tests check that `wchar` types get promoted to regular integer
types at all.
Commit: e44fd05035a3d6a55fff4e29049ba05340c447da
https://github.com/llvm/llvm-project/commit/e44fd05035a3d6a55fff4e29049ba05340c447da
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M mlir/Maintainers.md
M mlir/docs/TargetLLVMIR.md
R mlir/include/mlir-c/Dialect/AMX.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Conversion/VectorToAMX/VectorToAMX.h
R mlir/include/mlir/Dialect/AMX/AMX.td
R mlir/include/mlir/Dialect/AMX/AMXDialect.h
R mlir/include/mlir/Dialect/AMX/AMXInterfaces.td
R mlir/include/mlir/Dialect/AMX/CMakeLists.txt
R mlir/include/mlir/Dialect/AMX/Transforms.h
M mlir/include/mlir/Dialect/CMakeLists.txt
M mlir/include/mlir/Dialect/SparseTensor/Pipelines/Passes.h
M mlir/include/mlir/Dialect/X86/Transforms.h
M mlir/include/mlir/Dialect/X86/X86.td
M mlir/include/mlir/Dialect/X86/X86Dialect.h
R mlir/lib/CAPI/Dialect/AMX.cpp
M mlir/lib/CAPI/Dialect/CMakeLists.txt
M mlir/lib/Conversion/VectorToAMX/CMakeLists.txt
M mlir/lib/Conversion/VectorToAMX/VectorToAMX.cpp
M mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
R mlir/lib/Dialect/AMX/CMakeLists.txt
R mlir/lib/Dialect/AMX/IR/AMXDialect.cpp
R mlir/lib/Dialect/AMX/IR/CMakeLists.txt
R mlir/lib/Dialect/AMX/Transforms/CMakeLists.txt
R mlir/lib/Dialect/AMX/Transforms/LegalizeForLLVMExport.cpp
M mlir/lib/Dialect/CMakeLists.txt
M mlir/lib/Dialect/X86/IR/X86Dialect.cpp
M mlir/lib/Dialect/X86/Transforms/LegalizeForLLVMExport.cpp
M mlir/lib/RegisterAllDialects.cpp
M mlir/lib/RegisterAllExtensions.cpp
M mlir/test/CMakeLists.txt
M mlir/test/Conversion/VectorToAMX/contract-to-amx.mlir
M mlir/test/Conversion/VectorToAMX/transfer-to-amx.mlir
M mlir/test/Conversion/VectorToLLVM/pass-option-serialization.mlir
R mlir/test/Dialect/AMX/invalid.mlir
R mlir/test/Dialect/AMX/legalize-for-llvm.mlir
R mlir/test/Dialect/AMX/roundtrip.mlir
R mlir/test/Dialect/AMX/side-effects.mlir
M mlir/test/Dialect/Linalg/invalid.mlir
A mlir/test/Dialect/X86/AMX/invalid.mlir
A mlir/test/Dialect/X86/AMX/legalize-for-llvm.mlir
A mlir/test/Dialect/X86/AMX/roundtrip.mlir
A mlir/test/Dialect/X86/AMX/side-effects.mlir
R mlir/test/Integration/Dialect/Vector/CPU/AMX/lit.local.cfg
R mlir/test/Integration/Dialect/Vector/CPU/AMX/mulf-full.mlir
R mlir/test/Integration/Dialect/Vector/CPU/AMX/mulf.mlir
R mlir/test/Integration/Dialect/Vector/CPU/AMX/muli-ext.mlir
R mlir/test/Integration/Dialect/Vector/CPU/AMX/muli-full.mlir
R mlir/test/Integration/Dialect/Vector/CPU/AMX/muli.mlir
R mlir/test/Integration/Dialect/Vector/CPU/AMX/tilezero-block.mlir
R mlir/test/Integration/Dialect/Vector/CPU/AMX/tilezero.mlir
A mlir/test/Integration/Dialect/Vector/CPU/X86/AMX/lit.local.cfg
A mlir/test/Integration/Dialect/Vector/CPU/X86/AMX/mulf-full.mlir
A mlir/test/Integration/Dialect/Vector/CPU/X86/AMX/mulf.mlir
A mlir/test/Integration/Dialect/Vector/CPU/X86/AMX/muli-ext.mlir
A mlir/test/Integration/Dialect/Vector/CPU/X86/AMX/muli-full.mlir
A mlir/test/Integration/Dialect/Vector/CPU/X86/AMX/muli.mlir
A mlir/test/Integration/Dialect/Vector/CPU/X86/AMX/tilezero-block.mlir
A mlir/test/Integration/Dialect/Vector/CPU/X86/AMX/tilezero.mlir
M mlir/test/Integration/Dialect/Vector/CPU/X86/dot.mlir
M mlir/test/Integration/Dialect/Vector/CPU/X86/sparse-dot-product.mlir
M mlir/test/Target/LLVMIR/amx.mlir
M mlir/test/lit.site.cfg.py.in
M mlir/test/mlir-opt/commandline.mlir
Log Message:
-----------
[mlir][x86] Move AMX dialect into X86 dialect (#183717)
Unifies the two dialects that define x86 operations into a single one.
The AMX dialect is moved into X86 in line with other x86 extensions.
Following the dialect renaming, X86 dialect is now a suitable home for
wider range of operations targeting specific hardware features. Moving
AMX definitions to X86 dialect creates a single, centralized hub for
defining all x86 intrinsic-like operations. The new grouping aims to
eliminate the need for new dialects as new hardware extensions become
available.
The two dialects are simply merged together. X86 dialect refactoring
will be addressed separately.
List of changes:
- operations: 'amx.tile_*' => 'x86.amx.tile_*'
- types: '!amx.tile' => '!x86.amx.tile'
- namespace: 'mlir::amx' => 'mlir::x86::amx'
- test define: 'MLIR_RUN_AMX_TESTS' => 'MLIR_RUN_X86_AMX_TESTS'
- vector lowering: AMX is enabled by default together with X86
The MLIR AMX tests are now nested under X86 directory. To enable AMX
integration tests, 'MLIR_RUN_X86_TESTS' must also be defined.
Commit: 482a7718a8d8376b56e9dad7432624c1491ee1e6
https://github.com/llvm/llvm-project/commit/482a7718a8d8376b56e9dad7432624c1491ee1e6
Author: fbrv <Fabio.Baravalle at gmail.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/RISCV/combine-clmul.ll
M llvm/test/CodeGen/X86/combine-clmul.ll
Log Message:
-----------
[DAG] visitCLMUL - fold (clmul x, c_pow2) -> (shl x, log2(c_pow2)) (#184049)
Implements the missing basic folds for `ISD::CLMUL` in `visitCLMUL`:
- `(clmul x, 1)` → `x`
- `(clmul x, c_pow2)` → `(shl x, log2(c_pow2))`
These were previously only folded during scalar expansion
(`expandCLMUL`), so targets with native CLMUL support (e.g. X86 pclmul,
RISCV Zbc) never had the opportunity to simplify these cases.
Fixes #181831
Commit: 00af181a4eddad6ad2b0ea2e435ecde5f4033314
https://github.com/llvm/llvm-project/commit/00af181a4eddad6ad2b0ea2e435ecde5f4033314
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/test/Dialect/EmitC/form-expressions.mlir
Log Message:
-----------
[mlir][emitc] Fix crash in form-expressions when identity cast is folded (#183894)
When the --form-expressions pass runs applyPatternsGreedily, the greedy
rewriter calls CastOpInterface::foldTrait on ops inside ExpressionOp
bodies. For an identity cast (e.g. `emitc.cast i32 to i32`), this fold
succeeds and replaces the op's result with its operand (a block
argument), leaving the ExpressionOp body in the form `{ yield %arg }`.
Subsequently, if the cast expression's result had its use count reduced
to one (e.g. because a dead non-EmitC use was eliminated),
FoldExpressionOp would select this expression as a candidate to fold
into an outer expression. It then calls usedExpression.getRootOp(),
which returns nullptr because the body yields a block argument rather
than an op result. The subsequent mapper.lookup(nullptr) crashes with an
assertion.
Fix by adding a FoldTrivialExpressionOp canonicalization pattern that
handles ExpressionOps whose body yields a block argument directly: such
an expression is a passthrough and can be replaced by the corresponding
operand value. This canonicalization fires during greedy rewriting
before FoldExpressionOp encounters the invalid state.
Fixes #179844
Commit: c1d82e2f3e83c89b78825233afe05796ae2f73c0
https://github.com/llvm/llvm-project/commit/c1d82e2f3e83c89b78825233afe05796ae2f73c0
Author: lonely eagle <2020382038 at qq.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M mlir/lib/Reducer/OptReductionPass.cpp
Log Message:
-----------
[mlir][reducer] Use LDBG in opt-reduction-pass (NFC) (#184026)
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: 6cce18b9f5185e7285a3de5202b494282e6ef43f
https://github.com/llvm/llvm-project/commit/6cce18b9f5185e7285a3de5202b494282e6ef43f
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopIdiomVectorize.cpp
M llvm/test/Transforms/LoopIdiom/AArch64/find-first-byte.ll
Log Message:
-----------
[LoopIdiomVectorize] Avoid wrapping in find_first_of loops. (#180570)
As noted in
https://github.com/llvm/llvm-project/pull/179298#discussion_r2757948654,
use integer induction variables to avoid potential pointer wrap.
Commit: 47383919d11171607ec2f00d4122a1a958551a3e
https://github.com/llvm/llvm-project/commit/47383919d11171607ec2f00d4122a1a958551a3e
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64][NFC] Remove unused parameters for `performORCombine` (#184075)
Commit: dd871f55f01870bb29468ceea89f7b810a330add
https://github.com/llvm/llvm-project/commit/dd871f55f01870bb29468ceea89f7b810a330add
Author: lonely eagle <2020382038 at qq.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M flang/test/Lower/HLFIR/goto-do-body.f90
Log Message:
-----------
[flang] Use CHECK-DAG to check constants (NFC) (#184097)
It is part of https://github.com/llvm/llvm-project/pull/180556, as a
separate NFC PR.
Commit: 52df4a19599b9b51bc8ac7c612e979e361aded93
https://github.com/llvm/llvm-project/commit/52df4a19599b9b51bc8ac7c612e979e361aded93
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
Log Message:
-----------
[AMDGPU] Fix typos "SPGR" / "VPGR" in comments
Commit: 82a1905c4bd33c26d8d91c3ba892652d978f7b74
https://github.com/llvm/llvm-project/commit/82a1905c4bd33c26d8d91c3ba892652d978f7b74
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
Log Message:
-----------
InstCombine: Pass SimplifyQuery through SimplifyDemandedFPClass (#184096)
Commit: d2b6a5a3f6e8a1d9bf0ff2d6329653f9873d3c4d
https://github.com/llvm/llvm-project/commit/d2b6a5a3f6e8a1d9bf0ff2d6329653f9873d3c4d
Author: Pradeep Kumar <pradeepku at nvidia.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
Log Message:
-----------
[LLVM][NVPTX] Fix infinite legalization loop in tcgen05.st (#183012)
This commit adds missing legalizer check without which ISel Lowering gets stuck in an infinite loop
Commit: 24d21ca03cd2ba7792f72c5acad1d8715b622237
https://github.com/llvm/llvm-project/commit/24d21ca03cd2ba7792f72c5acad1d8715b622237
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M flang/lib/Semantics/check-omp-loop.cpp
A flang/test/Semantics/OpenMP/fuse1.f90
Log Message:
-----------
[flang][OpenMP] Fix counting generated nests (#183957)
The code in `CountGeneratedNests` returned std::nullopt if the LOOPRANGE
clause was not present on a FUSE construct. That is incorrect, the
answer should be 1 instead, except in cases where the FUSE itself was
invalid, such as having no loops nested in it.
Returning std::nullopt will not cause any messages to be emitted. The
case of zero loops inside of FUSE will be diagnosed when analyzing the
body of the FUSE construct itself, not when checking a construct in
which the FUSE is nested.
This prevents error messages caused by the same problem from being
emitted for every enclosing loop construct.
Commit: b39247c391c4eca1ce1a327716ca5e8e7557feb7
https://github.com/llvm/llvm-project/commit/b39247c391c4eca1ce1a327716ca5e8e7557feb7
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
Log Message:
-----------
[AMDGPU] Fix typo "PGRM" in variable name. NFC. (#184104)
Commit: 87cbea6cdc9a55c1fda2d83820d0d81f314868a7
https://github.com/llvm/llvm-project/commit/87cbea6cdc9a55c1fda2d83820d0d81f314868a7
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M openmp/cmake/modules/LibompHandleFlags.cmake
M openmp/cmake/modules/LibompUtils.cmake
M openmp/docs/CMakeLists.txt
M openmp/libompd/src/CMakeLists.txt
M openmp/runtime/CMakeLists.txt
M openmp/runtime/cmake/LibompExports.cmake
M openmp/runtime/cmake/LibompMicroTests.cmake
M openmp/runtime/cmake/config-ix.cmake
M openmp/runtime/src/CMakeLists.txt
M openmp/tools/omptest/CMakeLists.txt
Log Message:
-----------
[openmp][cmake][NFCI] Avoid non-eval uses of ${var} (#182267)
When using
set(var "Example")
if (${var})
CMake will first resolve the if-argument to
if (Example)
And what then happens depends on the existance of a variable with the
name "Example":
1. If instead of "Example", a truth constant is used ("TRUE", "FALSE",
"ON", "OFF", "", "-NOTFOUND" ...), it is prioritized
(https://cmake.org/cmake/help/latest/command/if.html#constant)
2. If a variable with the name "Example" exists: Use the truthiness of
its content
(https://cmake.org/cmake/help/latest/command/if.html#variable)
3. Otherwise, it is false-y
That is, the the result of the conditional does not only depend on the
content of `var`, but also some other variable. This is usually
unintended and leads to problems such as addressed with #154537. The
only case where this is intended is when passing an expression to be
evaluated such as with `pythonize_bool`, `append_if` and
`libomp_append`. In all other cases, using `${var}` without quotes is a
pattern to be avoided.
Remark:
If `${var}` is not one of the values considered a [truthiness
constant](https://cmake.org/cmake/help/latest/command/if.html#constant),
the result of `if (var)` and `if ("${var}")` is different:
* `if (var)` is true-ish
(https://cmake.org/cmake/help/latest/command/if.html#variable)
* `if ("Example")` and therefore `if ("${var}")` are false-y
(https://cmake.org/cmake/help/latest/command/if.html#string)
In this PR I am preferring `if (var)` over `if ("${var}")` because has
less clutter, resembles Python's behaviour, and problably what most
users are expecting, even though `if (${var})` in most cases would
evaluate to false-y because a variable does not exist. This ambiguity
does not exist for STREQUAL and MATCHES.
Commit: 88693c49d9ac58a33af5978d31f6c70fe1d5b45b
https://github.com/llvm/llvm-project/commit/88693c49d9ac58a33af5978d31f6c70fe1d5b45b
Author: Ella Ma <alansnape3058 at gmail.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
R clang/test/Analysis/PR37855.c
R clang/test/Analysis/bitint-z3.c
R clang/test/Analysis/cstring-addrspace.c
R clang/test/Analysis/unary-sym-expr-z3-refutation.c
R clang/test/Analysis/z3-crosscheck-max-attempts.cpp
R clang/test/Analysis/z3-crosscheck.c
R clang/test/Analysis/z3-refute-enum-crash.cpp
R clang/test/Analysis/z3-unarysymexpr.c
A clang/test/Analysis/z3/PR37855.c
A clang/test/Analysis/z3/bitint-z3.c
A clang/test/Analysis/z3/cstring-addrspace.c
A clang/test/Analysis/z3/unary-sym-expr-z3-refutation.c
A clang/test/Analysis/z3/z3-crosscheck-max-attempts.cpp
A clang/test/Analysis/z3/z3-crosscheck.c
A clang/test/Analysis/z3/z3-refute-enum-crash.cpp
A clang/test/Analysis/z3/z3-unarysymexpr.c
Log Message:
-----------
[NFC][analyzer][test][z3] Move test cases requiring Z3 to the `Analysis/z3/` subdirectory (#183724)
Addressing #181581, continuing #183034
This enables executing all test cases with the `REQUIRES: z3` tag via
the `check-clang-analysis-z3` target.
Commit: 60fec80bdcb3b1bc4f67ebf56ff509fef0097c85
https://github.com/llvm/llvm-project/commit/60fec80bdcb3b1bc4f67ebf56ff509fef0097c85
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/cast-induction.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/version-mem-access.ll
M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll
Log Message:
-----------
Revert "[VPlan] Remove unused VPExpandSCEVRecipe before expansion" (#184108)
Reverts llvm/llvm-project#181329
Breaks: https://lab.llvm.org/buildbot/#/builders/123/builds/36163
Local revert fixes the issue seen in the buildbot.
Commit: cd0eb16a11f8c3102d1fe0d8d135b9f592515ff9
https://github.com/llvm/llvm-project/commit/cd0eb16a11f8c3102d1fe0d8d135b9f592515ff9
Author: David Green <david.green at arm.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
Log Message:
-----------
[AArch64] Add maybe_unused to DstTy in assert. NFC
Commit: ce79fb371245c53cad00817b246e920f21568e08
https://github.com/llvm/llvm-project/commit/ce79fb371245c53cad00817b246e920f21568e08
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/assume-icmp-null-select.ll
M llvm/test/Transforms/InstCombine/assume-loop-align.ll
M llvm/test/Transforms/InstCombine/assume.ll
Log Message:
-----------
[InstCombine] Always fold nonnull assumptions into operand bundles (#169923)
Fixes #168688
Commit: bcc272b3220fac5badb3e2f439f6d91fae15c4f4
https://github.com/llvm/llvm-project/commit/bcc272b3220fac5badb3e2f439f6d91fae15c4f4
Author: Luke Lau <luke at igalia.com>
Date: 2026-03-02 (Mon, 02 Mar 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.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] Remove DataAndControlFlowWithoutRuntimeCheck. NFC (#183762)
After #144963 and #183292 we never emit the runtime check, so
DataAndControlFlowWithoutRuntimeCheck is equivalent to
DataAndControlFlow.
With that we only need to store one tail folding style instead of two,
because we don't need to distinguish whether or not the IV update
overflows (to a non-zero value)
Commit: 4af885c0c13c0cf1fe9aee554634020d801b4999
https://github.com/llvm/llvm-project/commit/4af885c0c13c0cf1fe9aee554634020d801b4999
Author: Gaëtan Bossu <gaetan.bossu at arm.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/zext-shuffle.ll
Log Message:
-----------
[AArch64] Fix performZExtUZPCombine() DAG combine (#183765)
This used to look through all extract_subvector nodes, including those
extracting a fixed vector from a scalable one. One consequence is that
we could end up generating a NVCAST from a scalable vector to a fixed
one, even when vscale was unknown.
Commit: 4a907a526dd735acf7433be2cbddb30d48e96095
https://github.com/llvm/llvm-project/commit/4a907a526dd735acf7433be2cbddb30d48e96095
Author: Shaojie Zhu <shaojie.zhu at intel.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/cmake/modules/LLVMConfig.cmake.in
M llvm/docs/CMake.rst
Log Message:
-----------
[CMake] Add LLVM_ENABLE_WARNING_SUPPRESSIONS to toggle warning suppressions (#183439)
This PR introduces a new opt-in CMake option
`LLVM_ENABLE_WARNING_SUPPRESSIONS` (default `ON`) to toggle warning
suppressions
Previously, several compiler warnings were explicitly disabled using
`-wd` (for MSVC) or `-Wno-...` (for GCC/Clang) flags by default.
However, this causes validation failures with strict compliance scanners
like BinSkim, which require builds to run without any warning
suppressions to meet SDL compliance standards.
This change introduces an opt-in `LLVM_ENABLE_WARNING_SUPPRESSIONS`
option (default ON). When explicitly disabled (OFF), it selectively
filters out the `-wd` flags for MSVC and removes all `-Wno-...` flags
for GCC/Clang in HandleLLVMOptions.cmake. This ensures all compiler
warnings are exposed as intended for static analysis tools while
preserving the default noise-free build experience for regular users.
The option has also been exported to `LLVMConfig.cmake.in` and
documented in `CMake.rst`.
Signed-off-by: Zhu, Shaojie <shaojie.zhu at intel.com>
Commit: 9d5ca5282d13603dc923d4710cbb7c1ef5089dfd
https://github.com/llvm/llvm-project/commit/9d5ca5282d13603dc923d4710cbb7c1ef5089dfd
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/include/llvm/IR/Value.h
M llvm/lib/IR/Value.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
Log Message:
-----------
[IR] Return bool from replaceUsesWithIf() (#184107)
We regularly want to know whether replaceUsesWithIf() actually replaced
any uses for the purpose of change tracking. It's possible to do this by
maintaining a Changed flag inside the callback, but it's cleaner if the
method directly returns whether it modified anything.
Commit: 4e8be20faa1c3bc43f18eb1b250453e69aaf4eca
https://github.com/llvm/llvm-project/commit/4e8be20faa1c3bc43f18eb1b250453e69aaf4eca
Author: earnol <earnol at users.noreply.github.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
A clang/test/Sema/multi-dim-array.c
Log Message:
-----------
[clang][test] Add multi-dim-array diagnostic test for multi-dimensional array function passing (#183847)
Add test coverage for incompatible pointer type diagnostics when passing
multidimensional arrays to functions expecting flat pointers. Tests
covers 2D, 3D, 4D arrays, zero-sized dimensions, struct arrays, and type
mismatches.
Co-authored-by: Vladislav Aranov <vladislav.aranov at ericsson.com>
Commit: 977355be38d10c62c3d5498a64618ec926348252
https://github.com/llvm/llvm-project/commit/977355be38d10c62c3d5498a64618ec926348252
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/error_if_check.mlir
Log Message:
-----------
[mlir][tosa] Disallow inferable dim in reshape/slice validation (#182472)
This commit ensures that the validation pass checks for the presence of
inferable dimensions (represented by -1) in reshape and slice
operations. These are not compliant with the TOSA specification. If such
dimensions are found, an error message is emitted indicating that they
do not conform to the TOSA specification.
Commit: 19be8d60662be4972cf52ca58a3c35e0983c1d73
https://github.com/llvm/llvm-project/commit/19be8d60662be4972cf52ca58a3c35e0983c1d73
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Fix crash in TosaInferShapes when while_loop carries sparse tensors (#183943)
TypeModificationState::commit() inserted a tensor.cast immediately after
the defining operation of the value whose type changed. For block
arguments (e.g., loop-carried variables in tosa.while_loop), there is no
defining operation, so getDefiningOp() returns nullptr, causing a
segmentation fault when the insertion point was set via
setInsertionPointAfter(nullptr).
Fix by checking whether the value is defined by an operation; if not
(i.e., it is a block argument), insert the cast at the start of the
block that owns the argument.
Fixes #181449
Commit: c5e5c9735a33909e2268f99e84654e46bd98b109
https://github.com/llvm/llvm-project/commit/c5e5c9735a33909e2268f99e84654e46bd98b109
Author: sweiglbosker <stefan at s00.xyz>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
M mlir/test/Dialect/MemRef/high-rank-overflow.mlir
Log Message:
-----------
[MLIR][MemRef] Validate linear size before lowering allocs (#179155)
See discussion here: https://github.com/llvm/llvm-project/pull/178395,
https://github.com/llvm/llvm-project/pull/178994
Detect when the total number of elements overflows, and allocate poison
instead of the overflowed size.
Commit: 1175046d14b9ce11c6b171df4e935882fe2c80b3
https://github.com/llvm/llvm-project/commit/1175046d14b9ce11c6b171df4e935882fe2c80b3
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M libc/test/CMakeLists.txt
M libc/test/lit.site.cfg.py.in
Log Message:
-----------
[libc] Fix GPU loader propagation to lit test infrastructure (#184105)
The lit-based test execution added in c776a52fa263 did not propagate the
GPU loader executable to the lit site configuration. When building for
GPU targets, the loader (amdhsa-loader, nvptx-loader, or a
user-specified LIBC_GPU_LOADER_EXECUTABLE) was resolved into the
libc.utils.gpu.loader target but never passed through to the generated
lit.site.cfg.py.
Fix this by resolving the executable path from the libc.utils.gpu.loader
target property and including it in configure_lit_site_cfg's PATHS list.
In lit.site.cfg.py.in, if no explicit LIBC_TEST_CMD is set but a GPU
loader is present, construct libc_test_cmd from the loader path,
mirroring the logic in add_libc_hermetic() in LLVMLibCTestRules.cmake.
Tested:
* GPU build with LIBC_GPU_LOADER_EXECUTABLE set to /bin/echo used to
fail (tried to run the binary), now it works.
* Native compiler check-libc-lit continues to work after this change.
Commit: e0fa4952fd7853c542639f0747a8a06435486a7d
https://github.com/llvm/llvm-project/commit/e0fa4952fd7853c542639f0747a8a06435486a7d
Author: David Green <david.green at arm.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
Log Message:
-----------
[ARM] Format ARMLoadStoreOptimizer Pass classes. NFC
These will need modifications to support the NPM, pre-format the classes to
reduce the needed differences.
Commit: eb8f171629730ed73004afd5c535c696fcd5191d
https://github.com/llvm/llvm-project/commit/eb8f171629730ed73004afd5c535c696fcd5191d
Author: Fady Farag <com.webkit.iidmsa at gmail.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/test/C/C11/n1311.c
Log Message:
-----------
[clang][test] Add missing FileCheck pipe in n1311.c (#183965)
The test had CHECK directives that were never executed because the RUN
line did not pipe the output to FileCheck.
Commit: cca5bb52f37af8ff263af68e5efd4afbe106185b
https://github.com/llvm/llvm-project/commit/cca5bb52f37af8ff263af68e5efd4afbe106185b
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/test/OpenMP/target_task_affinity_codegen.cpp
M clang/test/OpenMP/task_codegen.cpp
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/IR/IRBuilder.cpp
Log Message:
-----------
[OpenMP] Use CreatePtrDiff() (#184127)
This will use ptrtoaddr instead of ptrtoint in the pointer difference
calculation, avoiding unnecessary provenance exposure.
Add an IsNUW flag to allow specifying nuw on the subtraction.
Commit: bb42c74b05c6070c894a4e45be3c750c80b56111
https://github.com/llvm/llvm-project/commit/bb42c74b05c6070c894a4e45be3c750c80b56111
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.cpp
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/test/clang-tidy/checkers/performance/use-std-move.cpp
Log Message:
-----------
[clang-tidy] Add fixit capability to performance-use-std-move linter (#184072)
Commit: 644f07cef5dca8d7926da866a09af1e42d356e12
https://github.com/llvm/llvm-project/commit/644f07cef5dca8d7926da866a09af1e42d356e12
Author: Akimasa Watanuki <mencotton0410 at gmail.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/test/CIR/CodeGen/nonzeroinit-struct.cpp
Log Message:
-----------
[CIR] Use `-verify` on clang/test/CIR/CodeGen/nonzeroinit-struct.cpp (#183910)
Update clang/test/CIR/CodeGen/nonzeroinit-struct.cpp to use `-verify`
with expected CIR NYI diagnostics.
Commit: 919ae1cd2f464e5e453049fe17662b5fbdfc2504
https://github.com/llvm/llvm-project/commit/919ae1cd2f464e5e453049fe17662b5fbdfc2504
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M lldb/test/API/tools/lldb-dap/variables/children/TestDAP_variables_children.py
Log Message:
-----------
[lldb-dap] Skip return_variable_with_children on arm64 (#184132)
In lldb arm64 does not support scalar return types that is larger than
the register size. skip the test on that architecture.
Unblocks CI.
Commit: 8da1bb891e003b4fdf4253a76b05ad8d4a19cceb
https://github.com/llvm/llvm-project/commit/8da1bb891e003b4fdf4253a76b05ad8d4a19cceb
Author: Janek van Oirschot <janek.vanoirschot at amd.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/av-split-dead-valno-crash.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/imm.ll
M llvm/test/CodeGen/AMDGPU/siloadstoreopt-misaligned-regsequence.ll
Log Message:
-----------
Reapply "[AMDGPU] Elide bitcast fold i64 imm to build_vector" (#160325) (#184114)
Reapplies commit 341cdbc9703d3cdd151f897b63548387f0017f49
Commit: 07068315776663412b801c964d99207071564ff2
https://github.com/llvm/llvm-project/commit/07068315776663412b801c964d99207071564ff2
Author: Ingo Müller <ingomueller at google.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Fix build after changes from #183856. (#184134)
This PR fixes the bazel build breakages introduced by #183856, which
introduced a new CMake flag that wasn't set in the bazel build, thus
leading to a placeholder not being replaced and a consequent syntax
error. The fix consists of setting this value to the default (`0`),
which is how similar flags are handled.
Signed-off-by: Ingo Müller <ingomueller at google.com>
Commit: dfcbf6c70e7088e4b10e9c9c47bdfa19eb031228
https://github.com/llvm/llvm-project/commit/dfcbf6c70e7088e4b10e9c9c47bdfa19eb031228
Author: lijinpei-amd <jinpei.li at amd.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/conflict.ll
M llvm/test/Transforms/CorrelatedValuePropagation/icmp.ll
Log Message:
-----------
[CVP] Stop CVP constant propagation from destroying `llvm.assume` (#183688)
For following code sequence:
```
%cmp = icmp ugt i64 %idx, 1
tail call void @llvm.assume(i1 %cmp)
```
CVP may replace all use of `%cmp` with `true`, and the information about
`%idx` is lost. This commit stop CVP from doing that, so that later pass
can exploit the `llvm.assume`.
Fixes https://github.com/llvm/llvm-project/issues/90206.
Commit: bc0af9901b5178204ece0658a0a0b0f57aef6aac
https://github.com/llvm/llvm-project/commit/bc0af9901b5178204ece0658a0a0b0f57aef6aac
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/docs/TableGen/BackEnds.rst
M llvm/include/llvm/TableGen/SearchableTable.td
M llvm/test/TableGen/generic-tables.td
M llvm/utils/TableGen/SearchableTableEmitter.cpp
Log Message:
-----------
[TableGen] Allow specification of underlying type for GenericEnum (#183769)
Allow specification of the underlying C++ data type for `GenericEnum`.
I ran into this because I was trying to use a TableGen-genered enum in
`DenseSet` which requires the underlying type be specified.
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: 4f84347b2e7e02b4fbcb43376a93a1e9dd198c66
https://github.com/llvm/llvm-project/commit/4f84347b2e7e02b4fbcb43376a93a1e9dd198c66
Author: Nishant Sachdeva <32475507+nishant-sachdeva at users.noreply.github.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/test/tools/llvm-ir2vec/bindings/ir2vec-bindings.py
M llvm/tools/llvm-ir2vec/Bindings/PyIR2Vec.cpp
M llvm/tools/llvm-ir2vec/lib/Utils.cpp
M llvm/tools/llvm-ir2vec/lib/Utils.h
Log Message:
-----------
[llvm-ir2vec] Adding Inst Embeddings Map API to ir2vec python bindings (#180140)
- Returns a Inst Embedding Map based on the input function name
`getInstEmbMap(funcName) -> Map<Inst string, Embedding>`
- Refactors IR2VecTool methods to have a separate call to create the
embedder object
Commit: dbacb148dc41e16b1fdb33f83097816235106614
https://github.com/llvm/llvm-project/commit/dbacb148dc41e16b1fdb33f83097816235106614
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel][libc] Enable layering_check for libc/BUILD.bazel (#183822)
Commit: 24ac5987b482edb33b73f0ebff509e0a520eca1c
https://github.com/llvm/llvm-project/commit/24ac5987b482edb33b73f0ebff509e0a520eca1c
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel][libc] Add missing dep (#184152)
#183822 enabled layering checks, but there was some backsliding
Commit: a8fb8eb49f002abdb05013fcc0072896a7969b50
https://github.com/llvm/llvm-project/commit/a8fb8eb49f002abdb05013fcc0072896a7969b50
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
Log Message:
-----------
AMDGPU: Stop copying triple into AMDGPUSubtarget (#184147)
Really the triple doesn't belong here at all.
Commit: bd02c17123226f7e701126e62a99ec0964240fb1
https://github.com/llvm/llvm-project/commit/bd02c17123226f7e701126e62a99ec0964240fb1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/test/CodeGen/X86/known-never-zero.ll
Log Message:
-----------
[X86] known-never-zero.ll - add shift right vector test coverage for #183577 (#184140)
Commit: 64139516e5c22028ca5c7c9d998e358b3ecf4116
https://github.com/llvm/llvm-project/commit/64139516e5c22028ca5c7c9d998e358b3ecf4116
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/test/CodeGen/X86/known-never-zero.ll
Log Message:
-----------
[X86] known-never-zero.ll - remove unnecessary declarations (#184142)
Commit: 3357e487cf0ee7bb9a565cb79ac7ea65f12583b0
https://github.com/llvm/llvm-project/commit/3357e487cf0ee7bb9a565cb79ac7ea65f12583b0
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/lib/APINotes/APINotesWriter.cpp
M clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/APINotes/SomeKit.apinotes
M clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Headers/SomeKit.h
A clang/test/APINotes/objc_designated_init_protocol.m
Log Message:
-----------
[clang/APINotes] Fix assertion crash in addObjCMethod for protocol DesignatedInit methods (#183799)
Commit: f5e8e98a4ef4a4889523101b4d4039e13bccbdf4
https://github.com/llvm/llvm-project/commit/f5e8e98a4ef4a4889523101b4d4039e13bccbdf4
Author: Lukas Sommer <lukas.sommer at amd.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][VectorOps] Fold extract on constant_mask (#183780)
Fold `vector.extract(vector.constant_mask)` to `vector.constant_mask` if
possible.
If the static position is outside of the masked area, the pattern will
fold to a constant all-false value instead.
Dynamic positions are only supported if the mask covers the entire
vector in that dimension.
Assisted-by: Claude Code
---------
Signed-off-by: Lukas Sommer <lukas.sommer at amd.com>
Commit: 11576569336d5c92baf8fbc9a3f1502a95f57e52
https://github.com/llvm/llvm-project/commit/11576569336d5c92baf8fbc9a3f1502a95f57e52
Author: Minsoo Choo <minsoochoo0122 at proton.me>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm64.cpp
Log Message:
-----------
[lldb][Process/FreeBSDKernelCore] Fix RegisterContext for arm64 (#183947)
Since `pcb.lr` always contains the value of pc, `gpr_lr_arm64` should be
unavailable. This also fixes the case where `gpr_pc_arm64` displays sp
not lr field in pcb.
Reported by: jrtc27
Fixes: 4f0eb3d3af443ff54425ebafce83b87ee61ee403 (#180222)
---------
Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
Commit: b11a424e05826aadba71d9c15c4ae3821c92f713
https://github.com/llvm/llvm-project/commit/b11a424e05826aadba71d9c15c4ae3821c92f713
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/test/HLFIR/assign-codegen.fir
M flang/test/Lower/OpenMP/cfg-conversion-omp.private.f90
Log Message:
-----------
[flang] Inline trivial scalar allocatable assignments in HLFIR-to-FIR (#183177)
For trivial scalar allocatable assignments (non-polymorphic,
non-character, non-array, non-temporary), inline the assignment directly
instead of calling the `_FortranAAssign` runtime. The inlined code
checks whether the allocatable is already allocated: if so, it stores
directly; otherwise, it allocates memory via `fir.allocmem`, stores, and
updates the box descriptor. The if-branch is necessary to handle both
cases:
```fortran
integer, allocatable :: k
allocate(k)
k = 42 ! already allocated: store directly
```
```fortran
integer, allocatable :: k
k = 42 ! not allocated: allocmem, store, update box
```
Commit: 82d747e491422776998f5fe415ea7104ddb9b436
https://github.com/llvm/llvm-project/commit/82d747e491422776998f5fe415ea7104ddb9b436
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/test/CodeGen/X86/known-never-zero.ll
Log Message:
-----------
[X86] known-never-zero.ll - add additional demanded elts vector test coverage (#184159)
vector variants of existing tests where we only demand 1 element for the
never zero test
Commit: 95832c9bfd7c018e7b4a7a933942d4eeb792dc85
https://github.com/llvm/llvm-project/commit/95832c9bfd7c018e7b4a7a933942d4eeb792dc85
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/test/Driver/linker-wrapper-hip-no-rdc.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[LinkerWrapper] Fix a bunch of minor issues and typos (#183679)
Summary:
A bunch of small issues found through linting and LLM checking.
- Broken sort comparator that violated strict weak ordering (UB)
- SearchLibrary corrupting .lib filenames via erroneous drop_front()
- Hardcoded x86_64-unknown-linux-gnu host triple in AMDGPU fatbinary
- OffloadFile loop variable shadowing its own type, causing std::move on
the type rather than the variable
- GetDeviceInput calling exit() directly instead of returning Error
- Redundant double-wrapping of DerivedArgList
- Various typo and style fixes
Commit: 9ae143149b6fa287e166851ad4d0cde9613dc24b
https://github.com/llvm/llvm-project/commit/9ae143149b6fa287e166851ad4d0cde9613dc24b
Author: Ingo Müller <ingomueller at google.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Fix build after moving AMX into X86 in #183717. (#184165)
This PR fixes the bazel build that got broken by #183717, which moved
the AMX dialect into the X86 dialect. The fix consists of replicating
the changes from the CMake files into BUILD files as usual; in this
case, mostly removing the AMX dialect targets, adding a few new
references to the corresponding X86 targets, and adding a few new
dependencies to the existing X86 targets due to the new code.
Signed-off-by: Ingo Müller <ingomueller at google.com>
Commit: f3e8508ac771074edd60889a33e512265990ef6e
https://github.com/llvm/llvm-project/commit/f3e8508ac771074edd60889a33e512265990ef6e
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/include/clang/Analysis/Scalable/Serialization/JSONFormat.h
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
M clang/lib/Analysis/Scalable/CMakeLists.txt
M clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.cpp
M clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.h
A clang/lib/Analysis/Scalable/Serialization/JSONFormat/LUSummary.cpp
A clang/lib/Analysis/Scalable/Serialization/JSONFormat/LUSummaryEncoding.cpp
M clang/lib/Analysis/Scalable/Serialization/JSONFormat/TUSummary.cpp
M clang/lib/Analysis/Scalable/Serialization/JSONFormat/TUSummaryEncoding.cpp
M clang/unittests/Analysis/Scalable/CMakeLists.txt
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.h
A clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/JSONFormatTest.cpp
M clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/JSONFormatTest.h
A clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/LUSummaryTest.cpp
M clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/TUSummaryTest.cpp
Log Message:
-----------
[clang][ssaf] Add `JSONFormat` serialization support for `LUSummary` and `LUSummaryEncoding`
This change extends `SerializationFormat` and `JSONFormat` with APIs to
read and write `LUSummary` and `LUSummaryEncoding`, completing the
serialization interface for both TU-level and LU-level summaries. As
part of the implementation, common serialization infrastructure has been
extracted into `JSONFormatImpl.{cpp, h}`, eliminating duplication across
the TU and LU translation units. A comprehensive `LUSummaryTest` suite
has been added to test `LUSummary` and `LUSummaryEncoding`, mirroring
the structure of the existing `TUSummaryTest` suite. Shared testing
infrastructure has been extracted into `JSONFormatTest.{cpp, h}`.
Commit: 148b10be8ad3dad0aeabf6845cc9468f42de820f
https://github.com/llvm/llvm-project/commit/148b10be8ad3dad0aeabf6845cc9468f42de820f
Author: Krish Gupta <krishom70 at gmail.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Lower/OpenMP/declare-mapper.f90
A flang/test/Semantics/OpenMP/target-update-mapper.f90
A offload/test/offloading/fortran/target-update-custom-mapper.f90
Log Message:
-----------
[flang][OpenMP] Support custom mappers in target update to/from clauses (#169673)
Implement support for the OpenMP `mapper` modifier on `target update` `to` and
`from` clauses in Flang.
Semantic name resolution is extended to bind the mapper symbol for
`OmpClause::To` and `OmpClause::From` via a shared `ResolveMapperModifier`
helper. Lowering is extended in `ClauseProcessor` with a `getMapperIdentifier`
template helper to extract the mapper name for both `map` and `target update`
clauses and forward it to `omp.map_info`.
Fixes #168701.
Reviewed By: TIFitis, kparzysz
Assited By: Copilot( For review and articulations of messages)
Commit: d7eec97bd83fca9016e0718dca7fb929f42b2921
https://github.com/llvm/llvm-project/commit/d7eec97bd83fca9016e0718dca7fb929f42b2921
Author: Maria Fernanda Guimarães <66797940+mafeguimaraes at users.noreply.github.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/include/clang/APINotes/APINotesReader.h
M clang/lib/APINotes/APINotesManager.cpp
M clang/lib/APINotes/APINotesReader.cpp
Log Message:
-----------
[APINotes] Refactor APINotesReader to propagate llvm::Error (#183812)
**Context:** While exploring the `APINotes` codebase, I found 54 `FIXME`
comments in `APINotesReader.cpp` stating: `// FIXME this drops the error
on the floor.`
This happened because the internal `read*Block` methods returned a
boolean, and the `APINotesReader` constructor reported failures via a
`bool &Failed` out-parameter. This forced the actual `llvm::Errors`
returned from the bitstream cursor to be silently consumed with
`consumeError()`.
This patch refactors this behavior to properly propagate the errors up
the stack.
**Changes in this patch:**
**1.** Changed all `read*Block` methods in
`APINotesReader::Implementation` to return `llvm::Error` instead of
`bool`.
**2.** Made the `APINotesReader` and `Implementation` constructors
private.
**3.** Created a static factory method `APINotesReader::Create(...)`
that returns an `llvm::Expected<std::unique_ptr<APINotesReader>>`,
allowing us to propagate the error instead of dropping it.
**4.** Updated `APINotesManager.cpp` to handle the new `Expected` return
type. (Note: For now, `APINotesManager` consumes the error to maintain
its existing behavior, but the `APINotesReader` is now fully ready for
future error propagation).
Commit: cf8597bd3b87aeed6696454f22311e86ed70138f
https://github.com/llvm/llvm-project/commit/cf8597bd3b87aeed6696454f22311e86ed70138f
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/Serialization/ASTReader.cpp
A clang/test/ClangScanDeps/build-session-validation-relocated-modules.c
M clang/test/ClangScanDeps/modules-relocated-mm-macro.c
M clang/test/ClangScanDeps/modules-symlink-dir-from-module.c
A clang/test/Modules/build-session-validation-relocated-modules.c
Log Message:
-----------
[clang][Modules] Handle relocated modules during implicit module builds (#181836)
* To avoid the build time overhead of checking for relocated modules,
only check it once per build session.
* Enable relocated module checks in the dependency scanner.
* Add remarks to know when this is happening with `-Rmodule-validation`
This check is necessary to be able to handle new libraries appearing in
earlier search paths. This is a valid scenario when dependency info
changes between incremental builds of the same scheme, thus new build
sessions.
It is still malformed to expect new versions of libraries to be added
within the same build session.
resolves: rdar://169174750
Commit: 41fc9b98459c47d71579faef761160f0675b0772
https://github.com/llvm/llvm-project/commit/41fc9b98459c47d71579faef761160f0675b0772
Author: Igor Kirillov <igor.kirillov at arm.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
A llvm/test/Transforms/LoopVectorize/non-vectorizable-call-remark.ll
Log Message:
-----------
[LAA] Fix recordAnalysis receiving null Instruction pointer (#183512)
When a memory-reading or memory-writing instruction is not a
LoadInst/StoreInst, the dyn_cast to Ld/St returns nullptr, which is then
passed to recordAnalysis. This causes the optimization remark to fall
back to the loop header location instead of pointing at the actual
problematic instruction.
Pass &I (the actual Instruction) instead.
Commit: fd578f7c5c98d7a5edfbd1ad5f72db6541ddc679
https://github.com/llvm/llvm-project/commit/fd578f7c5c98d7a5edfbd1ad5f72db6541ddc679
Author: Robert Imschweiler <robert.imschweiler at amd.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M openmp/runtime/src/CMakeLists.txt
Log Message:
-----------
[libomp] Fix hwloc include for non-standard paths (#184087)
Fixes https://github.com/llvm/llvm-project/issues/183884
---------
Co-authored-by: Michael Kruse <llvm-project at meinersbur.de>
Commit: 447eba88c8d7f219667c9914a0d91bf44c1d1512
https://github.com/llvm/llvm-project/commit/447eba88c8d7f219667c9914a0d91bf44c1d1512
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M lldb/source/Target/Target.cpp
M lldb/unittests/Target/CMakeLists.txt
A lldb/unittests/Target/ScratchTypeSystemTest.cpp
Log Message:
-----------
[lldb][Target] Allow eLanguageTypeAssembly to use ScratchTypeSystemClang (#183771)
After cleaning up some of our `LanguageType`/`SourceLangage`
round-tripping (see `7f51a2a47d2e706d04855b0e41690ebafa2b3238`), a CU
with `DW_LANG_MIPS_Assembler` will get a language type of
`eLanguageTypeAssembly` (as opposed to `eLanguageTypeMipsAssembler`).
Reason being that there is no `DW_LNAME_` (DWARFv6 language code) for
`MIPS Assembler`, only for generic `Assembly`. So it's not possible to
round-trip cleanly between pre-DWARFv6 and DWARFv6 language codes, which
LLDB relies on for storing language types (and will lean into more
heavily in the future). This broke a special provision we have where we
allow `ScratchTypeSystemClang` to be used when evaluating expressions in
assembly CUs (i.e., CUs where the debug-info explicitly sets the
language to assembly).
If we ever want to distinguish MIPS from other Assembly, the proper way
to do so is introduce a `DW_LNAME_Mips_Assembler`. For now, this patch
adds another case for `eLanguageTypeAssembly` in
`GetScratchTypeSystemForLanguage`.
The test is a bit quirky because it checks for error messages in all
cases. For the `TypeSystem`s to exist we would have to initialize the
`TypeSystem` plugins, which I couldn't find a precedent for. But happy
to hear other suggestions for testing
Fixes https://github.com/llvm/llvm-project/issues/183388
Commit: 9d1fd9ec1eb860ceaba06e8650d017aa4fd52617
https://github.com/llvm/llvm-project/commit/9d1fd9ec1eb860ceaba06e8650d017aa4fd52617
Author: hidekisaito <hidekido at amd.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/test/CodeGen/AMDGPU/waitcnt-loop-ds-prefetch-flushed.ll
M llvm/test/CodeGen/AMDGPU/waitcnt-loop-ds-prefetch-flushed.mir
Log Message:
-----------
[AMDGPU] Extend DS loop wait optimization with flush point tracking (#175658)
Add support for prefetch patterns where some DS loads are used in the
same iteration (creating flush points) while others remain unflushed at
the backedge.
This complements the existing pure prefetch optimization (PR172728) by
handling cases where partial same-iteration consumption occurs.
Assisted-by: Cursor / claude-4.5-opus-high
Commit: 573a5412020716c4f983dd70366cc4822f008c64
https://github.com/llvm/llvm-project/commit/573a5412020716c4f983dd70366cc4822f008c64
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
M clang-tools-extra/test/clang-tidy/checkers/abseil/string-find-str-contains.cpp
M clang-tools-extra/test/clang-tidy/checkers/boost/use-to-string.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/dangling-handle.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-prefixsuffixname.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-container.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/string-integer-assignment.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas-cxx14.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/faster-string-find.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-string-concatenation.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/convert-member-functions-to-static-deducing-this.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration-cxx17.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-string-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-subscript-expr.cpp
Log Message:
-----------
[clang-tidy][NFC] Use singe mock string header in tests (#183996)
Commit: ab5205c916a754bbd262d38c4494c78077cdec90
https://github.com/llvm/llvm-project/commit/ab5205c916a754bbd262d38c4494c78077cdec90
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/MC/MCDwarf.cpp
A llvm/test/DebugInfo/AArch64/asm-cu-language.s
Log Message:
-----------
[llvm][DebugInfo] Emit DW_LNAME_Assembly for DWARFv6 assembly CUs (#183897)
Use the new DWARFv6 language code for assembly CUs. While we have a
`DW_LANG_Assembly` pre-DWARFv6 I kept the `DW_LANG_Mips_Assembler`
pre-DWARFv6 for now (I added a FIXME if we want to address it).
Commit: 307d912378ac107e67ae26248e83fe3ddf8dc2df
https://github.com/llvm/llvm-project/commit/307d912378ac107e67ae26248e83fe3ddf8dc2df
Author: Daniel Krupp <daniel.krupp at ericsson.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/test/Analysis/taint-generic.c
A clang/test/Analysis/taint-main-parameters/argc.c
A clang/test/Analysis/taint-main-parameters/envp.c
A clang/test/Analysis/taint-main-parameters/envp2.c
A clang/test/Analysis/taint-main-parameters/invalid.c
A clang/test/Analysis/taint-main-parameters/main_void.c
A clang/test/Analysis/taint-main-parameters/simple.c
A clang/test/Analysis/taint-main-parameters/simple.cpp
A clang/test/Analysis/taint-main-parameters/trusted.c
Log Message:
-----------
[clang][analyzer] Add taintedness to argv (#178054)
If the execution environment is untrusted, we assume that the argv, argc
and envp parameters of the main function are attacker controlled values
and set them as taint analysis sources.
Commit: f486fc95db20ec64efcf90ae82f6e64b2394b4f2
https://github.com/llvm/llvm-project/commit/f486fc95db20ec64efcf90ae82f6e64b2394b4f2
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang-tools-extra/Maintainers.rst
Log Message:
-----------
[clang-tidy] Nominate myself as a maintainer (#183173)
For the past ~8 months, I've been regularly working on clang-tidy, doing
features and cleanups, fixing issues, and reviewing PRs. I'm passionate
about the project, and I'd like to step up to be a maintainer for it!
Commit: dd3d727c88b5b1e066437166bce15f1d0a7c0973
https://github.com/llvm/llvm-project/commit/dd3d727c88b5b1e066437166bce15f1d0a7c0973
Author: Kewen Meng <Kewen.Meng at amd.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/test/tools/llvm-ir2vec/bindings/ir2vec-bindings.py
M llvm/tools/llvm-ir2vec/Bindings/PyIR2Vec.cpp
M llvm/tools/llvm-ir2vec/lib/Utils.cpp
M llvm/tools/llvm-ir2vec/lib/Utils.h
Log Message:
-----------
Revert "[llvm-ir2vec] Adding Inst Embeddings Map API to ir2vec python bindings" (#184179)
Reverts llvm/llvm-project#180140
Unblock bot: https://lab.llvm.org/buildbot/#/builders/140
Commit: d723d14e4c34c7fa17a4fd496aea224b90396f60
https://github.com/llvm/llvm-project/commit/d723d14e4c34c7fa17a4fd496aea224b90396f60
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M flang-rt/lib/runtime/edit-output.cpp
M flang-rt/lib/runtime/edit-output.h
M flang-rt/unittests/Runtime/NumericalFormatTest.cpp
Log Message:
-----------
[flang][runtime] Emit "Infinity" rather than "Inf" when required (#183359)
The ISO Fortran standard requires that numeric output editing produce
the full word "Infinity", rather than my current "Inf", when the output
field is wide enough to hold it. Comply.
Commit: 28d294e080b3b4525dfab912149b7b0c02d5d112
https://github.com/llvm/llvm-project/commit/28d294e080b3b4525dfab912149b7b0c02d5d112
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/bug2236.f90
Log Message:
-----------
[flang] Let -fdisable-real-10 affect only user code (#183870)
Don't let -fdisable-real-10 elicit errors from intrinsic modules.
Commit: ae363d50ad292b4d8c33bf795ad16c79eb640b19
https://github.com/llvm/llvm-project/commit/ae363d50ad292b4d8c33bf795ad16c79eb640b19
Author: Deric C. <cheung.deric at gmail.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/include/clang/AST/TypeBase.h
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/test/AST/HLSL/matrix-constructors.hlsl
M clang/test/AST/HLSL/matrix-general-initializer.hlsl
A clang/test/AST/HLSL/matrix-init-list-row-major.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixConstructor.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/MatrixInitializerListOrder.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixToAndFromVectorConstructors.hlsl
M clang/test/CodeGenHLSL/BoolMatrix.hlsl
Log Message:
-----------
[HLSL][Matrix] Make Matrix InitListExprs and AST row-major order, and respect /Zpr and /Zpc in codegen (#182904)
Fixes #166410 and #181902
This PR makes matrix initializer lists be kept in row-major order in
InitListExpr and the AST for HLSL by not reordering the element indices
in `InitListChecker::CheckMatrixType` in `clang/lib/Sema/SemaInit.cpp`.
This PR also makes the codegen respect /Zpr and /Zpc during codegen for
matrix initializer lists by adding a vector shuffle to
`VisitInitListExpr` in `clang/lib/CodeGen/CGExprScalar.cpp`.
Assisted-by: claude-opus-4.6
---------
Co-authored-by: Farzon Lotfi <farzonl at gmail.com>
Commit: 5ff5a1f14761ecc7160125aadb38c59d29f58e5c
https://github.com/llvm/llvm-project/commit/5ff5a1f14761ecc7160125aadb38c59d29f58e5c
Author: gulfemsavrun <gulfem at google.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/cmake/modules/AddClang.cmake
M lld/tools/lld/CMakeLists.txt
M llvm/cmake/modules/AddLLVM.cmake
M llvm/cmake/modules/LLVM-Config.cmake
M mlir/cmake/modules/AddMLIR.cmake
Log Message:
-----------
Revert "[CMake] Use keyword signature in two additional callsites (#1… (#184186)
…83889)"
This reverts commit 2342db00ab4d0305580814fb00f477b4b5cebec6.
Revert "[CMake] Propagate dependencies to OBJECT libraries in
`add_llvm_library` (#183541)"
This reverts commit e3c045415ae52167e197d4a6ed4ad5a04e49423a.
Commit: a171b8d4d5231363d99d11b9546e1fc1ed0d0323
https://github.com/llvm/llvm-project/commit/a171b8d4d5231363d99d11b9546e1fc1ed0d0323
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Target/NVPTX/CMakeLists.txt
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
A llvm/lib/Target/NVPTX/NVPTXMarkKernelPtrsGlobal.cpp
M llvm/lib/Target/NVPTX/NVPTXPassRegistry.def
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
M llvm/lib/Target/NVPTX/NVPTXUtilities.h
M llvm/test/CodeGen/NVPTX/lower-args.ll
M llvm/test/CodeGen/NVPTX/lower-kernel-ptr-arg.ll
A llvm/test/CodeGen/NVPTX/mark-kernel-ptrs-global.ll
Log Message:
-----------
[NVPTX] Refactor NVPTXLowerArgs and move helpers to NVPTXUtilities (#183686)
A couple of refactoring changes to simplify `NVPTXLowerArgs` and reduce
unnecessary coupling to `NVPTXTargetLowering`:
- Move `getFunctionParamOptimizedAlign`, `getFunctionArgumentAlignment`,
and `getFunctionByValParamAlign` from `NVPTXTargetLowering` to
`NVPTXUtilities` as free functions. These don't use any TLI state and
were only member functions because they called each other. This also
lets `getArgumentAlignment` become file-static in
`NVPTXISelLowering.cpp`, and removes the `NVPTXTargetLowering`
dependency from `NVPTXLowerArgs` for byval alignment.
- Split the CUDA kernel pointer-marking logic out of `NVPTXLowerArgs`
into a new `NVPTXMarkKernelPtrsGlobal` pass. This code (marking pointers
loaded from byval params as global, handling int-to-ptr patterns) is
conceptually independent of the argument lowering and was guarded by a
`DrvInterface == CUDA` check that is now at pipeline scheduling time.
The new pass is a simple `FunctionPass` with no `TargetMachine`
dependency.
Commit: b3c4d44c44237fb8df98f09390e391d16fd3f4b1
https://github.com/llvm/llvm-project/commit/b3c4d44c44237fb8df98f09390e391d16fd3f4b1
Author: Bar Soloveychik <barsolo at meta.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M lldb/include/lldb/Target/ThreadList.h
M lldb/include/lldb/Target/ThreadPlanStepOverBreakpoint.h
M lldb/source/Target/ThreadList.cpp
M lldb/source/Target/ThreadPlanStepOverBreakpoint.cpp
A lldb/test/API/functionalities/gdb_remote_client/TestBatchedBreakpointStepOver.py
A lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentBatchedBreakpointStepOver.py
Log Message:
-----------
[lldb] Batch breakpoint step-over for threads stopped at the same BP (#183412)
When multiple threads are stopped at the same breakpoint, LLDB currently
steps each thread over the breakpoint one at a time. Each step requires
disabling the breakpoint, single-stepping one thread, and re-enabling
it, resulting in N disable/enable cycles and N individual vCont packets
for N threads. This is a common scenario for hot breakpoints in
multithreaded programs and scales poorly.
This patch batches the step-over so that all threads at the same
breakpoint site are stepped together in a single vCont packet, with the
breakpoint disabled once at the start and re-enabled once after the last
thread finishes.
At the top of WillResume, any leftover StepOverBreakpoint plans from a
previous cycle are popped with their re-enable side effect suppressed
via SetReenabledBreakpointSite, giving a clean slate.
SetupToStepOverBreakpointIfNeeded then creates fresh plans for all
threads that still need to step over a breakpoint, and these are grouped
by breakpoint address.
For groups with multiple threads, each plan is set to defer its
re-enable through SetDeferReenableBreakpointSite. Instead of re-enabling
the breakpoint directly when a plan completes, it calls
ThreadFinishedSteppingOverBreakpoint, which decrements a per-address
tracking count. The breakpoint is only re-enabled when the count reaches
zero.
All threads in the largest group are resumed together in a single
batched vCont packet. If some threads don't complete their step in one
cycle, the pop-and-recreate logic naturally re-batches the remaining
threads on the next WillResume call.
For 10 threads at the same breakpoint, this reduces the operation from
10 z0/Z0 pairs and 10 vCont packets to 1 z0 + 1 Z0 and a few
progressively smaller batched vCont packets.
EDIT:
Tried to merge this PR twice, the first time the test was flaky so we
had to revert. The second time, we broke 2 tests on windows machine:
https://lab.llvm.org/buildbot/#/builders/141/builds/15798
The tests that were failing were failing because the cleanup code in
`WillResume` was popping **ALL** `StepOverBreakpoint` plans, including
non-deferred ones from incomplete single-steps.
The issue was:
1) Multiple threads hit the same breakpoint. One thread's breakpoint
condition evaluates to false, so it needs to auto-continue.
2) A `StepOverBreakpoint` plan is created for that thread
(non-deferred).
3) On the next WillResume, the cleanup pops that non-deferred plan.
4) Now the `StopOthers` scan finds no thread with a StopOthers() plan,
so thread_to_run stays null.
5) The else branch runs, calling `SetupToStepOverBreakpointIfNeeded` on
**ALL** threads, including the thread that legitimately hit the
breakpoint with a true condition.
6) That thread gets a new `StepOverBreakpoint` plan pushed, which
overwrites its breakpoint stop reason with trace when the step
completes.
The error `trace (2) != breakpoint (3)` confirms this, the thread that
should have reported breakpoint as its stop reason instead reports
trace, because an unwanted `StepOverBreakpoint` plan was pushed on it
and completed.
The newly added code fixes it by only popping plans that have
`GetDeferReenableBreakpointSite() == true`
Co-authored-by: Bar Soloveychik <barsolo at fb.com>
Commit: fb6038d93781bd051a0c0641c4ab5229de62a92b
https://github.com/llvm/llvm-project/commit/fb6038d93781bd051a0c0641c4ab5229de62a92b
Author: Pranshu Goyal <78131793+pranshoe at users.noreply.github.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/known-never-zero.ll
Log Message:
-----------
[DAG] isKnownNeverZero - add ISD::SRA/SRL DemandedElts handling and tests (#183577)
This patch updates `SelectionDAG::isKnownNeverZero` to support
`ISD::SRA`/`ISD::SRL` by forwarding the `DemandedElts` mask to its
operands.
Fixes #183046
Commit: 0cabe933812f23ecd605baa82adb2b03fa0ab37d
https://github.com/llvm/llvm-project/commit/0cabe933812f23ecd605baa82adb2b03fa0ab37d
Author: joaosaffran <joaosaffranllvm at gmail.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/test/CodeGenHLSL/inline-functions.hlsl
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/test/CodeGen/DirectX/ShaderFlags/disable-opt-cs.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/disable-opt-lib.ll
R llvm/test/CodeGen/DirectX/ShaderFlags/lib-entry-attr-error.ll
Log Message:
-----------
[HLSL] Reintroduce dx.disable_optimizations to set DisableOptimization Shader Flag (#180069)
This patch removes optnone from HLSL entry functions and instead uses
`dx.disable_optimizations` module flag to know when to enable
`DisableOptimization` Shader Flag. This is part of: #167936
---------
Co-authored-by: Joao Saffran <jderezende at microsoft.com>
Commit: 973f7606fba48afc3427c8c8dbbc186139c982e7
https://github.com/llvm/llvm-project/commit/973f7606fba48afc3427c8c8dbbc186139c982e7
Author: Florian Mayer <fmayer at google.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/test/CodeGen/AArch64/stack-tagging.ll
M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope.ll
Log Message:
-----------
[HWASan] [MTE] support double lifetime.end in same BB
We can just ignore the second one, because it will always be a no-op.
Reviewers: pcc, usama54321, vitalybuka
Reviewed By: vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/183809
Commit: 12f4eb2156559c2f8c99fa7dc3b59cb4fef1389d
https://github.com/llvm/llvm-project/commit/12f4eb2156559c2f8c99fa7dc3b59cb4fef1389d
Author: Delaram Talaashrafi <dtalaashrafi at nvidia.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsLoop.h
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsLoop.cpp
M mlir/unittests/Dialect/OpenACC/OpenACCUtilsLoopTest.cpp
Log Message:
-----------
[mlir][acc] Replace terminators with scf.yield in wrapMultiBlockRegionWithSCFExecuteRegion (#183758)
When wrapping a multi-block region in `scf.execute_region`, replace
`func::ReturnOp` (if flang `convertFuncReturn` is set) and
`acc::YieldOp` in all the blocks with `scf.yield` so the region has a
valid SCF terminator.
Commit: 24873cb955749c7dea1d28eef5cff3c50fece209
https://github.com/llvm/llvm-project/commit/24873cb955749c7dea1d28eef5cff3c50fece209
Author: tudinhh <103348714+tudinhh at users.noreply.github.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/known-never-zero.ll
Log Message:
-----------
[SelectionDAG] Pass DemandedElts to isKnownNeverZero for extend nodes (#183624)
Fixes #183042
This patch updates `SelectionDAG::isKnownNeverZero` to forward the
`DemandedElts` mask when analyzing `ISD::ZERO_EXTEND` and
`ISD::SIGN_EXTEND` nodes.
Commit: 9aff7b6347f1d97a28550e54075d08c19e024e3d
https://github.com/llvm/llvm-project/commit/9aff7b6347f1d97a28550e54075d08c19e024e3d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/hip-toolchain-no-rdc.hip
Log Message:
-----------
[HIP] Fix wrong triple being passed to offload-bundler (#184195)
Summary:
I made a previous fix that stopped us from hard-coding x64 host in the
HIP fatbinaries we made. However, this then triggered this failure where
we were passing the wrong host triple. Now we will use the aux-triple
for offloading toolchains.
Commit: 96a02c5eb53c7d1351e774399072e63ea008c8d6
https://github.com/llvm/llvm-project/commit/96a02c5eb53c7d1351e774399072e63ea008c8d6
Author: Kewen Meng <Kewen.Meng at amd.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/include/clang/APINotes/APINotesReader.h
M clang/lib/APINotes/APINotesManager.cpp
M clang/lib/APINotes/APINotesReader.cpp
Log Message:
-----------
Revert "[APINotes] Refactor APINotesReader to propagate llvm::Error " (#184211)
Reverts llvm/llvm-project#183812
Bot failed constantly. Revert this PR to unblock.
https://lab.llvm.org/buildbot/#/builders/140
Commit: 0797a10cc537bb4379df7fa86ba2e420edb5ecd3
https://github.com/llvm/llvm-project/commit/0797a10cc537bb4379df7fa86ba2e420edb5ecd3
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M mlir/lib/Conversion/XeVMToLLVM/XeVMToLLVM.cpp
A mlir/test/Conversion/XeVMToLLVM/rewrite_alloca.mlir
Log Message:
-----------
[MLIR][XeVM] Rewrite llvm.alloca if addr_space is 3 (#183417)
Rewrite llvm.alloca with addr_space 3 into llvm.mlir.global and llvm.mlir.addressof
Commit: ed085573f40279d6b9cc5ff6e53e1b08d3c45df3
https://github.com/llvm/llvm-project/commit/ed085573f40279d6b9cc5ff6e53e1b08d3c45df3
Author: Finn Plummer <mail at inbelic.dev>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/SemaHLSL/local_resource_bindings.hlsl
A clang/test/SemaHLSL/local_resource_bindings_errs.hlsl
Log Message:
-----------
[SemaHLSL] Warn when a local resource is re-assigned to non-unique global resource (#182101)
Generate a warning whenever a local resource is (re-)assigned such that
it is not guaranteed to map to a single unique global resource.
An error is not generated during sema because simple DCE or constant
folding might resolve the assignment to be to a unique global resource.
Instead, an error will be reported when trying to resolve the resource
access in the `dxil-resource-access` pass, implemented
[here](https://github.com/llvm/llvm-project/pull/182106).
Resolves https://github.com/llvm/llvm-project/issues/179303.
Commit: ed524ba0d4582a5017831394913093ae0a8ac15b
https://github.com/llvm/llvm-project/commit/ed524ba0d4582a5017831394913093ae0a8ac15b
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
A clang/test/CodeGen/asm_incbin.c
M llvm/include/llvm/MC/MCParser/MCAsmParser.h
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/Object/ModuleSymbolTable.cpp
Log Message:
-----------
[llvm] Avoid resolving `.incbin` during symbol collection (#172920)
With IO sandboxing enabled, Clang requires all FS accesses happen
through the one "true" VFS instance. That instance is currently not
being propagated into the assembly parser, and doing so would be super
involved. This triggers sandbox violations whenever an `.incbin`
directive is encountered, since the parser needs the VFS to open the
file.
However, it seems that `asm()` directives are only parsed to get the
symbols of an LLVM module, which cannot be affected by `.incbin`
directives. This PR adds an option to the asm parser to avoid resolving
`.incbin` directives when collecting module symbols, avoiding the
sandbox violation.
Commit: f7176ee336624815c732938e8917173dfec509fa
https://github.com/llvm/llvm-project/commit/f7176ee336624815c732938e8917173dfec509fa
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir][acc] Port 12f4eb2156559c2f8c99fa7dc3b59cb4fef1389d: scf.yield (#184216)
Co-authored-by: Pranav Kant <prka at google.com>
Commit: 8e6e9cb8c20304fd14fbe98176911dbf88c68036
https://github.com/llvm/llvm-project/commit/8e6e9cb8c20304fd14fbe98176911dbf88c68036
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
A clang/test/SemaHLSL/Resources/Texture2D-SampleBias.hlsl
A clang/test/SemaHLSL/Resources/Texture2D-SampleCmp.hlsl
A clang/test/SemaHLSL/Resources/Texture2D-SampleCmpLevelZero.hlsl
A clang/test/SemaHLSL/Resources/Texture2D-SampleGrad.hlsl
A clang/test/SemaHLSL/Resources/Texture2D-SampleLevel.hlsl
A clang/test/SemaHLSL/Resources/Texture2D-Sema.hlsl
A clang/test/SemaHLSL/Resources/packoffset-invalid.hlsl
A clang/test/SemaHLSL/Resources/prohibit_resource_edits.hlsl
A clang/test/SemaHLSL/Resources/resource_binding_attr_error.hlsl
A clang/test/SemaHLSL/Resources/resource_binding_attr_error_basic.hlsl
A clang/test/SemaHLSL/Resources/resource_binding_attr_error_other.hlsl
A clang/test/SemaHLSL/Resources/resource_binding_attr_error_resource.hlsl
A clang/test/SemaHLSL/Resources/resource_binding_attr_error_silence_diags.hlsl
A clang/test/SemaHLSL/Resources/resource_binding_attr_error_space.hlsl
A clang/test/SemaHLSL/Resources/resource_binding_attr_error_udt.hlsl
A clang/test/SemaHLSL/Resources/resource_binding_attr_error_uint32_max.hlsl
A clang/test/SemaHLSL/Resources/resource_binding_implicit.hlsl
A clang/test/SemaHLSL/Resources/static_resources.hlsl
A clang/test/SemaHLSL/Resources/unbounded_resource_arrays.hlsl
R clang/test/SemaHLSL/Texture2D-SampleBias.hlsl
R clang/test/SemaHLSL/Texture2D-SampleCmp.hlsl
R clang/test/SemaHLSL/Texture2D-SampleCmpLevelZero.hlsl
R clang/test/SemaHLSL/Texture2D-SampleGrad.hlsl
R clang/test/SemaHLSL/Texture2D-SampleLevel.hlsl
R clang/test/SemaHLSL/Texture2D-Sema.hlsl
R clang/test/SemaHLSL/packoffset-invalid.hlsl
R clang/test/SemaHLSL/prohibit_resource_edits.hlsl
R clang/test/SemaHLSL/resource_binding_attr_error.hlsl
R clang/test/SemaHLSL/resource_binding_attr_error_basic.hlsl
R clang/test/SemaHLSL/resource_binding_attr_error_other.hlsl
R clang/test/SemaHLSL/resource_binding_attr_error_resource.hlsl
R clang/test/SemaHLSL/resource_binding_attr_error_silence_diags.hlsl
R clang/test/SemaHLSL/resource_binding_attr_error_space.hlsl
R clang/test/SemaHLSL/resource_binding_attr_error_udt.hlsl
R clang/test/SemaHLSL/resource_binding_attr_error_uint32_max.hlsl
R clang/test/SemaHLSL/resource_binding_implicit.hlsl
R clang/test/SemaHLSL/static_resources.hlsl
R clang/test/SemaHLSL/unbounded_resource_arrays.hlsl
Log Message:
-----------
[HLSL][NFC] Move SemaHLSL resource tests to Resources subdir (#183386)
Moves resource tests in clang/test/SemaHLSL to Resources subdirectory.
Commit: 386a3afa553fbf2854ee9d002e83bd456942ad39
https://github.com/llvm/llvm-project/commit/386a3afa553fbf2854ee9d002e83bd456942ad39
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/VectorDistribution.h
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir] Fix typos that propagate downstream. NFC. (#184220)
Commit: 03773c3b06b2a9a023f8bab892f237fb3b980439
https://github.com/llvm/llvm-project/commit/03773c3b06b2a9a023f8bab892f237fb3b980439
Author: Aditya Medhane <153186739+flash1729 at users.noreply.github.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/include/clang/APINotes/APINotesReader.h
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/APINotes/APINotesYAMLCompiler.cpp
M clang/lib/Sema/SemaAPINotes.cpp
Log Message:
-----------
[APINotes][NFC] Fix typos and header comment errors (#183811)
## Description
Fix minor typos and incorrect comments in the APINotes subsystem (No
functional code is modified)
## Changes Made
- **`APINotesReader.h`** — Fixed `member buffer` → `memory buffer` in
the `Create()` doc comment (`Create()` takes a `llvm::MemoryBuffer`)
- **`APINotesFormat.h`** — Corrected the file header comment which
incorrectly referred to `APINotesWriter.h` instead of `APINotesFormat.h`
- **`APINotesYAMLCompiler.cpp`** — Fixed `it's` → `its` (possessive, not
a contraction)
- **`SemaAPINotes.cpp`** — Fixed `collection` → `collecting` and added a
missing `to` in `defer to the client to select`
## Motivation
First contribution to LLVM, aimed at getting familiar with the
contributing workflow.
Commit: a4d786630c4757ce91aef65fc2744fbde650632d
https://github.com/llvm/llvm-project/commit/a4d786630c4757ce91aef65fc2744fbde650632d
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.h
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
M lldb/test/API/lang/c/tls_globals/TestTlsGlobals.py
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb][ARM] Support thread local variables on ARM Linux (#181315)
Currently, `DynamicLoaderPOSIXDYLD::GetThreadLocalData()` only supports
the TLS memory layout where the thread pointer register points to the
start of the `pthread` structure, and the address of the DTV pointer can
be calculated by adding the offset of the `dtv` field to `tp`. On ARM
(and AArch64), the thread pointer points directly to `dtv`. The patch
improves the detection of the actual memory layout in the method and
adjusts the calculations for the new case, thus adding support for
thread-local variables on ARM Linux.
Commit: 8a9049198d180956a5f69c567bf235d36cd215a7
https://github.com/llvm/llvm-project/commit/8a9049198d180956a5f69c567bf235d36cd215a7
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/DependencyScanning/DependencyScannerImpl.h
M clang/include/clang/Frontend/ChainedDiagnosticConsumer.h
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
M clang/lib/Frontend/VerifyDiagnosticConsumer.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/tools/driver/cc1_main.cpp
M clang/tools/driver/driver.cpp
M clang/unittests/DependencyScanning/CMakeLists.txt
R clang/unittests/DependencyScanning/DependencyScanningWorkerTest.cpp
Log Message:
-----------
[clang] Replace `finish()` with destructors for `DiagnosticConsumer` (#183831)
The `DiagnosticConsumer::finish()` API has historically been a source of
friction. Lots of different clients must manually ensure it gets called
for all consumers to work correctly. Idiomatic C++ uses destructors for
this. In Clang, there are some cases where destructors don't run
automatically, such as under `-disable-free` or some signal handling
code in `clang_main()`. This PR squeezes the complexity of ensuring
those destructors do run out of library code and into the tools that
already deal with the complexities of `-disable-free` and signal
handling.
Commit: 5ae64c62075036f474224d4c08fa952fdf09eb3c
https://github.com/llvm/llvm-project/commit/5ae64c62075036f474224d4c08fa952fdf09eb3c
Author: Thibault Monnier <thibaultmonni at gmail.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaChecking.cpp
M clang/test/Sema/builtin-allow-sanitize-check.c
Log Message:
-----------
[Clang][Sema][Builtins] Check argument count for `__builtin_allow_sanitize_check` (#183927)
Fixes #183501.
The crash was due to calling `getArg(0)` without validating there was at
least one argument. Since `__builtin_allow_sanitize_check` has the
`CustomTypeChecking` attribute, it requires checking the argument count
explicitely.
Commit: ebe3c1ee991c48a6cc77a4faa80f29e3675f0eb8
https://github.com/llvm/llvm-project/commit/ebe3c1ee991c48a6cc77a4faa80f29e3675f0eb8
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M flang/tools/flang-driver/driver.cpp
Log Message:
-----------
[flang] Remove usage of the `DependencyConsumer::finish()` API (#184229)
This fixes build failures after #183831.
Commit: 501c6fda951b9a50e77ee324015b0b0aea9e2a5b
https://github.com/llvm/llvm-project/commit/501c6fda951b9a50e77ee324015b0b0aea9e2a5b
Author: nextsilicon-itay-bookstein <55076759+nextsilicon-itay-bookstein at users.noreply.github.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/cmake/modules/AddClang.cmake
M lld/tools/lld/CMakeLists.txt
M llvm/cmake/modules/AddLLVM.cmake
M llvm/cmake/modules/LLVM-Config.cmake
M mlir/cmake/modules/AddMLIR.cmake
Log Message:
-----------
[CMake] Propagate dependencies to OBJECT libraries in add_llvm_library (re-land) (#184201)
Previously, transitively inherited calls to
`target_include_directories(foo SYSTEM ...)` were being squashed into a
flat list of includes, effectively stripping off `-isystem` and
unintentionally forwarding warnings from such dependencies.
To correctly propagate `SYSTEM` dependencies, use
`target_link_libraries` to forward the parent target's link dependencies
to the OBJECT library (similar to the `_static` flow below). Unlike a
flat `target_include_directories`, this lets CMake resolve transitive
SYSTEM include directories through the proper dependency chain.
Note that `target_link_libraries` on an OBJECT library propagates all
usage requirements, not just includes. This also brings in transitive
`INTERFACE_COMPILE_DEFINITIONS`, `INTERFACE_COMPILE_OPTIONS`, and
`INTERFACE_COMPILE_FEATURES`. This is arguably more correct, as the
OBJECT library compiles the same sources and should see the same flags.
The existing `target_include_directories` call is retained for include
directories set directly on the target (not through link dependencies).
CMake deduplicates include directories that appear through both paths.
Compile definitions and options may technically appear twice (once via
the OBJECT library, once via the consuming target), but duplicate `-D`
and flag entries are harmless in practice.
Also fix `clang_target_link_libraries` and `mlir_target_link_libraries`
to forward the link type (PUBLIC/PRIVATE/INTERFACE) to `obj.*` targets.
Previously the type keyword was silently dropped, resulting in plain-
signature `target_link_libraries` calls. This is now required because
the new keyword-signature call in `llvm_add_library` would otherwise
conflict (CMake requires all calls on a target to use the same
signature).
Commit: 1a7060a7b07c2fd6e72537781a83f87941d26cda
https://github.com/llvm/llvm-project/commit/1a7060a7b07c2fd6e72537781a83f87941d26cda
Author: Abhinav Gaba <abhinav.gaba at intel.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M offload/include/OpenMP/Mapping.h
M offload/libomptarget/OpenMP/Mapping.cpp
M offload/libomptarget/interface.cpp
M offload/libomptarget/omptarget.cpp
A offload/test/mapping/map_ordering_ptee_tgt_alloc_mapper_alloc_from_to.c
A offload/test/mapping/map_ordering_ptee_tgt_data_alloc_tgt_mapper_present_delete_from_to.c
A offload/test/mapping/map_ordering_tgt_alloc_from_to.c
A offload/test/mapping/map_ordering_tgt_alloc_present_tofrom.c
A offload/test/mapping/map_ordering_tgt_alloc_tofrom.c
A offload/test/mapping/map_ordering_tgt_data_alloc_from.c
A offload/test/mapping/map_ordering_tgt_data_alloc_to_from.c
A offload/test/mapping/map_ordering_tgt_data_alloc_tofrom.c
A offload/test/mapping/map_ordering_tgt_exit_data_always_always.c
A offload/test/mapping/map_ordering_tgt_exit_data_delete_from.c
A offload/test/mapping/map_ordering_tgt_exit_data_delete_from_assumedsize.c
A offload/test/mapping/map_ordering_tgt_exit_data_from_delete_assumedsize.c
A offload/test/mapping/map_ordering_tgt_exit_data_from_mapper_overlap.c
Log Message:
-----------
[OpenMP][Offload] Handle `present/to/from` when a different entry did `alloc/delete`. (#165494)
OpenMP allows cases like the following:
```c
int *p1, *p2, x;
p1 = p2 = &x;
...
#pragma omp target_exit_data map(delete: p1[:]) from(p2[0])
```
Which means, when the runtime encounters the `from` entry, the ref-count
may not be zero, but it will go down to zero at the end of the current
construct, which should cause the "from" transfer to happen.
Similarly, a user may have:
```c
struct S {
int *p;
};
#pragma omp declare_mapper (id1: S s) map(s.p) map(present, alloc: s.p[0:10])
#pragma omp declare_mapper (id2: S s) map(s.p, s.p[0:10])
S s1;
// present-check should fail here
#pragma omp target_enter_data map(alloc: s.p[0:10]) map(mapper(id1), to: s)
// "to" should be honored here
#pragma omp target_enter_data map(alloc: s.p[0:10]) map(mapper(id2), to: s)
```
Where the allocation happens before the "to" entry is encountered by the
runtime. Or, an allocation happens before a "present" entry is
encountered.
To handle cases like this, we need to use the state information of
previously seen new allocations, deletions, "from" entries, when
honoring `to`/`from`/`present` map entries.
Commit: 8107c71511b38f6fecf2c91676e5ed7b55a29b47
https://github.com/llvm/llvm-project/commit/8107c71511b38f6fecf2c91676e5ed7b55a29b47
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/Target/Lanai/LanaiTargetObjectFile.cpp
M llvm/lib/Target/Lanai/LanaiTargetObjectFile.h
M llvm/lib/Target/Mips/MipsTargetObjectFile.cpp
M llvm/lib/Target/Mips/MipsTargetObjectFile.h
M llvm/lib/Target/NVPTX/NVPTXTargetObjectFile.h
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.h
M llvm/lib/Target/SPIRV/SPIRVTargetObjectFile.h
M llvm/lib/Target/TargetLoweringObjectFile.cpp
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/lib/Target/XCore/XCoreTargetObjectFile.cpp
M llvm/lib/Target/XCore/XCoreTargetObjectFile.h
A llvm/test/CodeGen/RISCV/large-codemodel-sections.ll
Log Message:
-----------
[RISCV] Put Large Code Model Constant Pools in .text (#151393)
These are required to be close to code, unlike `.rodata` which was being
used before.
Fixes: #145080
Commit: 533f16fe8969ecc5417fe0ac8f9cb54469e08da8
https://github.com/llvm/llvm-project/commit/533f16fe8969ecc5417fe0ac8f9cb54469e08da8
Author: Daniil Dudkin <unterumarmung at yandex.ru>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.h
M clang-tools-extra/unittests/clang-tidy/LexerUtilsTest.cpp
Log Message:
-----------
[clang-tidy][NFC] Add `findTokenInRange` and reuse it (#183941)
Commit: 61310cd72dd2c4b72b899bc577c1722ddf5c0361
https://github.com/llvm/llvm-project/commit/61310cd72dd2c4b72b899bc577c1722ddf5c0361
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M .github/workflows/containers/github-action-ci-windows/Dockerfile
Log Message:
-----------
[Github] Remove force build from windows container
This did not actually bump the LLVM version (see fixes in #184231) and
will not be necessary now that other patches will be going in forcing a
rebuild anyways.
Commit: ea7ff48c3108b8b4d49c252b31712c24f17a4ad9
https://github.com/llvm/llvm-project/commit/ea7ff48c3108b8b4d49c252b31712c24f17a4ad9
Author: Andrei Elovikov <andrei.elovikov at sifive.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/include/llvm/Analysis/DominanceFrontier.h
M llvm/include/llvm/Analysis/DominanceFrontierImpl.h
M llvm/unittests/Transforms/Vectorize/VPPostDomFrontierTest.cpp
Log Message:
-----------
[DominanceFrontier] Support multiple root nodes for post-dom (#181257)
Post-dominator tree has a notion of a single virtual root node, use that
in the dominance-frontier implementation to support multiple root nodes.
Originally part of https://github.com/llvm/llvm-project/pull/179336 but
split up into a separate later PR to ease review.
---------
Co-authored-by: Luke Lau <luke_lau at icloud.com>
Commit: 183d02d257f6fd94d06f9ddd56d58cff981e5a11
https://github.com/llvm/llvm-project/commit/183d02d257f6fd94d06f9ddd56d58cff981e5a11
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/lib/Sema/SemaTemplateDeduction.cpp
Log Message:
-----------
[clang] NFC: remove unused / untested workaround in pack deduction (#183875)
This snippet was part of what was introduced in
130cc445e46836b28defdce03b1adfdb16ddcf41
However, none of the existing tests require it, including the tests
added in that commit.
One of those tests had a FIXME which was fixed when we switched
frelaxed-template-template-args on by default as well.
Commit: f52a2035548f5978c63b18ac0aa283cc57c99360
https://github.com/llvm/llvm-project/commit/f52a2035548f5978c63b18ac0aa283cc57c99360
Author: Delaram Talaashrafi <dtalaashrafi at nvidia.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsLoop.h
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsLoop.cpp
M mlir/unittests/Dialect/OpenACC/OpenACCUtilsLoopTest.cpp
Log Message:
-----------
Revert "[mlir][acc] Replace terminators with scf.yield in wrapMultiBlockRegionWithSCFExecuteRegion (#183758)" (#184228)
This reverts commit 12f4eb2156559c2f8c99fa7dc3b59cb4fef1389d.
https://lab.llvm.org/buildbot/#/builders/55/builds/24871.
Commit: 526a4d4d8a6aa0af93019286eaaa9c860fc49720
https://github.com/llvm/llvm-project/commit/526a4d4d8a6aa0af93019286eaaa9c860fc49720
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/different-access-types-rt-checks.ll
M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis-forked-pointers.ll
M llvm/test/Analysis/LoopAccessAnalysis/unknown-dependence-retry-with-runtime-checks.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
Log Message:
-----------
[LAA] Always use DepCands when grouping runtime checks. (#91196)
Update groupChecks to always use DepCands to try and merge runtime
checks. DepCands contains the dependency partition, grouping together
all accessed pointers to he same underlying objects.
If we computed the dependencies, We only need to check accesses to the
same underlying object, if there is an unknown dependency for this
underlying object; otherwise we already proved that all accesses withing
the underlying object are safe w.r.t. vectorization and we only need to
check that accesses to the underlying object don't overlap with accesses
to other underlying objects.
To ensure runtime checks are generated for the case with unknown
dependencies, remove equivalence classes containing accesses involved in
unknown dependencies.
This reduces the number of runtime checks needed in case non-constant
dependence distances are found, and is in preparation for removing the
restriction that the accesses need to have the same stride which was
added in https://github.com/llvm/llvm-project/pull/88039.
PR: https://github.com/llvm/llvm-project/pull/91196
Commit: 895597a1f579c3b6726f1d3eaa15845871e10d51
https://github.com/llvm/llvm-project/commit/895597a1f579c3b6726f1d3eaa15845871e10d51
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M .github/workflows/bazel-checks.yml
Log Message:
-----------
[Github][bazel] Run `buildifier --mode=diff` on error (#184233)
Displaying the diff helps point to what the issue is, including if it's
even related to the change at all.
This also expands the pattern to some other files that don't match
`*BUILD*`, e.g. `*.bzl` files.
Example failure:
https://github.com/llvm/llvm-project/actions/runs/22595929783/job/65465781106
Commit: 3c43fc16b73b1c99ec754e14d83a0b61b09c51c5
https://github.com/llvm/llvm-project/commit/3c43fc16b73b1c99ec754e14d83a0b61b09c51c5
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/include/clang/DependencyScanning/DependencyScannerImpl.h
M clang/include/clang/DependencyScanning/DependencyScanningWorker.h
M clang/include/clang/Tooling/DependencyScanningTool.h
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanningTool.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang][deps] Remove the `finalize()` API for by-module-name scans (#184232)
The `DiagnosticConsumer::finish()` API was removed in #183831. Since
that was the only thing the by-module-name `finalize()` API called, we
can safely remove that and simplify the scanner.
Commit: 4a9e0812c5069e29c21cf2391d93e5f05976859c
https://github.com/llvm/llvm-project/commit/4a9e0812c5069e29c21cf2391d93e5f05976859c
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-acc-structure.h
M flang/test/Semantics/OpenACC/acc-cache-validity.f90
Log Message:
-----------
[flang] Allow acc cache directive inside acc routine (#184213)
While the spec allows the cache directive "at the top of (inside of) a
loop", the directive has also been utilized at the top of an acc
routine. This PR adds support for that.
Commit: 5156147824be8c86c438958f439fc6a13923408a
https://github.com/llvm/llvm-project/commit/5156147824be8c86c438958f439fc6a13923408a
Author: Roland McGrath <mcgrathr at google.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M libc/include/stdlib-malloc.yaml
Log Message:
-----------
[libc] Declare reallocarray in stdlib.h / malloc.h (#184223)
Scudo now provides reallocarray, so declare it.
Commit: 42a0fbc2c792f414e844328a363dbebe720a5255
https://github.com/llvm/llvm-project/commit/42a0fbc2c792f414e844328a363dbebe720a5255
Author: Abhinav Gaba <abhinav.gaba at intel.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M offload/include/OpenMP/Mapping.h
M offload/libomptarget/OpenMP/Mapping.cpp
M offload/libomptarget/interface.cpp
M offload/libomptarget/omptarget.cpp
R offload/test/mapping/map_ordering_ptee_tgt_alloc_mapper_alloc_from_to.c
R offload/test/mapping/map_ordering_ptee_tgt_data_alloc_tgt_mapper_present_delete_from_to.c
R offload/test/mapping/map_ordering_tgt_alloc_from_to.c
R offload/test/mapping/map_ordering_tgt_alloc_present_tofrom.c
R offload/test/mapping/map_ordering_tgt_alloc_tofrom.c
R offload/test/mapping/map_ordering_tgt_data_alloc_from.c
R offload/test/mapping/map_ordering_tgt_data_alloc_to_from.c
R offload/test/mapping/map_ordering_tgt_data_alloc_tofrom.c
R offload/test/mapping/map_ordering_tgt_exit_data_always_always.c
R offload/test/mapping/map_ordering_tgt_exit_data_delete_from.c
R offload/test/mapping/map_ordering_tgt_exit_data_delete_from_assumedsize.c
R offload/test/mapping/map_ordering_tgt_exit_data_from_delete_assumedsize.c
R offload/test/mapping/map_ordering_tgt_exit_data_from_mapper_overlap.c
Log Message:
-----------
Revert "[OpenMP][Offload] Handle `present/to/from` when a different entry did `alloc/delete`." (#184240)
Reverts llvm/llvm-project#165494
Some buildbots are not happy about CHECKs enforcing strict ordering of
prints inside/after target regions.
Commit: 4f50a725fa1921915f29b5d6603d91aef3dbe589
https://github.com/llvm/llvm-project/commit/4f50a725fa1921915f29b5d6603d91aef3dbe589
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangStandard.h
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/lib/Lex/Lexer.cpp
M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
Log Message:
-----------
[clang][clang-scan-deps] Add LangOptions::AllowLiteralDigitSeparator to fix #88896 (#184235)
Fixes #88896 by following the approach described in
https://github.com/llvm/llvm-project/pull/95798#discussion_r1649496882.
This adds `LangOptions::AllowLiteralDigitSeparator`, following the
pattern used for `RawStringLiterals` in #88265.
It is enabled by default for C++14 and C23, and the Scanner sets it
explicitly to always allow literals with digit separators in directives.
Originally authored by @tsfn (Yifan Fang, <gatsfn at gmail.com>) in
#158420.
Co-authored-by: Yifan Fang <gatsfn at gmail.com>
Commit: 4995b2b8591dd58e15392953b6c91b44909b79ec
https://github.com/llvm/llvm-project/commit/4995b2b8591dd58e15392953b6c91b44909b79ec
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M .github/workflows/containers/github-action-ci-windows/Dockerfile
Log Message:
-----------
[Github] Enable long paths in windows CI Container (#184224)
Otherwise we run into issues with file paths >260 characters. This was
preventing us from updating the Windows container as last time we built
the container it came with a MSVC supplied CMake update, which used
absolute paths in more places, bumping us over the limit.
https://github.com/ninja-build/ninja/issues/2400
https://gitlab.kitware.com/cmake/cmake/-/issues/22435
Commit: 78f259fcc14bb0a567d45ba394fcde48de2bc299
https://github.com/llvm/llvm-project/commit/78f259fcc14bb0a567d45ba394fcde48de2bc299
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M mlir/lib/ExecutionEngine/CMakeLists.txt
M mlir/lib/ExecutionEngine/LevelZeroRuntimeWrappers.cpp
Log Message:
-----------
[MLIR] mlir_levelzero_runtime: remove dependency on LLVM (#182942)
L0 runtime can be built standalone without any dependency on LLVM/MLIR
components.
Remove remaining small dependency from L0 runtime
Commit: 49c3cd15e8b4c21dd86eefdc76754ddfc2a7a65e
https://github.com/llvm/llvm-project/commit/49c3cd15e8b4c21dd86eefdc76754ddfc2a7a65e
Author: Jim Ingham <jingham at apple.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
A lldb/test/API/functionalities/breakpoint/breakpoint_conditions/crashing_condition/Makefile
A lldb/test/API/functionalities/breakpoint/breakpoint_conditions/crashing_condition/TestCrashingCondition.py
A lldb/test/API/functionalities/breakpoint/breakpoint_conditions/crashing_condition/main.c
Log Message:
-----------
Add a test that we recover from a crashing breakpoint condition.
Commit: a14d8b2e36d4babd00509e85e79a14a48af148b2
https://github.com/llvm/llvm-project/commit/a14d8b2e36d4babd00509e85e79a14a48af148b2
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
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/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
M clang/lib/CIR/CodeGen/CIRGenVTables.h
A clang/test/CIR/CodeGen/thunks.cpp
Log Message:
-----------
[CIR] Upstream vtable thunk handling (#183629)
This implements vtable thunk handling in CIR based on the incubator
code, but also compared against the latest Clang LLVM IR codegen.
Eventually, we'll want to create CIR abstractions for all of this and
move the CXXABI-specific details into the CXXABI lowering pass. For now,
we just implement it directly in codegen.
Commit: c433ae7e2e572167b8ddc0c404747a9947f69859
https://github.com/llvm/llvm-project/commit/c433ae7e2e572167b8ddc0c404747a9947f69859
Author: Jim Ingham <jingham at apple.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
R lldb/test/API/functionalities/breakpoint/breakpoint_conditions/crashing_condition/Makefile
R lldb/test/API/functionalities/breakpoint/breakpoint_conditions/crashing_condition/TestCrashingCondition.py
R lldb/test/API/functionalities/breakpoint/breakpoint_conditions/crashing_condition/main.c
Log Message:
-----------
Revert "Add a test that we recover from a crashing breakpoint condition."
This reverts commit 49c3cd15e8b4c21dd86eefdc76754ddfc2a7a65e.
I was going back and forth between llvm.org and my fork to prepare
this PR, but mistakenly pushed it from the wrong checkout.
Let's revert this and do it right...
Commit: abb228af20c95d7d347831453d64da626e3c4392
https://github.com/llvm/llvm-project/commit/abb228af20c95d7d347831453d64da626e3c4392
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenException.cpp
M clang/test/CIR/CodeGen/try-catch-tmp.cpp
Log Message:
-----------
[CIR] Fix handling of cleanup scopes inside a try body (#183869)
We had a problem where scope terminators were not being created
correctly when a cleanup scope appeared inside the body of a try
operation. This was caused by cleanup scope operation not being properly
flushed before the try body scope was completed.
This change fixes the problem by creating a RunCleanupsScope in the
lambda that pupulates the try body and forcing cleanups before adding
the yield terminator to the try body.
The test case also exposed a secondary bug where we were not properly
updating the innermostEHScope variable when popping a cleanup from the
eh stack. That is also fixed here.
Commit: 23f21f3e277dc4a8aa0886444a1e18bd51e0bd3d
https://github.com/llvm/llvm-project/commit/23f21f3e277dc4a8aa0886444a1e18bd51e0bd3d
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
A clang/test/CIR/IR/func-attrs.cir
Log Message:
-----------
[CIR] Implement function/call attribute parsing (#184185)
It was brought to my attention that we didn't actually have a parsing
test/parsing failed when attributes were included. This patch adds the
parsing functionality for attributes, and sets them correctly, plus
makes sure we have a test that validates functions, member functions,
calls, member calls, and indirect calls.
Commit: a4f9d43eef7f396e92c6596870736ced4c5ef36b
https://github.com/llvm/llvm-project/commit/a4f9d43eef7f396e92c6596870736ced4c5ef36b
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
Log Message:
-----------
[alpha.webkit.NoDeleteChecker] Add a test for unsafe function override (#184208)
Commit: 6719ec1e951250b3a533f87508628cc33e109c8e
https://github.com/llvm/llvm-project/commit/6719ec1e951250b3a533f87508628cc33e109c8e
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp
M llvm/include/llvm/Transforms/Coroutines/CoroShape.h
M llvm/lib/Transforms/Coroutines/CoroEarly.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/test/Transforms/Coroutines/ArgAddr.ll
M llvm/test/Transforms/Coroutines/coro-align16.ll
M llvm/test/Transforms/Coroutines/coro-align32.ll
M llvm/test/Transforms/Coroutines/coro-align64-02.ll
M llvm/test/Transforms/Coroutines/coro-align64.ll
M llvm/test/Transforms/Coroutines/coro-align8-02.ll
M llvm/test/Transforms/Coroutines/coro-align8.ll
M llvm/test/Transforms/Coroutines/coro-alloc-with-param-O0.ll
M llvm/test/Transforms/Coroutines/coro-alloc-with-param-O2.ll
M llvm/test/Transforms/Coroutines/coro-alloca-01.ll
M llvm/test/Transforms/Coroutines/coro-alloca-02.ll
M llvm/test/Transforms/Coroutines/coro-alloca-03.ll
M llvm/test/Transforms/Coroutines/coro-alloca-04.ll
M llvm/test/Transforms/Coroutines/coro-alloca-06.ll
M llvm/test/Transforms/Coroutines/coro-alloca-07.ll
M llvm/test/Transforms/Coroutines/coro-alloca-08.ll
M llvm/test/Transforms/Coroutines/coro-alloca-09.ll
M llvm/test/Transforms/Coroutines/coro-alloca-loop-carried-address.ll
M llvm/test/Transforms/Coroutines/coro-alloca-outside-frame.ll
M llvm/test/Transforms/Coroutines/coro-alloca-with-addrspace.ll
M llvm/test/Transforms/Coroutines/coro-async-dyn-align.ll
M llvm/test/Transforms/Coroutines/coro-async.ll
M llvm/test/Transforms/Coroutines/coro-await-suspend-lower-invoke.ll
M llvm/test/Transforms/Coroutines/coro-await-suspend-lower.ll
M llvm/test/Transforms/Coroutines/coro-byval-param.ll
M llvm/test/Transforms/Coroutines/coro-catchswitch.ll
M llvm/test/Transforms/Coroutines/coro-debug-coro-frame.ll
M llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-01.ll
M llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-02.ll
M llvm/test/Transforms/Coroutines/coro-frame-arrayalloca.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-01.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-02.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-04.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-05.ll
M llvm/test/Transforms/Coroutines/coro-frame.ll
M llvm/test/Transforms/Coroutines/coro-lifetime-end.ll
M llvm/test/Transforms/Coroutines/coro-materialize.ll
M llvm/test/Transforms/Coroutines/coro-noop.ll
M llvm/test/Transforms/Coroutines/coro-padding.ll
M llvm/test/Transforms/Coroutines/coro-param-copy.ll
M llvm/test/Transforms/Coroutines/coro-retcon-once-value.ll
M llvm/test/Transforms/Coroutines/coro-retcon-once-value2.ll
M llvm/test/Transforms/Coroutines/coro-retcon-remat.ll
M llvm/test/Transforms/Coroutines/coro-retcon-resume-values2.ll
M llvm/test/Transforms/Coroutines/coro-retcon.ll
M llvm/test/Transforms/Coroutines/coro-spill-after-phi.ll
M llvm/test/Transforms/Coroutines/coro-spill-corobegin.ll
M llvm/test/Transforms/Coroutines/coro-spill-defs-before-corobegin.ll
M llvm/test/Transforms/Coroutines/coro-spill-promise-02.ll
M llvm/test/Transforms/Coroutines/coro-spill-promise.ll
M llvm/test/Transforms/Coroutines/coro-spill-suspend.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-01.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-02.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-03.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-04.ll
M llvm/test/Transforms/Coroutines/coro-split-tbaa-md.ll
M llvm/test/Transforms/Coroutines/coro-zero-alloca.ll
Log Message:
-----------
[Coroutines] Replace struct alloca frame with byte array and ptradd (#178359)
Replace coroutine frame struct type with a simple byte array and use
offset-based ptradd operations instead of struct GEP for all field
access. Alloca types have largely lost all meaning to LLVM (even this
pass merged them and used an arbitrary type to represent all of them),
and so they just makes the code to construct alloca more difficult and
less flexible.
Key changes:
- Remove LayoutFieldIndex from frame field tracking
- Remove StructType usage - frame is now a byte array
- Replace all CreateStructGEP/CreateConstInBoundsGEP with CreatePtrAdd
- Store ResumeOffset/DestroyOffset in SwitchLowering for reuse
- Remove Shape.FrameTy, use Shape.FrameSize directly
Bug fix: Uses pointer size and alignment from data layout for header
pointer offsets in debug info instead of hardcoded 8 byte.
Optimization: Replaces load+store patterns with CreateMemCpy for copying
allocas to the frame more efficiently.
Optimization: Add missing inbounds annotations on existing ptradd calls.
Improvement: Preserve debug info of every alloca, even overlapping ones.
The frame type is now completely opaque at the IR level. All structure
is implicit through computed offsets. Debug info still provides detailed
field information using explicit offsets.
See further information in dependent PR
https://github.com/llvm/llvm-project/pull/178358 as well.
Co-authored-by: Claude Opus 4.5 <noreply at anthropic.com>
Commit: 4e3e4f25bc4a23de29a358953317dd71e45982e8
https://github.com/llvm/llvm-project/commit/4e3e4f25bc4a23de29a358953317dd71e45982e8
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/lib/Sema/SemaWasm.cpp
M clang/test/CodeGen/WebAssembly/builtins-table-externref.c
Log Message:
-----------
[WASM] add CheckWasmTableElement helper (#181172)
Discard qualifiers from the types (e.g. addrspace, volatile, etc) before
checking that the underlying types are the same, and DRY the code to
emit a consistent Sema.Diag before returning failure.
Commit: 743428688fb0b3e6e6d466688a3930520d741aba
https://github.com/llvm/llvm-project/commit/743428688fb0b3e6e6d466688a3930520d741aba
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M flang/include/flang/Parser/preprocessor.h
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
A flang/test/Preprocessing/bug178481.F90
Log Message:
-----------
[flang] Recognize compiler directives after expansion in comment (#183626)
The compiler can recognize a compiler directive when one results from a
macro expansion at the beginning of a non-comment source line, as in
"#define FOO !$OMP". But it can't recognize a compiler directive that
initially appears as a comment line, as in "!BAR" after "#define BAR
$OMP". Extend the prescanner to recognize such cases in free form
source. (Fixed form is a much more complicated case for this recognition
and will be addressed later if needed.)
This is the 2nd version of this patch; the first was reverted after
problems with continuation lines were encountered.
Fixes https://github.com/llvm/llvm-project/issues/178481.
Commit: 0f8aa9610c0ae138bb92a04180787675d732dc72
https://github.com/llvm/llvm-project/commit/0f8aa9610c0ae138bb92a04180787675d732dc72
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM64.cpp
Log Message:
-----------
[lldb][NFC] Whitespace cleanup in RegisterContextMinidump_ARM64
Breaking out the whitespace changes turned up in a separate
contentful PR.
Commit: 03e2af7a65ea2db96c934f8a8faa26d631b242ee
https://github.com/llvm/llvm-project/commit/03e2af7a65ea2db96c934f8a8faa26d631b242ee
Author: Akimasa Watanuki <mencotton0410 at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
A clang/test/CIR/CodeGen/bitfield-assignment-loc.c
Log Message:
-----------
[CIR] Fix bitfield store locations for assignment codegen (#184005)
Update bitfield-assignment codegen to emit stores at
assignment-expression source locations.
Keep `cir.set_bitfield` aligned with other store-like operations.
Prevent regressions that reattach bitfield stores to declaration-site
locations.
Add a CIR test on `clang/test/CIR/CodeGen/bitfield-assignment-loc.c`.
Fix https://github.com/llvm/llvm-project/issues/183759
Commit: d4d18248fde64ab8867ca81ecb16f402db7a17e8
https://github.com/llvm/llvm-project/commit/d4d18248fde64ab8867ca81ecb16f402db7a17e8
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M lldb/include/lldb/Utility/LLDBLog.h
M lldb/source/Initialization/SystemInitializerCommon.cpp
M lldb/source/Utility/LLDBLog.cpp
Log Message:
-----------
[lldb] Terminate the LLDB Log in SystemInitializerCommon::Terminate (#184261)
Currently, when calling SBDebugger::Initialize after
SBDebugger::Terminate, you hit an assert in LLDBLog when trying to
register the LLDB log a second time. Also fix the awkward
capitalization.
Commit: 1d1c83ad73977a17b06e34243a9b74f41af6da78
https://github.com/llvm/llvm-project/commit/1d1c83ad73977a17b06e34243a9b74f41af6da78
Author: Abhinav Gaba <abhinav.gaba at intel.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M offload/include/OpenMP/Mapping.h
M offload/libomptarget/OpenMP/Mapping.cpp
M offload/libomptarget/interface.cpp
M offload/libomptarget/omptarget.cpp
A offload/test/mapping/map_ordering_ptee_tgt_alloc_mapper_alloc_from_to.c
A offload/test/mapping/map_ordering_ptee_tgt_data_alloc_tgt_mapper_present_delete_from_to.c
A offload/test/mapping/map_ordering_tgt_alloc_from_to.c
A offload/test/mapping/map_ordering_tgt_alloc_present_tofrom.c
A offload/test/mapping/map_ordering_tgt_alloc_tofrom.c
A offload/test/mapping/map_ordering_tgt_data_alloc_from.c
A offload/test/mapping/map_ordering_tgt_data_alloc_to_from.c
A offload/test/mapping/map_ordering_tgt_data_alloc_tofrom.c
A offload/test/mapping/map_ordering_tgt_exit_data_always_always.c
A offload/test/mapping/map_ordering_tgt_exit_data_delete_from.c
A offload/test/mapping/map_ordering_tgt_exit_data_delete_from_assumedsize.c
A offload/test/mapping/map_ordering_tgt_exit_data_from_delete_assumedsize.c
A offload/test/mapping/map_ordering_tgt_exit_data_from_mapper_overlap.c
Log Message:
-----------
Reland "[OpenMP][Offload] Handle `present/to/from` when a different entry did `alloc/delete`." (#184260)
Some tests that were checking for prints inside/outside `target` regions
needed to be updated to work on systems where the ordering wasn't
deterministic.
Reverts llvm/llvm-project#184240
Original description from #165494:
-----
OpenMP allows cases like the following:
```c
int *p1, *p2, x;
p1 = p2 = &x;
...
#pragma omp target_exit_data map(delete: p1[:]) from(p2[0])
```
Which means, when the runtime encounters the `from` entry, the ref-count
may
not be zero, but it will go down to zero at the end of the current
construct,
which should cause the "from" transfer to happen.
Similarly, a user may have:
```c
struct S {
int *p;
};
#pragma omp declare_mapper (id1: S s) map(s.p) map(present, alloc: s.p[0:10])
#pragma omp declare_mapper (id2: S s) map(s.p, s.p[0:10])
S s1;
// present-check should fail here
#pragma omp target_enter_data map(alloc: s.p[0:10]) map(mapper(id1), to: s)
// "to" should be honored here
#pragma omp target_enter_data map(alloc: s.p[0:10]) map(mapper(id2), to: s)
```
Where the allocation happens before the "to" entry is encountered by the
runtime. Or, an allocation happens before a "present" entry is
encountered.
To handle cases like this, we need to use the state information of
previously
seen new allocations, deletions, "from" entries, when honoring
`to`/`from`/`present` map entries.
-----
Commit: 0ced81f7eabca9c4c640f8a6ebb4089c371d2fb0
https://github.com/llvm/llvm-project/commit/0ced81f7eabca9c4c640f8a6ebb4089c371d2fb0
Author: Abhinav Gaba <abhinav.gaba at intel.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M offload/test/mapping/map_ordering_ptee_tgt_alloc_mapper_alloc_from_to.c
M offload/test/mapping/map_ordering_tgt_alloc_from_to.c
M offload/test/mapping/map_ordering_tgt_alloc_tofrom.c
M offload/test/mapping/map_ordering_tgt_data_alloc_to_from.c
M offload/test/mapping/map_ordering_tgt_data_alloc_tofrom.c
Log Message:
-----------
[NFC][OpenMP] Remove redundant prints in `target` regions from tests added in #184260. (#184266)
Some buildbots don't like them, and the correctness of the values in the
`target` region is ensured via prints after the region.
Commit: 4f91d0b322a85bdad4b7440b35ba270b5277ec8c
https://github.com/llvm/llvm-project/commit/4f91d0b322a85bdad4b7440b35ba270b5277ec8c
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M libcxx/test/benchmarks/numeric/gcd.bench.cpp
M libcxx/test/benchmarks/streams/getline.bench.cpp
M libcxx/test/benchmarks/streams/ofstream.bench.cpp
Log Message:
-----------
[libc++] Give proper names to a few benchmarks (#183333)
Commit: 82319d74aae41bc1bdd59eed0b1c27cfc7b8086f
https://github.com/llvm/llvm-project/commit/82319d74aae41bc1bdd59eed0b1c27cfc7b8086f
Author: Jim Lin <jim at andestech.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedAndes45.td
M llvm/test/tools/llvm-mca/RISCV/Andes45/rvv-reduction.s
Log Message:
-----------
[RISCV] Update Andes45 vector reduction scheduling info (#182980)
This PR adds latency/throughput for all RVV reductions to the andes45
series scheduling model.
Commit: a6fa21c5aabb9e7d47c221aa8403d96cb154d549
https://github.com/llvm/llvm-project/commit/a6fa21c5aabb9e7d47c221aa8403d96cb154d549
Author: Srivarshitha M <mvarshitha17874 at gmail.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
A clang/test/CIR/CodeGen/c89-implicit-int.c
A clang/test/CIR/CodeGen/expressions.cpp
Log Message:
-----------
[CIR] Upstream basic CodeGen tests from incubator (#183998)
This PR upstreams `expressions.cpp` and `c89-implicit-int.c` from the
ClangIR incubator to the mainline.
Following the incremental approach discussed in #156747 and the feedback
from the closed PR #157333, I have:
1. Copied the files directly from the incubator to preserve history.
2. Updated the `RUN` lines to use the `--check-prefix=CIR` flag.
3. Converted `CHECK:` lines to `CIR:`.
4. Standardized variable captures using the `%[[VAR:.*]]` regex syntax
(in `expressions.cpp`).
Verified locally with `llvm-lit`. This is a partial fix for #156747.
*Note: As suggested in previous reviews, I am focusing only on the `CIR`
checks for now to keep the upstreaming incremental. OGCG/LLVM
verification can be added in a follow-up PR once the base tests land.*
Commit: 2407564cbfa18961f465e40ca0fb18fb754151c7
https://github.com/llvm/llvm-project/commit/2407564cbfa18961f465e40ca0fb18fb754151c7
Author: Victor Mustya <victor.mustya at intel.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/include/clang/Basic/OpenCLExtensions.def
M clang/test/SemaOpenCL/extension-version.cl
Log Message:
-----------
[Clang] Add missing extension cl_intel_split_work_group_barrier declaration (#184269)
All the OpenCL extensions must be declared in OpenCLExtensions.def,
otherwise the frontend won't recognize them and won't be able to use
them in the code. This patch adds the missing declaration for the
`cl_intel_split_work_group_barrier` extension.
Commit: 8decfb8a90dfcec032d717c195c5636b1fee7260
https://github.com/llvm/llvm-project/commit/8decfb8a90dfcec032d717c195c5636b1fee7260
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M mlir/lib/Conversion/ArithToEmitC/ArithToEmitCPass.cpp
M mlir/lib/Conversion/FuncToEmitC/FuncToEmitCPass.cpp
M mlir/test/Conversion/ArithToEmitC/arith-to-emitc-failed.mlir
A mlir/test/Conversion/FuncToEmitC/func-to-emitc-failed.mlir
Log Message:
-----------
[mlir][emitc] Do not convert illegal types to emitc (#156222)
This PR adds fallbacks for other types instead of converting unsupported
types to emitc.
Commit: 52f32d780fa2da1f5e54e80c91a0e79379e141d0
https://github.com/llvm/llvm-project/commit/52f32d780fa2da1f5e54e80c91a0e79379e141d0
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Bump Github Runner to v2.332.0 (#184230)
To stay ahead of the support horizon. There were no major feature
changes/bug fixes from a cursory glance at the release notes.
Commit: 92aa2d36f020952087068dee186568c33a77088d
https://github.com/llvm/llvm-project/commit/92aa2d36f020952087068dee186568c33a77088d
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M .github/workflows/containers/github-action-ci-windows/Dockerfile
Log Message:
-----------
[Github] Respect LLVM_VERSION when building windows container (#184231)
Otherwise setting LLVM_VERSION does not actually do anything. This
avoids needing to update ~8 different locations in the file when doing a
toolchain bump to just 1 place.
Commit: e63e55cae8ce29150f38a758555d9cc712a1cf4c
https://github.com/llvm/llvm-project/commit/e63e55cae8ce29150f38a758555d9cc712a1cf4c
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.h
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
M flang/lib/Optimizer/OpenACC/Support/RegisterOpenACCExtensions.cpp
A flang/test/Transforms/OpenACC/acc-recipe-materialization-firstprivate-derived.fir
A flang/test/Transforms/OpenACC/acc-recipe-materialization-firstprivate.fir
A flang/test/Transforms/OpenACC/acc-recipe-materialization-kernel-private.fir
A flang/test/Transforms/OpenACC/acc-recipe-materialization-parallel.fir
A flang/test/Transforms/OpenACC/acc-recipe-materialization-private.fir
A flang/test/Transforms/OpenACC/acc-recipe-materialization-reduction.fir
M mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsLoop.h
M mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.td
M mlir/lib/Dialect/OpenACC/IR/OpenACCCG.cpp
A mlir/lib/Dialect/OpenACC/Transforms/ACCRecipeMaterialization.cpp
M mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsLoop.cpp
A mlir/test/Dialect/OpenACC/acc-recipe-materialization-firstprivate.mlir
A mlir/test/Dialect/OpenACC/acc-recipe-materialization-kernel-private.mlir
A mlir/test/Dialect/OpenACC/acc-recipe-materialization-parallel.mlir
A mlir/test/Dialect/OpenACC/acc-recipe-materialization-private.mlir
A mlir/test/Dialect/OpenACC/acc-recipe-materialization-reduction.mlir
M mlir/unittests/Dialect/OpenACC/OpenACCUtilsLoopTest.cpp
Log Message:
-----------
[mlir][acc] Add ACCRecipeMaterialization pass and reduction ops (#184252)
Pass
----
Add the `acc-recipe-materialization` pass, which materializes OpenACC
privatization, firstprivate and reduction recipes by inlining their
init, copy, combiner, and destroy regions into the operation for the
construct. The pass runs on acc.parallel, acc.serial, acc.kernels, and
acc.loop.
- Firstprivate: Inserts acc.firstprivate_map so the initial value is
available on the device, then clones the recipe init and copy regions
into the construct and replaces uses with the materialized alloca.
Optional destroy region is cloned before the region terminator.
- Private: Clones the recipe init region into the construct (at region
entry or at the loop op for acc.loop private). Replaces uses of the
recipe result with the materialized alloca. Optional destroy region is
cloned before the region terminator.
- Reduction: Creates acc.reduction_init (init region inlined) and
acc.reduction_combine_region (combiner region inlined). All uses of the
reduction in the region are updated to the reduction init result.
New operations
--------------
- acc.reduction_init: Allocates and initializes a private reduction
variable from a recipe. Takes the original reduction variable and
reduction_operator; has a single region that must yield one value (the
private storage) via acc.yield. Used by the pass to materialize
acc.reduction_recipe init regions inside the compute construct.
- acc.reduction_combine_region: Combines the private reduction value
with the shared reduction variable. Takes the shared and private
memrefs; has a single region (the recipe combiner) terminated by
acc.yield with no operands. Used by the pass to materialize the
reduction recipe combiner.
Both ops implement RegionBranchOpInterface. acc.yield is updated to
allow terminating ReductionInitOp and ReductionCombineRegionOp regions.
Supporting changes
------------------
- OpenACCUtilsLoop: Factor cloneACCRegionInto out of the existing
loop-conversion helper so the pass can clone recipe regions with
optional result replacement; loop conversion now calls the shared
helper.
- Flang: Add ReductionInitOpFortranObjectViewModel
(FortranObjectViewOpInterface) for acc.reduction_init and register it in
OpenACC extensions.
Tests
-----
- MLIR: acc-recipe-materialization-{firstprivate,private,reduction,
kernel-private,parallel}.mlir (memref dialect).
- Flang: acc-recipe-materialization-{firstprivate,firstprivate-derived,
private,reduction,kernel-private,parallel}.fir; firstprivate test has a
second RUN with -acc-optimize-firstprivate-map.
---------
Co-authored-by: Scott Manley <rscottmanley at gmail.com>
Commit: 768240d019523a7887a0032948620d42129fae98
https://github.com/llvm/llvm-project/commit/768240d019523a7887a0032948620d42129fae98
Author: Shoreshen <372660931 at qq.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARM/ARMCallLowering.cpp
M llvm/lib/Target/M68k/GISel/M68kCallLowering.cpp
M llvm/lib/Target/M68k/GISel/M68kCallLowering.h
M llvm/lib/Target/Mips/MipsCallLowering.cpp
M llvm/lib/Target/PowerPC/GISel/PPCCallLowering.cpp
M llvm/lib/Target/PowerPC/GISel/PPCCallLowering.h
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/X86/GISel/X86CallLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/strict_fma.f64.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.448bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
M llvm/test/CodeGen/AMDGPU/ashr64_reduce.ll
R llvm/test/CodeGen/AMDGPU/call-args-inreg-no-sgpr-for-csrspill-xfail.ll
A llvm/test/CodeGen/AMDGPU/call-args-inreg-no-sgpr-for-csrspill.ll
M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.16x16x128.f8f6f4.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.32x32x64.f8f6f4.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll
M llvm/test/CodeGen/AMDGPU/sdag-print-divergence.ll
M llvm/test/CodeGen/AMDGPU/shl64_reduce.ll
M llvm/test/CodeGen/AMDGPU/srl64_reduce.ll
Log Message:
-----------
[AMDGPU] Insert readfirstlane for uniform VGPR arguments (#178198)
Fix inreg argument, which is uniform, but using VGPR due to run out of
SGPR.
---------
Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
Commit: 6d25af00ac475e0b1f7d2b7a9ca24a223930a8d2
https://github.com/llvm/llvm-project/commit/6d25af00ac475e0b1f7d2b7a9ca24a223930a8d2
Author: Henrik G. Olsson <hnrklssn at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/utils/lit/lit/TestRunner.py
M llvm/utils/lit/lit/display.py
Log Message:
-----------
[utils] use annotations from __future__ in lit (#184225)
Commit: 572a0e45c6375a34bef4cd43e30c226d5598fc5f
https://github.com/llvm/llvm-project/commit/572a0e45c6375a34bef4cd43e30c226d5598fc5f
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Log Message:
-----------
AMDGPU: Remove "MBUF" from "loadMBUFScalarOperandsFromVGPR" (#184282)
There is nothing MBUF-specific about this function.
Commit: b23438661c1056bae385daba1501afb762d1e336
https://github.com/llvm/llvm-project/commit/b23438661c1056bae385daba1501afb762d1e336
Author: Jason Van Beusekom <jason.van-beusekom at hpe.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/include/clang/AST/ASTMutationListener.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/Frontend/MultiplexConsumer.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Serialization/ASTCommon.h
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
A clang/test/OpenMP/target_vtable_omp_indirect_call_lookup.cpp
M offload/test/api/omp_indirect_call_table_manual.c
A offload/test/api/omp_indirect_func_array.c
A offload/test/api/omp_indirect_func_basic.c
A offload/test/api/omp_indirect_func_struct.c
A offload/test/api/omp_virtual_func.cpp
A offload/test/api/omp_virtual_func_multiple_inheritance_01.cpp
A offload/test/api/omp_virtual_func_multiple_inheritance_02.cpp
A offload/test/api/omp_virtual_func_reference.cpp
Log Message:
-----------
[OpenMP][clang] Indirect and Virtual function call mapping from host to device (#159857)
This patch implements the CodeGen logic for calling __llvm_omp_indirect_call_lookup
on the device when an indirect function call or a virtual function call is made
within an OpenMP target region.
---------
Co-authored-by: Youngsuk Kim
Commit: 198f85ea7c17141f3cd46d0a69044aea52163677
https://github.com/llvm/llvm-project/commit/198f85ea7c17141f3cd46d0a69044aea52163677
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/CodeGenCXX/pfp-member-pointer-offsetof.cpp
Log Message:
-----------
[clang][bytecode] Fix newly added pfp test (#184137)
Do the same thing 370d7ce58011eccfab8105eddbc028cc09c4c5e5 did in
ExprConstant.cpp
Commit: 5a53fce8582b7d558d1e4406406ccc143b3a51ff
https://github.com/llvm/llvm-project/commit/5a53fce8582b7d558d1e4406406ccc143b3a51ff
Author: Kavin Gnanapandithan <kavin.balag at gmail.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVMoveMerger.cpp
M llvm/test/CodeGen/RISCV/copysign-casts.ll
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/double-mem.ll
M llvm/test/CodeGen/RISCV/double-select-fcmp.ll
M llvm/test/CodeGen/RISCV/double-stack-spill-restore.ll
Log Message:
-----------
[RISCV] Extends RISCVMoveMerger to merge GPRPairs independent of even/odd pair instruction order. (#183657)
This PR addresses post-commit reviews in #182416
Previously, `RISCVMoveMerger` only identified and merged 32-bit moves
into a 64-bit GPRPair move if the even-indexed register most appeared
before the odd-index register move.
This patch extends the pass by disregarding the order of even/odd-index
pair.
Commit: a85dbcfe016d8cce9bfea0d9265f3f69c40572e7
https://github.com/llvm/llvm-project/commit/a85dbcfe016d8cce9bfea0d9265f3f69c40572e7
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode] Reject non-VarDecl DeclRefExprs (#184141)
I have no idea how to test this, but this is what the current
interpreter does.
Commit: da8929bd2404553954394d6b08ae2ad516aea650
https://github.com/llvm/llvm-project/commit/da8929bd2404553954394d6b08ae2ad516aea650
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir][acc] Port e63e55cae8ce29150f38a758555d9cc712a1cf4c (#184289)
Co-authored-by: Pranav Kant <prka at google.com>
Commit: eba4a76597dd1d655794cb5732ace534b58bd97d
https://github.com/llvm/llvm-project/commit/eba4a76597dd1d655794cb5732ace534b58bd97d
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M compiler-rt/test/cfi/icall/bad-signature.c
Log Message:
-----------
[CFI] Expand test to include minimal runtime (#183646)
`ubsan_minimal` contains some CFI tests, but it would be nice have one
on CFI side.
Commit: 30fc31aa71fa784c9b9e35452653003de93e1dbc
https://github.com/llvm/llvm-project/commit/30fc31aa71fa784c9b9e35452653003de93e1dbc
Author: Jaydeep Chauhan <chauhan.jaydeep.ashwinbhai at intel.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/include/llvm/TableGen/CodeGenHelpers.h
Log Message:
-----------
[NFC][TableGen] Add deleted copy operations for RAII guard classes (#184168)
Commit: 84d0f8766de29ee8e4b45f8cdd5278c503a0e20f
https://github.com/llvm/llvm-project/commit/84d0f8766de29ee8e4b45f8cdd5278c503a0e20f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M clang/lib/Headers/CMakeLists.txt
Log Message:
-----------
[RISCV] Alphabetize riscv_files in clang/lib/Headers/CMakeLists.txt. NFC (#184024)
Commit: 75b0cf39b2f85635b37b4be078f65c66e1c0e3d6
https://github.com/llvm/llvm-project/commit/75b0cf39b2f85635b37b4be078f65c66e1c0e3d6
Author: Qihan Cai <caiqihan021 at hotmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rv64p.ll
Log Message:
-----------
[RISCV] Add scalar saturating add/sub operations for i32 for RV64P (#184062)
Commit: 4ea39c43e1338a16cf165f234dd88b8ecb53dcd1
https://github.com/llvm/llvm-project/commit/4ea39c43e1338a16cf165f234dd88b8ecb53dcd1
Author: Junji Watanabe <watanabe0621 at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/utils/lit/lit/LitConfig.py
M llvm/utils/lit/lit/TestRunner.py
M llvm/utils/lit/lit/llvm/config.py
M llvm/utils/lit/tests/lit.cfg
M llvm/utils/lit/tests/shtest-readfile.py
M llvm/utils/llvm-lit/llvm-lit.in
Log Message:
-----------
[LIT] Use forward slashes in substitutions when LLVM_WINDOWS_PREFER_FORWARD_SLASH is set (#179865)
When building with `-DLLVM_WINDOWS_PREFER_FORWARD_SLASH=ON`, tools like
lld output paths with forward slashes on Windows. However, lit's default
substitutions (`%t`, `%p`) typically use backslashes on Windows, causing
FileCheck failures in tests that strictly match path separators.
This patch propagates the `LLVM_WINDOWS_PREFER_FORWARD_SLASH` build flag
to llvm-lit via `builtin_parameters`. It also updates lit's TestRunner
to respect the 'use_normalized_slashes' parameter. When enabled, lit
normalizes paths in substitutions to use forward slashes, ensuring that
test expectations align with the tool output.
With this fix, the number of failed tests with
`-DLLVM_WINDOWS_PREFER_FORWARD_SLASH=ON` changes as follow:
- The total number of failed tests: 303 -> 168
- Break down:
- `Builtins-i386-windows` tests: 99 -> 0
- `Clang` tests: 28 -> 5
- `Clang Tools` tests: 7 -> 1
- `LLVM` tests: 6 -> 4
- `lld` tests: 2 -> 0
- Other failed tests:
- `glang`: 1
- `Clang-Unit`: 5
- `Clangd`: 3
- `Clangd Unit Tests`: 150
- `LLVM-Unit`: 1
Commit: d20395cfa3bb5c4d3a7cc61f28dc4faa2dd57eba
https://github.com/llvm/llvm-project/commit/d20395cfa3bb5c4d3a7cc61f28dc4faa2dd57eba
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/test/CodeGen/AArch64/clmul-fixed.ll
M llvm/test/CodeGen/AArch64/clmul-scalable.ll
M llvm/test/CodeGen/PowerPC/clmul-vector.ll
M llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-clmul.ll
M llvm/test/CodeGen/X86/clmul-vector-256.ll
M llvm/test/CodeGen/X86/clmul-vector-512.ll
M llvm/test/CodeGen/X86/clmul-vector.ll
Log Message:
-----------
[LegalizeVectorOps][RISCV][PowerPC][AArch64][X86] Enable the clmul/clmulr/clmulh expansion code. (#184257)
These opcodes weren't added to the master switch statement that
determines if they should be considered vector ops.
Commit: e4def2d11fb5b482dd4614601fc8018c42a824b9
https://github.com/llvm/llvm-project/commit/e4def2d11fb5b482dd4614601fc8018c42a824b9
Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-flat-work-group-size-vgpr-limit.ll
Log Message:
-----------
[AMDGPU] Make the options consistent across 3 RA pipelines(NFC) (#184190)
Adding the missing option for the wwm-regalloc in the test
attr-amdgpu-flat-work-group-size-vgpr-limit.ll. The existing
test already specifies -sgpr-regalloc=fast & -vgpr-regalloc=fast
to ensure that the fast register allocator is preferred over
the default greedy allocator. For consistency, the same
preference should also be applied to the wwm-regalloc pipeline.
Commit: 0504af9e3bf76deea13c8a83928de36b3b816355
https://github.com/llvm/llvm-project/commit/0504af9e3bf76deea13c8a83928de36b3b816355
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Analysis/CmpInstAnalysis.cpp
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CAS/OnDiskCommon.cpp
M llvm/lib/CodeGen/RegisterClassInfo.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/LibraryScanner.cpp
M llvm/lib/IR/ConstantRange.cpp
M llvm/lib/IR/Value.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/Support/APFixedPoint.cpp
M llvm/lib/Support/APFloat.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/tools/llvm-dwarfdump/Coverage.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[llvm] Turn misc copy-assign to move-assign (#184143)
That's an automated patch generated from clang-tidy
performance-use-std-move as a follow-up to #184136
Commit: f67c2cd75e256af054919bee68886ebd51155b39
https://github.com/llvm/llvm-project/commit/f67c2cd75e256af054919bee68886ebd51155b39
Author: Luke Lau <luke at igalia.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave2.ll
M llvm/test/CodeGen/RISCV/rvv/vabd.ll
M llvm/test/CodeGen/RISCV/rvv/vabdu.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
Log Message:
-----------
[RISCV] Handle Zvabd and XRivosVizip EEWs in RISCVVLOptimizer (#184117)
This allows the VL optimizer to handle more cases that
RISCVVectorPeephole currently catches.
The XRivosVizip instructions have ReadsPastVL=true, so only the vl of
the zip instruction itself is reduced, not its inputs.
Commit: 78ac964c47cbdbc64e84c3230ba76fe774e8dd1b
https://github.com/llvm/llvm-project/commit/78ac964c47cbdbc64e84c3230ba76fe774e8dd1b
Author: quic_hchandel <hchandel at qti.qualcomm.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfoSFB.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
M llvm/test/CodeGen/RISCV/opt-w-instrs.mir
Log Message:
-----------
[RISCV][NFC] Prepare for Short Forward Branch of branches with immediates (#182456)
This NFC patch introduces two key updates:
- It replaces the `gpr` operand type with `sfb_rhs` for the `rhs`
operand in the short forward branch optimization pseudos. The `sfb_rhs`
type supports both register and immediate operands.
- It updates the pseudos to use branch opcodes instead of condition
codes, which were used prior to this change.
Together, these changes prepare the existing codebase to support short
forward branches that compare a register with an immediate value.
Currently, short forward branch support is limited to
register-to-register comparisons
Commit: 0fff939c1aa9eacabd9019b822e399a426ea97fa
https://github.com/llvm/llvm-project/commit/0fff939c1aa9eacabd9019b822e399a426ea97fa
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/test/Dialect/Linalg/transform-lower-pack.mlir
M mlir/test/Dialect/Linalg/transform-tile-and-fuse-pack-unpack.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/pack-unpack-mmt4d.mlir
Log Message:
-----------
[mlir][linalg] Lower unpack - capture handle to created copy op (#183744)
Adds missing copy op created to unpack lowering results. Corresponding
transform op is also updated with the new result value.
Commit: 7fb5a02dcda1018ccc462b114593eca400c3b528
https://github.com/llvm/llvm-project/commit/7fb5a02dcda1018ccc462b114593eca400c3b528
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
A clang/include/clang/AST/pch.h
M clang/lib/AST/CMakeLists.txt
Log Message:
-----------
[CMake][AST] Add PCH (#183358)
Add frequently used expensive headers from clang/AST to a PCH.
Results in a 13% stage2-clang build time improvement.
Commit: a631c3f4077cf84c90f9dfa98a9bdbc1e568f055
https://github.com/llvm/llvm-project/commit/a631c3f4077cf84c90f9dfa98a9bdbc1e568f055
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M mlir/test/Dialect/SPIRV/IR/tosa-ops-verification.mlir
Log Message:
-----------
[mlir][spirv] Expand verifier testing for spirv.Tosa ops (#184112)
Also keep test order aligned with op definition order.
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: ecb694de65e87a941f7a0cd658cef7016b0eaa77
https://github.com/llvm/llvm-project/commit/ecb694de65e87a941f7a0cd658cef7016b0eaa77
Author: Steffen Larsen <sholstla at amd.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
Log Message:
-----------
[Clang][NFCI] Initialize PredefinedNames immediately (#183295)
In isPredefinedUnsafeLibcFunc the set of predefined names is initialized
lazily. However, this pattern is redundant as function-scope static
variables are initialized on first pass through the control flow. This
commit makes the variable constant, makes it a non-heap object, and
initializes it immediately. This has the following benefits:
- The initialization pattern cleaner and potentially easier for the
compiler to optimize.
- Making the variable const avoids it being used as mutable global
state.
- Having immediate initialization removes a potential race condition.
Signed-off-by: Steffen Holst Larsen <sholstla at amd.com>
Commit: b67536954eb1ce439b203073ba297f557a153eaa
https://github.com/llvm/llvm-project/commit/b67536954eb1ce439b203073ba297f557a153eaa
Author: Steffen Larsen <sholstla at amd.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/include/clang/Basic/TargetCXXABI.h
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Basic/Targets/AVR.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/ModuleBuilder.cpp
M clang/lib/Driver/Distro.cpp
M clang/lib/Options/DriverOptions.cpp
M clang/lib/Sema/SemaOpenACCClauseAppertainment.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.cpp
M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
Log Message:
-----------
[Clang][NFCI] Make unchanged global state const (#183478)
To avoid modifications to global state that does not currently need to
be modified, this patch makes a selection of trivial cases const. This
aims to help preserve the intention of these variables and reduce the
potential mutable global state surface of clang.
---------
Signed-off-by: Steffen Holst Larsen <sholstla at amd.com>
Commit: 9cda40735a17194fec9cac9689dd5acf1eb1a44f
https://github.com/llvm/llvm-project/commit/9cda40735a17194fec9cac9689dd5acf1eb1a44f
Author: Weibo He <NewSigma at 163.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaCoroutine.cpp
A clang/test/CodeGenCoroutines/coro-gro3.cpp
Log Message:
-----------
[clang][Sema] Fix initialization of GRO when GRO-return type mismatches (CWG2563) (#179156)
This patch implements one piece of proposed solution to
[CWG2563](https://cplusplus.github.io/CWG/issues/2563.html):
> get-return-object-invocation is as follows:
> ...
> otherwise, get-return-object-invocation initializes a variable with
the exposition-only name gro as if by
> decltype(auto) gro = promise.get_return_object();
Close #98744
Commit: eb1e808fdb44fee0cb8beea0ea8f162b82e8d92f
https://github.com/llvm/llvm-project/commit/eb1e808fdb44fee0cb8beea0ea8f162b82e8d92f
Author: Gergo Stomfai <stomfaig at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/CodeGen/X86/AMX/amx-low-intrinsics-no-amx-bitcast.ll
M llvm/test/CodeGen/X86/AMX/amx-low-intrinsics.ll
M llvm/test/Transforms/SLPVectorizer/X86/extracts-non-extendable.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-load-reduced-as-part-of-bv.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
M llvm/test/Transforms/SLPVectorizer/reduction-gather-non-scheduled-extracts.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[IR] Mark reduction intrinsics as nocreateundeforpoison (#184173)
In investigating #156233, it came up that select folds like here:
https://alive2.llvm.org/ce/z/Y6jzj6 cannot be carried out, or easily
fixed for now, because integer reductions do not propagate noundef, even
if their arguments are noundef. This patch adds this propagation.
Commit: 0933b634c6a272e5f5ed53da21118eecb15ee940
https://github.com/llvm/llvm-project/commit/0933b634c6a272e5f5ed53da21118eecb15ee940
Author: Frederik Harwath <frederik.harwath at amd.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
Log Message:
-----------
[AMDGPU] IGroupLP: Refactor SchedGroup::initSchedGroup (NFC) (#184122)
There are three overloaded SchedGroup::initSchedGroup functions, two of
which are only used for specific types of SchedGroups, namely
SCHED_BARRIER and SCHED_GROUP_BARRIER. This seems to have a led to some
confusion since the different functions perform checks which are not
needed for their intended restricted use cases. Furthermore, there are
several wrong comments surrounding those functions.
Simplify the functions and inline the actual initialization parts of the
SCHED_BARRIER and SCHED_GROUP_BARRIER variants at their only call sites.
Extract a function that finds the candidate SUnits for a given
SchedGroup and use this instead of initSchedGroup. Fix comments.
Commit: 92bd6eee4db36d931f5c0ca7c9614a22c9b08a63
https://github.com/llvm/llvm-project/commit/92bd6eee4db36d931f5c0ca7c9614a22c9b08a63
Author: Volodymyr Turanskyy <vturanskyy at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/src/stdio/baremetal/CMakeLists.txt
A libc/src/stdio/baremetal/fflush.cpp
A libc/src/stdio/baremetal/file_internal.cpp
M libc/src/stdio/baremetal/file_internal.h
M libc/src/stdio/baremetal/getc.cpp
A libc/src/stdio/baremetal/ungetc.cpp
M libc/src/stdio/baremetal/vfscanf_internal.h
Log Message:
-----------
[libc] Reland add getc, ungetc, fflush to enable libc++ iostream on baremetal (#183556)
After https://github.com/llvm/llvm-project/pull/168931 landed getc,
ungetc and fflush are still missing at link time while trying to make
libc++ std::cout work with LLVM libc on baremetal.
ungetc implementation is very minimal only to cover the current standard
streams implementation from the patch above.
The original PR https://github.com/llvm/llvm-project/pull/175530 caused
build failure on Windows because of too long command line in the
generated *.bat file which was fixed by
https://github.com/llvm/llvm-project/issues/182374
Commit: c4e2f79c22d2e22564cba60a7f4c1b126d6dfad9
https://github.com/llvm/llvm-project/commit/c4e2f79c22d2e22564cba60a7f4c1b126d6dfad9
Author: David Green <david.green at arm.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/srem-vec-crash.ll
Log Message:
-----------
[AArch64][GlobalISel] Limit srem by const of small sizes. (#184066)
The code in SignedDivisionByConstantInfo::get can only handle bitwidths
>= 3. This adds a check for bitwidth==1 for urem too, although it will
already have been simplified.
Commit: 09217ba90459efe47c2309ab51b168a869f377d3
https://github.com/llvm/llvm-project/commit/09217ba90459efe47c2309ab51b168a869f377d3
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M lldb/test/API/lang/cpp/template/TestTemplateArgs.py
M lldb/test/API/python_api/event/TestEvents.py
M lldb/test/API/python_api/type/TestTypeList.py
Log Message:
-----------
[lldb] Disable shared build for TestTemplateArgs,TestEvents,TestTypeList (#184304)
See https://github.com/llvm/llvm-project/pull/181720
Commit: 39f2740faceafb5bb9fc2ad799eb17135faa1a38
https://github.com/llvm/llvm-project/commit/39f2740faceafb5bb9fc2ad799eb17135faa1a38
Author: Frederik Harwath <frederik.harwath at amd.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
Log Message:
-----------
[AMDGPU] IGroupLP: Avoid repeating reachability checks in greedy algorithm (#182463)
In the greedy pipeline solver, the group cost is found using the
addEdges function and the edges must be removed from the DAG after
processing each group. The best group edges are then reinserted using
the same function. This repeats the costly reachability checks inside
the function which become problematic for pipelines with many
SchedGroups.
The algorithm is changed to remember the best group edges instead of
recomputing them. Additionally, SchedGroup::tryAddEdge is refactored to
avoid a redundant cycle check which is already performed by DAG->addEdge.
Commit: b4743b2641b60fc0f577657be4ee884461e46e33
https://github.com/llvm/llvm-project/commit/b4743b2641b60fc0f577657be4ee884461e46e33
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Introduce VPlan::get(Zero|AllOnes) (NFC) (#184085)
Commit: 5d8c6c198ddefc6b63449fd66b99b83e929da15c
https://github.com/llvm/llvm-project/commit/5d8c6c198ddefc6b63449fd66b99b83e929da15c
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Mention allocation elision (#177592)
allockind / alloc-family enable allocation elision, but this was not
previously mentioned by LangRef.
Related discussion:
https://discourse.llvm.org/t/rfc-clarifying-semantic-assumptions-for-custom-allocators/89469
The semantics here are specified in terms of allowed transforms.
Making the semantics operational is tracked in #184102.
Commit: b4fffcd8e4157b72a19393ff2c2b5fcc5f51bae2
https://github.com/llvm/llvm-project/commit/b4fffcd8e4157b72a19393ff2c2b5fcc5f51bae2
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/docs/NVPTXUsage.rst
Log Message:
-----------
[NFC][Docs] Add documentation for NVPTX conversion intrinsics (#175536)
This change adds documentation for the NVPTX narrow floating-point
conversion intrinsics.
PTX ISA Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-cvt
Commit: 8879ff136c73c201d48d5334a0729d7817a7c643
https://github.com/llvm/llvm-project/commit/8879ff136c73c201d48d5334a0729d7817a7c643
Author: Fuad Ismail <fuad1502 at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
A llvm/test/CodeGen/MIR/Generic/machine-function-empty-name-no-ir-section.mir
A llvm/test/CodeGen/MIR/Generic/machine-function-empty-name-no-matching-ir.mir
A llvm/test/CodeGen/MIR/Generic/machine-function-empty-name.mir
Log Message:
-----------
Support unnamed functions in MIR parser (#183018)
In this PR, unnamed machine functions in an MIR file are associated with
anonymous functions in the embedded LLVM IR according to the order in
which they are specified. If there are more unnamed machine functions
then there are LLVM IR functions, the parsing will fail by reporting the
original error message of `function ‘’ isn’t defined in the provided
LLVM IR`.
Closes #36511
Commit: 91e73b93e881c585b353afc43b8353dc6fda1fe6
https://github.com/llvm/llvm-project/commit/91e73b93e881c585b353afc43b8353dc6fda1fe6
Author: Artem Kroviakov <71938912+akroviakov at users.noreply.github.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/test/Dialect/XeGPU/resolve-layout-conflicts.mlir
Log Message:
-----------
[MLIR][XeGPU] Allow uniform vectors in layout conflict resolution (#183756)
Commit: 4d3bdc0f89475ad5064eb992494be2e3789ae851
https://github.com/llvm/llvm-project/commit/4d3bdc0f89475ad5064eb992494be2e3789ae851
Author: David Spickett <david.spickett at arm.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M lldb/source/Commands/CommandObjectWatchpoint.cpp
Log Message:
-----------
[lldb] Use AppendMessageWithFormatv in ComandObjectWatchpoint (#184128)
All of the AppendMessage... methods of CommandReturnObject automatically
add a newline, apart from AppendMessageWithFormat. This gets very
confusing when reviewing changes to commands.
While there are use cases for building a message as you go, controlling
when the newline is emitted, a lot of calls to AppendMessageWithFormat
include a newline at the end of the format string.
Such as in the watchpoint commands. So I've converted them to equivalent
AppendMessageWithFormatv calls so that:
* They have the less surprising behaviour re. newlines.
* They are in many cases more readable than the printf style notation.
Commit: d1c563beee794b3a967786fd07c437ffc66fb7f0
https://github.com/llvm/llvm-project/commit/d1c563beee794b3a967786fd07c437ffc66fb7f0
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M lldb/unittests/Target/CMakeLists.txt
Log Message:
-----------
[lldb] Don't link TestingSupport as a component (#184310)
This doesn't work with dylib builds, because TestingSupport is not part
of the dylib. Instead, we should link it via LINK_LIBS, like other tests
already do.
Commit: 5e814e26dd72d14ac1118a647210294d38c8d01e
https://github.com/llvm/llvm-project/commit/5e814e26dd72d14ac1118a647210294d38c8d01e
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
M mlir/test/Dialect/LLVMIR/inlining.mlir
Log Message:
-----------
[mlir][llvm] Fix crash in LLVM inliner when callee has no recognized terminator (#183949)
When the callee of an llvm.call has a body block ending with an
unregistered op (rather than a recognized LLVM terminator like
llvm.return), the LLVM inliner's handleTerminator method was called with
that unregistered op and crashed via a cast<LLVM::ReturnOp>() assertion
or use-after-erase due to unresolved call result uses.
The root cause is that the generic MLIR verifier conservatively treats
unregistered ops as potential terminators (using mightHaveTrait), so
malformed IR of this shape passes verification. The inliner, however,
assumes that the callee's terminator is a recognized LLVM op.
Fix by adding a guard in LLVMInlinerInterface::isLegalToInline() that
refuses to inline a callee containing any block whose last operation
does not have the IsTerminator trait. This prevents the crash and leaves
the call site intact without any IR mutation.
Fixes #108363
Fixes #118766
Commit: 03a9ebc8974bb45d9a48c9016faaf3bb92a1f41b
https://github.com/llvm/llvm-project/commit/03a9ebc8974bb45d9a48c9016faaf3bb92a1f41b
Author: Shekhar <95859857+levi42x at users.noreply.github.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/known-never-zero.ll
Log Message:
-----------
[DAG] isKnownNeverZero - add ISD::UADDSAT/UMAX/UMIN DemandedElts handling and tests (#183992)
Fixes #183038
Adds `isKnownNeverZero` support for `UADDSAT`, `UMAX`, and `UMIN`. This
allows the compiler to prove a vector result is _non-zero_ by analyzing
only the demanded lanes of its operands.
Commit: 0b36d4265e301699aef184e0405da35e4c2461e5
https://github.com/llvm/llvm-project/commit/0b36d4265e301699aef184e0405da35e4c2461e5
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/include/llvm/CodeGen/RuntimeLibcallUtil.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/veclib-llvm.pow.ll
M llvm/test/CodeGen/ARM/pow.ll
M llvm/test/Transforms/Util/DeclareRuntimeLibcalls/armpl.ll
Log Message:
-----------
[AArch64] Add vector expansion support for ISD::FCBRT when using ArmPL (#183750)
This patch teaches the backend how to lower the FCBRT DAG node to the
vector math library function when using ArmPL. This is similar to what
we already do for llvm.pow/FPOW, however the only way to expose this is
via a DAG combine that converts
FPOW(<2 x double> %x, <2 x double> <double 1.0/3.0, double 1.0/3.0>)
into
FCBRT(<2 x double> %x)
when the appropriate fast math flags are present on the node. I've
updated the DAG combine to handle vector types and only perform the
transformation if there exists a vector library variant of cbrt.
Commit: 245887e343d37309f2ce7f728ebd4c71dc9ee4e6
https://github.com/llvm/llvm-project/commit/245887e343d37309f2ce7f728ebd4c71dc9ee4e6
Author: Aadarsh Keshri <120744385+Aadarsh-Keshri at users.noreply.github.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
A llvm/test/CodeGen/X86/veclib-llvm.sincos.ll
Log Message:
-----------
[X86] Added sincos vector lib codegen test coverage (#183702)
Added veclib-llvm.sincos.ll tests for amdlibm and libmvec
Fixes #182847
Commit: 36cced2b8244517778a9b097bd2b60f5b1e690e4
https://github.com/llvm/llvm-project/commit/36cced2b8244517778a9b097bd2b60f5b1e690e4
Author: Nashe Mncube <nashe.mncube at arm.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
R llvm/test/tools/llvm-mca/AArch64/Apple/Inputs/basic-instructions.s
R llvm/test/tools/llvm-mca/AArch64/Apple/Inputs/neon-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Apple/M1-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Apple/M1-neon-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A57-basic-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Inputs/basic-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Inputs/bf16-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Inputs/complxnum-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Inputs/fp16fml-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Inputs/fptoint-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Inputs/i8mm-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Inputs/mte-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Inputs/neon-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Inputs/rcpc-immo-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Inputs/sve-instructions.s
R llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/basic-instructions.s
R llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/bf16-instructions.s
R llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/complxnum-instructions.s
R llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/fp16fml-instructions.s
R llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/fptoint-instructions.s
R llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/i8mm-instructions.s
R llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/mte-instructions.s
R llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/neon-instructions.s
R llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/rcpc-immo-instructions.s
R llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/sve-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N1-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N1-neon-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-bf16-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-complxnum-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-fp16fml-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-fptoint-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-i8mm-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-mte-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-neon-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-rcpc-immo-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-sve-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-bf16-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-complxnum-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-fp16fml-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-fptoint-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-i8mm-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-mte-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-neon-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-rcpc-immo-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-sve-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-bf16-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-complxnum-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-fp16fml-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-i8mm-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-neon-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-rcpc-immo-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-bf16-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-complxnum-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-fp16fml-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-fptoint-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-i8mm-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-mte-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-neon-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-rcpc-immo-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-sve-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-bf16-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-complxnum-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-fp16fml-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-fptoint-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-i8mm-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-mte-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-neon-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-rcpc-immo-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-sve-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-bf16-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-complxnum-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-fp16fml-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-fptoint-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-i8mm-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-neon-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-rcpc-immo-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-sve-instructions.s
Log Message:
-----------
[NFC][AArch64] Refactor Arm llvm-mca tests (#183294)
This patch refactors the llvm-mca tests for AArch64 targets
which make use of the shared "Neoverse/Inputs" directory. For the
sake of making scaling easier, the "Inputs" directory is now on the
toplevel at llvm-mca/AArch64 and all tests referencing this directory
are rewritten to use the new path.
Commit: 6ee48f2ce747c4c9a5371a5746176fd52373de96
https://github.com/llvm/llvm-project/commit/6ee48f2ce747c4c9a5371a5746176fd52373de96
Author: Luke Lau <luke at igalia.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt.ll
Log Message:
-----------
[RISCV] Remove VL != 1 restriction in RISCVVLOptimizer (#184298)
This was added way back in #112228 when the VLs were reduced in-situ,
and returning false in isSupportedInstr could trim the number of
instructions processed.
However after #124530 the demanded VLs are all computed beforehand as an
analysis so this is no longer an optimization.
This also removes the diff in rvv-peephole-vmerge-vops.ll in #184297
Commit: 263a22e8655664e8b05e212114887ad7d06c67e5
https://github.com/llvm/llvm-project/commit/263a22e8655664e8b05e212114887ad7d06c67e5
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
A mlir/test/Dialect/XeGPU/xegpu-propagate-layout-invalid.mlir
Log Message:
-----------
[mlir][xegpu] Fix crash in XeGPUPropagateLayout when module has llvm.func (#183899)
updateFunctionOpInterface() called
funcOp.setType(FunctionType::get(...)) on every FunctionOpInterface
operation, including llvm.func. However, llvm.func stores its type as
LLVMFunctionType, not the standard FunctionType. Calling
setType(FunctionType{}) on it corrupts the function_type attribute, and
the next call to getFunctionType() (which tries to
cast<LLVMFunctionType> the stored attribute) aborts.
Fix by skipping functions whose type is not a standard FunctionType.
XeGPU layout propagation only applies to functions using MLIR's
FunctionType; other function types (like LLVMFunctionType) are not
expected to carry XeGPU layouts.
Fixes #177846
Fixes #177777
Fixes #181970
Commit: ecec7920c636082708b80d6a603e8d5d7eb5b0a7
https://github.com/llvm/llvm-project/commit/ecec7920c636082708b80d6a603e8d5d7eb5b0a7
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/Func/IR/FuncOps.td
M mlir/lib/Dialect/Func/IR/FuncOps.cpp
M mlir/test/Conversion/FuncToLLVM/func-memref-return.mlir
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm-32b.mlir
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
M mlir/test/Dialect/EmitC/invalid_types.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/nvvm.mlir
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/Dialect/NVGPU/invalid.mlir
M mlir/test/Dialect/SparseTensor/invalid.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Transforms/print-op-graph.mlir
M mlir/test/Transforms/test-dialect-conversion-pdll.mlir
M mlir/test/Transforms/test-legalizer.mlir
M mlir/test/Transforms/test-merge-blocks.mlir
M mlir/test/Transforms/test-pattern-selective-replacement.mlir
Log Message:
-----------
[mlir][func] Move return-type verification from ReturnOp to FuncOp (#184153)
Move the operand count and type checks for func.return from
ReturnOp::verify() into a new FuncOp::verify(). The verifier iterates
all blocks in the callable region, skipping terminators that are not
func.return (e.g. llvm.return or test.return that may appear during
dialect conversion).
Fix several invalid-IR tests that had func.func return types
inconsistent with the actual func.return operands. Previously these
mismatches were silent because block verification stopped at an earlier
expected error before reaching the func.return; now that
FuncOp::verify() runs before body verification, the return types must be
consistent.
Commit: 7856e98768087e0381b2f700bed544324ecd0984
https://github.com/llvm/llvm-project/commit/7856e98768087e0381b2f700bed544324ecd0984
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/uArch/IntelGpuXe2.h
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToWiDistributeExperimental.cpp
A mlir/test/Dialect/XeGPU/xegpu-subgroup-distribute-no-arch.mlir
Log Message:
-----------
[mlir][XeGPU] Fix crash in getUArch when no chip target attribute is set (#183912)
When running --xegpu-subgroup-distribute (or --xegpu-propagate-layout)
on a gpu.func that lacks a chip target attribute, getChipStr() returns
std::nullopt and the callers pass an empty string to getUArch(). This
function used llvm_unreachable for unrecognised architecture names,
causing an immediate abort instead of gracefully skipping the operation.
Fix by:
1. Changing getUArch() to return nullptr for unknown arch names instead
of calling llvm_unreachable.
2. Adding null-pointer guards to all callers in XeGPUPropagateLayout.cpp
that were missing them. The callers in XeGPUSubgroupDistribute.cpp
already had null checks but they were unreachable due to the unreachable
call.
Add a regression test that runs --xegpu-subgroup-distribute on a
gpu.func without any chip attribute and verifies it no longer crashes.
Fixes #181531
Fixes #179167
Commit: a8a5242bb2dc2949e148e7000230d479be321def
https://github.com/llvm/llvm-project/commit/a8a5242bb2dc2949e148e7000230d479be321def
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg.mlir
Log Message:
-----------
[mlir][XeGPU] Fix crash in wg-to-sg type converter on non-XeGPU tensors (#183914)
The SCF structural type conversion in XeGPUWgToSgDistributePass
registered a RankedTensorType conversion callback that unconditionally
called VectorType::get() on the tensor's shape. If the tensor had
dynamic dimensions (e.g. tensor<?xi32>) and no XeGPU layout encoding,
getSgShapeAndCount() returned the original shape intact (including the
kDynamic sentinel value), causing VectorType::get() to abort because
VectorType does not support dynamic sizes.
Fix by checking whether the RankedTensorType carries an XeGPU LayoutAttr
encoding before attempting the conversion. Plain tensors without such an
encoding are left unchanged (std::nullopt causes the passthrough
converter to handle them).
Add a regression test for the no-encoding / dynamic-tensor case.
Fixes #182999
Commit: bbd5b1d3bd073c239b36359932c3049b0d5c83bd
https://github.com/llvm/llvm-project/commit/bbd5b1d3bd073c239b36359932c3049b0d5c83bd
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
M mlir/test/Conversion/VectorToXeGPU/store-to-xegpu.mlir
Log Message:
-----------
[mlir][VectorToXeGPU] Fix crash on memref with non-scalar element type (#183905)
The vector.store and vector.load lowering in --convert-vector-to-xegpu
would crash when the source memref had a non-integer/float element type
(e.g. memref<?xvector<4xf32>>).
The crash occurred inside createNdDescriptor() when computing the byte
offset for dynamic memrefs: srcTy.getElementTypeBitWidth() internally
calls getIntOrFloatBitWidth() which asserts on non-scalar types such as
vector<4xf32>.
Fix by adding a check for the memref's element type in
storeLoadPreconditions(). If the element type is not an integer or
float, the pattern returns notifyMatchFailure() instead of proceeding
and crashing.
The same guard is applied to TransferReadLowering and
TransferWriteLowering which share the same helper and can hit the same
path.
Fixes #181463
Commit: 8d082c7c3144c0a635031387bf7bf6d60960ab9e
https://github.com/llvm/llvm-project/commit/8d082c7c3144c0a635031387bf7bf6d60960ab9e
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.h
A mlir/test/Dialect/SparseTensor/conversion_invalid.mlir
Log Message:
-----------
[mlir][sparse] Fix crash in sparse_tensor.new with unsupported element type (#183898)
sparse_tensor.new with an element type not supported by the sparse
tensor runtime library (e.g. `index`) would call primaryTypeEncoding(),
which hits an llvm_unreachable("Unknown primary type"). The runtime
library only supports fixed-width types (f64/f32/f16/bf16,
i64/i32/i16/i8, and complex<f32/f64>); platform-dependent types such as
`index` have no corresponding PrimaryType encoding.
Fix by adding an isValidPrimaryType() helper and checking it in
SparseTensorNewConverter::matchAndRewrite() before calling genReader(),
so the conversion fails gracefully instead of crashing.
Fixes #180310
Commit: 6884ff014277bed5b09cd6fb794fed53b09dce37
https://github.com/llvm/llvm-project/commit/6884ff014277bed5b09cd6fb794fed53b09dce37
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
A mlir/test/Dialect/SparseTensor/sparse_foreach_rank0.mlir
Log Message:
-----------
[mlir][sparse] Fix crash in ForeachRewriter for rank-0 dense tensors (#183903)
sparse_tensor.foreach over a rank-0 (scalar) dense tensor crashed
because ForeachRewriter delegated entirely to LoopEmitter, which builds
one loop level per tensor dimension. For rank-0 tensors no loops are
created, so getValPosits() called std::vector::back() on an empty
container.
Add a rank-0 early-return path in ForeachRewriter::matchAndRewrite that
handles dense scalar tensors directly: bufferize the input to a rank-0
memref, load the single element with empty indices, then inline the body
block exactly once. Reduction block-argument values in the yield are
remapped to their post-inline equivalents before the block is inlined to
avoid dangling references.
Sparse rank-0 tensors are left as a notifyMatchFailure (genuinely
unsupported, no crash).
Fixes #177856
Commit: f934db36aa2606054b3e73af7258df3fd8ccdb64
https://github.com/llvm/llvm-project/commit/f934db36aa2606054b3e73af7258df3fd8ccdb64
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/test/Dialect/SparseTensor/invalid_encoding.mlir
Log Message:
-----------
[mlir][sparse] Reject dense level after non-unique level in encoding verifier (#184157)
The sparse tensor iteration model for dense levels requires exactly one
parent position to linearize into a contiguous range. However, when a
non-unique level (e.g. compressed(nonunique)) precedes a dense level,
the DedupIterator provides a two-element cursor {posLo, segHi}, causing
DenseLevel::peekRangeAt to assert and crash with:
Assertion `parentPos.size() == 1 && "Dense level can not be
non-unique."'
Fix this by adding a check in SparseTensorEncodingAttr::verify that
rejects any encoding where a dense level directly follows a non-unique
level, emitting a proper diagnostic instead of crashing during lowering.
Fixes #130008
Commit: ee8259dcca82849735225c8ea1b215ed7fef7648
https://github.com/llvm/llvm-project/commit/ee8259dcca82849735225c8ea1b215ed7fef7648
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseSpaceCollapse.cpp
M mlir/test/Dialect/SparseTensor/sparse_space_collapse.mlir
Log Message:
-----------
[mlir][sparse] Fix use-after-free crash in SparseSpaceCollapsePass (#184001)
The `SparseSpaceCollapsePass::runOnOperation()` was calling
`collapseSparseSpace()` inside the `func->walk(...)` callback. The
collapse erases the outer `IterateOp` (and all its nested ops including
inner `ExtractIterSpaceOp`s), while the walk iterator still holds a
reference to one of those nested ops as its current position. The walk
then tries to advance to the next op, which has already been freed,
causing a segfault.
Fix this by collecting all collapsable groups during the walk without
mutating the IR, then processing them after the walk completes.
Fixes #130021
Commit: a368bd4049db226f093a688b15153a3a6bfb2ee9
https://github.com/llvm/llvm-project/commit/a368bd4049db226f093a688b15153a3a6bfb2ee9
Author: sweiglbosker <stefan at s00.xyz>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
A clang/test/CIR/CodeGenCUDA/kernel-args.cu
Log Message:
-----------
[CIR][CUDA]: Handle duplicate mangled names (#183976)
Replace the NYI for duplicate function defs with the proper diagnostic
logic from OG codegen.
Related: #175871, #179278
Commit: ec7f3503f8d0a927d166b1c608b94e9cae3b0a86
https://github.com/llvm/llvm-project/commit/ec7f3503f8d0a927d166b1c608b94e9cae3b0a86
Author: sweiglbosker <stefan at s00.xyz>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M mlir/test/Interfaces/LoopLikeInterface/test-block-loop.mlir
M mlir/test/lib/Interfaces/LoopLikeInterface/TestBlockInLoop.cpp
Log Message:
-----------
[MLIR] Make test-block-is-in-loop pass a module pass (#184036)
This pass can't run in parallel on function as it would trigger race conditions.
Fixes #183999
Commit: d908184487b9d99b249d4238453e91203492888a
https://github.com/llvm/llvm-project/commit/d908184487b9d99b249d4238453e91203492888a
Author: David Green <david.green at arm.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/arm64-neon-select_cc.ll
Log Message:
-----------
[AArch64] Limit support to f32 and f64 in performSelectCombine (#184315)
This prevents a crash with fp128 types, other types (f16) were already
excluded.
Fixes #184300
Commit: 703649554da8f7b92873d21da7f3c51fbc7112ed
https://github.com/llvm/llvm-project/commit/703649554da8f7b92873d21da7f3c51fbc7112ed
Author: Shekhar <95859857+levi42x at users.noreply.github.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/known-never-zero.ll
Log Message:
-----------
[DAG] isKnownNeverZero - add ISD::OR DemandedElts handling (#183228)
This patch updates `SelectionDAG::isKnownNeverZero` to support `ISD::OR`
by forwarding the `DemandedElts` mask to its operands.
Previously, `ISD::OR` dropped the mask, causing the compiler to be
overly conservative if any lane in the vector was zero, even if that
lane wasn't demanded. This change allows the compiler to prove a vector
result is non-zero even if ignored lanes are zero.
Fixes #183037
**Tests:**
- Moved tests from the C++ file to the IR assembly file
(`known-never-zero.ll`) as requested.
- Confirmed the code now correctly tracks which parts of a vector are
actually needed for `ISD::OR`.
- This allows the compiler to prove a result is "never zero" even if
some unused lanes contain zeros.
Commit: fa6eef837831ee6744e6baf0398104f374070470
https://github.com/llvm/llvm-project/commit/fa6eef837831ee6744e6baf0398104f374070470
Author: Lewis Crawford <lcrawford at nvidia.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AMDGPU/fcanonicalize-elimination.ll
M llvm/test/CodeGen/ARM/fminmax-folds.ll
M llvm/test/CodeGen/X86/fmaxnum.ll
M llvm/test/CodeGen/X86/fminnum.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
M llvm/test/Transforms/InstSimplify/ConstProp/min-max.ll
M llvm/test/Transforms/InstSimplify/fminmax-folds.ll
Log Message:
-----------
Revert "Avoid maxnum(sNaN, x) optimizations / folds (#170181)" (#184125)
This reverts commit ea3fdc5972db7f2d459e543307af05c357f2be26.
Re-enable const-folding for maxnum/minnum in the middle-end, GlobalISel,
and SelectionDAG.
Re-enable optimizations that depend on maxnum/minnum sNaN semantics in
InstCombine and DAGCombiner.
Now that maxnum(x, sNaN) is specified to non-deterministically produce
either NaN or x, these constant-foldings and optimizations are now valid
again according to the newly clarified semantics in #172012 .
Commit: de69348f80f5498c5a42e6fd347ba18239c498a5
https://github.com/llvm/llvm-project/commit/de69348f80f5498c5a42e6fd347ba18239c498a5
Author: Maria Fernanda Guimarães <66797940+mafeguimaraes at users.noreply.github.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/include/clang/APINotes/APINotesReader.h
M clang/lib/APINotes/APINotesManager.cpp
M clang/lib/APINotes/APINotesReader.cpp
Log Message:
-----------
[Reland] [APINotes] Refactor APINotesReader to propagate llvm::Error (#184212)
Reland of #183812 with the explicit `std::move` restored to fix buildbot
failures on older compilers.
Commit: 97043e50ad41c9da94a5cb48417f5139d6a84c8d
https://github.com/llvm/llvm-project/commit/97043e50ad41c9da94a5cb48417f5139d6a84c8d
Author: Artem Gindinson <gindinson at roofline.ai>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/test/Dialect/Vector/vector-warp-distribute.mlir
Log Message:
-----------
[mlir][Vector][GPU] Distribute expanding `shape_cast` ops (#183830)
The initial implementation of `shape_cast` distribution only focused on
scenarios with collapsing shape casts. Within downstream pipelines such
as IREE, commit 962a9a3 exposes an issue with this implementation, where
the rank-expanding cast ops (stemming from the new `vector.broadcast`
canonicalization) silently fall through to the "collapsing-or-no-op"
logic. This brings about bugs with rank mismatches and firing validation
assertions when distributing rather common reshaping sequences
encountered after CSE/ canonicalization, such as below:
```
// Example 1: gather op
%weight = arith.constant dense_resource<__elided__> : tensor<256xi8>
%c0 = arith.constant 0 : index
...
%expand = vector.shape_cast <...> : vector<1xindex> to vector<1x1xindex>
%gather = vector.gather %weight[%c0] [%expand], <...>, <...> : memref<256xi8>, vector<1x1xindex>, vector<1x1xi1>, vector<1x1xi8> into vector<1x1xi8>
%collapse_back = vector.shape_cast %gather : vector<1x1xi8> to vector<1xi8>
// Example 2: multi-reduction
%expand = vector.shape_cast <...>: vector<1x96xi32> to vector<1x2x48xi32>
%reduce = vector.multi_reduction <add>, %expand, <...> [1, 2]: vector<1x2x48xi32> to vector<1x1xi32>
%collapse = vector.shape_cast %reduce : vector<1x1xi32> to vector<1xi32>
```
This commit adds initial handling of expanding `shape_cast`s, going
through the three scenarios:
- if all "excess" dimensions in the front of the destination shape are
unit, it's clear that the work is not distributed across those, so we
strip the same number of unit dimensions from the per-lane yielded type;
- if the source type within the warp code is of rank 1, we still
determine the corresponding output type cleanly by multiplying the
dimensions of the per-lane yield type;
- if neither of the above are true, explicitly fail the pattern for such
expanding `shape_cast`'s. Dimension-specific distribution parameters are
deemed ambiguous, at least from within this pattern's context.
---------
Signed-off-by: Artem Gindinson <gindinson at roofline.ai>
Commit: 534d6e887ff815cdba5f9e2784b6b432faac25c1
https://github.com/llvm/llvm-project/commit/534d6e887ff815cdba5f9e2784b6b432faac25c1
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
Log Message:
-----------
[Analysis][NFC] Store CallbackVH in vector, not in map (#184323)
This avoid non-trivial move operations whenever the map grows.
Commit: 33864efe461e6c71545b009d1a394d2b756784f8
https://github.com/llvm/llvm-project/commit/33864efe461e6c71545b009d1a394d2b756784f8
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M lld/COFF/Driver.cpp
M lld/wasm/OutputSections.cpp
Log Message:
-----------
[lld] Turn misc copy-assign to move-assign (#184145)
That's an automated patch generated from clang-tidy
performance-use-std-move as a follow-up to #184136
Commit: 1eeb2eccf8b2397c49aaeefde61257c5be6fc905
https://github.com/llvm/llvm-project/commit/1eeb2eccf8b2397c49aaeefde61257c5be6fc905
Author: flovent <flbven at protonmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/StdNamespaceModificationCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/system-header-simulation.h
M clang-tools-extra/test/clang-tidy/checkers/bugprone/std-namespace-modification.cpp
Log Message:
-----------
[clang-tidy] Handle specialization of user-defined type in `bugprone-std-namespace-modification` (#183984)
Ignore `templateSpecializationType` based on user-define classes too.
Fixes #183752
Commit: bbde3e3b59c8f7d8eee940a5aeb4eb5a849c05f4
https://github.com/llvm/llvm-project/commit/bbde3e3b59c8f7d8eee940a5aeb4eb5a849c05f4
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
Log Message:
-----------
[VPlan] Preserve IsSingleScalar for sunken predicated stores. (#184329)
The predicated stores may be single scalar (e.g. for VF = 1). We should
preserve IsSingleScalar. As all stores access the same address,
IsSingleScalar must match across all stores in the group.
This fixes an assertion when interleaving-only with sunken stores.
Fixes https://github.com/llvm/llvm-project/issues/184317
PR: https://github.com/llvm/llvm-project/pull/184329
Commit: c782e2d40572ce4ff3a71562265bf6f01857c132
https://github.com/llvm/llvm-project/commit/c782e2d40572ce4ff3a71562265bf6f01857c132
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fun-ptr-service-func.ll
M llvm/test/CodeGen/SPIRV/pointers/fun-with-aggregate-arg-in-const-init.ll
Log Message:
-----------
[SPIRV] Don't emit service function basic block names (#184206)
Right now if a module has a service function we always emit `OpName
entry` for the service function's basic block.
The actual service function isn't emitted and no other instruction uses
the basic block `OpName` instruction, so don't emit it.
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: 5b976c930189e54eda134684ef4ea3682bf2ee18
https://github.com/llvm/llvm-project/commit/5b976c930189e54eda134684ef4ea3682bf2ee18
Author: Pengxiang Huang <71998072+Pengxiang-Huang at users.noreply.github.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/linux/x86_64/headers.txt
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/key_t.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/CMakeLists.txt
M libc/include/llvm-libc-macros/linux/CMakeLists.txt
A libc/include/llvm-libc-macros/linux/sys-ipc-macros.h
A libc/include/llvm-libc-macros/sys-ipc-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/key_t.h
A libc/include/llvm-libc-types/struct_ipc_perm.h
A libc/include/sys/ipc.yaml
M libc/include/sys/types.yaml
M libc/src/sys/CMakeLists.txt
A libc/src/sys/ipc/CMakeLists.txt
A libc/src/sys/ipc/ftok.h
A libc/src/sys/ipc/linux/CMakeLists.txt
A libc/src/sys/ipc/linux/ftok.cpp
A libc/src/sys/ipc/linux/kernel_statx.h
M libc/test/src/sys/CMakeLists.txt
A libc/test/src/sys/ipc/CMakeLists.txt
A libc/test/src/sys/ipc/linux/CMakeLists.txt
A libc/test/src/sys/ipc/linux/ftok_test.cpp
Log Message:
-----------
[libc][sys] add header and functions for sys ipc (#182700)
Split from a larger change. This PR contains the base impl for sys ipc,
sys sem will come after this. @SchrodingerZhu
this PR implements for:
https://github.com/llvm/llvm-project/issues/182161
see the last PR for more detail:
https://github.com/llvm/llvm-project/pull/182683
Commit: c9d065abc15846deb95a23fb0b3e1855d3d26314
https://github.com/llvm/llvm-project/commit/c9d065abc15846deb95a23fb0b3e1855d3d26314
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
A llvm/test/CodeGen/X86/funnel-shift-i256.ll
M llvm/test/CodeGen/X86/shift-i256.ll
Log Message:
-----------
[X86] Add i256 shift / funnel shift coverage to match i512 tests (#184346)
shift-i256.ll - added x86-64/x86-64-v2/x86-64-v3/x86-64-v4 coverage and retained the x86 test coverage
Commit: acb8a6df19919cf2fa9946b88f5b14c28aa4f7ef
https://github.com/llvm/llvm-project/commit/acb8a6df19919cf2fa9946b88f5b14c28aa4f7ef
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/neon-extractbitcast-mir.ll
Log Message:
-----------
[AArch64] Fix type mismatch in bitconvert + vec_extract patterns (#183549)
This patch fixes mismatch in element width during isel of bitconvert +
vec_extract nodes. This resolves issue reported on
[this](https://github.com/llvm/llvm-project/pull/172837) PR.
Commit: e570faa87ed3afb21504d06d0c22d82686f3a8e3
https://github.com/llvm/llvm-project/commit/e570faa87ed3afb21504d06d0c22d82686f3a8e3
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/spirv-amd-toolchain.c
Log Message:
-----------
[SPIR-V][HIP] Disable SPV_KHR_untyped_pointers (#183530)
SPV_KHR_untyped_pointers in SPIR-V to LLVM translator is incomplete with
few known issues. Therefore we better not to rely on this extension for SPIR-V
generation.
Commit: 81396ebc51c40214465111ede745147989c67e48
https://github.com/llvm/llvm-project/commit/81396ebc51c40214465111ede745147989c67e48
Author: LU-JOHN <John.Lu at amd.com>
Date: 2026-03-03 (Tue, 03 Mar 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:
-----------
[AMDGPU] Generate more swaps (#184164)
Generate more swaps from:
```
mov T, X
...
mov X, Y
...
mov Y, X
```
by being more careful about what use/defs of X, Y, T are allowed in
intervening code and allowing flexibility where the swap is inserted.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 43503c44c8d0d9ec6948c21e5ff79e2ec7babad1
https://github.com/llvm/llvm-project/commit/43503c44c8d0d9ec6948c21e5ff79e2ec7babad1
Author: SiliconA-Z <gfunni234 at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
Log Message:
-----------
[NFC][AArch64] isPureCmp is a duplicate of canAdjustCmp, so remove the duplicate (#183568)
Just delete the duplicate function.
Commit: e10655eb1dfc5e40387b6389715100a62ba9f806
https://github.com/llvm/llvm-project/commit/e10655eb1dfc5e40387b6389715100a62ba9f806
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/test/CodeGen/X86/known-never-zero.ll
Log Message:
-----------
[X86] known-never-zero.ll - add sdiv/udiv vector test coverage for #183047 (#184350)
Commit: 358f4777202395e19c17f0c4c57a55234ffc37df
https://github.com/llvm/llvm-project/commit/358f4777202395e19c17f0c4c57a55234ffc37df
Author: Shivam Gupta <shivam98.tkg at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/lib/CodeGen/CGStmtOpenMP.cpp
A clang/test/OpenMP/for_range_loop_codegen.cpp
M clang/test/OpenMP/parallel_for_codegen.cpp
Log Message:
-----------
[Clang] Fix clang crash for fopenmp statement(for) inside lambda function (#146772)
C++ range-for statements introduce implicit variables such as `__range`,
`__begin`, and `__end`. When such a loop appears inside an OpenMP
loop-based directive (e.g. `#pragma omp for`) within a lambda, these
implicit variables were not emitted before OpenMP privatization logic
ran.
OMPLoopScope assumes that loop-related variables are already present in
LocalDeclMap and temporarily overrides their addresses. Since the
range-for implicit variables had not yet been emitted, they were treated
as newly introduced entries and later erased during restore(), leading
to missing mappings and a crash during codegen.
Fix this by emitting the range-for implicit variables before OpenMP
privatization (setVarAddr/apply), ensuring that existing mappings are
correctly overridden and restored.
This fixes #146335
Commit: 02b2a1e8fe7f553e49b6dff9ee9b2ba160eea9cb
https://github.com/llvm/llvm-project/commit/02b2a1e8fe7f553e49b6dff9ee9b2ba160eea9cb
Author: Shoreshen <372660931 at qq.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Target/M68k/GISel/M68kCallLowering.cpp
Log Message:
-----------
Fix `assignValueToReg` function's argument (#184354)
Because of [PR#178198](https://github.com/llvm/llvm-project/pull/178198)
the argument changes for `assignValueToReg`.
This PR aiming at fixing M86k experimental target
Commit: aef962708fe52372debf0ee3773462d5765a6069
https://github.com/llvm/llvm-project/commit/aef962708fe52372debf0ee3773462d5765a6069
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.h
M llvm/lib/Target/SPIRV/SPIRVAPI.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.h
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
Log Message:
-----------
Reapply "[SPIRV][NFCI] Use unordered data structures for SPIR-V extensions (#184162)
Reapply https://github.com/llvm/llvm-project/pull/183567 with minor
changes.
Problem causing the revert was we couldn't use the enum in `DenseMap`
directly because of some `TableGen` limitations so I casted made the map
use the underlying type, but that caused some UB, so I
[fixed](https://github.com/llvm/llvm-project/pull/183769) the `TableGen`
limitation so now it just works.
Commit: d61b45cd409d6def96eae8977bab2b0393c96b7e
https://github.com/llvm/llvm-project/commit/d61b45cd409d6def96eae8977bab2b0393c96b7e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/lib/CodeGen/CGAtomic.cpp
M clang/test/CodeGen/atomic-arm64.c
M clang/test/CodeGen/atomic-ops.c
M clang/test/CodeGen/big-atomic-ops.c
M clang/test/CodeGenOpenCL/atomic-ops.cl
Log Message:
-----------
[Clang] Generate ptr and float atomics without integer casts (#183853)
Summary:
LLVM IR should support these for all cases except for compare-exchange.
Currently the code goes through an integer indirection for these cases.
This PR changes the behavior to use atomics directly to the target
memory type.
Commit: 6cc42b39556d33a968a899fd3243bcb707ae7169
https://github.com/llvm/llvm-project/commit/6cc42b39556d33a968a899fd3243bcb707ae7169
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M libc/src/__support/GPU/allocator.cpp
Log Message:
-----------
[libc] Various GPU allocator tweaks and optimizations (#184368)
Summary:
Some low-hanging fruit tweaks. Mostly preventing redundant loads and
unnecessary widening. Some fixes as well, like nullptr handling,
incorrect rounding, and oversized bitfields.
Commit: e68f696fdae0ce2ae1a0260a7414fbba50430018
https://github.com/llvm/llvm-project/commit/e68f696fdae0ce2ae1a0260a7414fbba50430018
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M .github/workflows/spirv-tests.yml
Log Message:
-----------
[CI][SPIRV][NFC] Remove unneccessary mkdir from workflow (#184353)
The `CMake` command does the `mkdir` automatically.
Pointed out in https://github.com/llvm/llvm-project/pull/184174
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: 3f1d968db946e90c7e29bfa886566957f0e374f4
https://github.com/llvm/llvm-project/commit/3f1d968db946e90c7e29bfa886566957f0e374f4
Author: Matthias Springer <me at m-sp.org>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M mlir/include/mlir/IR/Operation.h
M mlir/include/mlir/IR/Region.h
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/lib/Dialect/OpenACC/Transforms/LegalizeDataValues.cpp
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtils.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
Log Message:
-----------
[mlir][IR] Add variadic `getParentOfType` overloads (#184071)
Add `getParentOfType` overloads that work with multiple types.
Commit: f82f8cf8d498ea5dc0b20e2cead112d6d2b85894
https://github.com/llvm/llvm-project/commit/f82f8cf8d498ea5dc0b20e2cead112d6d2b85894
Author: Fangrui Song <i at maskray.me>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Arch/PPC.cpp
M lld/ELF/Arch/PPC64.cpp
M lld/ELF/Arch/X86.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/Config.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Target.h
Log Message:
-----------
[ELF] Add TargetInfo::initTargetSpecificSections hook (#184292)
so that we can move target-specific synthetic section creation from
createSyntheticSections into per-target initTargetSpecificSections
overrides. This reduces target-specific code in the shared
SyntheticSections.cpp. The subsequent commits (split from
https://github.com/llvm/llvm-project/pull/184057) will move these
target-specific classes to Arch/ files.
Commit: 5f8f1e2afe991cd214bff9b3cb68612f594e8596
https://github.com/llvm/llvm-project/commit/5f8f1e2afe991cd214bff9b3cb68612f594e8596
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/test/CIR/Transforms/flatten-try-op.cir
Log Message:
-----------
[CIR] Fix unreachable block generation in EH flattening (#184268)
The previous EH CFG flattening implementation would sometimes create
dispatch handlers in unreachable blocks. This seemed OK until I started
implementing the code to lower the flattened CIR to an ABI-specific form
and those weren't getting updated.
This change fixes the flattening code to avoid generating unreachable
blocks.
Commit: a232b5b96f67b395f52d44cf0e02c52ec658ff40
https://github.com/llvm/llvm-project/commit/a232b5b96f67b395f52d44cf0e02c52ec658ff40
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/MPI/IR/MPIOps.td
M mlir/include/mlir/Dialect/Shard/IR/ShardOps.td
M mlir/include/mlir/Dialect/Shard/Transforms/Partition.h
M mlir/include/mlir/Dialect/Shard/Transforms/Passes.td
R mlir/include/mlir/Dialect/Shard/Transforms/Simplifications.h
A mlir/include/mlir/Dialect/Shard/Transforms/Simplify.h
M mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
M mlir/lib/Conversion/ShardToMPI/ShardToMPI.cpp
M mlir/lib/Dialect/MPI/IR/MPIOps.cpp
M mlir/lib/Dialect/Shard/IR/ShardOps.cpp
M mlir/lib/Dialect/Shard/Transforms/CMakeLists.txt
R mlir/lib/Dialect/Shard/Transforms/Simplifications.cpp
A mlir/lib/Dialect/Shard/Transforms/Simplify.cpp
M mlir/test/Conversion/MPIToLLVM/mpitollvm.mlir
M mlir/test/Conversion/ShardToMPI/convert-shard-to-mpi.mlir
M mlir/test/Dialect/MPI/mpiops.mlir
M mlir/test/Dialect/Shard/all-scatter-op-lowering.mlir
M mlir/test/Dialect/Shard/canonicalization.mlir
M mlir/test/Dialect/Shard/folding.mlir
M mlir/test/Dialect/Shard/invalid.mlir
M mlir/test/Dialect/Shard/ops.mlir
R mlir/test/Dialect/Shard/simplifications.mlir
A mlir/test/Dialect/Shard/simplify.mlir
M mlir/test/lib/Dialect/Shard/CMakeLists.txt
M mlir/test/lib/Dialect/Shard/TestReshardingPartition.cpp
R mlir/test/lib/Dialect/Shard/TestSimplifications.cpp
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[mlir][shard, mpi] Adding Shard/MPI reduce_scatter and simplification (#184189)
- introduces a simplify pass, which finds such patterns and replaces it
with the equivalent `reduce-scatter`
- promotes the test-pass `test-shard-optimizations` to a proper pass and adds
- folding allgather+allslice into reduce_scatter
- sanitizes the `shard.reduce_scatter` op
- adds a new `mpi.reduce_scatter_block` op
- lowers `shard.reduce_scatter` to MPI
- lowers `mpi-reduce_scatter_block` to llvm
---------
Co-authored-by: Copilot <175728472+Copilot at users.noreply.github.com>
Commit: 829da4927bf19c398c3685a8a75d4ccf57269877
https://github.com/llvm/llvm-project/commit/829da4927bf19c398c3685a8a75d4ccf57269877
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
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] Add lowering for vaba_* and vabd_* builtins (#183595)
Add CIR lowering for the following AdvSIMD (NEON) intrinsic groups:
* vabd_* – Absolute difference
https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#absolute-difference
* vaba_* – Absolute difference and accumulate
https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#absolute-difference-and-accumulate
Tests for these intrinsics were split out from:
* "test/CodeGen/AArch64/neon-intrinsics.c"
and moved to:
* "test/CodeGen/AArch64/neon/intrinsics.c".
The following helper hooks were adapted from the ClangIR project:
* `getNeonType`, `emitNeonCall`, `emitNeonCallToOp`.
Credit to the ClangIR contributors for the original implementation.
Commit: bb2b957c53b0d000d49f83e5cb95bcd8172bf860
https://github.com/llvm/llvm-project/commit/bb2b957c53b0d000d49f83e5cb95bcd8172bf860
Author: walkerkd <keith.walker at arm.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMInstrThumb2.td
A llvm/test/CodeGen/Thumb2/pacbti-m-bxaut.ll
Log Message:
-----------
[Thumb2] Use BXAUT instruction if available (#183056)
Generated a
bxaut r12, lr, sp
instruction rather than
aut r12, lr, sp
bx lr
The bxaut instruction is available when for thumb2 code with the
armv8.1m-main architecture and PACBTI is enabled
This change introduces a new pseudo instruction ARM::t2BXAUT_RET which
is similar to the existing pseudo instruction ARM::tBX_RET.
---------
Co-authored-by: Copilot <175728472+Copilot at users.noreply.github.com>
Commit: b44dba97d059b928f93eeccd7eac3f1e108a4082
https://github.com/llvm/llvm-project/commit/b44dba97d059b928f93eeccd7eac3f1e108a4082
Author: lanluo-nvidia <lanl at nvidia.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M mlir/CMakeLists.txt
Log Message:
-----------
[mlir] Install '.pdll' files along with the header files (#183855)
The CMake install configuration was not installing
'include/mlir/Transforms/DialectConversion.pdll`, which is required
by the installed PDLL compiler tools for interacting withthe dialect
conversion infrastructure.
Commit: 779d76c9effd22454a3af48c0a6e922af371eb66
https://github.com/llvm/llvm-project/commit/779d76c9effd22454a3af48c0a6e922af371eb66
Author: David Green <david.green at arm.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.h
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
A llvm/lib/Target/AArch64/AArch64PassRegistry.def
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/test/CodeGen/AArch64/stp-opt-with-renaming-ld3.mir
Log Message:
-----------
[AArch64] Add basic NPM support for LoadStoreOptimizer. (#184090)
This adds what I can tell is the the basics for NPM support on LLVM, and
ports the AArch64LoadStoreOpt pass to have NPM support.
Commit: b33c7db8eb630384d40acbd753f5bfbc80d0d2f0
https://github.com/llvm/llvm-project/commit/b33c7db8eb630384d40acbd753f5bfbc80d0d2f0
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang-tools-extra/clang-doc/CMakeLists.txt
A clang-tools-extra/clang-doc/benchmarks/CMakeLists.txt
A clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp
Log Message:
-----------
[clang-doc] Add basic benchmarks for library functionality (#182620)
clang-doc's performance is good, but we suspect it could be better. To
track this with more fidelity, we can add a set of GoogleBenchmarks that
exercise portions of the library. To start we try to track high level
items that we monitor via the TimeTrace functions, and give them their
own micro benchmarks. This should give us more confidence that switching
out data structures or updating algorthms will have a positive
performance impact.
Note that an LLM helped generate portions of the benchmarks and
parameterize them. Most of the internal logic was written by me, but
the LLM was used to handle boilerplate and adaptation to the harness.
Commit: 640ba7b05e753d527d238eb6592dca20dbcd4686
https://github.com/llvm/llvm-project/commit/640ba7b05e753d527d238eb6592dca20dbcd4686
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M .github/workflows/containers/github-action-ci-tooling/Dockerfile
Log Message:
-----------
[Github] Bump clang-format/clang-tidy to v22.1.0 (#184374)
Per the version policy for these tools to bump them at the beginning of
the release cycle and at the end of the release cycle.
Commit: 9081ac255a8b82c78c3a8c5a3db4f72ecca21cba
https://github.com/llvm/llvm-project/commit/9081ac255a8b82c78c3a8c5a3db4f72ecca21cba
Author: Finn Plummer <mail at inbelic.dev>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
A llvm/test/CodeGen/DirectX/ResourceAccess/handle-cases.ll
A llvm/test/CodeGen/DirectX/ResourceAccess/handle-to-index.ll
A llvm/test/CodeGen/DirectX/ResourceAccess/non-unique.ll
Log Message:
-----------
[DirectX][ResourceAccess] Resolve resource handles at access (#182106)
This change resolves handles (or corresponding ptr) that all point into
a unique global resource by propagating an index into that global
resource through control flow.
If a unique global resource can't be resolved, an error is reported
instead.
This specifically resolves all handles that point into the same global
resource array.
Resolves: https://github.com/llvm/llvm-project/issues/165288
By reporting an error, this is part of resolving
https://github.com/llvm/llvm-project/issues/179303.
Commit: b6f389e005d7cf4bc0df0c594cd65d625a96ad01
https://github.com/llvm/llvm-project/commit/b6f389e005d7cf4bc0df0c594cd65d625a96ad01
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang-tools-extra/clang-doc/Generators.cpp
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
M clang-tools-extra/unittests/clang-doc/GeneratorTest.cpp
Log Message:
-----------
[clang-doc] Improve complexity of Index construction (#182621)
The existing implementation ends up with an O(N^2) algorithm due to
repeated linear scans during index construction. Switching to a
StringMap allows us to reduce this to O(N), since we no longer need to
search the vector.
The `BM_Index_Insertion` benchmark measures the time taken to insert N
unique records into the index.
| Scale (N Items) | Baseline (ns) | Patched (ns) | Speedup | Change |
|----------------:|--------------:|-------------:|--------:|-------:|
| 10 | 9,977 | 11,004 | 0.91x | +10.3% |
| 64 | 69,249 | 69,166 | 1.00x | -0.1% |
| 512 | 1,932,714 | 525,877 | 3.68x | -72.8% |
| 4,096 | 92,411,535 | 4,589,030 | 20.1x | -95.0% |
| 10,000 | 577,384,945 | 12,998,039 | 44.4x | -97.7% |
The patch delivers significant improvements to scalability. At 10,000
items, index construction is **~44 times faster**, confirming the
complexity reduction from O(N^2) to O(N). The crossover point where the
new map-based approach beats the vector-based approach appears to be
around N=64.
Since the index is typically larger than 64 for files of non trivial
complexity, and users will typically be building documentation for an
entire project with many files, all normal usage should benefit from
this change.
Other benchmarks show minor regressions, though in a typical build of
LLVM documentation index construction takes up a larger amount of
runtime than any of these other components.
Commit: f95662d159dcf40d4cabce028b5913d8a7330ff6
https://github.com/llvm/llvm-project/commit/f95662d159dcf40d4cabce028b5913d8a7330ff6
Author: Jason Van Beusekom <jason.van-beusekom at hpe.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/include/clang/AST/ASTMutationListener.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/Frontend/MultiplexConsumer.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Serialization/ASTCommon.h
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
R clang/test/OpenMP/target_vtable_omp_indirect_call_lookup.cpp
M offload/test/api/omp_indirect_call_table_manual.c
R offload/test/api/omp_indirect_func_array.c
R offload/test/api/omp_indirect_func_basic.c
R offload/test/api/omp_indirect_func_struct.c
R offload/test/api/omp_virtual_func.cpp
R offload/test/api/omp_virtual_func_multiple_inheritance_01.cpp
R offload/test/api/omp_virtual_func_multiple_inheritance_02.cpp
R offload/test/api/omp_virtual_func_reference.cpp
Log Message:
-----------
Revert "[OpenMP][clang] Indirect and Virtual function call mapping from host to device" (#184378)
Reverts llvm/llvm-project#159857
Commit: a8a2f2fe997692ec67e3874c7c23e6d4dc0324ff
https://github.com/llvm/llvm-project/commit/a8a2f2fe997692ec67e3874c7c23e6d4dc0324ff
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/Transforms/Passes.td
M mlir/include/mlir/Dialect/XeGPU/Transforms/Transforms.h
M mlir/lib/Dialect/XeGPU/Transforms/CMakeLists.txt
R mlir/lib/Dialect/XeGPU/Transforms/XeGPUFoldAliasOps.cpp
R mlir/test/Dialect/XeGPU/xegpu-fold-alias-ops.mlir
Log Message:
-----------
[MLIR][XeGPU] Remove fold alias pass in xegpu (#182802)
Commit: 616656bc5e1ae78625f751d55817e7408526f1dd
https://github.com/llvm/llvm-project/commit/616656bc5e1ae78625f751d55817e7408526f1dd
Author: Fangrui Song <i at maskray.me>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M lld/ELF/Arch/Mips.cpp
M lld/ELF/Config.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
Log Message:
-----------
[ELF] Move MIPS synthetic sections into Arch/Mips.cpp (#184384)
Move MipsAbiFlagsSection, MipsOptionsSection, MipsReginfoSection, and
MipsRldMapSection from SyntheticSections.h/cpp into Arch/Mips.cpp.
The MIPS-specific section creation in createSyntheticSections is
replaced
by the initTargetSpecificSections hook.
Commit: 200600a06c20501a8380ab6c60d2158956e6214c
https://github.com/llvm/llvm-project/commit/200600a06c20501a8380ab6c60d2158956e6214c
Author: Fangrui Song <i at maskray.me>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M lld/ELF/Arch/PPC.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
Log Message:
-----------
[ELF] Move PPC32Got2Section into Arch/PPC.cpp (#184383)
Move PPC32Got2Section from SyntheticSections.h/cpp into the anonymous
namespace in Arch/PPC.cpp, renaming it to Got2Section.
Extracted from #184292. Moved initTargetSpecificSections after ctor and
before other hooks to match the linker's pass order.
Commit: 7b7c8b2eb3f1b7f12ea42a9d3ece4cb17bbf969b
https://github.com/llvm/llvm-project/commit/7b7c8b2eb3f1b7f12ea42a9d3ece4cb17bbf969b
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M libc/test/include/CMakeLists.txt
M libc/test/integration/CMakeLists.txt
M libc/utils/libctest/format.py
Log Message:
-----------
[libc] Extend check-libc-lit to cover include, integration, and all src tests (#184366)
The lit-based test runner introduced in c776a52f only discovered
libc.test.src tests with a strict __unit__.__build__ or
__hermetic__.__build__ suffix. This missed four categories of tests:
1. libc.test.include.* tests (e.g. isnan_test, signbit_test)
2. libc.test.integration.* tests (e.g. pthread, unistd, startup)
3. libc.test.src.* tests that have no __unit__/__hermetic__ marker (e.g.
errno_test, dirent_test, htonl)
4. libc.test.src.* tests with extra option suffixes between the type
marker and .__build__ (e.g. __unit__.__NO_FMA_OPT.__build__)
Wire up the two missing build dependencies so that check-libc-lit builds
include and integration tests before running them, and update
_isTestExecutable() to recognise all four patterns.
The pattern documentation was consolidated into the _isTestExecutable()
docstring, where it is next to the code it describes, to avoid the two
diverging in future.
Tested:
Compared the test count from a full `ninja check-libc` run (2765 tests)
against `llvm-lit --show-tests libc/test` after this change and
confirmed the counts match exactly.
Commit: bf680bdf13499860a552f991bb9d11b2b52b8ea8
https://github.com/llvm/llvm-project/commit/bf680bdf13499860a552f991bb9d11b2b52b8ea8
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/RedundantTypenameCheck.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-typename.cpp
Log Message:
-----------
[clang-tidy] Fix yet another false positive in `readability-redundant-typename` (#184301)
Fixes #184083.
Commit: 7a310b4c5a069141110fda5f9beb4905482ce621
https://github.com/llvm/llvm-project/commit/7a310b4c5a069141110fda5f9beb4905482ce621
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
M mlir/test/Interfaces/TilingInterface/lower-to-loops-using-interface.mlir
Log Message:
-----------
[mlir][linalg] Upstream PackOp/UnPackOp's generateScalarImplementation. (#182838)
The revision upstreams the implementation from IREE. The ops were
upstreamed some time ago, and they are the remaining implementation. The
core implementation is mirrored from IREE and some cleanups and style
nits are fixed.
The mirror is not a pure copy-paste because the op accessors are
different:
| IREE | llvm-project |
|------|--------------|
| `getInputRank()` | `packOp.getSourceRank()` |
| `getOutputRank()` | `packOp.getDestRank()` |
| `getInput()` | `packOp.getSource()` |
| `getOutput()` | `packOp.getDest()` |
And it uses `linalg::createOrFoldDimOp` and `createFoldedDimOp` from
upstream to create DimOp ops.
Closes https://github.com/llvm/llvm-project/pull/128816
Closes https://github.com/llvm/llvm-project/pull/178222
Co-authored-by: lorenzo chelini <l.chelini at icloud.com>
---------
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Commit: c1bba5ba023aaa1ac76f2eac76961a8b12e4e1b0
https://github.com/llvm/llvm-project/commit/c1bba5ba023aaa1ac76f2eac76961a8b12e4e1b0
Author: calebwat <107081575+calebwat at users.noreply.github.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanCFG.h
Log Message:
-----------
[VPlan][NFC] Remove unnecessary explicit copy constructors (#183863)
VPHierarchicalChildrenIterator has explicitly defined copy and copy
assignment constructors which perform the same operation as the implicit
versions would. As a result, it does not follow the rule of three style,
but also does not need a destructor. This patch avoids that by simply
removing the explicit definitions, since their functionality is the same
as the implicit ones.
Commit: b926acfb341b75fa041b84523b5286644ea0482a
https://github.com/llvm/llvm-project/commit/b926acfb341b75fa041b84523b5286644ea0482a
Author: Kelvin Li <kli at ca.ibm.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
Log Message:
-----------
[flang] remove unused variable (NFC) (#184293)
Commit: 56b5af76cf3c0d369b734c3f51011aec1c918bef
https://github.com/llvm/llvm-project/commit/56b5af76cf3c0d369b734c3f51011aec1c918bef
Author: Emmanuel Antonio <38330347+EmmanuelAC1 at users.noreply.github.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir] Fix Bazel build for a232b5b (#184394)
Co-authored-by: Pranav Kant <prka at google.com>
Commit: 7161bd94fded2d85e4af5057c4a8b9fbc4d28683
https://github.com/llvm/llvm-project/commit/7161bd94fded2d85e4af5057c4a8b9fbc4d28683
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M mlir/lib/Conversion/MPIToLLVM/CMakeLists.txt
Log Message:
-----------
[mlir][mpi] fixing 184189 build failures (#184399)
Commit: 6b040b0dee9cb8b38e56dbcb7e51182a62703e05
https://github.com/llvm/llvm-project/commit/6b040b0dee9cb8b38e56dbcb7e51182a62703e05
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/hip-save-temps.hip
M clang/test/Driver/hip-spirv-backend-bindings.c
M clang/test/Driver/hip-spirv-backend-phases.c
Log Message:
-----------
[HIP] Fix -save-temps with the new offload driver (#184385)
Summary:
The new offloading driver passes LLVM-IR to the linker phase. This
caused a problem with `-save-temps` passing unoptimized bitcode. We were
supposed to have dedicated handling for this, but it was not firing in
the HIP case like it is supposed to. OpenMP already supports this so
simply identify the cases that skip this support and fix it.
Commit: d0dd371249795ef17fac95dd77444baef1fdf578
https://github.com/llvm/llvm-project/commit/d0dd371249795ef17fac95dd77444baef1fdf578
Author: Alexandra Sidorova <asidorov at amd.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
A mlir/test/Dialect/Vector/canonicalize/vector-to-elements.mlir
Log Message:
-----------
[MLIR][Canonicalization] Add shape_cast folding patterns (#183061)
### Summary
This PR adds two shape_cast-related canonicalization patterns for
`vector.to_elements` and `vector.from_elements`.
### Details
- Added` ToElements(ShapeCast(X)) -> ToElements(X)` as an in-place fold
in `ToElementsOp::fold`.
- Added `ShapeCast(FromElements(X)) -> FromElements(X)` as an
`OpRewritePattern` — it must be a pattern (not a `fold`) because we have
to create new op `FromElementsOp` with updated result type. This cannot
be done with a `fold`, because `fold` cannot create new ops and the
existing `FromElementsOp` result type differs from the `ShapeCastOp`
result type. Mutating the `FromElementsOp` (not root op) would violate
the `fold` contract and break other users.
- Added lit tests for the both ops (new `vector-to-elements.mlir`,
`vector-from-elements.mlir`)
---------
Signed-off-by: Alexandra Sidorova <asidorov at amd.com>
Commit: ea79bcfcc579f940e05ae81d898ef19594dea402
https://github.com/llvm/llvm-project/commit/ea79bcfcc579f940e05ae81d898ef19594dea402
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/composite_simd_linear.f90
M flang/test/Lower/OpenMP/distribute-parallel-do-simd.f90
M flang/test/Lower/OpenMP/distribute-simd.f90
M flang/test/Lower/OpenMP/loop-pointer-variable.f90
M flang/test/Lower/OpenMP/ordered-simd.f90
M flang/test/Lower/OpenMP/wsloop-simd.f90
Log Message:
-----------
[flang][OpenMP] Fix lowering of LINEAR iteration variables (#183794)
Linear iteration variables were being treated as private. This fixes
one of the issues reported in #170784.
Commit: a34d56dee94ba3ce31f3b03bc8bb9f38012a7c89
https://github.com/llvm/llvm-project/commit/a34d56dee94ba3ce31f3b03bc8bb9f38012a7c89
Author: Fangrui Song <i at maskray.me>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
A llvm/test/CodeGen/AArch64/dso_local_equivalent.ll
M llvm/test/MC/ELF/rtti-proxy-gotpcrel.ll
Log Message:
-----------
[AArch64] Fix relative vtable PLT/GOTPCREL specifiers to use MCSpecifierExpr (#184393)
PR #155776 changed S_PLT/S_GOTPCREL printing to
%pltpcrel(x)/%gotpcrel(x)
syntax via MCSpecifierExpr, but lowerSymbolDifference and
getIndirectSymViaGOTPCRel still created MCSymbolRefExpr with these
specifiers, which prints via the @-specifier table as @PLT/@GOTPCREL,
leading to incorrect relocation types.
Fixes: bed89970c3df5e755820708580e405f65ddaa1ba
(AArch64: Replace @plt/%gotpcrel in data directives with %pltpcrel
%gotpcrel (#155776))
Add llvm/test/CodeGen/AArch64/dso_local_equivalent.ll
Commit: 90febba9c4ec8cb7fed9b8b0dafab2458583c0ca
https://github.com/llvm/llvm-project/commit/90febba9c4ec8cb7fed9b8b0dafab2458583c0ca
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-xop.ll
Log Message:
-----------
[X86] vector-shuffle-combining-xop.ll - tests showing failure to combine shuffles with non-uniform rotates (#184397)
We only handle this for VROTLI/VROTRI nodes
Noticed while working on #184002
Commit: 637bb0e37747001eaac08bca4312177f57735f5e
https://github.com/llvm/llvm-project/commit/637bb0e37747001eaac08bca4312177f57735f5e
Author: hanbeom <kese111 at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
M llvm/test/CodeGen/WebAssembly/load-ext.ll
Log Message:
-----------
[WebAssembly][FastISel] Call materializeLoadStoreOperands in load fold (#184203)
The `tryToFoldLoadIntoMI` function omitted materializing base registers
for addresses before folding sign-extend instructions into loads. This
left `$noreg` as the base register, crashing subsequent passes.
WebAssembly memory instructions structurally require a valid base
register. Calling the existing `materializeLoadStoreOperands` function
ensures that a `CONST 0` virtual register is generated when addressing
global variables directly without a pre-existing base register.
(before) %1:i32 = LOAD8_S_I32_A32 0, @ch, $noreg ... -> CRASH (after)
%3:i32 = CONST_I32 0
%1:i32 = LOAD8_S_I32_A32 0, @ch, %3:i32 ... -> Folded safely
Commit: f42b8a18d9043f36f173184d1bf1c28dc6a5be2f
https://github.com/llvm/llvm-project/commit/f42b8a18d9043f36f173184d1bf1c28dc6a5be2f
Author: PiJoules <leonardchan at google.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
Log Message:
-----------
[sanitizer][Fuchsia] Define interceptor for reallocarray on Fuchsia (#184410)
Commit: 80acaccbe644ea6c87ca54d4426b4dbdb53e5671
https://github.com/llvm/llvm-project/commit/80acaccbe644ea6c87ca54d4426b4dbdb53e5671
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
Log Message:
-----------
[RISCV] Promote i8/i16/i32 scalable vector CLMUL to i64 CLMUL with Zvbc. (#184265)
This handles the simple case where we can widen to i64 vector
without splitting. More work will be done in follow ups.
Commit: e379ad78203b32bb444c1ceab2869767a0de728c
https://github.com/llvm/llvm-project/commit/e379ad78203b32bb444c1ceab2869767a0de728c
Author: Zhijie Wang <yesterda9 at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.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-invalidations.cpp
Log Message:
-----------
[LifetimeSafety] Use per-container invalidation rules to fix false positives (#183000)
- Refactor `isContainerInvalidationMethod()` to per-container
invalidation sets, based on
https://en.cppreference.com/w/cpp/container#Iterator_invalidation.
- Follow reference invalidation rules instead of iterator invalidation
rules. Specifically:
- Methods that only invalidate iterators but not references are excluded
(e.g. `deque::push_back`, `unordered_map::emplace`).
- Methods that only invalidate references to the removed element itself
are excluded (e.g. `vector::pop_back`, `deque::pop_*`, and
`erase`/`extract` on all node-based containers).
- Fix false positives for `insert`/`emplace` etc on ordered associative
containers (`set`, `map`, `multiset`, `multimap`), which never
invalidate iterators per the standard.
- Add previously missing methods: `emplace_hint`, `insert_or_assign`,
`push_range`, `replace_with_range`, `resize_and_overwrite`, `merge`.
- `operator[]` now only invalidates for `flat_map`. `map::operator[]`
and `unordered_map::operator[]` may insert but don't invalidate
references.
Fixes #181912
Commit: c5039c18482765b1499d94231c8b4c5e1a4be485
https://github.com/llvm/llvm-project/commit/c5039c18482765b1499d94231c8b4c5e1a4be485
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[NFC] Refactor the SelectionDAG::getMemcmp etc with a existing helper function getRuntimeCallSDValueHelper (#184200)
Refactor the SelectionDAG::getMemcmp,
SelectionDAG::getStrcpy,SelectionDAG::getStrlen with a existing helper
function SelectionDAG::getRuntimeCallSDValueHelper.
Commit: 6893d277575df9779184cb1b2a1efea31dc0a65c
https://github.com/llvm/llvm-project/commit/6893d277575df9779184cb1b2a1efea31dc0a65c
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M flang/lib/Semantics/canonicalize-acc.cpp
M flang/test/Semantics/OpenACC/acc-canonicalization-validity.f90
Log Message:
-----------
[flang][acc] Improve clause validity check around do concurrent (#184389)
The current validity message prints out both "TILE" and "COLLAPSE" even
if just one of them is used. This makes it confusing if the user only
used one of them. This improves the messages to be precise which clause
is not allowed (and separate messages are issued when both clauses are
used).
Commit: 03bd4ef4ecf9b6e5003a78af34438e978d064cb4
https://github.com/llvm/llvm-project/commit/03bd4ef4ecf9b6e5003a78af34438e978d064cb4
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
M clang/lib/CIR/CodeGen/CIRGenVTables.h
A clang/test/CIR/CodeGenCXX/vtable-pure-deleted-funcs.cpp
Log Message:
-----------
[CIR] Handle vtable pure and deleted virtual functions (#183862)
Finding reproducers for these that don't use the deferred vtable (which
we haven't yet implemented) was a bit of a challenge, but I found
this setup to get these to be emitted. Fortunately it is a quite easy
implementation that doesn't do awfully much.
This patch implements both, plus the name through the itanium ABI.
Commit: 2d4c8e0d0fa2279a3d76365c29c63ec03433351c
https://github.com/llvm/llvm-project/commit/2d4c8e0d0fa2279a3d76365c29c63ec03433351c
Author: Jason Van Beusekom <jason.van-beusekom at hpe.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/include/clang/AST/ASTMutationListener.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/Frontend/MultiplexConsumer.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Serialization/ASTCommon.h
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
A clang/test/OpenMP/target_vtable_omp_indirect_call_lookup.cpp
M offload/test/api/omp_indirect_call_table_manual.c
A offload/test/api/omp_indirect_func_array.c
A offload/test/api/omp_indirect_func_basic.c
A offload/test/api/omp_indirect_func_struct.c
A offload/test/api/omp_virtual_func.cpp
A offload/test/api/omp_virtual_func_multiple_inheritance_01.cpp
A offload/test/api/omp_virtual_func_multiple_inheritance_02.cpp
A offload/test/api/omp_virtual_func_reference.cpp
Log Message:
-----------
[OpenMP][clang] Indirect and Virtual function call mapping from host to device (#184412)
This patch implements the CodeGen logic for calling __llvm_omp_indirect_call_lookup
on the device when an indirect function call or a virtual function call is made
within an OpenMP target region.
---------
Co-authored-by: Youngsuk Kim
Commit: a5ca0ec16bdd8143bd3d0dd04845a2297b035e5a
https://github.com/llvm/llvm-project/commit/a5ca0ec16bdd8143bd3d0dd04845a2297b035e5a
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M libcxx/utils/libcxx/test/dsl.py
Log Message:
-----------
[libc++] Update documentation for _executeWithFakeConfig (#184420)
Commit: c7c16573b8f3c1842791fadcd916d2eb96347c58
https://github.com/llvm/llvm-project/commit/c7c16573b8f3c1842791fadcd916d2eb96347c58
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/test/CIR/CodeGen/atomic-thread-fence.c
Log Message:
-----------
[CIR] Synchronize CIR with recent changes to atomic ops (#184416)
This synchronizes the CIR atomic expression handling with changes that
were made in https://github.com/llvm/llvm-project/pull/183853
Commit: b5baf5e062b24d0f240aae09fd771aacca891f2d
https://github.com/llvm/llvm-project/commit/b5baf5e062b24d0f240aae09fd771aacca891f2d
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
A clang/test/CIR/CodeGen/gnu-ptr-math.c
Log Message:
-----------
[CIR] Implement func-ptr/void-ptr addition/subtraction/inc/dec. (#184254)
As a GNU extension, clang supports math on void* and function pointers
in C mode only. From a CIR perspective, it makes sense to leave these
types in the IR, since it might be useful to do analysis.
During lowering, we already properly lower these to a size-1 element, so
there is no changes that need to happen besides letting this get through
CIR generation. This patch does that, plus adds some tests.
Commit: 899080a87ad96d5f590ad8bb469b9a33e6de6795
https://github.com/llvm/llvm-project/commit/899080a87ad96d5f590ad8bb469b9a33e6de6795
Author: Finn Plummer <mail at inbelic.dev>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/docs/DirectX/DXILResources.rst
M llvm/lib/Analysis/DXILResource.cpp
A llvm/test/Analysis/DXILResource/buffer-frombinding-unbounded.ll
Log Message:
-----------
[Analysis][DXILResource] Correct bound computation (#184198)
The range is an unsigned integer where a value of `UINT32_MAX` denotes
an unbounded range
The current implementation implied that any size interpreted as a signed
integer that is negative was unbounded, which is incorrect.
Adds a note to the docs
Commit: 17aaa0e590a7e7a741946f166b1ff73023cf8576
https://github.com/llvm/llvm-project/commit/17aaa0e590a7e7a741946f166b1ff73023cf8576
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Use bitfield to store Cmp predicates and GEP wrap flags. (NFC) (#181571)
Instead of storing CmpInst::Predicate/GepNoWrapFlags, only store their
raw bitfield values. This reduces the size of VPIRFlags from 12 to 3
bytes.
PR: https://github.com/llvm/llvm-project/pull/181571
Commit: 8272546f6910e78f255830d9592c6926d93be04c
https://github.com/llvm/llvm-project/commit/8272546f6910e78f255830d9592c6926d93be04c
Author: Kaitlin Peng <kaitlinpeng at microsoft.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp
Log Message:
-----------
[HLSL][SPIRV] Fix `faceforward` pattern matcher logic (#183630)
Fixes a logic issue in the `faceforward` pattern matcher in
`SPIRVCombinerHelper.cpp`.
Previously when `mi_match` failed, we would still go through the nested
`Pred == CmpInst::FCMP_OGT || Pred == CmpInst::FCMP_UGT` check. It was
possible that whatever garbage was in Pred could randomly pass this
check and make us continue through the code. This change fixes that
logic issue by returning false as soon as `mi_match` fails.
Likely fixes #177803. Can't confirm since it seems another change has
obscured the crash.
Commit: b4dfa43cb8aea45487033d1f21c49672ac33e02a
https://github.com/llvm/llvm-project/commit/b4dfa43cb8aea45487033d1f21c49672ac33e02a
Author: lihengda861-source <lihengda861 at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] Fix type inference ambiguity in SwapSysReg pattern (#184305)
Issue:
Building RISCVInstrInfo.td fails with the following TableGen error
during the generation of RISCVGenInstrInfo.inc:
` error: In test: Could not infer all types in pattern!`
Root Cause:
The riscv_swap_csr node has a polymorphic result type (i32 or i64
depending on the target architecture). When used inside the SwapSysReg
class pattern, TableGen's type inference engine cannot automatically
deduce the exact return type solely from the GPR:$rd output, leading to
the ambiguity error.
Fix:
This patch resolves the type ambiguity by explicitly wrapping the
riscv_swap_csr node with XLenVT, allowing TableGen to infer the types
correctly.
Commit: 5586d93a87eff7d6f01564c2ea0dfb82378a7fb2
https://github.com/llvm/llvm-project/commit/5586d93a87eff7d6f01564c2ea0dfb82378a7fb2
Author: Florian Mayer <fmayer at google.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope.ll
Log Message:
-----------
[NFC] [HWASan] more meaningful BB names in use-after-scope test (#183867)
Commit: 375d65ee8de7dd65e19faab567db2799a52dfe52
https://github.com/llvm/llvm-project/commit/375d65ee8de7dd65e19faab567db2799a52dfe52
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/Passes.h
M clang/include/clang/CIR/Dialect/Passes.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
A clang/lib/CIR/Dialect/Transforms/EHABILowering.cpp
M clang/lib/CIR/Lowering/CIRPasses.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/try-catch-tmp.cpp
M clang/test/CIR/CodeGen/try-catch.cpp
A clang/test/CIR/Transforms/eh-abi-lowering-itanium.cir
M clang/tools/cir-opt/cir-opt.cpp
Log Message:
-----------
[CIR] Implement EH lowering to Itanium form and LLVM IR (#184386)
This introduces a new pass to lower from a flattened, target-independent
form of CIR to a form that uses Itanium-specific representation for
exception handling. It also includes a small amount of code needed to
lower the Itanium form to LLVM IR.
Substantial amounts of this PR were created using agentic AI tools, but
I have carefully reviewed the code, comments, and tests and made changes
as needed.
Commit: 9d0c62c3ddb14f0cc2ed47a6088083257fa68f10
https://github.com/llvm/llvm-project/commit/9d0c62c3ddb14f0cc2ed47a6088083257fa68f10
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/test/CodeGen/X86/known-never-zero.ll
Log Message:
-----------
[X86] known-never-zero.ll - improve demandedelts test coverage for #183227 (#184411)
The original tests from #184350 were recognising every element as
non-zero
Commit: 80a1cf4f80583b688b4a04c83baada31a40b851d
https://github.com/llvm/llvm-project/commit/80a1cf4f80583b688b4a04c83baada31a40b851d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/amdhsa_abi.h
A clang/test/Headers/amdhsa_abi.cl
Log Message:
-----------
clang: Add builtin header for amdhsa abi (#181993)
Commit: 4b06e83885593112ab346c4753cc080ec3ef0ea3
https://github.com/llvm/llvm-project/commit/4b06e83885593112ab346c4753cc080ec3ef0ea3
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github][CI] Bump CI containers to LLVM v22.1.0 (#184375)
Commit: df1a53ae242418f5ac22adb5bb2178d3f931565f
https://github.com/llvm/llvm-project/commit/df1a53ae242418f5ac22adb5bb2178d3f931565f
Author: Sean Fertile <sd.fertile at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M compiler-rt/test/lsan/TestCases/create_thread_leak.cpp
Log Message:
-----------
Disable leak sanitizer test on ppc. (#184414)
Test is flaky and fails due to machine load on the build bots. Disable
until we can split the build bots over more machines.
Commit: dc44bcafe08e6644a3f7b98144394d6f3ef5c3c2
https://github.com/llvm/llvm-project/commit/dc44bcafe08e6644a3f7b98144394d6f3ef5c3c2
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M flang-rt/CMakeLists.txt
Log Message:
-----------
[flang-rt] Fix NVPTX builds erroneously using backtrace support (#184415)
Summary:
This is caused by the CMake hacks I had to do to worm around NVIDIA's
proprietary binaries.
Commit: dc1e3e5dbf7805ff060c84135a63fc7239c52814
https://github.com/llvm/llvm-project/commit/dc1e3e5dbf7805ff060c84135a63fc7239c52814
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-combining-xop.ll
Log Message:
-----------
[X86] getFauxShuffleMask - add ISD::ROTL/ROTR handling (#184417)
Very similar to the existing X86ISD::VROTLI/VROTRI handling
Prep work for #184002
Commit: fdc4a982f5d6a41fdb0b00bf49b72446a1f0c5ea
https://github.com/llvm/llvm-project/commit/fdc4a982f5d6a41fdb0b00bf49b72446a1f0c5ea
Author: Yoonseo Choi <yoonchoi at amd.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/test/CodeGen/AMDGPU/implicit-arg-block-count.ll
M llvm/test/CodeGen/AMDGPU/implicit-arg-v5-opt.ll
A llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.implicitarg.ptr.ll
Log Message:
-----------
[AMDGPU] Add dereferenceable retAttr to a call to llvm.amdgcn.implicitarg.ptr (#182206)
Commit: fe76fd292cc3815f2cc3877eb1641db0cb40e3fb
https://github.com/llvm/llvm-project/commit/fe76fd292cc3815f2cc3877eb1641db0cb40e3fb
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU][SIInsertWaitcnts][NFC] Call applyWaitcnt() in a loop (#184426)
Commit: 6b5c55ef169cfb19e0159241a5932e593a8e1e3c
https://github.com/llvm/llvm-project/commit/6b5c55ef169cfb19e0159241a5932e593a8e1e3c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M lldb/source/Core/Debugger.cpp
Log Message:
-----------
[lldb] Fix 10 year old leak of `g_debugger_list_ptr` (#184259)
Roughly 10 years ago, in aacb80853a46bd544fa76a945667302be1de706c, Greg
deleted the call to delete g_debugger_list_ptr because of a race
condition:
> Fixed a threading race condition where we could crash after calling
Debugger::Terminate().
>
> The issue was we have two global variables: one that contains a
DebuggerList pointer and one that contains a std::mutex > pointer. These
get initialized in Debugger::Initialize(), and everywhere that uses
these does:
>
> if (g_debugger_list_ptr && g_debugger_list_mutex_ptr)
> {
> std::lock_guard<std::recursive_mutex>
guard(*g_debugger_list_mutex_ptr);
> // do work while mutex is locked
> }
>
> Debugger::Terminate() was deleting and nulling out g_debugger_list_ptr
which meant we had a race condition where someone might do the if
statement and it evaluates to true, then another thread calls
Debugger::Terminate() and deletes and nulls out g_debugger_list_ptr
while holding the mutex, and another thread then locks the mutex and
tries to use g_debugger_list_ptr. The fix is to just not delete and null
out the g_debugger_list_ptr variable.
However, this isn't necessary as long as we persist ("leak") the mutex
and always check it first. That's exactly what this patch does. Without
it, the assert in Debugger::Initialize is incorrect.
```
assert(g_debugger_list_ptr == nullptr &&
"Debugger::Initialize called more than once!");
```
Commit: c4ea6cc3f736ab5b3feeaf16c448db5217b14306
https://github.com/llvm/llvm-project/commit/c4ea6cc3f736ab5b3feeaf16c448db5217b14306
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
M lldb/source/Plugins/Process/wasm/ProcessWasm.cpp
M lldb/source/Plugins/RegisterTypeBuilder/RegisterTypeBuilderClang.cpp
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
M lldb/source/Plugins/ScriptInterpreter/None/ScriptInterpreterNone.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Log Message:
-----------
[lldb] Remove call_once wrappers around PluginManager::RegisterPlugin (#184273)
Remove call_once wrappers around PluginManager::RegisterPlugin. Plugins
can be registered and unregistered in Initialize and Terminate
respectively. In its current state, after having called Terminate, a
plugin can never be re-initialized.
Commit: 89a4bcf023493cb75aded5a70c082c1fa7d46cbc
https://github.com/llvm/llvm-project/commit/89a4bcf023493cb75aded5a70c082c1fa7d46cbc
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenACCRecipe.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/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/assign-operator.cpp
M clang/test/CIR/CodeGen/atomic.c
M clang/test/CIR/CodeGen/basic.c
M clang/test/CIR/CodeGen/basic.cpp
M clang/test/CIR/CodeGen/binop.cpp
M clang/test/CIR/CodeGen/bitfields.c
M clang/test/CIR/CodeGen/complex-compound-assignment.cpp
M clang/test/CIR/CodeGen/complex-mul-div.cpp
M clang/test/CIR/CodeGen/complex.cpp
M clang/test/CIR/CodeGen/compound_assign.cpp
M clang/test/CIR/CodeGen/if.cpp
M clang/test/CIR/CodeGen/integer-overflow.c
M clang/test/CIR/CodeGen/lambda.cpp
M clang/test/CIR/CodeGen/namespace.cpp
M clang/test/CIR/CodeGen/new.cpp
M clang/test/CIR/CodeGen/no-odr-use.cpp
M clang/test/CIR/CodeGen/non-type-template-param.cpp
M clang/test/CIR/CodeGen/opaque.cpp
M clang/test/CIR/CodeGen/pointer-to-data-member-cast.cpp
M clang/test/CIR/CodeGen/pointer-to-member-func-cast.cpp
M clang/test/CIR/CodeGen/pointer-to-member-func-cmp.cpp
M clang/test/CIR/CodeGen/pointer-to-member-func.cpp
M clang/test/CIR/CodeGen/requires-expr.cpp
M clang/test/CIR/CodeGen/size-of-vla.cpp
M clang/test/CIR/CodeGen/struct-init.cpp
M clang/test/CIR/CodeGen/switch_flat_op.cpp
M clang/test/CIR/CodeGen/ternary.cpp
M clang/test/CIR/CodeGen/throws.cpp
M clang/test/CIR/CodeGen/try-catch.cpp
M clang/test/CIR/CodeGen/variable-decomposition.cpp
M clang/test/CIR/CodeGen/vector-ext-element.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
M clang/test/CIR/CodeGen/vla.c
M clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_len.c
M clang/test/CIR/CodeGenBuiltins/X86/avx10_2_512bf16-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx10_2bf16-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx2-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512bw-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512dq-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512f-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512fp16-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vldq-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/cmp-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/sse2-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/sse41-builtins.c
M clang/test/CIR/CodeGenOpenACC/atomic-capture.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-update.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-write.cpp
M clang/test/CIR/CodeGenOpenACC/combined-firstprivate-clause.cpp
M clang/test/CIR/CodeGenOpenACC/combined-private-clause.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-int.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/combined.cpp
M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause.cpp
M clang/test/CIR/CodeGenOpenACC/compute-private-clause.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-unsigned-int.c
M clang/test/CIR/CodeGenOpenACC/firstprivate-clause-recipes.cpp
M clang/test/CIR/CodeGenOpenACC/loop-private-clause.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-int.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop.cpp
M clang/test/CIR/CodeGenOpenACC/private-clause-array-recipes-CtorDtor.cpp
M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-CtorDtor.cpp
M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-NoOps.cpp
M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-int.cpp
M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-recipes-CtorDtor.cpp
M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-recipes-NoOps.cpp
M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-recipes-int.cpp
M clang/test/CIR/CodeGenOpenACC/reduction-clause-recipes.cpp
M clang/test/CIR/CodeGenOpenMP/omp-llvmir.c
M clang/test/CIR/CodeGenOpenMP/parallel.c
M clang/test/CIR/IR/throw.cir
M clang/test/CIR/IR/vector.cir
M clang/test/CIR/Lowering/binop-bool.cir
M clang/test/CIR/Lowering/binop-fp.cir
M clang/test/CIR/Lowering/binop-signed-int.cir
M clang/test/CIR/Lowering/binop-unsigned-int.cir
M clang/test/CIR/Transforms/switch.cir
M clang/test/CodeGen/AArch64/neon/intrinsics.c
Log Message:
-----------
[CIR] Split cir.binop into separate per-operation binary ops (#184227)
Replace the single `cir.binop` operation (dispatched via a `BinOpKind`
enum) with nine distinct ops — `cir.add`, `cir.sub`, `cir.mul`,
`cir.div`, `cir.rem`, `cir.and`, `cir.or`, `cir.xor`, and `cir.max` —
each with precise type constraints and only the attributes it needs
(nsw/nuw/sat on add/sub via `BinaryOverflowOp`).
A new `BinaryOpInterface` provides uniform `getLhs`/`getRhs`/`getResult`
access for passes and analyses.
The monolithic switch-based CIRToLLVMBinOpLowering is replaced by per-op
patterns generated through the existing CIRLowering.inc TableGen
infrastructure, with shared dispatch factored into two helpers:
`lowerSaturatableArithOp` for add/sub and `lowerIntFPBinaryOp` for
div/rem.
Commit: 1953b87a31a9b7de9e34deaa7e94ee59b3e7de39
https://github.com/llvm/llvm-project/commit/1953b87a31a9b7de9e34deaa7e94ee59b3e7de39
Author: Ayokunle Amodu <ayokunle321 at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-isinf-sign.c
Log Message:
-----------
[CIR][CodeGen] Upstream support for `__builtin_isinf_sign` (#183977)
This adds CIR codegen and lowering support for `__builtin_isinf_sign`.
Commit: 5b144c0aec63fe80a610b77e27de926869391b64
https://github.com/llvm/llvm-project/commit/5b144c0aec63fe80a610b77e27de926869391b64
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-tensor-load-store.cl
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tensor.load.store.ll
M llvm/test/CodeGen/AMDGPU/reg-coalescer-subreg-liveness.mir
Log Message:
-----------
[AMDGPU] Add suffix _d4 to tensor load/store with 4 groups D#, NFC (#184176)
Rename TENSOR_LOAD_TO_LDS to TENSOR_LOAD_TO_LDS_d4;
Rename TENSOR_STORE_FROM_LDS to TENSOR_STORE_FROM_LDS_d4;
Also rename function names in a couple of tests to reflect this change.
Commit: 9264159ae1df6910777ffa94b37a932775ae00c7
https://github.com/llvm/llvm-project/commit/9264159ae1df6910777ffa94b37a932775ae00c7
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M lldb/unittests/DAP/TestBase.cpp
M lldb/unittests/DAP/TestBase.h
M lldb/unittests/DAP/VariablesTest.cpp
Log Message:
-----------
[lldb] Fix the GoogleTest teardown in the DAP unit tests (#184262)
Some of the DAP tests define a static method named `TeatUpTestSuite`
which is calling `SBDebugger::Terminate`. Besides the typo, the correct
method is `TearDownTestSuite`, which GoogleTest calls after running the
last test in the test suite.
When addressing this, I realized that currently you can't really call
Initialize and Terminate multiple times in the same process. This
depends on:
- https://github.com/llvm/llvm-project/pull/184259
- https://github.com/llvm/llvm-project/pull/184261
Commit: 685a65a7f03d40d81d277402f662fec4bb97b325
https://github.com/llvm/llvm-project/commit/685a65a7f03d40d81d277402f662fec4bb97b325
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang-tools-extra/Maintainers.rst
Log Message:
-----------
[clang-tidy] Add zeyi2 as maintainer (#183883)
I've been actively contributing to `clang-tidy` for the past 4 months,
reviewing PRs, [fixing
issues](https://github.com/pulls?q=is%3Apr+author%3Azeyi2+archived%3Afalse+user%3Allvm+is%3Aclosed+label%3Aclang-tidy+sort%3Aupdated-desc),
engaging in discourse discussions and building [new testing
tools](https://github.com/clang-tidy-infra/CTIT). I'm passionate about
and project and would like to volunteer as a maintainer to continue
supporting the project's growth :)
Commit: f4e64ceb4bd818b5d6d7a52935e0282847d7b51c
https://github.com/llvm/llvm-project/commit/f4e64ceb4bd818b5d6d7a52935e0282847d7b51c
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp
M lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp
M lldb/source/Plugins/Process/Utility/RegisterInfos_arm64.h
M lldb/source/Plugins/Process/Utility/RegisterInfos_arm64_sve.h
M lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM64.cpp
M lldb/source/Utility/ARM64_DWARF_Registers.h
M lldb/source/Utility/ARM64_ehframe_Registers.h
Log Message:
-----------
[lldb] AArch64 register 33 is not cpsr (#183860)
I have an unwind failure where the eh_frame for a
trap handler states that the caller's return address is in eh_frame
register 33, which lldb treats as cpsr.
https://github.com/ARM-software/abi-aa/blob/main/aadwarf64/aadwarf64.rst#dwarf-register-names
Register 33 is ELR_mode, which isn't defined as a register in any of the
AArch64 register definition files in lldb today, so I'm not adding it to
the header files.
rdar://170602999
Commit: 28638f519783a705489237f9158ecd4692208b5c
https://github.com/llvm/llvm-project/commit/28638f519783a705489237f9158ecd4692208b5c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Target/Process.h
M lldb/source/Core/Debugger.cpp
M lldb/source/Target/Process.cpp
Log Message:
-----------
[lldb] Remove Debugger::{FindTargetWithProcessID, FindTargetWithProcess} (#184446)
In #184259, Jim noticed that Debugger::FindTargetWithProcess and
Debugger::FindTargetWithProcessID are rather poorly designed APIs as
tehy allow code running in one Debugger to mess with Targets from
another Debugger. The only use is Process::SetProcessExitStatus which
isn't actually used.
Commit: 1b633d6d6d75c172ecd9b9a4e250842468edb137
https://github.com/llvm/llvm-project/commit/1b633d6d6d75c172ecd9b9a4e250842468edb137
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaChecking.cpp
M clang/test/Sema/atomic-ops.c
M clang/test/Sema/scoped-atomic-ops.c
Log Message:
-----------
[Clang] Permit floating point and pointer values in most atomic ops (#183843)
Summary:
We already support floating point arguments for the standard atomic
functions. LLVM supports these in most cases as well. This PR unifies
the handling and allows this in the cases that the LLVM IR supports.
Commit: e71f327b46059fe232b205414a3e8c1fc537c80f
https://github.com/llvm/llvm-project/commit/e71f327b46059fe232b205414a3e8c1fc537c80f
Author: zhouguangyuan0718 <89333397+zhouguangyuan0718 at users.noreply.github.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/include/clang/Options/Options.td
M clang/lib/Basic/Targets/X86.h
M clang/lib/Driver/ToolChains/Arch/X86.cpp
A clang/test/Driver/x86_64-fixed-r-register.c
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86Subtarget.cpp
M llvm/lib/Target/X86/X86Subtarget.h
A llvm/test/CodeGen/X86/reserveRreg.ll
Log Message:
-----------
[X86] support reserve r8~r15 on X86_64 (#180242)
Which is under discussion in
https://github.com/llvm/llvm-project/issues/179036
Add new options -ffixed_r{8-15} for clang X86 target, like option
"-ffixed_x" for RISCV/AArch64 target.
Also, add target-feature +reserve-r{8-15} for the X86 backend.
The registers which are specified reserved will not be used in
RegAlloc/CalleeSave. Then the reserved registers can be maintained by
user. It will be useful for the runtime/interpreter implementation.
Other registers are used in specific instructions or mechanism, so they
can't be reserved.
Commit: 87a4b36fbe7f46082c7ddb30ccf702a0913c1e08
https://github.com/llvm/llvm-project/commit/87a4b36fbe7f46082c7ddb30ccf702a0913c1e08
Author: Derek Schuff <dschuff at chromium.org>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
A llvm/test/CodeGen/WebAssembly/simd-memcmp.ll
Log Message:
-----------
[WebAssembly] Use MVT::i32 instead of i1 in performAnyAllCombine (#183866)
The CombineSetCC helpers and performAnyAllCombine generate MVT::i1
results.
However MVT::i1 is an illegal type in WebAssembly, and this combiner can
run either before or after legalization. Directly creating the intrinsic
and negating its result using XOR instead of i1 and a NOT operation
avoids this problem.
Fixes #183842
Commit: 0c9734f120550f4984363c7cf0a33453f2154721
https://github.com/llvm/llvm-project/commit/0c9734f120550f4984363c7cf0a33453f2154721
Author: Florian Mayer <fmayer at google.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[NFC] [doc] fix invalid comment syntax in IR (#184457)
Commit: 393bbd55201abdf327f7fc0aab90269393c71d67
https://github.com/llvm/llvm-project/commit/393bbd55201abdf327f7fc0aab90269393c71d67
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/performance/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Analysis/Scalable/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Analysis/Scalable/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/DependencyScanning/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/NVPTX/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/X86/AsmParser/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
Log Message:
-----------
[gn build] Port commits (#184454)
282a2b77c358
60eac414b794
6d82f143dee1
80a1cf4f8058
8a9049198d18
a171b8d4d523
f3e8508ac771
Move X86GenAsmMatcher into llvm/lib/Target/X86
Commit: 62144f48d43fc33d7e73fff68aea31dd287d5349
https://github.com/llvm/llvm-project/commit/62144f48d43fc33d7e73fff68aea31dd287d5349
Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M flang/lib/Lower/PFTBuilder.cpp
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/do-while-to-scf-while.f90
M flang/test/Lower/loops.f90
M flang/test/Lower/mixed_loops.f90
M flang/test/Lower/pre-fir-tree02.f90
M flang/test/Lower/while_loop.f90
Log Message:
-----------
[flang] make lowering to scf.while default (#184234)
We've tested the implementation of fortran do-while loops being lowered
to scf.while and want to make it the default option.
Commit: 0c04d019f0a601cad2acab8d4d53704ec773fcd3
https://github.com/llvm/llvm-project/commit/0c04d019f0a601cad2acab8d4d53704ec773fcd3
Author: Florian Mayer <fmayer at google.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[NFC] [Doc] Fix text codeblock being declared llvm (#184461)
Commit: 76568dc89916b660cb3943f3871759b87c5fde4e
https://github.com/llvm/llvm-project/commit/76568dc89916b660cb3943f3871759b87c5fde4e
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
Log Message:
-----------
[LoopUnrollPass] Add `const` to parameters in `computeUnrollCount` (NFC) (#184058)
Commit: ece4b759327c03fa09edc90b802db3a74fa19e33
https://github.com/llvm/llvm-project/commit/ece4b759327c03fa09edc90b802db3a74fa19e33
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M lldb/examples/python/formatter_bytecode.py
Log Message:
-----------
[lldb] Add C source output mode to formatter_bytecode.py (#184242)
Add the ability to generate a C source file, which is in addition to the
existing functionality of generating binary.
An example of the generated source:
```c
#ifdef __APPLE__
#define FORMATTER_SECTION "__DATA_CONST,__lldbformatters"
#else
#define FORMATTER_SECTION ".lldbformatters"
#endif
__attribute__((used, section(FORMATTER_SECTION)))
unsigned char _Account_synthetic[] =
// version
"\x01"
// remaining record size
"\x15"
// type name size
"\x07"
// type name
"Account"
// flags
"\x00"
// sig_get_num_children
"\x02"
// program size
"\x02"
// program
"\x20\x01"
// sig_get_child_at_index
"\x04"
// program size
"\x06"
// program
"\x02\x20\x00\x23\x11\x60"
;
```
Commit: 630b9570d199dca19dc85834f583bc8590a21876
https://github.com/llvm/llvm-project/commit/630b9570d199dca19dc85834f583bc8590a21876
Author: Ian Wood <ianwood2024 at u.northwestern.edu>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/Math/IR/MathOps.td
M mlir/lib/Dialect/Math/IR/MathOps.cpp
M mlir/test/Dialect/Math/canonicalize.mlir
Log Message:
-----------
[mlir][math] Add constant folding for math.rsqrt (#184443)
Add a fold() method to RsqrtOp, matching the pattern used by SqrtOp and
other math unary ops. The fold computes `1.0 / sqrt(x)` using APFloat
division.
---------
Signed-off-by: Ian Wood <ianwood at u.northwestern.edu>
Commit: 60d729fdb226227f7b661558572ce538fa140c8a
https://github.com/llvm/llvm-project/commit/60d729fdb226227f7b661558572ce538fa140c8a
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
A flang/test/Parser/not-sentinel.f90
Log Message:
-----------
[flang] Fix test breakage from recent preprocessor change (#184455)
!$omp must never be recognized as a compiler directive sentinel when it
is immediately followed by anything other than a space or &. Revert a
bit of a recent change that broke this.
Commit: 5e5f7efd77064a1b05b2596dfab39966ce828359
https://github.com/llvm/llvm-project/commit/5e5f7efd77064a1b05b2596dfab39966ce828359
Author: John Harrison <harjohn at google.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M lldb/include/lldb/API/SBBlock.h
M lldb/source/API/SBBlock.cpp
A lldb/test/API/python_api/block/Makefile
A lldb/test/API/python_api/block/TestBlocks.py
A lldb/test/API/python_api/block/fn.c
A lldb/test/API/python_api/block/main.c
Log Message:
-----------
[lldb] Expose block equality with SBBlock. (#184222)
Adding the `operator==` and `operator!=` for SBBlock. This should allow
us to compare blocks within a frame, like:
```python
block = frame.GetBlock()
while True:
if block == frame.GetFrameBlock():
# we're at the top function scope.
else:
# we're at an inner block scope.
```
Commit: 699563e0da93f5047a379c9816be081afc3d0db9
https://github.com/llvm/llvm-project/commit/699563e0da93f5047a379c9816be081afc3d0db9
Author: Alexey Bader <alexey.bader at intel.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M llvm/lib/Transforms/Utils/SplitModuleByCategory.cpp
M llvm/tools/llvm-split/llvm-split.cpp
Log Message:
-----------
[NFC] Don't replicate hasKernelCallingConv. (#184464)
isKernel function duplicates llvm::Function::hasKernelCallingConv
method.
Commit: 53fbbaa577f2321d58c3dad78c001561c02939a7
https://github.com/llvm/llvm-project/commit/53fbbaa577f2321d58c3dad78c001561c02939a7
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M lldb/source/Initialization/SystemInitializerCommon.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDPLog.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDPLog.h
M lldb/source/Plugins/Process/POSIX/ProcessPOSIXLog.cpp
M lldb/source/Plugins/Process/POSIX/ProcessPOSIXLog.h
M lldb/source/Plugins/Process/Windows/Common/ProcessWindowsLog.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.h
Log Message:
-----------
[lldb] Fix Initialization/Termination for all log channels (#184467)
Similar to #184261, but for all the other log channels.
Commit: 45dbce3a3a3e05111a7fef4bb33f323996331a59
https://github.com/llvm/llvm-project/commit/45dbce3a3a3e05111a7fef4bb33f323996331a59
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M lldb/include/lldb/Utility/LLDBLog.h
M lldb/source/Initialization/SystemInitializerCommon.cpp
M lldb/source/Utility/LLDBLog.cpp
Log Message:
-----------
[lldb] Wrap LLDBLog Initialize/Terminate in a class (NFC) (#184469)
This matches what we do for all the other log channels (GDB Remote,
POSIX, Windows, KDP, etc).
Commit: 3b4d5ffe847ce194173c3b778a34e55d416e6544
https://github.com/llvm/llvm-project/commit/3b4d5ffe847ce194173c3b778a34e55d416e6544
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/test/Dialect/XeGPU/subgroup-distribute-unit.mlir
M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
Log Message:
-----------
[MLIR][XeGPU] Add blocking and subgroup to lane distribution support for ConvertLayout operation (#183837)
This PR refactors blocking support for ConvertLayout op to allow it
unrollable, not just removing it for specialize case.
It also removes the foldable attribute for ConvertLayout op, as we
expect the OP to be explicitly handled by XeGPU lowering.
It adds subgroup to lane distribution support for ConvertLayout op.
Commit: 928505c98345e0494f2d260788adb291efc9ee38
https://github.com/llvm/llvm-project/commit/928505c98345e0494f2d260788adb291efc9ee38
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
R lld/test/wasm/Inputs/archive1.ll
A lld/test/wasm/Inputs/archive1.s
R lld/test/wasm/Inputs/archive2.ll
A lld/test/wasm/Inputs/archive2.s
R lld/test/wasm/Inputs/archive3.ll
A lld/test/wasm/Inputs/archive3.s
M lld/test/wasm/archive-export.test
R lld/test/wasm/archive.ll
A lld/test/wasm/archive.s
Log Message:
-----------
[lld][WebAssembly] Convert more tests to assembly. NFC (#184418)
The only expectations change here is that `__stack_pointer` is
no longer exports in the `archive-export.test` test. This is because
we don't enable the mutable-globals feature (since the assembly files
don't contains all the now-default features of the generic CPU).
Commit: 3a85d99a1606f30f7e1519b98d2156790eb553dc
https://github.com/llvm/llvm-project/commit/3a85d99a1606f30f7e1519b98d2156790eb553dc
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/third-party/BUILD.bazel
M utils/bazel/third_party_build/zlib-ng.BUILD
Log Message:
-----------
[bazel] Fix building lldb with zlib disabled (#184525)
In cmake this value is set in llvm-config.h, we're not really handling
that the same way in bazel so we can just allow all targets to inherit
this disabled, otherwise it fails since lldb assumes it is always
something
Commit: 1c434928d26cd10c0d844f59ca1b686908d4b79e
https://github.com/llvm/llvm-project/commit/1c434928d26cd10c0d844f59ca1b686908d4b79e
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M utils/bazel/.bazelrc
Log Message:
-----------
[bazel] Remove old zlib config variable (#184527)
Use was removed in a268127736e4d703cef8c9f4841f9a8e8ac21ba7
Commit: 98c46261d926bc91a9389cf25fcc06831cb63a36
https://github.com/llvm/llvm-project/commit/98c46261d926bc91a9389cf25fcc06831cb63a36
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/PowerPC/clmul-vector.ll
Log Message:
-----------
[TargetLowering][PowerPC] Don't unroll vector CLMUL when MUL is not supported. (#184238)
We can use the bittest lowering instead.
Commit: 7fb92cdf5fa69423b4b99259057eb8de813c1344
https://github.com/llvm/llvm-project/commit/7fb92cdf5fa69423b4b99259057eb8de813c1344
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M third-party/benchmark/include/benchmark/benchmark.h
Log Message:
-----------
[Benchmark] Fix warnings around usage of __COUNTER__ (#184524)
Premerge CI is currently failing with the following after the update to
clang v22:
```
/home/gha/llvm-project/clang-tools-extra/clangd/benchmarks/IndexBenchmark.cpp:92:1: error: '__COUNTER__' is a C2y extension [-Werror,-Wc2y-extensions]
92 | BENCHMARK(dexQueries);
| ^
```
Some original work was done around this in
df1d786c460e0e47c9074f3533f098190ebfbc1b, which was then done in
upstream Google benchmark in
https://github.com/google/benchmark/commit/d8db2f90b643eb28a12976beb4d57bcfb639911d.
The original work done in the patch implementing this feature doesn't
seem to account for as many cases as the upstream patch does. This patch
reverts the diff in df1d786c460e0e47c9074f3533f098190ebfbc1b and applies
the applicable hunks from the upstream patch.
Commit: 6e1ab3a4310d3c385a06e1c575f1eca58990e733
https://github.com/llvm/llvm-project/commit/6e1ab3a4310d3c385a06e1c575f1eca58990e733
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/lib/Sema/SemaType.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
A clang/test/Modules/demote-var-def.cpp
A clang/test/Modules/module-init-forcelly-loaded-module.cpp
A clang/test/Modules/pr149404-02.cppm
A clang/test/Modules/pr172241.cppm
A clang/test/Modules/var-inst-def.cppm
Log Message:
-----------
[Serialization] Stop demote var definition as declaration (#172430) (#177117) (#184287)
Close https://github.com/llvm/llvm-project/issues/172241 Close
https://github.com/llvm/llvm-project/issues/64034 Close
https://github.com/llvm/llvm-project/issues/149404 Close
https://github.com/llvm/llvm-project/issues/174858
After this patch, we (the clang dev) no longer assumes there are at most
one definition in a redeclaration chain.
See
https://discourse.llvm.org/t/rfc-clang-not-assuming-there-is-at-most-one-definition-in-a-redeclaration-chain/89360
for details.
---
Update since last commit:
Previously I remove the code to update visibility accidently. This is
the root cause of the failure.
---
Update since last commit:
Still demote var definition as declaration if it is in headers. This is
meant to avoid https://github.com/llvm/llvm-project/issues/181076
See the comments in ASTDeclReader::attachPreviousDeclImpl .
Close https://github.com/llvm/llvm-project/issues/181076
Commit: dcbc5de7f85f73066afede5c34fc909d45e73857
https://github.com/llvm/llvm-project/commit/dcbc5de7f85f73066afede5c34fc909d45e73857
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M lldb/include/lldb/Host/LZMA.h
Log Message:
-----------
[lldb][NFC] Add missing include to LZMA.h (#184536)
This header assumed you already included this otherwise it has errors
Commit: e6b9d816f6a28c9fe2b908e845a6b8e32ca460a2
https://github.com/llvm/llvm-project/commit/e6b9d816f6a28c9fe2b908e845a6b8e32ca460a2
Author: Alexey Karyakin <akaryaki at qti.qualcomm.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
A clang/lib/Headers/.clang-format-ignore
M clang/lib/Headers/hvx_hexagon_protos.h
Log Message:
-----------
[Hexagon] Ignore formatting of generated proto files (#184427)
hexagon_protos.h, hexagon_circ_brev_intrinsics.h, and
hvx_hexagon_protos.h are generated C header files that consist of
macro definitions and help fields in comments. These files are large.
Automatic formatting of these files breaks their regular structure
and increases maintenance effort.
Commit: e808a7f844ca4e9df47d2a09f8da441f6eab48e0
https://github.com/llvm/llvm-project/commit/e808a7f844ca4e9df47d2a09f8da441f6eab48e0
Author: Jianjian Guan <jacquesguan at me.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
Log Message:
-----------
[RISCV][GISel] Replace buildInstr with BuildMI (#183714)
As @arsenm mentioned in some of my PRs, such as:
https://github.com/llvm/llvm-project/pull/171092, we should use
`BuildMI` instead of `MachineInstrBuilder::buildInstr` in Selector.
This PR is tring to replace all `MachineInstrBuilder::buildInstr` with
`BuildMI`.
Commit: a6bbe463ce67c52dc120f5ea4c9f1a94e1d4988c
https://github.com/llvm/llvm-project/commit/a6bbe463ce67c52dc120f5ea4c9f1a94e1d4988c
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
Log Message:
-----------
[clang][CIR] Pass VFS to command-line parsing (#184226)
This explicitly passes Clang's VFS to MLIR command-line parsing that
runs when ClangIR is enabled. This matches the rest of Clang and fixes a
sandbox violation.
Commit: 4b85c1301fb61c6965a5143113f5170a4b062e3a
https://github.com/llvm/llvm-project/commit/4b85c1301fb61c6965a5143113f5170a4b062e3a
Author: Aditya Singh <aditya26189 at kgpian.iitkgp.ac.in>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/RedundantPreprocessorCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-preprocessor.cpp
Log Message:
-----------
[clang-tidy] Fix false positive in readability-redundant-preprocessor for builtin checks (#181734)
Different `__has_builtin()` checks were incorrectly flagged as redundant
because ConditionRange collapsed after macro expansion. It now reads
condition text directly from source to fix this.
Assisted-by: Claude
Fixes #64825
Commit: 5f29cdc175f61924c97de10450667f144dd9d195
https://github.com/llvm/llvm-project/commit/5f29cdc175f61924c97de10450667f144dd9d195
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
Log Message:
-----------
[RISCV] Remove OperandType OPERAND_SIMM10_UNSIGNED. Rename OPERAND_SIMM8_UNSIGNED->OPERAND_SIMM8 (#184540)
The UNSIGNED only refers to what we allow in assembly parsing. The
MachineInstr/MCInst should always be canonicalized to signed.
Commit: f5f0930c4715749df5a92f2b055647450f5308d4
https://github.com/llvm/llvm-project/commit/f5f0930c4715749df5a92f2b055647450f5308d4
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Utils/VNCoercion.cpp
A llvm/test/Transforms/GVN/svcount-access.ll
Log Message:
-----------
[GVN] Fix crash when svcount is used with globals-aa (#184347)
When -globals-aa is used, `analyzeLoadAvailiability` calls
`analyzeLoadClobberringStore` which in turn calls
`isFirstClassAggregateOrScalableType` which is using
`isa<ScalableVectorType>`. Ideally it should use type's isScalableType()
method.
The crash does not occur when default (BasicAA) is used because
`analyzeLoadAvailiability` function does not take the load clobbering
path as BasicAA returns `Def`.
Fixes #159368
Commit: 348f4fb9e00a4594d8e181803e17071e626fa40c
https://github.com/llvm/llvm-project/commit/348f4fb9e00a4594d8e181803e17071e626fa40c
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
A llvm/test/Analysis/DependenceAnalysis/weak_zero_siv_parametric_coeff.ll
A llvm/test/Analysis/DependenceAnalysis/weak_zero_siv_parametric_const.ll
Log Message:
-----------
[DA] Add tests that represent edge cases for the Weak Zero SIV tests (NFC) (#183735)
This patch adds test cases that capture edge cases for the Weak‑Zero SIV
tests. These cases involve loop‑invariant, non‑constant variables, and
special care is required when those variables may be zero.
Commit: dd8d5ffe0d087da8688f0af17318c2fc0b14983f
https://github.com/llvm/llvm-project/commit/dd8d5ffe0d087da8688f0af17318c2fc0b14983f
Author: Luke Lau <luke at igalia.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/rvv/vadd.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rvv/vfadd.ll
M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
M llvm/test/CodeGen/RISCV/rvv/access-fixed-objects-by-rvv.ll
M llvm/test/CodeGen/RISCV/rvv/combine-reduce-add-to-vcpop.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/memory-args.ll
M llvm/test/CodeGen/RISCV/rvv/nontemporal-vp-scalable.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vector-splice.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll
M llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp.ll
Log Message:
-----------
[RISCV] Sink instructions so AVL dominates in RISCVVLOptimizer (#184155)
The last feature that RISCVVectorPeephole::tryToReduceVL has that
RISCVVLOptimizer doesn't is that if the vl to reduce to doesn't dominate
a vector pseudo, it can sink the pseudo below the vl definition if it's
safe to do so.
This PR shares the logic to check for physical register clobbering in
RISCVInstrInfo, but there may be a better place for it.
The DemandedVLs DenseMap needs to be switched to a MapVector to get
deterministic ordering, since the order in which we sink instructions
can affect the resulting codegen.
This helps removes a few vsetvli toggles in llvm-test-suite.
Commit: 027447c61724385ae82f0a8dea34b45da2fd4c39
https://github.com/llvm/llvm-project/commit/027447c61724385ae82f0a8dea34b45da2fd4c39
Author: Fangrui Song <i at maskray.me>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
A llvm/test/MC/ELF/relax-branch-align.s
Log Message:
-----------
[MC][test] Add relax-branch-align.s demonstrating unnecessary branch relaxation (#184551)
The two-pass relaxation approach (relaxFragment, then layoutSection)
can unnecessarily relax a backward branch from short (2B) to near (5B).
When a forward branch relaxes (2B->6B), it shifts the backward target
by +4B. A .p2align between target and source absorbs this growth. The
true displacement is -125 (fits short), but the two-pass approach
evaluates the backward branch with stale target offsets, seeing -129
(beyond [-128,127]) and relaxing it unnecessarily.
Commit: cd01e6526af6dbe2653d9a9e5589afe97b03b914
https://github.com/llvm/llvm-project/commit/cd01e6526af6dbe2653d9a9e5589afe97b03b914
Author: Fangrui Song <i at maskray.me>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
Log Message:
-----------
[ELF] Add target-specific relocation scanning for LoongArch (#182236)
Implement LoongArch::scanSectionImpl, following the pattern established
for x86, PPC64, SystemZ, AArch64. This merges the getRelExpr and TLS
handling for SHF_ALLOC sections into the target-specific scanner,
enabling devirtualization and eliminating abstraction overhead.
- Inline relocation classification into scanSectionImpl with a switch
on relocation type, replacing the generic rs.scan() path.
- Use processR_PC/processR_PLT_PC for common PC-relative and PLT
relocations.
- Inline TLS handling: IE->LE optimization for _PC_ variants only (not
_PCADD_ or absolute), TLSDESC->IE/LE for non-extreme code model,
GD/LD flag setting without going through generic handleTlsRelocation.
- Remove adjustTlsExpr by inlining its logic into scanSectionImpl.
- Remove LoongArch-specific code from Relocations.cpp:
handleTlsRelocation, execOptimizeInLoongArch, and the sort condition.
- Simplify getRelExpr to only handle relocations needed by
relocateNonAlloc, scanEhSection, and the extreme code model fallback
in relocateAlloc.
Commit: debb2514ea7f062a29e5e4740f9d6ee4cea3b978
https://github.com/llvm/llvm-project/commit/debb2514ea7f062a29e5e4740f9d6ee4cea3b978
Author: Fangrui Song <i at maskray.me>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/include/llvm/MC/MCAssembler.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/test/MC/ELF/relax-branch-align.s
A llvm/test/MC/X86/align-branch-convergence.s
Log Message:
-----------
[MC] Fuse relaxation and layout into a single forward pass (#184544)
Replace the two-pass inner loop in relaxOnce (relaxFragment +
layoutSection) with a single forward pass that sets each fragment's
offset before processing it.
- Extract relaxAlign from layoutSection's FT_Align handling and call
it from relaxFragment. FT_Align padding is computed inline with the
tracked Offset, so alignment fragments always see fresh upstream
offsets. This structurally eliminates the O(N) convergence pitfall
where stale offsets caused each iteration to fix only one more
alignment fragment.
- The new MCAssembler::Stretch field tracks the cumulative upstream size
delta. In evaluateFixup, for PCRel fixups during relaxation, Stretch
is added to forward-reference target values (LayoutOrder comparison).
This makes displacement = target_old - source_old, identical to the
old two-pass approach, preventing premature relaxation for
span-dependent instructions.
- FT_Fill/FT_Org removed from relaxFragment; `if (F.Offset != Offset) in
the fused loop detects their size changes.
- layoutSection is retained for initial layout and post-finishLayout.
This fixes the FT_BoundaryAlign linear time convergence issue reported
by #176535. In addition, backward branches near the short/near boundary
may benefit from tighter encoding when a .p2align between the target and
the branch absorbs upstream growth (see relax-branch-align.s).
Key commits that updated relaxFragment/layoutSection:
- 742ecfc13e8a [MC] Relax MCFillFragment and compute fragment offsets
eagerly
- 9f66ebe42715 MC: Eliminate redundant fragment relaxation
- df71243fa885 MC: Evaluate .org during fragment relaxation
- b1d58f025e83 MCAssembler: Simplify fragment relaxation
- 58d16db8b5d2 MCAssembler: Simplify relaxation of FT_Fill and FT_Org
Commit: 6fae863eba8a72cdd82f37e7111a46a70be525e0
https://github.com/llvm/llvm-project/commit/6fae863eba8a72cdd82f37e7111a46a70be525e0
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
M llvm/test/CodeGen/X86/reserveRreg.ll
Log Message:
-----------
[X86][APX] Add a few pseudo opcodes support EGPR (#184550)
Found in post testing in #180242
Commit: 6b59ad6e8d88eacde185160e20f662985f083d00
https://github.com/llvm/llvm-project/commit/6b59ad6e8d88eacde185160e20f662985f083d00
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
A mlir/test/Dialect/Linalg/td/propagate-data-layout.mlir
M mlir/test/lib/Dialect/Linalg/CMakeLists.txt
R mlir/test/lib/Dialect/Linalg/TestDataLayoutPropagation.cpp
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[mlir][linalg] Data layout propagation test schedule (#184151)
Replaces data layout propagation test pass with equivalent transform
schedule.
The two required patterns are wrapped in new linalg transform ops
improving reusability.
Commit: 5b156a4372acb1c8dcc837211ede7216d1454de3
https://github.com/llvm/llvm-project/commit/5b156a4372acb1c8dcc837211ede7216d1454de3
Author: Steffen Larsen <sholstla at amd.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-acos.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-acosh.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-acospi.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-asin.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-asinh.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-asinpi.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-atan.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-atanh.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-atanpi.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-cbrt.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-cos.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-cosh.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-cospi.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-erf.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-erfc.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-exp.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-exp10.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-exp2.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-expm1.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-log.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-log10.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-log2.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-rsqrt.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-sin.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-sinh.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-sinpi.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-sqrt.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-tan.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-tanh.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-tanpi.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-tdo-tgamma.ll
Log Message:
-----------
[AMDGPU] Add half vector support for table-driven libcall optimization (#178638)
When replacing certain AMDGPU library calls with constant data vectors,
the existing implementation only handled single and double-precision
floats. This change extends the functionality to also support
half-precision floats.
Additionally, it refactors the function responsible for generating
constant float data vectors to improve readability and reduces code
duplication. In tandem with this refactoring, the patch relaxes the
check for constant data vectors to include any constant of vector type.
This allows other constant vectors to be processed, such as those
created from constant aggregate zeros (e.g. `<2 x float>
zeroinitializer`).
---------
Signed-off-by: Steffen Holst Larsen <sholstla at amd.com>
Commit: ae438677566397b947b987acaba170388c089017
https://github.com/llvm/llvm-project/commit/ae438677566397b947b987acaba170388c089017
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/include/llvm/Analysis/DependenceAnalysis.h
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/test/Analysis/DDG/print-dot-ddg.ll
M llvm/test/Analysis/DependenceAnalysis/Banerjee.ll
M llvm/test/Analysis/DependenceAnalysis/BasePtrBug.ll
M llvm/test/Analysis/DependenceAnalysis/Constraints.ll
M llvm/test/Analysis/DependenceAnalysis/DADelin.ll
M llvm/test/Analysis/DependenceAnalysis/DifferentOffsets.ll
M llvm/test/Analysis/DependenceAnalysis/ExactRDIV.ll
M llvm/test/Analysis/DependenceAnalysis/FlipFlopBaseAddress.ll
M llvm/test/Analysis/DependenceAnalysis/MIVCheckConst.ll
M llvm/test/Analysis/DependenceAnalysis/MismatchingNestLevels.ll
M llvm/test/Analysis/DependenceAnalysis/NonAffineExpr.ll
M llvm/test/Analysis/DependenceAnalysis/PR21585.ll
M llvm/test/Analysis/DependenceAnalysis/PR51512.ll
M llvm/test/Analysis/DependenceAnalysis/Preliminary.ll
M llvm/test/Analysis/DependenceAnalysis/Propagating.ll
M llvm/test/Analysis/DependenceAnalysis/SimpleSIVNoValidityCheck.ll
M llvm/test/Analysis/DependenceAnalysis/SimpleSIVNoValidityCheckFixedSize.ll
M llvm/test/Analysis/DependenceAnalysis/StrongSIV.ll
M llvm/test/Analysis/DependenceAnalysis/SymbolicRDIV.ll
M llvm/test/Analysis/DependenceAnalysis/SymbolicSIV.ll
M llvm/test/Analysis/DependenceAnalysis/UsefulGEP.ll
M llvm/test/Analysis/DependenceAnalysis/WeakCrossingSIV.ll
M llvm/test/Analysis/DependenceAnalysis/WeakZeroDstSIV.ll
M llvm/test/Analysis/DependenceAnalysis/WeakZeroSrcSIV.ll
M llvm/test/Analysis/DependenceAnalysis/ZIV.ll
M llvm/test/Analysis/DependenceAnalysis/becount-couldnotcompute.ll
M llvm/test/Analysis/DependenceAnalysis/compute-absolute-value.ll
M llvm/test/Analysis/DependenceAnalysis/exact-rdiv-addrec-wrap.ll
M llvm/test/Analysis/DependenceAnalysis/exact-siv-addrec-wrap.ll
M llvm/test/Analysis/DependenceAnalysis/exact-siv-overflow.ll
M llvm/test/Analysis/DependenceAnalysis/gcd-miv-overflow.ll
M llvm/test/Analysis/DependenceAnalysis/infer_affine_domain_ovlf.ll
M llvm/test/Analysis/DependenceAnalysis/lcssa.ll
M llvm/test/Analysis/DependenceAnalysis/monotonicity-cast.ll
M llvm/test/Analysis/DependenceAnalysis/monotonicity-invariant.ll
M llvm/test/Analysis/DependenceAnalysis/rdiv-large-btc.ll
M llvm/test/Analysis/DependenceAnalysis/rdiv-minor-algebra.ll
M llvm/test/Analysis/DependenceAnalysis/run-specific-dependence-test.ll
M llvm/test/Analysis/DependenceAnalysis/same-sd-for-diff-becount-type-loops.ll
M llvm/test/Analysis/DependenceAnalysis/strong-siv-large-btc.ll
M llvm/test/Analysis/DependenceAnalysis/strong-siv-overflow.ll
M llvm/test/Analysis/DependenceAnalysis/symbolic-rdiv-addrec-wrap.ll
M llvm/test/Analysis/DependenceAnalysis/symbolic-rdiv-overflow.ll
M llvm/test/Analysis/DependenceAnalysis/weak-crossing-siv-addrec-wrap.ll
M llvm/test/Analysis/DependenceAnalysis/weak-crossing-siv-large-btc.ll
M llvm/test/Analysis/DependenceAnalysis/weak-crossing-siv-overflow.ll
M llvm/test/Analysis/DependenceAnalysis/weak-zero-siv-large-btc.ll
M llvm/test/Analysis/DependenceAnalysis/weak-zero-siv-overflow.ll
M llvm/test/Analysis/DependenceAnalysis/weak_zero_siv_parametric_coeff.ll
M llvm/test/Analysis/DependenceAnalysis/weak_zero_siv_parametric_const.ll
M llvm/test/Analysis/DependenceAnalysis/zero-coefficient.ll
Log Message:
-----------
[DA] Remove consistent flag from Dependence class (#181608)
The `Dependence` class has a flag `Consistent`, but it's not clear what
it represents. This flag doesn't seem to be updated correctly during
analysis. There are no users of it, so I think this flag would be
unnecessary.
In addition, because of this flag, even minor code changes can alter
test results unintentionally (specifically, the presence/absence of a
string "consistent" in the test output). Such test changes can be
confusing and gradually add to the maintenance burden.
Given these points, it's better to remove the `Consistent` flag from the
`Dependence` class entirely.
Commit: c612c98fa6dc613ebc1350cc1d87c8cd5d840428
https://github.com/llvm/llvm-project/commit/c612c98fa6dc613ebc1350cc1d87c8cd5d840428
Author: Mel Chen <mel.chen at sifive.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
Log Message:
-----------
[VPlan] Add const to VPPredicator methods. nfc (#184359)
Add const to VPBasicBlock pointer parameters and cache key types where
the blocks are not modified.
Commit: deb70a6d643d090c0fcff7be940ce9513c1b5f77
https://github.com/llvm/llvm-project/commit/deb70a6d643d090c0fcff7be940ce9513c1b5f77
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/getelementptr.ll
Log Message:
-----------
[InstCombine] Don't strip leading zero index for overaligned vector GEP (#184364)
In this case the stride is not equal to the type alloc size.
Fixes issue reported in:
https://github.com/llvm/llvm-project/pull/180745#discussion_r2860093376
Commit: 9a821584a5165809fdfeffdb086d398e7a66e101
https://github.com/llvm/llvm-project/commit/9a821584a5165809fdfeffdb086d398e7a66e101
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Record.cpp
Log Message:
-----------
[clang][bytecode] Fix a mishap in HasPtrField calculation (#184557)
The Record constructor has a parameter and a class member of the same
name. Also include composite array element types in the calculation in
Program.cpp.
Commit: 7fbc0734f5b38f49d21addf5b400319f2aaff07d
https://github.com/llvm/llvm-project/commit/7fbc0734f5b38f49d21addf5b400319f2aaff07d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/Program.cpp
Log Message:
-----------
[clang][bytecode] Fix a few comment typos (#184561)
Commit: 2be2926b56ea8c69a6ef5a9e1cb47033617ba268
https://github.com/llvm/llvm-project/commit/2be2926b56ea8c69a6ef5a9e1cb47033617ba268
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Analysis/Loads.cpp
M llvm/unittests/Analysis/LoadsTest.cpp
Log Message:
-----------
[Loads] Allow replacement of null with ptr in `canReplacePointersIfEqual`
It should always be valid to allow the replacement of null with the
destination pointer, as moving from nullary provenance to a non-nullary
one preserves provenance monotonicity.
Commit: 52dd63d3caa377b993855e1161cfde2e55fafe8c
https://github.com/llvm/llvm-project/commit/52dd63d3caa377b993855e1161cfde2e55fafe8c
Author: jumerckx <31353884+jumerckx at users.noreply.github.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M mlir/include/mlir/IR/OperationSupport.h
M mlir/lib/IR/OperationSupport.cpp
M mlir/test/IR/operation-equality.mlir
M mlir/test/lib/IR/TestOperationEquals.cpp
Log Message:
-----------
[mlir] Add option to ignore commutativity in OperationEquality (#181507)
This adds a new flag, `IgnoreCommutativity`, to the OperationEquivalence
flags. When toggled, regular equivalence and hashing will be used
instead of calls to `checkCommutativeEquivalent` and
commutative-invariant hashing.
This means that commutative operations will not be considered equivalent
when their operands are in a different order (i.e. `arith.addi(%a, %b)`
vs. `arith.addi(%b, %a)`).
Commit: 3bb4a506c590a6645db96b40f238ccd1a1353a57
https://github.com/llvm/llvm-project/commit/3bb4a506c590a6645db96b40f238ccd1a1353a57
Author: hanbeom <kese111 at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrCall.td
M llvm/test/CodeGen/WebAssembly/call-pic.ll
M llvm/test/CodeGen/WebAssembly/call.ll
M llvm/test/CodeGen/WebAssembly/function-bitcasts.ll
M llvm/test/CodeGen/WebAssembly/multivalue.ll
M llvm/test/CodeGen/WebAssembly/reg-stackify.ll
M llvm/test/CodeGen/WebAssembly/swiftcc.ll
M llvm/test/CodeGen/WebAssembly/tailcall.ll
Log Message:
-----------
[WebAssembly] Print type signature and table for call_indirect (#179120)
Update WebAssemblyInstPrinter.cpp to correctly print type
and table operands for both register and stack modes.
Commit: c9355cc121dfb1a0876547c5f68946eb4fc7ca01
https://github.com/llvm/llvm-project/commit/c9355cc121dfb1a0876547c5f68946eb4fc7ca01
Author: Fangrui Song <i at maskray.me>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M lld/ELF/Arch/ARM.cpp
M lld/ELF/SyntheticSections.h
Log Message:
-----------
[ELF] Move ArmCmseSGSection into Arch/ARM.cpp (#184570)
Move the ArmCmseSGVeneer and ArmCmseSGSection class definitions from
SyntheticSections.h into the anonymous namespace in Arch/ARM.cpp, where
the implementations already reside. Rename ArmCmseSGVeneer to
CmseSGVeneer as it no longer needs the Arm prefix for disambiguation.
Commit: 8fcb60aa47e792641dcbe6dcaa8b4a822a565cfc
https://github.com/llvm/llvm-project/commit/8fcb60aa47e792641dcbe6dcaa8b4a822a565cfc
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M libcxx/include/string
Log Message:
-----------
[libc++][NFC] Introduce __data() to std::string to replace std::__to_address(__get_pointer()) (#178212)
`std::__to_address(__get_pointer())` is an extremely common pattern
inside `string` and is basically equivalent to `data()`, except that
`data()` only returns a non-const pointer since C++17. This patch
introduces `__data()` to back-port returning a non-const pointer.
Commit: b86f24fd0ed47238ddfa1292bbd89d1ec10d774c
https://github.com/llvm/llvm-project/commit/b86f24fd0ed47238ddfa1292bbd89d1ec10d774c
Author: Kiva <imkiva at islovely.icu>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/binop-phi-operands.ll
M llvm/test/Transforms/InstCombine/fmul.ll
M llvm/test/Transforms/InstCombine/icmp-binop.ll
M llvm/test/Transforms/InstCombine/or-select-zero-icmp.ll
M llvm/test/Transforms/InstCombine/recurrence.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
Log Message:
-----------
[InstCombine] make `foldBinOpIntoSelectOrPhi` fold on all operands (#183692)
This PR makes `foldBinOpIntoSelectOrPhi` fold to select/phi both for
operands 0 and 1.
Alive2: https://alive2.llvm.org/ce/z/T56TMM
Also fixes #183498
Commit: e7db3f1d3df66e8d0e0adb13b14099e64b124f5a
https://github.com/llvm/llvm-project/commit/e7db3f1d3df66e8d0e0adb13b14099e64b124f5a
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/test/Transforms/DeadStoreElimination/noop-stores.ll
Log Message:
-----------
[DSE] Handle provenance when eliminating tautological assignments
Similarly to what already being done in GVN (fb632ed2377d280b581b8d4653b855e60d611f77),
when a dominating equality condition of two pointers holds, and the
value being stored is implied by such a condition, ensure the store
may be removed by leveraging `canReplacePointersIfEqual`, subject to
the known approximations.
Fixes: https://github.com/llvm/llvm-project/issues/184088.
Commit: 1a7502592f0f8318b90d320621aa0026662669a1
https://github.com/llvm/llvm-project/commit/1a7502592f0f8318b90d320621aa0026662669a1
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/test/CodeGen/ARM/vminmaxnm-safe.ll
Log Message:
-----------
[ARM] Generate test checks (NFC) (#184574)
I had to rename some functions to make them UTC compatible.
Commit: a636928bb4db9d78e32af0a27e048687506af841
https://github.com/llvm/llvm-project/commit/a636928bb4db9d78e32af0a27e048687506af841
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Support/APFloat.cpp
A llvm/test/CodeGen/AMDGPU/arbitrary-fp-to-float.ll
A llvm/test/CodeGen/NVPTX/arbitrary-fp-to-float.ll
A llvm/test/CodeGen/X86/arbitrary-fp-convert-error.ll
A llvm/test/CodeGen/X86/arbitrary-fp-to-float.ll
Log Message:
-----------
[SelectionDAG] Add expansion for llvm.convert.from.arbitrary.fp (#179318)
The expansion converts arbitrary-precision FP represented as integer
following these algorithm:
1. Extract sign, exponent, and mantissa bit fields via masks and shifts.
2. Classify the input (zero, denormal, normal, Inf, NaN) using the
exponent and mantissa fields.
3. Normal path: adjusting the exponent bias and left-shifting the
mantissa to fit the wider destination format.
4. Denormal path: normalizing by finding the MSB position of the
mantissa (via count-leading-zeros), computing the correct exponent from
that position, stripping the implicit leading 1, and shifting the
fraction into the destination mantissa field.
5. Assemble the destination IEEE bit pattern (sign | exponent |
mantissa) and select among the normal, denormal, and special-value
results.
Currently only conversions from OCP floats are covered, in LLVM terms
these are: Float8E5M2, Float8E4M3FN, Float6E3M2FN, Float6E2M3FN,
Float4E2M1FN.
OCP spec:
https://www.opencompute.org/documents/ocp-microscaling-formats-mx-v1-0-spec-final-pdf
AI has assisted in X86 E2E testing.
Commit: 3d52f0c539d8b5a372becdb40a651baa78c5fa9a
https://github.com/llvm/llvm-project/commit/3d52f0c539d8b5a372becdb40a651baa78c5fa9a
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/test/CodeGen/SPIRV/transcoding/OpExtInst_vector_promotion_bug.ll
A llvm/test/CodeGen/SPIRV/user-function-with-builtin-name.ll
Log Message:
-----------
[SPIR-V] Don't consider a function be a builtin just by checking name (#182776)
If a function has the same name as a (n OpenCL) builtin, but not
matching number of arguments to the builtin - consider it to be a user
function.
Fixes: https://github.com/llvm/llvm-project/issues/165237
Commit: 31f69d333e4906a9180ee76e48096e3d1a1f1234
https://github.com/llvm/llvm-project/commit/31f69d333e4906a9180ee76e48096e3d1a1f1234
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/utils/libctest/format.py
Log Message:
-----------
[libc] Fix integration test args/env in LibcTest lit format (#184438)
Integration tests with ARGS or ENV in their add_integration_test() call
were being run with no arguments or environment variables by the
LibcTest lit format, causing failures in startup_args_test,
sprintf_size_test, getenv_test, execv_test, execve_test, and
getcwd_test.
Fix this by having add_integration_test() emit a sidecar
<executable>.params JSON file (via file(GENERATE)) whenever ARGS or ENV
are specified. LibcTest.execute() reads this file at test time and
passes the args and environment to the test executable.
Also always set PWD=exec_dir in the test environment so that
getenv("PWD") matches getcwd() for tests that compare them.
Commit: 732f66eccc24fc90c9fe9df65bfbe3ddedf220fc
https://github.com/llvm/llvm-project/commit/732f66eccc24fc90c9fe9df65bfbe3ddedf220fc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M libclc/clc/lib/amdgcn/workitem/clc_get_global_offset.cl
M libclc/clc/lib/amdgcn/workitem/clc_get_work_dim.cl
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
libclc: Reimplement amdhsa workitem functions (#184571)
These were quite out of date and broken. These were originally
implemented for clover, which at one point was aiming for HSA v2 ABI
near compatibility. Since clover has been removed, that path is dead.
This was also broken for the modern HSA ABIs. Update to assume the
v5 ABI.
Commit: b6761b287f6b58a0f25849f5a0b4c97fee4b6d75
https://github.com/llvm/llvm-project/commit/b6761b287f6b58a0f25849f5a0b4c97fee4b6d75
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
A clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-options.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-no-safe-functions.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-char-misuse-no-comparison.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-disable-options.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/string-constructor-options.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-missing-comma-options.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare-custom-functions.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-stringview-data-usage-options.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-return-value-checked-return-types.cpp
Log Message:
-----------
[clang-tidy][NFC] Add missing Option tests in `bugprone` [1/N] (#184015)
This PR adds testcases for untested Options in `bugprone` module for
better test coverage, specifically:
- `bugprone-implicit-widening-of-multiplication-result`:
`UseCXXHeadersInCppSources` and `IncludeStyle`.
- `bugprone-not-null-terminated-result`: `WantToUseSafeFunctions`
- `bugprone-signed-char-misuse`: `DiagnoseSignedUnsignedCharComparisons`
- `bugprone-sizeof-expression`: `WarnOnSizeOfConstant`,
`WarnOnSizeOfThis`, `WarnOnSizeOfCompareToConstant`,
`WarnOnSizeOfInLoopTermination`.
- `bugprone-string-constructor`: `WarnOnLargeLength`,
`LargeLengthThreshold`, `StringNames`.
- `bugprone-suspicious-missing-comma`: `SizeThreshold`,
`RatioThreshold`, `MaxConcatenatedTokens`.
- `bugprone-suspicious-string-compare`: `StringCompareLikeFunctions`
- `bugprone-suspicious-stringview-data-usage`: `StringViewTypes`,
`AllowedCallees`
As of AI Usage: Assisted by Gemini 3 and Claude (Writing part of the
testcases and pre-commit reviewing).
Commit: 14af5be5da77a90acbc2d5d47488d9400d7cfed7
https://github.com/llvm/llvm-project/commit/14af5be5da77a90acbc2d5d47488d9400d7cfed7
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M lldb/docs/dil-expr-lang.ebnf
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/source/ValueObject/DILAST.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/test/API/commands/frame/var-dil/basics/BitFieldExtraction/TestFrameVarDILBitFieldExtraction.py
M lldb/test/API/commands/frame/var-dil/expr/Arithmetic/TestFrameVarDILArithmetic.py
M lldb/test/API/commands/frame/var-dil/expr/Arithmetic/main.cpp
Log Message:
-----------
[lldb] Add arithmetic binary subtraction to DIL (#184017)
Commit: c62d5f35b6785ff1fac0047c6e5d9e6dd8f745f8
https://github.com/llvm/llvm-project/commit/c62d5f35b6785ff1fac0047c6e5d9e6dd8f745f8
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AddressingModes.h
M llvm/test/CodeGen/AArch64/combine-sdiv.ll
A llvm/test/CodeGen/AArch64/extend_vecreduce_add.ll
Log Message:
-----------
[AArch64] Avoid folding sign-extend of vector extracts into ALU ops (#183522)
This breaks a tie where the `SEXT_IN_REG` in an expression like
`SUB(0, SEXT_IN_REG(VECTOR_EXTRACT(..))` can fold into the `SUB` or the
`VECTOR_EXTRACT`. Currently, the `SUB` is always preferred, but it's
better to fold the `SEXT_IN_REG` into the `VECTOR_EXTRACT` extract,
which allows for `SMOV` to be used.
Commit: 9cc0df99de853a3cdf778c0c33e4fb5050c46c5b
https://github.com/llvm/llvm-project/commit/9cc0df99de853a3cdf778c0c33e4fb5050c46c5b
Author: Devajith <devajith.valaparambil.sreeramaswamy at cern.ch>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/lib/Frontend/VerifyDiagnosticConsumer.cpp
M clang/lib/Interpreter/IncrementalParser.cpp
A clang/test/Interpreter/verify-diagnostics.cpp
Log Message:
-----------
[clang-repl] Create virtual files for `input_line_N` buffers (#182044)
Instead of using memory buffers without file backing, this patch
`input_line_N` buffers as virtual files.
This patch enables us to use input line numbers when verifying tests
`clang-repl`.
Co-authored-by: Vassil Vassilev <v.g.vassilev at gmail.com>
Commit: 756d068ead7e8d3b158ddc7b0f806da8a357b378
https://github.com/llvm/llvm-project/commit/756d068ead7e8d3b158ddc7b0f806da8a357b378
Author: Rolf Morel <rolf.morel at intel.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M mlir/include/mlir-c/Dialect/Transform.h
M mlir/include/mlir-c/Rewrite.h
M mlir/lib/Bindings/Python/DialectTransform.cpp
M mlir/lib/Bindings/Python/Rewrite.cpp
M mlir/lib/Bindings/Python/Rewrite.h
M mlir/lib/CAPI/Dialect/Transform.cpp
M mlir/lib/CAPI/Transforms/Rewrite.cpp
A mlir/test/python/dialects/transform_pattern_descriptor_op_interface.py
Log Message:
-----------
[MLIR][Python][Transform] Expose PatternDescriptorOpInterface to Python (#184331)
Makes it possible to include Python-defined rewrite patterns in
transform-dialect schedules, inside of `transform.apply_patterns`, which
upon execution of the schedule runs the pattern in a greedy rewriter.
With assistance of Claude.
Commit: d737cd505562228b9c5f9e57b7d7f3786773ab26
https://github.com/llvm/llvm-project/commit/d737cd505562228b9c5f9e57b7d7f3786773ab26
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/XRefs.cpp
Log Message:
-----------
[clang-tools-extra] Turn misc copy-assign into move-assign (#184146)
That's an automated patch generated from clang-tidy
performance-use-std-move as a follow-up to #184136
Commit: 1582dd9c31d5f0f3d234d165b0a770b8118f6a48
https://github.com/llvm/llvm-project/commit/1582dd9c31d5f0f3d234d165b0a770b8118f6a48
Author: David Spickett <david.spickett at arm.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M lldb/source/Commands/CommandObjectApropos.cpp
M lldb/source/Commands/CommandObjectBreakpointCommand.cpp
M lldb/source/Commands/CommandObjectPlatform.cpp
M lldb/source/Commands/CommandObjectSource.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Commands/CommandObjectVersion.cpp
M lldb/source/Commands/CommandObjectWatchpointCommand.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
Log Message:
-----------
[lldb] Change more uses of AppendMessageWithFormat to AppendMessageWithFormatv (#184337)
When the message includes a final newline, Formatv can add that for you.
The only unusual change is one place in platform where we need to print
octal. LLVM doesn't have a built in way to do this (see
llvm/include/llvm/Support/FormatProviders.h) and this is probably the
only place in the codebase that wants to. So I decided not to add it
there.
Instead I've put the number info a format adapter with the normal printf
specifier, then put that into the Formatv format.
Commit: 6bdf076137d0cd7f4490522751c0e07efdd4d5e4
https://github.com/llvm/llvm-project/commit/6bdf076137d0cd7f4490522751c0e07efdd4d5e4
Author: Henry Baba-Weiss <henry.babaweiss at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/LangOptions.h
M clang/lib/Basic/Targets/OSTargets.cpp
M clang/test/Preprocessor/predefined-win-macros.c
Log Message:
-----------
[clang] Predefine `_MSVC_TRADITIONAL` in MSVC compatibility mode (#184278)
As of version 19.15 (Visual Studio 2017 version 15.8), MSVC predefines
the `_MSVC_TRADITIONAL` macro to indicate whether it is using the old
"traditional" preprocessor or the new standards-conforming preprocessor.
Clang now predefines `_MSVC_TRADITIONAL` as 1 when emulating MSVC 19.15
or later, since Clang supports most traditional preprocessor behaviors
(e.g. `/##/` turning into `//`) when running in MSVC compatibility mode.
Currently there isn't a situation where it makes sense for Clang to
report `_MSVC_TRADITIONAL` as 0, since MSVC compatibility mode only
attempts to be compatible with the traditional MSVC preprocessor.
However, this does mean that clang-cl cannot match MSVC's behavior of
implicitly enabling the conforming C preprocessor when compiling with
`/std:c11`, `/std:c17`, or `/std:clatest`.
Fixes #47114
Commit: 177211a99f70d21fb73e1417d51cf86b1d1e4dd5
https://github.com/llvm/llvm-project/commit/177211a99f70d21fb73e1417d51cf86b1d1e4dd5
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-fmax-safe.ll
Log Message:
-----------
[AArch64] Generate test checks (NFC) (#184582)
Commit: 2aab31a94e7b9eb0c66d3a9639e987a257efc444
https://github.com/llvm/llvm-project/commit/2aab31a94e7b9eb0c66d3a9639e987a257efc444
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/test/CodeGen/X86/combine-fcopysign.ll
Log Message:
-----------
[X86] combine-fcopysign.ll - extend test coverage to all x86-64/x86-64-v2/x86-64-v3/x86-64-v4 levels (#184579)
Commit: f702ee89c1d72fa5ff9b3b9b4e58f4f41321419b
https://github.com/llvm/llvm-project/commit/f702ee89c1d72fa5ff9b3b9b4e58f4f41321419b
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Fix partially uninitialized accesses after 17aaa0e590a7. (#184583)
17aaa0e590a7 adjusted how parts of the union members are managed. Make
sure the full union is initialized, to fix MSan failure in
https://lab.llvm.org/buildbot/#/builders/164/builds/19313.
Commit: f1aa7c3c5fc9d818ccef49a919cf5f9a42a64e28
https://github.com/llvm/llvm-project/commit/f1aa7c3c5fc9d818ccef49a919cf5f9a42a64e28
Author: Fedor Nikolaev <fridrixnm at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp
M mlir/test/Dialect/ControlFlow/canonicalize.mlir
Log Message:
-----------
[mlir][cf] Canonicalize block args with uniform incoming values (#183966)
Add a canonicalization pattern that replaces block arguments with a
common SSA value when all predecessors pass the same value for that
argument. This allows the block argument to be removed by dead code
elimination. First itteration
Idea from #182711
Commit: 8ac00ba7f9f1b50732ae568de8ed44cce9b2a303
https://github.com/llvm/llvm-project/commit/8ac00ba7f9f1b50732ae568de8ed44cce9b2a303
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
M mlir/test/Conversion/SCFToEmitC/scf-to-emitc-failed.mlir
Log Message:
-----------
[mlir][SCFToEmitC] Fix crash when scf.while carries a memref loop variable (#183944)
When a scf.while op has a loop-carried value whose type converts to
emitc::ArrayType (e.g. memref<1xf64>), the WhileLowering pattern
unconditionally called emitc::LValueType::get(arrayType), which
triggered an assertion because LValueType cannot wrap an array type.
Fix by returning a match failure in createVariablesForResults and
createVariablesForLoopCarriedValues when the converted type is an
emitc::ArrayType. This converts the crash into a proper legalization
failure.
Fixes #182649
Commit: de5e081a833910ec33e8017b6be8247a7788ee27
https://github.com/llvm/llvm-project/commit/de5e081a833910ec33e8017b6be8247a7788ee27
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M flang/test/Lower/Intrinsics/adjustr.f90
M flang/test/Lower/Intrinsics/all.f90
M flang/test/Lower/Intrinsics/any.f90
M flang/test/Lower/Intrinsics/asinpi.f90
M flang/test/Lower/Intrinsics/associated.f90
Log Message:
-----------
[flang][NFC] Converted five tests from old lowering to new lowering (part 23) (#184533)
Tests converted from test/Lower/Intrinsics: adjustr.f90, all.f90,
any.f90, asinpi.f90, associated.f90
Commit: d0f50d55746aa27e6467cb2bce66596da9da065b
https://github.com/llvm/llvm-project/commit/d0f50d55746aa27e6467cb2bce66596da9da065b
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/test/CodeGenOpenCL/amdgpu-ieee.cl
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/SIModeRegisterDefaults.cpp
M llvm/lib/Target/AMDGPU/SIProgramInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
M llvm/test/CodeGen/AMDGPU/amdpal-callable.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-default.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-denormal.ll
A llvm/test/CodeGen/AMDGPU/amdpal-msgpack-dx10-clamp-on.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-dx10-clamp.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-ieee.ll
M llvm/test/CodeGen/AMDGPU/hsa-fp-mode.ll
M llvm/test/CodeGen/AMDGPU/omod-nsz-flag.mir
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-no-ir.mir
M llvm/test/MC/AMDGPU/hsa-diag-v4.s
M llvm/test/Transforms/Inline/AMDGPU/inline-amdgpu-dx10-clamp.ll
M llvm/test/Transforms/Inline/AMDGPU/inline-amdgpu-ieee.ll
Log Message:
-----------
[AMDGPU] Remove DX10_CLAMP and IEEE bits from gfx1170 (#182107)
Add `DX10ClampAndIEEEMode` feature and set it for every subtarget prior
to gfx1170
Commit: 943eb6fd958e8b130ee94f5c65b7d53ec3419acc
https://github.com/llvm/llvm-project/commit/943eb6fd958e8b130ee94f5c65b7d53ec3419acc
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/test/Transforms/LoopVectorize/find-last.ll
Log Message:
-----------
[LV] Use make_early_inc_range in handleFindLastReductions (#184340)
Fixes #182152
Commit: ee92ac2343f6e0ff787bbe660c9a9293caa5269c
https://github.com/llvm/llvm-project/commit/ee92ac2343f6e0ff787bbe660c9a9293caa5269c
Author: Jueon Park <79134656+JueonPark at users.noreply.github.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M mlir/lib/Dialect/NVGPU/Transforms/OptimizeSharedMemory.cpp
M mlir/test/Dialect/NVGPU/optimize-shared-memory.mlir
Log Message:
-----------
[mlir][nvgpu] Fix crash in optimize-shared-memory pass with vector element types (#179111)
The `--nvgpu-optimize-shared-memory` pass crashed when processing
memrefs with vector element types (e.g., `memref<16x1xvector<16xf16>,
3>`). This occurred because getElementTypeBitWidth() calls
getIntOrFloatBitWidth(), which asserts the element type must be an
integer or float.
Thus, this PR adds an early-exit guard to return failure() when the
memref's element type is not a scalar int or float.
I wasn't sure if we should support vector types (by multiplying element
bit width by vector length) or just reject them. For now, I've
implemented it to return failure on non-scalar types.
Fixes #177823
Co-authored-by: rebel-jueonpark <jueonpark at rebellions.ai>
Commit: 7f044944e43eab4f5f52664a9022b1cc083ab258
https://github.com/llvm/llvm-project/commit/7f044944e43eab4f5f52664a9022b1cc083ab258
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/Arith/IR/ArithBase.td
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/IR/CommonTypeConstraints.td
M mlir/test/Dialect/Arith/canonicalize.mlir
M mlir/test/Dialect/Arith/invalid.mlir
M mlir/test/Dialect/Vector/invalid.mlir
Log Message:
-----------
[MLIR][Arith][Vector] Reject i0 integer type in arith and vector ops (#183589)
Add ODS type constraints that exclude zero-bitwidth integers (i0) from
operations in the arith and vector dialects. i0 has no meaningful
arithmetic representation and operations on it can trigger undefined
behavior (e.g. bitwidth calculations assuming non-zero width).
Changes:
- Add `AnyNonZeroBitwidthSignlessInteger` (as a `ConfinedType` over
`AnySignlessInteger`) and `AnyNonZeroBitwidthSignlessIntegerOrIndex`
to CommonTypeConstraints.td.
- Introduce `Arith_SignlessIntegerOrIndexLike` in ArithOps.td that wraps
`AnyNonZeroBitwidthSignlessIntegerOrIndex` via
`TypeOrValueSemanticsContainer`, and update
`SignlessFixedWidthIntegerLike`
to use `AnyNonZeroBitwidthSignlessInteger`. Replace all uses of the
shared `SignlessIntegerOrIndexLike` in ArithOps.td with the new
dialect-local constraint.
- Update `IndexCastTypeConstraint` to use
`Arith_SignlessIntegerOrIndexLike`.
- Update `BitcastTypeConstraint` to exclude i0 by composing the already-
defined `SignlessFixedWidthIntegerLike` and `FloatLike` constraints,
keeping the definition compact (3 alternatives instead of 7).
- Add `AnyVectorOfNonI0Elem` and `AnyVectorOfNonZeroRankNonI0Elem` in
VectorOps.td and apply them to `vector.contract`, `vector.reduction`,
`vector.multi_reduction`, `vector.outerproduct`, `vector.bitcast`, and
`vector.scan`.
- Update arith/invalid.mlir with explicit i0 rejection tests covering
all
integer op families (binary ops, cast ops, extended-multiply ops, cmpi,
bitcast, index_cast, index_castui) for both scalar and vector<N> forms.
- Update vector/invalid.mlir with i0 rejection tests for all covered
ops.
- Remove the now-invalid i0 canonicalization tests from
arith/canonicalize.mlir.
Fixes #177822
Fixes #179266
Fixes #180463
Fixes #181532
See also
https://discourse.llvm.org/t/rfc-reject-i0-integer-type-in-arith-and-vector-ops/90011
Commit: 9c2829f2e1883a8634edf4008f1cbc5928c63eeb
https://github.com/llvm/llvm-project/commit/9c2829f2e1883a8634edf4008f1cbc5928c63eeb
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M mlir/lib/Dialect/Func/IR/FuncOps.cpp
M mlir/test/Dialect/Func/invalid.mlir
M mlir/test/IR/test-region-branch-op-verifier.mlir
Log Message:
-----------
[mlir][Func] Use getMutableSuccessorOperands() in FuncOp verifier (#184589)
When verifying return-like terminators, use
getMutableSuccessorOperands() instead of getNumOperands() so that only
the operands passed to the parent region are checked against the
function result types. This handles terminators that implement
RegionBranchTerminatorOpInterface and carry additional operands for
other successor regions (e.g. loop back-edges).
Add tests using test.loop_block_term, which has both an iter operand
(passed back to the region) and an exit operand (passed to the parent).
Commit: ee8184573f03fde4aa642d2f90254096477d9805
https://github.com/llvm/llvm-project/commit/ee8184573f03fde4aa642d2f90254096477d9805
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M flang/lib/Lower/PFTBuilder.cpp
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/do-while-to-scf-while.f90
M flang/test/Lower/loops.f90
M flang/test/Lower/mixed_loops.f90
M flang/test/Lower/pre-fir-tree02.f90
M flang/test/Lower/while_loop.f90
Log Message:
-----------
Revert "[flang] make lowering to scf.while default" (#184592)
Reverts llvm/llvm-project#184234
This is breaking SPEC and other tests.
Reproducer:
```
subroutine foo()
logical :: l1, l2
do while (l1())
if (l2()) then
call bar()
endif
enddo
end
```
The cause is a pass ordering issue between the SCFToControlFlowPass and
CfgConversionPass
[here](https://github.com/llvm/llvm-project/blob/d0f50d55746aa27e6467cb2bce66596da9da065b/flang/lib/Optimizer/Passes/Pipelines.cpp#L239-L240).
I think they need to be run simultaneously somehow because the both SCF
and FIR structured operations may contain each other, and none will be
happy to get block CFG generated inside their region by the pass
lowering the other.
Reverting while this is sorted out.
Commit: 0a1e39517b229592c9a36eb366b0f70b73f1b4f3
https://github.com/llvm/llvm-project/commit/0a1e39517b229592c9a36eb366b0f70b73f1b4f3
Author: Ella Ma <alansnape3058 at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/test/Analysis/missing-z3-nocrash.c
M clang/test/lit.cfg.py
Log Message:
-----------
[nfc][analyzer][test][z3] Replace "REQUIRES: no-z3" with "UNSUPPORTED: z3" (#184349)
Fixing D120325, continuing #183724
Lit feature "no-z3" is the opposite of "z3", requiring "no-z3" is the
same as unsupporting "z3".
Commit: 1f4074b771bea3e29c9efbbd3d22689e62773af1
https://github.com/llvm/llvm-project/commit/1f4074b771bea3e29c9efbbd3d22689e62773af1
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/test/Dialect/LLVMIR/sroa.mlir
Log Message:
-----------
[mlir][llvm] Fix SROA crash on empty LLVM struct types (#184596)
When SROA runs on an alloca of an empty struct type (llvm.struct<()>),
it crashes with:
Assertion `\!subelementIndexMap->empty()' failed.
The root cause is in LLVMStructType::getSubelementIndexMap(): for an
empty struct (no body fields), the loop doesn't execute and an empty
DenseMap is returned as a non-null optional. Later, getTypeAtIndex()
asserts the map is non-empty, triggering the crash.
Fix this by returning std::nullopt for empty structs, indicating they
cannot be destructured. This is consistent with how LLVMArrayType
handles the zero-element case.
Fixes #108366
Commit: c2784e11cc4405cbc64d1928cbcabbbd0759777b
https://github.com/llvm/llvm-project/commit/c2784e11cc4405cbc64d1928cbcabbbd0759777b
Author: Phoebe Linck <phoebelinck at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenMP/resolve05.f90
Log Message:
-----------
[Flang][OpenMP] DEFAULT(NONE) error checking on implicit references (#182214)
A variable with an unspecified data-sharing attribute under a
DEFAULT(NONE) clause only emits an error if the variable is explicitly
referenced in the body of the construct with DEFAULT(NONE).
Ex:
```
!$omp parallel default(none)
!$omp task
a = 1
!$omp end task
!$omp end parallel
end
```
gfortran will error with `‘a’ not specified in enclosing ‘parallel’` on
the above. flang doesn't error.
Fix moves the error check to `CreateImplicitSymbols` and checks the
variable for a violation in any of its enclosing contexts.
Commit: 095e1694d9c095ab6b1f515811ea968e6f8f712d
https://github.com/llvm/llvm-project/commit/095e1694d9c095ab6b1f515811ea968e6f8f712d
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/Randstruct.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/Driver/CreateASTUnitFromArgs.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Lex/PPExpressions.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/lib/Tooling/DependencyScanningTool.cpp
Log Message:
-----------
[clang] Turn misc copy-assign to move-assign (#184144)
That's an automated patch generated from clang-tidy
performance-use-std-move as a follow-up to #184136
Commit: 8bb41c929f3ab6687a8681c5376f9078e4646878
https://github.com/llvm/llvm-project/commit/8bb41c929f3ab6687a8681c5376f9078e4646878
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
Log Message:
-----------
AMDGPU: Fix copy of Triple (#184594)
Commit: 98ed41718b0f2dfafdb2e54ad7c34f14ebcfdbc3
https://github.com/llvm/llvm-project/commit/98ed41718b0f2dfafdb2e54ad7c34f14ebcfdbc3
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/early_exit_with_stores.ll
A llvm/test/Transforms/LoopVectorize/RISCV/early_exit_with_stores.ll
A llvm/test/Transforms/LoopVectorize/VPlan/early_exit_with_stores_vplan.ll
M llvm/test/Transforms/LoopVectorize/early_exit_store_legality.ll
A llvm/test/Transforms/LoopVectorize/early_exit_with_stores.ll
Log Message:
-----------
[LV] Transform tests for early-exit with stores (#183288)
Precommit of transform tests for #178454
Commit: 5cf09a68a63dde0158973682717b1a5f2c0d552c
https://github.com/llvm/llvm-project/commit/5cf09a68a63dde0158973682717b1a5f2c0d552c
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/clmul-fixed.ll
M llvm/test/CodeGen/AArch64/clmul.ll
Log Message:
-----------
[AArch64][ISel] Use vector register for scalar CLMUL (#183282)
Even though there are only v8i8 and v1i64 variants for pmul/pmull, Using
them is faster than the current implementation for scalar CLMUL.
Commit: 0af2d43e06415ce1e8a5d49e864c3881048dd08b
https://github.com/llvm/llvm-project/commit/0af2d43e06415ce1e8a5d49e864c3881048dd08b
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclAttr.cpp
A clang/test/SemaCXX/attr-exclude_from_explicit_instantiation.ignore-dllattr.cpp
Log Message:
-----------
[Clang] Warn if both of `dllexport`/`dllimport` and `exclude_from_explicit_instantiation` are specified (#183515)
The attributes `exclude_from_explicit_instantiation` and
`dllexport`/`dllimport` serve opposite purposes.
Therefore, if an entity has both attributes, drop one with a warning,
depending on the context of the declaration.
In a template context, the `exclude_from_explicit_instantiation`
attribute takes precedence over the `dllexport` or `dllimport`
attribute. Conversely, the `dllexport` and `dllimport` attributes are
prioritized, in a non-template context.
Commit: 05fdd5383967042c7cb00871de2397d3d5e87b92
https://github.com/llvm/llvm-project/commit/05fdd5383967042c7cb00871de2397d3d5e87b92
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/lib/Sema/SemaConcept.cpp
M clang/test/SemaTemplate/concepts.cpp
Log Message:
-----------
[Clang] Fix the lambda context for constraint evaluation (#184319)
Constraint lambdas in the requires body need complete template arguments
before they can be evaluated. That was connected by
ImplicitConceptSpecializationDecl which is no longer created naturally
after the normalization patch.
This patch fixes the bug by creating a temporary decl for that purpose.
Though the temporary object should go away once we have the evaluation
context track template arguments.
No release note for being a regression fix.
Fixes #184047
Commit: 1b3545117df0dfcea164d33a2432c66aa3b7f559
https://github.com/llvm/llvm-project/commit/1b3545117df0dfcea164d33a2432c66aa3b7f559
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M mlir/lib/Dialect/IRDL/IR/IRDL.cpp
M mlir/test/Dialect/IRDL/invalid_names.irdl.mlir
Log Message:
-----------
[mlir][irdl] Fix crash in TypeOp/AttributeOp verify on empty sym_name (#184598)
TypeOp::verify() and AttributeOp::verify() called StringRef::front() to
check for leading '\!' or '#' sigils before passing the name to
isValidName(). When sym_name is empty, front() triggers an assertion
failure:
Assertion `\!empty()' failed.
Fix: guard the front() calls with an emptiness check. An empty sym_name
then falls through to isValidName(), which already emits a proper
diagnostic:
error: name of type is empty
Fixes #159949
Commit: 47766d7f8c397da857d9f78db36c71e8a2ca1fbf
https://github.com/llvm/llvm-project/commit/47766d7f8c397da857d9f78db36c71e8a2ca1fbf
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.td
M clang/include/clang/Basic/BuiltinsAMDGPUDocs.td
Log Message:
-----------
[AMDGPU][Clang][Doc] Add documentation for WMMA builtins (#183939)
Commit: c2e22e3b797da806e8d67eb5dafd31b425d0c1af
https://github.com/llvm/llvm-project/commit/c2e22e3b797da806e8d67eb5dafd31b425d0c1af
Author: Ken Matsui <26405363+ken-matsui at users.noreply.github.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/utils/hmaptool/CMakeLists.txt
Log Message:
-----------
[clang][cmake] Add option to control hmaptool installation (#172725)
Commit: 21c1ba16edc01cc14d8d0f6893beebad5afc3619
https://github.com/llvm/llvm-project/commit/21c1ba16edc01cc14d8d0f6893beebad5afc3619
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
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/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/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/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/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/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/spill-vector-superclass.ll
M llvm/test/CodeGen/AMDGPU/subreg-undef-def-with-other-subreg-defs.mir
A llvm/test/TableGen/ArtificialRegs.td
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_isel.ll.expected
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.h
Log Message:
-----------
[TableGen] Complete the support for artificial registers (#183371)
Artificial registers were added in
eb0c510ecde667cd911682cc1e855f73f341d134
as a means of giving super-registers heavier weights than that
of their subregisters, even when they only contain a single
physical subregister.
Artifical registers thus do exist in code and participate in
register unit weight calculations, but are not supposed to be
available for register allocation.
This patch completes the support for artificial registers to:
- Ignore artificial registers when joining register unit uber
sets. Artificial registers may be members of classes that
together include registers and their sub-registers, making it
impossible to compute normalised weights for uber sets they
belong to.
We have a use case downstream relying on this being supported,
which allows to avoid introducing a large number of additional
register classes.
- Not generate purely artificial register class intersections.
It is critical not to have such classes, as the common LLVM
codegen infrastructure will try to use them to constrain
classes of virtual registers instead of producing COPYs
whenever both the source and target register classes contain
the same artificial registers.
- Not generate sub-classes where classes with the same
non-artificial members already exist. This is mostly for
convenience. For example, the HI16-capable subset of AMDGPU's
AV_32 is VGPR_32, except VGPR_32 also contains the artificial
staging registers. If the staging registers are not ignored,
we'll end up having an additional generated register class,
AV_32_with_hi16_in_VGPR_16, -- harmless, but also useless.
Eliminates a few inferred AMDGPU register classes:
- VS_32_with_hi16
- VS_32_Lo256_with_hi16
- VS_32_Lo128_with_hi16
- VRegOrLds_32_and_VS_32_Lo256
- VRegOrLds_32_and_VS_32_Lo128
- SRegOrLds_32_and_VRegOrLds_32
Causes no register class changes for other targets.
Commit: 71de1e47c012aa4621068634fa955052aa7f56a7
https://github.com/llvm/llvm-project/commit/71de1e47c012aa4621068634fa955052aa7f56a7
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64InstrAtomics.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/aarch64-addv.ll
M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
M llvm/test/CodeGen/AArch64/aarch64-pmull2.ll
M llvm/test/CodeGen/AArch64/aarch64-scal-to-vec-bitcast-insert.ll
M llvm/test/CodeGen/AArch64/arm64-cvt-simd-intrinsics.ll
M llvm/test/CodeGen/AArch64/arm64-fixed-point-scalar-cvt-dagcombine.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-neon-select_cc.ll
M llvm/test/CodeGen/AArch64/arm64-neon-v8.1a.ll
M llvm/test/CodeGen/AArch64/arm64-vcvt.ll
M llvm/test/CodeGen/AArch64/arm64-vshift.ll
M llvm/test/CodeGen/AArch64/avoid-pre-trunc.ll
M llvm/test/CodeGen/AArch64/bitcast-extend.ll
M llvm/test/CodeGen/AArch64/bitcnt-i256.ll
M llvm/test/CodeGen/AArch64/concat-vector-add-combine.ll
M llvm/test/CodeGen/AArch64/ctpop.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics-vector.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/fsh.ll
M llvm/test/CodeGen/AArch64/ragreedy-local-interval-cost.ll
M llvm/test/CodeGen/AArch64/select-bitcast.ll
M llvm/test/CodeGen/AArch64/sext.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-to-int.ll
M llvm/test/CodeGen/AArch64/sve-fixed-vector-llrint.ll
M llvm/test/CodeGen/AArch64/sve-fixed-vector-lrint.ll
M llvm/test/CodeGen/AArch64/vector-llrint.ll
M llvm/test/CodeGen/AArch64/vector-lrint.ll
M llvm/test/CodeGen/AArch64/zext.ll
Log Message:
-----------
Reapply "[AArch64] Wrap integer SCALAR_TO_VECTOR nodes in bitcasts (#172837)" (#183380) (#184403)
This reverts commit b7ce37c6703f2d82376f50f82a05b807a0ad90ad.
The
[issue](https://github.com/llvm/llvm-project/pull/172837#issuecomment-3961532435)
this patch revealed was fixed by [this
patch](https://github.com/llvm/llvm-project/pull/183549).
Commit: c6bb6a7e425472d670da80036f39645580668282
https://github.com/llvm/llvm-project/commit/c6bb6a7e425472d670da80036f39645580668282
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
A llvm/test/Transforms/LoopVectorize/tail-folding-masked-mem-opts.ll
Log Message:
-----------
[LV] Add `-force-target-supports-masked-memory-ops` option (#184325)
This can be used to make target agnostic tail-folding tests much less
verbose, as masked loads/stores can be used rather than scalar
predication.
Commit: 0cbba3ed5f12476140ec1b47b777c743e705bf26
https://github.com/llvm/llvm-project/commit/0cbba3ed5f12476140ec1b47b777c743e705bf26
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M flang-rt/CMakeLists.txt
Log Message:
-----------
[flang-rt] Fix incorrect condition for removing backtrace (#184610)
Commit: 073de3b80375bc510863f4cdeb0b2757676111bb
https://github.com/llvm/llvm-project/commit/073de3b80375bc510863f4cdeb0b2757676111bb
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
Log Message:
-----------
[SPIRV] Rename `selectSelectDefaultArgs` to `selectBoolToInt` (#184120)
The function is used to extend a `bool` (vector or scalar) into `1/-1`
for `true` and `0` for `false` (vector or scalar).
There is no obvious "default" argument for a select operation, so the
original name is confusing.
This patch:
* Renames this function to better signal its intention,
* makes the boolean argument explicit in the function (instead of
implicit through the first register operand of the instruction),
* rename `I` to `InsertAt`.
Commit: 5c274078422435b1c666d99375e958d30c4b77a6
https://github.com/llvm/llvm-project/commit/5c274078422435b1c666d99375e958d30c4b77a6
Author: Tarun Thammisetty <thammisettytarun at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp
A clang/test/Analysis/Inputs/virtualcall-system-header.h
M clang/test/Analysis/virtualcall.cpp
Log Message:
-----------
[analyzer] Suppress optin.cplusplus.VirtualCall warnings in system headers (#184183)
Fixes #184178
The optin.cplusplus.VirtualCall checker reports warnings for virtual
method calls during construction/destruction even when the call site is
in a system header (included via -isystem). Users cannot fix such code
and must resort to NOLINT suppressions.
Add a system header check in checkPreCall before emitting the report,
consistent with how other checkers (e.g. MallocChecker) handle this.
Commit: 11c11ec2e9fd825f625fd7fcb8318e72fe1b9e4a
https://github.com/llvm/llvm-project/commit/11c11ec2e9fd825f625fd7fcb8318e72fe1b9e4a
Author: Benjamin Luke <benjamin.luke at sony.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Lex/Lexer.cpp
A clang/test/Preprocessor/miopt-peek-restore-header-guard.cpp
M clang/unittests/Lex/LexerTest.cpp
Log Message:
-----------
[clang][Lex] Preserve MultipleIncludeOpt state in Lexer::peekNextPPToken (#183425)
Fixes https://github.com/llvm/llvm-project/issues/180155.
This is a duplicate of https://github.com/llvm/llvm-project/pull/180700
except that I also added some tests, fine to go with either PR, but we
should add the tests.
peekNextPPToken lexed a token and mutated MIOpt, which could clear the
controlling-macro state for main files in C++20 modules mode.
Save/restore MIOpt in Lexer::peekNextPPToken.
Add regression coverage in
LexerTest.MainFileHeaderGuardedWithCPlusPlusModules that checks to make
sure the controlling macro is properly set in C++20 mode.
Add source level lit test in miopt-peek-restore-header-guard.cpp that
checks to make sure that the warnings that depend on the MIOpt state
machine are emitted in C++20 mode.
Commit: 50653e5a0d1db1b7a9451cb98fb1b56224449d72
https://github.com/llvm/llvm-project/commit/50653e5a0d1db1b7a9451cb98fb1b56224449d72
Author: Sayan Saha <sayans at mathworks.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
Log Message:
-----------
[tosa] : Enhance tosa.slice folding for dynamic dims. (#184615)
Source IR:
```
func.func @main(%arg0: tensor<?x112x64x112xf32>) -> tensor<?x113x65x112xf32> {
%0 = tosa.const_shape {values = dense<[0, 0, 1, 1, 1, 1, 0, 0]> : tensor<8xindex>} : () -> !tosa.shape<8>
%1 = "tosa.const"() <{values = dense<0.000000e+00> : tensor<1xf32>}> : () -> tensor<1xf32>
%2 = tosa.pad %arg0, %0, %1 : (tensor<?x112x64x112xf32>, !tosa.shape<8>, tensor<1xf32>) -> tensor<?x114x66x112xf32>
%3 = tosa.const_shape {values = dense<0> : tensor<4xindex>} : () -> !tosa.shape<4>
%4 = tosa.const_shape {values = dense<[-1, 113, 65, 112]> : tensor<4xindex>} : () -> !tosa.shape<4>
%5 = tosa.slice %2, %3, %4 : (tensor<?x114x66x112xf32>, !tosa.shape<4>, !tosa.shape<4>) -> tensor<?x113x65x112xf32>
return %5 : tensor<?x113x65x112xf32>
}
```
when canonicalized produces
```
$> mlir-opt --canonicalize
func.func @main(%arg0: tensor<?x112x64x112xf32>) -> tensor<?x113x65x112xf32> {
%0 = tosa.const_shape {values = dense<0> : tensor<4xindex>} : () -> !tosa.shape<4>
%1 = tosa.const_shape {values = dense<[-1, 113, 65, 112]> : tensor<4xindex>} : () -> !tosa.shape<4>
%2 = "tosa.const"() <{values = dense<0.000000e+00> : tensor<1xf32>}> : () -> tensor<1xf32>
%3 = tosa.const_shape {values = dense<[0, 0, 1, 0, 1, 0, 0, 0]> : tensor<8xindex>} : () -> !tosa.shape<8>
%4 = tosa.pad %arg0, %3, %2 : (tensor<?x112x64x112xf32>, !tosa.shape<8>, tensor<1xf32>) -> tensor<?x113x65x112xf32>
%5 = tosa.slice %4, %0, %1 : (tensor<?x113x65x112xf32>, !tosa.shape<4>, !tosa.shape<4>) -> tensor<?x113x65x112xf32>
return %5 : tensor<?x113x65x112xf32>
}
```
because of the `PadSliceOptimization`. Note that the `tosa.slice` op
after the optimization is essentially a no-op. This change, enhances the
folder to fold such `tosa.slice` ops. After this change canonicalization
produces
```
func.func @main(%arg0: tensor<?x112x64x112xf32>) -> tensor<?x113x65x112xf32> {
%0 = "tosa.const"() <{values = dense<0.000000e+00> : tensor<1xf32>}> : () -> tensor<1xf32>
%1 = tosa.const_shape {values = dense<[0, 0, 1, 0, 1, 0, 0, 0]> : tensor<8xindex>} : () -> !tosa.shape<8>
%2 = tosa.pad %arg0, %1, %0 : (tensor<?x112x64x112xf32>, !tosa.shape<8>, tensor<1xf32>) -> tensor<?x113x65x112xf32>
return %2 : tensor<?x113x65x112xf32>
}
```
Commit: c370f5af6c8d337216b1f86589ab3e48d1c5a598
https://github.com/llvm/llvm-project/commit/c370f5af6c8d337216b1f86589ab3e48d1c5a598
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
Log Message:
-----------
[VPlan] Preserve IsSingleScalar for hoisted predicated load. (#184453)
The predicated loads may be single scalar (e.g. for VF = 1). We should
preserve IsSingleScalar when hoisting them. As all loops access the same
address, IsSingleScalar must match across all loads in the group.
This fixes an assertion when interleaving-only with hoisted loads.
Fixes https://github.com/llvm/llvm-project/issues/184372
PR: https://github.com/llvm/llvm-project/pull/184453
Commit: 56e0b6af1d3948fa2ed56149a02707adaa7a4074
https://github.com/llvm/llvm-project/commit/56e0b6af1d3948fa2ed56149a02707adaa7a4074
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M mlir/test/Dialect/Affine/SuperVectorize/vectorize_unsupported.mlir
M mlir/test/lib/Dialect/Affine/TestVectorizationUtils.cpp
Log Message:
-----------
[mlir][affine] Fix crash in vectorizeAffineLoopNest test utility for reduction loops (#184617)
The test utility function `testVecAffineLoopNest` called
`isLoopParallel` with a `reductions` output parameter, which populates
reduction descriptors when the loop performs a reduction. However, these
descriptors were never added to `strategy.reductionLoops` before calling
`vectorizeAffineLoopNest`. When the vectorizer then processed a loop
with `iter_args`, it found no reduction descriptors in the strategy and
hit an assertion failure.
Fix by registering the reduction loop descriptors in the strategy before
vectorization, matching what the production vectorizer code already does
correctly.
Fixes #128334
Commit: c9ca768c88cc2bec4240b8710e6d173e7be278e4
https://github.com/llvm/llvm-project/commit/c9ca768c88cc2bec4240b8710e6d173e7be278e4
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/test/Dialect/Shape/invalid.mlir
Log Message:
-----------
[mlir][shape] Fix crash when shape.lib array references undefined symbol (#184613)
In verifyOperationAttribute(), the single-symbol path for shape.lib used
SymbolTable::lookupSymbolIn() followed by an explicit null check. The
array path at line 196-197 used dyn_cast<FunctionLibraryOp>() directly
on the lookup result, which asserts when the symbol is not found (null
pointer).
Fix: use dyn_cast_or_null<> instead of dyn_cast<> so that a missing
symbol falls through to the existing "does not refer to
FunctionLibraryOp" error diagnostic instead of asserting.
Fixes #159653
Commit: 33be2d0e7ab2c8874f53df8cbbda07381020b1c4
https://github.com/llvm/llvm-project/commit/33be2d0e7ab2c8874f53df8cbbda07381020b1c4
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/clmul-fixed.ll
M llvm/test/CodeGen/AArch64/clmul.ll
Log Message:
-----------
[AArch64] Update clmul tests after #184403 (#184611)
This was likely a mid-air collision with #183282. Update the tests to
match the current state of HEAD.
Commit: c123642824fdc9e1f2b6fda849b5cde113372229
https://github.com/llvm/llvm-project/commit/c123642824fdc9e1f2b6fda849b5cde113372229
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[CI] Install binutils-dev in pre-merge container (#184608)
This is to get the plugin-api.h file, to allow running tests for the
gold plugin.
Commit: e5a6a0f10856b14ea0956b40305632fbbfea6f16
https://github.com/llvm/llvm-project/commit/e5a6a0f10856b14ea0956b40305632fbbfea6f16
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
A llvm/test/CodeGen/SPIRV/global-var-no-functions.ll
M llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-global.ll
M llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-nested.ll
M llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-struct.ll
M llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-undef.ll
Log Message:
-----------
[SPIRV] Fix global emission for modules with no functions (#183833)
Right now we have a problem where if you have a LLVM module with globals
but no functions, a completely empty SPIR-V module is emitted.
This is because global emission is dependent on tracking intrinsic
functions being emitted in functions.
As a simple fix, just insert a service function, which the backend is
already set up to not actually emit, if there are no real functions.
The current use case of the service function is for function pointers. I
don't think it's possible that we need to both generate a service
function for function pointers and for globals with no functions, so I
just added an error (not an assert) just in case if we do need it for
both cases.
Probably we should rework global handling in the future to work without
these workarounds, but this is a pretty fundamental issue so let's work
around it with this simple change for now.
This change exposed an existing bug:
We consider basic blocks with no successors as fall-through
Also, fix some existing tests. The symptom was:
We previously emitted an empty module, but not that we don't, we hit a
`spirv-val` error about invalid Function StorageClass for globals
because no `addrspace` was specified. Set the `addrspace` to `1`
(`CrossWorkgroup`) in those tests.
Closes: https://github.com/llvm/llvm-project/issues/182899
---------
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: b28ec5ad18080d40f62de0eb5a07c9ebb7649451
https://github.com/llvm/llvm-project/commit/b28ec5ad18080d40f62de0eb5a07c9ebb7649451
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/Func/IR/FuncOps.td
M mlir/lib/Dialect/Func/IR/FuncOps.cpp
M mlir/test/Dialect/Func/invalid.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir][Func] Fix FuncOp verifier ordering via hasRegionVerifier (#184612)
FuncOp::verify() iterated over all blocks and called
getMutableSuccessorOperands() on any RegionBranchTerminatorOpInterface
terminator to check return types. This ran during the entrance phase of
verification — before child ops had been verified — so a malformed
terminator whose getMutableSuccessorOperands() assumed invariants
established by its own verify() could crash instead of emitting a clean
diagnostic.
Fix by switching to hasRegionVerifier=1: rename verify() →
verifyRegions() so the return-type checks run in the exit phase, after
all nested ops have already been verified.
To demonstrate the bug and guard against regression, add
TestCrashingReturnOp to the test dialect. The op implements
RegionBranchTerminatorOpInterface and report_fatal_errors in
getMutableSuccessorOperands() when its 'valid' unit-attr is absent,
reproducing the class of crash described above. The accompanying lit
test confirms a clean diagnostic is emitted rather than a crash.
Commit: ded64d2417d4394ae47d69653a5798a3a36dd9c7
https://github.com/llvm/llvm-project/commit/ded64d2417d4394ae47d69653a5798a3a36dd9c7
Author: Mircea Trofin <mtrofin at google.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
M llvm/unittests/Analysis/DomTreeUpdaterTest.cpp
Log Message:
-----------
[DTU] fix dominator tree update eliding reachable nodes (#177683)
The initial CFG looks like this:

After inlining, it looks like this:

It should be sufficient to add and remove the edges shown in the test, i.e.:
- add: `bb3->bb1.i` and `bb3->bb2.i`
- remove: `bb3->bb4`, `bb3->bb5` and `bb5->bb8`
New nodes, like `bb5.body`, get discovered when adding bb3->bb2.i. See the "StepByStep" variant of the test). Without the fix in this patch, however, `bb5.body` gets elided when the deleted edges get taken into account, and `DT` is left invalid.
Commit: a3eb13b5bfd1f216afcc128f9452bbb72daba0d6
https://github.com/llvm/llvm-project/commit/a3eb13b5bfd1f216afcc128f9452bbb72daba0d6
Author: Takashi Idobe <idobetakashi at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
A llvm/test/CodeGen/X86/mulx64-no-implicit-copy.ll
Log Message:
-----------
[X86] remove unnecessary movs when %rdx is an input to mulx (#184462)
Closes: https://github.com/llvm/llvm-project/issues/174912
When generating a `mulx` instruction for a widening multiplication, even
if one input is placed in %rdx, LLVM won't place it in the implicit
first slot, instead it'll generate two movs before calling mulx to swap
the registers, which are unnecessary. GCC already has this optimization
(as shown in the issue) so this puts the two compilers closer to each
other on that front.
Co-authored-by: Aiden Grossman <aidengrossman at google.com>
Commit: 247a9bfc26ad1f062c52f7b4625ec0e0710a6424
https://github.com/llvm/llvm-project/commit/247a9bfc26ad1f062c52f7b4625ec0e0710a6424
Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M mlir/lib/Dialect/AMDGPU/Transforms/FoldMemRefsOps.cpp
M mlir/test/Dialect/AMDGPU/amdgpu-fold-memrefs.mlir
Log Message:
-----------
[mlir][AMDGPU] Add folders for memref aliases to TDM base creation (#184567)
The TDM base creation (amdgpu.make_tdm_base and
amdgpu.make_gather_tdm_base) take references to a
`%memref[%i0, %i1,, ...]` for the starting point of the tiles in
global/shared memory that the TDM descriptor refers to. Memory alias ops
can be safely folded into these operations, since these two memref
operands are just pointers to a scalar starting pint and don't have
semantics that depend on the memref layout (except to the extent that it
defines a location in memory).
While I'm here, I've cleaned up a few things, like the incorrect file
header and fixed the tests to not use integer address spaces.
Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>
Commit: f55080da988a68da6736407b34eafd00817b7143
https://github.com/llvm/llvm-project/commit/f55080da988a68da6736407b34eafd00817b7143
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/implicit-map-pointer-no-default-mapper.f90
M flang/test/Lower/OpenMP/target-data-skip-mapper-calls.f90
Log Message:
-----------
[flang][OpenMP] Avoid implicit default mapper on pointer captures (#184382)
This change fixes incorrect implicit declare mapper behavior in Flang
OpenMP lowering.
Issue:
Implicit default mappers were being attached/generated for pointer-based
implicit captures, and also on data-motion directives. That could
trigger recursive component mapping that overlaps/conflicts with
explicit user mappings, causing runtime mapping failures.
Fix:
- Skip implicit default mapper generation for implicit pointer captures
(keep support for allocatables).
- Do not auto-attach implicit mappers on target enter data, target exit
data, or target update.
- Apply the same pointer guard in the implicit target-capture lowering
path.
Commit: e8e8d30b229a77d86e97c49a0680ddb7fdf77a14
https://github.com/llvm/llvm-project/commit/e8e8d30b229a77d86e97c49a0680ddb7fdf77a14
Author: Alexey Karyakin <akaryaki at qti.qualcomm.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/lib/Headers/hvx_hexagon_protos.h
A clang/test/Headers/hexagon-hvx-ieee-headers.c
Log Message:
-----------
[Hexagon] Use __HVX_IEEE_FP__ to guard protos that need -mhvx-ieee-fp (#184422)
Hexagon clang recently started to define __HVX_IEEE_FP__ when the
-mhvx-ieee-fp option is specified. Guard the intrinsic macros for
instructions that should only be available with -mhvx-ieee-fp with
__HVX_IEEE_FP__.
Additionally, the following NFC changes are included:
- NFC: Remove guards around HVX v60 intrinsic macros
Hexagon v60 is the oldest Hexagon version that supports HVX so these
guards were redundant. Presence of HVX is guarded separately, once
per the whole file.
- Remove comments from closing guards (HVX protos)
These comments served very limited function as they only guard
one macro. Also, they were incorrect. Instead of fixing remove them.
This will also reduce by the factor of two the amount of changes
when guarding conditions change.
Commit: 53aa77092ea72b85bec0c8bb1ba11ed1f2f2eefe
https://github.com/llvm/llvm-project/commit/53aa77092ea72b85bec0c8bb1ba11ed1f2f2eefe
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
[flang] Fix distribution build of Fortran builtin/intrinsic modules. (#184204)
Currently, `-DLLVM_DISTRIBUTION_COMPONENTS="flang-module-interfaces"`
doesn't work. It failed to build the Fortran builtin/intrinsic modules
as distribution build, `install-distribution`.
This PR is to fix that.
Commit: a40e83b29ce9b1642b0633c726032f1481d83bed
https://github.com/llvm/llvm-project/commit/a40e83b29ce9b1642b0633c726032f1481d83bed
Author: Kseniya Tikhomirova <kseniya.tikhomirova at intel.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M libsycl/docs/index.rst
A libsycl/include/sycl/__impl/async_handler.hpp
A libsycl/include/sycl/__impl/detail/default_async_handler.hpp
A libsycl/include/sycl/__impl/property_list.hpp
A libsycl/include/sycl/__impl/queue.hpp
M libsycl/include/sycl/sycl.hpp
M libsycl/src/CMakeLists.txt
A libsycl/src/detail/queue_impl.cpp
A libsycl/src/detail/queue_impl.hpp
A libsycl/src/queue.cpp
Log Message:
-----------
[libsycl] Add sycl::queue stub (#184110)
Part 2 of changes needed for USM alloc/dealloc impl.
This is part of the SYCL support upstreaming effort. The relevant RFCs
can be found here:
https://discourse.llvm.org/t/rfc-add-full-support-for-the-sycl-programming-model/74080
https://discourse.llvm.org/t/rfc-sycl-runtime-upstreaming/74479
---------
Signed-off-by: Tikhomirova, Kseniya <kseniya.tikhomirova at intel.com>
Commit: 8486d893bd7960ed6f0be8d2fa18cd96fb329a09
https://github.com/llvm/llvm-project/commit/8486d893bd7960ed6f0be8d2fa18cd96fb329a09
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Log Message:
-----------
[SelectionDAG] Fix -Wunused-variable after #179318 (#184623)
```
llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:3572:26: error: unused variable 'NanEnc' [-Werror,-Wunused-variable]
3572 | const fltNanEncoding NanEnc = SrcSem.nanEncoding;
| ^~~~~~
```
Simply inline the definition of the variable given it is not used
anywhere else and the assignment is a simple copy.
Commit: 7b72b5fde414fd7d41653a07ddb87f80038009aa
https://github.com/llvm/llvm-project/commit/7b72b5fde414fd7d41653a07ddb87f80038009aa
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel] Fix building lldb without libedit (#184535)
We were always trying to compile the libedit file even if it wasn't used
because we were missing this conditional from cmake:
https://github.com/llvm/llvm-project/blob/630b9570d199dca19dc85834f583bc8590a21876/lldb/source/Host/CMakeLists.txt#L57-L61
Commit: 613a5c555ebffd7f32ad48de7253e8c25fe627a4
https://github.com/llvm/llvm-project/commit/613a5c555ebffd7f32ad48de7253e8c25fe627a4
Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
M mlir/test/Dialect/LLVM/transform-e2e.mlir
M mlir/test/Dialect/Vector/transform-vector.mlir
R mlir/test/Dialect/Vector/vector-multi-reduction-reorder-and-expand.mlir
A mlir/test/Dialect/Vector/vector-multi-reduction-reorder.mlir
M mlir/test/Dialect/Vector/vector-multi-reduction-unrolling.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/reduce_1d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/reduce_2d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-matmul-masked-vec.mlir
M mlir/test/python/dialects/transform_vector_ext.py
Log Message:
-----------
[mlir][vector] Replace OneDimMultiReductionToTwoDim with OneDimMultiReductionToReduction (#184241)
The `OneDimMultiReductionToTwoDim` pattern had some issues. For the
input program:
```mlir
func.func @rank1_multi_reduction(%arg0: vector<8xf32>, %acc: f32) -> f32 {
%0 = vector.multi_reduction <add>, %arg0, %acc [0] : vector<8xf32> to f32
return %0 : f32
}
```
* when lowering using the inner-parallel strategy, the compiler would
essentially produce scalar code:
```mlir
func.func @rank1_multi_reduction(%arg0: vector<8xf32>, %arg1: f32) -> f32 {
%0 = vector.shape_cast %arg0 : vector<8xf32> to vector<1x8xf32>
%1 = vector.broadcast %arg1 : f32 to vector<1xf32>
%2 = vector.transpose %0, [1, 0] : vector<1x8xf32> to vector<8x1xf32>
%3 = vector.extract %2[0] : vector<1xf32> from vector<8x1xf32>
%4 = arith.addf %3, %1 : vector<1xf32>
%5 = vector.extract %2[1] : vector<1xf32> from vector<8x1xf32>
%6 = arith.addf %5, %4 : vector<1xf32>
... (repeats for all 8 elements) ...
%17 = vector.extract %2[7] : vector<1xf32> from vector<8x1xf32>
%18 = arith.addf %17, %16 : vector<1xf32>
%19 = vector.extract %18[0] : f32 from vector<1xf32>
return %19 : f32
}
```
* when lowering using the inner-reduction strategy, the compiler would
first unnecessarily transform it into a 2-D multi_reduction operation
<1x8xf32> and then extract an <8xf32> vector and apply reduction. The
canonicalization and folding would lead to the following final result:
```mlir
func.func @rank1_multi_reduction(%arg0: vector<8xf32>, %arg1: f32) -> f32 {
%0 = vector.reduction <add>, %arg0, %arg1 : vector<8xf32> into f32
return %0 : f32
}
```
Now, after this change:
* when lowering the compiler now produces for both strategies in one
step.
```
func.func @rank1_multi_reduction(%arg0: vector<8xf32>, %arg1: f32) -> f32 {
%0 = vector.reduction <add>, %arg0, %arg1 : vector<8xf32> into f32
return %0 : f32
}
```
This pattern is also useful for an ongoing refactoring that is happening
in the multi_reduction patterns. It is the only pattern that increases
multi_reduction in rank and would lead to an infinite loop when
attempting to reach a fixed point once we generalize other unrolling
patterns.
Assisted-by: Claude
Commit: 39d5aea6df9094c560a98f88231d258885285a6c
https://github.com/llvm/llvm-project/commit/39d5aea6df9094c560a98f88231d258885285a6c
Author: Delaram Talaashrafi <dtalaashrafi at nvidia.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsLoop.h
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsLoop.cpp
M mlir/unittests/Dialect/OpenACC/OpenACCUtilsLoopTest.cpp
Log Message:
-----------
[OpenACC] Replace terminators with scf.yield in wrapMultiBlockRegionWithSCFExecuteRegion (#184458)
When wrapping a multi-block region in `scf.execute_region`, replace
`func::ReturnOp` (if flag `convertFuncReturn` is set) and `acc::YieldOp`
in all the blocks with `scf.yield` so the region has a valid SCF
terminator.
Commit: 8f8590e691fe772b321004118ae92f5230c8a94d
https://github.com/llvm/llvm-project/commit/8f8590e691fe772b321004118ae92f5230c8a94d
Author: Xing Xue <xingxue at outlook.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/lib/Driver/ToolChains/AIX.cpp
Log Message:
-----------
[OpenMP][AIX] Add libpthreads for -fopenmp (#184629)
The compiler uses TLS for OpenMP thread‑private data, which results in
references to symbols such as `__tls_get_addr` in `libpthreads`.
Therefore, this PR adds `libpthreads` to the link command when
`-fopenmp` is specified.
Commit: 4b3a9246a0867e45dfd0ab10aeff68e78ebdce8c
https://github.com/llvm/llvm-project/commit/4b3a9246a0867e45dfd0ab10aeff68e78ebdce8c
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Fix more parse_headers cases in lldb (#184534)
CI doesn't have a toolchain that supports this so we don't validate this
there, but locally this fixes some issues if you're using a toolchain
that does. Mostly since lldb has a bunch of circular deps we just have
to disable it for the header only targets we create to avoid those
circular deps.
Commit: 668d09b2846d9794b35daa2744bf6d4c66c5ec42
https://github.com/llvm/llvm-project/commit/668d09b2846d9794b35daa2744bf6d4c66c5ec42
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/lib/Frontend/CompilerInstance.cpp
A clang/test/Modules/Inputs/pch-config-macros/include/Mod1.h
A clang/test/Modules/Inputs/pch-config-macros/include/module.modulemap
A clang/test/Modules/pch-config-macros.c
Log Message:
-----------
[clang][Modules] Fixing unexpected warnings triggered by a PCH and a module with config macros (#177078)
When a PCH is compiled with macro definitions on the command line, such
as `-DCONFIG1`, an unexpected warning can occur if the macro definitions
happen to belong to an imported module's config macros. The warning may
look like the following:
```
definition of configuration macro 'CONFIG1' has no effect on the import of 'Mod1'; pass '-DCONFIG1=...' on the command line to configure the module
```
while `-DCONFIG1` is clearly on the command line when `clang` compiles
the source that uses the PCH and the module.
The reason this can happen is a combination of two things:
1. The logic that checks for config macros is not aware of any command
line macros passed through the PCH
([here](https://github.com/llvm/llvm-project/blob/7976ac990000a58a7474269a3ca95e16aed8c35b/clang/lib/Frontend/CompilerInstance.cpp#L1562)).
2. `clang` _replaces_ the predefined macros on the command line with the
predefined macros from the PCH, which does not include any builtins
([here](https://github.com/llvm/llvm-project/blob/7976ac990000a58a7474269a3ca95e16aed8c35b/clang/lib/Frontend/CompilerInstance.cpp#L679)).
This PR teaches the preprocessor to recognize the command line macro
definitions passed transitively through the PCH, so that the error check
does not miss these definitions by mistake. The config macro itself
works fine, and it is only the error check that needs fixing.
rdar://95261458
Commit: 77f1480f7ef1af79e3db57be899e73abd1c59a9f
https://github.com/llvm/llvm-project/commit/77f1480f7ef1af79e3db57be899e73abd1c59a9f
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
Log Message:
-----------
[SPIRV] Fix return value of runOnModule for SPIRVPrepareFunctions (#184636)
We need to return `true` if the module is changed by the pass, and we
forgot to do that in this new case.
This fixes a buildbot
[fail](https://lab.llvm.org/buildbot/#/builders/187/builds/17475).
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: 18226e7e2eb8ceeb8a25fb218798f7c9cdbded9d
https://github.com/llvm/llvm-project/commit/18226e7e2eb8ceeb8a25fb218798f7c9cdbded9d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
M llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
Log Message:
-----------
[RISCV] Lower i8/i16/i32 scalable vector ISD::CLMUL/CLMULH with Zvbc32e. (#184465)
Commit: a14f9f822f4813a803eb21797fe90b6367683bcb
https://github.com/llvm/llvm-project/commit/a14f9f822f4813a803eb21797fe90b6367683bcb
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/test/Dialect/XeGPU/subgroup-distribute-unit.mlir
M mlir/test/Dialect/XeGPU/subgroup-distribute.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-unify-ops-rr.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-unify-ops.mlir
Log Message:
-----------
[mlir][xegpu] Add support for accessing the default order of a layout. (#184451)
Currently, `getOrder` returns null if the user does not provide an
`order` in xegpu layout. This behavior is undesirable when coupled with
utility functions that work on top of layouts (like `isTransposeOf`).
This PR introduce a `getEffectiveOrder` which always returns the true
order, even if user decides to omit it.
Commit: b0b583475a03bbdb34dff0f3783d7c28713de582
https://github.com/llvm/llvm-project/commit/b0b583475a03bbdb34dff0f3783d7c28713de582
Author: Mir Immad <mirimmad17 at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/known-pow2.ll
Log Message:
-----------
[DAG] Improved handling of ISD::ROTL and ISD::ROTR in isKnownToBeAPowerOfTwo (#182744)
Fixes #181642
Commit: b9f1199581e746152a019a104d22f87ce41f46e1
https://github.com/llvm/llvm-project/commit/b9f1199581e746152a019a104d22f87ce41f46e1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-aggregates.ll
Log Message:
-----------
InstCombine: Support extractvalue in SimplifyDemandedFPClass (#184171)
Previously this only handled extractvalue of frexp.
Commit: 9cd054b0bb3e25ae8eaaa5bdc9d73234cc9b906a
https://github.com/llvm/llvm-project/commit/9cd054b0bb3e25ae8eaaa5bdc9d73234cc9b906a
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/arm64-int-neon.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-vqadd.ll
Log Message:
-----------
[AArch64] Add lowering for misc NEON intrinsics (#183050)
This patch adds custom lowering for the following NEON intrinsics to
enable better codegen for convert and load/store operations:
- suqadd
- usqadd
- abs
- sqabs
- sqneg
Commit: 9105d9c24949d8cf9b740cb874027351e7230e70
https://github.com/llvm/llvm-project/commit/9105d9c24949d8cf9b740cb874027351e7230e70
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M lld/ELF/Arch/Hexagon.cpp
A lld/test/ELF/hexagon-duplex-relocs.s
Log Message:
-----------
[lld][Hexagon] Fix findMaskR8 missing duplex support (#183936)
findMaskR8() lacked an isDuplex() check, unlike findMaskR6(),
findMaskR11(), and findMaskR16() which all handle duplex instructions.
When the assembler generates R_HEX_8_X on a duplex SA1_addi instruction
(e.g. `{ r0 = add(r0, ##target); memw(r1+#0) = r2 }`), the wrong mask
0x00001fe0 placed relocation bits at [12:5] instead of [25:20],
corrupting the low sub-instruction (e.g. memw became memb).
Add the isDuplex() check returning 0x03f00000, and add a comprehensive
test covering all duplex instruction x relocation type combinations
across findMaskR6, findMaskR8, findMaskR11, and findMaskR16.
Commit: 3028604556636ad151e0ce57048d19a914179dc8
https://github.com/llvm/llvm-project/commit/3028604556636ad151e0ce57048d19a914179dc8
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Add target for `clang-nvlink-wrapper` (#184644)
Commit: c2db12daa171e8f055ba0fb84cd8fd7b434f75b0
https://github.com/llvm/llvm-project/commit/c2db12daa171e8f055ba0fb84cd8fd7b434f75b0
Author: Sean Fertile <sd.fertile at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/MC/XCOFFObjectWriter.cpp
A llvm/test/CodeGen/PowerPC/aix-reloc-sorting.ll
Log Message:
-----------
[AIX] Sort relocations in XCOFF object writer. (#180807)
Some relocations (like R_REF) are emitted to an offset 0 within the CSECT. If other relocations have already been emitted then the relocations are not in increasing order and the linker will emit an error. Sort the relocations before emitting to fix the problem.
Commit: b80248a0ea35df17ef6f4a2a9df59a0aceb89c79
https://github.com/llvm/llvm-project/commit/b80248a0ea35df17ef6f4a2a9df59a0aceb89c79
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang-tools-extra/clang-doc/CMakeLists.txt
M clang-tools-extra/clang-doc/Generators.cpp
M clang-tools-extra/clang-doc/Generators.h
M clang-tools-extra/clang-doc/JSONGenerator.cpp
A clang-tools-extra/clang-doc/MDMustacheGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
A clang-tools-extra/clang-doc/assets/md/all-files-template.mustache
A clang-tools-extra/clang-doc/assets/md/class-template.mustache
A clang-tools-extra/clang-doc/assets/md/comments-partial.mustache
A clang-tools-extra/clang-doc/assets/md/index-template.mustache
A clang-tools-extra/clang-doc/assets/md/namespace-template.mustache
M clang-tools-extra/clang-doc/support/Utils.cpp
M clang-tools-extra/clang-doc/support/Utils.h
M clang-tools-extra/clang-doc/tool/CMakeLists.txt
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/test/clang-doc/basic-project.mustache.test
M clang-tools-extra/test/clang-doc/builtin_types.cpp
M clang-tools-extra/test/clang-doc/comments-in-macros.cpp
M clang-tools-extra/test/clang-doc/enum.cpp
M clang-tools-extra/test/clang-doc/index.cpp
M clang-tools-extra/test/clang-doc/json/class.cpp
M clang-tools-extra/test/clang-doc/json/namespace.cpp
M clang-tools-extra/test/clang-doc/namespace.cpp
M clang-tools-extra/test/clang-doc/templates.cpp
M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
Log Message:
-----------
[clang-doc] Add a Mustache Markdown generator (#177221)
Adds a Markdown generator that uses Mustache templates. This patch adds
the templates themselves and implements changes to the JSONGenerator to
allow for the creation of specific files needed by the MD tests like
`all-files.json`.
This backend should be considered experimental. It satisfies all the
same tests that the current MD backend is tested against, but those
don't seem to provide full coverage for all functionality inside that
backend. It also doesn't output everything provided by JSON. It doesn't
use the MD unittests because the Mustache templates must currently be
written to files.
Commit: 56a53550d317ee2345b48374a9fab239ad75a4df
https://github.com/llvm/llvm-project/commit/56a53550d317ee2345b48374a9fab239ad75a4df
Author: Shivam Kunwar <75530356+phyBrackets at users.noreply.github.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
A clang/test/DebugInfo/CXX/debug-info-constexpr-array.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
A llvm/test/DebugInfo/X86/debug-info-constexpr-array.ll
Log Message:
-----------
[DebugInfo] Emit DW_AT_const_value for constexpr array static members (#182442)
Clang does not emit a `DW_AT_const_value` in DWARF, while GCC does. This
patch fixes this issue through handling Array `APValues` and respective
handling in the backend through `ConstantDataSequential`
Fixes #165220
Commit: 937bf9cef69fb79038e135d28bf8d8365720cee5
https://github.com/llvm/llvm-project/commit/937bf9cef69fb79038e135d28bf8d8365720cee5
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/bolt/BUILD.bazel
Log Message:
-----------
[bazel] Fix parse_headers in bolt (#184648)
Commit: ff0220d236dedccb8011873e9b92071fbfa74a0e
https://github.com/llvm/llvm-project/commit/ff0220d236dedccb8011873e9b92071fbfa74a0e
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M flang/docs/OpenACC.md
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-acc-structure.h
M flang/test/Semantics/OpenACC/acc-cache-validity.f90
Log Message:
-----------
[flang][acc] Allow orphaned acc cache directive (#184448)
While the spec allows the cache directive at the top of a loop body, the
directive has also been utilized at the top of an acc routine. This PR
removes the semantic check that rejects the cache directive outside of a
loop, allowing orphaned `!$acc cache` similar to CIR.
The OpenACC.md deviation document is updated to note this extension.
Commit: d9d6b16cc622dcbf39e8c2ff549704166040b455
https://github.com/llvm/llvm-project/commit/d9d6b16cc622dcbf39e8c2ff549704166040b455
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-aggregates.ll
Log Message:
-----------
ValueTracking: Handle ConstantDataSequential in computeKnownFPClass (#184191)
Commit: 2b3e30d4c4705dfb21931188540d0c3aa901a7bb
https://github.com/llvm/llvm-project/commit/2b3e30d4c4705dfb21931188540d0c3aa901a7bb
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/test/CodeGen/AArch64/sme-streaming-checkvl.ll
M llvm/test/CodeGen/AMDGPU/iglp-no-clobber.ll
A llvm/test/CodeGen/AMDGPU/machine-sink-fence.ll
M llvm/test/CodeGen/AMDGPU/misched-remat-revert.ll
M llvm/test/CodeGen/Thumb2/mve-postinc-lsr.ll
Log Message:
-----------
[CodeGen] Treat hasOrderedMemoryRef as implying arbitrary loads or stores (#182000)
This prevents MachineSink from sinking loads past fences (or any other instruction marked as hasSideEffects).
Fixes: #181708
Commit: 2c95b8d5185b064780515bf3d7c89486ee086056
https://github.com/llvm/llvm-project/commit/2c95b8d5185b064780515bf3d7c89486ee086056
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
Log Message:
-----------
AMDGPU: Clean up print handling of AMDGPUTargetID (#184643)
Provide print to raw_ostream method and use it where applicable.
Commit: fbc3a312d69d120d0e594eb8a32bd50222e855cb
https://github.com/llvm/llvm-project/commit/fbc3a312d69d120d0e594eb8a32bd50222e855cb
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M mlir/lib/Dialect/GPU/Pipelines/GPUToXeVMPipeline.cpp
Log Message:
-----------
[mlir][xevm] Remove unnecessary attach target pass. (#184432)
Commit: 0baf5a0496a50ffa9f47b76087cb66980a1f713e
https://github.com/llvm/llvm-project/commit/0baf5a0496a50ffa9f47b76087cb66980a1f713e
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M libunwind/src/Unwind-wasm.c
Log Message:
-----------
Revert "Silence -Wunused-parameter warnings in Unwind-wasm.c" (#175776)
Reverts llvm/llvm-project#125412
See the discussion in #125412 for why this is necessary. The summary is
that:
- Eliding arguments is the C23 extension, but libunwind builds its C
files with `-std=c99`, so this change broke the build.
- `-Wno-unused-parameter` is part of the build for libunwind, so the
codebase does allow them.
Commit: df52bb4c32e2dde40e096813ec83cc0c8a271a10
https://github.com/llvm/llvm-project/commit/df52bb4c32e2dde40e096813ec83cc0c8a271a10
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
Log Message:
-----------
[LoopUnrollPass] Don't use clang specific syntax in optimization remarks (#182430)
Commit: 9dc65372aa6101bd72be80ca0901cb8dd780d01f
https://github.com/llvm/llvm-project/commit/9dc65372aa6101bd72be80ca0901cb8dd780d01f
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/docs/clang-tidy/checks/misc/const-correctness.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-parameters.cpp
Log Message:
-----------
[clang-tidy] Don't report unnamed params for misc-const-correctness (#184388)
Previously misc-const-correctness warned about non-const unnamed
parameters; but this commit excludes them because these warnings are not
actually useful. An unnamed parameter cannot be referenced at all, so
marking them as 'const' doesn't add additional information.
Also the diagnostic messages look awkward without a name.
Fixes #184330
Commit: 64c0f624cd0717c4fdcc94c5d8557173359935a6
https://github.com/llvm/llvm-project/commit/64c0f624cd0717c4fdcc94c5d8557173359935a6
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M lldb/source/Core/PluginManager.cpp
Log Message:
-----------
[lldb] Make the PluginManager thread safe (#184452)
In #184273, John pointed out that the PluginManager is currently not
thread safe. While we don't currently provide any guarantees, it seems
desirable to be able to interact safely with the PluginManager from
different threads. For example, we allow dynamically loading plugins
from the command interpreter, which in theory could be coming from
different threads.
Commit: a7914aecb2db16274ae07d36ae07178707eac89b
https://github.com/llvm/llvm-project/commit/a7914aecb2db16274ae07d36ae07178707eac89b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/MC/RISCV/rv32p-valid.s
M llvm/test/MC/RISCV/rv64p-valid.s
Log Message:
-----------
[RISCV] Allow unsigned immediates for pli.h, pli.dh, pli.w (#184554)
Allow unsigned immediates that look like like simm10 when only
considering the lower 16 or 32 bits. For pli.dh and pli.dh this
[652024,65535]. For pli.w, this is [4294966784,4294967295].
Since we're only inserting 16 or 32 bits, it makes sense to me that only
those 16 or 32 bits matter. This is similar to how we allow `li a0,
0xffffffff` on RV32.
Commit: 2032960b5de1893ca0027102130188664f94bb02
https://github.com/llvm/llvm-project/commit/2032960b5de1893ca0027102130188664f94bb02
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M flang/test/Lower/Intrinsics/atan2d.f90
M flang/test/Lower/Intrinsics/atan2pi.f90
M flang/test/Lower/Intrinsics/atand.f90
M flang/test/Lower/Intrinsics/atanpi.f90
M flang/test/Lower/Intrinsics/bessel_jn.f90
Log Message:
-----------
[flang][NFC] Converted five tests from old lowering to new lowering (part 24) (#184538)
Tests converted from test/Lower/Intrinsics: atan2d.f90, atan2pi.f90,
atand.f90, atanpi.f90, bessel_jn.f90
Commit: 75b2ea57d5f4a5ae0de1b3ca1ca7eec464811b45
https://github.com/llvm/llvm-project/commit/75b2ea57d5f4a5ae0de1b3ca1ca7eec464811b45
Author: Prajwal P J <prajwaljalwadi at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-string-view.cpp
Log Message:
-----------
[Clang][UnsafeBufferUsage] Warn about two-arg string_view constructors. (#180471)
"This patch extends the unsafe buffer usage warning to cover
std::string_view constructors that take a pointer and size, similar to
the existing check for std::span.
The warning message has been updated to be generic ('container
construction' instead of 'span construction') and existing tests have
been updated to match.
Fixes #166644."
Commit: 34541e5a5400b18d5c75c43f3c0f43cf820117dc
https://github.com/llvm/llvm-project/commit/34541e5a5400b18d5c75c43f3c0f43cf820117dc
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/WaveActiveAllEqual.hlsl
A clang/test/SemaHLSL/BuiltIns/WaveActiveAllEqual-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/DirectX/ShaderFlags/wave-ops.ll
A llvm/test/CodeGen/DirectX/WaveActiveAllEqual.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveActiveAllEqual.ll
Log Message:
-----------
[HLSL] Add WaveActiveAllEqual functions (#183634)
This PR adds the WaveActiveAllEqual function to HLSL.
It also adds extra macro logic to CGHLSLBuiltins so that you can specify
a different intrinsic name for the SPIRV intrinsic.
Fixes https://github.com/llvm/llvm-project/issues/99162
Commit: 20902f0b721ba6cf2fb134362d27144bd8584d53
https://github.com/llvm/llvm-project/commit/20902f0b721ba6cf2fb134362d27144bd8584d53
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
A llvm/test/Transforms/Attributor/nofpclass-bitcast.ll
Log Message:
-----------
ValueTracking: Teach computeKnownFPClass to look at bitcast + integer max (#184073)
The returned class will still be one of the bitpatterns.
This pattern is used in rocm device libraries in assorted functions,
e.g.,
https://github.com/ROCm/llvm-project/blob/amd-staging/amd/device-libs/ocml/src/rlen3F.cl#L20
I believe it is blocking the eliminationg of finite checks in some of
the more complex functions.
Commit: a212ebd471b103e26f9746715b1abb47e5ee27b7
https://github.com/llvm/llvm-project/commit/a212ebd471b103e26f9746715b1abb47e5ee27b7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-aggregates.ll
Log Message:
-----------
ValueTracking: Handle constant structs in computeKnownFPClass (#184192)
Also fix attributor not bothering to deal with structs.
Commit: d62fbb6a96645c7c0e450bd8fe198e47c44e2ae3
https://github.com/llvm/llvm-project/commit/d62fbb6a96645c7c0e450bd8fe198e47c44e2ae3
Author: Steven Perron <stevenperron at google.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp_const.ll
A llvm/test/CodeGen/SPIRV/pointers/fun-ptr-to-itself.ll
Log Message:
-----------
[SPIRV] Update the global registry when expanding function pointer (#183873)
We do not update the global registry when expanding a G_GLOBAL_VALUE for
a function pointer. Then during pointer validation, we can get a
garbage value from the global registry.
Commit: 6e1aee4276bbd6f84b34ce449a3c88d2013ca5e4
https://github.com/llvm/llvm-project/commit/6e1aee4276bbd6f84b34ce449a3c88d2013ca5e4
Author: Vigneshwar Jayakumar <vigneshwar.jayakumar at amd.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/SIInstructions.td
A llvm/test/CodeGen/AMDGPU/bfe-i8-i16.ll
M llvm/test/CodeGen/AMDGPU/bitcast_vector_bigint.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
M llvm/test/CodeGen/AMDGPU/permute_i8.ll
Log Message:
-----------
[AMDGPU] Select v_bfe_u32 for i8/i16 (and (srl x, c), mask) (#182446)
Combine i8 and i16 (and (srl x, c), mask) instructions to v_bfe_32. This optimization is skipped true_i16 targets.
resolves issue #179494
Commit: 63074da25d16376d4a5b27661d891623bf797fd3
https://github.com/llvm/llvm-project/commit/63074da25d16376d4a5b27661d891623bf797fd3
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M lld/test/wasm/debuginfo.test
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
M llvm/test/CodeGen/X86/dbg-distringtype-uint.ll
M llvm/test/DebugInfo/AArch64/DW_AT_APPLE_enum_kind.ll
M llvm/test/DebugInfo/AMDGPU/variable-locations.ll
M llvm/test/DebugInfo/Generic/cross-cu-linkonce-distinct.ll
M llvm/test/DebugInfo/Generic/debug-names-linkage-name.ll
M llvm/test/DebugInfo/Generic/dwarf5-debug-info-static-member.ll
M llvm/test/DebugInfo/Generic/inlined-static-var.ll
M llvm/test/DebugInfo/Generic/namespace.ll
M llvm/test/DebugInfo/MSP430/global-var.ll
M llvm/test/DebugInfo/NVPTX/debug-addr-class.ll
M llvm/test/DebugInfo/PowerPC/strict-dwarf.ll
M llvm/test/DebugInfo/WebAssembly/tls_pic_globals.ll
M llvm/test/DebugInfo/X86/2011-09-26-GlobalVarContext.ll
M llvm/test/DebugInfo/X86/DW_AT_calling-convention.ll
M llvm/test/DebugInfo/X86/align_cpp11.ll
M llvm/test/DebugInfo/X86/align_objc.ll
M llvm/test/DebugInfo/X86/arange-and-stub.ll
M llvm/test/DebugInfo/X86/containing-type-extension-rust.ll
M llvm/test/DebugInfo/X86/debug-info-access.ll
M llvm/test/DebugInfo/X86/debug-info-static-member.ll
M llvm/test/DebugInfo/X86/debug-names-dwarf64.ll
M llvm/test/DebugInfo/X86/dwarf-aranges.ll
M llvm/test/DebugInfo/X86/dwarf-linkage-names.ll
M llvm/test/DebugInfo/X86/dwarfdump-DIImportedEntity_elements.ll
M llvm/test/DebugInfo/X86/generate-odr-hash.ll
M llvm/test/DebugInfo/X86/gnu-public-names.ll
M llvm/test/DebugInfo/X86/linkage-name.ll
M llvm/test/DebugInfo/X86/namelist1.ll
M llvm/test/DebugInfo/X86/prototyped.ll
M llvm/test/DebugInfo/X86/ref_addr_relocation.ll
M llvm/test/DebugInfo/X86/string-offsets-multiple-cus.ll
M llvm/test/DebugInfo/X86/string-offsets-table.ll
M llvm/test/DebugInfo/X86/template.ll
M llvm/test/DebugInfo/X86/tls.ll
M llvm/test/DebugInfo/X86/tu-to-non-tu.ll
M llvm/test/DebugInfo/X86/vla-global.ll
M llvm/test/DebugInfo/attr-btf_tag.ll
M llvm/test/MC/WebAssembly/debug-info.ll
M llvm/test/MC/WebAssembly/debug-info64.ll
M llvm/test/MC/WebAssembly/dwarfdump.ll
M llvm/test/MC/WebAssembly/dwarfdump64.ll
M llvm/test/tools/llvm-debuginfo-analyzer/DWARF/crash-thread-local-storage.test
Log Message:
-----------
[DebugInfo][DwarfDebug] Move emission of globals from beginModule() to endModule() (5/7) (#184219)
RFC
https://discourse.llvm.org/t/rfc-dwarfdebug-fix-and-improve-handling-imported-entities-types-and-static-local-in-subprogram-and-lexical-block-scopes/68544
This patch moves the emission of global variables from
`DwarfDebug::beginModule()` to `DwarfDebug::endModule()`.
It has the following effects:
1. The order of debug entities in the resulting DWARF changes.
2. Currently, if a DISubprogram requires emission of both concrete
out-of-line and inlined subprogram DIEs, and such a subprogram contains
a static local variable, the DIE for the variable is emitted into the
concrete out-of-line subprogram DIE. As a result, the variable is not
available in debugger when breaking at the inlined function instance.
It happens because static locals are emitted in
`DwarfDebug::beginModule()`, but abstract DIEs for functions that are
not completely inlined away are created only later during
`DwarfDebug::endFunctionImpl()` calls.
With this patch, DIEs for static local variables of subprograms that
have both inlined and the concrete out-of-line instances are placed into
abstract subprogram DIEs. They become visible in debugger when breaking
at concrete out-of-line and inlined function instances.
`llvm/test/DebugInfo/Generic/inlined-static-var.ll` illustrates that.
3. It will allow to simplify abstract subprogram DIEs creation by
reverting https://github.com/llvm/llvm-project/pull/159104 later.
This is needed to simplify DWARF emission in a context of proper support
of function-local static variables which comes in the next patch
(https://reviews.llvm.org/D144008), making all function-local entities
handled in `DwarfDebug::endModuleImpl()`.
Authored-by: Kristina Bessonova <kbessonova at accesssoftek.com>
Co-authored-by: David Blaikie <dblaikie at gmail.com>
Co-authored-by: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Commit: 56ed7485b75e66ee47eae08ecc3b3cb705b2a4e9
https://github.com/llvm/llvm-project/commit/56ed7485b75e66ee47eae08ecc3b3cb705b2a4e9
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
Log Message:
-----------
[CIR][NFC] Remove unnecessary call to clangCmpToCIRCmp (#184217)
Remove unnecessary call to clangCmpToCIRCmp and use the result from the
previous call L1165
Commit: 149e62c29bf86b045ec8a9941c68ed2f13099b92
https://github.com/llvm/llvm-project/commit/149e62c29bf86b045ec8a9941c68ed2f13099b92
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang-tools-extra/test/clang-doc/namespace.cpp
Log Message:
-----------
[clang-doc] Add DAG directive to MD "All files" test (#184671)
It seems like the order of the all-files.md output might be different on
local machines, so make the check directives `-DAG` for now.
Commit: bb78a0a47083b55147176e878a2363a41c0cd3cc
https://github.com/llvm/llvm-project/commit/bb78a0a47083b55147176e878a2363a41c0cd3cc
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/test/CIR/CodeGen/var-arg-aggregate.c
M clang/test/CIR/CodeGen/var_arg.c
Log Message:
-----------
[CIR] Fix __builtin_va_start handling (#184654)
We were attempting to capture a `count` argument for __builtin_va_start
but the builtin doesn't actually have that as a defined argument. This
change removes the errant handling.
Commit: ade43a54d4419b60eda48cb0ebe84df836893bf6
https://github.com/llvm/llvm-project/commit/ade43a54d4419b60eda48cb0ebe84df836893bf6
Author: Derek Schuff <dschuff at chromium.org>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.h
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
M llvm/lib/Target/WebAssembly/WebAssembly.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrAtomics.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
M llvm/test/CodeGen/WebAssembly/atomic-fence.mir
A llvm/test/MC/WebAssembly/atomics-orderings-errors.s
A llvm/test/MC/WebAssembly/atomics-orderings.s
Log Message:
-----------
[WebAssembly] MC support for acquire-release atomics (#183656)
Initial support for acquire-release atomics, specified as part of
https://github.com/WebAssembly/shared-everything-threads
This adds an ordering operand to atomic loads, stores, RMWs,
wait/notify,
and fences. It currently defaults to 0 and ISel is not updated yet, so
atomics produced by the compiler will still always be seqcst.
Asm parsing and printing, binary emission and disassembly are all
updated. Binary emission will always use the old encoding because the
encoding is smaller, and to get backwards compatibility for free.
Commit: f986523c5937bd32e1d14a4af6ff5db95c69065c
https://github.com/llvm/llvm-project/commit/f986523c5937bd32e1d14a4af6ff5db95c69065c
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/test/CIR/CodeGen/complex.cpp
Log Message:
-----------
[CIR] Fix Codegen for Complex & Scalar comparisons (#184006)
Fix Codegen for emitting comparisons between Complex & Scalar
Commit: 28b840815c2285edb232ac0d6ca6f70af987f4c2
https://github.com/llvm/llvm-project/commit/28b840815c2285edb232ac0d6ca6f70af987f4c2
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/CodeGenHLSL/group_shared.hlsl
M clang/test/ParserHLSL/group_shared.hlsl
M clang/test/ParserHLSL/group_shared_202x.hlsl
M clang/test/SemaHLSL/Language/ImpCastAddrSpace.hlsl
Log Message:
-----------
[HLSL] groupshared variables should be implicitly extern and should not be initialized (#184459)
Makes groupshared variables have extern storage class which prevents
them from being initialized if no initializer is provided. If one is
provided as below:
```
groupshared uint A = 1;
```
A warning, which is an error by default, is produced that says the
initializer is ignored and the variable is NOT initialized.
Closes #183602
Commit: 5c08616df765da3b225880f7fed824040100ec6d
https://github.com/llvm/llvm-project/commit/5c08616df765da3b225880f7fed824040100ec6d
Author: Manuel Dun <manueldun at users.noreply.github.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/known-pow2.ll
Log Message:
-----------
[DAG] isKnownToBeAPowerOfTwo - Power of 2 value is known to be power of 2 after BSWAP/BITREVERSE (#182207)
This is my first pr specifically for llvm
Fixes #181657
Allows the isKnownToBeAPowerOfTwo function to handle BSWAP and
BITREVERSE dag operations.
Commit: 585928482419bb66686ced6931320f1abb72a167
https://github.com/llvm/llvm-project/commit/585928482419bb66686ced6931320f1abb72a167
Author: Teresa Johnson <tejohnson at google.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
M llvm/test/Transforms/PGOProfile/memprof-dump-matched-call-sites.ll
Log Message:
-----------
[MemProf] Add stack IDs to MemProfUse optimization remarks (#184670)
This makes the remarks more equivalent for analysis to what we emit to
stderr under -memprof-print-match-info.
Commit: 933e5368ba02ccb2c09eec1a7159bf3b647ee3ef
https://github.com/llvm/llvm-project/commit/933e5368ba02ccb2c09eec1a7159bf3b647ee3ef
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/test/DebugInfo/Generic/cross-cu-linkonce-distinct.ll
Log Message:
-----------
[DebugInfo] Don't specify target triple for cross-cu-linkonce-distinct.ll (#184685)
Fixes buildbot failures after #184219.
Target triple line was added to this test in https://reviews.llvm.org/D144007, but it's needless.
Commit: f26ff8d86fd8e0e6754e60e4363ee156e856b3f1
https://github.com/llvm/llvm-project/commit/f26ff8d86fd8e0e6754e60e4363ee156e856b3f1
Author: cmtice <cmtice at google.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
A lldb/test/API/linux/linker-symbols/Makefile
A lldb/test/API/linux/linker-symbols/TestLinkerSymbols.py
A lldb/test/API/linux/linker-symbols/linker.script
A lldb/test/API/linux/linker-symbols/main.cpp
Log Message:
-----------
[LLDB] Allow symbols added by linker scripts to be examined. (#184679)
Symbols added by linker scripts do not have debug information or types,
but they do have addresses. Sometimes users need to see the addresses of
these symbols. Currently these symbols end up being assigned
'eSymbolTypeInvalid', so any attempt to look at them fails. This fixes
that issue.
Commit: d8e86a5cc0d5f0775faf5fc039a0c27e16dbdd61
https://github.com/llvm/llvm-project/commit/d8e86a5cc0d5f0775faf5fc039a0c27e16dbdd61
Author: Roy Shi <royitaqi at users.noreply.github.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/docs/CommandGuide/dsymutil.rst
A llvm/test/tools/dsymutil/AArch64/allow-disallow.test
A llvm/test/tools/dsymutil/Inputs/allow-disallow/a.out.arm64
A llvm/test/tools/dsymutil/Inputs/allow-disallow/empty.yaml
A llvm/test/tools/dsymutil/Inputs/allow-disallow/one.yaml
A llvm/test/tools/dsymutil/Inputs/allow-disallow/two.yaml
A llvm/test/tools/dsymutil/Inputs/private/tmp/allow-disallow/1.o
A llvm/test/tools/dsymutil/Inputs/private/tmp/allow-disallow/2.o
A llvm/test/tools/dsymutil/Inputs/private/tmp/allow-disallow/3.o
M llvm/test/tools/dsymutil/cmdline.test
M llvm/tools/dsymutil/DebugMap.cpp
M llvm/tools/dsymutil/DebugMap.h
M llvm/tools/dsymutil/MachODebugMapParser.cpp
M llvm/tools/dsymutil/Options.td
M llvm/tools/dsymutil/dsymutil.cpp
M llvm/tools/dsymutil/dsymutil.h
Log Message:
-----------
[dsymutil] Add option to filter debug map objects by allow/disallow-list (#182083)
# Motivation
When using `dsymutil` to generate dSYM for large binaries, sometimes we
want to keep only some of the object files. This has the benefits of
reduced dSYM size and improved performance of LLDB and other tools which
consume the dSYM.
The current way to achieve this is to use YAML input (the `dsymutil -y`
option). However, it doesn't really solve the problem:
1. The whole debug map has to be parsed somewhere else first, before
filtered down to the wanted parts.
2. Said info is written then read by `dsymutil`. The I/O is redundant.
# Change
This patch propose a new way, by adding new options (`dsymutil --allow
<path>` and `--disallow <path>`), which will only process object files
that pass the allow/disallow list.
Important details:
* The input file is YAML. See test files for format.
* Currently, only object files are filtered. The design allows to extend
the filtering to other aspects of the debug map in the future (e.g.
functions).
* If `--oso-prepend-path` is specified, it applies to the entries in the
input file. I.e. Entries in the input file should exact match that of
N_OSO entries.
Commit: 90c6e6374b9555279d6c31016bd7f4a8ee1861b4
https://github.com/llvm/llvm-project/commit/90c6e6374b9555279d6c31016bd7f4a8ee1861b4
Author: Berkay Sahin <berkaysahindev at gmail.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return.cpp
Log Message:
-----------
[clang-tidy] Fix readability-else-after-return for if statements appear in unbraced switch case labels (#181878)
Fixes #160033.
Commit: ec15263cb898c2055f003810848ba590b6e8b42b
https://github.com/llvm/llvm-project/commit/ec15263cb898c2055f003810848ba590b6e8b42b
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
R lld/test/wasm/Inputs/weak-alias.ll
A lld/test/wasm/Inputs/weak-alias.s
R lld/test/wasm/weak-alias-overide.ll
A lld/test/wasm/weak-alias-overide.s
R lld/test/wasm/weak-alias.ll
A lld/test/wasm/weak-alias.s
Log Message:
-----------
[lld][WebAssembly] Convert weak-alias tests to assembly. NFC (#184667)
This actually both improves and simplifies the `Inputs/weak_alias`. With
the `.ll` version we ended up using memory and `__stack_pointer` and
locals, but LLVM ended up generated `call` rather than `call_indirect`
for the `call_alias_ptr` and `call_direct_ptr`. With the assembly tests
we can ensure the usage of `call_indirect` while avoiding all the other
stuff.
Commit: ca0d100e79ef8c5c0a000375ce7652368617ad58
https://github.com/llvm/llvm-project/commit/ca0d100e79ef8c5c0a000375ce7652368617ad58
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Use VPlan::getZero to improve code (NFC) (#184591)
Commit: 954e5e7aa2e23d315a13fc052807d6600b182341
https://github.com/llvm/llvm-project/commit/954e5e7aa2e23d315a13fc052807d6600b182341
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
A clang/test/CIR/CodeGen/replace-global.cpp
Log Message:
-----------
[CIR] Upstream global variable replacement (#184686)
This change upstreams the CIR implementation of global variable
replacement. When we get a call to get or create a global variable using
a type that does not match the previous type for a variable of the same
name, we need to replace the old definition with the new one. In classic
codegen that was as simple as replaceAllUses+eraseFromParent, but in CIR
because we have typed pointers, we need to visit the uses and update
them with bitcasts to reflect the new type.
Commit: 9d1b6214fc0c2ec9794f61a562ed27d914df412d
https://github.com/llvm/llvm-project/commit/9d1b6214fc0c2ec9794f61a562ed27d914df412d
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/test/clang-doc/namespace.cpp
Log Message:
-----------
[clang-doc] Sort index and avoid non-determinism (#184675)
Consolidate logic to get sorted children from StringMap.
Using the new API makes it more natural to not miss cases
where we missed sorting the children directly.
This also allows us to remove -DAG checks from tests and have
deterministic ordering.
Commit: 271458331747c595881c3768ca7439bd2f3d572c
https://github.com/llvm/llvm-project/commit/271458331747c595881c3768ca7439bd2f3d572c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/split-vectorize-phi-user.ll
Log Message:
-----------
[SLP]Do not consider split vectorize nodes as vector phi nodes
Split vectorize nodes should not be considered as vector PHI nodes, when
trying to find the insertion point for the postpotned nodes.
Fixes #184585
Commit: 5a88dffc40d2ae422127deb75412b8f4dff20d8b
https://github.com/llvm/llvm-project/commit/5a88dffc40d2ae422127deb75412b8f4dff20d8b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/AArch64/cpu-supports-target.c
M clang/test/CodeGen/AArch64/cpu-supports.c
M clang/test/CodeGen/AArch64/fmv-detection.c
M clang/test/CodeGen/AArch64/fmv-explicit-priority.c
M clang/test/CodeGen/AArch64/fmv-mix-explicit-implicit-default.c
M clang/test/CodeGen/AArch64/fmv-resolver-emission.c
M clang/test/CodeGen/AArch64/fmv-unreachable-version.c
M clang/test/CodeGen/AArch64/ls64.c
M clang/test/CodeGen/AArch64/mixed-target-attributes.c
M clang/test/CodeGen/AArch64/targetattr.c
M clang/test/CodeGen/LoongArch/targetattr-la32.c
M clang/test/CodeGen/LoongArch/targetattr-la64.c
M clang/test/CodeGen/RISCV/ntlh-intrinsics/riscv32-zihintntl.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/vlenb.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-00.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-01.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-03b.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-04.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-05.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-06.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-07.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-08.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-08b.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-09.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-09b.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-11.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-12.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-13.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-14.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-15.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-16.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-17.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-17b.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-18.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-19.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-20.cpp
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-21.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-22.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-23.c
M clang/test/CodeGen/amdgpu-abi-version.c
M clang/test/CodeGen/amdgpu-address-spaces.cpp
M clang/test/CodeGen/arm-metadata.c
M clang/test/CodeGen/asm-goto2.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-clones-riscv.c
M clang/test/CodeGen/attr-target-version-riscv.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-incdec.c
M clang/test/CodeGen/linux-kernel-struct-union-initializer.c
M clang/test/CodeGen/linux-kernel-struct-union-initializer2.c
M clang/test/CodeGen/memcpy-inline-builtin.c
M clang/test/CodeGen/nvptx_attributes.c
M clang/test/CodeGen/ptrauth-module-flags.c
M clang/test/CodeGen/sanitize-metadata-ignorelist.c
M clang/test/CodeGen/sanitize-metadata-nosanitize.c
M clang/test/CodeGen/sanitize-type-globals.cpp
M clang/test/CodeGen/stack-protector-guard.c
M clang/test/CodeGen/ubsan-function-sugared.cpp
M clang/test/CodeGen/ubsan-function.cpp
M clang/test/CodeGen/wasm-fp16.c
M clang/test/CodeGen/wchar-size.c
M clang/test/CodeGenCUDA/convergent.cu
M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
M clang/test/CodeGenCXX/attr-target-clones-riscv.cpp
M clang/test/CodeGenCXX/attr-target-version-riscv.cpp
M clang/test/CodeGenCXX/attr-target-version.cpp
M clang/test/CodeGenCXX/builtin-invoke.cpp
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/fmv-namespace.cpp
M clang/test/CodeGenCXX/pfp-memcpy.cpp
M clang/test/CodeGenHIP/default-attributes.hip
M clang/test/CodeGenHIP/hip_weak_alias.cpp
M clang/test/CodeGenHIP/sanitize-undefined-null.hip
M clang/test/CodeGenOpenCL/amdgpu-cluster-dims.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gws-insts.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
M clang/test/CodeGenSYCL/function-attrs.cpp
M clang/test/DebugInfo/CXX/ms-novtable.cpp
M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
M clang/test/OpenMP/amdgcn_weak_alias.c
M clang/test/OpenMP/amdgcn_weak_alias.cpp
M clang/test/OpenMP/irbuilder_safelen.cpp
M clang/test/OpenMP/irbuilder_safelen_order_concurrent.cpp
M clang/test/OpenMP/irbuilder_simd_aligned.cpp
M clang/test/OpenMP/irbuilder_simdlen.cpp
M clang/test/OpenMP/irbuilder_simdlen_safelen.cpp
M clang/test/OpenMP/nvptx_weak_alias.c
M clang/test/OpenMP/tile_codegen_tile_for.cpp
M clang/test/utils/update_cc_test_checks/Inputs/annotations.c.expected
M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.generated.all.expected
M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.generated.expected
M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.no-generated.all.expected
M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.no-generated.expected
M clang/test/utils/update_cc_test_checks/Inputs/resolve-tmp-conflict.cpp.expected
M clang/test/utils/update_cc_test_checks/check-globals.test
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/test/Transforms/InstCombine/wcslen-4.ll
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
[Clang] Only define `wchar_size` module flag if non-standard (#184668)
Summary:
This PR simply changes the behavior of the `wchar_size` flag. Currently,
we emit this in all cases for all targets. This causes problems during
LLVM-IR linking, specifically because this would vary between Linux and
Windows in unintuitive ways. Now we have an llvm::Triple helper to
determine the size from the known values. The module flag will only be
emitted if these do not match (indicating a non-standard environment).
In addition to fixing AMDGCN bitcode linking, this also means we don't
need to bloat *every* IR module compiled by clang with this flag. The
changed tests reflects this, one less unnecessary piece of metadata.
Commit: 2be726dd8e22a328ea664c8e624eb541b173605c
https://github.com/llvm/llvm-project/commit/2be726dd8e22a328ea664c8e624eb541b173605c
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/test/DebugInfo/Generic/dwarf5-debug-info-static-member.ll
Log Message:
-----------
[DebugInfo] Don't match wrong NULL in CHECK lines of dwarf5-debug-info-static-member.ll (#184694)
Fixes failure on clang-ppc64le-rhel buildbot
(https://lab.llvm.org/buildbot/#/builders/145/builds/13080) after
#184219.
On ppc64le, children are not produced for DW_TAG_subprogram "main" in
this test. Therefore, dwarfdump doesn't print NULL after this tag. On
other platforms (AArch64/X86), DW_TAG_subprogram has DW_TAG_variable
"instance_C", which should not be matched by the check lines.
Loosened the check lines (turned CHECK-NEXT into CHECK) to make them
work for all mentioned platforms.
Commit: cd6228983142ef5bf8bf7b5ca45ada749ff91cb0
https://github.com/llvm/llvm-project/commit/cd6228983142ef5bf8bf7b5ca45ada749ff91cb0
Author: Weiwen He <60433849+he-weiwen at users.noreply.github.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/known-never-zero.ll
Log Message:
-----------
[DAG] isKnownNeverZero - add ISD::ADD/SUB DemandedElts handling and tests (#183958)
Closes #183043
Commit: 3a16cbe787885511d75d97f5da6af90858a8c184
https://github.com/llvm/llvm-project/commit/3a16cbe787885511d75d97f5da6af90858a8c184
Author: cmtice <cmtice at google.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M lldb/test/API/linux/linker-symbols/TestLinkerSymbols.py
Log Message:
-----------
[LLDB] Skip linker symbols test on Windows and MacOS. (#184690)
The test was only intended to run on linux.
Currently it's failing on the lldb-x86_64-win builder:
https://lab.llvm.org/buildbot/#/builders/211/builds/6741
Commit: f4a20a00d72901153100064da2bdbf134778d001
https://github.com/llvm/llvm-project/commit/f4a20a00d72901153100064da2bdbf134778d001
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/test/CIR/CodeGen/complex-compound-assignment.cpp
M clang/test/CIR/CodeGen/complex-mul-div.cpp
M clang/test/CIR/CodeGen/optsize-func-attr.cpp
Log Message:
-----------
[CIR][NFCI] Fixup some test regressions due to OGCG changes (#184699)
Discovered during CI in a different patch, 3 tests started failing for
unknown reasons due to some very mild changes to the IR, but only in
'classic' codgen parts of the tests. These tests were overly specific
for no good reason, so this patch just fixes that.
Commit: 521c2e14957a20bd0f13595cd4262443d841a3a4
https://github.com/llvm/llvm-project/commit/521c2e14957a20bd0f13595cd4262443d841a3a4
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M lldb/unittests/Host/SocketTest.cpp
M lldb/unittests/Interpreter/TestCompletion.cpp
M llvm/include/llvm/Support/FileSystem.h
M llvm/lib/Support/Path.cpp
M llvm/unittests/ExecutionEngine/Orc/LibraryResolverTest.cpp
M llvm/unittests/Support/Path.cpp
M llvm/unittests/Support/raw_socket_stream_test.cpp
Log Message:
-----------
[llvm][Support] Make createUniquePath require at least one wildcard marker (#184688)
The API was a bit easy to accidentally mis-use, as it silently accepted
Model strings without any randomness marker characters (`%`), which
results in a unique path that's not at all unique. To avoid this
foot-gun, we now assert that the model contains at least one, and update
all the broken usages accordingly.
rdar://170349565
Commit: 8c2d6cbc663962f3314b122dc511e0c1ff5e065e
https://github.com/llvm/llvm-project/commit/8c2d6cbc663962f3314b122dc511e0c1ff5e065e
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M lldb/source/Plugins/Process/Utility/RegisterInfos_arm64.h
M lldb/source/Plugins/Process/Utility/RegisterInfos_arm64_sve.h
Log Message:
-----------
[lldb] Fix the AArch64 CPSR reg defn to list generic reg
My change to remove an incorrect DWARF register number for
CPSR unintentionally dropped the LLDB_REGNUM_GENERIC_FLAGS
generic reg type in the definitions of cpsr.
We need to have a macro (DEFINE_MISC_REGS) for status/control
registers that have no DWARF/eh_frame and no generic reg num.
I added a new macro, DEFINE_GPR_CPSR, for cpsr which is unique
in having no DWARF/eh_frame numbers but does have a generic
flags reg number.
Commit: cee0703cea3bb5cbf8ce9588de854f8b5417d9cc
https://github.com/llvm/llvm-project/commit/cee0703cea3bb5cbf8ce9588de854f8b5417d9cc
Author: John Harrison <harjohn at google.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
R lldb/test/API/python_api/block/TestBlocks.py
A lldb/test/API/python_api/block/TestFrameBlocks.py
M lldb/test/API/python_api/block/fn.c
M lldb/test/API/python_api/block/main.c
Log Message:
-----------
[lldb] Fixing the python_api/block tests. (#184647)
Renaming the file to be unique and updating the symbols for Windows.
Commit: 537f3d3a7588d226b86590f97c4401107585e1ce
https://github.com/llvm/llvm-project/commit/537f3d3a7588d226b86590f97c4401107585e1ce
Author: Jakob Koschel <jakobkoschel at google.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SafeStack.cpp
A llvm/test/CodeGen/AArch64/safestack_scalar.ll
Log Message:
-----------
[SafeStack] Fix crashing with scalable TypeSizes (#180547)
On e.g. aarch64 the TypeSize of scalar types can have a size that is not
known at compile time.
Currently when safestack occurs those it simply crashes as described in
https://github.com/llvm/llvm-project/issues/175868.
Since we cannot verify the size at compile time we simply consider the
access to be unsafe (in regards to safestack).
Reproducer:
```
#include <arm_sve.h>
int main() {
svint32_t vec = svindex_s32(0, 1);
svint32_t res = svadd_s32_z(svptrue_b32(), vec, vec);
int32_t buffer[1024];
svst1_s32(svptrue_b32(), buffer, res);
return 0;
}
```
Commit: 18b648c9f8cfc62c5560565abd702ee1460adccd
https://github.com/llvm/llvm-project/commit/18b648c9f8cfc62c5560565abd702ee1460adccd
Author: Wenju He <wenju.he at intel.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M libclc/CMakeLists.txt
M libclc/clc/lib/generic/async/clc_prefetch.inc
M libclc/clc/lib/generic/math/clc_cosh.inc
M libclc/clc/lib/generic/math/clc_erfc.cl
M libclc/clc/lib/generic/math/clc_expm1.inc
M libclc/clc/lib/generic/math/clc_fmod.cl
M libclc/clc/lib/generic/math/clc_sincos_helpers_fp64.inc
M libclc/clc/lib/generic/workitem/clc_get_sub_group_id.cl
M libclc/clc/lib/ptx-nvidiacl/mem_fence/clc_mem_fence.cl
M libclc/clc/lib/ptx-nvidiacl/synchronization/clc_work_group_barrier.cl
M libclc/opencl/lib/generic/async/wait_group_events.cl
Log Message:
-----------
[libclc][NFC] Add -Wall -Wextra to build flags and fix build warnings (#184549)
Co-authored-by: Copilot <175728472+Copilot at users.noreply.github.com>
Commit: 576c244dc91421a6ac96c14f9bc4cc0975009433
https://github.com/llvm/llvm-project/commit/576c244dc91421a6ac96c14f9bc4cc0975009433
Author: jimingham <jingham at apple.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
A lldb/test/API/functionalities/breakpoint/breakpoint_conditions/crashing_condition/Makefile
A lldb/test/API/functionalities/breakpoint/breakpoint_conditions/crashing_condition/TestCrashingCondition.py
A lldb/test/API/functionalities/breakpoint/breakpoint_conditions/crashing_condition/main.c
Log Message:
-----------
Add a test for handling a crashing breakpoint condition (#184247)
I was working on something and broke the handling of breakpoint
conditions that crash. In fixing that I noticed that there wasn't a test
for this scenario, so this PR adds one.
---------
Co-authored-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: bfe349ccf4b4c8694824dafedb8c9ef78bf80725
https://github.com/llvm/llvm-project/commit/bfe349ccf4b4c8694824dafedb8c9ef78bf80725
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerVGPREncoding.cpp
M llvm/test/CodeGen/AMDGPU/vgpr-setreg-mode-swar.mir
Log Message:
-----------
[AMDGPU] Optimize S_SETREG_IMM32_B32 piggybacking by treating it as a mode scope boundary (#184703)
When `handleSetregMode` encounters an `S_SETREG_IMM32_B32` with `Size <=
12`, the instruction's `imm32[12:19]` bits are "free" for VGPR MSB
piggybacking. Previously, the old mode was eagerly written into these
bits, but the `Rewritten` guard in `setMode` would then block subsequent
piggybacking when the next VGPR instruction needed a different mode,
causing an unnecessary `S_SET_VGPR_MSB` to be emitted.
Model the `S_SETREG_IMM32_B32` as the boundary of the old mode's control
range: reset `CurrentMode` and clear `bits[12:19]` to zero. This lets
the next `setMode` call freely piggyback the required mode without
triggering `Rewritten`.
Commit: 442757579ee4999de8d6f05513de07022f918037
https://github.com/llvm/llvm-project/commit/442757579ee4999de8d6f05513de07022f918037
Author: Emmanuel Antonio <emmanuelac at google.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/tools/dsymutil/DebugMap.h
Log Message:
-----------
[dsymutil] Add DebugMapObjectFilter destructor (#184701)
Fixes #182083.
Commit: 6b7a3b311a8675f4b82e22d8420e24c7f1612fdc
https://github.com/llvm/llvm-project/commit/6b7a3b311a8675f4b82e22d8420e24c7f1612fdc
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang-tools-extra/clang-tidy/performance/FasterStringFindCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/performance/faster-string-find.rst
M clang-tools-extra/test/clang-tidy/checkers/performance/faster-string-find.cpp
Log Message:
-----------
[clang-tidy] Teach `performance-faster-string-find` about `operator+=` (#182697)
This is a followup to #182633. Like in that PR, `operator+=` doesn't fit
with the check name, but the same optimization is applicable to it:
https://en.cppreference.com/w/cpp/string/basic_string/operator+=.html
Commit: 61d8e5ca791f55753d5aebbd6175dc8c5d6b54ef
https://github.com/llvm/llvm-project/commit/61d8e5ca791f55753d5aebbd6175dc8c5d6b54ef
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/test/Dialect/Affine/SuperVectorize/vector_utils.mlir
Log Message:
-----------
[MLIR][Vector] Fix crash in operatesOnSuperVectorsOf on rank-mismatched shaped (#183967)
The `operatesOnSuperVectorsOf` function in VectorUtils.cpp contained an
assertion that fired when a `vector.transfer` operation's vector type
had a different rank (or non-divisible shape) from the sub-vector type
supplied by the caller:
assert((ratio || \!mustDivide) &&
"vector.transfer operation in which super-vector size is not an"
" integer multiple of sub-vector size");
This assertion was incorrect because the function's callers (e.g., the
affine super-vectorizer) legitimately pass transfer ops whose vector
type doesn't match the requested sub-vector shape. In those cases the
correct answer is simply that the op does not operate on a super-vector
of that sub-vector type, so `operatesOnSuperVectorsOf` should return
`false`.
Remove the assert return `false` when `computeShapeRatio` produces no
result, and remove the now-unused `mustDivide` variable.
Fixes #149327
Fixes #131096
Commit: d07ab183b6695a6262c251d24bb86d4b977aff3d
https://github.com/llvm/llvm-project/commit/d07ab183b6695a6262c251d24bb86d4b977aff3d
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M mlir/lib/IR/Verifier.cpp
M mlir/unittests/IR/CMakeLists.txt
A mlir/unittests/IR/VerifierTest.cpp
Log Message:
-----------
[mlir] Add cross-context checks to the IR verifier (#184627)
Detect IR where result types, operand types, or discardable attribute
values come from a different MLIRContext than the operation itself.
Mixing contexts is a latent use-after-free hazard when one context is
destroyed before the other; the verifier now reports a clear error
instead of silently allowing the invalid IR through.
Three new unit tests in MLIRIRTests cover each scenario.
Fix #61569
Commit: c32caeec8158d634bb71ab8911a6031248b9fc47
https://github.com/llvm/llvm-project/commit/c32caeec8158d634bb71ab8911a6031248b9fc47
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/test/Conversion/ConvertToSPIRV/func-signature-vector-unroll.mlir
Log Message:
-----------
[mlir][spirv] Fix crash in FuncOpVectorUnroll for dynamic-shaped tensor args (#184626)
FuncOpVectorUnroll::matchAndRewrite iterates over all function arguments
and creates a zero-constant placeholder for any non-vector argument via
rewriter.getZeroAttr(type). For dynamically-shaped tensor types such as
tensor<?x2xi8>, getZeroAttr ultimately calls
DenseIntOrFPElementsAttr::getRaw which asserts that the type has a
static shape.
Add an early pre-check that returns failure() for any non-vector
argument with a dynamically-shaped type. This must be done before any IR
modifications are made, since returning failure() after inlining the
function body would leave the IR in an inconsistent state.
Fixes #148369
Commit: 90ba731c496b9ccf7fd3954756f5d096add3d0b5
https://github.com/llvm/llvm-project/commit/90ba731c496b9ccf7fd3954756f5d096add3d0b5
Author: Twice <twice at apache.org>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M mlir/python/mlir/dialects/ext.py
Log Message:
-----------
[MLIR][Python] Add `replace` parameter to `Dialect.load` (#184604)
In this PR, `replace` keyword parameter is added to `Dialect.load(..)`
in `mlir.dialects.ext`. It's to replace existing registered
operations/types/attrs.
Commit: f0142833b6a542618a19ec9f9836b51c051945cf
https://github.com/llvm/llvm-project/commit/f0142833b6a542618a19ec9f9836b51c051945cf
Author: Twice <twice at apache.org>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M mlir/lib/Bindings/Python/Rewrite.cpp
Log Message:
-----------
[MLIR][Python] Move operation/dialect name retrieving as a util function (#184605)
We have a common pattern that retrieve an operation name or dialect name
from a `type` or `str` in the rewrite nanobind module, so better to make
it a common util function.
---------
Co-authored-by: Rolf Morel <rolfmorel at gmail.com>
Commit: 82a9948ea45388e78008152748903c619b2a0400
https://github.com/llvm/llvm-project/commit/82a9948ea45388e78008152748903c619b2a0400
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M flang-rt/lib/runtime/execute.cpp
M flang-rt/unittests/Runtime/CommandTest.cpp
Log Message:
-----------
[flang-rt] Fixes EXECUTE_COMMAND_LINE() status management and double buffering (#184285)
EXECUTE_COMMAND_LINE() without CMDSTAT initiated termination in runtime
if the command returned non-zero status code. For example,
EXECUTE_COMMAND_LINE('false') on Linux would cause "fatal Fortran
runtime error... : Command line execution failed with exit code: 1."
This is too strict: EXECUTE_COMMAND_LINE() successfully called 'false',
it's just 'false' happened to return non-zero status code. ifx and
gfortran don't initiate termination in such case. Changed
EXECUTE_COMMAND_LINE() implementation to behave in similar fashion.
Also during testing discovered that when the output of the program that
uses EXECUTE_COMMAND_LINE(... WAIT=.false.) is piped to a file, the
resulting file has duplicated output lines. This was because fork()
command also ends up duplicating parent's buffered output to the child.
Added flush of all units and C stdio before calling fork().
Commit: bbe4853a7b026becdff040933011129549e4484a
https://github.com/llvm/llvm-project/commit/bbe4853a7b026becdff040933011129549e4484a
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Add findCommutedOpIndices support for Zvabd
Reviewers: preames, topperc, mgudim, lukel97, mshockwave
Pull Request: https://github.com/llvm/llvm-project/pull/184602
Commit: 30086bc246ebf3402856805977ace06951a0f1f8
https://github.com/llvm/llvm-project/commit/30086bc246ebf3402856805977ace06951a0f1f8
Author: Luke Lau <luke at igalia.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector-shuffle.ll
R llvm/test/CodeGen/RISCV/rvv/reduce-vl-peephole.ll
R llvm/test/CodeGen/RISCV/rvv/reduce-vl-peephole.mir
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-to-vmv.mir
M llvm/test/CodeGen/RISCV/rvv/vmv.v.v-peephole.mir
Log Message:
-----------
[RISCV] Remove RISCVVectorPeephole::tryToReduceVL (#184297)
Now that RISCVVLOptimizer has been extended to handle the remaining
cases tryToReduceVL handles, we can remove tryToReduceVL to keep all the
reduction logic in one place.
Intended to be NFC but it looks like in
test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector-shuffle.ll we were
previously reducing the vl of a volatile load in
insert_subvector_dag_loop, which RISCVVLOptimizer knows to avoid.
On llvm-test-suite and SPEC CPU 2017 -march=rva23u64 -O3 there are no
changes with this patch.
Commit: 7418d1b1460112c4bd72484d0413675096283da0
https://github.com/llvm/llvm-project/commit/7418d1b1460112c4bd72484d0413675096283da0
Author: quic-k <kushpal at qti.qualcomm.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Options/Options.td
M clang/lib/Driver/ToolChain.cpp
Log Message:
-----------
[Clang] Add clang flag --cstdlib (#183254)
Introduce clang flag --cstdlib based on RFC:
https://discourse.llvm.org/t/rfc-add-command-line-option-for-selecting-c-library/87335
This flag accepts a string i.e. the name of the C library that user
wants to use.
Toolchain drivers can handle this flag as per need or ignore it.
Commit: f49871efdca69caca9b72544fd3a578cf0a2b92f
https://github.com/llvm/llvm-project/commit/f49871efdca69caca9b72544fd3a578cf0a2b92f
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M libc/src/__support/math/CMakeLists.txt
Log Message:
-----------
[libc][math][NFC] Fix dependency for acospif (#184738)
Commit: 22bf237e74b70bf418af0db6df8514f907db36a9
https://github.com/llvm/llvm-project/commit/22bf237e74b70bf418af0db6df8514f907db36a9
Author: John Otken <john at otken.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M flang-rt/lib/runtime/edit-input.cpp
Log Message:
-----------
[flang-rt] Handle NAMELIST logical comments without preceding space (#183202)
If a comment appears immediately after a logical value in a NAMELIST
file, the flang runtime returns IostatGenericError. No error occurs when
a space preceeds the exclamation point. Add code to handle a comment
while parsing logical values.
Co-authored-by: John Otken john.otken at hpe.com
Commit: 7bb3139304fc2c6497639bbb87651ff32f22707f
https://github.com/llvm/llvm-project/commit/7bb3139304fc2c6497639bbb87651ff32f22707f
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/abseil/cleanup-ctad.cpp
M clang-tools-extra/test/clang-tidy/checkers/boost/use-ranges-pipe.cpp
M clang-tools-extra/test/clang-tidy/checkers/boost/use-ranges.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/assignment-in-if-condition-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/bitwise-pointer-cast-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/branch-clone-fallthrough.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/branch-clone-if-constexpr-template.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/default-operator-new-on-overaligned-type-cpp17.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/default-operator-new-on-overaligned-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-consteval.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/fold-init-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/incorrect-enable-if.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/multiple-new-in-one-expression.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-bitfields.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/nondeterministic-pointer-iteration-order.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-memcpy-safe-cxx.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-memcpy-safe-other.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-value-dependent-crash.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-wmemcpy-safe-cxx.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/signal-handler.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/stringview-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-memory-comparison.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unhandled-exception-at-new.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-reference-coroutine-parameters.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward-custom-function.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/no-suspend-with-lock.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/rvalue-reference-param-not-moved-custom-function.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/rvalue-reference-param-not-moved.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/readability-namespace-comments-missing-nested-namespaces.cpp
M clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-integer-literals.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/coroutine-hostile-raii.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/misplaced-const-cxx17.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/static-assert.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unconventional-assign-operator-cxx23.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-consteval.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-module.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-c++20.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-reverse.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-rewritten-binop.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-inaccessible-ctors.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/type-traits-GH153649.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-constraints-first-greatergreater.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-designated-initializers.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges-pipe.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-custom.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-numbers.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-absl.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-custom.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-move-constructor.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements-consteval-if.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements-constexpr-if-templates.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-if-consteval.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-if-constexpr.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/function-cognitive-complexity.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/function-size-variables-c++17.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-anon-record-fields.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-case-match.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-outofline.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-casting.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-inline-specifier.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-cxx23.cpp
Log Message:
-----------
[clang-tidy][NFC] Run tests in multiple language modes where possible (#184741)
Commit: a2407f6d4c5012c0a0375fb097f96cf726833883
https://github.com/llvm/llvm-project/commit/a2407f6d4c5012c0a0375fb097f96cf726833883
Author: Aleksandr Platonov <platonov.aleksandr at huawei.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang-tools-extra/clangd/index/Ref.cpp
M clang-tools-extra/clangd/index/Ref.h
Log Message:
-----------
[clangd][NFC] Add RefKind::Call into RefKind::All and insertion operator (#184677)
Without this patch:
- RefKind output doesn't show RefKind::Call bit.
- RefKind::Call isn't included in RefKind::All.
I don't think these changes require additional tests, as the problems
above mainly appear during testing/debugging (e.g. if in tests
comparison of two RefKinds fails, `Call` isn't shown in the output even
if this bit is set).
Commit: 50826f9c3b9c31bcc77846ba00ef106d0e0abc83
https://github.com/llvm/llvm-project/commit/50826f9c3b9c31bcc77846ba00ef106d0e0abc83
Author: Abhishek Varma <avarma094 at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/test/Dialect/MemRef/canonicalize.mlir
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
Log Message:
-----------
[mlir][MemRef] Add position-based matching heuristics for rank-reduction with dynamic strides (#184334)
When multiple source dimensions have multiple unit dimensions,
stride-based disambiguation can be wrong with dynamic strides. Add
position-based matching: for each result dimension in order, pick the
leftmost unmatched source dimension with the same size; unmatched source
dims are dropped.
Example: subview from memref<1x8x1x3> to memref<1x8x3>. Both dim 0 and
dim 2 have size 1. Stride-based logic cannot distinguish when strides
are dynamic. Position-based matching correctly drops dim 2 (middle unit
dim) instead of dim 0.
When we have non-trivial static strides, we make use of the stride-based
logic, else we fall back to position-based logic as introduced by this
patch.
INPUT :-
```
func.func @fold_rank_reducing_subview_1x8x1x3_to_1x8x3_drop_middle_unit_dim(
%arg0 : memref<?x?x?x?xf32, strided<[?, ?, ?, ?], offset: ?>>,
%arg1 : index, %arg2 : index, %arg3 : index, %arg4 : index) -> f32 {
%c0 = arith.constant 0 : index
%0 = memref.subview %arg0[0, 0, 0, 0][1, 8, 1, 3][1, 1, 1, 1]
: memref<?x?x?x?xf32, strided<[?, ?, ?, ?], offset: ?>> to
memref<1x8x3xf32, strided<[?, ?, ?], offset: ?>>
%1 = memref.load %0[%c0, %arg1, %arg2] : memref<1x8x3xf32, strided<[?, ?, ?], offset: ?>>
return %1 : f32
}
```
WITHOUT this patch we get :-
```
memref.load %0[%c0, %c0, %arg1, %arg2]
```
WITH this patch we get :-
```
memref.load %0[%c0, %arg1, %c0, %arg2]
```
Signed-off-by: Abhishek Varma <abhvarma at amd.com>
Commit: b414d7795d2965ffaa9457a7e56dca76fd07cce1
https://github.com/llvm/llvm-project/commit/b414d7795d2965ffaa9457a7e56dca76fd07cce1
Author: Kirill Vedernikov <kvedernikov at nvidia.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-block-scale-shared.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-block-scale-tensor.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-invalid.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-sp-block-scale-shared.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-sp-block-scale-tensor.mlir
Log Message:
-----------
[MLIR][NVVM] Unify and move to a single tcgen05_mma_kind attr for all tcgen05.mma Ops (#184433)
This change unifies using of `tcgen05_mma_kind` attribute for
tcgen05.mma Ops in MLIR.
Before this change there were two block scale attributes used for
tcgen05.mma Ops. One was `MMABlockScaleKindAttr` with `mxf8f6f4`, `mxf4`
and `fxf4nvf4` values used for `tcgen05.mma.block_scale` and
`tcgen05.mma.sp.block_scale`. Another one was `Tcgen05MMAKindAttr` with
`f16`, `tf32`, `f8f6f4` and `i8` values used for `tcgen05.mma`,
`tcgen05.mma.sp`, `tcgen05.mma.ws` and `tcgen05.mma.ws.sp`.
`Tcgen05MMAKindAttr` has been extended with values from
`MMABlockScaleKindAttr`. Now there is `tcgen05_mma_kind` attribute only
for all `tcgen05.mma` Ops in MLIR.
Backward compatibility is not supported. Existing tests and scripts
should be updated to use `tcgen05_mma_kind` attribute instead of
`block_scale_kind` for all tcgen05.mma MLIR Ops.
Commit: d998a70c86389a1b9c44413270897c0cb8472374
https://github.com/llvm/llvm-project/commit/d998a70c86389a1b9c44413270897c0cb8472374
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
libclc: Fix checking for arch including OS in wrong place (#184683)
Commit: d5378dafa2af38164c2577a36c7a6c6aa0249d9f
https://github.com/llvm/llvm-project/commit/d5378dafa2af38164c2577a36c7a6c6aa0249d9f
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
A llvm/test/CodeGen/SystemZ/fminimumnum-fmaximumnum.ll
Log Message:
-----------
[SystemZ] Mark fminimumnum/fmaximumnum as legal (#184595)
In M=4 mode, the behavior matches IEEE 754-2019 minimumNumber, except
that if both operands are sNaN, the result will be sNaN rather than
qNaN. However, this is explicitly allowed for LLVM's minimumnum
intrinsic, as canonicalization can be omitted for non-constrainted FP.
As such, mark fminimumnum/fmaximumnum as legal, and lower them the same
way as fminnum/fmaxnum. In the future, we may wish to switch those to
use M=0 instead, to match IEEE 754-2008 maxNum/minNum instead.
Commit: b0da64ea01d204f3c06d2592f4887b20439a5100
https://github.com/llvm/llvm-project/commit/b0da64ea01d204f3c06d2592f4887b20439a5100
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M .ci/monolithic-linux.sh
Log Message:
-----------
[CI] Enable LTO linker plugin tests (#184076)
We've recently had two instances of test failures for the LTO linker
plugin being introduced. Build and test the LTO linker plugin in
pre-merge CI to avoid this.
Commit: 825129378e0f1a6671de77aa8e221a4838fd8219
https://github.com/llvm/llvm-project/commit/825129378e0f1a6671de77aa8e221a4838fd8219
Author: Luke Lau <luke at igalia.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
A llvm/test/Transforms/LoopVectorize/VPlan/tail-folding.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
Log Message:
-----------
[VPlan] Move tail folding out of VPlanPredicator. NFC (#176143)
Currently the logic for introducing a header mask and predicating the
vector loop region is done inside introduceMasksAndLinearize.
This splits the tail folding part out into an individual VPlan transform
so that VPlanPredicator.cpp doesn't need to worry about tail folding,
which seemed to be a temporary measure according to a comment in
VPlanTransforms.h.
To perform tail folding independently, this splits the "body" of the
vector loop region between the phis in the header and the branch + iv
increment in the latch:
Before:
```
+-------------------------------------------+
|%iv = ... |
|... |
|%iv.next = add %iv, vfxuf |
|branch-on-count %iv.next, vector-trip-count|
+-------------------------------------------+
```
After:
```
+-------------------------------------------+
|%iv = ... |
|%wide.iv = widen-canonical-iv ... |
|%header-mask = icmp ule %wide.iv, BTC |---+
|branch-on-cond %header-mask | |
+-------------------------------------------+ |
| |
v |
+-------------------------------------------+ |
|... | |
+-------------------------------------------+ |
| |
v |
+-------------------------------------------+ |
|%iv.next = add %iv, vfxuf |<--+
|branch-on-count %iv.next, vector-trip-count|
+-------------------------------------------+
```
Phis are then inserted in the latch for any value in the loop body that
have outside uses, with poison as their incoming value from the header
edge.
The motivation for this is to allow us to share the same "predicate all
successor blocks" type of predication we do for tail folding, but for
early-exit loops in #172454. This may also allow us to directly emit an
EVL based header mask, instead of having to match + transform the
existing header mask in addExplicitVectorLength.
This also allows us to eventually handle recurrences in the same
transform, avoiding the need to special case tail folding in
addReductionResultComputation.
Commit: 3b657524b69f49165377ff507f0d024633bfa37b
https://github.com/llvm/llvm-project/commit/3b657524b69f49165377ff507f0d024633bfa37b
Author: David Green <david.green at arm.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/clmul-fixed.ll
Log Message:
-----------
[AArch64] Enabled and regenerate clmul-fixed.ll. NFC (#184628)
The v2i64 tests are now fixed. The disabled ones in clmul-scalable.ll
require i128 vectors which are generally not supported.
Commit: 17e783b241acb3070edde48ae52cc5b4c1b2b03c
https://github.com/llvm/llvm-project/commit/17e783b241acb3070edde48ae52cc5b4c1b2b03c
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
A mlir/test/Dialect/LLVMIR/nvvm-canonicalize.mlir
A mlir/test/Target/LLVMIR/nvvm/addf/addf.mlir
A mlir/test/Target/LLVMIR/nvvm/addf/addf_invalid.mlir
A mlir/test/Target/LLVMIR/nvvm/addf/addf_vector.mlir
Log Message:
-----------
[MLIR][NVVM] Add nvvm.addf and nvvm.subf Ops (#179162)
Adds `nvvm.addf` and `nvvm.subf` Ops to the NVVM dialect. `nvvm.addf`
performs a floating-point addition between two operands. `nvvm.subf`
performs a floating-point subtraction between two operands and is
equivalent to an `llvm.fneg` followed by an `nvvm.addf` operation.
PTX ISA Reference:
1.
https://docs.nvidia.com/cuda/parallel-thread-execution/#floating-point-instructions-add
2.
https://docs.nvidia.com/cuda/parallel-thread-execution/#half-precision-floating-point-instructions-add
Commit: 95685ca52ee89ab6df9872f1ade1bb9bfa5ce9ba
https://github.com/llvm/llvm-project/commit/95685ca52ee89ab6df9872f1ade1bb9bfa5ce9ba
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/AArch64/compare-and-branch-inversion.S
M bolt/test/AArch64/compare-and-branch-reorder-blocks.S
A bolt/test/AArch64/retain-local-symbols.s
M bolt/test/X86/avx512-trap.test
M bolt/test/X86/dynamic-relocs-on-entry.s
Log Message:
-----------
[BOLT] Retain certain local symbols (#184074)
BOLT currently strips all STT_NOTYPE STB_LOCAL zero-sized symbols
that fall inside function bodies. Certain such symbols are named
labels (loop markers and subroutine entry points) or local function
symbols in hand-written assembly. We now keep them in local symbol
table in BOLT processed binaries for better symbolication.
Commit: 0418700f047950e71b5c94a31f2ed76f976e6090
https://github.com/llvm/llvm-project/commit/0418700f047950e71b5c94a31f2ed76f976e6090
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/AArch64/arm64-fmax-safe.ll
M llvm/test/CodeGen/ARM/fp16-vminmaxnm-safe.ll
M llvm/test/CodeGen/ARM/minnum-maxnum-intrinsics.ll
M llvm/test/CodeGen/ARM/vminmaxnm-safe.ll
M llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll
M llvm/test/CodeGen/X86/sse-minmax.ll
Log Message:
-----------
[SDAGBuilder] Fix incorrect fcmp+select to minnum/maxnum transform (#184590)
minnum/maxnum don't have the correct sNaN semantics, we must convert to
minimumnum/maximumnum instead.
To avoid an NVPTX regression, make it handle fmaximmumnum in one
TableGen pattern.
This is intended as a targeted fix for the miscompile, as the complete
removal of this transform (#93575) appears to be blocked.
Fixes https://github.com/llvm/llvm-project/issues/176624.
Commit: 1f53da098f7c6a1257b8f02a139c0d26ce99aa7c
https://github.com/llvm/llvm-project/commit/1f53da098f7c6a1257b8f02a139c0d26ce99aa7c
Author: Fangrui Song <i at maskray.me>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/docs/CommandGuide/llvm-objdump.rst
M llvm/test/CodeGen/BPF/objdump_cond_op.ll
M llvm/test/CodeGen/BPF/objdump_cond_op_2.ll
M llvm/test/tools/llvm-objdump/BPF/disassemble-symbolize-operands.s
M llvm/tools/llvm-objdump/ObjdumpOpts.td
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[llvm-objdump] Default --symbolize-operands for BPF (#184043)
BPF users expect to see basic block labels (e.g. <L0>, <L1>) in
disassembly output
(https://github.com/llvm/llvm-project/pull/95103#issuecomment-3771234810).
Default --symbolize-operands to on for BPF targets when neither
--symbolize-operands nor --no-symbolize-operands is explicitly
specified.
Add --no-symbolize-operands to allow users to opt out.
Commit: 6778c11f5cf26718c0fd057d24d416018932204b
https://github.com/llvm/llvm-project/commit/6778c11f5cf26718c0fd057d24d416018932204b
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/AArch64/sve-math.ll
M llvm/test/Analysis/CostModel/AArch64/sve-min-max.ll
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-intrinsic-calls.ll
Log Message:
-----------
[AArch64] Fix SVE cost model for various math intrinsics (#184358)
The implementation of getIntrinsicInstrCost in BasicTTIImpl
assumes that for some intrinsics if we're using custom
lowering for the equivalent DAG node that the cost needs to
be 2, instead of 1 for legal ops. However, even though we
use custom lowering for these scalable vector operations
when SVE is available, we still end up generating the same
efficient codegen as fixed-width. This patch deals with a
few obvious intrinsics that we know get lowered to something
sensible and return the same cost as NEON, i.e. 1.
Commit: 9c35a7bfbc832fe357d03cc801ec25a811e52dc9
https://github.com/llvm/llvm-project/commit/9c35a7bfbc832fe357d03cc801ec25a811e52dc9
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/popcount_vmask.ll
Log Message:
-----------
[AArch64] Refine reduction VT selection in CTPOP -> VECREDUCE combine (#183025)
Use the same VT as the SETcc source, or fall back to using the VT of the
unextended operand of the CTPOP if the element size of the SETcc is too
small to fit the negative popcount.
Commit: 3cf97d8d48ccb309a5add656e7b94e27561a7dfa
https://github.com/llvm/llvm-project/commit/3cf97d8d48ccb309a5add656e7b94e27561a7dfa
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Make ISD::ROTL/ROTR vector rotates legal on XOP+AVX512 targets (#184587)
Similar to what we did for funnel shifts on #166949 - set vector rotates
as legal on XOP (128-bit ROTL) and AVX512 (vXi32/vXi64 ROTL/ROTR)
targets, and custom fold to X86ISD::VROTLI/VROTRI as a later fixup.
128/256-bit vector widening to 512-bit instructions is already fully
supported + tested on AVX512F-only targets
First part of #184002
Commit: 8c206a26e408bcbf98b1cc6b0770b17c1e8d0320
https://github.com/llvm/llvm-project/commit/8c206a26e408bcbf98b1cc6b0770b17c1e8d0320
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/lib/CodeGen/CGExprCXX.cpp
A clang/test/CodeGenCXX/ms-vdtors-devirtualization.cpp
Log Message:
-----------
[win][clang] Fix devirtualization of vector deleting destructor call (#183741)
Since vector deleting destructor performs a loop over array elements and
calls delete[], simply devirtualizing call to it produces wrong code
with memory leaks.
Before emitting virtual call to vector deleting destructor, check if it
can be devirtualized, if yes, emit normal loop over array elements
instead of a virtual call.
No release note since this is a relatively recent regression.
This aims to fix https://github.com/llvm/llvm-project/issues/183621
Commit: 768182dff6ec12a91beae27fb2f5c2f20f6d4993
https://github.com/llvm/llvm-project/commit/768182dff6ec12a91beae27fb2f5c2f20f6d4993
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
Log Message:
-----------
[X86] Declare 128/256-bit funnel shifts legal on VBMI2 + NOVLX targets (#184634)
Add tablegen patterns to widen 128/256-bit funnel shift to 512-bit
Similar to what we do for 128/256-bit AVX512F rotates (and a lot of
other instructions) already - and I've take the opportunity to create
similar macros to reduce duplication in the rotate patterns
Another step towards #184002
Commit: 2e93eb71b63f25b36a991f603d7ccbb3963cb154
https://github.com/llvm/llvm-project/commit/2e93eb71b63f25b36a991f603d7ccbb3963cb154
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUFeatures.td
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
Log Message:
-----------
[AMDGPU] Use subtarget feature for flat offset bit width instead of arch checks (#183742)
Commit: c9ac1c036a45467ea3c30a14d17ce74b3c03d2f6
https://github.com/llvm/llvm-project/commit/c9ac1c036a45467ea3c30a14d17ce74b3c03d2f6
Author: Lang Hames <lhames at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/unittests/ExecutionEngine/Orc/WaitingOnGraphTest.cpp
Log Message:
-----------
[ORC] Fix typo in testcase comment. NFC.
Commit: 4a26b1f20ebb1477111064c6c686e81cf50ad7eb
https://github.com/llvm/llvm-project/commit/4a26b1f20ebb1477111064c6c686e81cf50ad7eb
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
M clang/test/OpenMP/for_non_rectangular_codegen.c
M clang/test/OpenMP/for_private_reduction_codegen.cpp
A clang/test/OpenMP/loop_collapse_codegen.cpp
Log Message:
-----------
[OpenMP] Enable collapse handling in triangular loops. (#184674)
These changes ensure that triangular loops are handled correctly when
calculating the number of iterations in OpenMP loops with `collapse`.
Commit: b6b19d140bd4f01c196ef45cb86651811f8a80ab
https://github.com/llvm/llvm-project/commit/b6b19d140bd4f01c196ef45cb86651811f8a80ab
Author: Amina Chabane <amina.chabane at arm.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
M llvm/test/CodeGen/AArch64/ctpop.ll
M llvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
M llvm/test/CodeGen/AArch64/neon-lowhalf128-optimisation.ll
M llvm/test/CodeGen/AArch64/peephole-insvigpr.mir
Log Message:
-----------
[AArch64] Fold zero-high vector inserts in MI peephole optimisation (#182835)
Summary
This patch follows on from #178227.
The previous ISel fold lowers the 64-bit case to:
```
fmov d0, x0
fmov d0, d0
```
which is not ideal and could be fmov d0, x0.
A redundant copy comes from the INSERT_SUBREG/INSvi64lane.
This peephole detects <2 x i64> vectors made of a zeroed upper and low
lane produced by FMOVXDr/FMOVDr, then removes the redundant copy.
Further updated tests and added MIR tests.
Commit: 7a624590d0d6a8f4b3b3aa4b2ee5d060e7c80a50
https://github.com/llvm/llvm-project/commit/7a624590d0d6a8f4b3b3aa4b2ee5d060e7c80a50
Author: Colin He <50345320+CPlusMinus2000 at users.noreply.github.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
Log Message:
-----------
[mlir] Deterministic containers in OneShotModuleBufferize (#184722)
Iteration over funcOps in `getFuncOpsOrderedByCalls` is
non-deterministic as a result of using Dense containers. Replacing with
Vector-backed containers restores deterministic behaviour.
Commit: 774f740e0b5ff01fe8ad713300ba233f0a42262a
https://github.com/llvm/llvm-project/commit/774f740e0b5ff01fe8ad713300ba233f0a42262a
Author: Ayush Kumar Gaur <132849148+Ayush3941 at users.noreply.github.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M mlir/tools/mlir-src-sharder/CMakeLists.txt
Log Message:
-----------
[mlir] Avoid ASan ODR violation in mlir-src-sharder with LLVM dylib (#181045)
Build mlir-src-sharder via add_llvm_executable instead of add_tablegen
to avoid embedding a second copy of LLVM Support when linking against
libLLVM.so. Fixes ASan ODR violation for DisableABIBreakingChecks
Tested with ASan + LLVM dylib configuration; tool runs without abort.
Fixes #180911
Commit: e3c94d5a3640592f731d0603c7c4fbc73ff157ec
https://github.com/llvm/llvm-project/commit/e3c94d5a3640592f731d0603c7c4fbc73ff157ec
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaTypes.td
M mlir/test/Dialect/SPIRV/IR/tosa-ops-verification.mlir
M mlir/test/Dialect/SPIRV/IR/tosa-ops.mlir
M mlir/test/Target/SPIRV/tosa-ops.mlir
Log Message:
-----------
[mlir][spirv] Add last 6 Element Binary operators to TOSA Ext Inst Set (#184121)
This patch introduces the following element binary operators:
* spirv.Tosa.Maximum
* spirv.Tosa.Minimum
* spirv.Tosa.Mul
* spirv.Tosa.Pow
* spirv.Tosa.Sub
* spirv.Tosa.Table
Also dialect and serialization round-trip tests have been added.
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: 2f90df0399b759525fcbd13283e37e2cdfb9bd4e
https://github.com/llvm/llvm-project/commit/2f90df0399b759525fcbd13283e37e2cdfb9bd4e
Author: laoshd <shandong.lao at hpe.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M flang/lib/Parser/io-parsers.cpp
A flang/test/Semantics/io17.f90
Log Message:
-----------
[Flang] Fix wrong compile-time error message, issue #178494. (#183878)
Fix the problem described in issue #178494. It will cover the failures
with S, SP, SS, BN, BZ, LZ, LZP, LZS, etc. It will resolve the test
failures in PR #183500.
Commit: fcf6bb8f3ce692c84b8cea6d55696c8576151abd
https://github.com/llvm/llvm-project/commit/fcf6bb8f3ce692c84b8cea6d55696c8576151abd
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/bitset/TestDataFormatterGenericBitset.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/coroutine_handle/TestCoroutineHandle.py
Log Message:
-----------
[lldb][test] Clean up USE_LIBSTDCPP/USE_LIBCPP usage
This patch makes the two tests consistent with the rest of the formatter API tests (and is in my opionion easier to follow).
Commit: 72e68fa73c5d09ab98d79d5f56a08a44e3ea1326
https://github.com/llvm/llvm-project/commit/72e68fa73c5d09ab98d79d5f56a08a44e3ea1326
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/optional/TestDataFormatterGenericOptional.py
Log Message:
-----------
[lldb][test] TestDataFormatterGenericOptional.py: remove obsolete skipIfs
Clang 7 and GCC 5 are pretty ancient. There's unlikely to be any bot configurations running this anymore. Lets remove it to reduce test noise.
Commit: 1bddfed92ae7de03edf4791d3e8b43c64aa921c3
https://github.com/llvm/llvm-project/commit/1bddfed92ae7de03edf4791d3e8b43c64aa921c3
Author: Tim Corringham <timothy.corringham at amd.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/test/CodeGenHLSL/builtins/f16tof32-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/f16tof32.hlsl
M clang/test/CodeGenHLSL/builtins/f32tof16-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/f32tof16.hlsl
Log Message:
-----------
[HLSL] Amend f32tof16() and f16tof32() tests (#179261)
Amend the codegen tests for f32tof16() and f16tof32() to include SPIRV
as a target in addition to DXIL.
Fixes #179257
Co-authored-by: Tim Corringham <tcorring at amd.com>
Commit: 4afd0cf5534e19dc850ca6305a46f45894e23849
https://github.com/llvm/llvm-project/commit/4afd0cf5534e19dc850ca6305a46f45894e23849
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseAssembler.cpp
A mlir/test/Dialect/SparseTensor/external_after_codegen.mlir
Log Message:
-----------
[mlir][sparse] Fix crash in SparseAssembler when run after SparseTensorCodegen (#183896)
After --sparse-tensor-codegen, sparse tensor arguments are replaced by
memrefs and \!sparse_tensor.storage_specifier types. The subsequent
--sparse-assembler pass calls getSparseTensorEncoding() to identify
sparse arguments to wrap/unwrap. However, getSparseTensorEncoding()
returns non-null for StorageSpecifierType as well as for sparse
RankedTensorType. Since StorageSpecifierType is not a RankedTensorType,
the subsequent cast<RankedTensorType> in convTypes() and convVals()
would crash with an assertion failure.
Fix by also checking isa<RankedTensorType>(type) in the passthrough
condition in both convTypes() and convVals(), so that
StorageSpecifierType arguments pass through unchanged.
Fixes #183776
Commit: e67360ec319a642e56abb0c3f0c3e627a98dd225
https://github.com/llvm/llvm-project/commit/e67360ec319a642e56abb0c3f0c3e627a98dd225
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
A libclc/clc/include/clc/address_space/qualifier.h
M libclc/clc/lib/amdgcn/SOURCES
A libclc/clc/lib/amdgcn/address_space/qualifier.cl
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/shared/clc_qualifier.cl
M libclc/opencl/lib/generic/SOURCES
A libclc/opencl/lib/generic/address_space/qualifier.cl
Log Message:
-----------
libclc: Implement address space qualifier functions for amdgpu (#184766)
Commit: 68c0afae262fad059bd524df9fc6d999fdb8eafd
https://github.com/llvm/llvm-project/commit/68c0afae262fad059bd524df9fc6d999fdb8eafd
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
Log Message:
-----------
AMDGPU: Add FlatSignedOffset feature and use it for flat offset printing (#183483)
Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
Commit: e56b580d40a4fbb30a05f4d3e79ecbee731bc142
https://github.com/llvm/llvm-project/commit/e56b580d40a4fbb30a05f4d3e79ecbee731bc142
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_float_controls2/exec_mode3.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/pointers/fun-with-aggregate-arg-in-const-init.ll
Log Message:
-----------
Reapply "[SPIRV] Emit intrinsics for globals only in function that references them (#178143 (#179268)) (#182552)
This reverts commit 395858d9f172ff1c61c661aa7c2a18b449daffa6.
This PR had been reverted due to an unrelated address-sanitizer failure.
Commit: 001c049911e46c955aa9fc0137ca928408f9c489
https://github.com/llvm/llvm-project/commit/001c049911e46c955aa9fc0137ca928408f9c489
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/test/CodeGen/X86/known-pow2.ll
Log Message:
-----------
[X86] known-pow2.ll - add zext vector test for #182226 (#184772)
Commit: 0f59753a422d6dcbe28ab07b6f01efe131375fbe
https://github.com/llvm/llvm-project/commit/0f59753a422d6dcbe28ab07b6f01efe131375fbe
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
M mlir/test/Dialect/SparseTensor/spy_sddmm.mlir
Log Message:
-----------
[mlir][sparse] Fix crash in sparsification when unary/binary present block captures sparse tensor argument (#184597)
`relinkBranch` in Sparsification.cpp assumed that any block argument
from the outer `linalg.generic` op encountered inside an inlined
semi-ring branch must be a dense tensor, and asserted accordingly.
However, the `present` block of a `sparse_tensor.unary` (or similar
semi-ring ops) is permitted to capture sparse tensor operands directly
via `isAdmissibleBranchExp`, which accepts any `BlockArgument` as
admissible.
The fix removes the incorrect assertion and extends the load generation
to handle sparse tensors using `genSubscript`, which already knows how
to return the value buffer and current value position via the loop
emitter. The `kSparseIterator` strategy (where `genSubscript` returns a
`TensorType`) is also handled by emitting a
`sparse_tensor.extract_value` op.
Fixes #91183
Commit: 65d378d82d127915a5e58dbaaec70315b17d361e
https://github.com/llvm/llvm-project/commit/65d378d82d127915a5e58dbaaec70315b17d361e
Author: William Tran-Viet <wtranviet at proton.me>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/include/__iterator/wrap_iter.h
M libcxx/include/regex
Log Message:
-----------
[libc++] Remove `__wrap_iter::base()` (#179389)
Resolves #126442
- Converts all the relevant functions that used `.base()` into friends
- Fixed usage in `<regex>`
---------
Co-authored-by: A. Jiang <de34 at live.cn>
Commit: 9d1d80b2efcc2292a985a7cf8ad1124c2853f97e
https://github.com/llvm/llvm-project/commit/9d1d80b2efcc2292a985a7cf8ad1124c2853f97e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
Log Message:
-----------
DAG: Replace legal type check in EmitCopyFromReg (#177788)
It doesn't make sense that an illegal type would get here; a
CopyFromReg cannot be illegally typed. The only exception that
was hit here is in a handful of SystemZ inline assembly tests
for i128, which use untyped. They shouldn't; it should treat
v2i64 as legal instead. Just leave the untyped check for now.
Commit: 3ebb3ef542aa51307b12b748ad62567cbc0722cb
https://github.com/llvm/llvm-project/commit/3ebb3ef542aa51307b12b748ad62567cbc0722cb
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M mlir/lib/IR/BuiltinDialectBytecode.cpp
A mlir/test/Bytecode/invalid/invalid-dense-elem-type-interface.mlir
Log Message:
-----------
[mlir][bytecode] Fix crash when reading DenseIntOrFPElementsAttr with unsupported element type (#184773)
When a bytecode type callback substitutes a type that does not implement
DenseElementTypeInterface (e.g., \!test.i32 replacing i32), the bytecode
reader attempted to reconstruct a DenseIntOrFPElementsAttr with that
type. This unconditionally called getDenseElementBitWidth() which hit an
llvm_unreachable on unsupported types.
Fix this by validating the element type implements
DenseElementTypeInterface in readDenseIntOrFPElementsAttr before
proceeding. If the check fails, a proper diagnostic is emitted and
reading fails gracefully instead of crashing.
Fixes #128317
Commit: a631af32c01bae47ff3ddf4645df2da96984ff09
https://github.com/llvm/llvm-project/commit/a631af32c01bae47ff3ddf4645df2da96984ff09
Author: Chaitanya Koparkar <ckoparkar at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/include/llvm/CodeGen/ValueTypes.h
M llvm/include/llvm/CodeGenTypes/MachineValueType.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
Add EVT::changeVectorElementCount and MVT:changeVectorElementCount (#182266)
Fixes #174584.
Commit: a115e6bd096da9655df3541fb8161949d69cf562
https://github.com/llvm/llvm-project/commit/a115e6bd096da9655df3541fb8161949d69cf562
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/test/Dialect/Shape/canonicalize.mlir
Log Message:
-----------
[mlir][Shape] Fix crash in BroadcastOp::fold when operand is ub.poison (#183931)
BroadcastOp::fold used an unchecked llvm::cast<DenseIntElementsAttr> on
each operand's folded attribute. The existing null-check only guarded
against a missing (unset) attribute, not against a non-null attribute of
a different type such as PoisonAttr (produced when an operand is
ub.poison).
Replace the unchecked casts with dyn_cast_or_null, bailing out with
nullptr (i.e. no fold) when any operand does not provide a
DenseIntElementsAttr.
Add a regression test with a ub.poison operand.
Fixes #179679
Commit: 839dc4f7cfff5d240cc9274696efb056dd3847cd
https://github.com/llvm/llvm-project/commit/839dc4f7cfff5d240cc9274696efb056dd3847cd
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferDeallocationOpInterface.h
M mlir/lib/Dialect/Bufferization/IR/BufferDeallocationOpInterface.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation.cpp
M mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-branchop-interface.mlir
Log Message:
-----------
[mlir][bufferization] Fix use-after-free in ownership-based buffer deallocation (#184118)
When `handleInterface(RegionBranchOpInterface)` processes an op such as
`scf.for`, it calls `appendOpResults` to clone the op with extra
ownership result types and erase the original. The `Liveness` analysis
is computed once before the transformation begins and may still
reference the old (now-freed) result values.
If the same block contains a `BranchOpInterface` terminator (e.g.,
`cf.br`) after the structured loop, `handleInterface(BranchOpInterface)`
calls `getMemrefsToRetain`, which iterates `liveness.getLiveOut()`. That
set may contain stale `Value` objects pointing to the erased op's
results. Calling `isMemref()` on such a value dereferences freed memory,
triggering a crash.
Fix by adding a `valueMapping` map to `DeallocationState`. Before
erasing the old op in `handleInterface(RegionBranchOpInterface)`, record
the old-to-new result mapping via `state.mapValue`. The
`getLiveMemrefsIn` and `getMemrefsToRetain` helpers translate stale
liveness values through this map before calling `isMemref`, so they
always operate on live pointers.
Fixes #119863
Assisted-by: Claude Code
Commit: d316fb0797045d6f85b237aac18fabbed42e5d09
https://github.com/llvm/llvm-project/commit/d316fb0797045d6f85b237aac18fabbed42e5d09
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/fold-tail-low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/gather-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/gather-do-not-vectorize-addressing.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleave-allocsize-not-equal-typesize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleave-with-gaps.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs-apple.ll
M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-insertelt.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/widen-call-with-intrinsic-or-libfunc.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/gather-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-ptradd-with-replicated-operand.ll
M llvm/test/Transforms/LoopVectorize/X86/interleaved-accesses-hoist-load-across-store.ll
M llvm/test/Transforms/LoopVectorize/X86/iv-live-outs.ll
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/X86/pr36524.ll
M llvm/test/Transforms/LoopVectorize/X86/pr51366-sunk-instruction-used-outside-of-loop.ll
M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
M llvm/test/Transforms/LoopVectorize/X86/predicated-udiv.ll
M llvm/test/Transforms/LoopVectorize/X86/replicating-load-store-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
M llvm/test/Transforms/LoopVectorize/X86/vplan-native-inner-loop-only.ll
M llvm/test/Transforms/LoopVectorize/X86/vplan-single-bit-ind-var-width-4.ll
M llvm/test/Transforms/LoopVectorize/X86/vplan-single-bit-ind-var.ll
M llvm/test/Transforms/LoopVectorize/X86/x86_fp80-vector-store.ll
M llvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/cse-casts.ll
M llvm/test/Transforms/LoopVectorize/debugloc.ll
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/find-last-iv-interleave.ll
M llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-expr.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads-with-predicated-stores.ll
M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads.ll
M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
M llvm/test/Transforms/LoopVectorize/induction-multiple-uses-in-same-instruction.ll
M llvm/test/Transforms/LoopVectorize/induction-ptrcasts.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses-metadata.ll
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-neg-off.ll
M llvm/test/Transforms/LoopVectorize/loop-form.ll
M llvm/test/Transforms/LoopVectorize/loop-with-constant-exit-condition.ll
M llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar.ll
M llvm/test/Transforms/LoopVectorize/operand-bundles.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction-index-width-smaller-than-iv-width.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-div.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_and.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_div_urem.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_lshr.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction2.ll
M llvm/test/Transforms/LoopVectorize/use-scalar-epilogue-if-tp-fails.ll
M llvm/test/Transforms/LoopVectorize/vect-phiscev-sext-trunc.ll
M llvm/test/Transforms/LoopVectorize/version-mem-access.ll
M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
Log Message:
-----------
[VPlan] Replicate VPScalarIVStepsRecipe by VF outside replicate regions. (#170053)
Extend replicateByVF to also handle VPScalarIVStepsRecipe. To do so, the
patch adds a new lane operand to VPScalarIVStepsRecipe, which is only
added when replicating. This enables removing a number of lane 0
computations. The lane operand will also be used to explicitly replicate
replicate regions in a follow-up.
Depends on https://github.com/llvm/llvm-project/pull/169796
Depends on https://github.com/llvm/llvm-project/pull/170906
PR: https://github.com/llvm/llvm-project/pull/170053
Commit: c7ddb30552d7281d74795f103d2b45af95fb1835
https://github.com/llvm/llvm-project/commit/c7ddb30552d7281d74795f103d2b45af95fb1835
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/fma-relu-contract.ll
Log Message:
-----------
[NVPTX] Remove `NoNaNsFPMath` uses (#183447)
Remove `NoNaNsFPMath` uses, use only `nnan`.
Commit: 0f5e9bee834adf5cef9e243103b023e20ae2b0f7
https://github.com/llvm/llvm-project/commit/0f5e9bee834adf5cef9e243103b023e20ae2b0f7
Author: Carlos Seo <carlos.seo at linaro.org>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M flang/lib/Optimizer/OpenMP/LowerWorkshare.cpp
A flang/test/Integration/OpenMP/workshare-forall-sliced-array.f90
A flang/test/Transforms/OpenMP/lower-workshare-thread-local.mlir
Log Message:
-----------
[flang][OpenMP] Fix crash when a sliced array is specified in a forall within a workshare construct (#170913)
This is a fix for two problems that caused a crash:
1. Thread-local variables sometimes are required to be parallelized.
Added a special case to handle this in
`LowerWorkshare.cpp:isSafeToParallelize`.
2. Race condition caused by a `nowait` added to the `omp.workshare` if
it is the last operation in a block. This allowed multiple threads to
execute the `omp.workshare` region concurrently. Since
_FortranAPushValue modifies a shared stack, this concurrent access
causes a crash. Disable the addition of `nowait` and rely on the
implicit barrier at the the of the `omp.workshare` region.
Fixes #143330
Commit: 209dca5fd3c1ebea7aa7b70ad48e979afc21bea9
https://github.com/llvm/llvm-project/commit/209dca5fd3c1ebea7aa7b70ad48e979afc21bea9
Author: Twice <twice at apache.org>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSAOps.td
Log Message:
-----------
[MLIR][WasmSSA] Fix formatting of code blocks in WasmSSAOps.td (NFC) (#184169)
The documentation for the wasmssa dialect has some issues, such as
missing endings in some code blocks and misaligned code blocks, causing
rendering problems. This PR fixes those issues.
Commit: 1689d3c5371b53e619cdad98183680faca469f4a
https://github.com/llvm/llvm-project/commit/1689d3c5371b53e619cdad98183680faca469f4a
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/hazard-getreg-waitalu.mir
Log Message:
-----------
[AMDGPU] Test hazard-getreg-waitalu.mir on gfx13 (#183007)
Co-authored-by: Scott Egerton <9487234+ScottEgerton at users.noreply.github.com>
Commit: e3b62ffcd8592cf234174057b4581adb1eecbf9c
https://github.com/llvm/llvm-project/commit/e3b62ffcd8592cf234174057b4581adb1eecbf9c
Author: Shivam Kunwar <75530356+phyBrackets at users.noreply.github.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/Reassociate.cpp
A llvm/test/Transforms/Reassociate/reassociate-decrement-dbgvalue.ll
R llvm/test/Transforms/Reassociate/reassociate_dbgvalue_discard.ll
A llvm/test/Transforms/Reassociate/reassociate_dbgvalue_salvage.ll
Log Message:
-----------
[Reassociate][DebugInfo] Salvage debug info before rewriting expression (#182730)
When RewriteExprTree modifies instruction operands, call
`salvageDebugInfo()` before `setOperand()` so debug value expressions
are rewritten while original operands are still intact. This preserves
variable accessibility in debuggers instead of dropping values to
poison.
Fixes #60532
Fixes #61272
Commit: ee31f2d34cbee3afac4d6e598ec74113d75a462f
https://github.com/llvm/llvm-project/commit/ee31f2d34cbee3afac4d6e598ec74113d75a462f
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
A llvm/test/MC/AMDGPU/gfx13_asm_vflat.s
A llvm/test/MC/AMDGPU/gfx13_asm_vflat_alias.s
Log Message:
-----------
[AMDGPU] Add VFLAT, VGLOBAL, VSCRATCH to gfx13 (#182811)
Commit: 808674f7b20f7e2b6588d1f42061a154a6dcd4ed
https://github.com/llvm/llvm-project/commit/808674f7b20f7e2b6588d1f42061a154a6dcd4ed
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/misc/throw-by-value-catch-by-reference-options.cpp
Log Message:
-----------
[clang-tidy] Fix option serialization in misc-throw-by-value-catch-by-reference (#184750)
Correct the serialization of the `WarnOnLargeObject` and
`CheckThrowTemporaries` options in `storeOptions`.
Commit: c186db874b9037a77829bce4ebf89bed46efdbb8
https://github.com/llvm/llvm-project/commit/c186db874b9037a77829bce4ebf89bed46efdbb8
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenException.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.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/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRCXXABI.h
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
A clang/test/CIR/CodeGenCXX/Inputs/typeinfo
A clang/test/CIR/CodeGenCXX/typeid-cxx11.cpp
A clang/test/CIR/CodeGenCXX/typeid-should-throw.cpp
A clang/test/CIR/CodeGenCXX/typeid.cpp
Log Message:
-----------
[CIR] Implement 'typeid' operator lowering (#184449)
This patch adds typeid lowering, which uses a lot of the infrastructure
from dynamic_cast. However, this adds a `get_type_info` operation that
gets the type info out of a vtable pointer as well, which lets the
offset be handled by the ABI specific lowering code.
Commit: 03174c2b14629293da2959d44e9f82f7bc6b15b2
https://github.com/llvm/llvm-project/commit/03174c2b14629293da2959d44e9f82f7bc6b15b2
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M mlir/lib/Transforms/Utils/CFGToSCF.cpp
A mlir/test/Conversion/ControlFlowToSCF/unknown-cf-op.mlir
Log Message:
-----------
[mlir][CFGToSCF] Fix crash when encountering unknown control flow ops (#184103)
When transformToStructuredCFBranches encountered a control flow op not
handled by the CFGToSCFInterface (e.g., spirv.BranchConditional with
--lift-cf-to-scf), it correctly emitted an error and returned failure.
However, blocks had already been moved from the parent region into
temporary local Region objects before the failure was detected.
When those temporary Region objects went out of scope, their destructor
tried to destroy the contained blocks. But those blocks still had live
predecessor references from the parent region (the regionEntry's
terminator still pointed to them), causing an assertion failure:
use_empty() && "Cannot destroy a value that still has uses\!"
Fix: on failure from createStructuredBranchRegionOp, move the blocks
from the temporary conditionalRegions back into the parent region before
returning failure. This restores IR consistency and allows the Region
destructor to run safely.
Fixes #120883
Fixes #118454
Assisted-by: Claude Code
Commit: 743e4df2e24f77278aeb65a1776984b4b8fb247a
https://github.com/llvm/llvm-project/commit/743e4df2e24f77278aeb65a1776984b4b8fb247a
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/test/CIR/CodeGen/ternary.cpp
Log Message:
-----------
[CIR] Fix void ternary operators- (#184691)
I discovered this while working on something else, but we were doing a
'getTerminator' on a block that we didn't know whether it had a
terminator, and MLIR causes an assert in this case. This patch
re-factors the code to better check whether it might have a terminator
(to assuage the assert in mlir::Block), and get the correct value out.
The fixup later in the ternary setup correctly gets the 'void' yields
correct, so everything else gets fixed eventually.
Commit: 5634484b32df726270224814315253c8eb17fb62
https://github.com/llvm/llvm-project/commit/5634484b32df726270224814315253c8eb17fb62
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M libc/src/__support/GPU/allocator.cpp
Log Message:
-----------
[libc] Hoist GPU allocator loop invariants from find_slab (#184803)
Summary:
This improves performance as these variables were not eligible for LICM
apparently.
Commit: 5f1683ca1a4a582a73eabd79cad46a5294b35c33
https://github.com/llvm/llvm-project/commit/5f1683ca1a4a582a73eabd79cad46a5294b35c33
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
R clang/test/DebugInfo/CXX/debug-info-constexpr-array.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
R llvm/test/DebugInfo/X86/debug-info-constexpr-array.ll
Log Message:
-----------
Revert "[DebugInfo] Emit DW_AT_const_value for constexpr array static members" (#184798)
Reverts llvm/llvm-project#182442.
The change does not handle endianness correctly.
Commit: 8ef122433149b10be71f01b9c5fafc8e269b1a63
https://github.com/llvm/llvm-project/commit/8ef122433149b10be71f01b9c5fafc8e269b1a63
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/hip-options.hip
A clang/test/Driver/linker-wrapper-canonical-prefixes.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
Log Message:
-----------
[LinkerWrapper] Add support for --no-canonical-prefixes
This is necessary to support build environments where the
compiler/associated tools are actually just symlinks into a CAS. Without
this, we try and resolve binaries relative to the real path of
clang-linker-wrapper, which is usually in a directory prefixed with the
first couple characters of a SHA digest and named with a SHA digest. We
also need to ensure that we propagate --no-canonical-prefixes to sub
clang invocations so that clang is able to resolve lld in such
environments.
Reviewers: jhuber6, Artem-B, sarnex
Pull Request: https://github.com/llvm/llvm-project/pull/184160
Commit: 73e2988dd02ca470f81601fb0e6e2db88a23a3df
https://github.com/llvm/llvm-project/commit/73e2988dd02ca470f81601fb0e6e2db88a23a3df
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/include/llvm/CodeGen/ValueTypes.h
Log Message:
-----------
[CodeGen] Simplify EVT::operator!=. NFCI. (#184792)
This is based on the assumption that LLVMTy should be nullptr if and
only if the EVT is simple.
Commit: 02e9b08d0286a2aac18dadd9bfff34ba9d7bf869
https://github.com/llvm/llvm-project/commit/02e9b08d0286a2aac18dadd9bfff34ba9d7bf869
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M lldb/include/lldb/Target/Platform.h
M lldb/include/lldb/Utility/UnimplementedError.h
Log Message:
-----------
[lldb] Use UnimplementedError for GetSDKFromDebugInfo (#184199)
We can now differentiate unimplemented errors from actual errors that
may be useful to users.
Commit: c88ba88da52b963692ab30e75821b69dad2c1bbd
https://github.com/llvm/llvm-project/commit/c88ba88da52b963692ab30e75821b69dad2c1bbd
Author: Dmitrii Makarenko <dmitrii.makarenko at intel.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/unittests/ADT/ArrayRefTest.cpp
Log Message:
-----------
[ADT] Refine MutableArrayRef forwarding constructor constraints (#183806)
Keep MutableArrayRef on a single C&& constructor, with SFINAE on direct
check on `C::data()`. This keeps const std::span<int> supported and
rejects const vector/smallvector sources for MutableArrayRef<int>.
Commit: 1dc91cd6205f9e72be729dfdba7647b4ceaf8abd
https://github.com/llvm/llvm-project/commit/1dc91cd6205f9e72be729dfdba7647b4ceaf8abd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/test/MC/Disassembler/X86/x86-64-avx.txt
M llvm/test/MC/X86/SSE42-32.s
M llvm/test/MC/X86/SSE42-64.s
M llvm/test/MC/X86/avx-32-att.s
M llvm/test/MC/X86/avx-64-att.s
M llvm/test/TableGen/x86-fold-tables.inc
M llvm/test/TableGen/x86-instr-mapping.inc
Log Message:
-----------
[X86] Add (v)pcmpestr(m/i)q to set the W bit. (#184746)
These instructions don't ignore the W bit as we had previously marked.
Also support (v)pcmpestr(m/i)l as an alias for the W0 form to match
binutils.
Fixes part of #183635
Commit: 18f228810eb2bcb5ea2620396624b5b1f4d4a7af
https://github.com/llvm/llvm-project/commit/18f228810eb2bcb5ea2620396624b5b1f4d4a7af
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
A flang/test/Lower/OpenMP/allocatable-dtype-intermediate-map-gen.f90
Log Message:
-----------
[Flang][OpenMP] Skip intermediate map generation for motion modifier map directives (#177737)
Currently if we create the following map:
!$omp target update from/to(derived_type%allocatable)
We'll generate an extra map for the derived type (and any other
allocatable maps that may be in-between the final mapped allocatable
member). However, for cases like this, and other motion modifier related
map directives we don't need to do so. All the user cares about is the
specified member. Removing the intermediate member will minimize extra
performance overhead. It also maintains correctness, as currently, the
MLIR diagnostics for the motion modifiers restricts possible map types
for updates to to and from, and applying this map type to an
intermediate map will result in unintended side affects, e.g. mapping
back data the user didn't want to or over-writing data they didn't
intend to on device. This minor modification addresses that.
Commit: 88b62b03c671b476ff1389fcd4288a695684a122
https://github.com/llvm/llvm-project/commit/88b62b03c671b476ff1389fcd4288a695684a122
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang-tools-extra/include-cleaner/lib/CMakeLists.txt
Log Message:
-----------
[ClangIncludeCleaner] Disable PCH (#184809)
Workaround a Clang bug w.r.t. instantiation of inline functions.
See: https://github.com/llvm/llvm-project/issues/184559.
Commit: 38a8bccdce3b7298761a22618ae406ff55a745df
https://github.com/llvm/llvm-project/commit/38a8bccdce3b7298761a22618ae406ff55a745df
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M flang/test/Lower/Intrinsics/bessel_yn.f90
M flang/test/Lower/Intrinsics/bge.f90
M flang/test/Lower/Intrinsics/bgt.f90
M flang/test/Lower/Intrinsics/ble.f90
M flang/test/Lower/Intrinsics/blt.f90
Log Message:
-----------
[flang][NFC] Converted five tests from old lowering to new lowering (part 25) (#184720)
Tests converted from test/Lower/Intrinsics: bessel_yn.f90, bge.f90,
bgt.f90, ble.f90, blt.f90
Commit: e9657a12b2e85bec018633df7604b6328e717ec7
https://github.com/llvm/llvm-project/commit/e9657a12b2e85bec018633df7604b6328e717ec7
Author: Will <will at mon.im>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M lld/test/COFF/base.test
M lld/test/COFF/heap.test
M lld/test/COFF/stack.test
M llvm/lib/Object/COFFModuleDefinition.cpp
Log Message:
-----------
COFF: Allow hex literals in .def files: BASE/HEAPSIZE/STACKSIZE (#184764)
For a Win32 DLL, a .def file can have a custom executable base:
```
LIBRARY "stub.dll" BASE=0x10000000
```
Currently the parser enforces Base 10, but [Microsoft's
documentation](https://learn.microsoft.com/en-us/cpp/build/reference/rules-for-module-definition-statements?view=msvc-170)
states "Numeric arguments are specified in base 10 or hexadecimal".
This fixes that, and also HEAPSIZE and STACKSIZE (which use the same
function).
There are a few more instances of `getAsInteger` that expect base10 -
for ordinals and the VERSION directive. Since I don't have an
in-the-wild example of a .def file using hexadecimal for these, I am
wary about changing those too.
Commit: 2580ddfe4e198b148f7e8a6931d29a6fbcc9a234
https://github.com/llvm/llvm-project/commit/2580ddfe4e198b148f7e8a6931d29a6fbcc9a234
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M flang/CMakeLists.txt
Log Message:
-----------
[flang] Fix distribution build of `ISO_Fortran_binding.h` to also install it in `CMAKE_INSTALL_INCLUDEDIR`. (#184284)
Currently with `-DLLVM_DISTRIBUTION_COMPONENTS="flang-fortran-binding"`,
header file `ISO_Fortran_binding.h` is only installed at
`./lib/clang/23/include/ISO_Fortran_binding.h`, but not in the user
include.
This PR is to fix that so that the `ISO_Fortran_binding.h` is also
installed at `./include/flang/ISO_Fortran_binding.h`, which is the same
as the "normal" (non-distribution) build.
Commit: 5c3d0dd7a482b38e5a68f462d7ea874f55bc67f6
https://github.com/llvm/llvm-project/commit/5c3d0dd7a482b38e5a68f462d7ea874f55bc67f6
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/test/Dialect/MemRef/canonicalize.mlir
Log Message:
-----------
[mlir][memref] Fix crash in DimOp::fold for subview with ambiguous dropped dims (#183995)
When a rank-reducing subview has multiple size-1 source dimensions and
all strides are dynamic, `computeMemRefRankReductionMask` cannot
unambiguously determine which dimension is dropped. It would fall back
to an arbitrary choice that could be wrong.
In `DimOp::fold`, the code then maps a result dimension to that
(possibly incorrect) source dimension and asserts
`isDynamicSize(sourceIndex)`. If `getDroppedDims()` picked the wrong
dropped dim, the source dim at `sourceIndex` may be statically sized,
causing the assertion to fire.
Fix this by replacing the assert with a guard that returns `{}` (no
fold) when the resolved source dimension is not dynamic. This is safe
because the fold already handles the statically-sized result case
earlier.
Fixes #111244
Assisted-by: Claude Code
Commit: efb6f542c389755b22fe45a797fe9ea658292a05
https://github.com/llvm/llvm-project/commit/efb6f542c389755b22fe45a797fe9ea658292a05
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvp-ext-rv64.ll
Log Message:
-----------
[RISCV] Don't make ISD::ABDS/ABDU legal for v2i32 with P extension. (#184753)
We don't have the instructions for this so it causes a cannot select
error.
Commit: 3925d112c44413f858bcb50c00125e039cef170e
https://github.com/llvm/llvm-project/commit/3925d112c44413f858bcb50c00125e039cef170e
Author: Dmitry Chigarev <dmitry.chigarev at intel.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
M mlir/test/Conversion/VectorToXeGPU/transfer-read-to-xegpu.mlir
Log Message:
-----------
[MLIR][XeGPU] Decompose unsupported 'vector.transfer_read'-transpose-permutations (#182875)
The PR adds a pattern to `vector-to-xegpu` pass that decomposes
`vector.transfer_read` with unsupported transpose-permutations
(unsupported element-type) into `vector.transfer_read +
vector.transpose`:
Example:
```mlir
// input-ir:
%0 = vector.transfer_read %source[%offset, %offset], %c0
{permutation_map = affine_map<(d0, d1) -> (d1, d0)>,
in_bounds = [true, true]} : memref<32x64xf16>, vector<8x16xf16>
// mlir-opt %s --convert-vector-to-xegpu
// before PR (no conversion because of unsupported type):
%0 = vector.transfer_read %source[%offset, %offset], %c0
{permutation_map = affine_map<(d0, d1) -> (d1, d0)>,
in_bounds = [true, true]} : memref<32x64xf16>, vector<8x16xf16>
// mlir-opt %s --convert-vector-to-xegpu
// after PR (decomposed + converted):
%0 = xegpu.load_nd %source[%offset, %offset]
%1 = vector.transpose %0
```
---------
Signed-off-by: dchigarev <dmitry.chigarev at intel.com>
Commit: a9fb8b06224aec404a2ec9bf101c40e36f46426c
https://github.com/llvm/llvm-project/commit/a9fb8b06224aec404a2ec9bf101c40e36f46426c
Author: Dmitry Chigarev <dmitry.chigarev at intel.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
M mlir/test/Conversion/VectorToXeGPU/contract-to-xegpu.mlir
Log Message:
-----------
[MLIR][XeGPU] Support vector.contract transpose_a/transpose_b via 'vector-to-gpu' patterns (#182885)
The PR adds [`vector.contract(transpose_a/transpose_b)` decomposition
patterns](https://github.com/llvm/llvm-project/blob/3215645b8d81bbef7db1d16b88de7ed0288f2274/mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp#L1263)
from `vector-to-gpu` to `vector-to-xegpu` pass.
The `populatePrepareVectorToMMAPatterns` adds two patterns:
1. `PrepareContractToGPUMMA` that splits `vector.contract(transpose)`
into `vector.transpose + vector.contract`
2. `CombineTransferReadOpTranspose` that fuses `vector.transpose` into
the permutation map of `vector.transfer_read`
The second pattern doesn't always bring us to the desired result
(`xegpu.load_nd + vector.transpose + xegpu.dpas`) since [not all data
types are supported
](https://github.com/llvm/llvm-project/blob/1237bd6df05a4777f444677186e4814388916ea9/mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp#L570-L575)
for the transposed-read case. There's a second PR (#182875) on this
matter that adds a decomposition-pattern for unsupported types (it might
seem strange that we first fuse and then decompose
transfer_read+transpose but this way we don't have code duplication
between vector-to-gpu&to-xegpu passes and cover all functional cases)
---------
Signed-off-by: dchigarev <dmitry.chigarev at intel.com>
Commit: 6b3f57de0af21788f27f6172b8dff933a0bfdf91
https://github.com/llvm/llvm-project/commit/6b3f57de0af21788f27f6172b8dff933a0bfdf91
Author: John Harrison <harjohn at google.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M lldb/test/API/python_api/block/TestFrameBlocks.py
Log Message:
-----------
[lldb] Skip SBBlock test on Windows. (#184818)
Skipping this test to unblock CI.
Commit: f14a8aa8887dc3e2ca7537551ea59ce6db5fd5b0
https://github.com/llvm/llvm-project/commit/f14a8aa8887dc3e2ca7537551ea59ce6db5fd5b0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
A llvm/test/CodeGen/X86/bit-manip-i256.ll
A llvm/test/CodeGen/X86/bit-manip-i512.ll
Log Message:
-----------
[X86] add i256/i512 bit manipulation tests suggested by #132601 (#184813)
Commit: 97572c1860efeeb97b5940927cee72081b61810a
https://github.com/llvm/llvm-project/commit/97572c1860efeeb97b5940927cee72081b61810a
Author: jimingham <jingham at apple.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M lldb/include/lldb/Host/ProcessRunLock.h
M lldb/include/lldb/Target/Process.h
M lldb/source/Target/Process.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/test/API/python_api/run_locker/TestRunLocker.py
Log Message:
-----------
Add the ability to "allow another thread to see the private state" mode. (#184272)
When lldb stops to run a breakpoint condition or other callback that has
to happen between the private stop and returning control to the user, it
will run in the state where the public state is still "running". But if
the callback needs to run lldb commands or python code, it needs to see
the correct "stop" state.
We used to handle that by switching the public state to stopped before
running the callbacks. However, that opened a window where we are still
handling the stop event and another thread would be allowed to continue
the target or do other actions that can interfere with that orderly
process.
This patch adds the ability to designate a particular thread as "seeing
the private state" while all other threads see the "public state". Then
when we run a breakpoint callback, no threads but the one that is
actually running the callback will see the state change until the event
has been delivered to the primary state listener.
It also adds a test that while a long-running breakpoint callback runs,
another thread continues to see the state as running.
Commit: 21a1b4c1d748dc5e9742bfae2b35c4d9fc9e0b19
https://github.com/llvm/llvm-project/commit/21a1b4c1d748dc5e9742bfae2b35c4d9fc9e0b19
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/include/llvm/Transforms/Utils/UnrollLoop.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
Log Message:
-----------
[LoopUnroll] Remove `UseUpperBound` output parameter from `computeUnrollCount` (NFC) (#184526)
`UseUpperBound` is only ever read by `UnrollAndJamPass.cpp`'s
`computeUnrollAndJamCount()`. However, `computeUnrollAndJamCount()` also
sets `MaxTripCount` to `0` which
[disables](https://github.com/llvm/llvm-project/blob/928505c98345e0494f2d260788adb291efc9ee38/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp#L1017)
the only case that could set `UseUpperBound`.
Since there are no callers that need the result of `UseUpperBound`,
remove it.
Commit: f0265ccb60746e3c34254bb2e06ca62bd51b6ba2
https://github.com/llvm/llvm-project/commit/f0265ccb60746e3c34254bb2e06ca62bd51b6ba2
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
A llvm/test/Transforms/LoopUnroll/full-and-enable.ll
Log Message:
-----------
[LoopUnroll] Ensure we can accept both `llvm.loop.unroll.full` and `llvm.loop.unroll.enable` metadata on the same loop (NFC) (#182381)
Ensure that frontends can request both `PragmaEnable` and `PragmaFull`
semantics on a loop.
FYI: to the best of my knowledge, it's not possible to toggle both
`PragmaEnable` and `PragmaFull` via `clang`.
Commit: 43fc0f32c04cdc14f0608fddf8bbc235923d987b
https://github.com/llvm/llvm-project/commit/43fc0f32c04cdc14f0608fddf8bbc235923d987b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/shll1-add-sub-combined.ll
Log Message:
-----------
[SLP][NFC]Add a case with a missing matching between shl/add/sub, NFC
Commit: 4c5ff239ea40145ab860e299f89c2718e39b5ee9
https://github.com/llvm/llvm-project/commit/4c5ff239ea40145ab860e299f89c2718e39b5ee9
Author: Chi-Chun, Chen <chichun.chen at hpe.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Semantics/OpenMP/depend01.f90
M flang/test/Semantics/OpenMP/reduction05.f90
Log Message:
-----------
[Flang][OpenMP] Avoid division-by-zero when checking array section stride (#184726)
Commit: 6d003f5033b324aa0319cd3ee8912bde80a915d6
https://github.com/llvm/llvm-project/commit/6d003f5033b324aa0319cd3ee8912bde80a915d6
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAArch64.def
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
A clang/test/CodeGen/AArch64/pcdphint-atomic-store.c
M clang/test/CodeGen/arm_acle.c
M clang/test/CodeGen/builtins-arm64.c
A 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/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
A llvm/test/CodeGen/AArch64/pcdphint-atomic-store.ll
M llvm/test/Verifier/AArch64/intrinsic-immarg.ll
Log Message:
-----------
[AArch64][clang][llvm] Add ACLE `stshh` atomic store builtin (#181386)
Add `__arm_atomic_store_with_stshh` implementation as defined in the
ACLE. Validate arguments passed are correct, and lower to the `stshh`
intrinsic plus an atomic store using a pseudo-instruction with the
allowed orderings:
* memory orderings: relaxed, release, seq_cst
* retention policies: keep, strm
The `STSHH` instruction (Store with Store Hint for Hardware) is part
of the `FEAT_PCDPHINT` extension.
Commit: 673d725c3bcf5b551e42ff96d00b77b8f3b9adcb
https://github.com/llvm/llvm-project/commit/673d725c3bcf5b551e42ff96d00b77b8f3b9adcb
Author: Nishant Sachdeva <32475507+nishant-sachdeva at users.noreply.github.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/test/tools/llvm-ir2vec/bindings/ir2vec-bindings.py
M llvm/tools/llvm-ir2vec/Bindings/PyIR2Vec.cpp
M llvm/tools/llvm-ir2vec/lib/Utils.cpp
M llvm/tools/llvm-ir2vec/lib/Utils.h
Log Message:
-----------
Reland "[llvm-ir2vec] Adding Inst Embeddings Map API to ir2vec python bindings (#180140)" (#184196)
Relanding change from https://github.com/llvm/llvm-project/pull/180140
- Returns a Inst Embedding Map based on the input function name
`getInstEmbMap(funcName) -> Map<Inst string, Embedding>`
- Refactors IR2VecTool methods to have a separate call to create the
embedder object
Commit: e5e709adeec3c5c063fc756d077a9b53dc469eb2
https://github.com/llvm/llvm-project/commit/e5e709adeec3c5c063fc756d077a9b53dc469eb2
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M mlir/lib/Conversion/VectorToXeGPU/CMakeLists.txt
Log Message:
-----------
Fix build break with BUILD_SHARED_LIBS=ON
/usr/bin/ld: tools/mlir/lib/Conversion/VectorToXeGPU/CMakeFiles/obj.MLIR
VectorToXeGPU.dir/VectorToXeGPU.cpp.o: in function `(anonymous namespace
)::ConvertVectorToXeGPUPass::runOnOperation()':
VectorToXeGPU.cpp:(.text._ZN12_GLOBAL__N_124ConvertVectorToXeGPUPass14ru
nOnOperationEv+0xbc): undefined reference to `mlir::populatePrepareVecto
rToMMAPatterns(mlir::RewritePatternSet&, bool)'
clang++: error: linker command failed with exit code 1 (use -v to see in
vocation)
Commit: 56cdd60a2f94d715c188ce17507796996d880f0d
https://github.com/llvm/llvm-project/commit/56cdd60a2f94d715c188ce17507796996d880f0d
Author: Fangrui Song <i at maskray.me>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/lib/MC/MCAsmBackend.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
M llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp
Log Message:
-----------
[MC] Merge fixupNeedsRelaxation and fixupNeedsRelaxationAdvanced. NFC (#184832)
The two-tier relaxation hook design (fixupNeedsRelaxationAdvanced
delegating to fixupNeedsRelaxation) is confusing and unnecessary.
Only M68k and AMDGPU used fixupNeedsRelaxation (via the default
fixupNeedsRelaxationAdvanced). AArch64 and CSKY had dead overrides:
they don't override mayNeedRelaxation to ever return true.
Merge the two hooks: convert M68k and AMDGPU to override
fixupNeedsRelaxationAdvanced directly, remove dead overrides from
AArch64 and CSKY, and simplify the default implementation to
`return !Resolved`.
Commit: 30060dc681f70a2e9071d380f01312d097a98c0c
https://github.com/llvm/llvm-project/commit/30060dc681f70a2e9071d380f01312d097a98c0c
Author: Lily Gorsheneva <bgorshenev at google.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Update Bazel build files for a9fb8b0 (#184823)
Deps for
https://github.com/llvm/llvm-project/commit/a9fb8b06224aec404a2ec9bf101c40e36f46426c
Commit: 14d586a46df3460be775676982e4ef478554e3c4
https://github.com/llvm/llvm-project/commit/14d586a46df3460be775676982e4ef478554e3c4
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
A llvm/test/CodeGen/AArch64/Issue57251.ll
Log Message:
-----------
[SelectionDAG] Fix cycle in ReplacedValues during type legalization (#184697)
During type legalization, `ReplaceValueWith` handles morphed nodes by
computing `OldValId` and `NewValId`, calling `ReplaceAllUsesOfValueWith`
(RAUW), then adding `ReplacedValues[OldValId] = NewValId`.
However, the RAUW call can trigger `CSE`, which fires NoteDeletion
callbacks that add new entries to `ReplacedValues`. If NoteDeletion adds
`ReplacedValues[A] = B`, and the subsequent assignment adds
`ReplacedValues[B] = A`, a cycle is created. RemapId then recurses
infinitely following the cycle during path compression, causing a stack
overflow crash.
On AArch64, i16 is not a legal type and requires promotion to i32. When
IR uses i16 values as `extractelement` indices that feed into other
`extractelement` operations, the interplay between result promotion and
operand promotion creates the specific CSE pattern that produces the
cycle.
Fix by calling RemapId on both OldValId and NewValId after the RAUW call
to account for new ReplacedValues entries added during the RAUW cascade.
In the reproducer, this causes both ids to resolve to the same value,
skipping the assignment and preventing the cycle.
Fixes https://github.com/llvm/llvm-project/issues/57251
[Assisted-by](https://t.ly/Dkjjk): [Claude Opus
4.6](https://www.anthropic.com/news/claude-opus-4-6)
Commit: f8f0f93236b2aee6b63a454c05cc2876568f8972
https://github.com/llvm/llvm-project/commit/f8f0f93236b2aee6b63a454c05cc2876568f8972
Author: Deric C. <cheung.deric at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/include/clang/AST/APValue.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/TypeBase.h
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/Sema/SemaTemplate.cpp
A clang/test/AST/HLSL/ast-dump-APValue-matrix.hlsl
M clang/test/CodeGenHLSL/BoolMatrix.hlsl
A clang/test/SemaHLSL/Types/BuiltinMatrix/MatrixConstantExpr.hlsl
Log Message:
-----------
[HLSL][Matrix] Add APValue and ConstExpr evaluator support for matrices (#178762)
Fixes #168935
This PR adds basic support for matrix APValues and a ConstExpr evaluator
for matrices.
- ConstExpr evaluation changes:
- Matrix initializer list
- Matrix HLSL elementwise cast
- Matrix HLSL aggregate splat
- Vector HLSL matrix truncation
- Int HLSL matrix truncation
- Float HLSL matrix truncation
- Matrix APValue:
- AST dumper and serialization
- Value flattening
Note that APValue matrices hold its elements in row-major order
irrespective of the `-fmatrix-memory-layout` flag.
The `-fmatrix-memory-layout` is for codegen, not semantics, so the
decision of which memory layout to use for the matrix APValue can be
independent of the memory layout for codegen.
There are also a number of places expecting switch case coverage over
all APValues but which do not currently support matrix APValues. I have
added placeholder llvm_unreachables to these places for the matrix
APValue, as these places can not currently be exercised in clang tests
(AFAIK).
Assisted-by: claude-opus-4.5
Commit: c5c6588c115347cdd000cb8a650b19dca0381196
https://github.com/llvm/llvm-project/commit/c5c6588c115347cdd000cb8a650b19dca0381196
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToWiDistributeExperimental.cpp
M mlir/test/Dialect/XeGPU/sg-to-wi-experimental-unit.mlir
Log Message:
-----------
[MLIR][XeGPU] Add distribution pattern for xegpu load & store matrix from sg to wi (#183179)
This PR adds distribution pattern for xegpu.load_matrix &
xegpu.store_matrix ops for the new sg-to-wi pass
Commit: 42d07c38e22768360a66548407a28332340efb20
https://github.com/llvm/llvm-project/commit/42d07c38e22768360a66548407a28332340efb20
Author: Chi-Chun, Chen <chichun.chen at hpe.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
A flang/test/Semantics/OpenMP/affinity-invalid.f90
Log Message:
-----------
[Flang][OpenMP] Reject substring and invalid use of array section in affinity (#184424)
Add semantic checks for OpenMP AFFINITY clauses to reject substring and
invalid use of array section
Commit: 894408ded44151e4e34a3402210f671355d66310
https://github.com/llvm/llvm-project/commit/894408ded44151e4e34a3402210f671355d66310
Author: Jim Ingham <jingham at apple.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M lldb/test/API/python_api/run_locker/TestRunLocker.py
Log Message:
-----------
Skip some tests on Windows. They were already expected fail and
I needed to use "sleep" so now the test file won't compile. So
switching to skip...
Commit: ce47e259bcd40abab7890a4651d4ddce775dee15
https://github.com/llvm/llvm-project/commit/ce47e259bcd40abab7890a4651d4ddce775dee15
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
A clang/test/CIR/CodeGen/openmp_default_simd_align.c
Log Message:
-----------
[CIR] Implement OpenMPRequiredSimdAlign UnaryExpr (#184214)
Implement the OpenMPRequiredSimdAlign kind of UnaryExprOrTypeTraitExpr
Commit: c54bc306c38b695e6e713002ef9608c36c63ce9a
https://github.com/llvm/llvm-project/commit/c54bc306c38b695e6e713002ef9608c36c63ce9a
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
Log Message:
-----------
[NFC][SPIRV] Remove `MachineInstr` from `DeadMIs` set after erasing it (#184795)
Commit: 5b064a2c168c2f8a08e86c4540c0adb838db030a
https://github.com/llvm/llvm-project/commit/5b064a2c168c2f8a08e86c4540c0adb838db030a
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/include/clang/DependencyScanning/DependencyScannerImpl.h
M clang/include/clang/DependencyScanning/DependencyScanningWorker.h
M clang/include/clang/Tooling/DependencyScanningTool.h
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanningTool.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang][deps] Simplify by-module-name scan API (#184376)
The by-module-name scanning APIs are fairly spread out. There's the main
`CompilerInstanceWithContext` class that provides a constructor,
`initialize()` and `computeDependencies()`. Then there's the
`DependencyScanningWorker` that optionally owns
`CompilerInstanceWithContext` and re-exposes two `initialize()` and one
`computeDependencies()` functions. Lastly, there's
`DependencyScanningTool` that again re-exposes two variants of
`initialize()` and one `computeDependencies()`.
The current setup makes it unnecessarily difficult to make changes to
these APIs (as observed in
https://github.com/swiftlang/llvm-project/pull/12453).
This PR makes `CompilerInstanceWithContext` standalone, and hides the
construct + initialize pattern behind a static factory function. This
makes it harder to misuse the API (forgetting to call `initialize()`,
calling it twice, etc.) and means changes now need to only touch single
class instead of three classes spread over multiple files.
Commit: 10ade366508d3fac4a769e3ca93e657edf491e94
https://github.com/llvm/llvm-project/commit/10ade366508d3fac4a769e3ca93e657edf491e94
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M libc/src/__support/GPU/CMakeLists.txt
M libc/src/__support/GPU/allocator.cpp
A libc/src/__support/GPU/fixedbuffer.h
R libc/src/__support/GPU/fixedstack.h
M libc/test/integration/src/__support/GPU/CMakeLists.txt
A libc/test/integration/src/__support/GPU/fixedbuffer_test.cpp
R libc/test/integration/src/__support/GPU/fixedstack_test.cpp
Log Message:
-----------
[libc] Rework slab cache data structure for GPU allocator
Summary:
This was previously a Trieber stack, which is a perfectly fine generic
and lock-free data structure. However, this used some expensive CAS
operations and had issues with ABA. Because the only user of this was
the slab cache mechanism, we can pretty safely specialize it. Instead,
we simply search a fixed size buffer for some sentinal values and CAS
into it.
For allocations that only ever hit the cache, this improves performance
from ~9000 cycles to ~6000 cycles and similar improvements for workloads
that feel the pain of small thread counts hitting the cache.
Commit: 454863b4404ce1470a40a93bb6442c3fe6628bc7
https://github.com/llvm/llvm-project/commit/454863b4404ce1470a40a93bb6442c3fe6628bc7
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/lib/Headers/gpuintrin.h
Log Message:
-----------
[Clang] Fix 'gpuintrin.h' implementation of 'match_all'
Summary:
This implementation only worked if the lane mask passed in was uniform,
but this is against the expected usage where the user may be wishing to
check if a value is uniform *within* a mask subset. Also remove
redundant sync_lanes, the ballots and shuffles already have
synchronizing behavior.
Commit: b0091732025bc1173feebeb078fb0296c9d2ef86
https://github.com/llvm/llvm-project/commit/b0091732025bc1173feebeb078fb0296c9d2ef86
Author: Deric C. <cheung.deric at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Program.cpp
M clang/test/SemaHLSL/Types/BuiltinMatrix/MatrixConstantExpr.hlsl
Log Message:
-----------
[clang][bytecode][HLSL][Matrix] Support `ConstantMatrixType` and more HLSL casts in the new constant interpreter for basic matrix constexpr evaluation in HLSL (#184840)
Forgot to change the target branch before merging. This PR is a
cherry-pick of the squashed-and-merged PR commit
b16aa4b7ec665911c74300cd7442659b70973d13 from 183424
This PR fixes #182963
This PR is an extension of #178762 which has already been merged.
This PR adds support for `ConstantMatrixType` and the HLSL casts
`CK_HLSLArrayRValue`, `CK_HLSLMatrixTruncation`,
`CK_HLSLAggregateSplatCast`, and `CK_HLSLElementwiseCast` to the
bytecode constexpr evaluator.
The implementations of CK_HLSLAggregateSplatCast and
CK_HLSLElementwiseCast are incomplete, as they still need to support
struct and array types to enable use of the experimental new constant
interpreter on other existing HLSL constexpr tests. The completion of
the implementations of these casts will be tracked in a separate issue
(#183426) and implemented in a separate PR.
Assisted-by: claude-opus-4.6
Commit: cdea74824c776571ba0716e9c925ece7b014a9c8
https://github.com/llvm/llvm-project/commit/cdea74824c776571ba0716e9c925ece7b014a9c8
Author: Justice Adams <jadams23 at apple.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M .ci/green-dragon/clang-stage1-RA.groovy
Log Message:
-----------
[green dragon] skip trigger on release branch stage1 RA jobs (#184653)
* This will allow us to setup clang-stage1-RA jobs as multi branch
pipelines for release branches without setting up all the downstream
jobs.
I will need to cherry-pick the jenkinsfile to the release/22.x branch
which I will do after this lands
Commit: ea65e8593e21b055dfb1f5f74ea7a5618a6fa275
https://github.com/llvm/llvm-project/commit/ea65e8593e21b055dfb1f5f74ea7a5618a6fa275
Author: Sadaf Ebrahimi <sadafebrahimi at google.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/common.h
M compiler-rt/lib/scudo/standalone/fuchsia.cpp
M compiler-rt/lib/scudo/standalone/linux.cpp
M compiler-rt/lib/scudo/standalone/mem_map.cpp
M compiler-rt/lib/scudo/standalone/mem_map.h
M compiler-rt/lib/scudo/standalone/mem_map_base.h
M compiler-rt/lib/scudo/standalone/mem_map_fuchsia.cpp
M compiler-rt/lib/scudo/standalone/mem_map_fuchsia.h
M compiler-rt/lib/scudo/standalone/mem_map_linux.cpp
M compiler-rt/lib/scudo/standalone/mem_map_linux.h
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/common_test.cpp
M compiler-rt/lib/scudo/standalone/tests/map_test.cpp
M compiler-rt/lib/scudo/standalone/trusty.cpp
Log Message:
-----------
[scudo] Move getResidentPages function (#183138)
Moving getResidentPages out of linux.cpp and adding it to MemMapBase
Commit: 64d618785aa457d8fc70ae66407973ab7afa27a2
https://github.com/llvm/llvm-project/commit/64d618785aa457d8fc70ae66407973ab7afa27a2
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
Log Message:
-----------
[SPIRV] Replace `removeFromParent` with `eraseFromParent` for `ASSING_TYPE` (#184793)
The `ASSIGN_TYPE` instruction should not be referenced anymore at this
point. So we can free its memory.
Follow up of https://github.com/llvm/llvm-project/pull/182330
Commit: 1ef472f8360dbfa3b31dac085f1c02e1487bc7d2
https://github.com/llvm/llvm-project/commit/1ef472f8360dbfa3b31dac085f1c02e1487bc7d2
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/composite_simd_linear.f90
M flang/test/Lower/OpenMP/distribute-parallel-do-simd.f90
M flang/test/Lower/OpenMP/distribute-simd.f90
M flang/test/Lower/OpenMP/loop-pointer-variable.f90
M flang/test/Lower/OpenMP/ordered-simd.f90
M flang/test/Lower/OpenMP/wsloop-simd.f90
Log Message:
-----------
Revert "[flang][OpenMP] Fix lowering of LINEAR iteration variables" (#184843)
Reverts llvm/llvm-project#183794
It broke a couple of tests from Fujitsu testsuite.
Commit: 6807b61f4acbbe79daa00c9854de5d4a1e50e0cd
https://github.com/llvm/llvm-project/commit/6807b61f4acbbe79daa00c9854de5d4a1e50e0cd
Author: Jim Ingham <jingham at apple.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M lldb/test/API/commands/watchpoints/watchpoint_commands/command/watchpoint_command.py
Log Message:
-----------
Fix a bug in the watchpoint callback - in one case we weren't
returning anything from the callback. Fixing this on the off
chance that is what is causing the linux-only failure in this test
after PR:
https://github.com/llvm/llvm-project/pull/184272
Commit: b989713cd2980037c90dfba4bcf233c984284085
https://github.com/llvm/llvm-project/commit/b989713cd2980037c90dfba4bcf233c984284085
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M lldb/source/Host/windows/PseudoConsole.cpp
Log Message:
-----------
[lldb][windows] remove sleep before closing ConPTY (#183539)
Commit: 6811a83c81500ee373adfc0d9978ff9625a4cf1c
https://github.com/llvm/llvm-project/commit/6811a83c81500ee373adfc0d9978ff9625a4cf1c
Author: Chinmay Deshpande <chdeshpa at amd.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/CodeGen/ModuleBuilder.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
A clang/test/CodeGenCXX/dllexport-inherited-ctor.cpp
M clang/test/SemaCXX/dllexport.cpp
Log Message:
-----------
[Clang] Ensure child classes export inherited constructors from base classes (#182706)
Inherited constructors in `dllexport` classes are now exported for ABI-compatible cases,
matching MSVC behavior. Constructors with variadic arguments or callee-cleanup
parameters are not yet supported and produce a warning.
This aims to partially resolve https://github.com/llvm/llvm-project/issues/162640.
Assisted by : Cursor // Claude Opus 4.6
Commit: b7ed29df5dd53b96fbef359fdfdba5ba75867516
https://github.com/llvm/llvm-project/commit/b7ed29df5dd53b96fbef359fdfdba5ba75867516
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/expected-prof-consecutive-access.ll
Log Message:
-----------
[SLP][NFC]Add a test with a loop with profiling info, NFC
Commit: f7560e1795799fe30d595a348cb34f103077a81b
https://github.com/llvm/llvm-project/commit/f7560e1795799fe30d595a348cb34f103077a81b
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
A llvm/test/Transforms/LoopVectorize/multiple-argmin-argmax.ll
Log Message:
-----------
[LV] Add tests with loops with multiple argmin/argmax.
Add additional tests with multiple argmin/argmax reductions for
https://github.com/llvm/llvm-project/issues/184729.
Commit: 3ed12eb3ff5abf563fc0aa7f5f2d1c892eadd05a
https://github.com/llvm/llvm-project/commit/3ed12eb3ff5abf563fc0aa7f5f2d1c892eadd05a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvp-ext-rv32.ll
M llvm/test/CodeGen/RISCV/rvp-ext-rv64.ll
Log Message:
-----------
[RISCV][P-ext] Fix cannot select error for shlsat with i8 vector argument. (#184839)
We don't have instructions for an i8 sshlat.
Commit: 0bca18db8d67f9b622117546f441611688a1e5ae
https://github.com/llvm/llvm-project/commit/0bca18db8d67f9b622117546f441611688a1e5ae
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
Log Message:
-----------
[CIR][NFC] Add 'matrix' type to CIRGenExprConstant.cpp switch (#184852)
This just adds this as an NYI, but this will suppress the Wswitch
warning.
Commit: 9145a7484eb7ba42fbb5fc773800a591a3fe5914
https://github.com/llvm/llvm-project/commit/9145a7484eb7ba42fbb5fc773800a591a3fe5914
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M lldb/examples/python/formatter_bytecode.py
Log Message:
-----------
[lldb] Use "assemble" instead of "compile" in formatter_bytecode.py (#184714)
Replace "compile" with "assemble" in formatter_bytecode. This is in
preparation for the addition of a Python to formatter bytecode compiler.
It will be more clear to have one meaning for "compile".
Commit: 0a76568db07ec7f5469aa189e10283980e609ef6
https://github.com/llvm/llvm-project/commit/0a76568db07ec7f5469aa189e10283980e609ef6
Author: Demetrius Kanios <demetrius at kanios.net>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
A llvm/test/CodeGen/WebAssembly/pr184441.ll
Log Message:
-----------
[WebAssembly] Reapply "[WebAssembly] Incorporate SCCs into WebAssemblyFixIrreducibleControlFlow" (#181755) (#184441)
Re-application of #181755.
Includes fixes to issues found after the original's merge.
Commit: 7187a1d9d2ea2746616ab6ad97649d39f0e410f0
https://github.com/llvm/llvm-project/commit/7187a1d9d2ea2746616ab6ad97649d39f0e410f0
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M flang/include/flang/Parser/openmp-utils.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-utils.cpp
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/resolve-directives.cpp
Log Message:
-----------
[flang][OpenMP] Utilities to get uppercase directive/clause names (#184853)
It is a convention to use uppercase names of directives and clauses in
diagnostic messages, but getting such names is somewhat cumbersome:
```
parser::ToUpperCaseLetters(llvm::omp::getOpenMPDirectiveName(dirId));
parser::ToUpperCaseLetters(llvm::omp::getOpenMPClauseName(clauseId));
```
Implement `GetUpperName` (overloaded for clauses and directives) to
shorten it to
```
GetUpperName(dirId, version);
GetUpperName(clauseId, version);
```
This patch replaces existing instances of this pattern, adding the use
of OpenMP version where it was previously missing.
Commit: eb6fb77731b31b536b415bbf486172310ccaf4c9
https://github.com/llvm/llvm-project/commit/eb6fb77731b31b536b415bbf486172310ccaf4c9
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/lib/Tooling/DependencyScanningTool.cpp
Log Message:
-----------
[clang][deps] Move-construct optional to fix a bot (#184861)
This is a speculative fix for the openmp-offload-sles-build-only build
bot that fails after #184376 with:
```
clang/lib/Tooling/DependencyScanningTool.cpp:336:12: error: could not convert ‘CIWithContext’ from ‘clang::tooling::CompilerInstanceWithContext’ to ‘std::optional<clang::tooling::CompilerInstanceWithContext>’
return CIWithContext;
^~~~~~~~~~~~~
```
Commit: e4ad8a6e38f8f4c7704cfefb1891deb13a8ba64b
https://github.com/llvm/llvm-project/commit/e4ad8a6e38f8f4c7704cfefb1891deb13a8ba64b
Author: Deric C. <cheung.deric at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
M clang/test/SemaHLSL/MatrixElementOverloadResolution.hlsl
A clang/test/SemaHLSL/Types/BuiltinMatrix/MatrixFloatPrecisionWarnings.hlsl
Log Message:
-----------
[HLSL][Matrix] Add implicit matrix floating-point conversion checks (#179568)
Fixes #168944
Depends on #178762 being merged first.
The commit adds implicit conversion warnings for HLSL matrix types in
Clang's semantic checker by extending SemaChecking.cpp to detect
precision loss when converting between matrix types (specifically,
ConstantMatrixType).
A new test validates float precision warnings, and an existing test was
updated to expect the new diagnostics.
Assisted-by: claude-opus-4.5
Commit: a8af467fad7e5fff71643a3d6f2d06ac4f637e66
https://github.com/llvm/llvm-project/commit/a8af467fad7e5fff71643a3d6f2d06ac4f637e66
Author: Jim Ingham <jingham at apple.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M lldb/include/lldb/Target/Process.h
Log Message:
-----------
When hijacking events, don't let the user thread that was allowed
to see the private state to do so until we are done hijacking.
Commit: 520319e3e0d2c22fd462a72583f88977bb882ca3
https://github.com/llvm/llvm-project/commit/520319e3e0d2c22fd462a72583f88977bb882ca3
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceGlobal.cpp
M flang/test/Fir/CUDA/cuda-device-global.f90
Log Message:
-----------
[flang][cuda] Copy type descriptor used in fir.alloca op (#184859)
Avoid error like:
```
error: runtime derived type info descriptor was not generated
```
Commit: 5e88b806e8281d0a329f36768ec157e17ce30f76
https://github.com/llvm/llvm-project/commit/5e88b806e8281d0a329f36768ec157e17ce30f76
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Use pragma pack(1) for VPIRFlags on AIX. (#184687)
Some compilers (e.g. on AIX) do not pack by default. Use LLVM_PACKED to
ensure the VPIRFlags struct is packed as expected on all platforms.
This matches what we already do in other places for AIX, e.g. in
llvm/include/llvm/CodeGen/SelectionDAGNodes.h (added in
844a02e509a4cc03f76ef5dd1c358c57ee164b71), although it uses the more
general LLVM_PACKED unconditionally
PR: https://github.com/llvm/llvm-project/pull/184687
Commit: 90fdad2001b756b8c6fdef5262cb76a67fc6420c
https://github.com/llvm/llvm-project/commit/90fdad2001b756b8c6fdef5262cb76a67fc6420c
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang-tools-extra/modularize/ModularizeUtilities.cpp
M clang/docs/Modules.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Lex/ModuleMap.h
M clang/include/clang/Lex/ModuleMapFile.h
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Lex/ModuleMapFile.cpp
A clang/test/Modules/deprecated-upwards-relative-path.m
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
Log Message:
-----------
[clang][modules] Add warning for module maps with ".." paths (#184279)
Implicitly discovered module maps that reference files outside their
module directory cause order dependent behavior when using implicitly
discovered module maps. This adds an off by default diagnostic about
these cases with the long term goal of removing import order dependent
behavior.
Module maps found via `-fmodule-map-file=` are not a problem because
they are all loaded at the start of translation.
Assisted-by: claude-opus-4.6
Commit: 5d2560c1a9fe5e824e23aeec77ba309a02b9bf38
https://github.com/llvm/llvm-project/commit/5d2560c1a9fe5e824e23aeec77ba309a02b9bf38
Author: Jim Ingham <jingham at apple.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M lldb/include/lldb/Target/Process.h
Log Message:
-----------
Revert "When hijacking events, don't let the user thread that was allowed"
This reverts commit a8af467fad7e5fff71643a3d6f2d06ac4f637e66.
This was a follow-on to 97572c1860efeeb97b5940927cee72081b61810a which was me
trying to guess why the ubuntu bots were failing with an entirely unhelpful
failure mode. I'll have to figure out how I can reproduce this somewhere so
I can look at it for real.
Commit: c969b5fe76d97ac269578816f7d21f536ac5e159
https://github.com/llvm/llvm-project/commit/c969b5fe76d97ac269578816f7d21f536ac5e159
Author: Jim Ingham <jingham at apple.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M lldb/test/API/python_api/run_locker/TestRunLocker.py
Log Message:
-----------
Revert "Skip some tests on Windows. They were already expected fail and"
This reverts commit 894408ded44151e4e34a3402210f671355d66310.
These tests were added by 97572c1860efeeb97b5940927cee72081b61810a
and I am reverting that as well.
Commit: ecd6f8c22bc477369d229b95b90820d87ebcdac7
https://github.com/llvm/llvm-project/commit/ecd6f8c22bc477369d229b95b90820d87ebcdac7
Author: Jim Ingham <jingham at apple.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M lldb/include/lldb/Host/ProcessRunLock.h
M lldb/include/lldb/Target/Process.h
M lldb/source/Target/Process.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/test/API/python_api/run_locker/TestRunLocker.py
Log Message:
-----------
Revert "Add the ability to "allow another thread to see the private state" mode. (#184272)"
This reverts commit 97572c1860efeeb97b5940927cee72081b61810a.
This patch seems to cause TestWatchpointCommandPython.py to time out
on the ubuntu buildbots (but nowhere else that I can find so far.) The
timeout is weird too, the TEST FILE is timing out but the individual
tests aren't being shown and there's no other output. Grrr...
Anyway I'll revert this and then see if I can do some guessing about
how this change might cause the test to fail.
Commit: ede065a682d87e44c0d431684015c47e84dcaa35
https://github.com/llvm/llvm-project/commit/ede065a682d87e44c0d431684015c47e84dcaa35
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGen/amdgpu-abi-version.c
Log Message:
-----------
clang/AMDGPU: Do not emit __oclc_ABI_version references with environment (#184868)
Assume a sufficently new code object version if the environment is set
to something indicating we should have a real library.
Commit: 85858f60e4b9037eacf3a2cd3029749b3a1c04d1
https://github.com/llvm/llvm-project/commit/85858f60e4b9037eacf3a2cd3029749b3a1c04d1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rv32p.ll
Log Message:
-----------
[RISCV] Use SSLAI for XLen saturating shift left by immediate on RV32. (#184848)
Commit: add7b711de03b3cf2b98cb1f33aca6138de8f379
https://github.com/llvm/llvm-project/commit/add7b711de03b3cf2b98cb1f33aca6138de8f379
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
Log Message:
-----------
[RISCV] Add RISCVISD opcodes for PSHL/PSRL/PSRA and lower to them. (#184836)
We only support splat shift amounts. Previously we checked if the shift
amount was a splat_vector and considered it legal.
I don't think there is a guarantee that the splat_vector will stick
around as a splat_vector. It's safer if we capture the splat and create
a dedicated node with a scalar shift amount.
Commit: 6ae0e6d5fb2cff91f9aef9b19adbc144fe8d20ff
https://github.com/llvm/llvm-project/commit/6ae0e6d5fb2cff91f9aef9b19adbc144fe8d20ff
Author: Richard Smith <richard at metafoo.co.uk>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/lib/Driver/Driver.cpp
A clang/test/Driver/empty_arg.c
M llvm/lib/Option/OptTable.cpp
Log Message:
-----------
Don't crash when given an empty input filename. (#184718)
Commands such as `clang -- ''` hit two different crash bugs: a buffer
overflow caused by using a `memcmp` that might be larger than the input,
and a bogus assert in the option parser when attempting typo correction.
Commit: 9767894b859d877da1d8507b384fb879a51379f9
https://github.com/llvm/llvm-project/commit/9767894b859d877da1d8507b384fb879a51379f9
Author: Steven Perron <stevenperron at google.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaHLSL.cpp
R clang/test/AST/HLSL/Texture2D-AST.hlsl
A clang/test/AST/HLSL/Texture2D-scalar-AST.hlsl
A clang/test/AST/HLSL/Texture2D-vector-AST.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-Gather.hlsl
A clang/test/SemaHLSL/Texture2D-Gather.hlsl
A clang/test/SemaHLSL/Texture2D-GatherCmp-Vulkan.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
Log Message:
-----------
[HLSL] Implement Texture2D::Gather and Texture2D::GatherCmp (#183323)
Add the Gather functions for Texture2D. Variations for all components
are added (Red, Blue, Greed, Alpha). If targeting Vulkan then the
GatherCmp* function for a component other than 0 will result in an
error, as that will lead to invalid SPIR-V.
Part of https://github.com/llvm/llvm-project/issues/175630.
Assisted by: Gemini
Commit: f2cdf3f3b0021a3fe2a22e42c2f34f67dde08e07
https://github.com/llvm/llvm-project/commit/f2cdf3f3b0021a3fe2a22e42c2f34f67dde08e07
Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/include/mlir/Dialect/Arith/IR/ArithOpsInterfaces.td
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Dialect/Arith/canonicalize.mlir
M mlir/test/Dialect/Arith/ops.mlir
M mlir/test/Transforms/canonicalize.mlir
Log Message:
-----------
Revert "[mlir][arith] Add `exact` to `index_cast{,ui}` (#183395)" (#184876)
This reverts commit 7ad2c6db54a0e77249f2edb3c589ccf4c930d455.
PR #183395 introduced the `exact` flag to `index_cast` and
`index_castui` and updated some canonicalization patterns.
These canonicalization patterns were found to be unsound. For example:
* `index_cast(index_cast(x)) -> x`
* where one first truncates and then widens x
the rewrite is unsound because information is lost on the first cast as
it **may** truncate the value of x, therefore losing information. The
`exact` flag was made to make this transformation sound. Its semantics
are that when the `exact` flag is present, then it is assumed that the
operand to index_cast does not lose information (i.e., fits perfectly in
the destination type).
In PR #183395, the canonicalization rule was rewritten such that would
only match where the inner index_cast had the `exact` flag set.
* `index_cast(index_cast(x, exact)) -> x`
* where source type and destination type are the same
A post-merge review
[highlighted](https://github.com/llvm/llvm-project/pull/183395#discussion_r2880422529)
that the pattern above also disallows the following correct pattern:
* `index_cast(index_cast(x)) -> x`
* when the first index widens and the second one truncates.
Unfortunately the semantics of `index` are such that its bitwidth is
target specific. Attempts were made in
https://github.com/llvm/llvm-project/pull/184631 to automatically add
annotations were possible but no agreement was reached on the best way
to do this. Adding to the disagreement are the following points:
* [there are other unsound patterns that assume index is
64](https://github.com/llvm/llvm-project/pull/184631/changes#r2885181291)
* [The semantics of index is
contested](https://discourse.llvm.org/t/index-type-and-assumption-about-bitwidth/88287)
This lead to the belief that a reversal and an RFC would be a good
approach to get some consensus from the community before proceeding
further.
Commit: 6bd8820704d4d41fb3e41ec7032ce8ef2330bf91
https://github.com/llvm/llvm-project/commit/6bd8820704d4d41fb3e41ec7032ce8ef2330bf91
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.h
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/EHScopeStack.h
A clang/test/CIR/CodeGen/new-delete.cpp
Log Message:
-----------
[CIR] Add support for delete cleanup after new operators (#184707)
This adds support for calling operator delete when an exception is
thrown during initialization following an operator new call.
This does not yet handle the case where a temporary object is
materialized during the object initialization. That case is marked by
the "setupCleanupBlockActivation" diagnostic in deactivateCleanupBlock
and will be implemented in a future change.
Commit: dfe773869032eb2c5cf3b4f71d28fb32dc4248b5
https://github.com/llvm/llvm-project/commit/dfe773869032eb2c5cf3b4f71d28fb32dc4248b5
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCOpsTypes.td
M mlir/lib/Dialect/OpenACC/IR/OpenACCCG.cpp
M mlir/test/Dialect/OpenACC/invalid-cg.mlir
M mlir/test/Dialect/OpenACC/ops-cg.mlir
Log Message:
-----------
[mlir][acc] Add acc.compute_region and acc.par_width operations (#184864)
Introduce two new codegen operations to the acc dialect that model GPU
compute region execution and parallel launch configuration:
- acc.par_width: specifies a parallel dimension.
- acc.compute_region: wraps a region of code for GPU execution,
capturing
launch configuration (from acc.par_width results) and input values as
block arguments.
These operations bridge the gap between high-level OpenACC compute
constructs (acc.parallel, acc.kernels, acc.serial) and gpu.launch. The
passes that do these transformations will soon follow.
---------
Co-authored-by: Scott Manley <rscottmanley at gmail.com>
Commit: aabae9dcc3434fa521e97de7be7e9f1fbb7346bc
https://github.com/llvm/llvm-project/commit/aabae9dcc3434fa521e97de7be7e9f1fbb7346bc
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/test/CodeGen/AArch64/neon/fullfp16.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
Log Message:
-----------
[Clang][CIR][AArch64] NFC: Cleanups in AArch64 builtins lowering (#184404)
This patch performs small cleanups and fixes in the AArch64 builtins
lowering code, with the goal of aligning the CIR path more closely
with the existing Clang CodeGen implementation.
Changes include:
* Make sure that `noundef` is consistently matched using `{{.*}}`.
* Rename `AArch64BuiltinInfo` to `armVectorIntrinsicInfo` for better
consistency with the original CodeGen implementation.
* Simplify `emitAArch64CompareBuiltinExpr`, fix an incorrect
assert condition (missing `!`) and make sure to use the input `kind`
condition instead of hard-coding `cir::CmpOpKind::eq`.
* Improve and clarify comments.
No functional changes intended (NFC).
Commit: 43adf574134cb86ef46b38e29171779e4d844864
https://github.com/llvm/llvm-project/commit/43adf574134cb86ef46b38e29171779e4d844864
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M flang/lib/Optimizer/OpenACC/Support/RegisterOpenACCExtensions.cpp
M flang/test/Fir/OpenACC/offload-livein-value-canonicalization.fir
M mlir/lib/Dialect/OpenACC/Transforms/OffloadLiveInValueCanonicalization.cpp
Log Message:
-----------
[flang][acc] Handle ViewLike ops with OutlineRematerializationOpInterface in OffloadLiveInValueCanonicalization (#184218)
`fir::ConvertOp` implements both `ViewLikeOpInterface` and
`OutlineRematerializationOpInterface`. `fir.convert` is also used for
ptr-to-int conversions like `(!fir.ref<i32>) -> i64`. That is not really
a "view" — it converts a pointer to an integer — but
`ViewLikeOpInterface` is still attached, so `getOriginalValue` traces
through it to the underlying value.
When the underlying value is not a rematerialization candidate (e.g.,
`fir.alloca`, a block argument, or a `fir.call` result),
`isRematerializationCandidate` returns false and the `fir.convert` is
left as a live-in. This prevents `ACCImplicitData` from tracing back to
the original pointer to create the data mapping.
This PR:
1. Registers `fir::ConvertOp` with
`OutlineRematerializationOpInterface`.
2. Adds a fallback in `isRematerializationCandidate`: when the traced
original op is not a candidate, check the direct defining op (the
`fir.convert` itself) for `OutlineRematerializationOpInterface`.
```fortran
subroutine test()
integer :: x
!$acc declare create(x)
!$acc parallel
x = 1
!$acc end parallel
end subroutine
```
Before: CSE merges `fir.convert` outside the region; `ACCImplicitData`
cannot map the pointer.
After: `fir.convert` is sunk/rematerialized inside the ACC region
regardless of its input source.
Commit: 9548db811e271cb2960cbe18db3a3c3abdff5179
https://github.com/llvm/llvm-project/commit/9548db811e271cb2960cbe18db3a3c3abdff5179
Author: Zorojuro <sawantsukumar at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/ffmaf128.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/ffmaf128.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/ffmaf128.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor ffmaf128 into a header only. (#184751)
closes #175325
part of #147386
Commit: a82e3a19258da70aecd0177a2c4b854a659b153f
https://github.com/llvm/llvm-project/commit/a82e3a19258da70aecd0177a2c4b854a659b153f
Author: Brox Chen <guochen2 at amd.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
Log Message:
-----------
[AMDGPU] add back the true16 pattern for cvt_pk_rtz (#184857)
I found that the `SupportedRoundMode` pattern for true16 mode is removed
in https://github.com/llvm/llvm-project/pull/177069 by mistake. Added it
back in this patch and add gfx11 to the test which runs true16 mode
Commit: 275a2153492f55bfa5856d58837ae79172494c73
https://github.com/llvm/llvm-project/commit/275a2153492f55bfa5856d58837ae79172494c73
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M flang/lib/Semantics/check-acc-structure.cpp
M flang/test/Lower/OpenACC/acc-cache.f90
M flang/test/Semantics/OpenACC/acc-cache-validity.f90
Log Message:
-----------
[flang][openacc] Relax semantic check on cache directive (#184887)
The specification doesn't really forbid the colon notation to be used to
specify the full array. Reference compiler accepts this and our lowering
can already handle it.
Commit: dc62e284fe7389d2afe9fec019663d92f46aa39e
https://github.com/llvm/llvm-project/commit/dc62e284fe7389d2afe9fec019663d92f46aa39e
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M flang/include/flang/Parser/openmp-utils.h
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Parser/openmp-utils.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-structure.cpp
Log Message:
-----------
[flang][OpenMP] Implement utility to locate OmpClause in ODS, NFC (#184866)
Simplify looking for a specific clause in OmpDirectiveSpecification.
This is alternative to DirectiveStructureChecker::FindClause for when
the internal checker structures have not yet been updated in the AST
traversal.
Commit: 6695f1d97f9615e6bbe5a5d40ea4496b7e84a3d9
https://github.com/llvm/llvm-project/commit/6695f1d97f9615e6bbe5a5d40ea4496b7e84a3d9
Author: Reid Kleckner <rnk at llvm.org>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/docs/AIToolPolicy.md
Log Message:
-----------
[docs] Add exception to AI tool policy for Bazel build fixer (#183408)
The Bazel RFC concluded earlier this month:
https://discourse.llvm.org/t/rfc-ai-assisted-bazel-fixer-bot/89178/93
I felt the best way to document this decision was to incorporate it into
this policy document.
Commit: 9143f210ce94860bf9b7ff9e73df0238e57d8e34
https://github.com/llvm/llvm-project/commit/9143f210ce94860bf9b7ff9e73df0238e57d8e34
Author: Ehsan Amiri <ehsan.amiri at huawei.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
Log Message:
-----------
[LoopFusion] Correction in the comments (NFC) (#184689)
The comments in the code should have been updated following the change
in https://github.com/llvm/llvm-project/pull/183353. This PR addresses
that issue.
Commit: b5be6599b940019f472ed2fe77452f0d005d74ad
https://github.com/llvm/llvm-project/commit/b5be6599b940019f472ed2fe77452f0d005d74ad
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/test/CodeGen/AArch64/neon-misc.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
Log Message:
-----------
[CIR][AArch64] Add missing lowerings for vceqz_* Neon builtins (#184893)
Implement the remaining CIR lowerings for the AdvSIMD (Neon)
`vceqz{|q|d|s}_*` intrinsic group (bitwise equal to zero).
The `vceqzd_s64` variant was already supported; this patch completes
the rest of the group [1].
Tests for these intrinsics are moved from:
* test/CodeGen/AArch64/neon-misc.c
to:
* test/CodeGen/AArch64/neon/intrinsics.c
The implementation largely mirrors the existing lowering in
CodeGen/TargetBuiltins/ARM.cpp.
`emitCommonNeonBuiltinExpr` is introduced to support these lowerings.
`getNeonType` is moved without functional changes.
Reference:
[1] https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#bitwise-equal-to-zero
Commit: 94a8ca187067de1e232df353936183ca3f6dff7c
https://github.com/llvm/llvm-project/commit/94a8ca187067de1e232df353936183ca3f6dff7c
Author: Mohamed Emad <hulxxv at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M libc/src/__support/math/asinpif.h
M libc/src/__support/math/inv_trigf_utils.h
Log Message:
-----------
[libc][math] Optimize `asinpif` and `acospif` using estrin's scheme (#184286)
Optimize `asinpif` and `acospif` using [Estrin's
scheme](https://en.wikipedia.org/wiki/Estrin%27s_scheme).
## Benchmarking in **debug mode**
### **before**
**asinpif**
```
Ntrial = 40 ; Min = 0.000 + 350.920 clc/call; Median-Min = 450.477 clc/call; Max = 468.882 clc/call;
```
**acospif**
```
Ntrial = 40 ; Min = 0.000 + 309.248 clc/call; Median-Min = 384.386 clc/call; Max = 420.073 clc/call;
```
### **after**
**asinpif**
```
Ntrial = 40 ; Min = 0.000 + 258.178 clc/call; Median-Min = 318.840 clc/call; Max = 326.965 clc/call;
```
**acospif**
```
Ntrial = 40 ; Min = 0.000 + 217.385 clc/call; Median-Min = 260.928 clc/call; Max = 293.692 clc/call;
```
Commit: d414e8cac3378c42e0c5432b76e595bed9eddc11
https://github.com/llvm/llvm-project/commit/d414e8cac3378c42e0c5432b76e595bed9eddc11
Author: Miguel Saldivar <miguel.saldivar at hpe.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M flang/docs/Extensions.md
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Semantics/check-namelist.cpp
A flang/test/Semantics/namelist02.f90
Log Message:
-----------
[flang] Reject PARAMETER constants in NAMELIST groups (#178960)
The Fortran standard does not allow `PARAMETERS` within a
`namelist-group-object`, it should only allow variables. An error should
be emitted when a `PARAMETER` is found within a `namelist-group-object`.
Fixes: #178955
Commit: e87d34255382d8a8dc8dba13dbbeec3f0f634839
https://github.com/llvm/llvm-project/commit/e87d34255382d8a8dc8dba13dbbeec3f0f634839
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/formatter.py
M lldb/test/Shell/ScriptInterpreter/Python/bytecode.test
Log Message:
-----------
[lldb] Fix bytecode.test (#184903)
Follow up to #184714.
There are some other latent bugs here inside the formatter, but for now
this puts the test in a working state.
Commit: b53adf42461f0d30eecddaca0fc00b57437e8313
https://github.com/llvm/llvm-project/commit/b53adf42461f0d30eecddaca0fc00b57437e8313
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/test/Transforms/LoopVectorize/multiple-argmin-argmax.ll
Log Message:
-----------
[VPlan] Always process all argmin/argmax reductions in plan.
Follow-up to https://github.com/llvm/llvm-project/pull/170223.
Instead of exiting early, continue processing remaining reductions in
the loop. This ensures all multi-use reductions are properly converted
or the plan is rejected if there are unconvertable patterns.
Fixes https://github.com/llvm/llvm-project/issues/184729.
Commit: d6244663454399c6275792920f4168a36ed3aa0b
https://github.com/llvm/llvm-project/commit/d6244663454399c6275792920f4168a36ed3aa0b
Author: Emmanuel Antonio <emmanuelac at google.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][acc] Add Dialect Utils to OpenACCDialect deps (#184895)
Commit: 11727c11f833873af97d3969483f488e5251f35d
https://github.com/llvm/llvm-project/commit/11727c11f833873af97d3969483f488e5251f35d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
A libclc/clc/include/clc/workitem/clc_get_enqueued_local_size.h
M libclc/clc/lib/amdgcn/SOURCES
A libclc/clc/lib/amdgcn/workitem/clc_get_enqueued_local_size.cl
M libclc/opencl/lib/generic/SOURCES
A libclc/opencl/lib/generic/workitem/get_enqueued_local_size.cl
Log Message:
-----------
libclc: Implement get_enqueued_local_size (#184842)
Commit: 34259b76bf9c728b5877d00cac4be8fedabc6fef
https://github.com/llvm/llvm-project/commit/34259b76bf9c728b5877d00cac4be8fedabc6fef
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
M mlir/test/Dialect/XeGPU/propagate-layout.mlir
Log Message:
-----------
[MLIR][XeGPU] Refactoring Transpose OP Layout Propagation (#184702)
This PR refactors Transpose Op Layout Propagation:
1. Add inferTransposeSourceLayout() to layout utility, enhance layout
propagation and conflict handling to use this function
2. Add Layout utility: TransposeDims()
3. Refactor IsTransposeOf() and fix minor bugs
4. Fix minor issue in dropSgLayoutAndData()
Commit: c9555f6675471ddff5e158ba3f65f8a5a09dd97e
https://github.com/llvm/llvm-project/commit/c9555f6675471ddff5e158ba3f65f8a5a09dd97e
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
Log Message:
-----------
[lldb][Darwin] Don't try to insert breakpoint on corefiles (#184749)
lldb is printing an error that the kext-loaded notification breakpoint
can't be set when debugging a kernel corefile. The breakpoint only needs
to be inserted in live debug sessions.
rdar://170813438
Commit: 008dc8b5bf0fca3f2dff9e08f46fb034c438f979
https://github.com/llvm/llvm-project/commit/008dc8b5bf0fca3f2dff9e08f46fb034c438f979
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M flang-rt/lib/runtime/execute.cpp
M flang-rt/unittests/Runtime/CommandTest.cpp
Log Message:
-----------
[flang-rt] Fix EXECUTE_COMMAND_LINE() on Windows (#184875)
Detect cmd.exe special status code 9009 that indicates "command not
found" condition. Crash the process if "command not found" detected when
CMDSTAT was not specified.
Commit: 83bc933822615c0da763fa1046665688aa89d20e
https://github.com/llvm/llvm-project/commit/83bc933822615c0da763fa1046665688aa89d20e
Author: Ryan Thomas Lynch <rlynch34 at gatech.edu>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/Utils/IndexingUtils.h
Log Message:
-----------
NFC: MLIR Indexing Utils comment fix (#183438)
the comment for delinearize was incorrect and swapped modulus and
division, updated comment to match code
Commit: 58c5252b28cf71a4423f40d0a6141ab776278124
https://github.com/llvm/llvm-project/commit/58c5252b28cf71a4423f40d0a6141ab776278124
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M lldb/docs/use/variable.rst
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/DataFormatters/VectorType.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericList.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlTree.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlVariant.cpp
M lldb/source/Plugins/Language/ObjC/NSArray.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.cpp
M lldb/source/ValueObject/ValueObjectSynthetic.cpp
M lldb/test/API/commands/frame/var-dil/basics/ArraySubscript/myArraySynthProvider.py
A lldb/test/API/functionalities/data-formatter/synthetic_subscript/Makefile
A lldb/test/API/functionalities/data-formatter/synthetic_subscript/TestSyntheticSubscript.py
A lldb/test/API/functionalities/data-formatter/synthetic_subscript/main.c
A lldb/test/API/functionalities/data-formatter/synthetic_subscript/thing_formatter.py
Log Message:
-----------
[lldb] Automatic indexing for synthetic children of collections (#174885)
Synthetic providers for collection types use a child name format of
"[N]".
This `ValueObjectSynthetic` to automatically convert child names in this
convention to the index embedded in the subscript string. With this
change, synthetic formatters for collections will only need to implement
`GetIndexOfChildWithName` or `get_child_index` for non-indexed
collection children. Some examples of non-indexed children are
`$$dereference$$` support, or "hidden" children.
The automatic conversion applies to N values that are less than the
number of children reported by the synthetic provider.
Commit: dcd1bfb0dfb226bf7f7f8e4d08160fae116dfb53
https://github.com/llvm/llvm-project/commit/dcd1bfb0dfb226bf7f7f8e4d08160fae116dfb53
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M mlir/test/Integration/Dialect/XeVM/GPU/gpu_printf.mlir
Log Message:
-----------
[MLIR][XeVM] Mark gpu.printf test with XFAIL. (#184215)
gpu.printf test is expect to fail until vararg handling issue with
SPIR-V backend is resolved.
Commit: 03d453a51aa221c9f00b7d5bce9b2e5d9e7f7191
https://github.com/llvm/llvm-project/commit/03d453a51aa221c9f00b7d5bce9b2e5d9e7f7191
Author: Hanliang Xu (Leon) <hxu110 at jh.edu>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M libc/src/__support/FPUtil/generic/add_sub.h
M libc/test/src/math/smoke/AddTest.h
M libc/test/src/math/smoke/SubTest.h
Log Message:
-----------
[libc][math] Fix FP add/sub for signed-zero operands (#183243)
(-0.0) + (-0.0) and (-0.0) - (+0.0) returned +0.0 instead of -0.0.
Ensure these cases comply with IEEE 754 §6.3 rule.
Commit: ef3955dbdec436dce9065529312c502a10ad5c0b
https://github.com/llvm/llvm-project/commit/ef3955dbdec436dce9065529312c502a10ad5c0b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M libclc/opencl/lib/amdgcn-amdhsa/workitem/get_global_size.cl
M libclc/opencl/lib/amdgcn-amdhsa/workitem/get_local_size.cl
Log Message:
-----------
libclc: Reimplement amdhsa dispatch size functions (#184885)
Assume cov5 and use new ABI.
Commit: 742008d4e003b5c2bae6364c137829ef0dfecdf6
https://github.com/llvm/llvm-project/commit/742008d4e003b5c2bae6364c137829ef0dfecdf6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M libclc/opencl/lib/amdgcn/SOURCES
R libclc/opencl/lib/amdgcn/synchronization/barrier.cl
M libclc/opencl/lib/generic/SOURCES
M libclc/opencl/lib/generic/async/wait_group_events.cl
A libclc/opencl/lib/generic/synchronization/work_group_barrier.cl
M libclc/opencl/lib/ptx-nvidiacl/SOURCES
R libclc/opencl/lib/ptx-nvidiacl/synchronization/barrier.cl
Log Message:
-----------
libclc: Define work_group_barrier (#184780)
Previously only the old barrier name was implemented. Define this
as an indirection around the new name, and move it to common code.
The target implementations are already provided by
__clc_work_group_barrier,
so targets were unnecessarily duplicating these.
This also fixes the default scope, which should be
memory_work_group_scope. Previously this was guessing that
if the flags included global memory, it makes the scope
device which is not the case.
Commit: ca155dbea6e020fbbdc2f4aa28fa2cc379f07273
https://github.com/llvm/llvm-project/commit/ca155dbea6e020fbbdc2f4aa28fa2cc379f07273
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/include/clang/Frontend/CompilerInstance.h
M clang/lib/Frontend/CompilerInstance.cpp
Log Message:
-----------
[clang] Enable wrapping the FrontendAction for module builds (#184907)
This PR upstreams a piece of infrastructure from Swift's LLVM fork. This
allows adding custom wrappers around the `FrontendAction` that compiles
Clang modules from a module map into a PCM file. This will be used to
implement modules support in the CAS-based compilation caching mode.
Commit: 9809384aa7acb41ef6a3e001f15a15b2c8e1fc13
https://github.com/llvm/llvm-project/commit/9809384aa7acb41ef6a3e001f15a15b2c8e1fc13
Author: Ian Anderson <iana at apple.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/Modules/auto-module-import.m
M clang/test/Modules/extern_c.cpp
Log Message:
-----------
[clang][modules] -Wmodule-import-in-extern-c should not be an error by default (#184530)
Importing a module inside of an `extern "C" {...}` section doesn't have
any effect, i.e. the imported module is not treated as `extern "C"`,
it's built independent of the includer state. The warning is akin to
`-Wconfig-macros`, it's trying to say that the behavior will be
different (and unexpected) when compiling with modules. That doesn't
need to be an error, a warning is enough. As an error, it makes it
difficult to support and test modules in C++ mode while dependencies
still have includes in `extern "C" {...}`.
rdar://171677028
Commit: b15115cf39bfa119ec89ed1116b352028d7e5f2a
https://github.com/llvm/llvm-project/commit/b15115cf39bfa119ec89ed1116b352028d7e5f2a
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-length-ignored-exception-variable-names.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-length-ignored-loop-counter-names.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-length-ignored-parameter-names.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-length-minimum-exception-name-length.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-length-minimum-loop-counter-name-length.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-length-minimum-parameter-name-length.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-length-minimum-variable-name-length.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/magic-numbers-ignore-all-float.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/qualified-auto-add-const-to-qualified.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-parentheses-allowed-decls.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/suspicious-call-argument-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/use-std-min-max-include-style.cpp
Log Message:
-----------
[clang-tidy][NFC] Add missing Option tests in `readability` [2/N] (#184708)
This PR adds testcases for untested Options in `readability` module for
better test coverage, specifically:
- `readability-identifier-length`: `IgnoredExceptionVariableNames`,
`IgnoredLoopCounterNames`, `IgnoredParameterNames`,
`MinimumExceptionNameLength`, `MinimumLoopCounterNameLength`,
`MinimumParameterNameLength`, `MinimumVariableNameLength`.
- `readability-magic-numbers`: `IgnoreAllFloatingPointValues`.
- `readability-qualified-auto`: `AddConstToQualified`.
- `readability-redundant-parentheses`: `AllowedDecls`.
- `readability-suspicious-call-argument`: `MinimumIdentifierNameLength`.
- `readability-use-std-min-max`: `IncludeStyle`.
As of AI Usage: Assisted by Gemini 3 and Claude (Writing part of the
testcases and pre-commit reviewing).
Commit: 41ac6ebf0e0acad1fe7a18258a0f4b904b1f8e3a
https://github.com/llvm/llvm-project/commit/41ac6ebf0e0acad1fe7a18258a0f4b904b1f8e3a
Author: Kelvin Lee <kiyolee at gmail.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86.h
Log Message:
-----------
[lldb][FreeBSD] Fix some missed renaming to x86 for shared files (#183980)
Fix #180624.
Apparently a slight oversight.
Commit: 23e4fe040b67e2dd419652830a87093a93ea1a97
https://github.com/llvm/llvm-project/commit/23e4fe040b67e2dd419652830a87093a93ea1a97
Author: Tom Honermann <tom.honermann at intel.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/StmtSYCL.h
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Sema/ScopeInfo.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaSYCL.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenSYCL.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaSYCL.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/test/ASTSYCL/ast-dump-sycl-kernel-call-stmt.cpp
M clang/test/ASTSYCL/ast-dump-sycl-kernel-entry-point.cpp
A clang/test/ASTSYCL/ast-print-sycl-kernel-call.cpp
M clang/test/CodeGenSYCL/function-attrs.cpp
M clang/test/CodeGenSYCL/kernel-caller-entry-point.cpp
A clang/test/CodeGenSYCL/sycl-kernel-entry-point-exceptions.cpp
M clang/test/CodeGenSYCL/unique_stable_name_windows_diff.cpp
M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-appertainment.cpp
A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-device-odr-use.cpp
M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-grammar.cpp
M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name-module.cpp
M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name-pch.cpp
M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name.cpp
M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-sfinae.cpp
A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-this.cpp
A clang/test/SemaSYCL/sycl-kernel-launch-ms-compat.cpp
A clang/test/SemaSYCL/sycl-kernel-launch.cpp
M clang/tools/libclang/CXCursor.cpp
Log Message:
-----------
[SYCL] SYCL host kernel launch support for the sycl_kernel_entry_point attribute. (#152403)
The `sycl_kernel_entry_point` attribute facilitates the generation of an
offload kernel entry point function based on the parameters and body
of the attributed function. This change extends the behavior of that
attribute to support integration with a SYCL runtime library through
an interface that communicates symbol names and kernel arguments
for the generated offload kernel entry point functions.
Consider the following function declared with the
`sycl_kernel_entry_point` attribute with a call to this function
occurring in the implementation of a SYCL kernel invocation function
such as `sycl::handler::single_task()`.
```c++
template<typename KernelName, typename KernelType>
[[clang::sycl_kernel_entry_point(KernelName)]]
void kernel_entry_point(KernelType kernel) {
kernel();
}
```
The body of the above function specifies the parameters and body of the
generated offload kernel entry point. Clearly, a call to the above
function by a SYCL kernel invocation function is not intended to execute
the body as written. Previously, code generation emitted an empty
function body so that calls to the function had no effect other than to
trigger the generation of the offload kernel entry point. The function
body is therefore available to hook for SYCL library support and is now
substituted with a call to a (SYCL library provided) function template
or variable template named `sycl_kernel_launch()` with the kernel
name type passed as the first template argument, the symbol name
of the offload kernel entry point passed as a string literal for the first
function argument, and the function parameters passed as the
remaining explicit function arguments. Given a call like this:
```c++
kernel_entry_point<struct KN>([]{})
```
the body of the instantiated `kernel_entry_point()` specialization would
be substituted as follows with "kernel-symbol-name" substituted for the
generated symbol name and `kernel` forwarded.
```c++
sycl_kernel_launch<KN>("kernel-symbol-name", kernel)
```
Name lookup and overload resolution for the `sycl_kernel_launch()`
function is performed at the point of definition of the
`sycl_kernel_entry_point` attributed function (or the point of
instantiation for an instantiated function template specialization). If
overload resolution fails, the program is ill-formed.
Implementation of the `sycl_kernel_launch()` function might require
additional information provided by the SYCL library. This is facilitated
by removing the previous prohibition against use of the
`sycl_kernel_entry_point` attribute with a non-static member function.
If the `sycl_kernel_entry_point` attributed function is a non-static
member function, then overload resolution for the `sycl_kernel_launch()`
function template may select a non-static member function in which case,
`this` will be implicitly passed as the implicit object argument.
If a `sycl_kernel_entry_point` attributed function is a non-static
member function, use of `this` in a potentially evaluated expression is
prohibited in the definition since `this` is not a kernel argument and
will not be available within the generated offload kernel entry point
function. The attribute cannot be applied to a function with an
explicit object parameter.
---------
Co-authored-by: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Commit: bd3006fcd5660dac23cd421906eba26a588cea29
https://github.com/llvm/llvm-project/commit/bd3006fcd5660dac23cd421906eba26a588cea29
Author: Nico Weber <thakis at chromium.org>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/utils/llvm-lit/BUILD.gn
Log Message:
-----------
[gn] port 4ea39c43e1338a
Commit: fd32fc5e4b0d1437afb9aaa5d794e00752aa92bd
https://github.com/llvm/llvm-project/commit/fd32fc5e4b0d1437afb9aaa5d794e00752aa92bd
Author: Lang Hames <lhames at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
Log Message:
-----------
[ORC] Refactor some WaitingOnGraph loops into named methods. NFCI. (#184775)
Adds new methods to SuperNode for updating ElemToSuperNodeMap values,
use it to tidy up some loops.
Commit: 43dbcdea98f5bb04ae967bdd81ece2d2144f4661
https://github.com/llvm/llvm-project/commit/43dbcdea98f5bb04ae967bdd81ece2d2144f4661
Author: Nico Weber <thakis at chromium.org>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/utils/gn/secondary/bolt/unittests/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Options/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Tooling/BUILD.gn
M llvm/utils/gn/secondary/compiler-rt/lib/asan/BUILD.gn
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
M llvm/utils/gn/secondary/compiler-rt/test/asan/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/BPF/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
M llvm/utils/gn/secondary/llvm/utils/llvm-lit/BUILD.gn
Log Message:
-----------
[gn] Reformat build files
Ran:
git ls-files '*.gn' '*.gni' | xargs llvm/utils/gn/gn.py format
No behavior change.
Commit: 7f6ada93f72a01ed7901aed3303f15112a66c740
https://github.com/llvm/llvm-project/commit/7f6ada93f72a01ed7901aed3303f15112a66c740
Author: Lang Hames <lhames at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
Log Message:
-----------
[ORC] Move WaitingOnGraph::hoistDeps into SuperNode. NFCI.
This simplifies the extraction of ModifiedPendingSNs at the start of the emit
function.
Commit: 63db92d6d25bab26f28d8d263c70f47f06a380da
https://github.com/llvm/llvm-project/commit/63db92d6d25bab26f28d8d263c70f47f06a380da
Author: Arjun Parmar <akparmar0404 at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang-tools-extra/clang-tidy/hicpp/CMakeLists.txt
M clang-tools-extra/clang-tidy/hicpp/HICPPTidyModule.cpp
R clang-tools-extra/clang-tidy/hicpp/NoAssemblerCheck.cpp
R clang-tools-extra/clang-tidy/hicpp/NoAssemblerCheck.h
M clang-tools-extra/clang-tidy/portability/CMakeLists.txt
A clang-tools-extra/clang-tidy/portability/NoAssemblerCheck.cpp
A clang-tools-extra/clang-tidy/portability/NoAssemblerCheck.h
M clang-tools-extra/clang-tidy/portability/PortabilityTidyModule.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/no-assembler.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/portability/no-assembler.rst
R clang-tools-extra/test/clang-tidy/checkers/hicpp/no-assembler.cpp
A clang-tools-extra/test/clang-tidy/checkers/portability/no-assembler.cpp
Log Message:
-----------
[clang-tidy] Rename hicpp-no-assembler to portability-no-assembler, keep hicpp as alias (#184030)
Part of #183462.
closes #183466.
Commit: cf8004bdee91cdbf6473a2c2d4dd992e5d5f8a92
https://github.com/llvm/llvm-project/commit/cf8004bdee91cdbf6473a2c2d4dd992e5d5f8a92
Author: Lang Hames <lhames at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
Log Message:
-----------
[ORC] Remove accidental #include left in 7f6ada93f72. NFC.
left in the final commit.
Commit: b57d62c15d9bac4b6b2488e7998631081aef88f7
https://github.com/llvm/llvm-project/commit/b57d62c15d9bac4b6b2488e7998631081aef88f7
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/include/clang/AST/ASTStructuralEquivalence.h
Log Message:
-----------
[Clang][NFC] Apply Rule of Three to AttrScopedAttrEquivalenceContext (#184905)
Static analysis flagged AttrScopedAttrEquivalenceContext as having a
user defined destructor but not having copy ctor or copy assignment. I
set them as deleted since they are not needed.
Commit: a500d65868ab6760a64de662344516ce4db5ae79
https://github.com/llvm/llvm-project/commit/a500d65868ab6760a64de662344516ce4db5ae79
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M mlir/lib/Dialect/OpenACC/IR/OpenACCCG.cpp
Log Message:
-----------
[MLIR][ACC] Fix -Wunused-variable in dfe7738
There was a variable only used in an assertion which causes warnings in
non-assertions builds. Fix the issue by inlining the variable into the
assertion given it is only used in one place.
Commit: 850a54f2545cf0c868ee870f1ad7c8b0fd2fabde
https://github.com/llvm/llvm-project/commit/850a54f2545cf0c868ee870f1ad7c8b0fd2fabde
Author: Tom Honermann <tom.honermann at intel.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[NFC] Add template disambiguation for dependent call to getAttr. (#184928)
This fixes buildbot failures for darwin targets triggered by #152403.
- https://lab.llvm.org/buildbot/#/builders/190/builds/37864
- https://lab.llvm.org/buildbot/#/builders/23/builds/18339
Commit: f409804208e93ccf0fd10cc805c55f799126f38e
https://github.com/llvm/llvm-project/commit/f409804208e93ccf0fd10cc805c55f799126f38e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel
Log Message:
-----------
[Bazel] Fix build for #184030
hicpp needed a new dependency.
Commit: 1f84b73a8a0776111a69652653755359b651ab84
https://github.com/llvm/llvm-project/commit/1f84b73a8a0776111a69652653755359b651ab84
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
A llvm/lib/Target/RISCV/RISCVInstrFormatsSpacemitV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSpacemiT.td
M llvm/test/MC/RISCV/xsmtvdot-invalid.s
M llvm/test/MC/RISCV/xsmtvdot-valid.s
Log Message:
-----------
[RISCV] Add contraints for SpacemiT X60 AI VDot Insts (#174364)
Spec: https://developer.spacemit.com/documentation?token=BWbGwbx7liGW21kq9lucSA6Vnpb#2.1
Commit: dd79c925d1556a38a5f901ad367595ce4bb66a15
https://github.com/llvm/llvm-project/commit/dd79c925d1556a38a5f901ad367595ce4bb66a15
Author: Fangrui Song <i at maskray.me>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M lld/ELF/Arch/ARM.cpp
M lld/ELF/RelocScan.h
Log Message:
-----------
[ELF] handleTlsGd: support disabling GD-to-IE/LE optimization. NFC (#184934)
Use this in ARM::scanSectionImpl for R_ARM_TLS_GD32 and the upcoming
RISC-V change.
Commit: 0538d0a2e5b4ef924f61e62579a0f81e2d1ae427
https://github.com/llvm/llvm-project/commit/0538d0a2e5b4ef924f61e62579a0f81e2d1ae427
Author: Wenju He <wenju.he at intel.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/lib/Basic/Targets/NVPTX.h
M clang/test/Misc/nvptx.languageOptsOpenCL.cl
R clang/test/Misc/nvptx.unsupported_core.cl
Log Message:
-----------
[NVPTX] Enable OpenCL 3d_image_writes support (#143331)
NV supports opencl_3d_image_writes according
https://developer.nvidia.com/blog/nvidia-is-now-opencl-3-0-conformant/
This PR allows removing explicit enabling of image extensions via
-cl-ext command line option, e.g. at
https://github.com/intel/llvm/blob/43b3d42e2b2060e9e9e3a96469a1982dc4c10ddd/libclc/CMakeLists.txt#L503
Commit: eaae8e25032a05b950f6f3d5e016f60c262e4310
https://github.com/llvm/llvm-project/commit/eaae8e25032a05b950f6f3d5e016f60c262e4310
Author: Jim Lin <jim at andestech.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Remove outdated TODO in isExtractSubvectorCheap (#184938)
Index 0 is already handled by an early return, so the TODO comment about
extracting index 0 from a mask vector is no longer needed.
Commit: f712c97e594312b4dca5b90891de76743c0b51e5
https://github.com/llvm/llvm-project/commit/f712c97e594312b4dca5b90891de76743c0b51e5
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/include/clang/DependencyScanning/ModuleDepCollector.h
M clang/lib/DependencyScanning/ModuleDepCollector.cpp
Log Message:
-----------
[clang][deps] Store `IgnoreCWD` on `ModuleDeps` (#184921)
This aligns us with downstream, where we need to be able to query
whether a module depends on CWD or not.
Commit: f7ca74f600cb6360b4255fc849ac21dd13a56a4c
https://github.com/llvm/llvm-project/commit/f7ca74f600cb6360b4255fc849ac21dd13a56a4c
Author: joshua-arch1 <cooper.joshua at linux.alibaba.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
A llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s
Log Message:
-----------
[RISCV] Add register overlap checks to the assembler for vector indexed segment load (#184569)
The destination vector register group cannot overlap the source vector
register group for vector indexed segment load. This patch is to add
register overlap checks to the assembler.
Commit: 4ea72c1e8cbdc5918673148aef12052ae4b86ae4
https://github.com/llvm/llvm-project/commit/4ea72c1e8cbdc5918673148aef12052ae4b86ae4
Author: Fangrui Song <i at maskray.me>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/Relocations.cpp
M lld/test/ELF/riscv-reloc-leb128.s
M lld/test/ELF/riscv-vendor-relocations.s
A lld/test/ELF/riscv-vendor-relocations2.test
Log Message:
-----------
[ELF] Add target-specific relocation scanning for RISC-V (#181332)
Implement RISCV::scanSectionImpl, following the pattern established
for x86 (#178846) and AArch64 (#181099). This merges the getRelExpr
and TLS handling for SHF_ALLOC sections into the target-specific
scanner, enabling devirtualization and eliminating abstraction
overhead.
- Inline relocation classification into scanSectionImpl with a switch
on relocation type, replacing the generic rs.scan() path.
- Use processR_PC/processR_PLT_PC for common PC-relative and PLT
relocations.
- Handle TLS IE and GD directly (RISC-V does not optimize GD/LD/IE).
- Replace TLS-optimization-specific expressions for TLSDESC, following
the x86 pattern: R_RELAX_TLS_GD_TO_IE -> R_GOT_PC,
R_RELAX_TLS_GD_TO_LE -> R_TPREL. Update relocateAlloc and relax()
to dispatch on relocation type instead of RelExpr for TLSDESC.
- Simplify getRelExpr to only handle relocations needed by
relocateNonAlloc and preprocessRelocs.
- Remove RISC-V-specific checks from handleTlsRelocation (isRISCV
variable, TLSDESC label special cases).
- Move R_RISCV_VENDOR handling into the relocation type switch. An
undefined vendor symbol now gets the standard undefined symbol error
instead of a vendor-specific diagnostic.
Commit: 301597950a824fc6b4b009fc09389bc5852aca32
https://github.com/llvm/llvm-project/commit/301597950a824fc6b4b009fc09389bc5852aca32
Author: joshua-arch1 <cooper.joshua at linux.alibaba.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M clang/test/CodeGen/RISCV/riscv-inline-asm.c
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/inline-asm-bf-constraint-f.ll
Log Message:
-----------
[RISCV] Support 'f' Inline Assembly Constraint for bfloat16 (#184566)
This patch is to add 'f' and 'cf' Inline Assembly Constraint for the `bfloat16` type, so they are passed in the floating point registers.
Commit: eafd0761aea2ebf352d5881069a0c53ec1b674ea
https://github.com/llvm/llvm-project/commit/eafd0761aea2ebf352d5881069a0c53ec1b674ea
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/rvp-ext-rv32.ll
M llvm/test/CodeGen/RISCV/rvp-ext-rv64.ll
Log Message:
-----------
[RISCV][P-ext] Select (splat_vector 0) as copy from X0. (#184911)
Commit: 1093a18ba312baf0734c1cbe21c99a5f51184cd0
https://github.com/llvm/llvm-project/commit/1093a18ba312baf0734c1cbe21c99a5f51184cd0
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
Log Message:
-----------
[SandboxVec][DAG] Handle unscheduled successors when user is external (#183861)
Whenever an IR use-def edge gets updated, the DAG gets notified about
the change by having its `notifySetUse()` callback called. The
callback's job is to update the DAG node's `UnscheduledSuccs` counter
which is the number of successor nodes that are yet to be scheduled.
This update makes sense only if both ends of the use-def edge are in the
DAG. Up until now we would still update the counter even if the user was
outside the DAG. This patch fixes this, so from now on we skip updatinge
`UnscheduledSuccs` if the user is outside the DAG.
Commit: fb7d25556a3ac6b48deaa63a9195cf47b830e372
https://github.com/llvm/llvm-project/commit/fb7d25556a3ac6b48deaa63a9195cf47b830e372
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M libcxx/include/string
Log Message:
-----------
[libc++][string] Replace ASAN volatile wrapper with memory barrier (#184693)
The previous `_LIBCPP_ASAN_VOLATILE_WRAPPER` approach was used to
prevent
speculative loads of string data before the short/long state was
determined. This patch replaces that mechanism with a more explicit
`__annotate_memory_barrier()` using an empty volatile assembly block.
This PR is inspired by #183457 and by downstream false positive on
`__get_long_size`. It fails same way as `__get_long_pointer` before we
have
`_LIBCPP_ASAN_VOLATILE_WRAPPER`. Barrier approach avoids
expanding `_LIBCPP_ASAN_VOLATILE_WRAPPER` for size_t, and to
in general looks more readable.
I failed to create reasonable reproducer for test, I suspect it requires
precise set of compiler flags, and libc++ site_config which will be hard
to maintain in test.
Commit: 62a5e5391971a5e8b874660135a0f77511d1dbb5
https://github.com/llvm/llvm-project/commit/62a5e5391971a5e8b874660135a0f77511d1dbb5
Author: Jeongseok Son <jeongseok.son at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/Transforms/test-legalizer.mlir
Log Message:
-----------
[mlir] Improve dialect conversion failure diagnostics (#182729)
This PR improves MLIR dialect conversion failure diagnostics when
legalization fails.
Previously, the diagnostic mostly included the operation name (and in
partial conversion, whether it was explicitly marked illegal). This
change keeps that prefix and appends the printed failing operation. This
provides immediate operand/result/type context directly in the same
error line.
### Example
Before:
```
failed to legalize operation 'test.type_consumer' that was explicitly marked illegal
```
After:
```
failed to legalize operation 'test.type_consumer' that was explicitly marked illegal: "test.type_consumer"(%arg0) : (f32) -> ()
```
### Tests
- Updated `mlir/test/Transforms/test-legalizer.mlir` expectations for
the richer emitted diagnostic.
Commit: 4541e23f280dcc149121cc16c0b7ec94048bd9d8
https://github.com/llvm/llvm-project/commit/4541e23f280dcc149121cc16c0b7ec94048bd9d8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rvp-ext-rv32.ll
M llvm/test/CodeGen/RISCV/rvp-ext-rv64.ll
Log Message:
-----------
[RISCV][P-ext] Select plui.h/w and improve usage of pli.b/h/w. (#184937)
This patch adds custom instruction selection of splat_vector of
constants. Rather that using the element size from the VT, find
the smallest splat size in the constant. This allow us to use
pli.b for i16 or i32 elements that contain a byte splat.
Commit: 46d29d43ba8ee99c34a3afdc0f4e4b5a9c8b6218
https://github.com/llvm/llvm-project/commit/46d29d43ba8ee99c34a3afdc0f4e4b5a9c8b6218
Author: Fangrui Song <i at maskray.me>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M lld/ELF/InputSection.cpp
M lld/ELF/RelocScan.h
M lld/ELF/Relocations.cpp
Log Message:
-----------
[ELF] Remove unused handleTlsRelocation (#184951)
Now that all targets use target-specific relocation scanning for TLS
(#181332 RISC-V being the last), handleTlsRelocation is unused.
Commit: cb6936e77696642b1a96602b5a1a5328960515ff
https://github.com/llvm/llvm-project/commit/cb6936e77696642b1a96602b5a1a5328960515ff
Author: Luke Lau <luke at igalia.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/blend-costs.ll
Log Message:
-----------
[LV] Remove branch on false in blend-costs.ll test. NFC (#184816)
I have a patch I want to post that improves blend masks, but it ends up
with a weird diff in this test stemming from the branch on false.
This replaces it with an external boolean. This should still test
scalarizing a blend which I believe is the original intent.
Commit: 1f2e52fefe445b2c80751079b84ee556a2990f6f
https://github.com/llvm/llvm-project/commit/1f2e52fefe445b2c80751079b84ee556a2990f6f
Author: Nishant Sachdeva <32475507+nishant-sachdeva at users.noreply.github.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/test/tools/llvm-ir2vec/Inputs/input.ll
M llvm/test/tools/llvm-ir2vec/bindings/ir2vec-bindings.py
M llvm/tools/llvm-ir2vec/Bindings/PyIR2Vec.cpp
Log Message:
-----------
[llvm-ir2vec] Adding getFuncNames API to ir2vec python bindings (#180473)
This is more a user convenience thing. But I thought it helpful.
Otherwise, at the moment, the user has to fetch the entire embeddings
dict, just to see what all functions a module has
Commit: f31e65feaa50878f36c04ec46d0efc0085488fe5
https://github.com/llvm/llvm-project/commit/f31e65feaa50878f36c04ec46d0efc0085488fe5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M libclc/clc/lib/amdgcn/mem_fence/clc_mem_fence.cl
M libclc/opencl/lib/generic/SOURCES
A libclc/opencl/lib/generic/atomic/atomic_work_item_fence.cl
Log Message:
-----------
libclc: Add atomic_work_item_fence (#184844)
Commit: 2b212315f13e4cec44f25560ce5c3fc742657084
https://github.com/llvm/llvm-project/commit/2b212315f13e4cec44f25560ce5c3fc742657084
Author: Teresa Johnson <tejohnson at google.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/include/llvm/Transforms/IPO/MemProfContextDisambiguation.h
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/test/ThinLTO/X86/memprof-basic.ll
M llvm/test/ThinLTO/X86/memprof-report-hinted-partial.ll
A llvm/test/ThinLTO/X86/remark-missing-info.ll
M llvm/test/Transforms/MemProfContextDisambiguation/basic.ll
M llvm/test/Transforms/MemProfContextDisambiguation/inlined3.ll
A llvm/test/Transforms/MemProfContextDisambiguation/remark-missing-info.ll
Log Message:
-----------
[MemProf] Enhance thin link optimization remarks (#184829)
Don't require -memprof-report-hinted-sizes for emitting opt remarks
during the thin link step. Invoke the handling also when opt remarks are
enabled for MemProf per OptimizationRemarkEmitter::allowExtraAnalysis.
Also, add a fallback message if we don't have the context size
information, adding tests for those new messages.
I also realized we don't currently emit these messages for MemProf with
regular LTO, and added a TODO.
Commit: 7dda8ba3751d65ba96d1adf6c61b1e590fbfdee2
https://github.com/llvm/llvm-project/commit/7dda8ba3751d65ba96d1adf6c61b1e590fbfdee2
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/test/Analysis/DependenceAnalysis/WeakZeroDstSIV.ll
M llvm/test/Analysis/DependenceAnalysis/WeakZeroSrcSIV.ll
M llvm/test/Analysis/DependenceAnalysis/weak_zero_siv_parametric_coeff.ll
Log Message:
-----------
[DA] Fix the Weak Zero SIV tests when the coeff may be zero (#183736)
In the Weak Zero SIV tests, given two subscripts `{c0,+,a}` and `c1`,
when `c0 == c1`, the tests conclude that a dependency exists from the
former subscript at the first iteration to the latter subscript at every
iteration. However, this conclusion is correct only when `a` is not
zero, which was not being checked.
This patch adds non-zero checks for `a` in the Weak Zero SIV tests.
Fix the test cases added in #183735 .
Commit: f2cf0cda9e19650d0b81dc69444d109ca332b060
https://github.com/llvm/llvm-project/commit/f2cf0cda9e19650d0b81dc69444d109ca332b060
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
Log Message:
-----------
[RISCV] Remove unneeded ImmLeaf from simm8_unsigned. NFC (#184960)
Commit: b51859cb3d4fde5b3589eb1c3ce7f52f884cdc8c
https://github.com/llvm/llvm-project/commit/b51859cb3d4fde5b3589eb1c3ce7f52f884cdc8c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-03-05 (Thu, 05 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvp-ext-rv32.ll
M llvm/test/CodeGen/RISCV/rvp-ext-rv64.ll
Log Message:
-----------
[RISCV][P-ext] Recognize vector shifts with splat build_vector shift amount. (#184909)
If the shift is created during LegalizeVectorOps, the shift amount
will be created as a build_vector. Splat_vector is formed by a later
DAGCombine. LegalizeVectorOps will visit the new shift before the
splat_vector can be created. Handle this case too
Commit: 23edefa4d3c76318a62b8f7f41afbbb5ec3edb5b
https://github.com/llvm/llvm-project/commit/23edefa4d3c76318a62b8f7f41afbbb5ec3edb5b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-aggregates.ll
Log Message:
-----------
InstCombine: Handle insertvalue in SimplifyDemandedFPClass (#184193)
Commit: 049efc73bed254fb34683615926a997b0bf30243
https://github.com/llvm/llvm-project/commit/049efc73bed254fb34683615926a997b0bf30243
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M libclc/opencl/lib/amdgcn/SOURCES
A libclc/opencl/lib/amdgcn/subgroup/subgroup.cl
A libclc/opencl/lib/amdgcn/synchronization/sub_group_barrier.cl
Log Message:
-----------
libclc: Add amdgpu subgroup functions (#184845)
Commit: f90b783c3f2b29378bc2913db9995422c70579ea
https://github.com/llvm/llvm-project/commit/f90b783c3f2b29378bc2913db9995422c70579ea
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
M llvm/test/CodeGen/WebAssembly/simd-relaxed-fmax.ll
M llvm/test/CodeGen/WebAssembly/simd-relaxed-fmin.ll
Log Message:
-----------
[WebAssembly] Do not form minnum/maxnum (#184796)
For wasm, forming minnum/maxnum style ISD nodes is non-profitable,
because (in cases where any float min/max support exists at all), it has
pmin/pmax instructions that correspond to the fcmp+select semantics, or
relaxed_fmin/relaxed_fmax (for the nnan+nsz case) with even loser
semantics.
As such, return false from isProfitableToCombineMinNumMaxNum(), and also
respect that hook in the SDAGBuilder.
Commit: 33508a222e32d9c361f18f34d19209dc0af94127
https://github.com/llvm/llvm-project/commit/33508a222e32d9c361f18f34d19209dc0af94127
Author: Lang Hames <lhames at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
M llvm/unittests/ExecutionEngine/Orc/WaitingOnGraphTest.cpp
Log Message:
-----------
[ORC] Make ElementSet, ContainerElementsMap inner classes. (#184955)
ElementSet and ContainerElementsMap were type aliases inside
WaitingOnGraph.
This commit replaces the aliases with classes deriving from DenseSet and
DenseMap, with convenience operations added for WaitingOnGraph (merge,
remove, remove_if, and visit). These convenience functions are used to
simplify the implementation of various parts of WaitingOnGraph.
Unit tests are added for the convenience operations to improve test
coverage.
In addition to improving readability of the main WaitingOnGraph
operations, this will make it easier to experiment with other underlying
representations for these types (e.g. sorted vectors).
Commit: aab73769da141e9e05b25c7b87964718e9388463
https://github.com/llvm/llvm-project/commit/aab73769da141e9e05b25c7b87964718e9388463
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/include/llvm/Analysis/DependenceAnalysis.h
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/test/Analysis/DependenceAnalysis/WeakZeroDstSIV.ll
M llvm/test/Analysis/DependenceAnalysis/WeakZeroSrcSIV.ll
Log Message:
-----------
[DA] Remove isPeelFirst and isPeelLast (#183737)
`isPeelFirst` and `isPeelLast` are updated only in the Weak Zero SIV
tests, and no clients actually use them. Keeping these features while
fixing the existing defects in DA would add unnecessary complexity. If
they are unnecessary in the first place, it would be better to delete
them to mitigate maintenance burden.
Commit: b3d99ac2cda4d6484ac0dff0b95403b4a8c10465
https://github.com/llvm/llvm-project/commit/b3d99ac2cda4d6484ac0dff0b95403b4a8c10465
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/lib/CodeGen/CGBuilder.h
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/test/CodeGen/2005-01-02-ConstantInits.c
M clang/test/CodeGen/AArch64/varargs.c
M clang/test/CodeGen/PowerPC/ppc-emmintrin.c
M clang/test/CodeGen/PowerPC/ppc-xmmintrin.c
M clang/test/CodeGen/PowerPC/ppc32-dwarf.c
M clang/test/CodeGen/PowerPC/ppc64-dwarf.c
M clang/test/CodeGen/RISCV/builtin-cpu-is.c
M clang/test/CodeGen/Sparc/sparcv9-dwarf.c
M clang/test/CodeGen/SystemZ/align-systemz-02.c
M clang/test/CodeGen/X86/avx10_2bf16-builtins.c
M clang/test/CodeGen/X86/va-arg-sse.c
M clang/test/CodeGen/aix-builtin-cpu-is.c
M clang/test/CodeGen/aix-builtin-cpu-supports.c
M clang/test/CodeGen/attr-cpuspecific.c
M clang/test/CodeGen/attr-target-clones-riscv.c
M clang/test/CodeGen/attr-target-clones.c
M clang/test/CodeGen/attr-target-version-riscv.c
M clang/test/CodeGen/builtin-cpu-is.c
M clang/test/CodeGen/builtin-cpu-supports.c
M clang/test/CodeGen/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.c
M clang/test/CodeGen/catch-nullptr-and-nonzero-offset.c
M clang/test/CodeGen/clear_cache.c
M clang/test/CodeGen/complex-strictfp.c
M clang/test/CodeGen/complex.c
M clang/test/CodeGen/mips-inline-asm-modifiers.c
M clang/test/CodeGen/multi-aix-builtin-cpu-supports.c
M clang/test/CodeGen/object-size.c
M clang/test/CodeGen/packed-nest-unpacked.c
M clang/test/CodeGen/ptrauth-function-init.c
M clang/test/CodeGen/ptrauth-restricted-intptr-qualifier.c
M clang/test/CodeGen/unaligned-expr.c
M clang/test/CodeGen/volatile-1.c
M clang/test/CodeGen/volatile-2.c
M clang/test/CodeGen/volatile-complex.c
M clang/test/CodeGenCUDA/address-spaces.cu
M clang/test/CodeGenCUDA/managed-var.cu
M clang/test/CodeGenCXX/2011-12-19-init-list-ctor.cpp
M clang/test/CodeGenCXX/apple-kext-indirect-call-2.cpp
M clang/test/CodeGenCXX/apple-kext-indirect-call.cpp
M clang/test/CodeGenCXX/apple-kext-indirect-virtual-dtor-call.cpp
M clang/test/CodeGenCXX/attr-target-clones-riscv.cpp
M clang/test/CodeGenCXX/attr-target-version-riscv.cpp
M clang/test/CodeGenCXX/blocks-cxx11.cpp
M clang/test/CodeGenCXX/builtin-invoke.cpp
M clang/test/CodeGenCXX/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist-pr12086.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp
M clang/test/CodeGenCXX/cxx11-initializer-aggregate.cpp
M clang/test/CodeGenCXX/cxx1y-initializer-aggregate.cpp
M clang/test/CodeGenCXX/cxx1z-decomposition.cpp
M clang/test/CodeGenCXX/cxx1z-initializer-aggregate.cpp
M clang/test/CodeGenCXX/cxx2a-consteval.cpp
M clang/test/CodeGenCXX/finegrain-bitfield-access.cpp
M clang/test/CodeGenCXX/for-range.cpp
M clang/test/CodeGenCXX/forward-declare-as-array-elem.cpp
M clang/test/CodeGenCXX/global-array-destruction.cpp
M clang/test/CodeGenCXX/inheriting-constructor.cpp
M clang/test/CodeGenCXX/labeled-break-continue.cpp
M clang/test/CodeGenCXX/ms-inline-asm-fields.cpp
M clang/test/CodeGenCXX/no-odr-use.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call-2.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-virtual-dtor-call.cpp
M clang/test/CodeGenCXX/temporaries.cpp
M clang/test/CodeGenCXX/ubsan-nullability-arg.cpp
M clang/test/CodeGenCXX/volatile-1.cpp
M clang/test/CodeGenCXX/vtt-address-space.cpp
M clang/test/CodeGenHIP/amdgpu-barrier-type.hip
M clang/test/CodeGenHLSL/ArrayAssignable.hlsl
M clang/test/CodeGenHLSL/resources/cbuffer_geps.hlsl
M clang/test/CodeGenObjC/super-message-fragileabi.m
M clang/test/DebugInfo/KeyInstructions/complex.c
M clang/test/Modules/templates.mm
M clang/test/OpenMP/atomic_capture_codegen.cpp
M clang/test/OpenMP/atomic_read_codegen.c
M clang/test/OpenMP/atomic_update_codegen.cpp
M clang/test/OpenMP/atomic_write_codegen.c
M clang/test/OpenMP/for_firstprivate_codegen.cpp
M clang/test/OpenMP/for_linear_codegen.cpp
M clang/test/OpenMP/for_private_codegen.cpp
M clang/test/OpenMP/for_reduction_codegen.cpp
M clang/test/OpenMP/parallel_copyin_codegen.cpp
M clang/test/OpenMP/parallel_for_linear_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_lastprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/parallel_private_codegen.cpp
M clang/test/OpenMP/parallel_reduction_codegen.cpp
M clang/test/OpenMP/scope_codegen.cpp
M clang/test/OpenMP/sections_firstprivate_codegen.cpp
M clang/test/OpenMP/sections_private_codegen.cpp
M clang/test/OpenMP/sections_reduction_codegen.cpp
M clang/test/OpenMP/single_codegen.cpp
M clang/test/OpenMP/single_firstprivate_codegen.cpp
M clang/test/OpenMP/single_private_codegen.cpp
M clang/test/OpenMP/target_data_codegen.cpp
M clang/test/OpenMP/target_enter_data_codegen.cpp
M clang/test/OpenMP/target_enter_data_depend_codegen.cpp
M clang/test/OpenMP/target_exit_data_codegen.cpp
M clang/test/OpenMP/target_exit_data_depend_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen.cpp
M clang/test/OpenMP/target_map_codegen_21.cpp
M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/target_update_codegen.cpp
M clang/test/OpenMP/target_update_depend_codegen.cpp
M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/threadprivate_codegen.cpp
M clang/test/SemaHLSL/Resources/static_resources.hlsl
Log Message:
-----------
[CodeGen] Use data layout aware constant folder in CGBuilder (#184819)
Use the DataLayout-aware TargetFolder instead of ConstantFolder in
Clang's CGBuilder. The primary impact of this change is that GEP
constant expressions are now emitted in canonical `getelementptr i8`
form. This is in preparation for the migration to ptradd, which requires
this form.
Part of the test updates were performed by Claude Code and reviewed by
me.
Commit: be9e84e1a9087941f4da9259fb64bb975029b0cb
https://github.com/llvm/llvm-project/commit/be9e84e1a9087941f4da9259fb64bb975029b0cb
Author: ziereis <44057120+ziereis at users.noreply.github.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
M mlir/test/Dialect/Linalg/specialize-generic-ops.mlir
Log Message:
-----------
[mlir] [linalg] fix failure on specializing matmul with permuted loops (#184294)
This patch fixes generic specialization when the loop dimensions are
permuted in the generic w.r.t. to canonical iterator order of the named
ops by not forwarding the maps of the original generic and instead
recreating them ensuring they always follow the canonical order.
For example, the generic which is to be specialized to a matmul could
have `[parallel, reduction, parallel]` loops, specializing this as is
and just coping the indexing maps like we do now will lead to a
verification error since the dimension will not match the canonical form
the matmul named op expects
e.g. the maps could be:
```
(m, k, n) -> (m,k)
...
```
So we would have to recreate the maps to be:
```
(m,n,k) -> (m,k)
...
```
Assisted by: Claude Code
Commit: a9eeb151fb5681fb254ad8da891424d2fbc033c0
https://github.com/llvm/llvm-project/commit/a9eeb151fb5681fb254ad8da891424d2fbc033c0
Author: Petr Vesely <veselypeta at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
A llvm/test/TableGen/SubRegsLaneBitmask.td
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
Log Message:
-----------
[Tablegen] Fix condition to report when lanemask overflows (#181810)
This PR:
Fixes a slight off-by-one error in the check for how many bits are
allocated for subreg lane masks. If 65 subreg lanes are used, it fails
later, but the error message is not clear as to what has occured.
Commit: 454eb8bc0ac2a3a3e843440c7f45f3fdb32b40b3
https://github.com/llvm/llvm-project/commit/454eb8bc0ac2a3a3e843440c7f45f3fdb32b40b3
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
A lldb/source/Plugins/SymbolLocator/SymStore/CMakeLists.txt
A lldb/source/Plugins/SymbolLocator/SymStore/SymbolLocatorSymStore.cpp
A lldb/source/Plugins/SymbolLocator/SymStore/SymbolLocatorSymStore.h
A lldb/source/Plugins/SymbolLocator/SymStore/SymbolLocatorSymStoreProperties.td
M lldb/source/Plugins/SymbolVendor/PECOFF/SymbolVendorPECOFF.cpp
A lldb/test/API/symstore/Makefile
A lldb/test/API/symstore/TestSymStoreLocal.py
A lldb/test/API/symstore/main.c
Log Message:
-----------
[lldb] Initial plugin and test for SymbolLocatorSymStore (#183302)
Minimal infrastructure for a the SymbolLocator plugin that fetches debug
info from Microsoft SymStore repositories. More features will follow.
SymbolVendorPECOFF was tailored towards DWARF debug info so far. This
patch adds code to load the PDB path from the executable and not bail
out if DWARF sections are missing, so that in the PDB case we still
call `AddSymbolFileRepresentation()` in the very end of
`CreateInstance()`.
The API test in this patch mocks the directory layout from SymStore, so
it doesn't depend on `SymStore.exe` from the Windows SDK. It runs on all
platforms that link debug info in a PDB file, which is still just
Windows, but it could be cross-platform in principle.
Commit: 581f66adf603f17911a45e76f9e11262ce9998c6
https://github.com/llvm/llvm-project/commit/581f66adf603f17911a45e76f9e11262ce9998c6
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
Log Message:
-----------
[lldb-dap] Fix valueLocationReference in setVariable request (#184782)
Fixed small typo. We always send invalidated event, so it is not a real
problem.
Commit: 3fd4c0e2a8b173bbd34877821fb616aeb11cdea6
https://github.com/llvm/llvm-project/commit/3fd4c0e2a8b173bbd34877821fb616aeb11cdea6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
Log Message:
-----------
[X86] Make ISD::ROTL/ROTR vXi16 vector rotates legal on VBMI2 targets (#184768)
Fixes #184002
Commit: d92c56c2f21f123f98b4c3b7e2ba660c925a0192
https://github.com/llvm/llvm-project/commit/d92c56c2f21f123f98b4c3b7e2ba660c925a0192
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/MacroUsageCheck.cpp
M clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.cpp
M clang-tools-extra/clang-tidy/modernize/RawStringLiteralCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
M clang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.cpp
M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] Fix various clang-tidy finding (#184831)
I suspect many of them must slipped under the radar in CI because they
were absent in diff (like redundant includes).
Other cases must be some fixed FN in existing checks.
Commit: b5e488e39b1c44cb7d7e16cf846ec9ee7cc56cf7
https://github.com/llvm/llvm-project/commit/b5e488e39b1c44cb7d7e16cf846ec9ee7cc56cf7
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang-tools-extra/clang-tidy/.clang-tidy
Log Message:
-----------
[clang-tidy][NFC] add config for 22.x clang-tidy (#184834)
Commit: 13a846553b3b2b4b57ee690166dc14de0790a519
https://github.com/llvm/llvm-project/commit/13a846553b3b2b4b57ee690166dc14de0790a519
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp
Log Message:
-----------
[lldb-dap] Add memory history in ASan report (#183740)
Added memory history in ASan report (like `memory history` console
command)
Commit: f2e8e2faffb0a1788025dec11c58c015a34757eb
https://github.com/llvm/llvm-project/commit/f2e8e2faffb0a1788025dec11c58c015a34757eb
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-cc.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-fp-nosave.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-preserve-cc.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.set.inactive.chain.arg.ll
M llvm/test/CodeGen/AMDGPU/llvm.sponentry.ll
M llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain-preserve.mir
M llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain.mir
Log Message:
-----------
[AMDGPU] Make chain functions receive a stack pointer (#184616)
Currently, chain functions are free to set up a stack pointer if they
need one, and they assume they can start at scratch offset 0. This is
not correct if CWSR and dynamic VGPRs are both enabled, since in that
case we need to reserve an area at offset 0 for the trap handler, but
only when running on a compute queue (which we determine at runtime).
Rather than duplicate in every chain function the code sequence for
determining if/how much scratch space needs to be reserved, this patch
changes the ABI of chain functions so that they receive a stack pointer
from their caller.
Since chain functions can no longer use plain offsets to access their
own stack, we'll also need to allocate a frame pointer more often (and
sometimes also a base pointer). For simplicity, we use the same
registers that `amdgpu_gfx` functions do (s32, s33, s34). This may
change in the future. Chain functions never return to their caller and
thus don't need to preserve the frame or base pointer.
Another consequence is that now we might need to realign the stack in
some cases (since it no longer starts at the infinitely aligned 0).
Commit: 92bd5fc9355eefa65bf1272aea5975e7e9f245bd
https://github.com/llvm/llvm-project/commit/92bd5fc9355eefa65bf1272aea5975e7e9f245bd
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
A libclc/clc/include/clc/subgroup/clc_subgroup_broadcast.inc
A libclc/clc/include/clc/subgroup/clc_subgroup_broadcast_scalarize.inc
A libclc/clc/include/clc/subgroup/sub_group_broadcast.h
M libclc/clc/lib/amdgcn/SOURCES
A libclc/clc/lib/amdgcn/subgroup/sub_group_broadcast.cl
M libclc/opencl/lib/generic/SOURCES
A libclc/opencl/lib/generic/subgroup/sub_group_broadcast.cl
A libclc/opencl/lib/generic/subgroup/sub_group_broadcast.inc
Log Message:
-----------
libclc: Add sub_group_broadcast (#184846)
Commit: a28699bdcc5fb9075a2f24db6fc89f1f0c920b7d
https://github.com/llvm/llvm-project/commit/a28699bdcc5fb9075a2f24db6fc89f1f0c920b7d
Author: Amina Chabane <amina.chabane at arm.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedNeoverseN1.td
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N1-basic-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Neoverse/N1-forwarding.s
Log Message:
-----------
[AArch64] Model late forwarding in Neoverse N1 (#177590)
Based on the [N1
SWOG](https://developer.arm.com/documentation/109896/latest/), this
patch introduces late forwarding to Neoverse N1.
Commit: 7bce678ec1b60667790914a7a35b75f0bd03a650
https://github.com/llvm/llvm-project/commit/7bce678ec1b60667790914a7a35b75f0bd03a650
Author: Asher Dobrescu <asher.dobrescu at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
A bolt/test/AArch64/check-symbol-area.s
Log Message:
-----------
[BOLT] Check if symbol is in data area of function (#160143)
There are cases in which `getEntryIDForSymbol` is called, where the
given Symbol is in a constant island, and so BOLT can not find its
function. This causes BOLT to reach `llvm_unreachable("symbol not
found")` and crash. This patch adds a check that avoids this crash.
Commit: 2205a23801d4e0cca3cd28670b611a7f6adbeb06
https://github.com/llvm/llvm-project/commit/2205a23801d4e0cca3cd28670b611a7f6adbeb06
Author: Zhijie Wang <yesterda9 at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
M clang/test/Sema/Inputs/lifetime-analysis.h
M clang/test/Sema/warn-lifetime-safety.cpp
Log Message:
-----------
[LifetimeSafety] Fix false negative for GSL Owner type with arrow operator (#184725)
`shouldTrackImplicitObjectArg` tracks whether a method call's return
value depends on the implicit object's lifetime. It already handles
operator* on Owner types (return reference), but misses operator->
(return pointer). This fix adds `OO_Arrow` handling for Owner types.
Only affects CFG (-Wlifetime-safety) analysis paths.
Fixes #184361
Commit: 9ce9e4e6c19bed1781db2c20fae7f24c905438e9
https://github.com/llvm/llvm-project/commit/9ce9e4e6c19bed1781db2c20fae7f24c905438e9
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/lib/Sema/SemaDeclCXX.cpp
A clang/test/CodeGenCXX/attr-exclude_from_explicit_instantiation.exclude_from_dllexport.cpp
A clang/test/CodeGenCXX/attr-exclude_from_explicit_instantiation.exclude_from_dllimport.cpp
Log Message:
-----------
[Clang] Apply exclude_from_explicit_instantiation to dllimport/dllexport (#168171)
Attaching `__declspec(dllexport/dllimport)` to explicit instantiation
declaration made its whole member instantiated even if they were
`__attribute__((__exclude_from_explicit_instantation__))`.
Such members should not be instantiated nor be exported to avoid symbol
leakage or duplication.
Fixes #40363
Fixes #66909
Commit: fee23630db954d75e4a7661cb2c2c56e488aea21
https://github.com/llvm/llvm-project/commit/fee23630db954d75e4a7661cb2c2c56e488aea21
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/test/CodeGen/Mips/optimizeAndPlusShift.ll
M llvm/test/MC/Mips/elf_header.s
Log Message:
-----------
[MIPS] Fix duplicate RUN lines in tests (#182276)
Commit: c044b8b59d8e27070f1ebe4d66733de498a86efc
https://github.com/llvm/llvm-project/commit/c044b8b59d8e27070f1ebe4d66733de498a86efc
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
A mlir/test/Dialect/Affine/SuperVectorize/vectorize_inner_loop_dep_bounds.mlir
Log Message:
-----------
[mlir][affine] Fix crash in super-vectorize when inner loop bounds depend on outer IV (#184770)
When affine-super-vectorize creates the vectorized version of an inner
loop whose bounds reference the outer loop's induction variable, it was
passing the original scalar bound operands directly to the new vector
AffineForOp. These operands reference block arguments of the scalar
outer loop, which are destroyed when the scalar loop nest is erased,
triggering a use_empty() assertion.
Fix this by replacing the bound operands with their scalar value
replacements (via getScalarValueReplacementsFor) before creating the new
vector loop, ensuring the vector inner loop uses the vector outer loop's
induction variable.
Fixes #121321
Commit: 9f1b094fba09590bae54af010cad7780eba764d5
https://github.com/llvm/llvm-project/commit/9f1b094fba09590bae54af010cad7780eba764d5
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/BufferOptimizations.cpp
M mlir/test/Dialect/Bufferization/Transforms/buffer-hoisting.mlir
Log Message:
-----------
[mlir][bufferization] Fix crash in buffer-hoisting on unreachable blocks (#184094)
`BufferAllocationHoisting::hoist()` iterates over all allocations in a
function and tries to move them to their common dominator block. When an
allocation is in an unreachable basic block (a block that cannot be
reached from the function entry), the LLVM dominator tree has no node
for that block. Two subsequent calls would then crash:
1. `findCommonDominator` calls `findNearestCommonDominator` which calls
the LLVM DomTree equivalent and hits the assertion `NodeA && "A must be
in the tree"`.
2. `findPlacementBlock` calls `dominators.getNode(currentBlock)` on the
unreachable block, which returns null, causing a null dereference on
`->getIDom()`.
Fix by skipping allocations whose parent block is not reachable from the
entry block of the function. Such allocations are in dead code and there
is no need to hoist them.
Fixes #118445
Assisted-by: Claude Code
Commit: 2a117f7e13459d966d8c755edca4f32ec1108f83
https://github.com/llvm/llvm-project/commit/2a117f7e13459d966d8c755edca4f32ec1108f83
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/test/Dialect/Affine/invalid.mlir
Log Message:
-----------
[mlir][affine] Reject affine.for with step <= 0 in parser and verifier (#184158)
An affine.for loop with step 0 caused a crash in affine-loop-unroll due
to a division-by-zero assertion in getTripCountMapAndOperands:
llvm::divideCeilSigned(loopSpan, step) -- step == 0
The parser already rejected negative steps but allowed zero through.
Fix this by:
- Updating the parser to reject any step <= 0 (not only negative).
- Adding a verifier check in AffineForOp::verifyRegions() so that loops
constructed programmatically with an invalid step are caught before any
analysis pass runs.
- Adding a defensive early-return guard in getTripCountMapAndOperands
for step <= 0, consistent with getTrivialConstantTripCount which already
performs this guard.
Fixes #107812
Assisted-by: Claude Code
Commit: 0d2c7d71744108fcfcbfb6258994da2c008314ba
https://github.com/llvm/llvm-project/commit/0d2c7d71744108fcfcbfb6258994da2c008314ba
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/test/Dialect/SCF/transform-ops.mlir
Log Message:
-----------
[mlir][scf] Fix crash in loopUnrollJamByFactor for zero trip count loops (#184620)
When loopUnrollJamByFactor is called on a loop with a zero trip count
(e.g., lb == ub), the function correctly detects that the unroll factor
exceeds the trip count and adjusts it to match. However, capping the
factor at 0 leads to unsigned underflow when computing the SmallVector
size for `operandMaps(unrollJamFactor - 1)`, resulting in an attempt to
allocate ~2^64 elements and an immediate crash.
Add an early return when the trip count is zero, matching the pattern
already used by loopUnrollFull. A loop that executes zero times needs no
unrolling.
Fixes #103703
Commit: 119c466e1228f4e5f80953fc6490529f227892f4
https://github.com/llvm/llvm-project/commit/119c466e1228f4e5f80953fc6490529f227892f4
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M lldb/source/Host/windows/ConnectionGenericFileWindows.cpp
Log Message:
-----------
[LLDB][Windows] Initialize `read_result` (#184874)
When I ran `lldb -o "b main" -o r`, the process crashed at `if
(!read_result || m_read_pending)`, because `read_result` was
uninitialized.
As a sidenote: MSVC inserts calls to `_RTC_UninitUse` which causes a
pretty error message when debugging with VS:
> Exception has occurred: The variable 'read_result' is being used
without being initialized.
> Run-Time Check Failure [#]3 - The variable 'read_result' is being used
without being initialized.
With LLDB, you get
```
(lldb) r
Process 12344 stopped
* thread #9, stop reason = Exception 0x80000003 encountered at address 0x7ff96516c96a
frame #0: 0x00007ff96516c96b liblldb.dll`failwithmessage(retaddr=0x00007ff95742cb02, crttype=1, errnum=3, msg="The variable 'read_result' is being used without being initialized.") at error.cpp:210
```
We could improve on the stop reason that's displayed.
Commit: d64a9fe7814d4061aaaf067fef5b1393f4f1529e
https://github.com/llvm/llvm-project/commit/d64a9fe7814d4061aaaf067fef5b1393f4f1529e
Author: Kito Cheng <kito.cheng at sifive.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/riscv.c
Log Message:
-----------
[compiler-rt][RISCV] Initialize length only when __init_riscv_feature… (#115449)
…_bits success
That could give us a simple way to detect `__init_riscv_feature_bits`
got fail.
See also https://github.com/riscv-non-isa/riscv-c-api-doc/pull/95
Commit: df113bd2a25197af6b99501df1975490f159e4ff
https://github.com/llvm/llvm-project/commit/df113bd2a25197af6b99501df1975490f159e4ff
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bit-manip-i512.ll
M llvm/test/CodeGen/X86/shift-i512.ll
M llvm/test/CodeGen/X86/wide-scalar-shift-by-byte-multiple-legalization.ll
Log Message:
-----------
[X86] Expand i512 shifts on AVX512 targets (#183198)
Cast to vXi64 and use EXPAND/COMPRESS to left/right shift the i64
elements into place, then use FSHL/FSHR to perform the final bitshift
Fixes: #178215
Commit: fb449d017259a6e26df6b37d3d8de7da3db5b544
https://github.com/llvm/llvm-project/commit/fb449d017259a6e26df6b37d3d8de7da3db5b544
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
A llvm/test/CodeGen/X86/andnot-sink-not.ll
Log Message:
-----------
[X86] Add baseline andnot tests for #172329 (#184991)
Commit: 9c3029774ad5d30718877286d2df776a9e28e052
https://github.com/llvm/llvm-project/commit/9c3029774ad5d30718877286d2df776a9e28e052
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M mlir/include/mlir/Interfaces/LoopLikeInterface.td
M mlir/lib/Interfaces/CMakeLists.txt
M mlir/lib/Interfaces/LoopLikeInterface.cpp
M mlir/test/Dialect/SCF/invalid.mlir
M mlir/test/Dialect/SparseTensor/invalid.mlir
A mlir/test/IR/test-branch-types-compatible.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir] Defer `LoopLikeOpInterface` type checks to `RegionBranchOpInterface` (#184116)
`LoopLikeOpInterface`'s verifier hardcodes type equality checks for
init/iter_arg/yield/result edges. This prevents downstream ops with
compatible-but-unequal types from using the pass verifier, since there
is no override mechanism.
`RegionBranchOpInterface` already verifies types along all control-flow
edges and provides an overridable `areTypesCompatible` hook. In
practice,
most loop ops implement both interfaces, making the
`LoopLikeOpInterface`
type checks redundant (the existing code even had a comment
acknowledging
this).
This PR removes the redundant type checks from `LoopLikeOpInterface`
when the op also implements `RegionBranchOpInterface`, letting that
interface handle type compatibility (including any custom
`areTypesCompatible` overrides). For ops that only implement
`LoopLikeOpInterface` (e.g. `affine.parallel`, `tosa.while_loop`), the
strict type equality checks are retained as a fallback. the verifier's
loop-result check to use structured bindings with `llvm::enumerate` and
remove dead variables.
Commit: 3c0719d32131fea5031c1efd4e7d288ecea17ae4
https://github.com/llvm/llvm-project/commit/3c0719d32131fea5031c1efd4e7d288ecea17ae4
Author: Lang Hames <lhames at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
Log Message:
-----------
[ORC] Add no-overlap check to WaitingOnGraph::ElementSet::merge. (#184992)
When merging ElementSets and ContainerElementMaps, clients can now
assert that no elements in the merged sets / maps overlap.
Use this to (1) replace a loop in the WaitingOnGraph::Coalescer that was
already checking this condition, and (2) add this check to an existing
merge that should have this property.
Commit: e16fc0ccf7ae46e68ac4e71c9b8e5c0543549409
https://github.com/llvm/llvm-project/commit/e16fc0ccf7ae46e68ac4e71c9b8e5c0543549409
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalize.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.h
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.memcpy.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.memset.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul-known-bits.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/vni8-across-blocks.ll
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.dead.ll
M llvm/test/CodeGen/AMDGPU/remat-fp64-constants.ll
Log Message:
-----------
AMDGPU/GlobalISel: Regbanklegalize rules for G_PHI (#179735)
Move G_PHI handling to AMDGPURegBankLegalizeRules.cpp.
Support all legal types.
Commit: 576213343f791899c0d94e93ff2e515b1af02eb4
https://github.com/llvm/llvm-project/commit/576213343f791899c0d94e93ff2e515b1af02eb4
Author: Gergo Stomfai <stomfaig at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Target/X86/X86TargetMachine.cpp
A llvm/test/CodeGen/X86/GlobalISel/postlegalizer-combiner-identity.mir
Log Message:
-----------
[X86][GISel] Add initial tests for x86 postleg combiner (#183844)
Moved over from AArch64 backend with adjusted registers.
Commit: 182133c3b9e17367b2a65eb2bdd7464794e69120
https://github.com/llvm/llvm-project/commit/182133c3b9e17367b2a65eb2bdd7464794e69120
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/test/CodeGen/volatile-1.c
M clang/test/CodeGenCXX/volatile-1.cpp
Log Message:
-----------
[Clang] Fix test failures with 32-bit default triple
Fix failures after #184819.
Commit: af0f3379ae3ab5ab49621c575b5ccbc5f597a449
https://github.com/llvm/llvm-project/commit/af0f3379ae3ab5ab49621c575b5ccbc5f597a449
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/builtins-x86.c
Log Message:
-----------
[CIR] Implement 'bzero' builtin lowering in terms of cir.libc.memcpy (#184835)
This showed up on a benchmark, so getting it out of the way. bzero just
does a memset-0, so this lowers to the cir.libc.memset intrinsic. Tests
added were from the classic codegen with improved check lines.
Commit: 57b0ff15880b3d5e798e07d76c3ed03289090cc8
https://github.com/llvm/llvm-project/commit/57b0ff15880b3d5e798e07d76c3ed03289090cc8
Author: Paul Osmialowski <pawel.osmialowski at arm.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/test/CodeGen/builtin_vectorelements.c
Log Message:
-----------
[clang][test] Ensure the builtin_vectorelements.c test is actually executed (#184978)
The REQUIRES statement in the builtin_vectorelements.c test case is an
all-or-nothing declaration, hence all of the required conditions would
need to be fulfilled to make this test being executed. Namely, all of
those required targets whould have to be registered, which is a rare
situstion, therefore this test case is rarely ever executed.
This patch changes those REQUIRES statements into %if conditions.
These conditions are needed for those particular targets as their test
sections do include the header files available only when those targets
are registered.
Commit: 83bff14dfd5e56544dd594cafe26cf796ce81221
https://github.com/llvm/llvm-project/commit/83bff14dfd5e56544dd594cafe26cf796ce81221
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
M mlir/test/Conversion/GPUToLLVMSPV/gpu-to-llvm-spv.mlir
Log Message:
-----------
[MLIR][GPUToLLVMSPV] Relax the width check in gpu.shuffle lowering (#183445)
This PR modifies gpu.shuffle lowering so only conduct the width check
when the subgroupsize attribute is available.
Commit: 9d25d5c4a7f7840ef7ea75633757469148f12ebf
https://github.com/llvm/llvm-project/commit/9d25d5c4a7f7840ef7ea75633757469148f12ebf
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/include/mlir/Dialect/Linalg/Passes.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/MorphOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
R mlir/test/Dialect/Linalg/roundtrip-linalg-named-ops.mlir
A mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-category-ops.mlir
A mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-named-ops.mlir
M mlir/test/Dialect/Linalg/specialize-generic-ops.mlir
Log Message:
-----------
[mlir][linalg] Generic to category specialization (#184624)
Adds initial support for generic to category linalg morphism.
Only conversion to contraction op is supported for now.
Commit: 727ace51bc4227d112a8566072210cfe2593c404
https://github.com/llvm/llvm-project/commit/727ace51bc4227d112a8566072210cfe2593c404
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/sve-pred-selectop.ll
M llvm/test/CodeGen/Thumb2/mve-minmax.ll
M llvm/test/CodeGen/Thumb2/mve-pred-selectop.ll
M llvm/test/CodeGen/Thumb2/mve-pred-selectop2.ll
M llvm/test/CodeGen/Thumb2/mve-pred-selectop3.ll
M llvm/test/CodeGen/Thumb2/mve-vecreduce-fminmax.ll
Log Message:
-----------
[AArch64][Thumb2] Add missing select FMF in tests
These currently have the "fast" flag on the fcmp, but not the
select. The transform actually needs it (or more specifically the
nsz flag) to be on the select for correctness, but due to an
implementation bug it's currently accepted on the fcmp as well.
I don't believe the intent of any of these tests is to test
specifically the "fast fcmp with non-fast select" situation,
so add the missing flag to the select instructions.
Commit: 6ecbc0c96e56602705dccada6414385d31b4a98b
https://github.com/llvm/llvm-project/commit/6ecbc0c96e56602705dccada6414385d31b4a98b
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGen/attr-counted-by-for-pointers.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/union-tbaa1.c
M clang/test/OpenMP/taskloop_strictmodifier_codegen.cpp
M flang/test/Integration/unroll-loops.f90
M flang/test/Lower/HLFIR/unroll-loops.fir
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Analysis/BasicAA/featuretest.ll
M llvm/test/CodeGen/AArch64/sme-aarch64-svcount-O3.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-uniform-intrinsic-combine.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca-addrspacecast.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-tbaa.ll
M llvm/test/DebugInfo/Generic/instcombine-phi.ll
M llvm/test/Transforms/InstCombine/2006-12-15-Range-Test.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-gatherscatter.ll
M llvm/test/Transforms/InstCombine/AMDGPU/canonicalize-add-to-gep.ll
M llvm/test/Transforms/InstCombine/AMDGPU/memcpy-from-constant.ll
M llvm/test/Transforms/InstCombine/align-addr.ll
M llvm/test/Transforms/InstCombine/and-or-icmps.ll
M llvm/test/Transforms/InstCombine/array.ll
M llvm/test/Transforms/InstCombine/assume-loop-align.ll
M llvm/test/Transforms/InstCombine/canonicalize-gep-constglob.ll
M llvm/test/Transforms/InstCombine/canonicalize-gep-mul.ll
M llvm/test/Transforms/InstCombine/cast.ll
M llvm/test/Transforms/InstCombine/cast_phi.ll
M llvm/test/Transforms/InstCombine/cast_ptr.ll
M llvm/test/Transforms/InstCombine/constant-fold-address-space-pointer.ll
M llvm/test/Transforms/InstCombine/dependent-ivs.ll
M llvm/test/Transforms/InstCombine/fmul.ll
M llvm/test/Transforms/InstCombine/gep-addrspace.ll
M llvm/test/Transforms/InstCombine/gep-alias.ll
M llvm/test/Transforms/InstCombine/gep-canonicalize-constant-indices.ll
M llvm/test/Transforms/InstCombine/gep-combine-loop-invariant.ll
M llvm/test/Transforms/InstCombine/gep-custom-dl.ll
M llvm/test/Transforms/InstCombine/gep-fold-chained-const-select.ll
M llvm/test/Transforms/InstCombine/gep-merge-constant-indices.ll
M llvm/test/Transforms/InstCombine/gep-sext.ll
M llvm/test/Transforms/InstCombine/gep-srem-to-and-deref.ll
M llvm/test/Transforms/InstCombine/gep-vector-indices.ll
M llvm/test/Transforms/InstCombine/gep-vector.ll
M llvm/test/Transforms/InstCombine/gepofconstgepi8.ll
M llvm/test/Transforms/InstCombine/gepphigep.ll
M llvm/test/Transforms/InstCombine/getelementptr.ll
M llvm/test/Transforms/InstCombine/icmp-custom-dl.ll
M llvm/test/Transforms/InstCombine/icmp-gep.ll
M llvm/test/Transforms/InstCombine/indexed-gep-compares.ll
M llvm/test/Transforms/InstCombine/known-phi-recurse.ll
M llvm/test/Transforms/InstCombine/load-bitcast-select.ll
M llvm/test/Transforms/InstCombine/load-cmp.ll
M llvm/test/Transforms/InstCombine/load.ll
M llvm/test/Transforms/InstCombine/loadstore-alignment.ll
M llvm/test/Transforms/InstCombine/loadstore-metadata.ll
M llvm/test/Transforms/InstCombine/masked_intrinsics-inseltpoison.ll
M llvm/test/Transforms/InstCombine/masked_intrinsics.ll
M llvm/test/Transforms/InstCombine/mem-gep-zidx.ll
M llvm/test/Transforms/InstCombine/memcpy-addrspace.ll
M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
M llvm/test/Transforms/InstCombine/multi-size-address-space-pointer.ll
M llvm/test/Transforms/InstCombine/narrow.ll
M llvm/test/Transforms/InstCombine/opaque-ptr.ll
M llvm/test/Transforms/InstCombine/phi.ll
M llvm/test/Transforms/InstCombine/pr38984-inseltpoison.ll
M llvm/test/Transforms/InstCombine/pr38984.ll
M llvm/test/Transforms/InstCombine/pr58901.ll
M llvm/test/Transforms/InstCombine/ptrtoint-nullgep.ll
M llvm/test/Transforms/InstCombine/remove-loop-phi-multiply-by-zero.ll
M llvm/test/Transforms/InstCombine/scalable-select.ll
M llvm/test/Transforms/InstCombine/select-gep.ll
M llvm/test/Transforms/InstCombine/shift.ll
M llvm/test/Transforms/InstCombine/sink_instruction.ll
M llvm/test/Transforms/InstCombine/store.ll
M llvm/test/Transforms/InstCombine/sub-gep.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
M llvm/test/Transforms/InstCombine/vec_phi_extract-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vec_phi_extract.ll
M llvm/test/Transforms/InstCombine/vector_gep1-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vector_gep1.ll
M llvm/test/Transforms/InstCombine/vector_gep2.ll
M llvm/test/Transforms/InstCombine/vectorgep-crash.ll
M llvm/test/Transforms/InstCombine/wcslen-1.ll
M llvm/test/Transforms/InstCombine/wcslen-3.ll
M llvm/test/Transforms/InstCombine/wcslen-5.ll
M llvm/test/Transforms/LoopSimplify/merge-exits.ll
M llvm/test/Transforms/LoopUnroll/AArch64/runtime-unroll-generic.ll
M llvm/test/Transforms/LoopUnroll/WebAssembly/basic-unrolling.ll
M llvm/test/Transforms/LoopUnroll/runtime-multiexit-heuristic.ll
M llvm/test/Transforms/LoopUnroll/runtime-unroll-remainder.ll
M llvm/test/Transforms/LoopVectorize/AArch64/aarch64-predication.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-cond-inv-loads.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-large-strides.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-overflow-checks.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vfabi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-no-scalar-interleave.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-too-many-deps.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/AArch64/uniform-args-call-variants.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse-mask4.ll
M llvm/test/Transforms/LoopVectorize/AMDGPU/packed-math.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-predselect.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions-interleave.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
M llvm/test/Transforms/LoopVectorize/ARM/tail-fold-multiple-icmps.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/vsx-tsvc-s173.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/widened-massv-call.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/widened-massv-vfabi-attr.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/addressing.ll
M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/X86/interleaving.ll
M llvm/test/Transforms/LoopVectorize/X86/metadata-enable.ll
M llvm/test/Transforms/LoopVectorize/X86/parallel-loops.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-store-accesses-with-gaps.ll
M llvm/test/Transforms/LoopVectorize/bsd_regex.ll
M llvm/test/Transforms/LoopVectorize/extract-last-veclane.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/forked-pointers.ll
M llvm/test/Transforms/LoopVectorize/gep_with_bitcast.ll
M llvm/test/Transforms/LoopVectorize/histograms.ll
M llvm/test/Transforms/LoopVectorize/if-conversion-nest.ll
M llvm/test/Transforms/LoopVectorize/if-conversion.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses-2.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses-pred-stores.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization-2.ll
M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/loop-scalars.ll
M llvm/test/Transforms/LoopVectorize/non-const-n.ll
M llvm/test/Transforms/LoopVectorize/phi-cost.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-min-max.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
M llvm/test/Transforms/LoopVectorize/reduction-predselect.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
M llvm/test/Transforms/LoopVectorize/runtime-check.ll
M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
M llvm/test/Transforms/LoopVectorize/scalar_after_vectorization.ll
M llvm/test/Transforms/LoopVectorize/trunc-reductions.ll
M llvm/test/Transforms/LoopVectorize/uniform-args-call-variants.ll
M llvm/test/Transforms/LoopVectorize/vector-geps.ll
M llvm/test/Transforms/LoopVersioningLICM/loopversioningLICM1.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-loops.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/block_scaling_decompr_8bit.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/constraint-elimination-placement.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/extra-unroll-simplifications.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-load-from-vector-loop.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/interleave_vec.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/interleavevectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/peel-multiple-unreachable-exits-for-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/reduce_submuladd.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/sinking-vs-if-conversion.ll
M llvm/test/Transforms/PhaseOrdering/SystemZ/sub-xor.ll
M llvm/test/Transforms/PhaseOrdering/X86/earlycse-after-simplifycfg-two-entry-phi-node-folding.ll
M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
M llvm/test/Transforms/PhaseOrdering/X86/merge-functions2.ll
M llvm/test/Transforms/PhaseOrdering/X86/merge-functions3.ll
M llvm/test/Transforms/PhaseOrdering/X86/pixel-splat.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr88239.ll
M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll
M llvm/test/Transforms/PhaseOrdering/X86/simplifycfg-late.ll
M llvm/test/Transforms/PhaseOrdering/X86/speculation-vs-tbaa.ll
M llvm/test/Transforms/PhaseOrdering/X86/spurious-peeling.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv-nounroll.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
M llvm/test/Transforms/PhaseOrdering/gvn-replacement-vs-hoist.ll
M llvm/test/Transforms/PhaseOrdering/loop-access-checks.ll
M llvm/test/Transforms/PhaseOrdering/loop-vectorize-bfi.ll
M llvm/test/Transforms/PhaseOrdering/lto-argpromotion-ipsccp.ll
M llvm/test/Transforms/PhaseOrdering/lto-licm.ll
M llvm/test/Transforms/PhaseOrdering/scev-custom-dl.ll
M llvm/test/Transforms/PhaseOrdering/simplifycfg-options.ll
M llvm/test/Transforms/SimpleLoopUnswitch/AMDGPU/uniform-unswitch.ll
M llvm/test/Transforms/SimplifyCFG/Hexagon/switch-to-lookup-table.ll
Log Message:
-----------
[InstCombine] Canonicalize GEP source element types (#180745)
Canonicalize GEP source element types from `%T` to `[sizeof(%T) x i8]`.
This is intended to flush out any remaining places that rely on GEP
element types, as part of the `ptradd` migration. The impact of this
change is expected to be fairly minimal (we might enable a few more
hoist/sink style folds that depend on equal GEP types).
Commit: 63fbf34a7ec5bf16551f83f172905e66071c9353
https://github.com/llvm/llvm-project/commit/63fbf34a7ec5bf16551f83f172905e66071c9353
Author: Natanael Copa <ncopa at alpinelinux.org>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
Log Message:
-----------
[Hexagon][test] Fix more tests on linux-musl (#66785)
-march=hexagon uses the default target triple and changes the arch part
of hexagon. On linux-musl, this essentially becomes
hexagon-unknown-linux-musl which has different code generation. Use
-mtriple instead.
Link:
https://github.com/llvm/llvm-project/commit/944110353b970fc99de3f012292b4c29d4d91999
Link: https://github.com/llvm/llvm-project/issues/48936
Commit: 8c9a62b9e47a3c3d31f392e7ad628d8dd7d097aa
https://github.com/llvm/llvm-project/commit/8c9a62b9e47a3c3d31f392e7ad628d8dd7d097aa
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
Log Message:
-----------
[CIR][NFC] Add missing enum element added to CIRGenStmt (#185010)
The unresolved SYCL kernel call stmt class was added in a different
patch that didn't deal with CIR. This patch adds it to the list in teh
correct spot, which is an unreachable anyway.
Commit: 23cb4e5f46026da16de2a0457a4391a1a53f62d6
https://github.com/llvm/llvm-project/commit/23cb4e5f46026da16de2a0457a4391a1a53f62d6
Author: Nuri Amari <nuri.amari99 at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
A clang/test/CodeGen/distributed-thin-lto/pass-plugin.ll
M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
M lld/ELF/LTO.cpp
M lld/MachO/LTO.cpp
M llvm/include/llvm/LTO/Config.h
M llvm/lib/LTO/LTOBackend.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
Log Message:
-----------
Support -fpass-plugin + -fthinlto-index together (#183525)
Without this change, passing -fthinlto-index causes -fpass-plugin
arguments to be ignored. We want to be able to use plugins with
distributed thin-lto, so add support for this.
Commit: 2b4a5d398fa8b25441a84ceaefcf3beb12c1d3e4
https://github.com/llvm/llvm-project/commit/2b4a5d398fa8b25441a84ceaefcf3beb12c1d3e4
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
A .github/workflows/sycl-tests.yml
Log Message:
-----------
[CI][libsycl] Add libsycl precommit testing job (#184174)
We want to add some basic precommit CI for `libsycl`, similar to what we
have for `SPIR-V`.
Here it just builds `libsycl` and runs `check-sycl`, but only non-GPU
tests will be run because this job is run on GitHub-hosted runners which
don't have a GPU, so we will never run GPU tests in this CI job.
Postcommit already runs SYCL GPU tests.
We have runtime GPU detection as part of the `check-sycl` lit setup so
everything works fine.
Currently there is only one `check-sycl` test at all and it is a GPU
test, so `check-sycl` is basically a no op, so this is de-facto build
only.
---------
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: bc077f52c9fe20f60f1319eee0d704e5265fde1b
https://github.com/llvm/llvm-project/commit/bc077f52c9fe20f60f1319eee0d704e5265fde1b
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M lldb/test/API/symstore/Makefile
M lldb/test/API/symstore/TestSymStoreLocal.py
Log Message:
-----------
[lldb] Fix lldb-x86_64-win bot after 454eb8bc0ac (#185004)
Attempt to fix forward a test failure after llvm-project#183302,
which seems to be caused by reusing build directories for test
inferiors in LLDB API tests.
Commit: c47fb2d2b70841d00c5990582355632d6607bf51
https://github.com/llvm/llvm-project/commit/c47fb2d2b70841d00c5990582355632d6607bf51
Author: Gowtham Tammana <128911018+gowtham-sarc at users.noreply.github.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Support/BLAKE3/BUILD.gn
Log Message:
-----------
[gn build] Guard the BLAKE3 assembly sources with platform (#70110)
The source_set target defined for `llvm/lib/Support/BLAKE3` has assembly
files that are specific to x64 platform. Adding the relevant conditional
for this target.
Signed-off-by: Gowtham Tammana <g.tammana at samsung.com>
Commit: 5bdf8ca14b3f0ce4565fde467d0d8aaea0b6d0e6
https://github.com/llvm/llvm-project/commit/5bdf8ca14b3f0ce4565fde467d0d8aaea0b6d0e6
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/CodeGen/X86/andnot-sink-not.ll
Log Message:
-----------
[X86] Sink NOT to be fold into ANDN (#172329)
Undoes a negation being hoisted out of a loop, so that if can be fold
into an inverted bitwise operation in the loop.
Implements #108840 on X86
Commit: 00dd77ac5bd3c5a7bb7ffbd30fb7f1ad97549067
https://github.com/llvm/llvm-project/commit/00dd77ac5bd3c5a7bb7ffbd30fb7f1ad97549067
Author: Ingo Müller <ingomueller at google.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Fix build after #184116 (#185019)
This PR adds a dependency to the `BUILD.bazel` files that is missing
after #184116.
Signed-off-by: Ingo Müller <ingomueller at google.com>
Commit: c8f0d37310d6f3c3f492ff22633b700ea5b20278
https://github.com/llvm/llvm-project/commit/c8f0d37310d6f3c3f492ff22633b700ea5b20278
Author: João Andrade <49215007+jpgianfaldoni at users.noreply.github.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/IfConversion.cpp
Log Message:
-----------
Fix IfConversion UpdatePredRedefs method documentation (#69918)
Fixes #68283
Commit: 03c34bb59eb9e34fd17cb10b1f8c70725c24983d
https://github.com/llvm/llvm-project/commit/03c34bb59eb9e34fd17cb10b1f8c70725c24983d
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.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/VPlanUnroll.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-scalar-assignment.ll
M llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
A llvm/test/Transforms/LoopVectorize/VPlan/interleave-conditional-scalar-assignment-vplan.ll
M llvm/test/Transforms/LoopVectorize/X86/conditional-scalar-assignment.ll
A llvm/test/Transforms/LoopVectorize/conditional-scalar-assignment-interleave-only.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-non-const-iv-start.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-trunc.ll
M llvm/test/Transforms/LoopVectorize/select-cmp.ll
Log Message:
-----------
[LV] Support interleaving with FindLast reductions (#184099)
This extends the existing support to work with arbitrary interleave
factors. The main change here is reworking the ExtractLastActive
VPInstruction to take a variable amount of arguments and handling it in
unrollRecipeByUF and VPInstruction::generate.
The select condition for all mask/data values in a find-last recurrence
is the true if the mask for any part is true. Because of this the masks
for inactive parts will be updated to all-false when the parts with
active lanes are updated. This ensures the mask/data for last active
element always corresponds to the greatest part with an active lane.
This means finding the last element in the middle block simply requires
chaining the `extract.last.active` to forward the result from the last
active part through any inactive parts ahead of it.
Commit: 110082566b000af791d6fed338831e276355dc68
https://github.com/llvm/llvm-project/commit/110082566b000af791d6fed338831e276355dc68
Author: nora <48135649+Noratrieb at users.noreply.github.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
Log Message:
-----------
[ConstantFolding] Consider `tanh*` to always be a noop (#70794)
fixes https://github.com/rust-lang/rust/issues/108965
Most trigonometry functions are already considered, but tanh* was
missing. According to POSIX, these functions may fail on subnormals, so
we choose not to fail, allowing the calls to be eliminated.
https://pubs.opengroup.org/onlinepubs/9699919799/functions/tanh.html
The existing test llvm/test/Transforms/InstSimplify/ConstProp/calls.ll
already eliminated the call since it marked tanh as `nounwind`, which
causes it to be eliminated as well.
I am not sure whether I should add a new test without the `nounwind` or
whether it makes more sense to remove the `nounwind` from the existing
tests.
Co-authored-by: Nilstrieb <48135649+Nilstrieb at users.noreply.github.com>
Commit: b9356b047e5a4dc853f8e2b79dcec7b865e5bad6
https://github.com/llvm/llvm-project/commit/b9356b047e5a4dc853f8e2b79dcec7b865e5bad6
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
A mlir/test/Interfaces/InferIntRangeInterface/infer-int-range-test-ops-invalid.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir][test] Reject TestWithBoundsOp with mismatched attribute width in verifier (#184093)
Add a verifier to `TestWithBoundsOp` that rejects bounds attributes
whose
bit width does not match the result type's storage width (e.g., `10 :
i64`
for an `i8` result). This makes the mismatch invalid IR rather than
silently
accepting it, preventing downstream crashes in consumers such as
`TestReflectBoundsOp::inferResultRanges` that assert on matching widths.
`inferResultRanges` is reverted to its original one-liner; the new
`verify()` method enforces the invariant at IR construction time.
A dedicated test file (`infer-int-range-test-ops-invalid.mlir`) uses
`-verify-diagnostics` to check the emitted error message.
Fixes #120882
Assisted-by: Claude Code
Commit: 9e15c6cc3358287e93a25d869a31ab14c1791dcb
https://github.com/llvm/llvm-project/commit/9e15c6cc3358287e93a25d869a31ab14c1791dcb
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/lib/Sema/SemaCUDA.cpp
A clang/test/SemaCUDA/dtor-constexpr-virtual-base.cu
Log Message:
-----------
[CUDA/HIP] Do not ignore complete destructors in abstract classes (#184894)
Summary:
The complete destructor destroys virtual base subobjects even for
abstract classes, so target inference must consider vbases when
analyzing destructors.
This was motivated by behavior observed from a bug where a constexpr
function that calls a non-constexpr function. I believe this error is
secondary, but can be fixed by this observation. The issue was the
switch to C++20 allowing allocator destructors to be constexpr began
opting the function into `__host__ __device__` contexts. This function
then called a non-constexpr function through a type-trait interface
which lead to that only having `__host__` which is illegal.
The fix offered here is to check the bases of this function and
correctly derive that it is `__host__` and not `__host__ __device__` as
was previously inferred. This should only affect cases where the *only*
member is an inherited virtual destructor. Previously we found no bases
and thus made no judgement.
Fixes: https://github.com/llvm/llvm-project/issues/184856
Commit: 8e40387ce4ad6dc1635c6cd7cdeea8157297569f
https://github.com/llvm/llvm-project/commit/8e40387ce4ad6dc1635c6cd7cdeea8157297569f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M flang-rt/CMakeLists.txt
M flang-rt/README.md
M flang-rt/cmake/modules/AddFlangRTOffload.cmake
M flang-rt/include/flang-rt/runtime/environment.h
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/external-unit.cpp
M flang-rt/lib/runtime/pseudo-unit.cpp
M flang-rt/lib/runtime/work-queue.cpp
M flang-rt/unittests/CMakeLists.txt
M flang/docs/GettingStarted.md
Log Message:
-----------
[flang-rt] Remove experiemental OpenMP offloading support (#183653)
Summary:
This, as far as I am aware, has mostly been superceded by the runtimes
build that's built on top of libc. This build links 30% faster, supports
more functionality, and uses 95% less disk space, so it seems to be the
direction we want to go.
CUDA support remains, this is not needed urgently.
Commit: 91b686dc1e0f27611ee34d0fe67b306db72e98f0
https://github.com/llvm/llvm-project/commit/91b686dc1e0f27611ee34d0fe67b306db72e98f0
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
Log Message:
-----------
[NFC][analyzer] Remove orphaned ExprEngine::getStmt() (#185020)
Its definition was removed fifteen(!) years ago by commit
b1d3d968725baf28a00b12aad760434036cbe704.
Commit: 20ded7d3b9412cf7e220ec04686bce9d4a645d19
https://github.com/llvm/llvm-project/commit/20ded7d3b9412cf7e220ec04686bce9d4a645d19
Author: tdegioanni-nvidia <tdegioanni at nvidia.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M mlir/include/mlir/IR/Operation.h
M mlir/lib/IR/Operation.cpp
M mlir/unittests/IR/OperationSupportTest.cpp
Log Message:
-----------
[mlir] Add option to cloning for different results (#184202)
With his permission while he is away, I am resurrecting @zero9178's very
first MLIR PR #65171 that adds an option to change result in the
operation cloning mechanism. This is very useful as cloning is currently
the only way to change the results of an operation.
> Since Operations cannot change the results after creation, a clone is
necessary to create new results. Doing such an operation generically has
not been possible so far. This PR therefore adds a new option to the
CloneOptions struct allowing adding changing the results of the created
operation.
>
> The caller is responsible to ensure that this is a valid operation and
setting the IRMapping accordingly afterwards if required.
---------
Co-authored-by: zero9178 <markus.boeck02 at gmail.com>
Commit: 057b7181ab5c59b0fef1d8c4ca2916b71abe8708
https://github.com/llvm/llvm-project/commit/057b7181ab5c59b0fef1d8c4ca2916b71abe8708
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
R lldb/source/Plugins/SymbolLocator/SymStore/CMakeLists.txt
R lldb/source/Plugins/SymbolLocator/SymStore/SymbolLocatorSymStore.cpp
R lldb/source/Plugins/SymbolLocator/SymStore/SymbolLocatorSymStore.h
R lldb/source/Plugins/SymbolLocator/SymStore/SymbolLocatorSymStoreProperties.td
M lldb/source/Plugins/SymbolVendor/PECOFF/SymbolVendorPECOFF.cpp
R lldb/test/API/symstore/Makefile
R lldb/test/API/symstore/TestSymStoreLocal.py
R lldb/test/API/symstore/main.c
Log Message:
-----------
Revert "[lldb] Initial plugin and test for SymbolLocatorSymStore" (#185032)
Reverts llvm/llvm-project#185004 and llvm/llvm-project#183302
Commit: 57614e8810532d994225c3fd2d2a6486e24478e7
https://github.com/llvm/llvm-project/commit/57614e8810532d994225c3fd2d2a6486e24478e7
Author: Łukasz Plewa <lukasz.plewa at intel.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M offload/plugins-nextgen/cuda/src/rtl.cpp
Log Message:
-----------
[OFFLOAD] Replace C-style casts with C++ style casts in obtainInfoImpl (#185023)
Replace C-style bool casts (bool)TmpInt with C++ functional casts
bool(TmpInt)
Commit: ad6d87da32f9d124ead257af45310348e092767c
https://github.com/llvm/llvm-project/commit/ad6d87da32f9d124ead257af45310348e092767c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
Log Message:
-----------
Revert "[ConstantFolding] Consider `tanh*` to always be a noop (#70794)"
This reverts commit 110082566b000af791d6fed338831e276355dc68.
This broke check-llvm.
Commit: 7c2f2a5573d92b088a17c0554ab19c70ea9d9c58
https://github.com/llvm/llvm-project/commit/7c2f2a5573d92b088a17c0554ab19c70ea9d9c58
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang-tools-extra/clang-doc/JSONGenerator.cpp
Log Message:
-----------
[clang-doc][NFC] Move static functions into JSONGenerator as methods (#184663)
Most of the JSONGenerator functionality was provided by a series of
static functions. This made it unwieldy to access useful properties of
ClangDocContext. As methods, they can now access a pointer to CDCtx.
An LLM was used to automate declaring the functions inside the class and
adding the scope resolution operators.
Fixes #181767
Commit: b7cc3c5682f9eca27b836dcb13cab97dbb5db626
https://github.com/llvm/llvm-project/commit/b7cc3c5682f9eca27b836dcb13cab97dbb5db626
Author: Michael Park <mcypark at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/diag-pragma-nonaffecting.cpp
Log Message:
-----------
[C++20][Modules] Do not apply `getAdjustedOffset` to file-internal byte offset. (#184956)
In https://reviews.llvm.org/D137214 and
https://reviews.llvm.org/D136624, offset adjustment logic was added to
account for the non-affecting module map files that are removed. While
the adjustment logic applies to global source location offsets, they do
not apply to file-internal offsets (relative within the file).
In `ASTWriter::WritePragmaDiagnosticMappings`, the adjustment is applied
to `StatePoint.Offset`s in `StateTransitions`. However, these offsets
are file-internal offsets, not global source location offsets. As such,
applying adjustment to these offsets result in incorrect diagnostic
behavior from the module.
Specifically, wrapping a piece of code in `pragma clang diagnostic
push/pop`, inside of a module is not applied correctly. A new test case
`diag-pragma-nonaffecting.cpp` was added to verify the broken behavior
as well as the corrected behavior with this commit.
Assisted-by: Claude Opus 4.6
Commit: 864d0452233e2f7d3772ad1170b4e0b3a7a6670c
https://github.com/llvm/llvm-project/commit/864d0452233e2f7d3772ad1170b4e0b3a7a6670c
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/test/CIR/CodeGen/clear-cache.c
M clang/test/CIR/CodeGen/complex-cast.cpp
M clang/test/CIR/CodeGen/finegrain-bitfield-access.cpp
M clang/test/CIR/CodeGen/global-array-dtor.cpp
M clang/test/CIR/CodeGen/global-init.cpp
M clang/test/CIR/CodeGen/no-odr-use.cpp
M clang/test/CIR/CodeGen/struct.c
M clang/test/CIR/CodeGen/vtt.cpp
M clang/test/CIR/CodeGenBuiltins/builtin-constant-p.c
Log Message:
-----------
[CIR] Fix checks following b3d99ac2cda4d6484ac0dff0b95403b4a8c10465. NFC
- b3d99ac2cda4d6484ac0dff0b95403b4a8c10465 makes constant folder data
layout aware. Match checks accordingly.
Commit: 220f91a05b3d5cb2c81d38afff83892f78d8a586
https://github.com/llvm/llvm-project/commit/220f91a05b3d5cb2c81d38afff83892f78d8a586
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M mlir/test/Transforms/inlining.mlir
M mlir/test/lib/Dialect/Test/TestDialectInterfaces.cpp
Log Message:
-----------
[MLIR] Fix crash in inliner when return arity mismatches call results (#185037)
The `handleTerminator` implementation in the test dialect's inliner
interface was asserting that the number of `test.return` operands equals
the number of values to replace. This assertion fires when inlining a
callee whose body uses `test.return` with values into a call site that
expects zero results (e.g., a void `llvm.func` calling a function whose
implementation uses `test.return` with operands).
Replace the assertion with a conditional early return so the inliner
gracefully skips replacement instead of crashing.
Fixes #108376
Assisted-by: Claude Code
Commit: d98d8b962b7aa9deb55d8e68d65c94ffcb3fe650
https://github.com/llvm/llvm-project/commit/d98d8b962b7aa9deb55d8e68d65c94ffcb3fe650
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M lldb/include/lldb/Host/windows/ProcessLauncherWindows.h
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
Log Message:
-----------
[lldb][windows][NFC] expose ProcessLauncherWindows methods (#183579)
Commit: 00e247ad76fdd0cd5841193950c8d4927e3015f8
https://github.com/llvm/llvm-project/commit/00e247ad76fdd0cd5841193950c8d4927e3015f8
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
A mlir/include/mlir/Dialect/UB/IR/UBMatchers.h
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/PadTilingInterface.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/IR/test-matchers.mlir
M mlir/test/lib/IR/TestMatchers.cpp
Log Message:
-----------
[mlir][ub] Add `m_Poison()` matcher (#185022)
Add a dedicated matcher for poison values in the UB dialect, similar to
`m_Constant()` for general constants. The matcher uses
`PoisonAttrInterface` for future extensibility.
Replace existing checks against `ub::PoisonAttr` with the new matcher.
Assisted-by: claude
Commit: 2ce5f91425ea90195d8de1b254aedcac94e602e8
https://github.com/llvm/llvm-project/commit/2ce5f91425ea90195d8de1b254aedcac94e602e8
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/VPlan/tail-folding.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
Log Message:
-----------
[VPlan] Optimize resume values of IVs together with other exit values. (#174239)
Remove updateScalarResumePhis and create extracts for live-outs early in
addInitialSkeleton. Instead of extracting the from the header phi
recipes for the resume values (which is incorrect), extract the last
lane of the backedege value.
Then update optimizeInductionExitUsers to optimize both the scalar
resume values for IVs and IV exit values together.
This removes the need to pass state between transforms and addresses a
TODO.
PR: https://github.com/llvm/llvm-project/pull/174239
Commit: 214246ea7936d0d4df1e76f0cfc33a0d3a33224b
https://github.com/llvm/llvm-project/commit/214246ea7936d0d4df1e76f0cfc33a0d3a33224b
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M lldb/source/Host/windows/PseudoConsole.cpp
Log Message:
-----------
[lldb][windows] fix VT sequences overriding (lldb) prompt (#183366)
This patch fixes the `(lldb)` prompt being overwriten by the cursor
position movements the ConPTY emits.
To be a complete solution we should also add a resize hook for the
console's window.
I also think that we should look into injecting conpty VT sequences
before printing the `(lldb)` prompt.
For instance, if we break on a breakpoint and the pty added a "hide
cursor" VT sequence, we should emit a `show cursor` sequence before
printing `(lldb)`. This should be done outside of this PR however.
Commit: 1fab5b65dc3f1616cbf58bb4696cf0dc5b8d522a
https://github.com/llvm/llvm-project/commit/1fab5b65dc3f1616cbf58bb4696cf0dc5b8d522a
Author: Justin Stitt <justinstitt at google.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/test/Sema/attr-overflow-behavior-constexpr.cpp
Log Message:
-----------
[Clang] Fix constexpr inc/dec operators for OverflowBehaviorTypes (#183826)
__ob_wrap types were not being handled properly by constexpr pre/post-inc/dec operations causing static_asserts() to fail unexpectedly. Fix those by checking if we're dealing with an OBT wrap type specifically.
Fixes: #183760
Commit: d442cc30a9f2bb83f75fead811050137905d9fc4
https://github.com/llvm/llvm-project/commit/d442cc30a9f2bb83f75fead811050137905d9fc4
Author: Lily Gorsheneva <bgorshenev at google.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Fix bazel build for 00e247ad76fdd0cd5841193950c8d4927e3015f8 (#185055)
Fix bazel build for 00e247ad76fdd0cd5841193950c8d4927e3015f8
Commit: 1bd075947af45a0875ffeff73a9c5dab8b80986e
https://github.com/llvm/llvm-project/commit/1bd075947af45a0875ffeff73a9c5dab8b80986e
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
A llvm/test/CodeGen/SPIRV/extensions/SPV_ALTERA_arbitrary_precision_floating_point/arbitrary_precision_floating_point_test.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_ALTERA_arbitrary_precision_floating_point/arbitrary_precision_floating_point_test_extended.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_ALTERA_arbitrary_precision_integers/SPV_ALTERA_arbitrary_precision_integers.ll
R llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_arbitrary_precision_floating_point/arbitrary_precision_floating_point_test.ll
R llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_arbitrary_precision_floating_point/arbitrary_precision_floating_point_test_extended.ll
R llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_arbitrary_precision_integers.ll
Log Message:
-----------
[NFC][SPIRV] Rename files from `SPV_INTEL_arbitrary_precision_integers/floating` to `SPV_ALTERA_arbitrary_precision_integers/floating` (#184996)
* The `SPV_INTEL_arbitrary_precision_integers` was renamed to
`SPV_ALTERA_arbitrary_precision_integers` in
https://github.com/llvm/llvm-project/pull/136085.
* The `SPV_INTEL_arbitrary_precision_floating_point` was introduced
directly as `SPV_ALTERA_arbitrary_precision_floating_point` in
https://github.com/llvm/llvm-project/pull/160054.
Commit: ec9e16444efa391577a0440e848e9148d4efa3da
https://github.com/llvm/llvm-project/commit/ec9e16444efa391577a0440e848e9148d4efa3da
Author: Joeljm1 <143259392+Joeljm1 at users.noreply.github.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/known-never-zero.ll
Log Message:
-----------
[DAG] isKnownNeverZero - add ISD::SHL DemandedElts handling and tests (#183772)
Added DemandedElts to ISD::SHL case in isKnowNeverZero and required tests
Fixes #183044
Commit: 832517f28d4b47bb03d7a310d99279552da2aa8d
https://github.com/llvm/llvm-project/commit/832517f28d4b47bb03d7a310d99279552da2aa8d
Author: William Fynn <fynnwilliam at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M libcxx/include/__functional/function.h
M libcxx/include/__type_traits/strip_signature.h
M libcxx/include/future
Log Message:
-----------
[libc++] Add alias template for __strip_signature::type (#181955)
Simplifying the internal implementation by providing a more concise
way to access the underlying type within the __strip_signature class.
Commit: cba914cecec3a8194c7eb5953e82028484d50289
https://github.com/llvm/llvm-project/commit/cba914cecec3a8194c7eb5953e82028484d50289
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64][llvm] Update Armv9.7-A dependencies (#185034)
Update Armv9.7-A dependenies:
* `FeatureF16MM` to depend on `FeatureNEON`
* `FeatureF16F32DOT` enabled by default for Armv9.7-A
Commit: 80de1b7c60894358f1aad686c64879b088e0c9c4
https://github.com/llvm/llvm-project/commit/80de1b7c60894358f1aad686c64879b088e0c9c4
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M .ci/green-dragon/clang-stage1-RA.groovy
M .ci/monolithic-linux.sh
M .github/workflows/bazel-checks.yml
M .github/workflows/containers/github-action-ci-tooling/Dockerfile
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
M .github/workflows/libcxx-run-benchmarks.yml
M .github/workflows/prune-unused-branches.py
M .github/workflows/spirv-tests.yml
A .github/workflows/sycl-tests.yml
M .github/workflows/upload-release-artifact/action.yml
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/runtime/common.h
M bolt/runtime/instr.cpp
A bolt/test/AArch64/bti-long-jmp-ignored-nop.s
M bolt/test/AArch64/bti-long-jmp-ignored.s
A bolt/test/AArch64/check-symbol-area.s
M bolt/test/AArch64/compare-and-branch-inversion.S
M bolt/test/AArch64/compare-and-branch-reorder-blocks.S
A bolt/test/AArch64/retain-local-symbols.s
M bolt/test/AArch64/skip-non-vfuncptr-reloc-in-relative-vtable.s
M bolt/test/X86/avx512-trap.test
M bolt/test/X86/dynamic-relocs-on-entry.s
M bolt/test/merge-fdata-bat-no-lbr.test
M bolt/test/merge-fdata-mixed-bat-no-lbr.test
M bolt/test/merge-fdata-mixed-mode.test
M bolt/test/merge-fdata-no-lbr-mode.test
A bolt/test/merge-fdata-skip-truncated.test
M bolt/tools/merge-fdata/merge-fdata.cpp
M bolt/unittests/Core/MCPlusBuilder.cpp
M clang-tools-extra/Maintainers.rst
M clang-tools-extra/clang-doc/CMakeLists.txt
M clang-tools-extra/clang-doc/Generators.cpp
M clang-tools-extra/clang-doc/Generators.h
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
A clang-tools-extra/clang-doc/MDMustacheGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
M clang-tools-extra/clang-doc/assets/clang-doc-mustache.css
M clang-tools-extra/clang-doc/assets/enum-template.mustache
M clang-tools-extra/clang-doc/assets/function-template.mustache
A clang-tools-extra/clang-doc/assets/md/all-files-template.mustache
A clang-tools-extra/clang-doc/assets/md/class-template.mustache
A clang-tools-extra/clang-doc/assets/md/comments-partial.mustache
A clang-tools-extra/clang-doc/assets/md/index-template.mustache
A clang-tools-extra/clang-doc/assets/md/namespace-template.mustache
A clang-tools-extra/clang-doc/benchmarks/CMakeLists.txt
A clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp
M clang-tools-extra/clang-doc/support/Utils.cpp
M clang-tools-extra/clang-doc/support/Utils.h
M clang-tools-extra/clang-doc/tool/CMakeLists.txt
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-tidy/.clang-tidy
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/NoLintDirectiveHandler.cpp
M clang-tools-extra/clang-tidy/abseil/UncheckedStatusOrAccessCheck.cpp
M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.cpp
M clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.cpp
M clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/CastingThroughVoidCheck.h
M clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/FoldInitTypeCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncorrectEnableSharedFromThisCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StdNamespaceModificationCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ThrowingStaticInitializationCheck.h
M clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/MacroUsageCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp
M clang-tools-extra/clang-tidy/google/FunctionNamingCheck.cpp
M clang-tools-extra/clang-tidy/hicpp/CMakeLists.txt
M clang-tools-extra/clang-tidy/hicpp/HICPPTidyModule.cpp
R clang-tools-extra/clang-tidy/hicpp/NoAssemblerCheck.cpp
R clang-tools-extra/clang-tidy/hicpp/NoAssemblerCheck.h
M clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.cpp
M clang-tools-extra/clang-tidy/llvm/PreferStaticOverAnonymousNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/llvm/UseNewMLIROpBuilderCheck.h
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/MisleadingBidirectionalCheck.cpp
M clang-tools-extra/clang-tidy/misc/OverrideWithDifferentVisibilityCheck.cpp
M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
M clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp
M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
M clang-tools-extra/clang-tidy/modernize/AvoidCStyleCastCheck.cpp
M clang-tools-extra/clang-tidy/modernize/DeprecatedIosBaseAliasesCheck.cpp
M clang-tools-extra/clang-tidy/modernize/IntegralLiteralExpressionMatcher.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
M clang-tools-extra/clang-tidy/modernize/RawStringLiteralCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEqualsDeleteCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
M clang-tools-extra/clang-tidy/performance/AvoidEndlCheck.cpp
M clang-tools-extra/clang-tidy/performance/CMakeLists.txt
M clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp
M clang-tools-extra/clang-tidy/performance/FasterStringFindCheck.cpp
M clang-tools-extra/clang-tidy/performance/PerformanceTidyModule.cpp
M clang-tools-extra/clang-tidy/performance/StringViewConversionsCheck.cpp
A clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.cpp
A clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.h
M clang-tools-extra/clang-tidy/portability/CMakeLists.txt
A clang-tools-extra/clang-tidy/portability/NoAssemblerCheck.cpp
A clang-tools-extra/clang-tidy/portability/NoAssemblerCheck.h
M clang-tools-extra/clang-tidy/portability/PortabilityTidyModule.cpp
M clang-tools-extra/clang-tidy/portability/SIMDIntrinsicsCheck.cpp
M clang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.cpp
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
M clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStaticCheck.cpp
M clang-tools-extra/clang-tidy/readability/DuplicateIncludeCheck.cpp
M clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
M clang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp
M clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
M clang-tools-extra/clang-tidy/readability/OperatorsRepresentationCheck.cpp
M clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantPreprocessorCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantTypenameCheck.cpp
M clang-tools-extra/clang-tidy/readability/ReferenceToConstructedTemporaryCheck.cpp
M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.h
M clang-tools-extra/clang-tidy/utils/Matchers.h
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/Selection.cpp
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/index/Ref.cpp
M clang-tools-extra/clangd/index/Ref.h
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/fold-init-type.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/no-assembler.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/const-correctness.rst
M clang-tools-extra/docs/clang-tidy/checks/performance/faster-string-find.rst
M clang-tools-extra/docs/clang-tidy/checks/performance/string-view-conversions.rst
A clang-tools-extra/docs/clang-tidy/checks/performance/use-std-move.rst
A clang-tools-extra/docs/clang-tidy/checks/portability/no-assembler.rst
M clang-tools-extra/include-cleaner/lib/CMakeLists.txt
M clang-tools-extra/modularize/ModularizeUtilities.cpp
M clang-tools-extra/test/clang-doc/basic-project.mustache.test
M clang-tools-extra/test/clang-doc/builtin_types.cpp
M clang-tools-extra/test/clang-doc/comments-in-macros.cpp
M clang-tools-extra/test/clang-doc/enum.cpp
M clang-tools-extra/test/clang-doc/index.cpp
M clang-tools-extra/test/clang-doc/json/class-requires.cpp
M clang-tools-extra/test/clang-doc/json/class-specialization.cpp
M clang-tools-extra/test/clang-doc/json/class-template.cpp
M clang-tools-extra/test/clang-doc/json/class.cpp
M clang-tools-extra/test/clang-doc/json/concept.cpp
M clang-tools-extra/test/clang-doc/json/function-requires.cpp
M clang-tools-extra/test/clang-doc/json/method-template.cpp
M clang-tools-extra/test/clang-doc/json/namespace.cpp
M clang-tools-extra/test/clang-doc/namespace.cpp
M clang-tools-extra/test/clang-doc/templates.cpp
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/initializer_list
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/memory
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/system-header-simulation.h
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/vector
M clang-tools-extra/test/clang-tidy/checkers/abseil/cleanup-ctad.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/string-find-str-contains.cpp
M clang-tools-extra/test/clang-tidy/checkers/boost/Inputs/use-ranges/fake_std.h
M clang-tools-extra/test/clang-tidy/checkers/boost/use-ranges-pipe.cpp
M clang-tools-extra/test/clang-tidy/checkers/boost/use-ranges.cpp
M clang-tools-extra/test/clang-tidy/checkers/boost/use-to-string.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/assignment-in-if-condition-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/bitwise-pointer-cast-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/branch-clone-fallthrough.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/branch-clone-if-constexpr-template.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/casting-through-void.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/dangling-handle.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/default-operator-new-on-overaligned-type-cpp17.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/default-operator-new-on-overaligned-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-prefixsuffixname.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-consteval.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/fold-init-type.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-options.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/incorrect-enable-if.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/multiple-new-in-one-expression.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-bitfields.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/nondeterministic-pointer-iteration-order.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-memcpy-safe-cxx.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-memcpy-safe-other.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-no-safe-functions.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-value-dependent-crash.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-wmemcpy-safe-cxx.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/signal-handler.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-char-misuse-no-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-container.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-disable-options.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/std-namespace-modification.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/string-constructor-options.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/string-integer-assignment.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/stringview-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-memory-comparison.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-missing-comma-options.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare-custom-functions.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-stringview-data-usage-options.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unchecked-optional-access.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unhandled-exception-at-new.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-return-value-checked-return-types.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-return-value.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-reference-coroutine-parameters.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward-custom-function.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/no-suspend-with-lock.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/rvalue-reference-param-not-moved-custom-function.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/rvalue-reference-param-not-moved.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/readability-namespace-comments-missing-nested-namespaces.cpp
R clang-tools-extra/test/clang-tidy/checkers/hicpp/no-assembler.cpp
M clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-integer-literals.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/use-ranges.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-parameters.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/coroutine-hostile-raii.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/misplaced-const-cxx17.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/static-assert.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/throw-by-value-catch-by-reference-options.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unconventional-assign-operator-cxx23.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls-module.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-consteval.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-module.cpp
R clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/smart-ptr/initializer_list.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-ranges/fake_std.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-c++20.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-reverse.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-rewritten-binop.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-default-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-inaccessible-ctors.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/replace-random-shuffle.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/return-braced-init-list.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/shrink-to-fit.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/type-traits-GH153649.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-constraints-first-greatergreater.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-designated-initializers.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace-ignore-implicit-constructors.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-delete.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges-pipe.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-custom.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-numbers.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-absl.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-custom.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas-cxx14.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/faster-string-find.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-string-concatenation.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-vector-operation.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-move-constructor.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/string-view-conversions.cpp
A clang-tools-extra/test/clang-tidy/checkers/performance/use-std-move.cpp
A clang-tools-extra/test/clang-tidy/checkers/portability/no-assembler.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements-consteval-if.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements-constexpr-if-templates.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-data-pointer.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/convert-member-functions-to-static-deducing-this.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-if-consteval.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-if-constexpr.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/function-cognitive-complexity.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/function-size-variables-c++17.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-length-ignored-exception-variable-names.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-length-ignored-loop-counter-names.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-length-ignored-parameter-names.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-length-minimum-exception-name-length.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-length-minimum-loop-counter-name-length.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-length-minimum-parameter-name-length.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-length-minimum-variable-name-length.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-anon-record-fields.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-case-match.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-outofline.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration-cxx17.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/magic-numbers-ignore-all-float.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/qualified-auto-add-const-to-qualified.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/qualified-auto-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/qualified-auto.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-casting.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-inline-specifier.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-parentheses-allowed-decls.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-preprocessor.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-smartptr-get.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-string-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-typename.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-cxx23.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-subscript-expr.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/suspicious-call-argument-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/use-std-min-max-include-style.cpp
M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
M clang-tools-extra/unittests/clang-doc/GeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
M clang-tools-extra/unittests/clang-tidy/LexerUtilsTest.cpp
A clang/.clang-format-ignore
M clang/cmake/modules/AddClang.cmake
M clang/docs/AddressSanitizer.rst
M clang/docs/CMakeLists.txt
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ClangIRCleanupAndEHDesign.md
M clang/docs/LanguageExtensions.rst
M clang/docs/Modules.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/index.rst
M clang/include/clang/APINotes/APINotesReader.h
M clang/include/clang/AST/APValue.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTDumperUtils.h
M clang/include/clang/AST/ASTMutationListener.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/ASTStructuralEquivalence.h
M clang/include/clang/AST/Attr.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/NestedNameSpecifierBase.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/StmtSYCL.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/AST/TypeBase.h
A clang/include/clang/AST/pch.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
A clang/include/clang/Analysis/Scalable/EntityLinker/EntityLinker.h
A clang/include/clang/Analysis/Scalable/EntityLinker/EntitySummaryEncoding.h
A clang/include/clang/Analysis/Scalable/EntityLinker/LUSummary.h
A clang/include/clang/Analysis/Scalable/EntityLinker/LUSummaryEncoding.h
A clang/include/clang/Analysis/Scalable/EntityLinker/TUSummaryEncoding.h
M clang/include/clang/Analysis/Scalable/Model/BuildNamespace.h
M clang/include/clang/Analysis/Scalable/Model/EntityId.h
M clang/include/clang/Analysis/Scalable/Model/EntityLinkage.h
M clang/include/clang/Analysis/Scalable/Model/EntityName.h
M clang/include/clang/Analysis/Scalable/Model/PrivateFieldNames.def
M clang/include/clang/Analysis/Scalable/Model/SummaryName.h
M clang/include/clang/Analysis/Scalable/Serialization/JSONFormat.h
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
A clang/include/clang/Analysis/Scalable/Support/ErrorBuilder.h
A clang/include/clang/Analysis/Scalable/Support/FormatProviders.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/include/clang/Basic/BuiltinsAMDGPU.td
A clang/include/clang/Basic/BuiltinsAMDGPUDocs.td
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticCommentKinds.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/LangStandard.h
M clang/include/clang/Basic/OffloadArch.h
M clang/include/clang/Basic/OpenCLExtensions.def
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Basic/TargetCXXABI.h
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/CIR/CIRToCIRPasses.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Dialect/Passes.h
M clang/include/clang/CIR/Dialect/Passes.td
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/DependencyScanning/DependencyScannerImpl.h
M clang/include/clang/DependencyScanning/DependencyScanningWorker.h
M clang/include/clang/DependencyScanning/InProcessModuleCache.h
M clang/include/clang/DependencyScanning/ModuleDepCollector.h
M clang/include/clang/Driver/Job.h
A clang/include/clang/Driver/ModulesDriver.h
M clang/include/clang/Driver/RocmInstallationDetector.h
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/ChainedDiagnosticConsumer.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Lex/HeaderSearchOptions.h
M clang/include/clang/Lex/ModuleMap.h
M clang/include/clang/Lex/ModuleMapFile.h
M clang/include/clang/Options/Options.td
M clang/include/clang/Sema/ScopeInfo.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaSYCL.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h
M clang/include/clang/Tooling/DependencyScanningTool.h
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/APINotes/APINotesManager.cpp
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/APINotes/APINotesWriter.cpp
M clang/lib/APINotes/APINotesYAMLCompiler.cpp
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDumper.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvaluationResult.cpp
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/InterpState.cpp
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Record.cpp
M clang/lib/AST/ByteCode/Record.h
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/CommentSema.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/ExprConstShared.h
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/InferAlloc.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftCXXABI.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/Randstruct.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
M clang/lib/Analysis/Scalable/CMakeLists.txt
A clang/lib/Analysis/Scalable/EntityLinker/EntityLinker.cpp
M clang/lib/Analysis/Scalable/Model/BuildNamespace.cpp
A clang/lib/Analysis/Scalable/Model/EntityId.cpp
A clang/lib/Analysis/Scalable/Model/EntityLinkage.cpp
M clang/lib/Analysis/Scalable/Model/EntityName.cpp
A clang/lib/Analysis/Scalable/Model/SummaryName.cpp
A clang/lib/Analysis/Scalable/ModelStringConversions.h
R clang/lib/Analysis/Scalable/Serialization/JSONFormat.cpp
A clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.cpp
A clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.h
A clang/lib/Analysis/Scalable/Serialization/JSONFormat/LUSummary.cpp
A clang/lib/Analysis/Scalable/Serialization/JSONFormat/LUSummaryEncoding.cpp
A clang/lib/Analysis/Scalable/Serialization/JSONFormat/TUSummary.cpp
A clang/lib/Analysis/Scalable/Serialization/JSONFormat/TUSummaryEncoding.cpp
A clang/lib/Analysis/Scalable/Support/ErrorBuilder.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/OffloadArch.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/AVR.cpp
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/lib/Basic/Targets/Hexagon.h
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/OSTargets.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/X86.h
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenAsm.cpp
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/lib/CIR/CodeGen/CIRGenCUDANV.cpp
M clang/lib/CIR/CodeGen/CIRGenCUDARuntime.cpp
M clang/lib/CIR/CodeGen/CIRGenCUDARuntime.h
M clang/lib/CIR/CodeGen/CIRGenCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.h
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.h
M clang/lib/CIR/CodeGen/CIRGenConstantEmitter.h
M clang/lib/CIR/CodeGen/CIRGenException.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenOpenACCRecipe.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
M clang/lib/CIR/CodeGen/CIRGenVTables.h
M clang/lib/CIR/CodeGen/EHScopeStack.h
M clang/lib/CIR/CodeGen/TargetInfo.cpp
M clang/lib/CIR/CodeGen/TargetInfo.h
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
A clang/lib/CIR/Dialect/Transforms/EHABILowering.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
A clang/lib/CIR/Dialect/Transforms/IdiomRecognizer.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRCXXABI.h
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/Lowering/CIRPasses.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBuilder.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenCLRuntime.cpp
M clang/lib/CodeGen/CGOpenCLRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenSYCL.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/ModuleBuilder.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/DependencyScanning/InProcessModuleCache.cpp
M clang/lib/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/CreateASTUnitFromArgs.cpp
M clang/lib/Driver/Distro.cpp
M clang/lib/Driver/Driver.cpp
A clang/lib/Driver/ModulesDriver.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/IntegerLiteralSeparatorFixer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/MultiplexConsumer.cpp
M clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
M clang/lib/Frontend/VerifyDiagnosticConsumer.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
A clang/lib/Headers/.clang-format-ignore
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/amdhsa_abi.h
M clang/lib/Headers/arm_acle.h
M clang/lib/Headers/avx512fintrin.h
M clang/lib/Headers/avx512fp16intrin.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/gpuintrin.h
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Headers/hvx_hexagon_protos.h
M clang/lib/Headers/ptrauth.h
M clang/lib/Headers/xmmintrin.h
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Lex/ModuleMapFile.cpp
M clang/lib/Lex/PPExpressions.cpp
M clang/lib/Lex/Pragma.cpp
M clang/lib/Options/DriverOptions.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaBoundsSafety.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOpenACCClauseAppertainment.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaSYCL.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/SemaWasm.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTCommon.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
A clang/lib/StaticAnalyzer/Checkers/UnconditionalVAArgChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VAListChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/NoDeleteChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
M clang/lib/Tooling/DependencyScanningTool.cpp
M clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/APINotes/SomeKit.apinotes
M clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Headers/SomeKit.h
M clang/test/APINotes/Inputs/Headers/Fields.apinotes
M clang/test/APINotes/Inputs/Headers/Fields.h
M clang/test/APINotes/fields.cpp
A clang/test/APINotes/objc_designated_init_protocol.m
M clang/test/AST/ByteCode/codegen-constexpr-unknown.cpp
M clang/test/AST/ByteCode/libcxx/end-primitive-array-root-lifetime.cpp
R clang/test/AST/HLSL/Texture2D-AST.hlsl
A clang/test/AST/HLSL/Texture2D-scalar-AST.hlsl
A clang/test/AST/HLSL/Texture2D-vector-AST.hlsl
M clang/test/AST/HLSL/WaveSize.hlsl
A clang/test/AST/HLSL/ast-dump-APValue-matrix.hlsl
M clang/test/AST/HLSL/matrix-constructors.hlsl
M clang/test/AST/HLSL/matrix-general-initializer.hlsl
A clang/test/AST/HLSL/matrix-init-list-row-major.hlsl
M clang/test/ASTSYCL/ast-dump-sycl-kernel-call-stmt.cpp
M clang/test/ASTSYCL/ast-dump-sycl-kernel-entry-point.cpp
A clang/test/ASTSYCL/ast-print-sycl-kernel-call.cpp
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
A clang/test/Analysis/Inputs/virtualcall-system-header.h
R clang/test/Analysis/PR37855.c
M clang/test/Analysis/auto-obj-dtors-cfg-output.cpp
R clang/test/Analysis/bitint-z3.c
R clang/test/Analysis/cstring-addrspace.c
M clang/test/Analysis/malloc-annotations.c
M clang/test/Analysis/misc-ps-region-store.cpp
M clang/test/Analysis/missing-z3-nocrash.c
M clang/test/Analysis/taint-generic.c
A clang/test/Analysis/taint-main-parameters/argc.c
A clang/test/Analysis/taint-main-parameters/envp.c
A clang/test/Analysis/taint-main-parameters/envp2.c
A clang/test/Analysis/taint-main-parameters/invalid.c
A clang/test/Analysis/taint-main-parameters/main_void.c
A clang/test/Analysis/taint-main-parameters/simple.c
A clang/test/Analysis/taint-main-parameters/simple.cpp
A clang/test/Analysis/taint-main-parameters/trusted.c
R clang/test/Analysis/unary-sym-expr-z3-refutation.c
A clang/test/Analysis/unconditional-va_arg.c
M clang/test/Analysis/virtualcall.cpp
R clang/test/Analysis/z3-crosscheck-max-attempts.cpp
R clang/test/Analysis/z3-crosscheck.c
R clang/test/Analysis/z3-refute-enum-crash.cpp
R clang/test/Analysis/z3-unarysymexpr.c
A clang/test/Analysis/z3/PR37855.c
A clang/test/Analysis/z3/bitint-z3.c
A clang/test/Analysis/z3/cstring-addrspace.c
A clang/test/Analysis/z3/unary-sym-expr-z3-refutation.c
A clang/test/Analysis/z3/z3-crosscheck-max-attempts.cpp
A clang/test/Analysis/z3/z3-crosscheck.c
A clang/test/Analysis/z3/z3-refute-enum-crash.cpp
A clang/test/Analysis/z3/z3-unarysymexpr.c
M clang/test/C/C11/n1311.c
R clang/test/CIR/CodeGen/address-of.cpp
M clang/test/CIR/CodeGen/address-space.c
M clang/test/CIR/CodeGen/alloc-size.c
A clang/test/CIR/CodeGen/arg-attrs.cpp
M clang/test/CIR/CodeGen/array-ctor.cpp
M clang/test/CIR/CodeGen/array-dtor.cpp
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/CodeGen/asm-label-inline-builtins.c
M clang/test/CIR/CodeGen/assign-operator.cpp
A clang/test/CIR/CodeGen/assume-attr.cpp
M clang/test/CIR/CodeGen/atomic-thread-fence.c
M clang/test/CIR/CodeGen/atomic.c
M clang/test/CIR/CodeGen/base-to-derived.cpp
M clang/test/CIR/CodeGen/basic.c
M clang/test/CIR/CodeGen/basic.cpp
M clang/test/CIR/CodeGen/binop.cpp
A clang/test/CIR/CodeGen/bitfield-assignment-loc.c
M clang/test/CIR/CodeGen/bitfields.c
M clang/test/CIR/CodeGen/bitfields_be.c
R clang/test/CIR/CodeGen/builtin-bit-cast.cpp
R clang/test/CIR/CodeGen/builtin-floating-point.c
R clang/test/CIR/CodeGen/builtin-memchr.c
R clang/test/CIR/CodeGen/builtins-elementwise.c
M clang/test/CIR/CodeGen/builtins-x86.c
A clang/test/CIR/CodeGen/c89-implicit-int.c
A clang/test/CIR/CodeGen/call-no-decl.c
M clang/test/CIR/CodeGen/call-via-class-member-funcptr.cpp
M clang/test/CIR/CodeGen/call.c
M clang/test/CIR/CodeGen/call.cpp
M clang/test/CIR/CodeGen/cast.cpp
A clang/test/CIR/CodeGen/cleanup-scope-tmp-with-exception.cpp
A clang/test/CIR/CodeGen/cleanup-scope-tmp.cpp
M clang/test/CIR/CodeGen/cleanup.cpp
M clang/test/CIR/CodeGen/clear-cache.c
M clang/test/CIR/CodeGen/cmp.cpp
M clang/test/CIR/CodeGen/complex-cast.cpp
M clang/test/CIR/CodeGen/complex-compound-assignment.cpp
M clang/test/CIR/CodeGen/complex-mul-div.cpp
M clang/test/CIR/CodeGen/complex.cpp
M clang/test/CIR/CodeGen/compound_assign.cpp
M clang/test/CIR/CodeGen/copy-constructor.cpp
M clang/test/CIR/CodeGen/coro-task.cpp
M clang/test/CIR/CodeGen/ctor-alias.cpp
M clang/test/CIR/CodeGen/ctor.cpp
M clang/test/CIR/CodeGen/cxx-conversion-operators.cpp
M clang/test/CIR/CodeGen/cxx-default-init.cpp
M clang/test/CIR/CodeGen/cxx-rewritten-binary-operator.cpp
M clang/test/CIR/CodeGen/cxx-special-member-attr.cpp
M clang/test/CIR/CodeGen/defaultarg.cpp
M clang/test/CIR/CodeGen/delegating-ctor.cpp
M clang/test/CIR/CodeGen/delete.cpp
M clang/test/CIR/CodeGen/derived-to-base.cpp
M clang/test/CIR/CodeGen/destructors.cpp
M clang/test/CIR/CodeGen/dtor-alias.cpp
M clang/test/CIR/CodeGen/dtors.cpp
A clang/test/CIR/CodeGen/expressions.cpp
M clang/test/CIR/CodeGen/finegrain-bitfield-access.cpp
M clang/test/CIR/CodeGen/forrange.cpp
M clang/test/CIR/CodeGen/function-to-pointer-decay.c
M clang/test/CIR/CodeGen/global-array-dtor.cpp
M clang/test/CIR/CodeGen/global-constant-storage.cpp
M clang/test/CIR/CodeGen/global-init.cpp
A clang/test/CIR/CodeGen/gnu-ptr-math.c
M clang/test/CIR/CodeGen/goto.cpp
M clang/test/CIR/CodeGen/if.cpp
A clang/test/CIR/CodeGen/implicit-value-init-expr.cpp
M clang/test/CIR/CodeGen/inline-cxx-func.cpp
M clang/test/CIR/CodeGen/integer-overflow.c
M clang/test/CIR/CodeGen/kr-func-promote.c
M clang/test/CIR/CodeGen/label-values.c
M clang/test/CIR/CodeGen/label.c
M clang/test/CIR/CodeGen/lambda-static-invoker.cpp
M clang/test/CIR/CodeGen/lambda.cpp
M clang/test/CIR/CodeGen/member-functions.cpp
M clang/test/CIR/CodeGen/multi-vtable.cpp
M clang/test/CIR/CodeGen/namespace.cpp
A clang/test/CIR/CodeGen/new-delete.cpp
M clang/test/CIR/CodeGen/new.cpp
M clang/test/CIR/CodeGen/no-odr-use.cpp
M clang/test/CIR/CodeGen/no-prototype.c
M clang/test/CIR/CodeGen/non-type-template-param.cpp
M clang/test/CIR/CodeGen/nonzeroinit-struct.cpp
M clang/test/CIR/CodeGen/nrvo.cpp
R clang/test/CIR/CodeGen/object-size.c
R clang/test/CIR/CodeGen/object-size.cpp
R clang/test/CIR/CodeGen/offset-of.cpp
M clang/test/CIR/CodeGen/opaque.cpp
A clang/test/CIR/CodeGen/openmp_default_simd_align.c
M clang/test/CIR/CodeGen/optsize-func-attr.cpp
M clang/test/CIR/CodeGen/pack-indexing.cpp
M clang/test/CIR/CodeGen/placement-new.cpp
M clang/test/CIR/CodeGen/pointer-to-data-member-cast.cpp
M clang/test/CIR/CodeGen/pointer-to-data-member.cpp
M clang/test/CIR/CodeGen/pointer-to-member-func-cast.cpp
M clang/test/CIR/CodeGen/pointer-to-member-func-cmp.cpp
M clang/test/CIR/CodeGen/pointer-to-member-func.cpp
R clang/test/CIR/CodeGen/pred-info-builtins.c
A clang/test/CIR/CodeGen/replace-global.cpp
M clang/test/CIR/CodeGen/requires-expr.cpp
M clang/test/CIR/CodeGen/size-of-vla.cpp
M clang/test/CIR/CodeGen/static-local.cpp
M clang/test/CIR/CodeGen/stmt-expr.cpp
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/switch_flat_op.cpp
M clang/test/CIR/CodeGen/ternary.cpp
M clang/test/CIR/CodeGen/throws.cpp
A clang/test/CIR/CodeGen/thunks.cpp
M clang/test/CIR/CodeGen/trivial-ctor-const-init.cpp
M clang/test/CIR/CodeGen/try-catch-tmp.cpp
M clang/test/CIR/CodeGen/try-catch.cpp
M clang/test/CIR/CodeGen/var-arg-aggregate.c
M clang/test/CIR/CodeGen/var_arg.c
M clang/test/CIR/CodeGen/variable-decomposition.cpp
M clang/test/CIR/CodeGen/vbase.cpp
M clang/test/CIR/CodeGen/vector-ext-element.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
M clang/test/CIR/CodeGen/virtual-destructor-calls.cpp
M clang/test/CIR/CodeGen/virtual-function-calls.cpp
M clang/test/CIR/CodeGen/vla.c
M clang/test/CIR/CodeGen/vtt.cpp
M clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_dup.c
M clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_len.c
M clang/test/CIR/CodeGenBuiltins/X86/avx10_2_512bf16-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx10_2bf16-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx2-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512-reduceIntrin.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512-reduceMinMaxIntrin.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512bw-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512dq-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512f-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512fp16-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vbmi2-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vlbf16-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vldq-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vlfp16-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/cmp-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/ms-x86-intrinsics.c
M clang/test/CIR/CodeGenBuiltins/X86/sse2-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/sse41-builtins.c
A clang/test/CIR/CodeGenBuiltins/builtin-address-of.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-bit-cast.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-bit.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-call.cpp
M clang/test/CIR/CodeGenBuiltins/builtin-constant-p.c
M clang/test/CIR/CodeGenBuiltins/builtin-fcmp-sse.c
A clang/test/CIR/CodeGenBuiltins/builtin-inline.c
A clang/test/CIR/CodeGenBuiltins/builtin-isinf-sign.c
A clang/test/CIR/CodeGenBuiltins/builtin-memchr.c
A clang/test/CIR/CodeGenBuiltins/builtin-new-delete.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-object-size.c
A clang/test/CIR/CodeGenBuiltins/builtin-object-size.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-offset-of.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-prefetch.c
A clang/test/CIR/CodeGenBuiltins/builtin-printf.cpp
R clang/test/CIR/CodeGenBuiltins/builtin_bit.cpp
R clang/test/CIR/CodeGenBuiltins/builtin_call.cpp
R clang/test/CIR/CodeGenBuiltins/builtin_inline.c
R clang/test/CIR/CodeGenBuiltins/builtin_new_delete.cpp
R clang/test/CIR/CodeGenBuiltins/builtin_prefetch.c
R clang/test/CIR/CodeGenBuiltins/builtin_printf.cpp
M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
M clang/test/CIR/CodeGenBuiltins/builtins-floating-point.c
A clang/test/CIR/CodeGenBuiltins/builtins-pred-info.c
A clang/test/CIR/CodeGenCUDA/kernel-args.cu
M clang/test/CIR/CodeGenCUDA/kernel-call.cu
A clang/test/CIR/CodeGenCXX/Inputs/typeinfo
A clang/test/CIR/CodeGenCXX/global-refs.cpp
A clang/test/CIR/CodeGenCXX/lvalue-nttp.cpp
A clang/test/CIR/CodeGenCXX/simple-reinterpret-const-cast.cpp
A clang/test/CIR/CodeGenCXX/sizeof-pack.cpp
A clang/test/CIR/CodeGenCXX/typeid-cxx11.cpp
A clang/test/CIR/CodeGenCXX/typeid-should-throw.cpp
A clang/test/CIR/CodeGenCXX/typeid.cpp
A clang/test/CIR/CodeGenCXX/vtable-pure-deleted-funcs.cpp
M clang/test/CIR/CodeGenHLSL/matrix-element-expr-load.hlsl
M clang/test/CIR/CodeGenOpenACC/atomic-capture.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-update.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-write.cpp
M clang/test/CIR/CodeGenOpenACC/combined-firstprivate-clause.cpp
M clang/test/CIR/CodeGenOpenACC/combined-private-clause.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-int.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/combined.cpp
M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause-templates.cpp
M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause.cpp
M clang/test/CIR/CodeGenOpenACC/compute-private-clause-templates.cpp
M clang/test/CIR/CodeGenOpenACC/compute-private-clause.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-unsigned-int.c
M clang/test/CIR/CodeGenOpenACC/declare-copy.cpp
M clang/test/CIR/CodeGenOpenACC/declare-copyin.cpp
M clang/test/CIR/CodeGenOpenACC/declare-copyout.cpp
M clang/test/CIR/CodeGenOpenACC/declare-create.cpp
M clang/test/CIR/CodeGenOpenACC/declare-deviceptr.cpp
M clang/test/CIR/CodeGenOpenACC/declare-deviceresident.cpp
M clang/test/CIR/CodeGenOpenACC/declare-link.cpp
M clang/test/CIR/CodeGenOpenACC/declare-present.cpp
M clang/test/CIR/CodeGenOpenACC/firstprivate-clause-recipes.cpp
M clang/test/CIR/CodeGenOpenACC/loop-private-clause.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-int.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop.cpp
M clang/test/CIR/CodeGenOpenACC/private-clause-array-recipes-CtorDtor.cpp
M clang/test/CIR/CodeGenOpenACC/private-clause-array-recipes-NoOps.cpp
M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-CtorDtor.cpp
M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-NoOps.cpp
M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-int.cpp
M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-recipes-CtorDtor.cpp
M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-recipes-NoOps.cpp
M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-recipes-int.cpp
M clang/test/CIR/CodeGenOpenACC/reduction-clause-recipes.cpp
M clang/test/CIR/CodeGenOpenMP/omp-llvmir.c
M clang/test/CIR/CodeGenOpenMP/parallel.c
A clang/test/CIR/IR/address-space.cir
M clang/test/CIR/IR/catch-param.cir
A clang/test/CIR/IR/func-attrs.cir
M clang/test/CIR/IR/invalid-addrspace.cir
M clang/test/CIR/IR/invalid-eh-flat.cir
M clang/test/CIR/IR/invalid-try-catch.cir
M clang/test/CIR/IR/throw.cir
M clang/test/CIR/IR/try-catch.cir
M clang/test/CIR/IR/vector.cir
M clang/test/CIR/Lowering/array.cpp
M clang/test/CIR/Lowering/basic.cpp
M clang/test/CIR/Lowering/binop-bool.cir
M clang/test/CIR/Lowering/binop-fp.cir
M clang/test/CIR/Lowering/binop-signed-int.cir
M clang/test/CIR/Lowering/binop-unsigned-int.cir
A clang/test/CIR/Transforms/eh-abi-lowering-itanium.cir
A clang/test/CIR/Transforms/flatten-cleanup-scope-eh.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-nyi.cir
A clang/test/CIR/Transforms/flatten-try-op.cir
A clang/test/CIR/Transforms/idiom-recognizer.cpp
M clang/test/CIR/Transforms/switch.cir
M clang/test/CXX/drs/cwg2947.cpp
M clang/test/CXX/drs/cwg29xx.cpp
A clang/test/ClangScanDeps/build-session-validation-relocated-modules.c
A clang/test/ClangScanDeps/modules-cycle-deadlock.c
M clang/test/ClangScanDeps/modules-relocated-mm-macro.c
A clang/test/ClangScanDeps/modules-symlink-dir-from-module-incremental.c
M clang/test/ClangScanDeps/modules-symlink-dir-from-module.c
M clang/test/CodeCompletion/included-files.cpp
M clang/test/CodeGen/2005-01-02-ConstantInits.c
M clang/test/CodeGen/AArch64/cpu-supports-target.c
M clang/test/CodeGen/AArch64/cpu-supports.c
M clang/test/CodeGen/AArch64/fmv-detection.c
M clang/test/CodeGen/AArch64/fmv-explicit-priority.c
M clang/test/CodeGen/AArch64/fmv-mix-explicit-implicit-default.c
M clang/test/CodeGen/AArch64/fmv-resolver-emission.c
M clang/test/CodeGen/AArch64/fmv-unreachable-version.c
M clang/test/CodeGen/AArch64/ls64.c
M clang/test/CodeGen/AArch64/mixed-target-attributes.c
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon-misc.c
M clang/test/CodeGen/AArch64/neon/fullfp16.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
A clang/test/CodeGen/AArch64/pcdphint-atomic-store.c
M clang/test/CodeGen/AArch64/targetattr.c
M clang/test/CodeGen/AArch64/varargs.c
M clang/test/CodeGen/LoongArch/targetattr-la32.c
M clang/test/CodeGen/LoongArch/targetattr-la64.c
M clang/test/CodeGen/PowerPC/ppc-emmintrin.c
M clang/test/CodeGen/PowerPC/ppc-xmmintrin.c
M clang/test/CodeGen/PowerPC/ppc32-dwarf.c
M clang/test/CodeGen/PowerPC/ppc64-dwarf.c
M clang/test/CodeGen/RISCV/builtin-cpu-is.c
M clang/test/CodeGen/RISCV/ntlh-intrinsics/riscv32-zihintntl.c
M clang/test/CodeGen/RISCV/riscv-inline-asm.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4su_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4su_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4u_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4u_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4us_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4su_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4su_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4u_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4u_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4us_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4su_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4su_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4u_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4u_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4us_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4su_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4su_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4u_vv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4u_vx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4us_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/non-overloaded/vqdot_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/non-overloaded/vqdot_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/non-overloaded/vqdotsu_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/non-overloaded/vqdotsu_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/non-overloaded/vqdotu_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/non-overloaded/vqdotu_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/non-overloaded/vqdotus_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/overloaded/vqdot_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/overloaded/vqdot_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/overloaded/vqdotsu_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/overloaded/vqdotsu_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/overloaded/vqdotu_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/overloaded/vqdotu_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/non-policy/overloaded/vqdotus_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/non-overloaded/vqdot_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/non-overloaded/vqdot_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/non-overloaded/vqdotsu_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/non-overloaded/vqdotsu_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/non-overloaded/vqdotu_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/non-overloaded/vqdotu_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/non-overloaded/vqdotus_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/overloaded/vqdot_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/overloaded/vqdot_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/overloaded/vqdotsu_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/overloaded/vqdotsu_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/overloaded/vqdotu_vv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/overloaded/vqdotu_vx.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvqdotq/policy/overloaded/vqdotus_vx.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/vlenb.c
M clang/test/CodeGen/Sparc/sparcv9-dwarf.c
M clang/test/CodeGen/SystemZ/align-systemz-02.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-00.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-01.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-03b.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-04.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-05.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-06.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-07.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-08.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-08b.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-09.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-09b.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-11.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-12.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-13.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-14.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-15.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-16.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-17.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-17b.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-18.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-19.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-20.cpp
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-21.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-22.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-23.c
M clang/test/CodeGen/WebAssembly/builtins-table-externref.c
M clang/test/CodeGen/X86/avx10_2bf16-builtins.c
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/avx512fp16-builtins.c
M clang/test/CodeGen/X86/sse-builtins.c
M clang/test/CodeGen/X86/sse2-builtins.c
M clang/test/CodeGen/X86/va-arg-sse.c
M clang/test/CodeGen/aix-builtin-cpu-is.c
M clang/test/CodeGen/aix-builtin-cpu-supports.c
M clang/test/CodeGen/alloc-token-lower.c
M clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGen/amdgpu-abi-version.c
M clang/test/CodeGen/amdgpu-address-spaces.cpp
M clang/test/CodeGen/arm-metadata.c
M clang/test/CodeGen/arm_acle.c
M clang/test/CodeGen/asm-goto2.c
A clang/test/CodeGen/asm_incbin.c
M clang/test/CodeGen/atomic-arm64.c
M clang/test/CodeGen/atomic-ops.c
M clang/test/CodeGen/attr-counted-by-for-pointers.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/attr-cpuspecific.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-clones-riscv.c
M clang/test/CodeGen/attr-target-clones.c
M clang/test/CodeGen/attr-target-version-riscv.c
M clang/test/CodeGen/big-atomic-ops.c
M clang/test/CodeGen/builtin-cpu-is.c
M clang/test/CodeGen/builtin-cpu-supports.c
M clang/test/CodeGen/builtin_vectorelements.c
M clang/test/CodeGen/builtins-arm64.c
M clang/test/CodeGen/builtins-reduction-math.c
A clang/test/CodeGen/c23-constexpr-member-access.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-incdec.c
M clang/test/CodeGen/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.c
M clang/test/CodeGen/catch-nullptr-and-nonzero-offset.c
A clang/test/CodeGen/cfi-icall-with-abi-tag.cpp
M clang/test/CodeGen/clear_cache.c
M clang/test/CodeGen/complex-strictfp.c
M clang/test/CodeGen/complex.c
M clang/test/CodeGen/distributed-thin-lto/cfi-devirt.ll
M clang/test/CodeGen/distributed-thin-lto/cfi.ll
A clang/test/CodeGen/distributed-thin-lto/pass-plugin.ll
M clang/test/CodeGen/linux-kernel-struct-union-initializer.c
M clang/test/CodeGen/linux-kernel-struct-union-initializer2.c
M clang/test/CodeGen/memcpy-inline-builtin.c
M clang/test/CodeGen/mips-inline-asm-modifiers.c
M clang/test/CodeGen/multi-aix-builtin-cpu-supports.c
M clang/test/CodeGen/nvptx_attributes.c
M clang/test/CodeGen/object-size.c
M clang/test/CodeGen/packed-nest-unpacked.c
A clang/test/CodeGen/prefalign.c
M clang/test/CodeGen/ptrauth-function-init.c
M clang/test/CodeGen/ptrauth-module-flags.c
M clang/test/CodeGen/ptrauth-restricted-intptr-qualifier.c
M clang/test/CodeGen/sanitize-metadata-ignorelist.c
M clang/test/CodeGen/sanitize-metadata-nosanitize.c
M clang/test/CodeGen/sanitize-type-globals.cpp
M clang/test/CodeGen/stack-protector-guard.c
M clang/test/CodeGen/thinlto-funcattr-prop.ll
M clang/test/CodeGen/ubsan-function-sugared.cpp
M clang/test/CodeGen/ubsan-function.cpp
M clang/test/CodeGen/unaligned-expr.c
M clang/test/CodeGen/union-tbaa1.c
M clang/test/CodeGen/volatile-1.c
M clang/test/CodeGen/volatile-2.c
M clang/test/CodeGen/volatile-complex.c
M clang/test/CodeGen/wasm-fp16.c
M clang/test/CodeGen/wchar-size.c
M clang/test/CodeGenCUDA/address-spaces.cu
M clang/test/CodeGenCUDA/amdgpu-kernel-attrs.cu
M clang/test/CodeGenCUDA/const-var.cu
M clang/test/CodeGenCUDA/constexpr-variables.cu
M clang/test/CodeGenCUDA/convergent.cu
A clang/test/CodeGenCUDA/device-const-var-linkage.cu
M clang/test/CodeGenCUDA/host-used-device-var.cu
M clang/test/CodeGenCUDA/managed-var.cu
M clang/test/CodeGenCXX/2011-12-19-init-list-ctor.cpp
M clang/test/CodeGenCXX/alloc-token-pointer.cpp
M clang/test/CodeGenCXX/apple-kext-indirect-call-2.cpp
M clang/test/CodeGenCXX/apple-kext-indirect-call.cpp
M clang/test/CodeGenCXX/apple-kext-indirect-virtual-dtor-call.cpp
A clang/test/CodeGenCXX/attr-exclude_from_explicit_instantiation.exclude_from_dllexport.cpp
A clang/test/CodeGenCXX/attr-exclude_from_explicit_instantiation.exclude_from_dllimport.cpp
M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
M clang/test/CodeGenCXX/attr-target-clones-riscv.cpp
M clang/test/CodeGenCXX/attr-target-version-riscv.cpp
M clang/test/CodeGenCXX/attr-target-version.cpp
M clang/test/CodeGenCXX/blocks-cxx11.cpp
M clang/test/CodeGenCXX/builtin-invoke.cpp
M clang/test/CodeGenCXX/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist-pr12086.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp
M clang/test/CodeGenCXX/cxx11-initializer-aggregate.cpp
M clang/test/CodeGenCXX/cxx1y-initializer-aggregate.cpp
M clang/test/CodeGenCXX/cxx1z-decomposition.cpp
M clang/test/CodeGenCXX/cxx1z-initializer-aggregate.cpp
M clang/test/CodeGenCXX/cxx2a-consteval.cpp
A clang/test/CodeGenCXX/dllexport-inherited-ctor.cpp
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/finegrain-bitfield-access.cpp
M clang/test/CodeGenCXX/fmv-namespace.cpp
M clang/test/CodeGenCXX/for-range.cpp
M clang/test/CodeGenCXX/forward-declare-as-array-elem.cpp
M clang/test/CodeGenCXX/global-array-destruction.cpp
M clang/test/CodeGenCXX/inheriting-constructor.cpp
M clang/test/CodeGenCXX/labeled-break-continue.cpp
M clang/test/CodeGenCXX/mangle-lambdas.cpp
M clang/test/CodeGenCXX/member-alignment.cpp
M clang/test/CodeGenCXX/ms-inline-asm-fields.cpp
A clang/test/CodeGenCXX/ms-vdtors-devirtualization.cpp
M clang/test/CodeGenCXX/no-odr-use.cpp
M clang/test/CodeGenCXX/pfp-member-pointer-offsetof.cpp
M clang/test/CodeGenCXX/pfp-memcpy.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call-2.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-virtual-dtor-call.cpp
M clang/test/CodeGenCXX/temporaries.cpp
M clang/test/CodeGenCXX/ubsan-nullability-arg.cpp
M clang/test/CodeGenCXX/volatile-1.cpp
M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
M clang/test/CodeGenCXX/vtable-assume-load.cpp
M clang/test/CodeGenCXX/vtt-address-space.cpp
A clang/test/CodeGenCoroutines/coro-gro3.cpp
M clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp
M clang/test/CodeGenHIP/amdgpu-barrier-type.hip
A clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-cvt-f16.hip
A clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-wmma-f16.hip
A clang/test/CodeGenHIP/debug-info-language-hip.hip
M clang/test/CodeGenHIP/default-attributes.hip
M clang/test/CodeGenHIP/hip_weak_alias.cpp
M clang/test/CodeGenHIP/sanitize-undefined-null.hip
M clang/test/CodeGenHLSL/ArrayAssignable.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixConstructor.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/MatrixInitializerListOrder.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSplat.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixToAndFromVectorConstructors.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/VectorElementwiseCast.hlsl
M clang/test/CodeGenHLSL/BoolMatrix.hlsl
A clang/test/CodeGenHLSL/builtins/WaveActiveAllEqual.hlsl
M clang/test/CodeGenHLSL/builtins/f16tof32-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/f16tof32.hlsl
M clang/test/CodeGenHLSL/builtins/f32tof16-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/f32tof16.hlsl
M clang/test/CodeGenHLSL/group_shared.hlsl
M clang/test/CodeGenHLSL/inline-functions.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-Gather.hlsl
M clang/test/CodeGenHLSL/resources/cbuffer_geps.hlsl
M clang/test/CodeGenObjC/aarch64-sve-types.m
A clang/test/CodeGenObjC/block-layout-section.m
M clang/test/CodeGenObjC/super-message-fragileabi.m
R clang/test/CodeGenOpenCL/.gdb_history
M clang/test/CodeGenOpenCL/amdgpu-cluster-dims.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-ieee.cl
M clang/test/CodeGenOpenCL/atomic-ops.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-tensor-load-store.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gws-insts.cl
M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
M clang/test/CodeGenSYCL/function-attrs.cpp
M clang/test/CodeGenSYCL/kernel-caller-entry-point.cpp
A clang/test/CodeGenSYCL/sycl-kernel-entry-point-exceptions.cpp
M clang/test/CodeGenSYCL/unique_stable_name_windows_diff.cpp
A clang/test/DebugInfo/CXX/callsite-base.cpp
A clang/test/DebugInfo/CXX/callsite-derived.cpp
A clang/test/DebugInfo/CXX/callsite-edges.cpp
M clang/test/DebugInfo/CXX/ms-novtable.cpp
A clang/test/DebugInfo/CXX/ptrauth-member-function-pointer-debuglocs.cpp
M clang/test/DebugInfo/CXX/vtable-external.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-diamond.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-multiple.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-simple-main.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-simple.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-virtual.cpp
M clang/test/DebugInfo/CXX/vtable-template-instantiation.cpp
M clang/test/DebugInfo/KeyInstructions/complex.c
R clang/test/Driver/Inputs/hip_dev_lib/oclc_correctly_rounded_sqrt_on.amdgcn.bc
R clang/test/Driver/Inputs/rocm-invalid/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
R clang/test/Driver/Inputs/rocm-invalid/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
A clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/asanrtl.bc
A clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/hip.bc
A clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/ockl.bc
A clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_abi_version_600.bc
A clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_isa_version_900.bc
A clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_wavefrontsize64_off.bc
A clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_wavefrontsize64_on.bc
A clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/ocml.bc
A clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/opencl.bc
R clang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_correctly_rounded_sqrt_off.bc
R clang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_correctly_rounded_sqrt_on.bc
R clang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
R clang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
R clang/test/Driver/Inputs/rocm_resource_dir/lib/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
R clang/test/Driver/Inputs/rocm_resource_dir/lib/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
R clang/test/Driver/Inputs/rocm_resource_dir/lib64/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
M clang/test/Driver/amdgpu-openmp-sanitize-options.c
M clang/test/Driver/amdgpu-openmp-toolchain.c
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/cl-offload.cu
M clang/test/Driver/cl-options.c
A clang/test/Driver/crash-report-no-integrated-cc1.c
M clang/test/Driver/cuda-arch-translation.cu
M clang/test/Driver/darwin-header-search-libcxx-2.cpp
M clang/test/Driver/dep-file-flag-with-multiple-offload-archs.hip
A clang/test/Driver/empty_arg.c
M clang/test/Driver/fsanitize-minimal-runtime.c
M clang/test/Driver/hip-code-object-version.hip
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/hip-gz-options.hip
M clang/test/Driver/hip-macros.hip
M clang/test/Driver/hip-offload-arch.hip
M clang/test/Driver/hip-options.hip
M clang/test/Driver/hip-sanitize-options.hip
M clang/test/Driver/hip-save-temps.hip
M clang/test/Driver/hip-spirv-backend-bindings.c
M clang/test/Driver/hip-spirv-backend-phases.c
M clang/test/Driver/hip-temps-linux.hip
M clang/test/Driver/hip-temps-windows.hip
M clang/test/Driver/hip-thinlto.hip
M clang/test/Driver/hip-toolchain-device-only.hip
M clang/test/Driver/hip-toolchain-mllvm.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/hip-toolchain-opt.hip
A clang/test/Driver/linker-wrapper-canonical-prefixes.c
M clang/test/Driver/linker-wrapper-hip-no-rdc.c
A clang/test/Driver/modules-driver-malformed-manifest.cpp
A clang/test/Driver/modules-driver-manifest-input-args.cpp
A clang/test/Driver/modules-driver-manifest-not-found.cpp
M clang/test/Driver/no-gpu-bundle-respected.hip
A clang/test/Driver/prefalign.c
A clang/test/Driver/print-enabled-extensions/riscv-xt-c910v2.c
A clang/test/Driver/print-enabled-extensions/riscv-xt-c920v2.c
M clang/test/Driver/print-multi-selection-flags.c
M clang/test/Driver/print-supported-extensions-riscv.c
A clang/test/Driver/reloc-section-sym.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Driver/rocm-detect-lib-llvm.hip
M clang/test/Driver/rocm-device-libs.cl
M clang/test/Driver/spirv-amd-toolchain.c
A clang/test/Driver/spirv-lto.c
M clang/test/Driver/spirv-openmp-toolchain.c
A clang/test/Driver/sycl-offload-jit-xarch.cpp
A clang/test/Driver/x86_64-fixed-r-register.c
M clang/test/FixIt/fixit-pragma-attribute.cpp
A clang/test/Headers/amdhsa_abi.cl
A clang/test/Headers/hexagon-hvx-ieee-headers.c
A clang/test/Index/cxx17-switch-with-initializer.cpp
A clang/test/Index/index-auto.cpp
A clang/test/Interpreter/incremental-c-implicit-error.c
A clang/test/Interpreter/incremental-c-implicit-undo.c
A clang/test/Interpreter/verify-diagnostics.cpp
A clang/test/Layout/ms-x86-bitfields-overflow.c
M clang/test/Misc/amdgcn.languageOptsOpenCL.cl
A clang/test/Misc/cc1as-reloc-section-sym.s
M clang/test/Misc/nvptx.languageOptsOpenCL.cl
R clang/test/Misc/nvptx.unsupported_core.cl
M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
A clang/test/Modules/Inputs/pch-config-macros/include/Mod1.h
A clang/test/Modules/Inputs/pch-config-macros/include/module.modulemap
M clang/test/Modules/auto-module-import.m
A clang/test/Modules/build-session-validation-relocated-modules.c
A clang/test/Modules/demote-var-def.cpp
A clang/test/Modules/deprecated-upwards-relative-path.m
A clang/test/Modules/diag-pragma-nonaffecting.cpp
M clang/test/Modules/extern_c.cpp
A clang/test/Modules/implicit-cycle-deadlock.c
A clang/test/Modules/lazy-by-header-extern.c
A clang/test/Modules/lazy-by-header-lookup.c
A clang/test/Modules/lazy-by-header-nested.c
A clang/test/Modules/lazy-by-header-private.c
A clang/test/Modules/lazy-by-header-umbrella-dir.c
A clang/test/Modules/lazy-by-header-umbrella-header.c
M clang/test/Modules/lazy-by-name-lookup.c
A clang/test/Modules/module-init-forcelly-loaded-module.cpp
A clang/test/Modules/pch-config-macros.c
A clang/test/Modules/pr149404-02.cppm
A clang/test/Modules/pr172241.cppm
A clang/test/Modules/pr178893.cppm
M clang/test/Modules/templates.mm
A clang/test/Modules/var-inst-def.cppm
M clang/test/OpenMP/amdgcn-attributes.cpp
M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
M clang/test/OpenMP/amdgcn_weak_alias.c
M clang/test/OpenMP/amdgcn_weak_alias.cpp
M clang/test/OpenMP/atomic_capture_codegen.cpp
M clang/test/OpenMP/atomic_read_codegen.c
M clang/test/OpenMP/atomic_update_codegen.cpp
M clang/test/OpenMP/atomic_write_codegen.c
M clang/test/OpenMP/cancel_codegen.cpp
M clang/test/OpenMP/for_firstprivate_codegen.cpp
M clang/test/OpenMP/for_linear_codegen.cpp
M clang/test/OpenMP/for_non_rectangular_codegen.c
M clang/test/OpenMP/for_private_codegen.cpp
M clang/test/OpenMP/for_private_reduction_codegen.cpp
A clang/test/OpenMP/for_range_loop_codegen.cpp
M clang/test/OpenMP/for_reduction_codegen.cpp
M clang/test/OpenMP/irbuilder_nested_openmp_parallel_empty.c
M clang/test/OpenMP/irbuilder_nested_parallel_for.c
M clang/test/OpenMP/irbuilder_safelen.cpp
M clang/test/OpenMP/irbuilder_safelen_order_concurrent.cpp
M clang/test/OpenMP/irbuilder_simd_aligned.cpp
M clang/test/OpenMP/irbuilder_simdlen.cpp
M clang/test/OpenMP/irbuilder_simdlen_safelen.cpp
A clang/test/OpenMP/loop_collapse_codegen.cpp
M clang/test/OpenMP/nested_loop_codegen.cpp
A clang/test/OpenMP/num_teams_clause_ast.cpp
M clang/test/OpenMP/nvptx_weak_alias.c
M clang/test/OpenMP/parallel_codegen.cpp
M clang/test/OpenMP/parallel_copyin_codegen.cpp
M clang/test/OpenMP/parallel_for_codegen.cpp
M clang/test/OpenMP/parallel_for_linear_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_lastprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/parallel_private_codegen.cpp
M clang/test/OpenMP/parallel_reduction_codegen.cpp
M clang/test/OpenMP/scope_codegen.cpp
M clang/test/OpenMP/sections_firstprivate_codegen.cpp
M clang/test/OpenMP/sections_private_codegen.cpp
M clang/test/OpenMP/sections_reduction_codegen.cpp
M clang/test/OpenMP/single_codegen.cpp
M clang/test/OpenMP/single_firstprivate_codegen.cpp
M clang/test/OpenMP/single_private_codegen.cpp
M clang/test/OpenMP/target_data_codegen.cpp
M clang/test/OpenMP/target_enter_data_codegen.cpp
M clang/test/OpenMP/target_enter_data_depend_codegen.cpp
M clang/test/OpenMP/target_exit_data_codegen.cpp
M clang/test/OpenMP/target_exit_data_depend_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
M clang/test/OpenMP/target_map_codegen_21.cpp
M clang/test/OpenMP/target_task_affinity_codegen.cpp
M clang/test/OpenMP/target_teams_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_num_teams_messages.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_num_teams_messages.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/target_update_codegen.cpp
M clang/test/OpenMP/target_update_depend_codegen.cpp
A clang/test/OpenMP/target_update_strided_ptr_variable_count_and_stride_messages.c
A clang/test/OpenMP/target_update_strided_ptr_variable_count_messages.c
A clang/test/OpenMP/target_update_strided_ptr_variable_stride_messages.c
A clang/test/OpenMP/target_update_strided_struct_ptr_messages_from.c
A clang/test/OpenMP/target_update_strided_struct_ptr_messages_to.c
A clang/test/OpenMP/target_update_strided_struct_ptr_multiple_messages_from.c
A clang/test/OpenMP/target_update_strided_struct_ptr_multiple_messages_to.c
A clang/test/OpenMP/target_update_strided_struct_ptr_partial_messages_from.c
A clang/test/OpenMP/target_update_strided_struct_ptr_partial_messages_to.c
A clang/test/OpenMP/target_update_strided_struct_variable_count_and_stride_messages.c
A clang/test/OpenMP/target_update_variable_count_and_stride_messages.c
A clang/test/OpenMP/target_vtable_omp_indirect_call_lookup.cpp
M clang/test/OpenMP/task_codegen.cpp
M clang/test/OpenMP/taskgroup_codegen.cpp
M clang/test/OpenMP/taskloop_strictmodifier_codegen.cpp
M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_num_teams_messages.cpp
M clang/test/OpenMP/threadprivate_codegen.cpp
M clang/test/OpenMP/tile_codegen_tile_for.cpp
M clang/test/Parser/pragma-attribute.cpp
M clang/test/ParserHLSL/group_shared.hlsl
M clang/test/ParserHLSL/group_shared_202x.hlsl
M clang/test/ParserOpenACC/parse-constructs.cpp
M clang/test/Preprocessor/arm64e.c
M clang/test/Preprocessor/hexagon-predefines.c
A clang/test/Preprocessor/miopt-peek-restore-header-guard.cpp
M clang/test/Preprocessor/predefined-win-macros.c
M clang/test/Preprocessor/riscv-target-features.c
A clang/test/Sema/AArch64/pcdphint-atomic-store.c
M clang/test/Sema/Inputs/lifetime-analysis.h
M clang/test/Sema/atomic-ops.c
M clang/test/Sema/attr-overflow-behavior-constexpr.cpp
M clang/test/Sema/attr-overflow-behavior-format-strings.c
M clang/test/Sema/attr-overflow-behavior-templates.cpp
M clang/test/Sema/attr-overflow-behavior.c
M clang/test/Sema/attr-overflow-behavior.cpp
M clang/test/Sema/builtin-allow-sanitize-check.c
M clang/test/Sema/builtins-elementwise-math.c
M clang/test/Sema/builtins-reduction-math.c
A clang/test/Sema/constexpr-member-access.c
M clang/test/Sema/format-strings.c
A clang/test/Sema/multi-dim-array.c
M clang/test/Sema/nonnull.c
M clang/test/Sema/scoped-atomic-ops.c
M clang/test/Sema/sugar-common-types.c
M clang/test/Sema/unroll-template-value-crash.cpp
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/Sema/warn-lifetime-safety-invalidations.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
A clang/test/SemaCUDA/dtor-constexpr-virtual-base.cu
A clang/test/SemaCXX/GH175783.cpp
A clang/test/SemaCXX/attr-exclude_from_explicit_instantiation.ignore-dllattr.cpp
A clang/test/SemaCXX/builtin_templates_invalid_parameters.cpp
M clang/test/SemaCXX/builtins-elementwise-math.cpp
M clang/test/SemaCXX/constexpr-x86-avx-builtins.cpp
M clang/test/SemaCXX/constexpr-x86-avx512f-builtins.cpp
A clang/test/SemaCXX/constexpr-x86-avx512fp16-builtins.cpp
M clang/test/SemaCXX/constexpr-x86-sse2-builtins.cpp
A clang/test/SemaCXX/coroutine-inherited-allocator.cpp
M clang/test/SemaCXX/dllexport.cpp
A clang/test/SemaCXX/gh183505.cpp
M clang/test/SemaCXX/return-noreturn.cpp
A clang/test/SemaCXX/typeid-incomplete-local-crash.cpp
M clang/test/SemaCXX/vector.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-string-view.cpp
A clang/test/SemaHLSL/BuiltIns/WaveActiveAllEqual-errors.hlsl
M clang/test/SemaHLSL/Language/ImpCastAddrSpace.hlsl
A clang/test/SemaHLSL/Language/MatrixSplatCasts.hlsl
M clang/test/SemaHLSL/MatrixElementOverloadResolution.hlsl
A clang/test/SemaHLSL/Resources/Texture2D-SampleBias.hlsl
A clang/test/SemaHLSL/Resources/Texture2D-SampleCmp.hlsl
A clang/test/SemaHLSL/Resources/Texture2D-SampleCmpLevelZero.hlsl
A clang/test/SemaHLSL/Resources/Texture2D-SampleGrad.hlsl
A clang/test/SemaHLSL/Resources/Texture2D-SampleLevel.hlsl
A clang/test/SemaHLSL/Resources/Texture2D-Sema.hlsl
A clang/test/SemaHLSL/Resources/packoffset-invalid.hlsl
A clang/test/SemaHLSL/Resources/prohibit_resource_edits.hlsl
A clang/test/SemaHLSL/Resources/resource_binding_attr_error.hlsl
A clang/test/SemaHLSL/Resources/resource_binding_attr_error_basic.hlsl
A clang/test/SemaHLSL/Resources/resource_binding_attr_error_other.hlsl
A clang/test/SemaHLSL/Resources/resource_binding_attr_error_resource.hlsl
A clang/test/SemaHLSL/Resources/resource_binding_attr_error_silence_diags.hlsl
A clang/test/SemaHLSL/Resources/resource_binding_attr_error_space.hlsl
A clang/test/SemaHLSL/Resources/resource_binding_attr_error_udt.hlsl
A clang/test/SemaHLSL/Resources/resource_binding_attr_error_uint32_max.hlsl
A clang/test/SemaHLSL/Resources/resource_binding_implicit.hlsl
A clang/test/SemaHLSL/Resources/static_resources.hlsl
A clang/test/SemaHLSL/Resources/unbounded_resource_arrays.hlsl
A clang/test/SemaHLSL/Texture2D-Gather.hlsl
A clang/test/SemaHLSL/Texture2D-GatherCmp-Vulkan.hlsl
R clang/test/SemaHLSL/Texture2D-SampleBias.hlsl
R clang/test/SemaHLSL/Texture2D-SampleCmp.hlsl
R clang/test/SemaHLSL/Texture2D-SampleCmpLevelZero.hlsl
R clang/test/SemaHLSL/Texture2D-SampleGrad.hlsl
R clang/test/SemaHLSL/Texture2D-SampleLevel.hlsl
R clang/test/SemaHLSL/Texture2D-Sema.hlsl
A clang/test/SemaHLSL/Types/BuiltinMatrix/MatrixConstantExpr.hlsl
A clang/test/SemaHLSL/Types/BuiltinMatrix/MatrixFloatPrecisionWarnings.hlsl
A clang/test/SemaHLSL/local_resource_bindings.hlsl
A clang/test/SemaHLSL/local_resource_bindings_errs.hlsl
R clang/test/SemaHLSL/packoffset-invalid.hlsl
R clang/test/SemaHLSL/prohibit_resource_edits.hlsl
R clang/test/SemaHLSL/resource_binding_attr_error.hlsl
R clang/test/SemaHLSL/resource_binding_attr_error_basic.hlsl
R clang/test/SemaHLSL/resource_binding_attr_error_other.hlsl
R clang/test/SemaHLSL/resource_binding_attr_error_resource.hlsl
R clang/test/SemaHLSL/resource_binding_attr_error_silence_diags.hlsl
R clang/test/SemaHLSL/resource_binding_attr_error_space.hlsl
R clang/test/SemaHLSL/resource_binding_attr_error_udt.hlsl
R clang/test/SemaHLSL/resource_binding_attr_error_uint32_max.hlsl
R clang/test/SemaHLSL/resource_binding_implicit.hlsl
R clang/test/SemaHLSL/static_resources.hlsl
R clang/test/SemaHLSL/unbounded_resource_arrays.hlsl
M clang/test/SemaOpenCL/extension-version.cl
M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-appertainment.cpp
A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-device-odr-use.cpp
M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-grammar.cpp
M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name-module.cpp
M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name-pch.cpp
M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name.cpp
M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-sfinae.cpp
A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-this.cpp
A clang/test/SemaSYCL/sycl-kernel-launch-ms-compat.cpp
A clang/test/SemaSYCL/sycl-kernel-launch.cpp
A clang/test/SemaTemplate/GH181062.cpp
A clang/test/SemaTemplate/GH183075.cpp
M clang/test/SemaTemplate/concepts.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx11.cpp
M clang/test/SemaTemplate/temp_arg_template_p0522.cpp
M clang/test/TableGen/builtin-docs.td
A clang/test/Tooling/serialize-diagnostics.cpp
M clang/test/lit.cfg.py
M clang/test/utils/update_cc_test_checks/Inputs/annotations.c.expected
M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.generated.all.expected
M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.generated.expected
M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.no-generated.all.expected
M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.no-generated.expected
M clang/test/utils/update_cc_test_checks/Inputs/resolve-tmp-conflict.cpp.expected
M clang/test/utils/update_cc_test_checks/check-globals.test
M clang/tools/cir-opt/cir-opt.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/driver/cc1_main.cpp
M clang/tools/driver/cc1as_main.cpp
M clang/tools/driver/driver.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
M clang/unittests/Analysis/Scalable/BuildNamespaceTest.cpp
M clang/unittests/Analysis/Scalable/CMakeLists.txt
M clang/unittests/Analysis/Scalable/EntityIdTest.cpp
M clang/unittests/Analysis/Scalable/EntityLinkageTest.cpp
A clang/unittests/Analysis/Scalable/EntityLinkerTest.cpp
M clang/unittests/Analysis/Scalable/EntityNameTest.cpp
A clang/unittests/Analysis/Scalable/ErrorBuilderTest.cpp
A clang/unittests/Analysis/Scalable/ModelStringConversionsTest.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.h
A clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/JSONFormatTest.cpp
M clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/JSONFormatTest.h
A clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/LUSummaryTest.cpp
M clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/TUSummaryTest.cpp
M clang/unittests/Analysis/Scalable/SummaryNameTest.cpp
M clang/unittests/Analysis/Scalable/TestFixture.cpp
M clang/unittests/Analysis/Scalable/TestFixture.h
M clang/unittests/DependencyScanning/CMakeLists.txt
R clang/unittests/DependencyScanning/DependencyScanningWorkerTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
M clang/unittests/Lex/LexerTest.cpp
M clang/unittests/Tooling/ToolingTest.cpp
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
M clang/utils/hmaptool/CMakeLists.txt
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
M compiler-rt/CMakeLists.txt
M compiler-rt/lib/asan/asan_fuchsia.cpp
M compiler-rt/lib/asan/asan_mapping.h
M compiler-rt/lib/asan/asan_rtl_x86_64.S
M compiler-rt/lib/builtins/cpu_model/riscv.c
M compiler-rt/lib/gwp_asan/CMakeLists.txt
M compiler-rt/lib/msan/tests/CMakeLists.txt
M compiler-rt/lib/profile/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_mac.cpp
M compiler-rt/lib/sanitizer_common/weak_symbols.txt
M compiler-rt/lib/scudo/standalone/CMakeLists.txt
M compiler-rt/lib/scudo/standalone/common.h
M compiler-rt/lib/scudo/standalone/fuchsia.cpp
M compiler-rt/lib/scudo/standalone/linux.cpp
M compiler-rt/lib/scudo/standalone/mem_map.cpp
M compiler-rt/lib/scudo/standalone/mem_map.h
M compiler-rt/lib/scudo/standalone/mem_map_base.h
M compiler-rt/lib/scudo/standalone/mem_map_fuchsia.cpp
M compiler-rt/lib/scudo/standalone/mem_map_fuchsia.h
M compiler-rt/lib/scudo/standalone/mem_map_linux.cpp
M compiler-rt/lib/scudo/standalone/mem_map_linux.h
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/report.cpp
M compiler-rt/lib/scudo/standalone/report.h
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/common_test.cpp
M compiler-rt/lib/scudo/standalone/tests/map_test.cpp
M compiler-rt/lib/scudo/standalone/tests/report_test.cpp
M compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
M compiler-rt/lib/scudo/standalone/trusty.cpp
M compiler-rt/lib/scudo/standalone/wrappers_c.inc
M compiler-rt/lib/scudo/standalone/wrappers_c_checks.h
M compiler-rt/lib/tsan/go/buildgo.sh
M compiler-rt/lib/ubsan/ubsan_diag.h
M compiler-rt/test/asan/TestCases/fakeframe-right-redzone.cpp
M compiler-rt/test/asan/TestCases/shadowed-stack-serialization.cpp
M compiler-rt/test/builtins/CMakeLists.txt
M compiler-rt/test/builtins/Unit/divsf3_test.c
M compiler-rt/test/builtins/Unit/mulsf3_test.c
M compiler-rt/test/cfi/icall/bad-signature.c
M compiler-rt/test/fuzzer/reduce_inputs.test
M compiler-rt/test/lsan/TestCases/create_thread_leak.cpp
M compiler-rt/test/safestack/overflow.c
A cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/callsite-crash.cpp
A cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/callsite-dwarf.cpp
M flang-rt/CMakeLists.txt
M flang-rt/README.md
M flang-rt/cmake/modules/AddFlangRTOffload.cmake
M flang-rt/include/flang-rt/runtime/environment.h
M flang-rt/include/flang-rt/runtime/lock.h
M flang-rt/include/flang-rt/runtime/memory.h
M flang-rt/include/flang-rt/runtime/tools.h
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/stream.cpp
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/character.cpp
M flang-rt/lib/runtime/descriptor-io.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/edit-input.cpp
M flang-rt/lib/runtime/edit-output.cpp
M flang-rt/lib/runtime/edit-output.h
M flang-rt/lib/runtime/environment.cpp
M flang-rt/lib/runtime/execute.cpp
M flang-rt/lib/runtime/external-unit.cpp
M flang-rt/lib/runtime/io-api.cpp
M flang-rt/lib/runtime/iostat.cpp
M flang-rt/lib/runtime/pseudo-unit.cpp
M flang-rt/lib/runtime/stop.cpp
M flang-rt/lib/runtime/terminator.cpp
M flang-rt/lib/runtime/transformational.cpp
M flang-rt/lib/runtime/unit.cpp
M flang-rt/lib/runtime/unit.h
M flang-rt/lib/runtime/work-queue.cpp
M flang-rt/unittests/CMakeLists.txt
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang-rt/unittests/Runtime/CommandTest.cpp
M flang-rt/unittests/Runtime/NumericalFormatTest.cpp
M flang/CMakeLists.txt
M flang/docs/Extensions.md
M flang/docs/GettingInvolved.md
M flang/docs/GettingStarted.md
M flang/docs/Intrinsics.md
A flang/docs/MeetingNotes/2026/2026-02-25.md
M flang/docs/OpenACC.md
M flang/docs/OpenMP-declare-target.md
M flang/docs/RuntimeEnvironment.md
M flang/include/flang/Common/api-attrs.h
M flang/include/flang/Common/format.h
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Lower/CUDA.h
M flang/include/flang/Optimizer/Builder/CUDAIntrinsicCall.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Character.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.td
M flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.td
M flang/include/flang/Optimizer/Dialect/FIRDialect.td
M flang/include/flang/Optimizer/HLFIR/HLFIROpBase.td
M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.h
M flang/include/flang/Optimizer/OpenMP/Passes.td
M flang/include/flang/Optimizer/Passes/Pipelines.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/openmp-utils.h
M flang/include/flang/Parser/preprocessor.h
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/CUDA/stream.h
M flang/include/flang/Runtime/character.h
M flang/include/flang/Runtime/iostat-consts.h
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Support/Fortran-features.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CUDA.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/Support/Utils.cpp
M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Character.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
M flang/lib/Optimizer/OpenACC/Support/RegisterOpenACCExtensions.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/LowerWorkshare.cpp
R flang/lib/Optimizer/OpenMP/MarkDeclareTarget.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceGlobal.cpp
M flang/lib/Parser/io-parsers.cpp
M flang/lib/Parser/openmp-utils.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/canonicalize-acc.cpp
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-io.cpp
M flang/lib/Semantics/check-io.h
M flang/lib/Semantics/check-namelist.cpp
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/module/cuda_runtime_api.f90
A flang/test/Driver/grecord-command-line.f90
M flang/test/Driver/intrinsic-module-path.f90
M flang/test/Driver/omp-driver-offload.f90
M flang/test/Fir/CUDA/cuda-device-global.f90
M flang/test/Fir/OpenACC/offload-livein-value-canonicalization.fir
M flang/test/Fir/mem2reg.mlir
M flang/test/HLFIR/assign-codegen.fir
M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
A flang/test/Integration/OpenMP/workshare-forall-sliced-array.f90
M flang/test/Integration/unroll-loops.f90
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-default-stream.cuf
M flang/test/Lower/HLFIR/goto-do-body.f90
M flang/test/Lower/HLFIR/unroll-loops.fir
M flang/test/Lower/Intrinsics/abs.f90
M flang/test/Lower/Intrinsics/achar.f90
M flang/test/Lower/Intrinsics/acospi.f90
M flang/test/Lower/Intrinsics/adjustl.f90
M flang/test/Lower/Intrinsics/adjustr.f90
M flang/test/Lower/Intrinsics/all.f90
M flang/test/Lower/Intrinsics/any.f90
M flang/test/Lower/Intrinsics/asinpi.f90
M flang/test/Lower/Intrinsics/associated.f90
M flang/test/Lower/Intrinsics/atan2d.f90
M flang/test/Lower/Intrinsics/atan2pi.f90
M flang/test/Lower/Intrinsics/atand.f90
M flang/test/Lower/Intrinsics/atanpi.f90
M flang/test/Lower/Intrinsics/bessel_jn.f90
M flang/test/Lower/Intrinsics/bessel_yn.f90
M flang/test/Lower/Intrinsics/bge.f90
M flang/test/Lower/Intrinsics/bgt.f90
M flang/test/Lower/Intrinsics/ble.f90
M flang/test/Lower/Intrinsics/blt.f90
A flang/test/Lower/Intrinsics/rtc.f90
A flang/test/Lower/Intrinsics/tokenize.f90
M flang/test/Lower/OpenACC/acc-cache.f90
A flang/test/Lower/OpenMP/allocatable-dtype-intermediate-map-gen.f90
A flang/test/Lower/OpenMP/block-use-predetermined-privatization.f90
M flang/test/Lower/OpenMP/cfg-conversion-omp.private.f90
M flang/test/Lower/OpenMP/composite_simd_linear.f90
M flang/test/Lower/OpenMP/declare-mapper.f90
A flang/test/Lower/OpenMP/declare-reduction-intrinsic-op.f90
M flang/test/Lower/OpenMP/declare-simd.f90
A flang/test/Lower/OpenMP/implicit-map-pointer-no-default-mapper.f90
A flang/test/Lower/OpenMP/ordered-simd.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/simd-linear.f90
M flang/test/Lower/OpenMP/target-data-skip-mapper-calls.f90
A flang/test/Lower/OpenMP/task-implicit-firstprivate.f90
M flang/test/Lower/OpenMP/wsloop-linear.f90
M flang/test/Lower/forall/forall-construct-4.f90
M flang/test/Lower/forall/forall-construct.f90
M flang/test/Lower/forall/forall-ranked.f90
M flang/test/Lower/forall/forall-slice.f90
M flang/test/Lower/forall/forall-stmt.f90
M flang/test/Lower/forall/forall-where-2.f90
M flang/test/Lower/forall/forall-where.f90
M flang/test/Lower/forall/test9.f90
M flang/test/Lower/host-associated-functions.f90
M flang/test/Lower/host-associated-globals.f90
M flang/test/Lower/host-associated.f90
M flang/test/Lower/identical-block-merge-disable.f90
M flang/test/Lower/implicit-call-mismatch.f90
M flang/test/Lower/implicit-interface.f90
M flang/test/Lower/integer-operations.f90
M flang/test/Lower/intentout-deallocate.f90
M flang/test/Lower/volatile3.f90
A flang/test/Parser/bug2280.f90
A flang/test/Parser/not-sentinel.f90
A flang/test/Preprocessing/bug178481.F90
A flang/test/Semantics/Inputs/modfile83.mod
M flang/test/Semantics/OpenACC/acc-cache-validity.f90
M flang/test/Semantics/OpenACC/acc-canonicalization-validity.f90
A flang/test/Semantics/OpenMP/affinity-invalid.f90
M flang/test/Semantics/OpenMP/depend01.f90
A flang/test/Semantics/OpenMP/fuse1.f90
M flang/test/Semantics/OpenMP/reduction05.f90
M flang/test/Semantics/OpenMP/resolve05.f90
A flang/test/Semantics/OpenMP/target-update-mapper.f90
M flang/test/Semantics/associated.f90
A flang/test/Semantics/bug2236.f90
A flang/test/Semantics/bug2273.f90
A flang/test/Semantics/bug2292.f90
A flang/test/Semantics/bug2295.f90
M flang/test/Semantics/call01.f90
M flang/test/Semantics/call03.f90
M flang/test/Semantics/io08.f90
A flang/test/Semantics/io16.f90
A flang/test/Semantics/io17.f90
A flang/test/Semantics/modfile83.f90
A flang/test/Semantics/namelist02.f90
A flang/test/Semantics/tokenize-errors.f90
A flang/test/Transforms/OpenACC/acc-recipe-materialization-firstprivate-derived.fir
A flang/test/Transforms/OpenACC/acc-recipe-materialization-firstprivate.fir
A flang/test/Transforms/OpenACC/acc-recipe-materialization-kernel-private.fir
A flang/test/Transforms/OpenACC/acc-recipe-materialization-parallel.fir
A flang/test/Transforms/OpenACC/acc-recipe-materialization-private.fir
A flang/test/Transforms/OpenACC/acc-recipe-materialization-reduction.fir
A flang/test/Transforms/OpenMP/lower-workshare-thread-local.mlir
A flang/test/Transforms/debug-dwarf-debug-flags.fir
M flang/tools/f18/CMakeLists.txt
M flang/tools/flang-driver/driver.cpp
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/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/docs/headers/math/index.rst
M libc/hdr/CMakeLists.txt
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/key_t.h
M libc/include/CMakeLists.txt
M libc/include/elf.yaml
M libc/include/llvm-libc-macros/CMakeLists.txt
M libc/include/llvm-libc-macros/float16-macros.h
M libc/include/llvm-libc-macros/linux/CMakeLists.txt
A libc/include/llvm-libc-macros/linux/sys-ipc-macros.h
A libc/include/llvm-libc-macros/sys-ipc-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/key_t.h
A libc/include/llvm-libc-types/struct_ipc_perm.h
M libc/include/llvm-libc-types/struct_stat.h
M libc/include/stdlib-malloc.yaml
A libc/include/sys/ipc.yaml
M libc/include/sys/types.yaml
M libc/shared/math.h
A libc/shared/math/acospif.h
M libc/shared/math/asinf16.h
M libc/shared/math/asinhf16.h
A libc/shared/math/asinpif.h
A libc/shared/math/asinpif16.h
M libc/shared/math/atanf16.h
M libc/shared/math/atanhf16.h
A libc/shared/math/bf16addl.h
A libc/shared/math/bf16fmaf128.h
A libc/shared/math/bf16mul.h
A libc/shared/math/bf16mulf.h
A libc/shared/math/bf16mulf128.h
A libc/shared/math/bf16mull.h
A libc/shared/math/bf16sub.h
A libc/shared/math/bf16subf.h
A libc/shared/math/bf16subf128.h
M libc/shared/math/ceil.h
M libc/shared/math/ceilbf16.h
M libc/shared/math/ceilf.h
M libc/shared/math/ceilf128.h
M libc/shared/math/ceilf16.h
M libc/shared/math/ceill.h
M libc/shared/math/cosf16.h
M libc/shared/math/coshf16.h
M libc/shared/math/cospif16.h
M libc/shared/math/dfmal.h
M libc/shared/math/exp10f16.h
M libc/shared/math/exp10m1f16.h
M libc/shared/math/exp2f16.h
M libc/shared/math/exp2m1f16.h
M libc/shared/math/expf16.h
M libc/shared/math/expm1f16.h
A libc/shared/math/f16div.h
A libc/shared/math/f16divf.h
A libc/shared/math/f16divf128.h
A libc/shared/math/f16divl.h
M libc/shared/math/f16fma.h
M libc/shared/math/f16fmaf.h
M libc/shared/math/f16fmaf128.h
M libc/shared/math/f16fmal.h
A libc/shared/math/f16mul.h
A libc/shared/math/f16mulf.h
A libc/shared/math/f16mulf128.h
A libc/shared/math/f16mull.h
A libc/shared/math/f16sqrtf128.h
M libc/shared/math/f16sqrtl.h
A libc/shared/math/f16sub.h
A libc/shared/math/f16subf.h
A libc/shared/math/f16subf128.h
A libc/shared/math/f16subl.h
M libc/shared/math/fadd.h
M libc/shared/math/faddf128.h
M libc/shared/math/faddl.h
A libc/shared/math/fdim.h
A libc/shared/math/fdimbf16.h
A libc/shared/math/fdimf.h
A libc/shared/math/fdimf128.h
A libc/shared/math/fdimf16.h
A libc/shared/math/fdiml.h
A libc/shared/math/ffmaf128.h
A libc/shared/math/floor.h
A libc/shared/math/floorbf16.h
A libc/shared/math/floorf.h
A libc/shared/math/floorf128.h
A libc/shared/math/floorf16.h
A libc/shared/math/floorl.h
M libc/shared/math/fmax.h
M libc/shared/math/fmaxbf16.h
M libc/shared/math/fmaxf.h
M libc/shared/math/fmaxf128.h
M libc/shared/math/fmaxf16.h
M libc/shared/math/fmaxl.h
M libc/shared/math/frexpf16.h
M libc/shared/math/fsqrtf128.h
A libc/shared/math/getpayload.h
A libc/shared/math/getpayloadbf16.h
A libc/shared/math/getpayloadf.h
A libc/shared/math/getpayloadf128.h
A libc/shared/math/getpayloadf16.h
A libc/shared/math/getpayloadl.h
M libc/shared/math/hypotf.h
M libc/shared/math/hypotf16.h
M libc/shared/math/ilogbf.h
M libc/shared/math/ilogbf16.h
M libc/shared/math/ldexpf16.h
M libc/shared/math/log.h
M libc/shared/math/log10.h
M libc/shared/math/log1p.h
M libc/shared/math/log2.h
M libc/shared/math/logb.h
M libc/shared/math/logbf.h
M libc/shared/math/logbf128.h
M libc/shared/math/logbf16.h
M libc/shared/math/logf16.h
A libc/shared/math/nextafter.h
A libc/shared/math/nextafterbf16.h
A libc/shared/math/nextafterf.h
A libc/shared/math/nextafterf128.h
A libc/shared/math/nextafterf16.h
A libc/shared/math/nextafterl.h
A libc/shared/math/nextdown.h
A libc/shared/math/nextdownbf16.h
A libc/shared/math/nextdownf.h
A libc/shared/math/nextdownf128.h
A libc/shared/math/nextdownf16.h
A libc/shared/math/nextdownl.h
A libc/shared/math/nexttoward.h
A libc/shared/math/nexttowardbf16.h
A libc/shared/math/nexttowardf.h
A libc/shared/math/nexttowardf16.h
A libc/shared/math/nexttowardl.h
A libc/shared/math/nextup.h
A libc/shared/math/nextupbf16.h
A libc/shared/math/nextupf.h
A libc/shared/math/nextupf128.h
A libc/shared/math/nextupf16.h
A libc/shared/math/nextupl.h
A libc/shared/math/setpayload.h
A libc/shared/math/setpayloadbf16.h
A libc/shared/math/setpayloadf.h
A libc/shared/math/setpayloadf128.h
A libc/shared/math/setpayloadf16.h
A libc/shared/math/setpayloadl.h
A libc/shared/math/setpayloadsig.h
A libc/shared/math/setpayloadsigbf16.h
A libc/shared/math/setpayloadsigf.h
A libc/shared/math/setpayloadsigf128.h
A libc/shared/math/setpayloadsigf16.h
A libc/shared/math/setpayloadsigl.h
M libc/shared/math/sinhf16.h
A libc/shared/math/tanpif16.h
M libc/src/__support/CPP/bit.h
M libc/src/__support/FPUtil/bfloat16.h
M libc/src/__support/FPUtil/generic/add_sub.h
M libc/src/__support/GPU/CMakeLists.txt
M libc/src/__support/GPU/allocator.cpp
A libc/src/__support/GPU/fixedbuffer.h
R libc/src/__support/GPU/fixedstack.h
M libc/src/__support/RPC/rpc_server.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/acospif.h
A libc/src/__support/math/asinpif.h
A libc/src/__support/math/asinpif16.h
M libc/src/__support/math/atan2f128.h
A libc/src/__support/math/bf16addl.h
A libc/src/__support/math/bf16fmaf128.h
A libc/src/__support/math/bf16mul.h
A libc/src/__support/math/bf16mulf.h
A libc/src/__support/math/bf16mulf128.h
A libc/src/__support/math/bf16mull.h
A libc/src/__support/math/bf16sub.h
A libc/src/__support/math/bf16subf.h
A libc/src/__support/math/bf16subf128.h
A libc/src/__support/math/f16div.h
A libc/src/__support/math/f16divf.h
A libc/src/__support/math/f16divf128.h
A libc/src/__support/math/f16divl.h
A libc/src/__support/math/f16mul.h
A libc/src/__support/math/f16mulf.h
A libc/src/__support/math/f16mulf128.h
A libc/src/__support/math/f16mull.h
A libc/src/__support/math/f16sqrtf128.h
A libc/src/__support/math/f16sub.h
A libc/src/__support/math/f16subf.h
A libc/src/__support/math/f16subf128.h
A libc/src/__support/math/f16subl.h
A libc/src/__support/math/fdim.h
A libc/src/__support/math/fdimbf16.h
A libc/src/__support/math/fdimf.h
A libc/src/__support/math/fdimf128.h
A libc/src/__support/math/fdimf16.h
A libc/src/__support/math/fdiml.h
A libc/src/__support/math/ffmaf128.h
A libc/src/__support/math/floor.h
A libc/src/__support/math/floorbf16.h
A libc/src/__support/math/floorf.h
A libc/src/__support/math/floorf128.h
A libc/src/__support/math/floorf16.h
A libc/src/__support/math/floorl.h
A libc/src/__support/math/getpayload.h
A libc/src/__support/math/getpayloadbf16.h
A libc/src/__support/math/getpayloadf.h
A libc/src/__support/math/getpayloadf128.h
A libc/src/__support/math/getpayloadf16.h
A libc/src/__support/math/getpayloadl.h
M libc/src/__support/math/inv_trigf_utils.h
A libc/src/__support/math/nextafter.h
A libc/src/__support/math/nextafterbf16.h
A libc/src/__support/math/nextafterf.h
A libc/src/__support/math/nextafterf128.h
A libc/src/__support/math/nextafterf16.h
A libc/src/__support/math/nextafterl.h
A libc/src/__support/math/nextdown.h
A libc/src/__support/math/nextdownbf16.h
A libc/src/__support/math/nextdownf.h
A libc/src/__support/math/nextdownf128.h
A libc/src/__support/math/nextdownf16.h
A libc/src/__support/math/nextdownl.h
A libc/src/__support/math/nexttoward.h
A libc/src/__support/math/nexttowardbf16.h
A libc/src/__support/math/nexttowardf.h
A libc/src/__support/math/nexttowardf16.h
A libc/src/__support/math/nexttowardl.h
A libc/src/__support/math/nextup.h
A libc/src/__support/math/nextupbf16.h
A libc/src/__support/math/nextupf.h
A libc/src/__support/math/nextupf128.h
A libc/src/__support/math/nextupf16.h
A libc/src/__support/math/nextupl.h
A libc/src/__support/math/setpayload.h
A libc/src/__support/math/setpayloadbf16.h
A libc/src/__support/math/setpayloadf.h
A libc/src/__support/math/setpayloadf128.h
A libc/src/__support/math/setpayloadf16.h
A libc/src/__support/math/setpayloadl.h
A libc/src/__support/math/setpayloadsig.h
A libc/src/__support/math/setpayloadsigbf16.h
A libc/src/__support/math/setpayloadsigf.h
A libc/src/__support/math/setpayloadsigf128.h
A libc/src/__support/math/setpayloadsigf16.h
A libc/src/__support/math/setpayloadsigl.h
A libc/src/__support/math/tanpif16.h
M libc/src/math/CMakeLists.txt
A libc/src/math/acospif.h
A libc/src/math/asinpif.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/acospif.cpp
A libc/src/math/generic/asinpif.cpp
M libc/src/math/generic/asinpif16.cpp
M libc/src/math/generic/atan2l.cpp
M libc/src/math/generic/bf16addl.cpp
M libc/src/math/generic/bf16fmaf128.cpp
M libc/src/math/generic/bf16mul.cpp
M libc/src/math/generic/bf16mulf.cpp
M libc/src/math/generic/bf16mulf128.cpp
M libc/src/math/generic/bf16mull.cpp
M libc/src/math/generic/bf16sub.cpp
M libc/src/math/generic/bf16subf.cpp
M libc/src/math/generic/bf16subf128.cpp
M libc/src/math/generic/f16div.cpp
M libc/src/math/generic/f16divf.cpp
M libc/src/math/generic/f16divf128.cpp
M libc/src/math/generic/f16divl.cpp
M libc/src/math/generic/f16mul.cpp
M libc/src/math/generic/f16mulf.cpp
M libc/src/math/generic/f16mulf128.cpp
M libc/src/math/generic/f16mull.cpp
M libc/src/math/generic/f16sqrtf128.cpp
M libc/src/math/generic/f16sub.cpp
M libc/src/math/generic/f16subf.cpp
M libc/src/math/generic/f16subf128.cpp
M libc/src/math/generic/f16subl.cpp
M libc/src/math/generic/fdim.cpp
M libc/src/math/generic/fdimbf16.cpp
M libc/src/math/generic/fdimf.cpp
M libc/src/math/generic/fdimf128.cpp
M libc/src/math/generic/fdimf16.cpp
M libc/src/math/generic/fdiml.cpp
M libc/src/math/generic/ffmaf128.cpp
M libc/src/math/generic/floor.cpp
M libc/src/math/generic/floorbf16.cpp
M libc/src/math/generic/floorf.cpp
M libc/src/math/generic/floorf128.cpp
M libc/src/math/generic/floorf16.cpp
M libc/src/math/generic/floorl.cpp
M libc/src/math/generic/getpayload.cpp
M libc/src/math/generic/getpayloadbf16.cpp
M libc/src/math/generic/getpayloadf.cpp
M libc/src/math/generic/getpayloadf128.cpp
M libc/src/math/generic/getpayloadf16.cpp
M libc/src/math/generic/getpayloadl.cpp
M libc/src/math/generic/nextafter.cpp
M libc/src/math/generic/nextafterbf16.cpp
M libc/src/math/generic/nextafterf.cpp
M libc/src/math/generic/nextafterf128.cpp
M libc/src/math/generic/nextafterf16.cpp
M libc/src/math/generic/nextafterl.cpp
M libc/src/math/generic/nextdown.cpp
M libc/src/math/generic/nextdownbf16.cpp
M libc/src/math/generic/nextdownf.cpp
M libc/src/math/generic/nextdownf128.cpp
M libc/src/math/generic/nextdownf16.cpp
M libc/src/math/generic/nextdownl.cpp
M libc/src/math/generic/nexttoward.cpp
M libc/src/math/generic/nexttowardbf16.cpp
M libc/src/math/generic/nexttowardf.cpp
M libc/src/math/generic/nexttowardf16.cpp
M libc/src/math/generic/nexttowardl.cpp
M libc/src/math/generic/nextup.cpp
M libc/src/math/generic/nextupbf16.cpp
M libc/src/math/generic/nextupf.cpp
M libc/src/math/generic/nextupf128.cpp
M libc/src/math/generic/nextupf16.cpp
M libc/src/math/generic/nextupl.cpp
M libc/src/math/generic/setpayload.cpp
M libc/src/math/generic/setpayloadbf16.cpp
M libc/src/math/generic/setpayloadf.cpp
M libc/src/math/generic/setpayloadf128.cpp
M libc/src/math/generic/setpayloadf16.cpp
M libc/src/math/generic/setpayloadl.cpp
M libc/src/math/generic/setpayloadsig.cpp
M libc/src/math/generic/setpayloadsigbf16.cpp
M libc/src/math/generic/setpayloadsigf.cpp
M libc/src/math/generic/setpayloadsigf128.cpp
M libc/src/math/generic/setpayloadsigf16.cpp
M libc/src/math/generic/setpayloadsigl.cpp
M libc/src/math/generic/tanpif16.cpp
M libc/src/stdio/baremetal/CMakeLists.txt
A libc/src/stdio/baremetal/fflush.cpp
A libc/src/stdio/baremetal/file_internal.cpp
M libc/src/stdio/baremetal/file_internal.h
M libc/src/stdio/baremetal/getc.cpp
A libc/src/stdio/baremetal/ungetc.cpp
M libc/src/stdio/baremetal/vfscanf_internal.h
M libc/src/sys/CMakeLists.txt
A libc/src/sys/ipc/CMakeLists.txt
A libc/src/sys/ipc/ftok.h
A libc/src/sys/ipc/linux/CMakeLists.txt
A libc/src/sys/ipc/linux/ftok.cpp
A libc/src/sys/ipc/linux/kernel_statx.h
M libc/startup/gpu/CMakeLists.txt
R libc/startup/gpu/amdgpu/CMakeLists.txt
R libc/startup/gpu/amdgpu/start.cpp
R libc/startup/gpu/nvptx/CMakeLists.txt
R libc/startup/gpu/nvptx/start.cpp
A libc/startup/gpu/start.cpp
M libc/startup/linux/CMakeLists.txt
M libc/startup/linux/aarch64/CMakeLists.txt
A libc/startup/linux/aarch64/irelative.cpp
M libc/startup/linux/do_start.cpp
A libc/startup/linux/irelative.h
M libc/startup/linux/riscv/CMakeLists.txt
A libc/startup/linux/riscv/irelative.cpp
M libc/startup/linux/x86_64/CMakeLists.txt
A libc/startup/linux/x86_64/irelative.cpp
M libc/test/CMakeLists.txt
M libc/test/include/CMakeLists.txt
M libc/test/integration/CMakeLists.txt
M libc/test/integration/src/__support/GPU/CMakeLists.txt
A libc/test/integration/src/__support/GPU/fixedbuffer_test.cpp
R libc/test/integration/src/__support/GPU/fixedstack_test.cpp
M libc/test/integration/startup/linux/CMakeLists.txt
A libc/test/integration/startup/linux/irelative_no_ifunc_test.cpp
A libc/test/integration/startup/linux/irelative_test.cpp
M libc/test/lit.site.cfg.py.in
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M libc/test/src/__support/FPUtil/bfloat16_test.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/acospif_test.cpp
A libc/test/src/math/asinpif_test.cpp
M libc/test/src/math/exhaustive/CMakeLists.txt
A libc/test/src/math/exhaustive/acospif_test.cpp
A libc/test/src/math/exhaustive/asinpif_test.cpp
M libc/test/src/math/smoke/AddTest.h
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/SubTest.h
A libc/test/src/math/smoke/acospif_test.cpp
A libc/test/src/math/smoke/asinpif_test.cpp
M libc/test/src/math/smoke/atan2f128_test.cpp
A libc/test/src/math/smoke/atan2l_test.cpp
M libc/test/src/sys/CMakeLists.txt
A libc/test/src/sys/ipc/CMakeLists.txt
A libc/test/src/sys/ipc/linux/CMakeLists.txt
A libc/test/src/sys/ipc/linux/ftok_test.cpp
M libc/test/src/sys/time/utimes_test.cpp
M libc/utils/hdrgen/hdrgen/main.py
M libc/utils/libctest/format.py
M libclc/CMakeLists.txt
A libclc/clc/include/clc/address_space/qualifier.h
A libclc/clc/include/clc/subgroup/clc_subgroup_broadcast.inc
A libclc/clc/include/clc/subgroup/clc_subgroup_broadcast_scalarize.inc
A libclc/clc/include/clc/subgroup/sub_group_broadcast.h
A libclc/clc/include/clc/workitem/clc_get_enqueued_local_size.h
M libclc/clc/lib/amdgcn/SOURCES
A libclc/clc/lib/amdgcn/address_space/qualifier.cl
M libclc/clc/lib/amdgcn/mem_fence/clc_mem_fence.cl
A libclc/clc/lib/amdgcn/subgroup/sub_group_broadcast.cl
A libclc/clc/lib/amdgcn/workitem/clc_get_enqueued_local_size.cl
M libclc/clc/lib/amdgcn/workitem/clc_get_global_offset.cl
M libclc/clc/lib/amdgcn/workitem/clc_get_work_dim.cl
M libclc/clc/lib/generic/SOURCES
M libclc/clc/lib/generic/async/clc_prefetch.inc
M libclc/clc/lib/generic/math/clc_cosh.inc
M libclc/clc/lib/generic/math/clc_erfc.cl
M libclc/clc/lib/generic/math/clc_expm1.inc
M libclc/clc/lib/generic/math/clc_fdim.inc
M libclc/clc/lib/generic/math/clc_fmod.cl
M libclc/clc/lib/generic/math/clc_sincos_helpers_fp64.inc
A libclc/clc/lib/generic/shared/clc_qualifier.cl
M libclc/clc/lib/generic/workitem/clc_get_sub_group_id.cl
M libclc/clc/lib/ptx-nvidiacl/mem_fence/clc_mem_fence.cl
M libclc/clc/lib/ptx-nvidiacl/synchronization/clc_work_group_barrier.cl
M libclc/cmake/modules/AddLibclc.cmake
M libclc/opencl/lib/amdgcn-amdhsa/workitem/get_global_size.cl
M libclc/opencl/lib/amdgcn-amdhsa/workitem/get_local_size.cl
M libclc/opencl/lib/amdgcn/SOURCES
A libclc/opencl/lib/amdgcn/subgroup/subgroup.cl
R libclc/opencl/lib/amdgcn/synchronization/barrier.cl
A libclc/opencl/lib/amdgcn/synchronization/sub_group_barrier.cl
M libclc/opencl/lib/clspv/SOURCES
M libclc/opencl/lib/generic/SOURCES
A libclc/opencl/lib/generic/address_space/qualifier.cl
M libclc/opencl/lib/generic/async/wait_group_events.cl
A libclc/opencl/lib/generic/atomic/atomic_work_item_fence.cl
A libclc/opencl/lib/generic/subgroup/sub_group_broadcast.cl
A libclc/opencl/lib/generic/subgroup/sub_group_broadcast.inc
A libclc/opencl/lib/generic/synchronization/work_group_barrier.cl
A libclc/opencl/lib/generic/workitem/get_enqueued_local_size.cl
M libclc/opencl/lib/ptx-nvidiacl/SOURCES
R libclc/opencl/lib/ptx-nvidiacl/synchronization/barrier.cl
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/include/__algorithm/equal.h
M libcxx/include/__algorithm/find.h
M libcxx/include/__algorithm/find_if.h
M libcxx/include/__algorithm/find_if_not.h
M libcxx/include/__algorithm/find_segment_if.h
M libcxx/include/__algorithm/ranges_find_if.h
M libcxx/include/__algorithm/ranges_find_if_not.h
M libcxx/include/__algorithm/ranges_remove_if.h
M libcxx/include/__atomic/atomic.h
M libcxx/include/__chrono/convert_to_tm.h
M libcxx/include/__functional/function.h
M libcxx/include/__iterator/ostreambuf_iterator.h
M libcxx/include/__iterator/wrap_iter.h
M libcxx/include/__locale_dir/pad_and_output.h
M libcxx/include/__math/gamma.h
M libcxx/include/__random/binomial_distribution.h
M libcxx/include/__tree
M libcxx/include/__type_traits/strip_signature.h
M libcxx/include/__utility/lazy_synth_three_way_comparator.h
M libcxx/include/__vector/vector.h
M libcxx/include/future
M libcxx/include/regex
M libcxx/include/string
M libcxx/test/benchmarks/numeric/gcd.bench.cpp
M libcxx/test/benchmarks/spec.gen.py
A libcxx/test/benchmarks/streams/copy.bench.cpp
M libcxx/test/benchmarks/streams/getline.bench.cpp
M libcxx/test/benchmarks/streams/ofstream.bench.cpp
M libcxx/test/extensions/libcxx/depr/depr.c.headers/extern_c.pass.cpp
M libcxx/test/extensions/libcxx/depr/depr.c.headers/include_as_c.sh.cpp
M libcxx/test/extensions/libcxx/depr/depr.c.headers/stdint_h.xopen_source.compile.pass.cpp
M libcxx/test/extensions/posix/xopen_source.gen.py
M libcxx/test/libcxx-03/assertions/customize_verbose_abort.compile-time.pass.cpp
M libcxx/test/libcxx-03/assertions/modes/hardening_mode_incorrect_value.sh.cpp
M libcxx/test/libcxx-03/transitive_includes.gen.py
M libcxx/test/libcxx-03/utilities/utility/pairs/pairs.pair/abi.non_trivial_copy_move.pass.cpp
M libcxx/test/libcxx/algorithms/alg.modifying.operations/copy_move_nontrivial.pass.cpp
M libcxx/test/libcxx/algorithms/alg.modifying.operations/copy_move_trivial.pass.cpp
M libcxx/test/libcxx/algorithms/specialized_algorithms.compile.pass.cpp
M libcxx/test/libcxx/assertions/customize_verbose_abort.compile-time.pass.cpp
M libcxx/test/libcxx/assertions/modes/hardening_mode_incorrect_value.sh.cpp
M libcxx/test/libcxx/assertions/semantics/assertion_semantic_incorrect_value.sh.cpp
A libcxx/test/libcxx/containers/associative/debug.non-strict-weak-ordering.pass.cpp
A libcxx/test/libcxx/containers/associative/lower_upper_bound_non_strict_weak_order.pass.cpp
M libcxx/test/libcxx/depr/exception.unexpected/unexpected_disabled_cpp17.verify.cpp
M libcxx/test/libcxx/language.support/timespec_get.xopen.compile.pass.cpp
M libcxx/test/libcxx/transitive_includes.gen.py
M libcxx/test/libcxx/utilities/utility/pairs/pairs.pair/abi.non_trivial_copy_move.pass.cpp
M libcxx/test/selftest/modules/std-and-std.compat-module.sh.cpp
M libcxx/test/selftest/modules/std-module.sh.cpp
M libcxx/test/selftest/modules/std.compat-module.sh.cpp
A libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ostreambuf.copy.pass.cpp
A libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.segmented.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/append_range.pass.cpp
M libcxx/test/std/modules/std.compat.pass.cpp
M libcxx/test/std/modules/std.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.float.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.integer.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.pointer.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.gps/gps_time.ostream.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.tai/tai_time.ostream.pass.cpp
M libcxx/test/std/time/time.syn/formatter.gps_time.pass.cpp
M libcxx/test/support/stream_types.h
M libcxx/utils/ci/lnt/run-benchmarks
M libcxx/utils/libcxx/test/config.py
M libcxx/utils/libcxx/test/dsl.py
M libcxx/utils/libcxx/test/format.py
M libcxx/utils/libcxx/test/modules.py
M libsycl/docs/index.rst
A libsycl/include/sycl/__impl/async_handler.hpp
A libsycl/include/sycl/__impl/context.hpp
A libsycl/include/sycl/__impl/detail/default_async_handler.hpp
M libsycl/include/sycl/__impl/device.hpp
A libsycl/include/sycl/__impl/property_list.hpp
A libsycl/include/sycl/__impl/queue.hpp
M libsycl/include/sycl/sycl.hpp
M libsycl/src/CMakeLists.txt
A libsycl/src/context.cpp
A libsycl/src/detail/context_impl.cpp
A libsycl/src/detail/context_impl.hpp
M libsycl/src/detail/device_impl.cpp
M libsycl/src/detail/device_impl.hpp
M libsycl/src/detail/global_objects.cpp
M libsycl/src/detail/global_objects.hpp
M libsycl/src/detail/offload/offload_utils.hpp
M libsycl/src/detail/platform_impl.cpp
M libsycl/src/detail/platform_impl.hpp
A libsycl/src/detail/queue_impl.cpp
A libsycl/src/detail/queue_impl.hpp
M libsycl/src/device.cpp
M libsycl/src/platform.cpp
A libsycl/src/queue.cpp
M libunwind/src/Unwind-wasm.c
M lld/COFF/Driver.cpp
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Arch/Hexagon.cpp
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Arch/Mips.cpp
M lld/ELF/Arch/PPC.cpp
M lld/ELF/Arch/PPC64.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/Arch/X86.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/Config.h
M lld/ELF/InputSection.cpp
M lld/ELF/LTO.cpp
M lld/ELF/RelocScan.h
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Target.h
M lld/MachO/LTO.cpp
M lld/docs/WebAssembly.rst
M lld/docs/index.rst
M lld/test/COFF/base.test
M lld/test/COFF/heap.test
M lld/test/COFF/stack.test
R lld/test/ELF/Inputs/ztext.s
M lld/test/ELF/aarch64-branch-to-branch.s
M lld/test/ELF/aarch64-feature-bti.s
M lld/test/ELF/aarch64-funcinit64-invalid.s
M lld/test/ELF/aarch64-funcinit64.s
M lld/test/ELF/aarch64-range-thunk-extension-plt32.s
M lld/test/ELF/aarch64-reloc-gotpcrel32.s
M lld/test/ELF/aarch64-reloc-plt32.s
M lld/test/ELF/aarch64-undefined-weak.s
A lld/test/ELF/hexagon-duplex-relocs.s
M lld/test/ELF/lto/comdat-nodeduplicate.ll
M lld/test/ELF/riscv-reloc-leb128.s
M lld/test/ELF/riscv-vendor-relocations.s
A lld/test/ELF/riscv-vendor-relocations2.test
A lld/test/ELF/x86-x32-abs.s
M lld/test/ELF/ztext.s
A lld/test/MachO/lto-slp-vectorize-pm.ll
R lld/test/wasm/Inputs/archive1.ll
A lld/test/wasm/Inputs/archive1.s
R lld/test/wasm/Inputs/archive2.ll
A lld/test/wasm/Inputs/archive2.s
R lld/test/wasm/Inputs/archive3.ll
A lld/test/wasm/Inputs/archive3.s
R lld/test/wasm/Inputs/weak-alias.ll
A lld/test/wasm/Inputs/weak-alias.s
M lld/test/wasm/archive-export.test
R lld/test/wasm/archive.ll
A lld/test/wasm/archive.s
M lld/test/wasm/call-indirect.s
M lld/test/wasm/debuginfo.test
M lld/test/wasm/invalid-mvp-table-use.s
A lld/test/wasm/large-debug-section.test
A lld/test/wasm/large-section.test
M lld/test/wasm/multi-table.s
A lld/test/wasm/section-too-large.test
M lld/test/wasm/tls-export.s
R lld/test/wasm/weak-alias-overide.ll
A lld/test/wasm/weak-alias-overide.s
R lld/test/wasm/weak-alias.ll
A lld/test/wasm/weak-alias.s
M lld/tools/lld/CMakeLists.txt
M lld/wasm/InputChunks.h
M lld/wasm/OutputSections.cpp
M lldb/bindings/CMakeLists.txt
M lldb/bindings/lua/CMakeLists.txt
M lldb/bindings/python/CMakeLists.txt
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/docs/conf.py
M lldb/docs/dil-expr-lang.ebnf
M lldb/docs/index.rst
M lldb/docs/use/variable.rst
M lldb/examples/python/formatter_bytecode.py
M lldb/include/lldb/API/SBBlock.h
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Core/ThreadedCommunication.h
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/include/lldb/Expression/REPL.h
M lldb/include/lldb/Host/Config.h.cmake
M lldb/include/lldb/Host/HostInfoBase.h
M lldb/include/lldb/Host/LZMA.h
M lldb/include/lldb/Host/ProcessLaunchInfo.h
M lldb/include/lldb/Host/aix/HostInfoAIX.h
M lldb/include/lldb/Host/linux/HostInfoLinux.h
M lldb/include/lldb/Host/linux/Ptrace.h
A lldb/include/lldb/Host/windows/ConnectionConPTYWindows.h
M lldb/include/lldb/Host/windows/HostInfoWindows.h
M lldb/include/lldb/Host/windows/ProcessLauncherWindows.h
M lldb/include/lldb/Host/windows/PseudoConsole.h
M lldb/include/lldb/Initialization/SystemInitializerCommon.h
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/include/lldb/Target/Platform.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Target/ThreadList.h
M lldb/include/lldb/Target/ThreadPlanStepOverBreakpoint.h
M lldb/include/lldb/Utility/AnsiTerminal.h
M lldb/include/lldb/Utility/FileSpec.h
M lldb/include/lldb/Utility/LLDBLog.h
M lldb/include/lldb/Utility/UnimplementedError.h
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/source/API/CMakeLists.txt
M lldb/source/API/SBBlock.cpp
M lldb/source/API/SystemInitializerFull.cpp
M lldb/source/API/liblldb-private.exports
M lldb/source/Commands/CommandObjectApropos.cpp
M lldb/source/Commands/CommandObjectBreakpointCommand.cpp
M lldb/source/Commands/CommandObjectPlatform.cpp
M lldb/source/Commands/CommandObjectSource.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Commands/CommandObjectVersion.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Commands/CommandObjectWatchpointCommand.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Core/ThreadedCommunication.cpp
M lldb/source/DataFormatters/VectorType.cpp
M lldb/source/Expression/REPL.cpp
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/aix/HostInfoAIX.cpp
M lldb/source/Host/common/HostInfoBase.cpp
M lldb/source/Host/common/MonitoringProcessLauncher.cpp
M lldb/source/Host/common/ProcessLaunchInfo.cpp
M lldb/source/Host/linux/HostInfoLinux.cpp
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
A lldb/source/Host/windows/ConnectionConPTYWindows.cpp
M lldb/source/Host/windows/ConnectionGenericFileWindows.cpp
M lldb/source/Host/windows/HostInfoWindows.cpp
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
M lldb/source/Host/windows/PseudoConsole.cpp
M lldb/source/Initialization/SystemInitializerCommon.cpp
M lldb/source/Interpreter/Options.cpp
M lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp
M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.h
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericList.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlTree.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlVariant.cpp
M lldb/source/Plugins/Language/ObjC/NSArray.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeEncodingParser.cpp
M lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
M lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h
M lldb/source/Plugins/ObjectContainer/Mach-O-Fileset/ObjectContainerMachOFileset.cpp
M lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp
M lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
M lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp
M lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.cpp
M lldb/source/Plugins/Process/CMakeLists.txt
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/CMakeLists.txt
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.h
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCoreProperties.td
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm.cpp
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm.h
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm64.cpp
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm64.h
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_i386.cpp
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_i386.h
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_ppc64le.cpp
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_ppc64le.h
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_riscv64.cpp
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_riscv64.h
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_x86_64.cpp
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_x86_64.h
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ThreadFreeBSDKernelCore.cpp
A lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ThreadFreeBSDKernelCore.h
M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86.h
R lldb/source/Plugins/Process/FreeBSDKernel/CMakeLists.txt
R lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.cpp
R lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.h
R lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_arm64.cpp
R lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_arm64.h
R lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_i386.cpp
R lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_i386.h
R lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_x86_64.cpp
R lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_x86_64.h
R lldb/source/Plugins/Process/FreeBSDKernel/ThreadFreeBSDKernel.cpp
R lldb/source/Plugins/Process/FreeBSDKernel/ThreadFreeBSDKernel.h
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.h
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDPLog.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDPLog.h
M lldb/source/Plugins/Process/POSIX/ProcessPOSIXLog.cpp
M lldb/source/Plugins/Process/POSIX/ProcessPOSIXLog.h
M lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm.cpp
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm.h
M lldb/source/Plugins/Process/Utility/RegisterInfos_arm.h
M lldb/source/Plugins/Process/Utility/RegisterInfos_arm64.h
M lldb/source/Plugins/Process/Utility/RegisterInfos_arm64_sve.h
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindowsLog.cpp
M lldb/source/Plugins/Process/Windows/Common/arm/RegisterContextWindows_arm.cpp
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.h
M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
M lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM64.cpp
M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
M lldb/source/Plugins/Process/wasm/ProcessWasm.cpp
M lldb/source/Plugins/REPL/Clang/ClangREPL.cpp
M lldb/source/Plugins/REPL/Clang/ClangREPL.h
M lldb/source/Plugins/RegisterTypeBuilder/RegisterTypeBuilderClang.cpp
M lldb/source/Plugins/ScriptInterpreter/Lua/CMakeLists.txt
R lldb/source/Plugins/ScriptInterpreter/Lua/Lua.cpp
R lldb/source/Plugins/ScriptInterpreter/Lua/Lua.h
A lldb/source/Plugins/ScriptInterpreter/Lua/LuaState.cpp
A lldb/source/Plugins/ScriptInterpreter/Lua/LuaState.h
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.h
M lldb/source/Plugins/ScriptInterpreter/None/ScriptInterpreterNone.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.h
M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
M lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Symbol/SymbolContext.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/ThreadList.cpp
M lldb/source/Target/ThreadPlanStepOverBreakpoint.cpp
M lldb/source/Utility/ARM64_DWARF_Registers.h
M lldb/source/Utility/ARM64_ehframe_Registers.h
M lldb/source/Utility/LLDBLog.cpp
M lldb/source/Utility/ZipFile.cpp
M lldb/source/ValueObject/DILAST.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/source/ValueObject/ValueObjectSynthetic.cpp
M lldb/test/API/commands/expression/import-std-module/iterator/TestIteratorFromStdModule.py
M lldb/test/API/commands/frame/var-dil/basics/ArraySubscript/myArraySynthProvider.py
M lldb/test/API/commands/frame/var-dil/basics/BitFieldExtraction/TestFrameVarDILBitFieldExtraction.py
M lldb/test/API/commands/frame/var-dil/expr/Arithmetic/TestFrameVarDILArithmetic.py
M lldb/test/API/commands/frame/var-dil/expr/Arithmetic/main.cpp
M lldb/test/API/commands/help/TestHelp.py
M lldb/test/API/commands/process/attach/TestProcessAttach.py
M lldb/test/API/commands/watchpoints/watchpoint_commands/command/watchpoint_command.py
A lldb/test/API/functionalities/breakpoint/breakpoint_conditions/crashing_condition/Makefile
A lldb/test/API/functionalities/breakpoint/breakpoint_conditions/crashing_condition/TestCrashingCondition.py
A lldb/test/API/functionalities/breakpoint/breakpoint_conditions/crashing_condition/main.c
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/bitset/TestDataFormatterGenericBitset.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/coroutine_handle/TestCoroutineHandle.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/optional/TestDataFormatterGenericOptional.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/valarray/TestDataFormatterStdValarray.py
A lldb/test/API/functionalities/data-formatter/synthetic_subscript/Makefile
A lldb/test/API/functionalities/data-formatter/synthetic_subscript/TestSyntheticSubscript.py
A lldb/test/API/functionalities/data-formatter/synthetic_subscript/main.c
A lldb/test/API/functionalities/data-formatter/synthetic_subscript/thing_formatter.py
M lldb/test/API/functionalities/dyld-launch-linux/TestDyldLaunchLinux.py
A lldb/test/API/functionalities/gdb_remote_client/TestBatchedBreakpointStepOver.py
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/TestFreeBSDKernelLiveCore.py
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/TestFreeBSDKernelVMCore.py
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/kernel-amd64.yaml
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/kernel-arm64.yaml
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/kernel-i386.yaml
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/vmcore-amd64-full.bz2
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/vmcore-amd64-minidump.bz2
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/vmcore-arm64-minidump.bz2
A lldb/test/API/functionalities/postmortem/FreeBSD-Kernel-Core/vmcore-i386-minidump.bz2
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/TestFreeBSDKernelLive.py
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/TestFreeBSDKernelVMCore.py
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/kernel-amd64.yaml
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/kernel-arm64.yaml
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/kernel-i386.yaml
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/tools/README.rst
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/tools/copy-sparse.py
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/tools/libfbsdvmcore-hacks.patch
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/tools/lldb-minimize-processes.patch
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/tools/test.script
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/vmcore-amd64-full.bz2
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/vmcore-amd64-minidump.bz2
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/vmcore-arm64-minidump.bz2
R lldb/test/API/functionalities/postmortem/FreeBSDKernel/vmcore-i386-minidump.bz2
A lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentBatchedBreakpointStepOver.py
M lldb/test/API/lang/c/tls_globals/TestTlsGlobals.py
M lldb/test/API/lang/cpp/gmodules/alignment/TestPchAlignment.py
M lldb/test/API/lang/cpp/gmodules/basic/TestWithModuleDebugging.py
M lldb/test/API/lang/cpp/template/TestTemplateArgs.py
M lldb/test/API/lang/objc/failing-description/TestObjCFailingDescription.py
M lldb/test/API/lang/objc/hidden-ivars/TestHiddenIvars.py
M lldb/test/API/lang/objc/objc-ivar-stripped/TestObjCIvarStripped.py
M lldb/test/API/lang/objc/struct-description/TestObjCStructDescription.py
A lldb/test/API/linux/arm/tls_register/Makefile
A lldb/test/API/linux/arm/tls_register/TestArmLinuxTLSRegister.py
A lldb/test/API/linux/arm/tls_register/main.c
A lldb/test/API/linux/linker-symbols/Makefile
A lldb/test/API/linux/linker-symbols/TestLinkerSymbols.py
A lldb/test/API/linux/linker-symbols/linker.script
A lldb/test/API/linux/linker-symbols/main.cpp
M lldb/test/API/macosx/add-dsym/TestAddDsymDownload.py
M lldb/test/API/macosx/add-dsym/TestAddDsymMidExecutionCommand.py
M lldb/test/API/macosx/delay-init-dependency/TestDelayInitDependency.py
A lldb/test/API/python_api/block/Makefile
A lldb/test/API/python_api/block/TestFrameBlocks.py
A lldb/test/API/python_api/block/fn.c
A lldb/test/API/python_api/block/main.c
M lldb/test/API/python_api/event/TestEvents.py
M lldb/test/API/python_api/type/TestTypeList.py
M lldb/test/API/tools/lldb-dap/cancel/TestDAP_cancel.py
A lldb/test/API/tools/lldb-dap/cancel/busy_loop.py
M lldb/test/API/tools/lldb-dap/stopped-events/TestDAP_stopped_events.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/test/API/tools/lldb-dap/variables/children/TestDAP_variables_children.py
M lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/formatter.py
M lldb/test/Shell/ScriptInterpreter/Python/bytecode.test
M lldb/test/Shell/SymbolFile/NativePDB/inline_sites.test
M lldb/test/Shell/SymbolFile/NativePDB/lookup-by-types.cpp
M lldb/test/Shell/SymbolFile/NativePDB/tag-types.cpp
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ScopesRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
M lldb/tools/lldb-dap/Protocol/DAPTypes.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/SBAPIExtras.h
M lldb/tools/lldb-dap/Variables.cpp
M lldb/tools/lldb-dap/Variables.h
M lldb/tools/lldb-mcp/lldb-mcp.cpp
M lldb/tools/lldb-server/SystemInitializerLLGS.h
M lldb/tools/lldb-test/SystemInitializerTest.cpp
M lldb/unittests/DAP/DAPTypesTest.cpp
M lldb/unittests/DAP/Inputs/linux-x86_64.core.yaml
M lldb/unittests/DAP/Inputs/linux-x86_64.out.yaml
M lldb/unittests/DAP/ProtocolRequestsTest.cpp
M lldb/unittests/DAP/TestBase.cpp
M lldb/unittests/DAP/TestBase.h
M lldb/unittests/DAP/VariablesTest.cpp
M lldb/unittests/Host/SocketTest.cpp
M lldb/unittests/Host/common/CMakeLists.txt
A lldb/unittests/Host/common/Inputs/zip-test-no-extras.zip
M lldb/unittests/Host/common/ZipFileResolverTest.cpp
M lldb/unittests/Interpreter/TestCompletion.cpp
M lldb/unittests/Language/CPlusPlus/LibStdcppTupleTest.cpp
M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
M lldb/unittests/ScriptInterpreter/Lua/LuaTests.cpp
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
M lldb/unittests/Target/CMakeLists.txt
A lldb/unittests/Target/ScratchTypeSystemTest.cpp
M lldb/unittests/TestingSupport/Symbol/ClangTestUtils.h
M lldb/unittests/Utility/AnsiTerminalTest.cpp
M llvm/Maintainers.md
M llvm/cmake/modules/AddLLVM.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/cmake/modules/LLVM-Config.cmake
M llvm/cmake/modules/LLVMConfig.cmake.in
M llvm/cmake/modules/TableGen.cmake
M llvm/docs/AIToolPolicy.md
M llvm/docs/AMDGPUUsage.rst
R llvm/docs/Bugpoint.rst
M llvm/docs/CMake.rst
R llvm/docs/CommandGuide/bugpoint.rst
M llvm/docs/CommandGuide/dsymutil.rst
M llvm/docs/CommandGuide/index.rst
M llvm/docs/CommandGuide/llvm-extract.rst
M llvm/docs/CommandGuide/llvm-objdump.rst
M llvm/docs/DirectX/DXILResources.rst
M llvm/docs/HowToSetUpLLVMStyleRTTI.rst
M llvm/docs/LangRef.rst
M llvm/docs/NVPTXUsage.rst
M llvm/docs/Passes.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/Reference.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/SourceLevelDebugging.rst
M llvm/docs/TableGen/BackEnds.rst
M llvm/docs/TestSuiteGuide.md
R llvm/docs/TestSuiteMakefileGuide.rst
M llvm/docs/TestingGuide.rst
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/include/llvm/ADT/SmallString.h
M llvm/include/llvm/ADT/StringRef.h
M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
M llvm/include/llvm/Analysis/DependenceAnalysis.h
M llvm/include/llvm/Analysis/DominanceFrontier.h
M llvm/include/llvm/Analysis/DominanceFrontierImpl.h
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/include/llvm/Analysis/MemorySSA.h
M llvm/include/llvm/Analysis/ScopedNoAliasAA.h
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
M llvm/include/llvm/CodeGen/GlobalISel/Combiner.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/RuntimeLibcallUtil.h
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/CodeGen/ValueTypes.h
A llvm/include/llvm/CodeGen/pch.h
M llvm/include/llvm/CodeGenTypes/MachineValueType.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFLinkerCompileUnit.h
M llvm/include/llvm/DebugInfo/CodeView/CodeViewSymbols.def
M llvm/include/llvm/DebugInfo/CodeView/CodeViewTypes.def
M llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h
M llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
M llvm/include/llvm/IR/FMF.h
M llvm/include/llvm/IR/FixedMetadataKinds.def
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/MDBuilder.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/include/llvm/IR/Operator.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/include/llvm/IR/Value.h
A llvm/include/llvm/IR/pch.h
M llvm/include/llvm/LTO/Config.h
M llvm/include/llvm/LTO/LTO.h
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCGOFFAttributes.h
M llvm/include/llvm/MC/MCParser/MCAsmParser.h
M llvm/include/llvm/MC/MCSectionGOFF.h
M llvm/include/llvm/MC/MCSymbolGOFF.h
M llvm/include/llvm/MC/MCTargetOptions.h
M llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Support/AdvisoryLock.h
M llvm/include/llvm/Support/FileSystem.h
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
M llvm/include/llvm/Support/KnownFPClass.h
M llvm/include/llvm/Support/LockFileManager.h
M llvm/include/llvm/Support/ModRef.h
M llvm/include/llvm/TableGen/CodeGenHelpers.h
M llvm/include/llvm/TableGen/SearchableTable.td
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/Target.td
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/include/llvm/Target/TargetMachine.h
M llvm/include/llvm/TargetParser/TargetParser.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/Transforms/Coroutines/CoroShape.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/include/llvm/Transforms/IPO/IROutliner.h
M llvm/include/llvm/Transforms/IPO/MemProfContextDisambiguation.h
M llvm/include/llvm/Transforms/IPO/WholeProgramDevirt.h
M llvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h
M llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/include/llvm/Transforms/Utils/UnrollLoop.h
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/CmpInstAnalysis.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/CostModel.cpp
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/InstCount.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/LoopInfo.cpp
M llvm/lib/Analysis/MemorySSA.cpp
M llvm/lib/Analysis/MemorySSAUpdater.cpp
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/ScopedNoAliasAA.cpp
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CAS/OnDiskCommon.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
M llvm/lib/CodeGen/CMakeLists.txt
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/CodeGen/ExpandIRInsts.cpp
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/Combiner.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/IfConversion.cpp
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
Log Message:
-----------
rebase
Created using spr 1.3.7
Compare: https://github.com/llvm/llvm-project/compare/5a6e027ff819...80de1b7c6089
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