[all-commits] [llvm/llvm-project] 375d65: [CIR] Implement EH lowering to Itanium form and LL...
aokblast via All-commits
all-commits at lists.llvm.org
Wed Mar 11 01:05:07 PDT 2026
Branch: refs/heads/users/aokblast/readelf/pxnum_support
Home: https://github.com/llvm/llvm-project
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: 1a23e643be6b98fce376300e27383c2bf23061b9
https://github.com/llvm/llvm-project/commit/1a23e643be6b98fce376300e27383c2bf23061b9
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M mlir/test/IR/test-symbol-uses.mlir
M mlir/test/lib/IR/TestSymbolUses.cpp
Log Message:
-----------
[mlir] Fix assertion crash in test-symbol-uses with nested modules (#185069)
The `SymbolUsesPass` walked all nested `SymbolOpInterface` ops in a
module, including those belonging to nested symbol tables (e.g., nested
modules). When an external `func.func` inside a nested module had no
uses in the outer module's body region, it was incorrectly added to
`deadFunctions` for erasure. Since the outer module's `SymbolTable` does
not contain the inner module's symbols, the subsequent
`table.lookup(name)` assertion would fail with:
Assertion `table.lookup(name) && "expected no unknown operations"`
failed.
Fix by only tracking functions that are direct children of the enclosing
module, skipping functions owned by nested symbol tables.
Fixes #60583
Assisted-by: Claude Code
Commit: d4efbf10f183657c85bfed31b747f3d8f493ab31
https://github.com/llvm/llvm-project/commit/d4efbf10f183657c85bfed31b747f3d8f493ab31
Author: Tommy Chiang <ototot at google.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
A clang/test/CodeGen/bitcast-based-lvalue.c
Log Message:
-----------
[Clang][ExprConst] Handle APValue::LValue in BitCast (#184865)
Instead of marking the branch unreachable, emit an unsupported type
diagnostic and return false when encountering `APValue::LValue` in
`APValueToBufferConverter`.
A good example of this is:
```
long fn() {
return __builtin_bit_cast(long, (long)&fn);
}
```
Although `&fn` itself is a pointer type, the cast `(long)` converts it
to an integer type, which passes `checkBitCastConstexprEligibilityType`.
Thus, eventually, we see it in Converter, which does not expect an
LValue.
Fixes https://github.com/llvm/llvm-project/issues/44991
Commit: 7d48707a180cb972a11f61a2bca0a269f8681a3c
https://github.com/llvm/llvm-project/commit/7d48707a180cb972a11f61a2bca0a269f8681a3c
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M lldb/source/Commands/CommandObjectType.cpp
Log Message:
-----------
[lldb] Declare types of Python synthetic signatures (NFC) (#184914)
Similar to the changes in #182892
---------
Co-authored-by: Ebuka Ezike <yerimyah1 at gmail.com>
Commit: 70509b5e19645bcfd81d382d2cdb560eeb187da1
https://github.com/llvm/llvm-project/commit/70509b5e19645bcfd81d382d2cdb560eeb187da1
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M lldb/source/DataFormatters/FormatManager.cpp
A lldb/test/API/functionalities/data-formatter/synth_oneline_summaries/Makefile
A lldb/test/API/functionalities/data-formatter/synth_oneline_summaries/MyStringFormatter.py
A lldb/test/API/functionalities/data-formatter/synth_oneline_summaries/TestSyntheticOneLineSummaries.py
A lldb/test/API/functionalities/data-formatter/synth_oneline_summaries/main.c
Log Message:
-----------
[LLDB] Allow one-line summaries in the presence of synthetic child providers (#184926)
This is driven by the Swift language. In Swift many data types such as
Int, and String are structs, and LLDB provides summary formatters and
synthetic child providers for them. For String, for example, a summary
formatter pulls out the string data from the implementation, while a
synthetic child provider hides the implementation details from users, so
strings don't expand their children.
rdar://171646109
Commit: 3fc27dce3c99b3c49ef938871c1c019864274291
https://github.com/llvm/llvm-project/commit/3fc27dce3c99b3c49ef938871c1c019864274291
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M lldb/source/DataFormatters/FormatManager.cpp
Log Message:
-----------
[LLDB] Reformat comments
Commit: f305da7240b607141af69644eabbef4794005a96
https://github.com/llvm/llvm-project/commit/f305da7240b607141af69644eabbef4794005a96
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/test/CIR/CodeGen/pack-indexing.cpp
Log Message:
-----------
[CIR] Implement PackIndexingExpr for ComplexType (#184878)
Implement the PackIndexingExpr for ComplexType
Commit: bc8da0fa5af7b1b75ae01bb8829fe471ea085894
https://github.com/llvm/llvm-project/commit/bc8da0fa5af7b1b75ae01bb8829fe471ea085894
Author: Alexey Karyakin <akaryaki at qti.qualcomm.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
A llvm/test/MC/Hexagon/reloc-directive.s
Log Message:
-----------
[Hexagon] Support .reloc asm directive (#183849)
.reloc directive can be used in user assembly programs and created
internally by LLVM. In addition to Hexagon relocations, there are a few
generic names (BFD_RELOC_NONE, BFD_RELOC_8, BFD_RELOC_16,
and BFD_RELOC_32) that are mapped to Hexagon ones.
Commit: bb1d53bbd8726160ed2e45bb4170454b4d8d2d9b
https://github.com/llvm/llvm-project/commit/bb1d53bbd8726160ed2e45bb4170454b4d8d2d9b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.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] Support vector ISD::ABS using PABD instructions. (#184822)
Commit: 5f70043ac22f4b1de86f1fa141859bcec3e16531
https://github.com/llvm/llvm-project/commit/5f70043ac22f4b1de86f1fa141859bcec3e16531
Author: Eli Friedman <efriedma at qti.qualcomm.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Initialization.h
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/new-delete.cpp
Log Message:
-----------
[clang] Fix filler handling for new expression with unspecified bound. (#182203)
Array new with a runtime bound requires an "array filler" to initialize
elements which aren't explicitly initialized. Array new with an
unspecified bound doesn't need this; the array length is a compile-time
constant. Make sure SemaInit doesn't confuse the two cases.
Fixes #81157.
Commit: 05fa39de0ef2e1574f3f4d32b1527cb3d9fdd0ca
https://github.com/llvm/llvm-project/commit/05fa39de0ef2e1574f3f4d32b1527cb3d9fdd0ca
Author: Rohan Jacob-Rao <rohanjr at google.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/lib/Analysis/FixitUtil.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-parm-unsupported.cpp
Log Message:
-----------
[NFC][Clang][UnsafeBufferUsage] Check optional string before access. (#184867)
Without this fix, the new test case results in a crash due to the
unchecked optional access.
Commit: f5255b0d5ab853a56ad7bdce65c6f217d87d46b9
https://github.com/llvm/llvm-project/commit/f5255b0d5ab853a56ad7bdce65c6f217d87d46b9
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
Log Message:
-----------
[lldb][PlatformDarwin] Make LocateExecutableScriptingResourcesFromDSYM a public static (#185056)
This will allow us to unit-test it in a follow-up patch. We could test
`LocateExecutableScriptingResources` directly, but that requires a valid
`Module`/`ObjectFile`/`SymbolFile`. That's a lot of boilerplate/set to
ultimately just test the `dSYM` logic. The helper just takes
`FileSpec`s, which are much easier to construct in a test.
Commit: 42f3726080102a4e578734111cd9abf853c521fb
https://github.com/llvm/llvm-project/commit/42f3726080102a4e578734111cd9abf853c521fb
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Support/BLAKE3/BUILD.gn
Log Message:
-----------
Revert "[gn build] Guard the BLAKE3 assembly sources with platform" (#185077)
Reverts llvm/llvm-project#70110
Breaks gn build
Commit: 0311bb623a1e1bd101e517cfde4538039f65aa24
https://github.com/llvm/llvm-project/commit/0311bb623a1e1bd101e517cfde4538039f65aa24
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M llvm/docs/CommandGuide/llubi.rst
A llvm/test/tools/llubi/loadstore_be.ll
A llvm/test/tools/llubi/loadstore_le.ll
A llvm/test/tools/llubi/loadstore_misaligned.ll
A llvm/test/tools/llubi/loadstore_null.ll
A llvm/test/tools/llubi/loadstore_oob1.ll
A llvm/test/tools/llubi/loadstore_overaligned.ll
A llvm/test/tools/llubi/loadstore_poison.ll
A llvm/test/tools/llubi/loadstore_uaf.ll
A llvm/test/tools/llubi/store_dead.ll
M llvm/tools/llubi/lib/Context.cpp
M llvm/tools/llubi/lib/Context.h
M llvm/tools/llubi/lib/Interpreter.cpp
M llvm/tools/llubi/lib/Value.h
M llvm/tools/llubi/llubi.cpp
Log Message:
-----------
[llubi] Add support for load/store/lifetime markers (#182532)
Bytes are adjusted to respect the incoming byte type proposed in
https://discourse.llvm.org/t/rfc-add-a-new-byte-type-to-llvm-ir/89522.
Note that the current implementation of constant folding doesn't handle
bitcasts with weird types like `<8 x i3> to <3 x i8>`:
https://github.com/llvm/llvm-project/blob/49de34459c99b33c27aae4596ed5e67ce3d89eae/llvm/lib/Analysis/ConstantFolding.cpp#L223-L232
So I take the result from Alive2 as reference:
https://alive2.llvm.org/ce/z/ZGA_xP
Commit: 3d108be3598e11e02d461448795c6ff424c627be
https://github.com/llvm/llvm-project/commit/3d108be3598e11e02d461448795c6ff424c627be
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[Bazel] Fix build for 00e247a
d442cc30a9f2bb83f75fead811050137905d9fc4 tried to fix this, but missed
some test dependencies.
Commit: afc4af56ac63df493ed86c437ba0f0b08d53f555
https://github.com/llvm/llvm-project/commit/afc4af56ac63df493ed86c437ba0f0b08d53f555
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/test/CIR/CodeGen/array.cpp
A clang/test/CIR/IR/invalid-const-array.cir
Log Message:
-----------
[CIR] Fix array constant initialization with trailing zeros (#184933)
If an array is explicitly initialized with more than eight non-zero
values followed by a number of explicit zero initializers, CIR generates
a constant record initializer with a constant array that is declared as
the size of the non-zero initializers but with the explicit zero
initializers included in the array initialization attribute. This
resulted in an error when we tried to lower that attribute to LLVM IR.
This patch fixes that problem and adds a verifier to ConstantArrayAttr
to check for that condition.
Commit: e2f7f8365866945b2eb6763566385be0da255068
https://github.com/llvm/llvm-project/commit/e2f7f8365866945b2eb6763566385be0da255068
Author: Vigneshwar Jayakumar <vigneshwar.jayakumar at amd.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/lib/CodeGen/CGExprAgg.cpp
A clang/test/CodeGenHIP/placement-new-addrspace.hip
M clang/test/OpenMP/amdgcn_sret_ctor.cpp
Log Message:
-----------
[Clang] Fix invalid sret addrspacecast for placement new on HIP (#183639)
When a HIP kernel uses placement new with a function returning an
aggregate via sret (e.g. `new (out) T(make_t())`), and the placement
destination is in global memory (addrspace 1), the sret pointer was
addrspacecast'd to addrspace 5 (private), producing an invalid pointer
that faults at runtime.
Instead of casting the caller's pointer directly, materialise a
temporary alloca in the callee's expected address space, pass that as
the sret argument, and copy the result back to the original destination
after the call.
Commit: c3f0a2c375c26d337a3c86306d6115f36fe685c3
https://github.com/llvm/llvm-project/commit/c3f0a2c375c26d337a3c86306d6115f36fe685c3
Author: Shivam Kunwar <75530356+phyBrackets at users.noreply.github.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M llvm/test/Transforms/Reassociate/reassociate-decrement-dbgvalue.ll
Log Message:
-----------
[DebugInfo][Reassociate] Use debug records instead of intrinsics in test (#185031)
As per
https://github.com/llvm/llvm-project/pull/182730#pullrequestreview-3904549897
Commit: 3da28bfbce4d7ac8eaea6b8489031d01748d4fc5
https://github.com/llvm/llvm-project/commit/3da28bfbce4d7ac8eaea6b8489031d01748d4fc5
Author: Dave Bartolomeo <dave_bartolomeo at apple.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang-tools-extra/clangd/Diagnostics.cpp
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/Diagnostic.td
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Sarif.h
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/Sarif.cpp
M clang/lib/Frontend/SARIFDiagnostic.cpp
M clang/lib/Frontend/SARIFDiagnosticPrinter.cpp
M clang/test/Analysis/lit.local.cfg
A clang/test/Frontend/Inputs/expected-sarif/sarif-diagnostics.cpp.sarif
A clang/test/Frontend/Inputs/expected-sarif/sarif-legacy-stable-ids.c.sarif
M clang/test/Frontend/sarif-diagnostics.cpp
A clang/test/Frontend/sarif-legacy-stable-ids.c
M clang/test/TableGen/DiagnosticBase.inc
M clang/test/TableGen/deferred-diag.td
M clang/test/lit.cfg.py
M clang/tools/diagtool/DiagnosticNames.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[clang][diagnostics] Stable IDs for Clang diagnostics (#168153)
Part of the implementation of [[RFC] Emitting Auditable SARIF Logs from
Clang](https://discourse.llvm.org/t/rfc-emitting-auditable-sarif-logs-from-clang/88624)
SARIF diagnostics require that each rule have a stable `id` property to
identify that rule across runs, even when the compiler or analysis tool
has changed. We were previously setting the `id` property to the numeric
value of the enum value for that diagnostic within the Clang
implementation; this value changes whenever an unrelated diagnostic is
inserted or removed earlier in the list.
This change sets the `id` property to the _text_ of that same enum
value. This value would only change if someone renames the enum value
for that diagnostic, which should happen much less frequently than
renumbering.
For now, we will just assume that renaming happens infrequently enough
that existing consumers of SARIF will not notice. In the future, we
could take advantage of SARIF's support for `deprecatedIds`, which let a
rule specify the IDs by which it was previously known. This would let us
rename, split, or combine diagnostics while still being able to
correlate the new diagnostic IDs with older SARIF logs and/or
suppressions.
Nothing in this change affects how warnings are configured on the
command line or in `#pragma clang diagnostic`. Those still use warning
groups, not the stable IDs.
### Potential discussion topics
>From @AaronBallman on the RFC:
>We believe some open questions remain (things like whether a unique ID
is on the per-diagnostic level or on the diagnostic group level, whether
the ID is explicitly spelled in the .td file or implicitly generated,
whether we document the IDs, etc), but we think those questions are best
decided in PR discussions with interested parties rather than an RFC.
As a starting point, this PR proposes the following answers to those
open questions:
- _whether a unique ID is on the per-diagnostic level or on the
diagnostic group level_ - per-diagnostic level. For my justification,
see [this portion of the RFC
discussion](https://discourse.llvm.org/t/rfc-emitting-auditable-sarif-logs-from-clang/88624/11?u=dbartol.).
- _whether the ID is explicitly spelled in the .td file or implicitly
generated_ - Implicitly generated, but I'd be happy to have a way to
explicitly specify it. I just think that the in-code identifier is a
reasonable default, and manually reviewing the IDs of thousands of
existing diagnostics would add little benefit.
- _whether we document the IDs_ - For now, the IDs are only exposed to
the user (and other tools) in the SARIF file, so I don't think we need
to document these. We could certainly add this information to the output
of `diagtool` in the future if users find it relevant.
Commit: 57f1ec6e0a4ec3cd4a485ca1ec85e3efe541933b
https://github.com/llvm/llvm-project/commit/57f1ec6e0a4ec3cd4a485ca1ec85e3efe541933b
Author: Saleem Abdulrasool <compnerd at compnerd.org>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
Log Message:
-----------
builtins: adjust FP80 source management (#183871)
We would previously include the FP80 sources into the Windows build if
we built with the GNU driver rather than the `cl` driver.
Commit: 9cc615a2f5cfbdd28dc835758c35c12cba65e61f
https://github.com/llvm/llvm-project/commit/9cc615a2f5cfbdd28dc835758c35c12cba65e61f
Author: Afonso Rafael (Gafanhoto) <afonsorafael at sapo.pt>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
Log Message:
-----------
[LoopFusion] remove else after return (NFC) (#184993)
A bit of a small nitpick, close it if unnecessary. (clang-tidy warnings)
Commit: 216a3f1629622b6cd6c919c2625815970ae7ea30
https://github.com/llvm/llvm-project/commit/216a3f1629622b6cd6c919c2625815970ae7ea30
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 3da28bf (#185082)
This fixes 3da28bfbce4d7ac8eaea6b8489031d01748d4fc5.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 097122cb90e8997834a5a1bf3bd10bb66f5687d1
https://github.com/llvm/llvm-project/commit/097122cb90e8997834a5a1bf3bd10bb66f5687d1
Author: schittir <sindhu.chittireddy at intel.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/lib/CodeGen/CGExprCXX.cpp
A clang/test/CodeGenCXX/microsoft-abi-diamond-template-multiple-vbptrs.cpp
Log Message:
-----------
[clang][CodeGen] Fix size calculation in vbptr split memory region in EmitNullBaseClassInitialization (#184558)
When splitting memory stores around multiple virtual base pointers
(vbptrs)
in the Microsoft ABI, the calculation for the size of the memory region
after
each vbptr was incorrect.
The bug/old calculation: SplitAfterSize = LastStoreSize -
SplitAfterOffset
This subtracts an absolute offset from a relative size, causing
incorrect (too small) sizes after the second vbptr.
The correct size should be:
SplitAfterSize = (LastStoreOffset + LastStoreSize) - SplitAfterOffset
Since all store regions extend to the end of the non-virtual portion
(NVSize),
this patch uses the simplified form:
SplitAfterSize = NVSize - SplitAfterOffset
The bug causes the assertion failure: "negative store size!"
Fixes https://github.com/llvm/llvm-project/issues/42101
Commit: 918d0feb76a230ad58185cc25f192201ccf614d3
https://github.com/llvm/llvm-project/commit/918d0feb76a230ad58185cc25f192201ccf614d3
Author: Ryan Mitchell <Ryan.Mitchell at amd.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/test/CodeGen/AMDGPU/asyncmark-pregfx12.ll
A llvm/test/CodeGen/AMDGPU/asyncmark-waitcnt.mir
Log Message:
-----------
[AMDGPU] fix asyncmark soft waitcnt bug (#184851)
Asyncmarks record the current wait state and so should not allow waitcnts that occur after them to be merged into waitcnts that occur before.
Commit: 2cb01dc5b6dcc8b935ae3316626d8a8b87192019
https://github.com/llvm/llvm-project/commit/2cb01dc5b6dcc8b935ae3316626d8a8b87192019
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang-tools-extra/clang-doc/benchmarks/CMakeLists.txt
M clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp
Log Message:
-----------
[clang-doc] Fix benchmark not compiling (#185065)
CI didn't flag that the benchmark was using the outdated Ctx call
when landing the Mustache MD patch since this benchmark isn't tested.
Also added missing libraries in CMake that prevented me from building
the benchmark locally.
Commit: d32ffdea7aa4be414f2efc4a77257bcf0709e8a0
https://github.com/llvm/llvm-project/commit/d32ffdea7aa4be414f2efc4a77257bcf0709e8a0
Author: adams381 <adams at nvidia.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
A clang/docs/ClangIRABILowering.md
M clang/docs/index.rst
Log Message:
-----------
[CIR] Add MLIR ABI Lowering design document
Design document for MLIR dialect-agnostic calling convention
lowering that builds on the LLVM ABI Lowering Library
(llvm/lib/ABI/) as the single source of truth for ABI
classification. Dialects use the library via an adapter layer:
ABITypeMapper maps dialect types to abi::Type*, the library
classifies arguments and returns, and a dialect-specific
ABIRewriteContext applies the decisions back to IR operations.
Targets x86_64 and AArch64, with parity against Classic Clang
CodeGen validated through differential testing.
Commit: ab10f0848b22417afc6352051b6e26c7704084d2
https://github.com/llvm/llvm-project/commit/ab10f0848b22417afc6352051b6e26c7704084d2
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
M clang/test/CIR/CodeGen/thunks.cpp
Log Message:
-----------
[CIR] Fix a crash when source location is unknown (#185059)
When we call `getLoc()` with an invalid `SourceLocation` and
`currSrcLoc` is also invalid, we were crashing or asserting. I tracked
down one case where this was happening (generating an argument in a
vtable thunk) and fixed that to provide a location. I also am updating
the `getLoc()` implementation so that it will use an unknown location in
release builds rather than crashing because the location isn't critical
for correct compilation.
Commit: a8783dc6baef19f93205a03f3ee74f7f1d2f28b6
https://github.com/llvm/llvm-project/commit/a8783dc6baef19f93205a03f3ee74f7f1d2f28b6
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M lldb/test/Shell/ScriptInterpreter/Python/bytecode.test
Log Message:
-----------
[lldb][bytecode] Disable bytecode.test on windows (#185096)
The test is failing on the lldb-x86_64-win buildbot.
Commit: 5230955af7934437636c803a6eea328c289399d3
https://github.com/llvm/llvm-project/commit/5230955af7934437636c803a6eea328c289399d3
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/include/clang/Options/Options.td
M flang/include/flang/Evaluate/common.h
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Lower/LoweringOptions.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Passes/Pipelines.h
M flang/include/flang/Semantics/semantics.h
A flang/include/flang/Support/FPMaxminBehavior.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/LoweringOptions.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Support/CMakeLists.txt
A flang/lib/Support/FPMaxminBehavior.cpp
A flang/test/Driver/ffp-maxmin-behavior.f90
A flang/test/Lower/OpenACC/acc-reduction-maxmin.f90
A flang/test/Lower/fp-maxmin-behavior.f90
M flang/tools/bbc/bbc.cpp
M flang/tools/tco/tco.cpp
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/test/Dialect/OpenACC/ops.mlir
Log Message:
-----------
[flang,acc] Support -ffp-maxmin-behavior option in lowering. (#184730)
This patch adds `flang -fc1` option `-ffp-maxmin-behavior` and
propagates it throughout Flang, so that semantics context,
lowering and the pass pipeline builder can use it.
MAX/MIN intrinsic and OpenACC max/min reduction lowering
are now controlled by the option.
I kept the `Legacy` mode, which is the default and matches the current
behavior. I am going to test and merge a follow-up patch that
replaces `Legacy` with `Portable`.
RFC:
https://discourse.llvm.org/t/flang-canonical-and-optimizable-representation-for-min-max/90037
Commit: bdec4da38d72caa3166261c28af283f3a36de734
https://github.com/llvm/llvm-project/commit/bdec4da38d72caa3166261c28af283f3a36de734
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.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] Only support sshlsat for splat immediate shift amounts. (#184886)
Fixes cannot select errors for other types of shift amounts.
I've made a new RISCVISD node that only allows an immediate operand.
It's assumed that the lowering code will only allow valid immediates so
I'm not using a TImmLeaf in the match.
Commit: 337fed353d771d3425d06393637fdc956097b51e
https://github.com/llvm/llvm-project/commit/337fed353d771d3425d06393637fdc956097b51e
Author: Vigneshwar Jayakumar <vigneshwar.jayakumar at amd.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/lib/CodeGen/CGExprAgg.cpp
A clang/test/CodeGenHIP/sret-nontrivial-copyable.hip
M clang/test/OpenMP/amdgcn_sret_ctor.cpp
Log Message:
-----------
[Clang] Fix EmitAggregateCopy assertion for non-trivially-copyable sr… (#185091)
…et types
Fix for buildbot crash on #183639
The UseTemp path in AggExprEmitter::withReturnValueSlot copies back via
EmitAggregateCopy, which asserts that the type has a trivial copy/move
constructor or assignment operator. Gate the DestASMismatch condition on
isTriviallyCopyableType so that non-trivially-copyable types (e.g.
std::exception_ptr) fall through to the addrspacecast path instead.
Fix buildbot crash:
https://lab.llvm.org/buildbot/#/builders/73/builds/19803
Commit: 4d53c42f55c06e9dbae48723e366f391ccd9312f
https://github.com/llvm/llvm-project/commit/4d53c42f55c06e9dbae48723e366f391ccd9312f
Author: Nico Weber <thakis at chromium.org>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
Log Message:
-----------
builtins: Make cmake formatting self-consistent aftr #183871
No behavior change.
Commit: eada0f57b47309e6a74d83e3dbef5dca71d3b409
https://github.com/llvm/llvm-project/commit/eada0f57b47309e6a74d83e3dbef5dca71d3b409
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang-tools-extra/clang-doc/assets/clang-doc-mustache.css
M clang-tools-extra/clang-doc/assets/head-template.mustache
M clang-tools-extra/clang-doc/assets/navbar-template.mustache
M clang-tools-extra/test/clang-doc/basic-project.mustache.test
Log Message:
-----------
[clang-doc] Add button toggle for light/dark theme (#181587)
The user can now manually toggle the light or dark theme instead of
waiting for the system theme to change.
Also fixes a typo that caused some overflow issues even when there was
no content to cause an overflow.
Commit: ae4e71241f0323ba3ceecc9922713628b2d9c967
https://github.com/llvm/llvm-project/commit/ae4e71241f0323ba3ceecc9922713628b2d9c967
Author: Sy Brand <sy.brand at fastly.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp
M llvm/test/CodeGen/WebAssembly/export-name.ll
M llvm/test/CodeGen/WebAssembly/import-module.ll
M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-options.ll
M llvm/test/MC/WebAssembly/export-name-invalid.s
M llvm/test/MC/WebAssembly/export-name.s
M llvm/test/MC/WebAssembly/import-module-invalid.s
M llvm/test/MC/WebAssembly/import-module.s
M llvm/test/MC/WebAssembly/import-name-invalid.s
Log Message:
-----------
[MC][WebAssembly] Allow strings for import modules and names in asm (#182896)
Current tooling for the WebAssembly component model uses import modules
and names such as `$root` and `[thread-index]`. Importing these from
assembly files requires support for non-valid identifiers in
`.import_name` and `.import_module` directives. This PR adds support for
specifying those as strings, e.g.:
```asm
.import_module __wasm_component_model_builtin_thread_index, "$root"
.import_name __wasm_component_model_builtin_thread_index, "[thread-index]"
```
Commit: a99d4a6311443bafd8b2de343a7f2213bd08011d
https://github.com/llvm/llvm-project/commit/a99d4a6311443bafd8b2de343a7f2213bd08011d
Author: lonely eagle <2020382038 at qq.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M mlir/lib/Tools/mlir-reduce/MlirReduceMain.cpp
Log Message:
-----------
[mlir][reducer] Add split-input-file to mlir-reduce (#184970)
The tests for mlir-reduce are currently scattered. To centralize the
tests for mlir-reduce, I added the split-input-file feature to
mlir-reduce.It is part of
https://github.com/llvm/llvm-project/pull/184974.
Commit: b87cf50b6c5ab917a3443671ed6ae53ce08ed35b
https://github.com/llvm/llvm-project/commit/b87cf50b6c5ab917a3443671ed6ae53ce08ed35b
Author: Demetrius Kanios <demetrius at kanios.net>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
Log Message:
-----------
[WebAssembly] Remove the `wasm-disable-fix-irreducible-control-flow-pass` switch (#185072)
This removes the `wasm-disable-fix-irreducible-control-flow-pass`
switch.
It was originally added in #67715 as a way to avoid the potentially
absurd compile times the pass used to bring. However with the successful
merge of #184441, the pass itself has been fixed to avoid this issue.
Given that, it is no longer necessary nor desirable to keep this switch.
Commit: c17200033d057aa490fe5b68bb0c9d10cd9d67c9
https://github.com/llvm/llvm-project/commit/c17200033d057aa490fe5b68bb0c9d10cd9d67c9
Author: Zack Johnson <zacklj89 at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/test/Instrumentation/AddressSanitizer/basic-msvc64.ll
Log Message:
-----------
[ASan][Windows] Fixing Windows shadow memory address for arm64 (#184902)
This is a prerequisite for full ARM64 Windows ASan support. The runtime
interception changes needed to make ASan functional end-to-end on ARM64
Windows will be opened separately.
Motivated by https://github.com/microsoft/STL/pull/6095 (more
specifically [this reference to
clang-cl](https://github.com/microsoft/STL/pull/6095#:~:text=Not%20enabling%20GH_002030_asan_annotate_string%20and%20GH_002030_asan_annotate_vector%20yet%20due%20to%20Clang%20issues.))
The latest MSVC toolset includes ARM64 AddressSanitizer support. This
change adds AArch64 to the Windows 64-bit shadow mapping condition when
compiling with `-fsanitize=address` with `clang-cl`. Without this,
consumers on Windows who target ARM64 with `clang-cl -fsanitize=address`
and then link with `link.exe` will see this at runtime:
```text
ERROR: AddressSanitizer: access-violation on unknown address
...
```
since the shadow memory offset is not properly assigned. Windows ARM64
uses the same dynamic shadow allocation strategy as x64 via
`__asan_shadow_memory_dynamic_address`.
Commit: 97cf8bf220763a6a963d6229ab36dae1ed695ae3
https://github.com/llvm/llvm-project/commit/97cf8bf220763a6a963d6229ab36dae1ed695ae3
Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
M flang/test/Transforms/FIRToMemRef/array-coor-block-arg.mlir
Log Message:
-----------
[flang] materialize fir.box when it is from a block argument (#184898)
We have to materialize `fir.box` before adding a `fir.convert` to a
memref type. Otherwise we get:
`'fir.convert' op invalid type conversion'!fir.box<!fir.array<?xi32>>' /
'memref<?xi32, strided<[?], offset: ?>>'`
Commit: 2c8c39a70837c03f550d83272e01d019ba28965c
https://github.com/llvm/llvm-project/commit/2c8c39a70837c03f550d83272e01d019ba28965c
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/docs/CommandGuide/llubi.rst
R llvm/test/tools/llubi/loadstore_be.ll
R llvm/test/tools/llubi/loadstore_le.ll
R llvm/test/tools/llubi/loadstore_misaligned.ll
R llvm/test/tools/llubi/loadstore_null.ll
R llvm/test/tools/llubi/loadstore_oob1.ll
R llvm/test/tools/llubi/loadstore_overaligned.ll
R llvm/test/tools/llubi/loadstore_poison.ll
R llvm/test/tools/llubi/loadstore_uaf.ll
R llvm/test/tools/llubi/store_dead.ll
M llvm/tools/llubi/lib/Context.cpp
M llvm/tools/llubi/lib/Context.h
M llvm/tools/llubi/lib/Interpreter.cpp
M llvm/tools/llubi/lib/Value.h
M llvm/tools/llubi/llubi.cpp
Log Message:
-----------
Revert "[llubi] Add support for load/store/lifetime markers" (#185101)
Reverts llvm/llvm-project#182532 to unblock CI.
The original patch causes some test failures related to undef bits, as
it incorrectly assumes `std::uniform_int_distribution` returns the same
result with different C++ stdlib vendors.
Commit: bc55e5e4b0e0e14839a6b49abfd1be7094925269
https://github.com/llvm/llvm-project/commit/bc55e5e4b0e0e14839a6b49abfd1be7094925269
Author: Nico Weber <thakis at chromium.org>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
Log Message:
-----------
[gn] port 3da28bfbce4d7a (DiagnosticStableIDs)
Commit: fef16a71d3fa9c2ec63233a63d124f10e2c8ba91
https://github.com/llvm/llvm-project/commit/fef16a71d3fa9c2ec63233a63d124f10e2c8ba91
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M flang/test/Lower/location.f90
M mlir/include/mlir/Dialect/Index/IR/IndexOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/test/CAPI/irdl.c
M mlir/test/Dialect/GPU/shuffle-rewrite.mlir
M mlir/test/Dialect/GPU/sparse-roundtrip.mlir
M mlir/test/Dialect/SparseTensor/GPU/gpu_spgemm_lib.mlir
M mlir/test/Dialect/Vector/vector-warp-distribute.mlir
M mlir/test/Dialect/XeGPU/sg-to-wi-experimental-unit.mlir
M mlir/test/IR/array-of-attr.mlir
M mlir/test/mlir-tblgen/attr-or-type-format-roundtrip.mlir
M mlir/test/mlir-tblgen/attr-or-type-format.td
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
M mlir/tools/mlir-tblgen/AttrOrTypeFormatGen.cpp
Log Message:
-----------
[mlir][ODS] Fix notorious double-space bug in op printers (#184253)
When an op's assembly format prints an attribute via
`printStrippedAttrOrType`, two independent space-emission mechanisms
would fire: the op format generator emits a space before each argument,
and the attribute's generated `print` method also emits a leading space
(`shouldEmitSpace` initialized to true). This caused double spaces like
`gpu.shuffle xor`.
The usual workaround for this was to add double backticks to consume the
leading space.
Fixed by removing the leading space from generated attr/type `print()`
methods and compensating in the print dispatcher by conditionally adding
a space between the mnemonic and `print` call when the format starts
with a name or keyword rather than punctuation.
Also remove some workarounds for the double-spacing in op formats and
fix tests that now don't have leading spaces.
Assisted-by: claude
Commit: 06f7cd439c9114b64cd134f3c42639dfb94ae4df
https://github.com/llvm/llvm-project/commit/06f7cd439c9114b64cd134f3c42639dfb94ae4df
Author: Deric C. <cheung.deric at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/mul.hlsl
A clang/test/SemaHLSL/BuiltIns/mul-errors.hlsl
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
A llvm/test/CodeGen/DirectX/matrix-multiply.ll
Log Message:
-----------
[HLSL][DirectX] Implement HLSL `mul` function and DXIL lowering of `llvm.matrix.multiply` (#184882)
Fixes #99138
- Defines a `__builtin_hlsl_mul` clang builtin in `Builtins.td`.
- Links the `__builtin_hlsl_mul` clang builtin with
`hlsl_alias_intrinsics.h` under the name `mul` for matrix cases
- Implement scalar and vector elementwise multiplication cases of the
`mul` function in `hlsl_intrinsics.h` and `hlsl_intrinsic_helpers.h`
- Adds sema for `__builtin_hlsl_mul` to `CheckBuiltinFunctionCall` in
`SemaHLSL.cpp`
- Adds codegen for `__builtin_hlsl_mul` to `EmitHLSLBuiltinExpr` in
`CGHLSLBuiltins.cpp`
- Vector-vector cases lower to `dot` (except double vectors, which
expands to scalar multiply-adds).
- Matrix-matrix, matrix-vector, and vector-matrix multiplication lower
to the `llvm.matrix.multiply` intrinsic
- Adds codegen tests to `clang/test/CodeGenHLSL/builtins/mul.hlsl`
- Adds sema tests to `clang/test/SemaHLSL/BuiltIns/mul-errors.hlsl`
- Implements lowering of the `llvm.matrix.multiply` intrinsic to DXIL in
`DXILIntrinsicExpansion.cpp`
Note: Currently the SPIRV backend does not support row-major matrix
memory layouts when lowering matrix multiply, and just assumes
column-major layout. Therefore this PR also makes the DirectX backend
only assume column-major layout. Implementing support for row-major
order shall be done in a separate PR. (Tracked by
https://github.com/llvm/llvm-project/issues/184906)
This PR locally passes the `mul` offload tests in both DirectX 12 and
Vulkan: https://github.com/llvm/offload-test-suite/pull/941
Assisted-by: claude-opus-4.6
Commit: 6bd99efec167a6f3319a2405ebca607619e07411
https://github.com/llvm/llvm-project/commit/6bd99efec167a6f3319a2405ebca607619e07411
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
Log Message:
-----------
[flang][cuda] Add hasManagedOrUnifedSymbols attribute to cuf.data_transfer op (#185106)
Add an attribute to signal the presence of managed or unified symbols in
the data transfer. In some case, the presence of such symbols require to
insert synchronization. Adding the attribute in the op during lowering
facilitate the recognition of such data transfer.
Commit: ab5844d2e7c57234257138f867ecd7d066014374
https://github.com/llvm/llvm-project/commit/ab5844d2e7c57234257138f867ecd7d066014374
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
M llvm/test/CodeGen/AMDGPU/fold-gep-offset.ll
M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm-gfx12.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm-gfx12.mir
Log Message:
-----------
[AMDGPU] Disable negative imm offset for async load/store instructions (#185078)
They are not allowed by the HW.
Commit: 65f39a16abf651008185839459fb330258800a62
https://github.com/llvm/llvm-project/commit/65f39a16abf651008185839459fb330258800a62
Author: Christopher Di Bella <cjdb at google.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M libcxx/include/__split_buffer
M libcxx/include/__vector/vector.h
Log Message:
-----------
[libcxx] Add `__split_buffer::__swap_layouts` (#180102)
This commit simplifies the cumbersome process of swapping the respective
layout members for `__split_buffer` and `vector`.
Commit: 89d69363a5f6819078e181265d56781c3cf80cad
https://github.com/llvm/llvm-project/commit/89d69363a5f6819078e181265d56781c3cf80cad
Author: David Green <david.green at arm.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-build-vector.ll
M llvm/test/CodeGen/AArch64/bf16-imm.ll
M llvm/test/CodeGen/AArch64/f16-imm.ll
M llvm/test/CodeGen/AArch64/fabs-combine.ll
M llvm/test/CodeGen/AArch64/fdiv-const.ll
M llvm/test/CodeGen/AArch64/fp-maximumnum-minimumnum.ll
M llvm/test/CodeGen/AArch64/half-precision-signof-no-assert.ll
M llvm/test/CodeGen/AArch64/isinf.ll
M llvm/test/CodeGen/AArch64/known-never-nan.ll
Log Message:
-----------
[AArch64][GlobalISel] Add more gisel test coverage. NFC
Commit: dc8de1083e1f1392c220cf64fe429c027867e0ba
https://github.com/llvm/llvm-project/commit/dc8de1083e1f1392c220cf64fe429c027867e0ba
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU][SIInsertWaitcnts][NFC] Simplify logic in GFX12Plus::applyPreexistingWaitcnts (#184925)
The loop is collecting the first instruction of each waitcnt kind and is
erasing the rest, with the exception of DEPCTR which needs more checks.
The existing code was factoring out the instruction deletion and the
setting of the collected instruction variables. But the special handling
for DEPCTR and the in-loop deletion of `S_WAITCNT_lds_direct` was just
complicating the logic.
Commit: d34f17904bd4fa51c1ec778ce8152e420f766304
https://github.com/llvm/llvm-project/commit/d34f17904bd4fa51c1ec778ce8152e420f766304
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn-exp.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.row.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize rules for amdgcn_exp/exp_row (#181956)
Commit: 6dea289815b433ab88bcbb530f7edaa9c7784cbe
https://github.com/llvm/llvm-project/commit/6dea289815b433ab88bcbb530f7edaa9c7784cbe
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/test/CIR/CodeGen/try-catch-tmp.cpp
Log Message:
-----------
[CIR] Implement reference type in init catch param (#184442)
Implement init support for reference type in the init catch param
Commit: 1cdcee267c8d03064b887488ed00d78c4775b365
https://github.com/llvm/llvm-project/commit/1cdcee267c8d03064b887488ed00d78c4775b365
Author: Deric C. <cheung.deric at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/test/CodeGenHLSL/BasicFeatures/MatrixExplicitTruncation.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixImplicitTruncation.hlsl
Log Message:
-----------
[HLSL][Matrix] Make matrix truncation respect default matrix memory layout (#184280)
Fixes #183127 and #184371
This PR makes the matrix truncation cast implementation use the new
matrix flattened index helper functions introduced by #182904 so that it
reads elements from the source matrix using the default matrix memory
layout instead of always assuming column-major order.
This PR also fixes a bug where matrix truncation truncated the wrong
elements.
Assisted-by: claude-opus-4.6
Commit: 43f78384e927538b2c4c6e83d5f0feb0f17e1427
https://github.com/llvm/llvm-project/commit/43f78384e927538b2c4c6e83d5f0feb0f17e1427
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64CollectLOH.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
M llvm/lib/Target/AArch64/AArch64PromoteConstant.cpp
M llvm/lib/Target/AArch64/AArch64SRLTDefineSuperRegs.cpp
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
Log Message:
-----------
[AArch64] Fix more typos (NFC)
Fix more typos in the AArch64 codebase using the
https://github.com/crate-ci/typos Rust package.
commit-id:9f4d826d
Reviewers: davemgreen
Pull Request: https://github.com/llvm/llvm-project/pull/183086
Commit: cf21ea9c99c120977c3817efdd5b0e507f68333d
https://github.com/llvm/llvm-project/commit/cf21ea9c99c120977c3817efdd5b0e507f68333d
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Target/ARM/A15SDOptimizer.cpp
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMCallLowering.cpp
M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
M llvm/lib/Target/ARM/ARMParallelDSP.cpp
M llvm/lib/Target/ARM/ARMSLSHardening.cpp
M llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.cpp
M llvm/lib/Target/ARM/MLxExpansionPass.cpp
M llvm/lib/Target/ARM/MVELaneInterleavingPass.cpp
M llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
M llvm/lib/Target/ARM/MVETailPredication.cpp
M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
M llvm/lib/Target/ARM/Utils/ARMBaseInfo.cpp
Log Message:
-----------
[ARM] Fix more typos (NFC)
Fix more typos in the AArch64 codebase using the
https://github.com/crate-ci/typos Rust package.
commit-id:33a1bb8d
Reviewers: davemgreen
Reviewed By: davemgreen
Pull Request: https://github.com/llvm/llvm-project/pull/183087
Commit: 01a97050f01b6b833d3d1f22997b5009293b43a3
https://github.com/llvm/llvm-project/commit/01a97050f01b6b833d3d1f22997b5009293b43a3
Author: Christopher Di Bella <cjdb at google.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M libcxx/include/__split_buffer
M libcxx/include/__vector/vector.h
Log Message:
-----------
Revert "[libcxx] adds `__split_buffer::__swap_layouts`" (#185120)
Reverts llvm/llvm-project#180102
Commit: 610ed83145c66473137298918fb32dd07985044a
https://github.com/llvm/llvm-project/commit/610ed83145c66473137298918fb32dd07985044a
Author: Florian Mayer <fmayer at google.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope.ll
Log Message:
-----------
[HWASan] add optimization remark for supported lifetimes
This lets us find functions where we pessimize codegen by removing
lifetimes.
Reviewers: vitalybuka
Reviewed By: vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/183858
Commit: 81a537e7081b76d41aa0422924d334a713fdd779
https://github.com/llvm/llvm-project/commit/81a537e7081b76d41aa0422924d334a713fdd779
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M lldb/include/lldb/Core/PluginManager.h
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Core/Disassembler.cpp
M lldb/source/Core/DynamicLoader.cpp
M lldb/source/Core/EmulateInstruction.cpp
M lldb/source/Core/Highlighter.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Expression/REPL.cpp
M lldb/source/Symbol/ObjectContainer.cpp
M lldb/source/Symbol/ObjectFile.cpp
M lldb/source/Symbol/SymbolFile.cpp
M lldb/source/Symbol/SymbolVendor.cpp
M lldb/source/Symbol/TypeSystem.cpp
M lldb/source/Target/ABI.cpp
M lldb/source/Target/InstrumentationRuntime.cpp
M lldb/source/Target/JITLoader.cpp
M lldb/source/Target/Language.cpp
M lldb/source/Target/LanguageRuntime.cpp
M lldb/source/Target/MemoryHistory.cpp
M lldb/source/Target/OperatingSystem.cpp
M lldb/source/Target/Platform.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/SyntheticFrameProvider.cpp
M lldb/source/Target/SystemRuntime.cpp
M lldb/source/Target/UnwindAssembly.cpp
M lldb/unittests/Core/PluginManagerTest.cpp
Log Message:
-----------
[lldb] Use range-based for loops over plugins (#184837)
This PR replaces the Get*CallbackAtIndex pattern in the PluginManager
with returning a snapshot of callbacks that the caller can iterate over
using a range-based for loop. This is a continuation of #184452 which
added thread safety by using snapshots. However, that introduced a bunch
of unnecessary copies which are largely eliminated again by getting the
snapshot once when gather all the callbacks, rather than doing that on
each iteration when querying a plugin for a given index. It also
eliminates the possibility of the snapshot changing underneath you when
iterating over the plugins.
This change was largely mechanical and I used Claude to do the menial
work of updating the signatures and call sites.
Commit: 868147026258b982a8089701dfae531f9ebbd464
https://github.com/llvm/llvm-project/commit/868147026258b982a8089701dfae531f9ebbd464
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2026-03-06 (Fri, 06 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/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanningTool.cpp
M clang/test/ClangScanDeps/modules-full-by-mult-mod-names-diagnostics.c
Log Message:
-----------
[clang][Dependency Scanning] Fix the In-Memory Buffer Used for By-Name Scanning (#183396)
This PR fixes two issues of the in-memory buffer we use for the input
file when a dependency scanner performs by-name queries.
First, it renames the buffer. The temporary file was named
`ScanningByName-%%%%%%%%.input`, which leads to weird diagnostics such
as
```
ScanningByName-2d42a1e9.input:1:1: fatal error: could not build module 'X'
```
This PR changes the name of the file buffer, so we get diagnostics such
as
```
module-include.input:1:1: fatal error: could not build module 'X'
```
which is more indicative.
Additionally, this PR fixes a bug where the source location may overflow
the temporary buffer by creating a 64k empty string which the temporary
buffer occupies. When the source location overflows, the diagnostics
could point to some random file that comes after the fake file and is
incorrect.
Currently, the maximum number of unique names from Apple's SDKs is
around 3000. A 64k buffer per dependency scanning worker gives us around
20x capacity per worker (which scans fewer names than 3000 when the
scanning is done in parallel). A fatal error is added to catch
overflows.
Commit: 3e24a393571e83e8564562b2ec84fe701648da2f
https://github.com/llvm/llvm-project/commit/3e24a393571e83e8564562b2ec84fe701648da2f
Author: MITSUNARI Shigeo <herumi at nifty.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/include/llvm/Support/DivisionByConstantInfo.h
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Support/DivisionByConstantInfo.cpp
M llvm/test/CodeGen/AArch64/rem-by-const.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-div.ll
A llvm/test/CodeGen/AArch64/udiv-const-optimization.ll
M llvm/test/CodeGen/AArch64/urem-lkk.ll
M llvm/test/CodeGen/RISCV/div-by-constant.ll
A llvm/test/CodeGen/RISCV/udiv-const-optimization.ll
M llvm/test/CodeGen/RISCV/urem-lkk.ll
M llvm/test/CodeGen/X86/fold-loop-of-urem.ll
A llvm/test/CodeGen/X86/udiv-const-optimization.ll
M llvm/test/CodeGen/X86/urem-lkk.ll
Log Message:
-----------
[SelectionDAG] Optimize 32-bit udiv with 33-bit magic constants on 64-bit targets (#181288)
This PR optimizes 32-bit unsigned division by constants when the magic
constant is 33 bits (IsAdd=true case in UnsignedDivisionByConstantInfo)
on 64-bit targets.
## Overview
Compiler optimization for constant division of `uint32_t` variables
(such as `x / 7`) is based on the method
proposed by Granlund and Montgomery in 1994 (hereafter referred to as
the GM method).
However, the GM method for the IsAdd=true case was optimized for 32-bit
CPUs, not 64-bit CPUs.
This patch provides optimizations specifically for 64-bit CPUs (such as
x86_64 and Apple M-series).
A simple benchmark demonstrates over 60% speedup on both Intel Xeon and
Apple M4 processors.
## The GM Method
The GM method for `x / 7` can be expressed in C code as follows,
where the constants `c` and `a` are magic numbers determined by the
divisor:
```cpp
uint32_t udiv_original(uint32_t x) {
uint64_t v = x * c;
v >>= 32;
uint32_t t = uint32_t(x) - uint32_t(v);
t >>= 1;
t += uint32_t(v);
t >>= a - 33;
return t;
}
```
For example, division by 7 on x86_64 generates 7 instructions:
```asm
movl %edi, %eax
imulq $613566757, %rax, %rax
shrq $32, %rax
subl %eax, %edi
shrl %edi
addl %edi, %eax
shrl $2, %eax
```
## Proposed Solution
This patch generates the following optimized code:
```cpp
uint32_t udiv_optimized(uint32_t x) {
uint128_t v = uint128_t(x) * ((c + 0x100000000) << (64 - a));
return uint32_t(v >> 64);
}
```
Since a 64-bit right shift of a 128-bit variable extracts the upper 64
bits,
this code eliminates the need for shifts after multiplication.
The implementation pre-shifts the 33-bit magic constant `c = 2^32 +
Magic` left by `(64-a)` bits
and uses the high 64 bits of a 64 x 64 -> 128 bit multiplication
directly.
This eliminates the add/sub/shift sequence.
After optimization, division by 7 becomes 4 instructions (or 3 with
BMI2):
```asm
# Standard (4 instructions)
movl %edi, %eax
movabsq $2635249153617166336, %rcx
mulq %rcx
movq %rdx, %rax
# With BMI2 (3 instructions)
movl %edi, %edx
movabsq $2635249153617166336, %rax
mulxq %rax, %rax, %rax
```
Commit: 3164d54877f4f796a8b4270c14be354889e0501f
https://github.com/llvm/llvm-project/commit/3164d54877f4f796a8b4270c14be354889e0501f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rv32p.ll
Log Message:
-----------
[RISCV][P-ext] Custom legalize i64 SHL to WSLL(I)/WSLA(I) (#185079)
When input is zero or sign extended.
Commit: 541d546c2efba8466f3ef77707d23846ac22f485
https://github.com/llvm/llvm-project/commit/541d546c2efba8466f3ef77707d23846ac22f485
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M lldb/include/lldb/Core/PluginManager.h
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Symbol/SaveCoreOptions.cpp
M lldb/unittests/Core/PluginManagerTest.cpp
Log Message:
-----------
[lldb] Use llvm::SmallVector in the PluginManager (NFC) (#184912)
Most of the plugins have only a small number of instances. Use
`llvm::SmallVector` instead of `std::vector`.
Depends on https://github.com/llvm/llvm-project/pull/184837
Commit: 32c51ee254146b8ec77d6d434c94f0d96acfd8bd
https://github.com/llvm/llvm-project/commit/32c51ee254146b8ec77d6d434c94f0d96acfd8bd
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M lldb/source/Core/PluginManager.cpp
Log Message:
-----------
[lldb] Implement PluginInfo move constructor (#185137)
The default move constructor wasn't nulling out the callbacks. Combined
with the fact that llvm::sys::DynamicLibrary has no explicit move
constructor and hence library.isValid() still returned true after having
moved-from, we would end up calling plugin_term_callback() when
destroying the moved-from PluginInfo, calling it prematurely.
Commit: f540ad69a801263b3446dfb86d30d650cfa96a5f
https://github.com/llvm/llvm-project/commit/f540ad69a801263b3446dfb86d30d650cfa96a5f
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
R bolt/include/bolt/Passes/ReorderUtils.h
Log Message:
-----------
[bolt][NFC] Remove unused ReorderUtils.h (#184642)
This header has a case sensitivity syntax error, delete it since it's
unused
Commit: 88034017115761cac37efc99524c577dff62694e
https://github.com/llvm/llvm-project/commit/88034017115761cac37efc99524c577dff62694e
Author: Roy Shi <royitaqi at users.noreply.github.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/tools/dsymutil/DebugMap.cpp
M llvm/tools/dsymutil/DebugMap.h
M llvm/tools/dsymutil/dsymutil.cpp
Log Message:
-----------
[dsymutil] Use DebugMapFilter when parsing --allow/--disallow YAML input (#185061)
PR https://github.com/llvm/llvm-project/pull/182083 forgot to switch
over to use the newly added `DebugMapFilter` when parsing
`--allow/--disallow` YAML input. It was still using
`ObjectFileList`/`ObjectFileEntry`, which was added initially in the
same PR and was later intended to be replaced by `DebugMapFilter`.
This patch switches over to use `DebugMapFilter`, adds necessary YAML
traits, and removes `ObjectFileList`/`ObjectFileEntry`.
Commit: 11888cb88925364d689ff229635947f894cc676b
https://github.com/llvm/llvm-project/commit/11888cb88925364d689ff229635947f894cc676b
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/lib/Support/JSON.cpp
M llvm/unittests/Support/JSONTest.cpp
Log Message:
-----------
[JSON] Consistently reset moved-from object (#185125)
Before the patch moved from object was in consistent state.
For some types it resets contents and switch to T_Null, for others
it preserves type and value.
So make sure to set T_Null for all.
When we set T_Null we need to destroy the value.
It's important for particular types, like std::string. With
Asan it must unpoison SSO buffer.
Fixes false container overflows after #184693:
https://lab.llvm.org/buildbot/#/builders/169/builds/20655/steps/11/logs/stdio
Commit: e435e07496c64fe7b4ab021972460698749bebcf
https://github.com/llvm/llvm-project/commit/e435e07496c64fe7b4ab021972460698749bebcf
Author: Anshul Nigham <nigham at google.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.h
M llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp
M llvm/lib/Target/AArch64/AArch64PassRegistry.def
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
Log Message:
-----------
[NewPM] Port for AArch64A53Fix835769 (#184965)
Commit: 16cf423ad854ed40f03311a807bbb844b47c5805
https://github.com/llvm/llvm-project/commit/16cf423ad854ed40f03311a807bbb844b47c5805
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang/test/Preprocessor/wasm-target-features.c
Log Message:
-----------
[WebAssembly] Move a wide-arithmetic test (NFC) (#184950)
Other individual feature tests appear before CPU tests, so this moves
this test there to make it consistent.
Commit: 38b47c0c45821c5b0b40983d6514d35e52deb34e
https://github.com/llvm/llvm-project/commit/38b47c0c45821c5b0b40983d6514d35e52deb34e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M llvm/test/CodeGen/X86/known-never-zero.ll
Log Message:
-----------
[X86] known-never-zero.ll - add ROTL/ROTR/BITREVERSE/BSWAP/CTPOP/ABS test coverage for #184033 (#185128)
Some were just missing vector / demandedelts handling - other were missing entirely
Commit: fe11a43c60b9d6771c32a7e5689a0381db6c3ddd
https://github.com/llvm/llvm-project/commit/fe11a43c60b9d6771c32a7e5689a0381db6c3ddd
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
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/test/Dialect/XeGPU/propagate-layout-inst-data.mlir
M mlir/test/Dialect/XeGPU/propagate-layout.mlir
Log Message:
-----------
[MLIR][XeGPU] Enhancing insert_strided_slice layout setup and infer rules (#184742)
This PR enhances insert_strided_slice layout rules to handle slice
layout and adjust the layout to fit the src shape. It adds dropDims as
layout utility function.
Commit: 5bc050147fa629134b6ed75642c82102b97419fe
https://github.com/llvm/llvm-project/commit/5bc050147fa629134b6ed75642c82102b97419fe
Author: Thurston Dang <thurston at google.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M mlir/unittests/IR/OperationSupportTest.cpp
Log Message:
-----------
[mlir][test] Fix memory leak after #184202 (#185142)
Reported by buildbot:
https://lab.llvm.org/buildbot/#/builders/55/builds/25078
Commit: 110d3baa825ad9d78c25ffc777509069fabeec0b
https://github.com/llvm/llvm-project/commit/110d3baa825ad9d78c25ffc777509069fabeec0b
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeReader.h
M clang-tools-extra/clang-doc/ClangDoc.cpp
M clang-tools-extra/clang-doc/ClangDoc.h
M clang-tools-extra/clang-doc/Generators.cpp
M clang-tools-extra/clang-doc/Generators.h
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/MDMustacheGenerator.cpp
M clang-tools-extra/clang-doc/Mapper.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/Serialize.h
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
M clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
M clang-tools-extra/unittests/clang-doc/ClangDocTest.h
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
Log Message:
-----------
[clang-doc][NFC] Introduce OwnedPtr abstraction (#184869)
Eventually, we want clang-doc to support arena allocation, but the
widespread use of owning pointers in the data types prevents this.
Rather than have wide scale refactoring, we can introduce a type alias
that can be swapped out atomically to switch from smart pointers to raw
pointers. This is the first of several refactorings that are intended to
make the transition simpler.
Commit: ca2b4db828bb48aefd756c774ee3f071d821c8ff
https://github.com/llvm/llvm-project/commit/ca2b4db828bb48aefd756c774ee3f071d821c8ff
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M clang-tools-extra/docs/clang-tidy/Contributing.rst
Log Message:
-----------
[clang-tidy][NFC] Update contribution guide for test language standards (#184769)
Explain how to use the `-std` flag in clang-tidy tests and reorganize
the content on C++ pitfalls into a new subsection for better
readability.
Related discussion: https://github.com/llvm/llvm-project/pull/184741
As of AI Usage: the documentation is partially rephrased by Gemini 3.
Commit: 13d391042e49e547a8543fca93b50d87872fec34
https://github.com/llvm/llvm-project/commit/13d391042e49e547a8543fca93b50d87872fec34
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-03-07 (Sat, 07 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/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
Log Message:
-----------
[clang-doc][NFC] Introduce Vector and Array abstractions (#184870)
Introduce OwningVec and OwningArray aliases for vector types we want to
eventually update for arena allocations.
Commit: a14a104f889feb94f7da1cd06d817f950573c7d7
https://github.com/llvm/llvm-project/commit/a14a104f889feb94f7da1cd06d817f950573c7d7
Author: Lang Hames <lhames at gmail.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
Log Message:
-----------
[ORC] Add WaitingOnGraph::visitWithRemoval, refactor some loops. (#185001)
visitWithRemoval visits the elements of a vector performing a
swap-and-pop to remove any for which the visitor returns true.
Use this to refactor some loops in WaitingOnGraph that used this idiom.
Commit: 263e3a383799fc9eba83bbc7e7f8cb6268a80431
https://github.com/llvm/llvm-project/commit/263e3a383799fc9eba83bbc7e7f8cb6268a80431
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeReader.h
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
M clang-tools-extra/unittests/clang-doc/ClangDocTest.h
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
Log Message:
-----------
[clang-doc] Introduce type alias for OwningPtrVec/Array (#184871)
We commonly have vectors/arrays of owned pointers. This should simplify
future refactoring when switching to arena allocation.
Commit: 69902769c74718295dd553a1cd0bb6c56ff2645a
https://github.com/llvm/llvm-project/commit/69902769c74718295dd553a1cd0bb6c56ff2645a
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeReader.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/Serialize.cpp
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
M clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
M clang-tools-extra/unittests/clang-doc/MDGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
M clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp
Log Message:
-----------
[clang-doc] Introduce abstractions for pointer operations (#184872)
Since we're migrating from std::unique_ptr to raw pointers via
arena allocation, we want to have some interfaces that abstract
these operations away, and can be changed to keep the system
working without introducing a lot of unnecessary churn in the code.
Commit: ca1eefdfc061fc062b6b9dc4149ca4a0e51bde08
https://github.com/llvm/llvm-project/commit/ca1eefdfc061fc062b6b9dc4149ca4a0e51bde08
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp
M clang-tools-extra/clang-tidy/readability/InconsistentIfElseBracesCheck.cpp
M clang-tools-extra/clang-tidy/utils/BracesAroundStatement.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/inconsistent-ifelse-braces-attributes.cpp
Log Message:
-----------
[clang-tidy] Correctly handle attributes in readability-inconsistent-ifelse-braces (#184095)
Improved the check to correctly handle `[[likely]]` and `[[unlikely]]`
attributes placed between the if/else keyword and the opening brace.
As of AI Usage: Gemini 3 is used for pre-commit reviewing.
Closes https://github.com/llvm/llvm-project/issues/184081
Commit: 80c7133915c2886e7aa093b4842e2910bc96c82e
https://github.com/llvm/llvm-project/commit/80c7133915c2886e7aa093b4842e2910bc96c82e
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M clang-tools-extra/clang-doc/Mapper.cpp
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/Serialize.h
M clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp
M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
Log Message:
-----------
[clang-doc] Introduce Serializer class (#184873)
Serialization has mostly been done with static functions, but soon we
will need to share state, like alocator references. To avoid blowing up
our parameter lists, we can just wrap the local functions within a
class.
Commit: 3d7b22e00d95ea66e61b5acbe9be6b1e1e57d6b7
https://github.com/llvm/llvm-project/commit/3d7b22e00d95ea66e61b5acbe9be6b1e1e57d6b7
Author: lonely eagle <2020382038 at qq.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
R mlir/test/mlir-reduce/crashop-reduction.mlir
R mlir/test/mlir-reduce/multiple-function.mlir
A mlir/test/mlir-reduce/reduction-tree.mlir
Log Message:
-----------
[mlir][reducer] Refactor reduction-tree test (#184974)
Consolidate reduction-tree pass tests into a single file using
mlir-reduce's -split-input-file feature. See
https://github.com/llvm/llvm-project/pull/184970.
Commit: 9d3f25cb480889e2aa71ad298c34dc66e48f5d53
https://github.com/llvm/llvm-project/commit/9d3f25cb480889e2aa71ad298c34dc66e48f5d53
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
Log Message:
-----------
[CIR] Fix GlobalOp::getSuccessorRegions using wrong region for dtor (#185115)
Commit: 71ea3d9cabef354afc7028ac7bf290430105f6f6
https://github.com/llvm/llvm-project/commit/71ea3d9cabef354afc7028ac7bf290430105f6f6
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
Log Message:
-----------
[CIR] Fix convertSideEffectForCall header/definition signature mismatch (#185118)
Add missing bool &noReturn parameter to the declaration in
LowerToLLVM.h to match the definition in LowerToLLVM.cpp.
Commit: babead29c3fb2c44b85e8fd2f269ee56b69cafb2
https://github.com/llvm/llvm-project/commit/babead29c3fb2c44b85e8fd2f269ee56b69cafb2
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-03-06 (Fri, 06 Mar 2026)
Changed paths:
M llvm/include/llvm/Target/TargetMacroFusion.td
M llvm/lib/Target/RISCV/RISCVMacroFusion.td
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/CodeGen/RISCV/machinelicm-address-pseudos.ll
M llvm/test/CodeGen/RISCV/macro-fusion-lui-addi.ll
M llvm/test/CodeGen/RISCV/macro-fusions.mir
M llvm/test/TableGen/MacroFusion.td
Log Message:
-----------
[NFC] Move fusion- to start of Fusion Feature Name (#185146)
This makes it a lot easier to see all the available fusions, because
they appear together in the list.
Commit: 40713f2a87c808213e91d7e5eba7276176ed5e91
https://github.com/llvm/llvm-project/commit/40713f2a87c808213e91d7e5eba7276176ed5e91
Author: Lang Hames <lhames at gmail.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
Log Message:
-----------
[ORC] Refactor WaitingOnGraph::processExternalDeps. NFCI. (#185152)
Refactor WaitingOnGraph::processExternalDeps to use the recently
introduced ContainerElementsMap::visit and ElementSet::remove_if
methods.
Commit: 5948beeb527c005f2b97e2c8b79e547d93e163bc
https://github.com/llvm/llvm-project/commit/5948beeb527c005f2b97e2c8b79e547d93e163bc
Author: Thurston Dang <thurston at google.com>
Date: 2026-03-06 (Fri, 06 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/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanningTool.cpp
M clang/test/ClangScanDeps/modules-full-by-mult-mod-names-diagnostics.c
Log Message:
-----------
Revert "[clang][Dependency Scanning] Fix the In-Memory Buffer Used for By-Name Scanning" (#185150)
Reverts llvm/llvm-project#183396 due to buildbot breakage (e.g.,
https://lab.llvm.org/buildbot/#/builders/55/builds/25102; reported
earlier in
https://github.com/llvm/llvm-project/pull/183396#issuecomment-4015167408)
(Specifically, ASan is allergic to:
```
static const std::string
FakeInput(" ",
clang::tooling::CompilerInstanceWithContext::MaxNumOfQueries);
```)
Commit: 13cb586a41c0417cea87080baf1b00eeb19fca87
https://github.com/llvm/llvm-project/commit/13cb586a41c0417cea87080baf1b00eeb19fca87
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M libclc/clc/lib/amdgcn/SOURCES
A libclc/clc/lib/amdgcn/workitem/clc_get_num_groups.cl
M libclc/opencl/lib/amdgcn-amdhsa/SOURCES
R libclc/opencl/lib/amdgcn-amdhsa/workitem/get_num_groups.cl
M libclc/opencl/lib/amdgcn/SOURCES
R libclc/opencl/lib/amdgcn/workitem/get_num_groups.cl
M libclc/opencl/lib/generic/SOURCES
A libclc/opencl/lib/generic/workitem/get_num_groups.cl
M libclc/opencl/lib/ptx-nvidiacl/SOURCES
R libclc/opencl/lib/ptx-nvidiacl/workitem/get_num_groups.cl
Log Message:
-----------
libclc: Reimplement amdhsa get_num_groups (#185006)
Assume v5 ABI, and move handling into clc.
Commit: 71f5e43bc658d89c507867218052917e816c5180
https://github.com/llvm/llvm-project/commit/71f5e43bc658d89c507867218052917e816c5180
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
Log Message:
-----------
[CIR] Fix operator-precedence bugs in assert conditions (#185119)
Due to && binding tighter than ||, asserts of the form
assert(A || B && "msg") always pass when A is true. Add
parentheses so the string message is properly attached:
assert((A || B) && "msg").
Commit: d6b33bda134f933f5ec1b7a948441ab4e98bbb8d
https://github.com/llvm/llvm-project/commit/d6b33bda134f933f5ec1b7a948441ab4e98bbb8d
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M compiler-rt/cmake/config-ix.cmake
Log Message:
-----------
[ubsan_minimal] Build on Solaris (#184976)
Two tests currently `FAIL` on Solaris/amd64 and Solaris/sparcv9:
```
SafeStack-Standalone-i386 :: overflow.c
SafeStack-Standalone-x86_64 :: overflow.c
```
This happens because `libclang_rt.ubsan_minimal.a` isn't built on
Solaris although it's required with `-fsanitize-minimal-runtime`.
This patch fixes this.
Tested on `amd64-pc-solaris2.11` and `sparcv9-sun-solaris2.11`.
Commit: e830ee80063531fdfb1273cc112634b62926c66f
https://github.com/llvm/llvm-project/commit/e830ee80063531fdfb1273cc112634b62926c66f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/include/__iterator/bounded_iter.h
M libcxx/include/__vector/vector.h
M libcxx/include/optional
M libcxx/include/string
M libcxx/test/libcxx/iterators/contiguous_iterators.verify.cpp
Log Message:
-----------
[libc++] Don't double-wrap iterators when bounded iterators are used (#182264)
There is no reason to double-wrap iterators, since we can already
achieve anything we want within `__bounded_iter`itself.
This is technically ABI breaking, but people using bounded iterators
shouldn't require ABI stability currently.
Fixes #178521
Commit: 4d08284157d09ce6104f0753f1dbf5adc43c113d
https://github.com/llvm/llvm-project/commit/4d08284157d09ce6104f0753f1dbf5adc43c113d
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[CMake][LLVM] Align CMAKE_EXPORT_COMPILE_COMMANDS from 1 to ON (#184971)
ON/OFF are more conventional in the project for boolean CMake variables.
Commit: 861b9cacdcda23cc1c610a2f5ab1f8533bb8e621
https://github.com/llvm/llvm-project/commit/861b9cacdcda23cc1c610a2f5ab1f8533bb8e621
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M libcxx/include/variant
M libcxx/test/std/utilities/variant/variant.relops/relops.pass.cpp
Log Message:
-----------
[libc++] Fix std::variant comparators not working on recursive instantiations (#182238)
We currently have an instantiation cycle in `variant`'s comparison
operators. This patch fixes that by replacing a `decltype(auto)` with an
explicit return type, removing the requirement to instantiate the
function in order to know the return type.
Fixes #182232
Commit: 587becb624fa32329109f1fe53c6b7d4e93eaf81
https://github.com/llvm/llvm-project/commit/587becb624fa32329109f1fe53c6b7d4e93eaf81
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
Log Message:
-----------
[WebKit checkers] Disallow operator delete in a trivial context. (#185122)
This PR changes the "trivial function analysis" to disallow `operator
delete` in a "trival" or "nodelete" function or statement. Without this,
the delete operator could deallocate memory for a reference counted
objects, etc...
Commit: 704c87bb948aff1bec718d56ad52b9b5d9c49cfb
https://github.com/llvm/llvm-project/commit/704c87bb948aff1bec718d56ad52b9b5d9c49cfb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
A libclc/clc/include/clc/workitem/clc_get_global_linear_id.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/workitem/clc_get_global_linear_id.cl
M libclc/clc/lib/generic/workitem/clc_get_local_linear_id.cl
M libclc/opencl/lib/generic/SOURCES
A libclc/opencl/lib/generic/workitem/get_global_linear_id.cl
A libclc/opencl/lib/generic/workitem/get_local_linear_id.cl
Log Message:
-----------
libclc: Implement get_global_linear_id and get_local_linear_id (#184800)
Commit: e6fb9ba3f20d36bc1c56a36832d5057e52402a87
https://github.com/llvm/llvm-project/commit/e6fb9ba3f20d36bc1c56a36832d5057e52402a87
Author: Pranshu Goyal <78131793+pranshoe at users.noreply.github.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M llvm/lib/Analysis/VectorUtils.cpp
A llvm/test/Transforms/LoopVectorize/AArch64/clmul.ll
A llvm/test/Transforms/LoopVectorize/RISCV/clmul.ll
A llvm/test/Transforms/LoopVectorize/X86/clmul.ll
M llvm/test/Transforms/LoopVectorize/intrinsic.ll
Log Message:
-----------
[Analysis] isTriviallyVectorizable - add Intrinsic::clmul along with vectorisation tests (#180014)
This patch adds a case in isTriviallyVectorizable in llvm/lib/Analysis/VectorUtils.cpp for Intrinsic::clmul.
Fixes #179106
Commit: 10c0e1fc86bcb2a55d4ef5037b055d5a9808dba4
https://github.com/llvm/llvm-project/commit/10c0e1fc86bcb2a55d4ef5037b055d5a9808dba4
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M libclc/clc/lib/amdgcn/workitem/clc_get_global_size.cl
M libclc/clc/lib/amdgcn/workitem/clc_get_local_size.cl
M libclc/clc/lib/ptx-nvidiacl/SOURCES
A libclc/clc/lib/ptx-nvidiacl/workitem/clc_get_global_size.cl
R libclc/opencl/lib/amdgcn-amdhsa/SOURCES
R libclc/opencl/lib/amdgcn-amdhsa/workitem/get_global_size.cl
R libclc/opencl/lib/amdgcn-amdhsa/workitem/get_local_size.cl
M libclc/opencl/lib/amdgcn/SOURCES
R libclc/opencl/lib/amdgcn/workitem/get_global_size.cl
R libclc/opencl/lib/amdgcn/workitem/get_local_size.cl
M libclc/opencl/lib/generic/SOURCES
M libclc/opencl/lib/generic/workitem/get_global_size.cl
A libclc/opencl/lib/generic/workitem/get_local_size.cl
M libclc/opencl/lib/ptx-nvidiacl/SOURCES
R libclc/opencl/lib/ptx-nvidiacl/workitem/get_local_size.cl
Log Message:
-----------
libclc: Avoid duplicated get_local_size/get_global_size functions (#185166)
Move opencl handling on top of clc into opencl generic, delete
amdgpu implementations in opencl.
Commit: afba44054184622afefad28905466a9b7129d27b
https://github.com/llvm/llvm-project/commit/afba44054184622afefad28905466a9b7129d27b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M libclc/clc/lib/amdgcn/workitem/clc_get_enqueued_local_size.cl
Log Message:
-----------
libclc: Fix amdgpu get_enqueued_local_size (#185171)
This should not be the same as get_local_size
Commit: 66e85c275fb587df9ff1ff1d3c26664c32ed5d49
https://github.com/llvm/llvm-project/commit/66e85c275fb587df9ff1ff1d3c26664c32ed5d49
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M lldb/unittests/Platform/CMakeLists.txt
M lldb/unittests/Platform/PlatformDarwinTest.cpp
Log Message:
-----------
[lldb][PlatformDarwin][test] Add unit-test for LocateExecutableScriptingResourcesFromDSYM (#185057)
Depends on:
* https://github.com/llvm/llvm-project/pull/185056
Adds test unit-test for
`PlatformDarwin::LocateExecutableScriptingResourcesFromDSYM`. I had to
mock the `ScriptInterpreter` because the function internally uses the
`ScriptInterpreterPython` to check for reserved words in file names. But
linking the `ScriptInterpreterPython` was quite the undertaking, which I
think we could pull off, but required more churn that I had hoped.
Mocking it seemed pretty low-cost so I resorted to doing that instead.
Test-cases aren't very elaborate yet. It just has a basic assertion that
we locate the Python file within the dSYM. Mostly I set up
infrastructure for future test-cases.
Commit: b8ea766938b4b2812f9b833a883ad02c92852ba6
https://github.com/llvm/llvm-project/commit/b8ea766938b4b2812f9b833a883ad02c92852ba6
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M clang/test/CodeGen/AArch64/neon/fullfp16.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
Log Message:
-----------
[Clang][AArch64] Reorganize tests for `vceqz` intrinsics (NFC) (#185090)
Group related `vceqz_*` and `vceqzd_*` tests together for consistency
and readability. Add a comment documenting the scalar variants that are
not currently covered.
No functional change.
Follow-up to #184893.
Commit: 9088858f548da10aae85700ffee6b71e8221ec5e
https://github.com/llvm/llvm-project/commit/9088858f548da10aae85700ffee6b71e8221ec5e
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
R clang/test/CIR/CodeGen/try-catch-tmp.cpp
M clang/test/CIR/CodeGen/try-catch.cpp
Log Message:
-----------
[CIR][NFC] Merge try-catch-tmp with try-catch test file (#185123)
Merge try-catch-tmp.cpp the with try-catch test file
Commit: c56aad6b4f52c9088be5847aa7da33d27df0b338
https://github.com/llvm/llvm-project/commit/c56aad6b4f52c9088be5847aa7da33d27df0b338
Author: Ayush Kumar Gaur <132849148+Ayush3941 at users.noreply.github.com>
Date: 2026-03-07 (Sat, 07 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 handling for ROTL/ROTR/BITREVERSE/BSWAP/CTPOP/ABS (#184033)
Add DemandedElts handling for ROTL/ROTR/BITREVERSE/BSWAP/CTPOP/ABS in SelectionDAG::isKnownNeverZero
Fixes #183040
Commit: fe7d245c187b3c53de72662f177574f7e5c2167a
https://github.com/llvm/llvm-project/commit/fe7d245c187b3c53de72662f177574f7e5c2167a
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
Log Message:
-----------
[CIR][NFC] ComplexType visitStmt replace NYI with unreachable (#185178)
Replace errorNYI with llvm_unreachable in ComplexType visitStmt
Commit: 898dc857633bebda504a20390220c87761050f08
https://github.com/llvm/llvm-project/commit/898dc857633bebda504a20390220c87761050f08
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M clang-tools-extra/clangd/index/dex/dexp/CMakeLists.txt
M clang-tools-extra/clangd/index/remote/CMakeLists.txt
M clang-tools-extra/clangd/index/remote/marshalling/CMakeLists.txt
M clang-tools-extra/clangd/index/remote/monitor/CMakeLists.txt
M clang-tools-extra/clangd/index/remote/server/CMakeLists.txt
M clang-tools-extra/clangd/tool/CMakeLists.txt
M clang/cmake/modules/AddGRPC.cmake
Log Message:
-----------
[clangd] Disable PCH for libs that use gRPC (#185185)
gRPC adds -pthread, which is incompatible with PCH without it. At some
point, we probably should generally switch from -lpthread to -pthread,
but until then, disable PCH for affected targets.
Fixes https://github.com/llvm/llvm-project/issues/184759.
Commit: 818168ebca24640f8cfc495abc79f658e43c7e2c
https://github.com/llvm/llvm-project/commit/818168ebca24640f8cfc495abc79f658e43c7e2c
Author: Aditya Singh <aditya26189 at kgpian.iitkgp.ac.in>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/missing-std-forward.rst
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward-cxx23.cpp
Log Message:
-----------
[clang-tidy] Fix false positive for constrained template parameters in `cppcoreguidelines-missing-std-forward` (#182038)
Explicit object parameters with a type constraint are skipped to avoid
false positives. They are technically still forwarding references per
[temp.deduct.call], but rarely intended to be perfectly forwarded.
Fixes #180362
Commit: f441746a7b3986d2fcb1f973745b53e33e6c68e4
https://github.com/llvm/llvm-project/commit/f441746a7b3986d2fcb1f973745b53e33e6c68e4
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M llvm/include/llvm/ADT/StringSwitch.h
Log Message:
-----------
[ADT] Remove deprecated variadic `StringSwitch::Cases` and `CasesLower` (#185191)
These overloads have been deprecated since October 2025.
Use the `std::initializer_list` overload instead: `.Cases({"a", "b"},
Value)`.
For more context, see https://github.com/llvm/llvm-project/pull/163117.
Assisted-by: claude
Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>
Commit: 1af9f7c0e6cfbdba380ad5c261c6244e7c8edd7a
https://github.com/llvm/llvm-project/commit/1af9f7c0e6cfbdba380ad5c261c6244e7c8edd7a
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/transform-narrow-interleave-to-widen-memory.ll
A llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-ordered-reduction.ll
Log Message:
-----------
[LV] Add test for IG narrowing and epilogue with ordered reductions.
Add missing test coverage for narrowing interleave groups and countable
early exit and epilogue vectorization with ordered reductions.
Commit: 30434bab1a85451b0a85fab94a835a7a40818ffa
https://github.com/llvm/llvm-project/commit/30434bab1a85451b0a85fab94a835a7a40818ffa
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M llvm/docs/CommandGuide/llubi.rst
A llvm/test/tools/llubi/loadstore_be.ll
A llvm/test/tools/llubi/loadstore_le.ll
A llvm/test/tools/llubi/loadstore_misaligned.ll
A llvm/test/tools/llubi/loadstore_null.ll
A llvm/test/tools/llubi/loadstore_oob1.ll
A llvm/test/tools/llubi/loadstore_overaligned.ll
A llvm/test/tools/llubi/loadstore_poison.ll
A llvm/test/tools/llubi/loadstore_uaf.ll
A llvm/test/tools/llubi/store_dead.ll
M llvm/tools/llubi/lib/Context.cpp
M llvm/tools/llubi/lib/Context.h
M llvm/tools/llubi/lib/Interpreter.cpp
M llvm/tools/llubi/lib/Value.h
M llvm/tools/llubi/llubi.cpp
Log Message:
-----------
[Reland][llubi] Add support for load/store/lifetime markers (#185196)
This patch relands https://github.com/llvm/llvm-project/pull/182532. The
original version causes test failures related undef bits since it
incorrectly assumes `std::uniform_int_distribution` yields the same
results across different stdlib vendors. This patch simply uses low bits
to avoid the issue. I am not sure whether it still generates uniformly
distributed random numbers. But abseil also uses this trick:
https://github.com/abseil/abseil-cpp/blob/e72b94a2f257ba069ec0b99e557e9f1f6b9c1a3e/absl/random/uniform_int_distribution.h#L203-L206
I have confirmed all tests passed with libstdc++ and libc++.
Original PR description:
Bytes are adjusted to respect the incoming byte type proposed in
https://discourse.llvm.org/t/rfc-add-a-new-byte-type-to-llvm-ir/89522.
Note that the current implementation of constant folding doesn't handle
bitcasts with weird types like `<8 x i3> to <3 x i8>`:
https://github.com/llvm/llvm-project/blob/49de34459c99b33c27aae4596ed5e67ce3d89eae/llvm/lib/Analysis/ConstantFolding.cpp#L223-L232
So I take the result from Alive2 as reference:
https://alive2.llvm.org/ce/z/ZGA_xP
Commit: ac5081a72ed52cef08d491f393314d0fc89fdd81
https://github.com/llvm/llvm-project/commit/ac5081a72ed52cef08d491f393314d0fc89fdd81
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/same-node-reused.ll
Log Message:
-----------
[SLP][NFC]Add a test with the missing matching of same nodes with reuses, NFC
Commit: 810af8a3236acb953ca8e3f46849830cfc08d442
https://github.com/llvm/llvm-project/commit/810af8a3236acb953ca8e3f46849830cfc08d442
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M clang/lib/Headers/amdhsa_abi.h
M clang/test/Headers/amdhsa_abi.cl
Log Message:
-----------
clang/AMDGPU: Add missing field to implicit kernarg struct definition (#185209)
I missed this one when figuring out all the field offsets.
Commit: c6805abf77117ebe51920010fd1838f835d8536f
https://github.com/llvm/llvm-project/commit/c6805abf77117ebe51920010fd1838f835d8536f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M llvm/test/CodeGen/X86/narrow-shl-load.ll
Log Message:
-----------
[X86] narrow-shl-load.ll - regenerate test checks (#185211)
Commit: a96a0ded25c63e2a9d5838fe50e578a3339743fd
https://github.com/llvm/llvm-project/commit/a96a0ded25c63e2a9d5838fe50e578a3339743fd
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/same-node-reused.ll
Log Message:
-----------
[SLP]Fix the matching of the nodes with the same scalars, but reused
If the scalars are reused and the ReuseShuffleIndices is set, we may
miss matching for the buildvector/gather nodes and add an extra cost
Commit: 0c9dfe1f7cab088ac9d3eb71ab6db5afd3e8a96f
https://github.com/llvm/llvm-project/commit/0c9dfe1f7cab088ac9d3eb71ab6db5afd3e8a96f
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/third-party/unittest/BUILD.bazel
Log Message:
-----------
[bazel] Disable parse_headers on gtest headers (#185138)
One of the headers has a circular dependency issue that makes it not
isolated
```
.../googletest/include/gtest/internal/custom/gtest-printers.h:53:12: error: no member named 'testing' in the global namespace
53 | *OS << ::testing::PrintToString(S.str());
| ~~^
```
Commit: 7dd069da0fc1c70cc8abe873ca767fe92dbb3881
https://github.com/llvm/llvm-project/commit/7dd069da0fc1c70cc8abe873ca767fe92dbb3881
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M utils/bazel/.bazelversion
M utils/bazel/MODULE.bazel.lock
Log Message:
-----------
[bazel] Bump to latest point release (#185139)
Only minor fixes, just staying up to date.
Commit: f34adfebc106a2b18e59664bf10b2b0c2f81ed69
https://github.com/llvm/llvm-project/commit/f34adfebc106a2b18e59664bf10b2b0c2f81ed69
Author: Saleem Abdulrasool <compnerd at compnerd.org>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M lldb/cmake/modules/AddLLDB.cmake
Log Message:
-----------
build: add `LINKER:` modifier to `/DELAYLOAD:` options (#185086)
When building with the GNU driver, we would pass in `/DELAYLOAD:...`
without indicating that this is a linker flag. `clang` does not
implictly forward non-consumed options to the linker like `cl` does, and
this would cause the build to fail.
Commit: 58efc426d7036c9736f4cbaafa55e2b42fed1e7d
https://github.com/llvm/llvm-project/commit/58efc426d7036c9736f4cbaafa55e2b42fed1e7d
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.h
A lldb/source/Plugins/LanguageRuntime/CPlusPlus/CommandObjectCPlusPlus.cpp
A lldb/source/Plugins/LanguageRuntime/CPlusPlus/CommandObjectCPlusPlus.h
R lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/CMakeLists.txt
R lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
R lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h
A lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABIRuntime.cpp
A lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABIRuntime.h
M lldb/source/Plugins/REPL/Clang/CMakeLists.txt
Log Message:
-----------
[LLDB] Move Itanium language runtime to C++ language runtime (#169225)
In order to support the Microsoft ABI alongside the Itanium one in the
same process from different DLLs, this moves the Itanium ABI runtime
plugin to the C++ language runtime (see
https://github.com/llvm/llvm-project/pull/168941#discussion_r2547684264).
Before this PR, the C++ language runtime wasn't a plugin. Instead, its
functionality was provided by the Itanium ABI plugin.
All Itanium specific methods are moved to a new class
`ItaniumABIRuntime`. This includes resolving the dynamic type, setting
exception filters, and getting the exception object.
The other methods were added to `CPPLanguageRuntime`.
`language cplusplus demangle` moved to `CommandObjectCPlusPlus`.
The Clang REPL depended on the C++ runtime. Now that it's a plugin, this
failed the layering check. Since the REPL doesn't use the C++ runtime, I
removed the dependency.
Commit: b5f3ea1fe4bb2945adc10780255d1aee8e77685c
https://github.com/llvm/llvm-project/commit/b5f3ea1fe4bb2945adc10780255d1aee8e77685c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/plugin_config.bzl
Log Message:
-----------
[Bazel] Fixes 58efc42 (#185227)
Fixes 58efc42.
Commit: ff11354911024ff443145e2a502e83f42066418a
https://github.com/llvm/llvm-project/commit/ff11354911024ff443145e2a502e83f42066418a
Author: owenca <owenpiano at gmail.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M clang/lib/Format/IntegerLiteralSeparatorFixer.cpp
Log Message:
-----------
[clang-format][NFC] Use the newly added AllowLiteralDigitSeparator (#185165)
Use LangOptions::AllowLiteralDigitSeparator added in #184235 for the
IntegerLiteralSeparator option.
Commit: d7ff97db15026860f1f9c95e8fbf9f81e7120be3
https://github.com/llvm/llvm-project/commit/d7ff97db15026860f1f9c95e8fbf9f81e7120be3
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M libcxx/utils/ci/lnt/run-benchmarks
Log Message:
-----------
[libc++] Support build failures when running LNT benchmarks (#185234)
It's rare but possible for the codebase not to build. When that happens,
we should carry on and still submit an empty LNT report for that order,
otherwise we'll get stuck thinking that order hasn't been benchmarked
yet.
Commit: baac39c0d2a46a1ff6d810168bd6277008fbd0bf
https://github.com/llvm/llvm-project/commit/baac39c0d2a46a1ff6d810168bd6277008fbd0bf
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M libclc/opencl/lib/amdgcn/SOURCES
A libclc/opencl/lib/amdgcn/async/wait_group_events.cl
Log Message:
-----------
libclc: Add amdgpu wait_group_events (#185177)
Commit: a2231642b341c71ba184af2b3831502fded401da
https://github.com/llvm/llvm-project/commit/a2231642b341c71ba184af2b3831502fded401da
Author: William Tran-Viet <wtranviet at proton.me>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M libcxx/include/__iterator/wrap_iter.h
M libcxx/include/optional
Log Message:
-----------
[libc++][NFC] Simplify `optional::iterator` (#183230)
- Rename `__optional_iterator` into `__optional_iterator_base` and make
it part of the `__optional_{meow}_base` inheritance chain. This allows
us to get rid of a sketchy-looking downcast and shorten some code.
Commit: b883091badd812063adff715f27e414af74b371c
https://github.com/llvm/llvm-project/commit/b883091badd812063adff715f27e414af74b371c
Author: Lang Hames <lhames at gmail.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
Log Message:
-----------
[ORC] Further simplify ContainerElementsMap::hoistDeps. NFCI. (#185242)
At the one call-site where the result of hoistDeps is used,
self-dependencies will already have been eliminated. That means we can
use the "deps changed" property that we're already computing rather than
tracking "deps graph changed" separately.
Commit: 088f740035f0ab13d122b06fa723ac4ac07a5142
https://github.com/llvm/llvm-project/commit/088f740035f0ab13d122b06fa723ac4ac07a5142
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M libclc/CMakeLists.txt
A libclc/cmake/modules/CMakeCLCCompiler.cmake.in
A libclc/cmake/modules/CMakeCLCCompilerTest.cl
A libclc/cmake/modules/CMakeCLCInformation.cmake
A libclc/cmake/modules/CMakeDetermineCLCCompiler.cmake
A libclc/cmake/modules/CMakeTestCLCCompiler.cmake
Log Message:
-----------
[libclc] Add custom CMake language handling for OpenCL files (#185243)
Summary:
The current handling of `libclc` is to use custom clang jobs to compile
source files. This is the way we used to compile GPU libraries, but we
have largely moved away from this. The eventual goal is to simple be
able to use `clang` like a normal project. One barrier to this is the
lack of language support for OpenCL in CMake.
This PR uses CMake's custom language support to define a minimal OpenCL
language, largely just a wrapper around `clang -x cl`. This does
nothing, just enables the support. Future PRs will need to untangle the
mess of dependencies.
The 'link+opt' steps that we now do should be able to simply be done as
a custom `llvm-link` and `opt` job on the library, which isn't ideal but
it still better than the current state.
Commit: 0cad9b7585d9c5dbb59de0b54b0a6f7b99da1c69
https://github.com/llvm/llvm-project/commit/0cad9b7585d9c5dbb59de0b54b0a6f7b99da1c69
Author: Lucas Chollet <lucas.chollet at free.fr>
Date: 2026-03-07 (Sat, 07 Mar 2026)
Changed paths:
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
[llvm] Prefer the unknown vendor for SerenityOS triples (#185026)
No functional change. This patch updates the target-triple unit tests to
use the ones that we care about.
Commit: 3e0d6c81f22edaa8f13a54a1094ebacff1dbc7a2
https://github.com/llvm/llvm-project/commit/3e0d6c81f22edaa8f13a54a1094ebacff1dbc7a2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Check for errors in CXXDeleteExprs (#185189)
e.g. `getOperatorDelete()` may return null for those.
Commit: 3fb55b6872c1534fb965bd758d3a6f4d5abf495d
https://github.com/llvm/llvm-project/commit/3fb55b6872c1534fb965bd758d3a6f4d5abf495d
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/x86_64/headers.txt
M libc/hdr/CMakeLists.txt
A libc/hdr/sys_socket_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_sockaddr_un.h
M libc/include/CMakeLists.txt
M libc/include/sys/socket.yaml
A libc/include/sys/un.yaml
M libc/test/src/sys/socket/linux/CMakeLists.txt
M libc/test/src/sys/socket/linux/bind_test.cpp
Log Message:
-----------
[libc] Add <sys/un.h> header. (#182622)
`sockaddr_un` structure is supposed to be provided by the `<sys/un.h>`
header. Add this header to llvm-libc, and move the declaration of
`sockaddr_un` there from `<sys/socket.h>`. See
https://man7.org/linux/man-pages/man0/sys_un.h.0p.html
Add proxy headers for the `<sys/socket.h>` macro (like `AF_UNIX`) and
for the `struct sockaddr_un` so that the tests can be more hermetic and
avoid system header inclusion.
Commit: 4b9150a7a8cd43cc69e21e1308dcc5b0bb8d6d2e
https://github.com/llvm/llvm-project/commit/4b9150a7a8cd43cc69e21e1308dcc5b0bb8d6d2e
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M clang/lib/Sema/SemaConcept.cpp
M clang/test/SemaTemplate/instantiate-requires-expr.cpp
Log Message:
-----------
[Clang] Fix a concept cache bug on DependentNameType (#184771)
The default RAV implementation refuses to traverse NNS's typeloc
recursively, and template parameters inside DependentNameType are
overlooked inadvertently.
No release note as what regression patches always do.
Fixes https://github.com/llvm/llvm-project/issues/184562
Commit: 0b2aaac04a04cd471e2aa635d3462d8c22aa5a04
https://github.com/llvm/llvm-project/commit/0b2aaac04a04cd471e2aa635d3462d8c22aa5a04
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M libclc/opencl/lib/amdgcn/SOURCES
R libclc/opencl/lib/amdgcn/workitem/get_global_offset.cl
R libclc/opencl/lib/amdgcn/workitem/get_group_id.cl
R libclc/opencl/lib/amdgcn/workitem/get_local_id.cl
R libclc/opencl/lib/amdgcn/workitem/get_work_dim.cl
M libclc/opencl/lib/generic/SOURCES
A libclc/opencl/lib/generic/workitem/get_global_offset.cl
A libclc/opencl/lib/generic/workitem/get_group_id.cl
A libclc/opencl/lib/generic/workitem/get_local_id.cl
A libclc/opencl/lib/generic/workitem/get_work_dim.cl
M libclc/opencl/lib/ptx-nvidiacl/SOURCES
R libclc/opencl/lib/ptx-nvidiacl/workitem/get_global_id.cl
R libclc/opencl/lib/ptx-nvidiacl/workitem/get_group_id.cl
R libclc/opencl/lib/ptx-nvidiacl/workitem/get_local_id.cl
R libclc/opencl/lib/ptx-nvidiacl/workitem/get_local_linear_id.cl
R libclc/opencl/lib/ptx-nvidiacl/workitem/get_max_sub_group_size.cl
R libclc/opencl/lib/ptx-nvidiacl/workitem/get_num_sub_groups.cl
R libclc/opencl/lib/ptx-nvidiacl/workitem/get_sub_group_id.cl
R libclc/opencl/lib/ptx-nvidiacl/workitem/get_sub_group_local_id.cl
R libclc/opencl/lib/ptx-nvidiacl/workitem/get_sub_group_size.cl
Log Message:
-----------
libclc: Remove target definitions of opencl workitem functions (#185206)
These were just calling the __clc implementation, so move it
to generic.
Commit: 80ff7369c9ecdbef23a95b234eef3f05e7c37575
https://github.com/llvm/llvm-project/commit/80ff7369c9ecdbef23a95b234eef3f05e7c37575
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M libclc/opencl/lib/amdgcn/SOURCES
A libclc/opencl/lib/amdgcn/printf/__printf_alloc.cl
Log Message:
-----------
libclc: Add __printf_alloc implementation (#185231)
AMDGPU OpenCL printf implementation emits a call to this helper
function.
Commit: b7403433f8dbd53f7e97afbd6587432dbe00cc18
https://github.com/llvm/llvm-project/commit/b7403433f8dbd53f7e97afbd6587432dbe00cc18
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/workitem/clc_get_global_id.cl
M libclc/opencl/lib/generic/workitem/get_global_id.cl
Log Message:
-----------
libclc: Move get_global_id into clc (#185180)
Commit: 592c0f5d74fd6090ae6c278540954d612669e826
https://github.com/llvm/llvm-project/commit/592c0f5d74fd6090ae6c278540954d612669e826
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M libclc/clc/lib/generic/workitem/clc_get_global_id.cl
Log Message:
-----------
libclc: Use enqueued local size to implement get_global_id (#185181)
Commit: 65775204b7af5ca9a65a03876a162e98d452beee
https://github.com/llvm/llvm-project/commit/65775204b7af5ca9a65a03876a162e98d452beee
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M libclc/clc/include/clc/synchronization/clc_work_group_barrier.h
M libclc/clc/lib/amdgcn/synchronization/clc_work_group_barrier.cl
M libclc/clc/lib/ptx-nvidiacl/synchronization/clc_work_group_barrier.cl
M libclc/opencl/lib/generic/synchronization/work_group_barrier.cl
Log Message:
-----------
libclc: Use separate acquire and release fences in work_group_barrier (#185190)
Commit: 5785568ca12c78b33c535a67f096c16c7f19dfca
https://github.com/llvm/llvm-project/commit/5785568ca12c78b33c535a67f096c16c7f19dfca
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M libclc/opencl/lib/amdgcn/SOURCES
R libclc/opencl/lib/amdgcn/mem_fence/fence.cl
M libclc/opencl/lib/generic/SOURCES
A libclc/opencl/lib/generic/mem_fence/fence.cl
R libclc/opencl/lib/ptx-nvidiacl/SOURCES
R libclc/opencl/lib/ptx-nvidiacl/mem_fence/fence.cl
Log Message:
-----------
libclc: Remove target opencl copies of mem_fence (#185207)
Commit: 4c9d448e058d2a6371634a27608ef3fff01e817d
https://github.com/llvm/llvm-project/commit/4c9d448e058d2a6371634a27608ef3fff01e817d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
A libclc/clc/include/clc/synchronization/clc_sub_group_barrier.h
M libclc/clc/lib/amdgcn/SOURCES
A libclc/clc/lib/amdgcn/synchronization/clc_sub_group_barrier.cl
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/subgroup/sub_group_barrier.cl
M libclc/opencl/lib/amdgcn/SOURCES
R libclc/opencl/lib/amdgcn/synchronization/sub_group_barrier.cl
M libclc/opencl/lib/generic/SOURCES
A libclc/opencl/lib/generic/synchronization/sub_group_barrier.cl
Log Message:
-----------
libclc: Move sub_group_barrier to clc (#185208)
Commit: 327f16f7fbdc33d0d0c8995d76aa31249718fcef
https://github.com/llvm/llvm-project/commit/327f16f7fbdc33d0d0c8995d76aa31249718fcef
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
A libclc/clc/include/clc/subgroup/clc_sub_group_broadcast.h
R libclc/clc/include/clc/subgroup/sub_group_broadcast.h
M libclc/clc/lib/amdgcn/subgroup/sub_group_broadcast.cl
M libclc/opencl/lib/generic/subgroup/sub_group_broadcast.cl
Log Message:
-----------
libclc: Rename sub_group_broadcast header (#185212)
The other clc headers have the clc prefix, so add it.
Commit: 78c6ebd2cdfc0fc810448d0fc23a18bc39b363cf
https://github.com/llvm/llvm-project/commit/78c6ebd2cdfc0fc810448d0fc23a18bc39b363cf
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
A libclc/clc/include/clc/amdgpu/amdgpu_utils.h
A libclc/clc/include/clc/subgroup/clc_subgroup.h
M libclc/clc/lib/amdgcn/SOURCES
A libclc/clc/lib/amdgcn/subgroup/subgroup.cl
M libclc/clc/lib/amdgcn/workitem/clc_get_max_sub_group_size.cl
A libclc/clc/lib/amdgcn/workitem/clc_get_num_sub_groups.cl
A libclc/clc/lib/amdgcn/workitem/clc_get_sub_group_id.cl
A libclc/clc/lib/amdgcn/workitem/clc_get_sub_group_size.cl
M libclc/opencl/lib/amdgcn/SOURCES
R libclc/opencl/lib/amdgcn/subgroup/subgroup.cl
M libclc/opencl/lib/generic/SOURCES
A libclc/opencl/lib/generic/subgroup/subgroup.cl
Log Message:
-----------
libclc: Move subgroup functions into clc (#185220)
It turns out there was a generic implementation of the id and sizes.
The practice of splitting every single function into its own file is
kind of a pain here, so introduce a utility header for amdgpu.
Commit: 68bb8a0ded61c11b7bc7f91f8d4c7a9bbb04b7d0
https://github.com/llvm/llvm-project/commit/68bb8a0ded61c11b7bc7f91f8d4c7a9bbb04b7d0
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
A libclc/clc/include/clc/collective/clc_work_group_any_all.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/collective/clc_work_group_any_all.cl
M libclc/opencl/lib/generic/SOURCES
A libclc/opencl/lib/generic/collective/work_group_any_all.cl
Log Message:
-----------
libclc: Add work_group_any/work_group_all implementation (#185260)
Commit: abb3b981a37a04e56cea6439961d6bb3ee058f67
https://github.com/llvm/llvm-project/commit/abb3b981a37a04e56cea6439961d6bb3ee058f67
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
A libclc/clc/include/clc/collective/clc_work_group_broadcast.h
A libclc/clc/include/clc/collective/clc_work_group_broadcast.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/collective/clc_work_group_broadcast.cl
A libclc/clc/lib/generic/collective/clc_work_group_broadcast.inc
M libclc/opencl/lib/generic/SOURCES
A libclc/opencl/lib/generic/collective/work_group_broadcast.cl
A libclc/opencl/lib/generic/collective/work_group_broadcast.inc
Log Message:
-----------
libclc: Add work_group_broadcast (#185261)
Commit: a2fd44acf3115bc5cb024814296b19df6ab34287
https://github.com/llvm/llvm-project/commit/a2fd44acf3115bc5cb024814296b19df6ab34287
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M libclc/opencl/lib/amdgcn/async/wait_group_events.cl
Log Message:
-----------
libclc: Fix wait_group_events build for targets without generic (#185264)
Commit: 7752b2efa2c796c69d1db95cdf89eb2b8194fcf8
https://github.com/llvm/llvm-project/commit/7752b2efa2c796c69d1db95cdf89eb2b8194fcf8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M libclc/opencl/lib/generic/atomic/atomic_fetch_add.cl
M libclc/opencl/lib/generic/atomic/atomic_fetch_sub.cl
Log Message:
-----------
libclc: Add uintptr_t overloads of atomic_fetch_add and sub (#185263)
This is a special case because the pointee type is unsigned, but the
input value is signed. Directly use the opencl builtins, because these
work correctly without any ugly casting required, and it's not worth
putting a wrapper in clc.
Commit: 03347e0834884a6ed795a5eccc0057e705919698
https://github.com/llvm/llvm-project/commit/03347e0834884a6ed795a5eccc0057e705919698
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M libclc/clc/include/clc/workitem/clc_get_max_sub_group_size.h
M libclc/clc/lib/amdgcn/workitem/clc_get_max_sub_group_size.cl
Log Message:
-----------
libclc: Correctly declare __clc_get_max_sub_group_size as taking no arguments (#185265)
Commit: 327f1adef8df6afc07f6c88cfa380c97399af3dc
https://github.com/llvm/llvm-project/commit/327f1adef8df6afc07f6c88cfa380c97399af3dc
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
A llvm/test/CodeGen/AArch64/framelayout-fpr128-csr.ll
A llvm/test/CodeGen/AArch64/framelayout-fpr128-spill.mir
Log Message:
-----------
[AArch64] Ensure FPR128 callee-save stack offsets are aligned (#184314)
This was benign for Linux targets (as when dividing by the scale the
offset would be correctly truncated), so only resulted in failures with
`-DLLVM_ENABLE_ASSERTIONS=On`. On Windows, this was a miscompile as the
lack of alignment would result in the FPR128 callee-save getting
assigned to the same offset as the previous GPR.
Fixes: #183708
Commit: 4c31b6f93c7d8499b93cd6d29b8874a62f2cfed0
https://github.com/llvm/llvm-project/commit/4c31b6f93c7d8499b93cd6d29b8874a62f2cfed0
Author: Benjamin Maxwell <macdue at dueutil.tech>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/framelayout-fpr128-csr.ll
Log Message:
-----------
Fix comment in FPR128 test (NFC)
Commit: b73ae4eea84d44731c1b1e9d4e7b7462b515aee3
https://github.com/llvm/llvm-project/commit/b73ae4eea84d44731c1b1e9d4e7b7462b515aee3
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
Log Message:
-----------
[CIR] Extract base classes for complex ops (#185262)
Extract CIR_ComplexPartOp for ComplexRealOp/ComplexImagOp,
CIR_ComplexPartPtrOp for ComplexRealPtrOp/ComplexImagPtrOp,
CIR_ComplexBinOp for ComplexAddOp/ComplexSubOp, and
CIR_ComplexRangeBinOp for ComplexMulOp/ComplexDivOp to
eliminate duplicated arguments, results, format, and traits.
Commit: 6aa115bba55054b0dc81ebfc049e8c7a29e614b2
https://github.com/llvm/llvm-project/commit/6aa115bba55054b0dc81ebfc049e8c7a29e614b2
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-03-08 (Sun, 08 Mar 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/epilog-vectorization-ordered-reduction.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:
-----------
Reapply "[VPlan] Remove manual region removal when simplifying for VF and UF. (#181252)"
This reverts commit d7e037c8383e66e5c07897f144f6d8ef47258682.
Recommit with a small fix to properly handle ordered reductions when
connecting the epilogue.
Original message:
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: da8d1b52d0d344068a8bd3e46a8af3a692d2efc2
https://github.com/llvm/llvm-project/commit/da8d1b52d0d344068a8bd3e46a8af3a692d2efc2
Author: Yue Huang <30948580+AdUhTkJm at users.noreply.github.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
M mlir/unittests/Analysis/Presburger/IntegerRelationTest.cpp
Log Message:
-----------
[MLIR][Presburger] Fix simplify() of IntegerRelation (#181469)
In `simplify()`, we currently skip all columns from 0 to `firstVar` (the
column of the pivot) when we eliminate inequalities. This is invalid,
because unlike equalities, it is not guaranteed that these columns
contain only zeroes, and a scale by `rowMultiplier` cannot be ignored.
We must not skip any columns for inequalities.
Commit: d8b718a3fa540827a7c1bf250fd55cfa0d029e0f
https://github.com/llvm/llvm-project/commit/d8b718a3fa540827a7c1bf250fd55cfa0d029e0f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/mask-size-less-common-mask.ll
Log Message:
-----------
[SLP]Match the mask size, when copying mask for full match
Need to be careful, when filling the mask for fully matched nodes, the
masks may differ in sizes
Fixes a crash reported in test/Transforms/SLPVectorizer/X86/mask-size-less-common-mask.ll
Commit: 2bf2115471278a214212d589d429e25bcf7f1241
https://github.com/llvm/llvm-project/commit/2bf2115471278a214212d589d429e25bcf7f1241
Author: Arjun Parmar <akparmar0404 at gmail.com>
Date: 2026-03-08 (Sun, 08 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::VECTOR_SHUFFLE handling (#185203)
closes #183350
Commit: 82ef7e54d3e644a26a834b240f590287cf3ee352
https://github.com/llvm/llvm-project/commit/82ef7e54d3e644a26a834b240f590287cf3ee352
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/masked_packss.ll
M llvm/test/CodeGen/X86/masked_packus.ll
M llvm/test/CodeGen/X86/packss.ll
M llvm/test/CodeGen/X86/packus.ll
Log Message:
-----------
[X86] combineVTRUNCSAT - attempt to recognise VTRUNCS/US(CONCAT(X,Y)) -> PACKSS/US(X,Y) folds. (#178707)
If we're just concatenating subvectors together to perform a saturated
truncate, see if we can perform PACK on the subvectors directly instead
- 256-bit PACK will require a post-shuffle, but this will typically fold
away in later shuffle combining and its probably better than changing
vector widths with concats.
Reference patch based off poor codegen identified in #169995
Commit: 421bc73cffe783fd82903d3d335ac238376b4682
https://github.com/llvm/llvm-project/commit/421bc73cffe783fd82903d3d335ac238376b4682
Author: Sergei Lebedev <185856+superbobry at users.noreply.github.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M mlir/cmake/modules/AddMLIRPython.cmake
M mlir/include/mlir/Bindings/Python/IRAttributes.h
M mlir/include/mlir/Bindings/Python/IRCore.h
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/python/mlir/ir.py
Log Message:
-----------
[MLIR] [Python] Fixed a few issues in the type annotations (#183021)
* Removed an explicit `nb::sig` for `static_typeid`. The inferred type
would
work just fine, and unqualified `TypeID`, which was there previously,
only
really works for core types in the `ir` submodule.
* `DefaultingPyMlir*` helpers also produce qualified types, e.g.
`_mlir.ir.Location` instead of bare `Location`.
* `ir.*.__enter__` now returns a concrete type instead of `object`, e.g.
`ir.Context.__enter__` returns `Context`.
* `loc_tracebacks` uses `Generator` as the return type, since this is
what
`contextmanager` expects in typeshed.
* Changed static methods on subclasses of `DenseElementsAttribute` to
return
that concrete subclass, instead of `DenseElementsAttribute`.
---------
Co-authored-by: Maksim Levental <maksim.levental at gmail.com>
Commit: e0e5000ea70b115a69ca8802003ac9be56907d4f
https://github.com/llvm/llvm-project/commit/e0e5000ea70b115a69ca8802003ac9be56907d4f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/externally-used-copyables.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/shuffled-gather-casted.ll
M llvm/test/Transforms/SLPVectorizer/X86/gather-move-out-of-loop.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_with_external_users.ll
M llvm/test/Transforms/SLPVectorizer/X86/shl-to-add-transformation5.ll
M llvm/test/Transforms/SLPVectorizer/X86/slp-throttle.ll
M llvm/test/Transforms/SLPVectorizer/X86/small-graph-diff-block-instructions.ll
M llvm/test/Transforms/SLPVectorizer/alternate-non-profitable.ll
M llvm/test/Transforms/SLPVectorizer/ext-int-reduced-not-operand.ll
Log Message:
-----------
[SLP]Remove Alternate early profitability checks in favor of throttling
Removes early check, which may prevent some further optimizations, in
favor of tree throttling.
Reviewers: RKSimon, hiraditya
Pull Request: https://github.com/llvm/llvm-project/pull/182760
Commit: 444dcbe19bb520e22c15307fd85e029409099d55
https://github.com/llvm/llvm-project/commit/444dcbe19bb520e22c15307fd85e029409099d55
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M flang/test/Lower/Intrinsics/btest.f90
M flang/test/Lower/Intrinsics/c_associated.f90
M flang/test/Lower/Intrinsics/c_funloc.f90
M flang/test/Lower/Intrinsics/cmplx.f90
M flang/test/Lower/Intrinsics/cpu_time.f90
Log Message:
-----------
[flang][NFC] Converted five tests from old lowering to new lowering (part 26) (#185102)
Tests converted from test/Lower/Intrinsics: btest.f90, c_associated.f90,
c_funloc.f90, cmplx.f90, cpu_time.f90
Commit: 845ee233b86689ad9a81c9668fd10cdb584a466f
https://github.com/llvm/llvm-project/commit/845ee233b86689ad9a81c9668fd10cdb584a466f
Author: Markus Böck <markus.boeck02 at gmail.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/test/Dialect/LLVMIR/types-invalid.mlir
Log Message:
-----------
[mlir][LLVM] Disallow opaque struct types as function arguments (#185200)
Function types are only allowed to take first-class values as arguments.
The LLVM dialect implemented this correctly so far except for allowing
opaque struct types. When translated to LLVM proper, invalid IR would be
created with confusing assertion errors.
This PR matches LLVM by disallowing opaque struct types as arguments,
allowing users to catch this kind of mistake early while still in the
MLIR world.
The corresponding LLVM logic is here:
https://github.com/llvm/llvm-project/blob/c4898f3f229027e6cbdf8f9db77b8c14d70f6599/llvm/lib/IR/Type.cpp#L404
Commit: 95919ecd57d5545a4997075e96399e301f7bd817
https://github.com/llvm/llvm-project/commit/95919ecd57d5545a4997075e96399e301f7bd817
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/disjoint-or-reductions.ll
Log Message:
-----------
[SLP]Allow bitcast/bswap based reductions for types, larger than the total strided size
Added support for zero extending the bitcasted/bswapped type to the
original type, if it is larger than the original scalar type
Reviewers: hiraditya, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/184018
Commit: af7c352fa38d49096888df6c99d010d274362aa6
https://github.com/llvm/llvm-project/commit/af7c352fa38d49096888df6c99d010d274362aa6
Author: Narayan <nsreekumar6 at gmail.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M clang/lib/CodeGen/CMakeLists.txt
A clang/lib/CodeGen/QualTypeMapper.cpp
A clang/lib/CodeGen/QualTypeMapper.h
Log Message:
-----------
[LLVMABI] Introduce the QualTypeMapper (#174634)
This PR introduces the `QualTypeMapper` class, which bridges Clang's
type system with the LLVM ABI type system introduced in
https://github.com/llvm/llvm-project/pull/158329.
The `QualTypeMapper` translates Clang `QualType` instances into their
corresponding LLVM ABI type representations, preserving all ABI-relevant
information while abstracting away frontend-specific details.
The mapper queries the `ASTContext` for layout information computed by
the frontend and uses the `TypeBuilder` API(from the above merged PR) to
construct the corresponding ABI types. This separation ensures that ABI
logic remains independent of frontend AST details while still having
access to all necessary type information.
This is a prerequisite for implementing target-specific ABI lowering, as
demonstrated in https://github.com/llvm/llvm-project/pull/140112
Commit: bd15e6b7368ce81028197b8caff709baf1d4a662
https://github.com/llvm/llvm-project/commit/bd15e6b7368ce81028197b8caff709baf1d4a662
Author: Markus Böck <markus.boeck02 at gmail.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M mlir/docs/Passes.md
Log Message:
-----------
[mlir][docs] Add LLVM target passes to the docs (#185283)
These passes are useful for translating between LLVM proper and the LLVM
dialect and have so far been missing in the documentation.
Commit: 8b5331f06f5e58dcb99fd8ebd75d209975f714b7
https://github.com/llvm/llvm-project/commit/8b5331f06f5e58dcb99fd8ebd75d209975f714b7
Author: Ezlanding1 <113404035+Ezlanding1 at users.noreply.github.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Update goto label indentation styles (#180109)
Updates the goto label indentation styles based on the feature request.
Resolves #24492.
Commit: 6b290688f4aef7201d61dde6d283831ee408d9a1
https://github.com/llvm/llvm-project/commit/6b290688f4aef7201d61dde6d283831ee408d9a1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M llvm/test/CodeGen/X86/setcc-logic.ll
Log Message:
-----------
[X86] setcc-logic.ll - add i128 cmpeq(or(X,Y),X) --> cmpeq(and(~X,Y),0) test (#185289)
Inspired by #157687
Commit: af22b50fac2311ff3f859e4e8bdec552c7aa8d5a
https://github.com/llvm/llvm-project/commit/af22b50fac2311ff3f859e4e8bdec552c7aa8d5a
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M .ci/monolithic-windows.sh
Log Message:
-----------
[CI] Try lowering max parallel link jobs on Windows (#185255)
It looks like #177477 might be caused by OOMs due to running too many
link jobs at the same time in rare circumstances. It doesn't reproduce
often enough for me to be able to easily check the event logs to confirm
the OOM killer was involved (I did try 192 runs), but it doesn't hurt to
try. This could slightly decrease performance, but given these are
vCPUs, even if we need to run only link jobs, we should take only a
10-20% performance hit for the link phase, which is generally not a
large portion of the build.
Commit: aa89092c0219709775fdc0957095aeb919afb1c2
https://github.com/llvm/llvm-project/commit/aa89092c0219709775fdc0957095aeb919afb1c2
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M llvm/include/llvm/Support/ModRef.h
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
M llvm/test/Transforms/InferFunctionAttrs/enable-builtin.ll
Log Message:
-----------
[InferAttrs] malloc-family libcalls may write `errnomem` location
A miscompilation issue has been addressed via refined handling.
Fixes: https://github.com/llvm/llvm-project/issues/114772.
Fixes: https://github.com/llvm/llvm-project/issues/63142.
Commit: 6365d46654543484731c483c73a1b6bafdf8a354
https://github.com/llvm/llvm-project/commit/6365d46654543484731c483c73a1b6bafdf8a354
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[Bazel] Fix af7c352fa38d49096888df6c99d010d274362aa6 (#185308)
This added a user of the ABI library into clang. We did not have the ABI
library set up as a build target yet. This patch does that and also adds
the relevant use in clang.
Commit: aca4a8f644d12d947ab9b24784a4ea3efaeeeb4f
https://github.com/llvm/llvm-project/commit/aca4a8f644d12d947ab9b24784a4ea3efaeeeb4f
Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/mfma-no-register-aliasing.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spill-update-only-slot-indexes.ll
M llvm/test/CodeGen/AMDGPU/vgpr-agpr-limit-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/vgpr-limit-gfx1250.ll
Log Message:
-----------
[AMDGPU] Add missing -wwm-regalloc=fast to 4 more tests (NFC) (#184966)
Adding the missing wwm-regalloc=fast option in 4 more tests
that already specify -sgpr-regalloc=fast and -vgpr-regalloc=fast.
For consistency, the same preference should be applied to the
wwm-regalloc pipeline as well.
This is a follow-up to #184190 which addressed the same issue in
attr-amdgpu-flat-work-group-size-vgpr-limit.ll.
Commit: 647b1e38754aff87eeb500af2d061a0898094cbd
https://github.com/llvm/llvm-project/commit/647b1e38754aff87eeb500af2d061a0898094cbd
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2026-03-09 (Mon, 09 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
M mlir/test/Target/LLVMIR/nvvm/addf/addf_invalid.mlir
A mlir/test/Target/LLVMIR/nvvm/subf/subf.mlir
A mlir/test/Target/LLVMIR/nvvm/subf/subf_invalid.mlir
A mlir/test/Target/LLVMIR/nvvm/subf/subf_vector.mlir
Log Message:
-----------
[MLIR][NVVM] Add LLVMIR lowering for nvvm.subf (#184968)
This change adds direct LLVMIR lowering to the `nvvm.subf` operation
added in #179162 to prevent translation failures when canonicalization
is not run. Also adds `mlir-translate` tests for `nvvm.subf`.
PTX ISA Reference:
1.
https://docs.nvidia.com/cuda/parallel-thread-execution/#floating-point-instructions-sub
2.
https://docs.nvidia.com/cuda/parallel-thread-execution/#half-precision-floating-point-instructions-sub
Commit: f7ab364f5e599de1cb1da2be4052e448afe2c8ff
https://github.com/llvm/llvm-project/commit/f7ab364f5e599de1cb1da2be4052e448afe2c8ff
Author: David Green <david.green at arm.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M llvm/lib/Target/ARM/ARM.h
M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
A llvm/lib/Target/ARM/ARMPassRegistry.def
M llvm/lib/Target/ARM/ARMTargetMachine.cpp
M llvm/lib/Target/ARM/ARMTargetMachine.h
M llvm/test/CodeGen/ARM/ARMLoadStoreDBG.mir
M llvm/test/CodeGen/ARM/prera-ldst-aliasing.mir
Log Message:
-----------
[ARM] Add basic NPM support for LoadStoreOptimizer (#184139)
This is similar to #184090 for ARM, porting the LoadStoreOptimizer to
the new pass manager. The time there are both a pre-ra and post-ra
variant that are ported.
Commit: 2207296d3f591c3a668edf84927130e28b9d8461
https://github.com/llvm/llvm-project/commit/2207296d3f591c3a668edf84927130e28b9d8461
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
Log Message:
-----------
[VPlan] Fold constant trunc after EVL simplification.
This fixes a crash for the new test after
6aa115bba55054b0dc81ebfc049e8c7a29e614b2.
Commit: e25e010b9618157e0e05a387995271581e95b1f1
https://github.com/llvm/llvm-project/commit/e25e010b9618157e0e05a387995271581e95b1f1
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/bswap-i64-by-i32-chunks.ll
Log Message:
-----------
[SLP][NFC]Add a test for bswap of i64 by 2 i32 bswaps
Commit: ecda6d1691b8c743fcc9d059f65dcef7d3308305
https://github.com/llvm/llvm-project/commit/ecda6d1691b8c743fcc9d059f65dcef7d3308305
Author: Sergei Lebedev <185856+superbobry at users.noreply.github.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
R mlir/lib/Bindings/Python/stubgen_runner.py
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/build_defs.bzl
M utils/bazel/third_party_build/nanobind.BUILD
Log Message:
-----------
[MLIR] [Bazel] Removed the stubgen plumbing added in #179211 (#185292)
The hope was that we would be able to reuse parts of this for
Google-internal builds and for open-source jaxlib builds, but we ended
up with custom plumbing in both cases, so I am now removing this
effectively dead code.
Commit: ae282974b8a40e20a4c55dfffba84d24db843d74
https://github.com/llvm/llvm-project/commit/ae282974b8a40e20a4c55dfffba84d24db843d74
Author: Berkay Sahin <berkaysahindev at gmail.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-cxx20.cpp
Log Message:
-----------
[clang-tidy] Fix readability-else-after-return for [[likely]]/[[unlikely]] if (#184684)
Following the PR #181878 I have noticed a false negative when if is
attributed.
Repro:
```cpp
void f()
{
if (true) {
return;
} else {
// Warns as expected
}
if (true) [[likely]] {
return;
} else {
// False-negative
}
}
```
Godbolt: https://godbolt.org/z/cvGdovjhx
Commit: 483fc738ff106e22877cf3a1b0ca01ae5cac29ec
https://github.com/llvm/llvm-project/commit/483fc738ff106e22877cf3a1b0ca01ae5cac29ec
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M llvm/include/llvm/Analysis/Loads.h
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[Loads] Add overload for isDerefAndAlignedInLoop that takes SCEVs.(NFC)
Add an overload of isDereferenceableAndAlignedInLoop that directly takes
the pointer and element sizes as SCEVs. This allows using it from
contexts without relying on an underlying load instruction in follow-up
patches.
Commit: 4df95b1a56b4445ffffd916e0ff551f5ce75d555
https://github.com/llvm/llvm-project/commit/4df95b1a56b4445ffffd916e0ff551f5ce75d555
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
M mlir/test/Dialect/LLVMIR/nvvm.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
M mlir/test/python/dialects/nvvm.py
Log Message:
-----------
[mlir][NVVM] Fix double spaces in tests after ODS printer fix. NFC. (#185326)
Follow-up to #184253. Update tests that checked for the old double-space
output of NVVM ops using ReductionKindAttr, ShflKindAttr, and
LoadCacheModifierAttr.
Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>
Commit: 15e7177f088eeb5aa7be5d30632e7b5e815fa8aa
https://github.com/llvm/llvm-project/commit/15e7177f088eeb5aa7be5d30632e7b5e815fa8aa
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M mlir/test/Conversion/VectorToGPU/vector-to-mma-ops.mlir
M mlir/test/Dialect/Affine/ops.mlir
M mlir/test/Dialect/GPU/subgroup-mma-vector-unroll.mlir
M mlir/test/Dialect/GPU/subgroupId-rewrite.mlir
M mlir/test/Dialect/GPU/transform-gpu.mlir
M mlir/test/Dialect/SparseTensor/GPU/gpu_matmul.mlir
M mlir/test/Dialect/SparseTensor/GPU/gpu_matvec.mlir
M mlir/test/Dialect/Vector/vector-warp-distribute.mlir
M mlir/test/Integration/GPU/CUDA/sm90/cga_cluster.mlir
M mlir/test/Integration/GPU/CUDA/sm90/gemm_f32_f16_f16_128x128x128.mlir
M mlir/test/Integration/GPU/CUDA/sm90/gemm_pred_f32_f16_f16_128x128x128.mlir
M mlir/test/Integration/GPU/CUDA/sm90/tma_load_128x128_stride_noswizzle.mlir
M mlir/test/Integration/GPU/CUDA/sm90/tma_load_128x64_swizzle128b.mlir
M mlir/test/Integration/GPU/CUDA/sm90/tma_load_64x64_swizzle128b.mlir
M mlir/test/Integration/GPU/CUDA/sm90/tma_load_64x8_8x128_noswizzle.mlir
M mlir/test/Integration/GPU/CUDA/sm90/transform-dialect/tma_load_64x8_8x128_noswizzle-transform.mlir
M mlir/test/Integration/GPU/LevelZero/gpu-addf32-to-spirv.mlir
M mlir/test/Integration/GPU/LevelZero/gpu-addi64-to-spirv.mlir
M mlir/test/Integration/GPU/LevelZero/gpu-memcpy-addf32-to-spirv.mlir
M mlir/test/Integration/GPU/LevelZero/gpu-reluf32-to-spirv.mlir
M mlir/test/Integration/GPU/SYCL/gpu-addf32-to-spirv.mlir
M mlir/test/Integration/GPU/SYCL/gpu-addi64-to-spirv.mlir
M mlir/test/Integration/GPU/SYCL/gpu-memcpy-addf32-to-spirv.mlir
M mlir/test/Integration/GPU/SYCL/gpu-reluf32-to-spirv.mlir
M mlir/test/python/dialects/gpu/dialect.py
Log Message:
-----------
[mlir][GPU] Fix double spaces in tests after ODS printer fix. NFC. (#185325)
Follow-up to #184253. The ODS attr/type printer fix removed the leading
space from generated print() methods. Update tests that checked for the
old double-space output of GPU ops using GPU_DimensionAttr and
GPU_MmaElementwiseOpAttr.
Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>
Commit: fac1866cdf58fba3f9ce93835c2dc79858676895
https://github.com/llvm/llvm-project/commit/fac1866cdf58fba3f9ce93835c2dc79858676895
Author: SiliconA-Z <gfunni234 at gmail.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512-cmp.ll
M llvm/test/CodeGen/X86/known-pow2.ll
M llvm/test/CodeGen/X86/setcc-logic.ll
Log Message:
-----------
[X86] Remove redundant and-not pattern code in X86 (#157687)
These transforms are now handled in DAGCombine, so enable
hasAndNotCompare for all scalar cases on X86, and remove the
platform-specific code that does the same thing.
Commit: e4160cb52d48f63abb520dcba8d212ea79f617cf
https://github.com/llvm/llvm-project/commit/e4160cb52d48f63abb520dcba8d212ea79f617cf
Author: Chi-Chun, Chen <chichun.chen at hpe.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
R flang/test/Lower/OpenMP/Todo/affinity-clause.f90
M flang/test/Lower/OpenMP/task-affinity.f90
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpBase.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[Flang][mlir][OpenMP] Support affinity clause codegen in Flang (#182222)
This patch translates the Flang AST to the OpenMP dialect for the
affinity clause, including support for the iterator modifier.
2/3 in stack for implementing affinity clause with iterator modifier
1/3 #182218
2/3 #182222
3/3 #182223
Commit: ade63092295313f991a3d4999eedfe01d3484f69
https://github.com/llvm/llvm-project/commit/ade63092295313f991a3d4999eedfe01d3484f69
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
M mlir/test/Dialect/XeGPU/sg-to-wi-experimental.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
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg.mlir
M mlir/test/Integration/Dialect/XeGPU/LANE/no-xegpu-ops.mlir
Log Message:
-----------
[mlir][XeGPU] Fix double spaces in tests after ODS printer fix. NFC. (#185324)
Follow-up to #184253. Update tests that checked for the old double-space
output of gpu.block_id using GPU_DimensionAttr.
Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>
Commit: 7c13f88ecc0547a045a3726593c3bf716c182f07
https://github.com/llvm/llvm-project/commit/7c13f88ecc0547a045a3726593c3bf716c182f07
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
M mlir/test/Dialect/NVGPU/canonicalization.mlir
M mlir/test/Dialect/NVGPU/tmaload-transform.mlir
M mlir/test/Dialect/NVGPU/transform-matmul-to-nvvm.mlir
M mlir/test/Examples/NVGPU/Ch0.py
M mlir/test/Examples/NVGPU/Ch3.py
M mlir/test/Examples/NVGPU/Ch4.py
M mlir/test/Examples/NVGPU/Ch5.py
Log Message:
-----------
[mlir][NVGPU] Fix double spaces in tests after ODS printer fix. NFC. (#185327)
Follow-up to #184253. Update tests that checked for the old double-space
output of GPU and NVVM ops using GPU_DimensionAttr and
SetMaxRegisterActionAttr.
Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>
Commit: 19018866156f0ca3907d083d9c44047ee7451f7b
https://github.com/llvm/llvm-project/commit/19018866156f0ca3907d083d9c44047ee7451f7b
Author: Jim Lin <jim at andestech.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedAndes45.td
M llvm/test/tools/llvm-mca/RISCV/Andes45/rvv-mask.s
M llvm/test/tools/llvm-mca/RISCV/Andes45/rvv-permutation.s
Log Message:
-----------
[RISCV] Update Andes45 vector mask scheduling info (#184719)
This PR adds latency/throughput for all RVV mask to the andes45 series
scheduling model.
Commit: d8474abfc1e7c3856b85b088f1133ae2e90da3d0
https://github.com/llvm/llvm-project/commit/d8474abfc1e7c3856b85b088f1133ae2e90da3d0
Author: zhouguangyuan0718 <zhouguangyuan.xian at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86Subtarget.cpp
M llvm/lib/Target/X86/X86Subtarget.h
Log Message:
-----------
[X86] Reduce -ffixed-r compile-time overhead (#184606)
PR #180242 added reserve-r support across the driver and backend, but it
also introduced avoidable compile-time work in hot paths.
In Clang, delay +egpr detection until -ffixed-r16 through -ffixed-r31
are actually queried instead of computing it for every x86_64
invocation.
In LLVM, store X86Subtarget::ReservedRReg in a fixed-size std::bitset
and update X86RegisterInfo::getReservedRegs() to iterate only over the
reserve-r register ranges instead of scanning every target register.
These changes keep reserve-r behavior unchanged while trimming the extra
compile-time overhead introduced by the PR.
Signed-off-by: ZhouGuangyuan <zhouguangyuan.xian at gmail.com>
Commit: ed5f4afa2b5cbb7ec8b0e3ff1bff0ed2042c4e6d
https://github.com/llvm/llvm-project/commit/ed5f4afa2b5cbb7ec8b0e3ff1bff0ed2042c4e6d
Author: Jacques Pienaar <jacques+gh at japienaar.info>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M mlir/include/mlir/Bytecode/BytecodeImplementation.h
M mlir/include/mlir/IR/BuiltinDialect.h
M mlir/include/mlir/IR/BuiltinDialect.td
M mlir/lib/Bytecode/Reader/BytecodeReader.cpp
M mlir/lib/IR/BuiltinDialectBytecode.cpp
A mlir/unittests/IR/BuiltinDialectVersionTest.cpp
M mlir/unittests/IR/CMakeLists.txt
M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel
Log Message:
-----------
[mlir][bytecode] Add builtin dialect version (#184678)
This adds a singular Builtin dialect version for use with bytecode
serialization. This version is not currently print unless set and not 0
(not planned a bump until next LLVM version). Created a unit test as
this was easiest way to track.
Additionally add emitWarning virtual method to DialectBytecodeReader,
mirroring emitError.
Tested on old mlir-opt reader, and could read, so should be non-breaking
change.
Commit: 1e28b7ef9c7480c33de836582611d9d32c84f6c8
https://github.com/llvm/llvm-project/commit/1e28b7ef9c7480c33de836582611d9d32c84f6c8
Author: Weibo He <NewSigma at 163.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroCleanup.cpp
M llvm/test/Transforms/Coroutines/coro-cleanup-noop-elide.ll
Log Message:
-----------
[CoroCleanup] Fix stale unwind predecessor when erase noop coro (#185337)
This patch fixes two crashing reports.
Close #185155
Close #185274
Commit: 95a9647f2ac5827042a4755c8c022bcebaf2bca8
https://github.com/llvm/llvm-project/commit/95a9647f2ac5827042a4755c8c022bcebaf2bca8
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2026-03-09 (Mon, 09 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/Target/LLVMIR/nvvm/fma/fma.mlir
A mlir/test/Target/LLVMIR/nvvm/fma/fma_invalid.mlir
A mlir/test/Target/LLVMIR/nvvm/fma/fma_vector.mlir
Log Message:
-----------
[MLIR][NVVM] Add nvvm.fma Op (#184776)
Adds `nvvm.fma` Op to the NVVM dialect to perform fused multiply-add
operations.
PTX ISA Reference:
1.
https://docs.nvidia.com/cuda/parallel-thread-execution/#floating-point-instructions-fma
2.
https://docs.nvidia.com/cuda/parallel-thread-execution/#half-precision-floating-point-instructions-fma
Commit: f68af65300181e27f097e6b6b4c5bdef9c77cc3c
https://github.com/llvm/llvm-project/commit/f68af65300181e27f097e6b6b4c5bdef9c77cc3c
Author: Arun Thangamani <arun.thangamani at intel.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M mlir/lib/Dialect/X86/Transforms/VectorContractToPackedTypeDotProduct.cpp
M mlir/lib/Dialect/X86/Utils/X86Utils.cpp
M mlir/test/Dialect/X86/vector-contract-to-packed-type-dotproduct.mlir
Log Message:
-----------
[mlir][x86] Extends vector.contract Flat dot-product lowering for arg offset (#185167)
Extends `vector_contract_to_packed_type_dot_product` transform pass to
include `args` offset check while validating the `vector.contract`.
Eg: `vector.transfer_read %arg1[%arg3, %c0], %0 {in_bounds = [true,
true]} : !memref, !vec`
Commit: 1d6607d5ef1ea88770fdfd940c2545c36221817b
https://github.com/llvm/llvm-project/commit/1d6607d5ef1ea88770fdfd940c2545c36221817b
Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/test/CodeGen/AMDGPU/vgpr-spill.mir
Log Message:
-----------
[AMDGPU] Remove alignment constraint from spill pseudos (#177317)
Spill pseudo opcodes don't require target reg class alignment
constraint.
For targets which do have alignment constraints, lower the spills to
32-bit accesses.
Update the machine verifier accordingly.
Sgpr spill pseudos didn't enforce alignment constraints.
Modify vgpr spills reg class to not enforce them either.
Commit: e30f9c19464bcf1bf1e9f69b63884fb78ad2d05d
https://github.com/llvm/llvm-project/commit/e30f9c19464bcf1bf1e9f69b63884fb78ad2d05d
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-09 (Mon, 09 Mar 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/epilog-vectorization-ordered-reduction.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 "Reapply "[VPlan] Remove manual region removal when simplifying for VF and UF. (#181252)""
This reverts commit 6aa115bba55054b0dc81ebfc049e8c7a29e614b2.
This is causing crashes. See #185345 for details.
Commit: 874ef0073aba2498516b06c8f2ec91a14e4d4336
https://github.com/llvm/llvm-project/commit/874ef0073aba2498516b06c8f2ec91a14e4d4336
Author: jay0x <90309873+blazie2004 at users.noreply.github.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M flang/lib/Lower/ConvertConstant.cpp
A flang/test/Lower/pdt-struct-constructor-init.f90
Log Message:
-----------
[Flang] Fix crash in structure constructor lowering for PDT (#183543)
Fixes - [#181278](https://github.com/llvm/llvm-project/issues/181278)
This patch fixes a crash in Flang when parsing array constructors like:
`[ty0(2)(4)]`
The current implementation parses this as a type constructor ty0(2),
followed by what appears to be another call (4), instead of rejecting it
as invalid syntax. The lowering of` StructureConstructor` attempts to
retrieve the parent derived type using `sym->owner().derivedTypeSpec()`,
which return `nullptr` for PDT cases and lead to a crash.
In` flang/lib/Lower/ConvertConstant.cpp`, a safeguard is being added
which ensures that we fall back to the constructor’s derived type
specification when the parent type cannot be obtained, preventing the
null dereference and eliminating the crash. This change addresses only
the immediate crash, proper diagnostic handling for this invalid syntax
is still pending and remains as TODO.
---------
Co-authored-by: Jay Satish Kumar Patel <kumarpat at pe31.hpc.amslabs.hpecorp.net>
Commit: d0ddae678e3f634c988542dfbdde1dd0afe66344
https://github.com/llvm/llvm-project/commit/d0ddae678e3f634c988542dfbdde1dd0afe66344
Author: Sairudra More <sairudra60 at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M flang/lib/Lower/HlfirIntrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
A flang/test/Lower/HLFIR/cshift-optional-dim.f90
Log Message:
-----------
[flang] Fix segfault in CSHIFT/EOSHIFT with dynamically optional DIM (#184431)
When `DIM` is passed as an optional dummy argument and is absent at
runtime, the HLFIR lowering for the `CSHIFT` and `EOSHIFT` intrinsics
treated it as unconditionally present. This resulted in an unconditional
load of the `DIM` reference, causing a null pointer dereference and a
runtime segmentation fault when absent.
The underlying issue was that the `dim` argument for `cshift` and
`eoshift` was not marked with `handleDynamicOptional` during intrinsic
argument lowering setup. As a result, the `isPresent` state was never
populated, and the lowering implementation incorrectly fell through to
an unconditional scalar load.
This patch resolves the issue by:
1. Updating the `dim` entries for `cshift` and `eoshift` in
`IntrinsicCall.cpp` to use `handleDynamicOptional`. This enables
`getOperandVector()` to appropriately emit a guarded load (via
`loadOptionalValue()`) that safely returns a 0 placeholder when `DIM` is
absent.
2. Updating the HLFIR lowering implementations (`HlfirCShiftLowering`
and `HlfirEOShiftLowering`) to use the loaded scalar. It now employs an
`arith.select` to substitute the 0 placeholder with the
standard-mandated default of 1 when `isPresent` is false, matching the
Fortran requirements (§16.9.68 and §16.9.77) without generating
redundant `fir.if` or `fir.load` operations. Explicit `DIM=0` calls
still correctly forward the 0 value to flang-rt to trigger the
appropriate runtime bounds check error.
Co-authored-by: Sairudra More <moresair at pe31.hpc.amslabs.hpecorp.net>
Commit: 76cfb0b68e6e196bb0421df04554a718c54701c1
https://github.com/llvm/llvm-project/commit/76cfb0b68e6e196bb0421df04554a718c54701c1
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[NFC][AMDGPU] WaitEventSet should only print events that it contains
Commit: e20ae16ce6723a61f3387867e78f1096399ca74e
https://github.com/llvm/llvm-project/commit/e20ae16ce6723a61f3387867e78f1096399ca74e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M libclc/CMakeLists.txt
A libclc/clc/lib/amdgcn/CMakeLists.txt
R libclc/clc/lib/amdgcn/SOURCES
A libclc/clc/lib/amdgpu/CMakeLists.txt
R libclc/clc/lib/amdgpu/SOURCES
A libclc/clc/lib/clspv/CMakeLists.txt
R libclc/clc/lib/clspv/SOURCES
A libclc/clc/lib/generic/CMakeLists.txt
R libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/ptx-nvidiacl/CMakeLists.txt
R libclc/clc/lib/ptx-nvidiacl/SOURCES
A libclc/clc/lib/spirv/CMakeLists.txt
R libclc/clc/lib/spirv/SOURCES
M libclc/cmake/modules/AddLibclc.cmake
A libclc/opencl/lib/amdgcn/CMakeLists.txt
R libclc/opencl/lib/amdgcn/SOURCES
A libclc/opencl/lib/clspv/CMakeLists.txt
R libclc/opencl/lib/clspv/SOURCES
A libclc/opencl/lib/generic/CMakeLists.txt
R libclc/opencl/lib/generic/SOURCES
A libclc/opencl/lib/spirv/CMakeLists.txt
R libclc/opencl/lib/spirv/SOURCES
Log Message:
-----------
[libclc] Use custom CMake handling to overhaul libclc compilation (#185247)
Summary:
This PR uses https://github.com/llvm/llvm-project/pull/185243 to
overhaul compilation of libclc. This brings libclc to the same kind of
compilation flow that the other GPU libraries use (compiler-rt, libc,
libc++, openmp, flang-rt).
The main brunt of this change is simply changing the SOURCES files to
CMake variables and altering the compilation. Now that these are
standard CMake libraries we do not need to bother redefining custom
library handling and targets.
This builds as a static library, which we then consume with `llvm-link`
which converts it into a single `.bc` bitcode file similarly to before.
The final result is then optimized all together.
Hopefully this doesn't break anything.
Commit: faa1ccce18001d180fd2402f688b91311dbc7e9a
https://github.com/llvm/llvm-project/commit/faa1ccce18001d180fd2402f688b91311dbc7e9a
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4_vv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4_vx.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4su_vv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4su_vx.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4u_vv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4u_vx.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4us_vx.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4_vv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4_vx.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4su_vv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4su_vx.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4u_vv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4u_vx.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4us_vx.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4_vv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4_vx.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4su_vv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4su_vx.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4u_vv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4u_vx.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4us_vx.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4_vv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4_vx.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4su_vv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4su_vx.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4u_vv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4u_vx.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4us_vx.c
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvdot4a8i.td
M llvm/test/CodeGen/RISCV/rvv/vdota4.ll
M llvm/test/CodeGen/RISCV/rvv/vdota4su.ll
M llvm/test/CodeGen/RISCV/rvv/vdota4u.ll
M llvm/test/CodeGen/RISCV/rvv/vdota4us.ll
Log Message:
-----------
[RISCV][llvm] Use [u]int32 vector for input arguments for zvdot4a8i (#184089)
intrinsic spec PR:
https://github.com/riscv-non-isa/rvv-intrinsic-doc/pull/422
Commit: 8b0a9d081f203517bae40dcdcceba7f5f7a2c651
https://github.com/llvm/llvm-project/commit/8b0a9d081f203517bae40dcdcceba7f5f7a2c651
Author: Fangrui Song <i at maskray.me>
Date: 2026-03-08 (Sun, 08 Mar 2026)
Changed paths:
M llvm/lib/Target/X86/X86InstrAVX10.td
A llvm/test/MC/X86/Relocations/avx10.2satcvt.s
Log Message:
-----------
[X86] Fix wrong RIP-relative relocations for AVX10.2 saturation conversions (#185254)
AVX10.2 saturation conversion instructions (VCVT{T}{BF16,PH,PS}2I{U}BS)
incorrectly inherited from AVX512{PS,XD,PD}Ii8Base, which sets
ImmT=Imm8. This caused X86MCCodeEmitter to account for a nonexistent
trailing immediate byte when computing RIP-relative displacement fixups,
producing an addend of -5 instead of the correct -4.
Replace AVX512PSIi8Base/AVX512XDIi8Base/AVX512PDIi8Base with just the
needed prefix classes (PS is default, XD, PD), dropping the bogus
ImmT=Imm8. Preserve the original ExeDomain values (SSEPackedSingle,
SSEPackedDouble, SSEPackedInt; verified with `llvm-tblgen
--print-records ./llvm/lib/Target/X86/X86.td -I./llvm/include/
-I./llvm/lib/Target/X86/`). ExeDomain is not covered by any test.
Fix https://github.com/llvm/llvm-project/issues/184251
Commit: 04dbbd414f542d02cb0eaee79fe8a4f2e32d18bf
https://github.com/llvm/llvm-project/commit/04dbbd414f542d02cb0eaee79fe8a4f2e32d18bf
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp
M llvm/include/llvm/Debuginfod/Debuginfod.h
R llvm/include/llvm/Debuginfod/HTTPClient.h
R llvm/include/llvm/Debuginfod/HTTPServer.h
A llvm/include/llvm/Support/HTTP/HTTPClient.h
A llvm/include/llvm/Support/HTTP/HTTPServer.h
M llvm/lib/Debuginfod/CMakeLists.txt
M llvm/lib/Debuginfod/Debuginfod.cpp
R llvm/lib/Debuginfod/HTTPClient.cpp
R llvm/lib/Debuginfod/HTTPServer.cpp
M llvm/lib/Support/CMakeLists.txt
A llvm/lib/Support/HTTP/CMakeLists.txt
A llvm/lib/Support/HTTP/HTTPClient.cpp
A llvm/lib/Support/HTTP/HTTPServer.cpp
M llvm/tools/llvm-cov/CodeCoverage.cpp
M llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
M llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
M llvm/unittests/Debuginfod/CMakeLists.txt
M llvm/unittests/Debuginfod/DebuginfodTests.cpp
R llvm/unittests/Debuginfod/HTTPServerTests.cpp
M llvm/unittests/Support/CMakeLists.txt
A llvm/unittests/Support/HTTP/CMakeLists.txt
A llvm/unittests/Support/HTTP/HTTPServerTests.cpp
Log Message:
-----------
[Support] Move HTTP client/server to new LLVMSupportHTTP lib (NFC) (#184572)
Relocate HTTPClient and HTTPServer from the Debuginfod library to
llvm/Support/HTTP so they can be reused by other components.
---------
Co-authored-by: Alexandre Ganea <aganea at havenstudios.com>
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 5b60283506928f6bae79545b2d8a7a979d7b39b6
https://github.com/llvm/llvm-project/commit/5b60283506928f6bae79545b2d8a7a979d7b39b6
Author: Elvis Wang <elvis.wang at sifive.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
A llvm/test/Analysis/CostModel/RISCV/extract-last-active.ll
Log Message:
-----------
[RISCV][TTI] Implement cost of llvm.experimental.vector.extract.last.active (#184067)
This patch implements the cost of
llvm.experimental.vector.extract.last.active which will lower to:
vcpop.m a0, v0
beqz a0, exit # Return passthru when the entire lane is inactive.
vid v10, v0.t
vredmaxu.vs v10, v10, v10
vmv.v.s a0, v10
zext.b a0, a0
vslidedown v8, v8,
This patch also helps conditional-scalar-assignment (CSA) works for
scalable vector.
Commit: 443ce5569ee9854cfef1139cf6b9cf05165e0902
https://github.com/llvm/llvm-project/commit/443ce5569ee9854cfef1139cf6b9cf05165e0902
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Target/X86/CMakeLists.txt
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/lib/Target/X86/X86InstrCompiler.td
M llvm/lib/Target/X86/X86InstrFragments.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86InstrMMX.td
M llvm/lib/Target/X86/X86InstrRAOINT.td
M llvm/lib/Target/X86/X86InstrTSX.td
M llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
M llvm/lib/Target/X86/X86SelectionDAGInfo.h
Log Message:
-----------
[X86] TableGen-erate SDNode descriptions (#168421)
This allows SDNodes to be validated against their expected type profiles
and reduces the number of changes required to add a new node.
The first commit contains the main change. There are few nodes that
don't have SDNode records in `*.td` files (see the enum in
`X86SelectionDAGInfo.h`) and several nodes fail verification (see
`X86SelectionDAGInfo::verifyTargetNode`).
The second commit fixes a few bugs in the generic SelectionDAG code that
were detected by the verification functionality.
The third comment moves comments from `X86ISelLowering.h` to `*.td`
files. This is done as separate commit to hopefully simplify the review.
I allowed myself to rearrange some node definitions because they had
block comments in `X86ISelLowering.h`.
Part of #119709.
Pull Request: https://github.com/llvm/llvm-project/pull/168421
Commit: 3ea93369d139b6e9d045549ceab6a87173a9e583
https://github.com/llvm/llvm-project/commit/3ea93369d139b6e9d045549ceab6a87173a9e583
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/test/Sema/attr-overflow-behavior-constexpr.cpp
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
Log Message:
-----------
[clang][bytecode] Fix new overflow behavior tests (#183761)
Commit: b9499954205e25038accc94eea23965a23eed86a
https://github.com/llvm/llvm-project/commit/b9499954205e25038accc94eea23965a23eed86a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[clang][bytecode] Remove suspicious usage of local variable (#185360)
There's already already an if statement before ensuring that
UseFieldDesc is false.
Commit: 0dad68438dc68b9c97b220c1f1647ccdbc6ffff5
https://github.com/llvm/llvm-project/commit/0dad68438dc68b9c97b220c1f1647ccdbc6ffff5
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
Log Message:
-----------
[SPIRV] In G_SELECT selection path: replace `removeFromParent` with `eraseFromParent` and return early (#184807)
When selecting an `ASSIGN_TYPE` of a `G_SELECT`, both instructions were
removed but not erased.
The code followed on a code path where the replaced G_SELECT would be
added to a remove set if it was dead. But the select is not in the
function anymore since it is already removed!
Selecting a `selectSelect` always returns `true`. So the
assertions/prints below would have never been triggered.
This patch simplifies this code path to avoid falling through the
asserts and paths where `selectSelect` could have failed (which
trivially doesn't happen).
Guarded `selectSelect` return with an assert in case it changes.
Follow up of https://github.com/llvm/llvm-project/pull/182330
Commit: c6a14cba5ea172a0252b82529a96f008a207edcf
https://github.com/llvm/llvm-project/commit/c6a14cba5ea172a0252b82529a96f008a207edcf
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
A libclc/clc/include/clc/subgroup/clc_sub_group_reduce.h
A libclc/clc/include/clc/subgroup/clc_sub_group_reduce.inc
M libclc/clc/lib/amdgcn/CMakeLists.txt
A libclc/clc/lib/amdgcn/subgroup/sub_group_reduce.cl
M libclc/opencl/lib/generic/CMakeLists.txt
A libclc/opencl/lib/generic/subgroup/sub_group_reduce.cl
A libclc/opencl/lib/generic/subgroup/sub_group_reduce.inc
Log Message:
-----------
libclc: Add sub_group_reduce_* functions (#185294)
Commit: 9d38926d51121c9820d22768bfb498cefc2857e0
https://github.com/llvm/llvm-project/commit/9d38926d51121c9820d22768bfb498cefc2857e0
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M libclc/clc/lib/amdgcn/synchronization/clc_work_group_barrier.cl
Log Message:
-----------
libclc: Fix logic for fence ordering based on mem flags (#185367)
Commit: 7c2599a491c26c3191c06e4902aea3db97eac0ce
https://github.com/llvm/llvm-project/commit/7c2599a491c26c3191c06e4902aea3db97eac0ce
Author: Marcell Leleszi <mleleszi at google.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/src/wctype/CMakeLists.txt
A libc/src/wctype/iswdigit.cpp
A libc/src/wctype/iswdigit.h
M libc/test/src/wctype/CMakeLists.txt
M libc/test/src/wctype/iswalpha_test.cpp
A libc/test/src/wctype/iswdigit_test.cpp
Log Message:
-----------
[libc][wctype] Implement public iswdigit (#181635)
https://github.com/llvm/llvm-project/issues/175003
Create public function and entrypoints for iswdigit and add UTF8 test to
iswalpha test. On CI there is no UTF8 build currently, so that test case
will only run locally, but
[wctype_utils_test.cpp](https://github.com/llvm/llvm-project/blob/main/libc/test/src/__support/wctype_utils_test.cpp)
is written in a way that both ASCII and UTF8 tests run regardless of the
build config.
Commit: d0a8fccfb226c62d9fd4d2bc2ce40a550579a014
https://github.com/llvm/llvm-project/commit/d0a8fccfb226c62d9fd4d2bc2ce40a550579a014
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp
M llvm/include/llvm/Debuginfod/Debuginfod.h
A llvm/include/llvm/Debuginfod/HTTPClient.h
A llvm/include/llvm/Debuginfod/HTTPServer.h
R llvm/include/llvm/Support/HTTP/HTTPClient.h
R llvm/include/llvm/Support/HTTP/HTTPServer.h
M llvm/lib/Debuginfod/CMakeLists.txt
M llvm/lib/Debuginfod/Debuginfod.cpp
A llvm/lib/Debuginfod/HTTPClient.cpp
A llvm/lib/Debuginfod/HTTPServer.cpp
M llvm/lib/Support/CMakeLists.txt
R llvm/lib/Support/HTTP/CMakeLists.txt
R llvm/lib/Support/HTTP/HTTPClient.cpp
R llvm/lib/Support/HTTP/HTTPServer.cpp
M llvm/tools/llvm-cov/CodeCoverage.cpp
M llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
M llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
M llvm/unittests/Debuginfod/CMakeLists.txt
M llvm/unittests/Debuginfod/DebuginfodTests.cpp
A llvm/unittests/Debuginfod/HTTPServerTests.cpp
M llvm/unittests/Support/CMakeLists.txt
R llvm/unittests/Support/HTTP/CMakeLists.txt
R llvm/unittests/Support/HTTP/HTTPServerTests.cpp
Log Message:
-----------
Revert "[Support] Move HTTP client/server to new LLVMSupportHTTP lib (NFC)" (#185372)
Reverts llvm/llvm-project#184572
Breaks many buildbots.
Commit: 78ab6026b65eba71c25c539f7b59977065ea8ea7
https://github.com/llvm/llvm-project/commit/78ab6026b65eba71c25c539f7b59977065ea8ea7
Author: Luke Lau <luke at igalia.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
R llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
R llvm/test/CodeGen/RISCV/intrinsic-cttz-elts.ll
A llvm/test/CodeGen/RISCV/rvv/cttz-elts.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-elts.ll
Log Message:
-----------
[RISCV] Move llvm.experimental.cttz.elts tests to rvv folder. NFC (#185371)
This brings it inline with other intrinsics that require rvv
Commit: 4879f1612b0bacf33ee84f679dd5ded7ca70d08e
https://github.com/llvm/llvm-project/commit/4879f1612b0bacf33ee84f679dd5ded7ca70d08e
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/memberpointers.cpp
Log Message:
-----------
[clang][bytecode] Check memberpointer exprs for errors (#185370)
Commit: 2b811f4a5dff3f03ae5b8d7c991bcb176cbaec17
https://github.com/llvm/llvm-project/commit/2b811f4a5dff3f03ae5b8d7c991bcb176cbaec17
Author: Shivam Kunwar <75530356+phyBrackets at users.noreply.github.com>
Date: 2026-03-09 (Mon, 09 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
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
A llvm/test/DebugInfo/X86/debug-info-constexpr-array.ll
Log Message:
-----------
Reland "[DebugInfo] Emit DW_AT_const_value for constexpr array static members" (#184804)
Use `getElementAsAPInt(`) to read array elements and emit via
`addIntAsBlock()` which handles target endianness correctly, instead of
`getRawDataValues()` which exposes host endianness. This fixes test
failures on big-endian hosts cross-compiling for little-endian targets.
Reland of #182442 with endianness fix.
Commit: 00efc1e5a03142c50819e37d5e2574fc7215fa44
https://github.com/llvm/llvm-project/commit/00efc1e5a03142c50819e37d5e2574fc7215fa44
Author: AndiB <sudofortune1 at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Log Message:
-----------
[NFC] Fix spelling mistakes in emitted string replacing word anaylsis with analysis (#185233)
llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp had spelling mistake in error
message string.
This PR fixes the spelling mistake and replaces 'anaylsis' with
'analysis'
Commit: 05781f40170d8ab1add63a49fc00fbfd8f70a062
https://github.com/llvm/llvm-project/commit/05781f40170d8ab1add63a49fc00fbfd8f70a062
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M mlir/lib/Dialect/Bufferization/Extensions/ShardingExtensions.cpp
M mlir/lib/Dialect/Shard/Transforms/ShardingPropagation.cpp
M mlir/test/Dialect/Shard/sharding-propagation-failed.mlir
Log Message:
-----------
[mlir][shard] Small fixes to partition pass (#185050)
- Empty functions (with no blocks) should are skipped by partition pass,
blocks with more than one continue to get error-flagged
- fixed ShardingInterfaceImpl of bufferization.materialize_in_destination
Commit: bdde26285f6a2fe1bcb54b1bb26d6772088b9472
https://github.com/llvm/llvm-project/commit/bdde26285f6a2fe1bcb54b1bb26d6772088b9472
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
A libclc/clc/include/clc/collective/clc_work_group_reduce.h
A libclc/clc/include/clc/collective/clc_work_group_reduce.inc
M libclc/clc/lib/generic/CMakeLists.txt
A libclc/clc/lib/generic/collective/clc_work_group_reduce.cl
A libclc/clc/lib/generic/collective/clc_work_group_reduce.inc
M libclc/opencl/lib/generic/CMakeLists.txt
A libclc/opencl/lib/generic/collective/work_group_reduce.cl
A libclc/opencl/lib/generic/collective/work_group_reduce.inc
Log Message:
-----------
libclc: Add work_group_reduce_* functions (#185368)
Commit: a1866b861732de3b324b46e993783cd2a2c1cf49
https://github.com/llvm/llvm-project/commit/a1866b861732de3b324b46e993783cd2a2c1cf49
Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/test/Target/LLVMIR/Import/debug-info.ll
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
[mlir][llvm] Make name optional for DIBasicTypeAttr and DIStringTypeAttr (#185284)
The name field of DICompositeTypeAttr was already optional, but
DIBasicTypeAttr and DIStringTypeAttr were not handled consistently. Make
the name parameter of both an OptionalParameter to support LLVM debug
info nodes with no name. Update DebugImporter to use getStringAttrOrNull
when translating the name of these types. Add tests for the null-name
cases in the import and export test files.
Commit: 0d32195c9f98ec27b3f6d958ed7916584e05caa2
https://github.com/llvm/llvm-project/commit/0d32195c9f98ec27b3f6d958ed7916584e05caa2
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M lldb/unittests/Platform/PlatformDarwinTest.cpp
Log Message:
-----------
[lldb][test][NFC] PlatformDarwinTest.cpp: fix directory creation comment
To be consistent with the other comments in the same test.
Commit: d840396e20b09244ac3defcc1f2946102e29f030
https://github.com/llvm/llvm-project/commit/d840396e20b09244ac3defcc1f2946102e29f030
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang/include/clang/Options/Options.td
M clang/lib/CodeGen/CGCall.cpp
M clang/test/CodeGenCUDA/convergent.cu
M clang/test/CodeGenCUDA/incomplete-func-ptr-type.cu
M clang/test/CodeGenHIP/default-attributes.hip
M clang/test/CodeGenHIP/hip_weak_alias.cpp
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
M clang/test/CodeGenOpenCL/convergent.cl
Log Message:
-----------
clang: Simplify emission of uniform-work-group-size attribute (#185066)
Commit: 38d4509caa6536f184ccc9dd29721133b7c2a810
https://github.com/llvm/llvm-project/commit/38d4509caa6536f184ccc9dd29721133b7c2a810
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn-codegen.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
Log Message:
-----------
AMDGPU: Fix selection failure on fast vector rootn (#185035)
This was emitting the raw rcp intrinsic, which will fail for any
vector type. This is an afn context anyway, so just emit fdiv
which will select to rcp but also will undergo type legalization.
Commit: 6bf37b070e75b77b1df0930ce3ffa0c1c6700f60
https://github.com/llvm/llvm-project/commit/6bf37b070e75b77b1df0930ce3ffa0c1c6700f60
Author: Karlo Basioli <basioli at google.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
Fix bazel build after #168421 (#185387)
Commit: 0da00c325bd884225d85387ec934d807bcff8777
https://github.com/llvm/llvm-project/commit/0da00c325bd884225d85387ec934d807bcff8777
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-scalar-assignment.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/X86/conditional-scalar-assignment.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/select-cmp.ll
Log Message:
-----------
[LV] Support float and pointer FindLast reductions (#184101)
This duplicates #182313 with some very small modifications on top, as
@dheaton-arm is unable
to finish the PR and I'm unable to push to his branch.
Expands support for the `FindLast` Reccurence Kind to floating-point and
pointer types, thereby
enabling conditional scalar assignment (CSA) for these types.
Originally authored by @dheaton-arm
---------
Co-authored-by: Damian Heaton <Damian.Heaton at arm.com>
Commit: 0be62be1d4c3b63e006678cda007d5edf78ae012
https://github.com/llvm/llvm-project/commit/0be62be1d4c3b63e006678cda007d5edf78ae012
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M flang/test/Lower/Intrinsics/date_and_time.f90
M flang/test/Lower/Intrinsics/dconjg.f90
M flang/test/Lower/Intrinsics/dim.f90
M flang/test/Lower/Intrinsics/dimag.f90
M flang/test/Lower/Intrinsics/dprod.f90
Log Message:
-----------
[flang][NFC] Converted five tests from old lowering to new lowering (part 27) (#185340)
Tests converted from test/Lower/Intrinsics: date_and_time.f90,
dconjg.f90, dim.f90, dimag.f90, dprod.f90
Commit: c73bd3e73450aa1682841c239d13d5bedf5e57e2
https://github.com/llvm/llvm-project/commit/c73bd3e73450aa1682841c239d13d5bedf5e57e2
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
libclc: Remove old mesa amdgcn targets (#185385)
amdgcn-- was probably dead when clover was being maintained, since
it switched to using amdgcn-mesa-mesa3d. Also remove amdgcn-mesa-mesa3d,
since clover is no longer in mesa.
Commit: 5d52d2f01602fd72cf88f3f083b981cd4e98b84f
https://github.com/llvm/llvm-project/commit/5d52d2f01602fd72cf88f3f083b981cd4e98b84f
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
A clang/include/clang/Analysis/Scalable/Frontend/TUSummaryExtractorFrontendAction.h
A clang/include/clang/Analysis/Scalable/SSAFBuiltinForceLinker.h
A clang/include/clang/Analysis/Scalable/SSAFForceLinker.h
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormatRegistry.h
M clang/include/clang/Analysis/Scalable/TUSummary/ExtractorRegistry.h
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/Options/Options.td
M clang/lib/Analysis/Scalable/CMakeLists.txt
A clang/lib/Analysis/Scalable/Frontend/TUSummaryExtractorFrontendAction.cpp
M clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/FrontendTool/CMakeLists.txt
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
A clang/test/Analysis/SSAF/command-line-interface.cpp
A clang/test/Analysis/SSAF/downgradable-errors.cpp
A clang/test/Analysis/SSAF/help.cpp
M clang/unittests/Analysis/Scalable/CMakeLists.txt
A clang/unittests/Analysis/Scalable/Frontend/TUSummaryExtractorFrontendActionTest.cpp
M clang/unittests/Analysis/Scalable/Registries/FancyAnalysisData.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSummaryExtractor1.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSummaryExtractor2.cpp
M clang/unittests/Analysis/Scalable/Registries/SerializationFormatRegistryTest.cpp
M clang/unittests/Analysis/Scalable/Registries/SummaryExtractorRegistryTest.cpp
A clang/unittests/Analysis/Scalable/SSAFBuiltinTestForceLinker.h
A clang/unittests/Analysis/Scalable/SSAFTestForceLinker.h
M clang/unittests/Analysis/Scalable/TestFixture.cpp
Log Message:
-----------
[clang][ssaf] Add --ssaf-extract-summaries= and --ssaf-tu-summary-file= options (#184421)
Along the way, it also fixes the static registration of the builtin
(upstream) formats and extractors.
Commit: 1e7300fddcc6fa5e40fb770cb9a88e4f8c1f694d
https://github.com/llvm/llvm-project/commit/1e7300fddcc6fa5e40fb770cb9a88e4f8c1f694d
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
Log Message:
-----------
[PPC64][Linux] Watchpoint configuration for PPC64 (#185192)
On PPC64, SIGTRAP is delivered before the triggering instruction
completes. The previous implementation wrongly assumed that the
instruction gets executed and due to that qHostInfo has the wrong info,
causing the SingleStep being avoided on Linux for PPC64, and the
execution being stuck at the store instruction.
This patch corrects this, making watchpoint work.
Commit: 83732a29040ca920656b64ca8190a00111a48d1c
https://github.com/llvm/llvm-project/commit/83732a29040ca920656b64ca8190a00111a48d1c
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
R clang/include/clang/Analysis/Scalable/Frontend/TUSummaryExtractorFrontendAction.h
R clang/include/clang/Analysis/Scalable/SSAFBuiltinForceLinker.h
R clang/include/clang/Analysis/Scalable/SSAFForceLinker.h
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormatRegistry.h
M clang/include/clang/Analysis/Scalable/TUSummary/ExtractorRegistry.h
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/Options/Options.td
M clang/lib/Analysis/Scalable/CMakeLists.txt
R clang/lib/Analysis/Scalable/Frontend/TUSummaryExtractorFrontendAction.cpp
M clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/FrontendTool/CMakeLists.txt
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
R clang/test/Analysis/SSAF/command-line-interface.cpp
R clang/test/Analysis/SSAF/downgradable-errors.cpp
R clang/test/Analysis/SSAF/help.cpp
M clang/unittests/Analysis/Scalable/CMakeLists.txt
R clang/unittests/Analysis/Scalable/Frontend/TUSummaryExtractorFrontendActionTest.cpp
M clang/unittests/Analysis/Scalable/Registries/FancyAnalysisData.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSummaryExtractor1.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSummaryExtractor2.cpp
M clang/unittests/Analysis/Scalable/Registries/SerializationFormatRegistryTest.cpp
M clang/unittests/Analysis/Scalable/Registries/SummaryExtractorRegistryTest.cpp
R clang/unittests/Analysis/Scalable/SSAFBuiltinTestForceLinker.h
R clang/unittests/Analysis/Scalable/SSAFTestForceLinker.h
M clang/unittests/Analysis/Scalable/TestFixture.cpp
Log Message:
-----------
Revert "[clang][ssaf] Add --ssaf-extract-summaries= and --ssaf-tu-summary-file= options" (#185391)
Reverts llvm/llvm-project#184421
Broke build bot:
https://lab.llvm.org/buildbot/#/builders/204/builds/38459/steps/7/logs/stdio
```
[7440/8486] Linking CXX shared library lib/libclangAnalysisScalable.so.23.0git
FAILED: lib/libclangAnalysisScalable.so.23.0git
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-array-bounds -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -O3 -DNDEBUG -Wl,-z,defs -Wl,-z,nodelete -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/./lib -Wl,--gc-sections -shared -Wl,-soname,libclangAnalysisScalable.so.23.0git -o lib/libclangAnalysisScalable.so.23.0git tools/clang/lib/Analysis/Scalable/CMakeFiles/obj.clangAnalysisScalable.dir/ASTEntityMapping.cpp.o tools/clang/lib/Analysis/Scalable/CMakeFiles/obj.clangAnalysisScalable.dir/EntityLinker/EntityLinker.cpp.o tools/clang/lib/Analysis/Scalable/CMakeFiles/obj.clangAnalysisScalable.dir/Frontend/TUSummaryExtractorFrontendAction.cpp.o tools/clang/lib/Analysis/Scalable/CMakeFiles/obj.clangAnalysisScalable.dir/Model/BuildNamespace.cpp.o tools/clang/lib/Analysis/Scalable/CMakeFiles/obj.clangAnalysisScalable.dir/Model/EntityId.cpp.o tools/clang/lib/Analysis/Scalable/CMakeFiles/obj.clangAnalysisScalable.dir/Model/EntityIdTable.cpp.o tools/clang/lib/Analysis/Scalable/CMakeFiles/obj.clangAnalysisScalable.dir/Model/EntityLinkage.cpp.o tools/clang/lib/Analysis/Scalable/CMakeFiles/obj.clangAnalysisScalable.dir/Model/EntityName.cpp.o tools/clang/lib/Analysis/Scalable/CMakeFiles/obj.clangAnalysisScalable.dir/Model/SummaryName.cpp.o tools/clang/lib/Analysis/Scalable/CMakeFiles/obj.clangAnalysisScalable.dir/Serialization/JSONFormat/JSONFormatImpl.cpp.o tools/clang/lib/Analysis/Scalable/CMakeFiles/obj.clangAnalysisScalable.dir/Serialization/JSONFormat/LUSummary.cpp.o tools/clang/lib/Analysis/Scalable/CMakeFiles/obj.clangAnalysisScalable.dir/Serialization/JSONFormat/LUSummaryEncoding.cpp.o tools/clang/lib/Analysis/Scalable/CMakeFiles/obj.clangAnalysisScalable.dir/Serialization/JSONFormat/TUSummary.cpp.o tools/clang/lib/Analysis/Scalable/CMakeFiles/obj.clangAnalysisScalable.dir/Serialization/JSONFormat/TUSummaryEncoding.cpp.o tools/clang/lib/Analysis/Scalable/CMakeFiles/obj.clangAnalysisScalable.dir/Serialization/SerializationFormatRegistry.cpp.o tools/clang/lib/Analysis/Scalable/CMakeFiles/obj.clangAnalysisScalable.dir/Support/ErrorBuilder.cpp.o tools/clang/lib/Analysis/Scalable/CMakeFiles/obj.clangAnalysisScalable.dir/TUSummary/ExtractorRegistry.cpp.o tools/clang/lib/Analysis/Scalable/CMakeFiles/obj.clangAnalysisScalable.dir/TUSummary/TUSummaryBuilder.cpp.o -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib:" lib/libclangIndex.so.23.0git lib/libclangFrontend.so.23.0git lib/libclangASTMatchers.so.23.0git lib/libclangAST.so.23.0git lib/libclangLex.so.23.0git lib/libclangBasic.so.23.0git lib/libLLVMSupport.so.23.0git -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib && :
tools/clang/lib/Analysis/Scalable/CMakeFiles/obj.clangAnalysisScalable.dir/Frontend/TUSummaryExtractorFrontendAction.cpp.o:(.data.rel.ro._ZTVN12_GLOBAL__N_115TUSummaryRunnerE+0xc0): undefined reference to `clang::SemaConsumer::anchor()'
collect2: error: ld returned 1 exit status
```
Commit: 3e3c3ab6837c213e4137bd2cd4441d1b5d1ca590
https://github.com/llvm/llvm-project/commit/3e3c3ab6837c213e4137bd2cd4441d1b5d1ca590
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp
Log Message:
-----------
[llvm][tools] Improve llvm-gpu-loader checks (#184791)
When devices are not properly initialized llvm-gpu-loader follows corrupt pointers which
result in hard to debug crashes.
This improves the checks to avoid such situations.
Commit: 47e31088f3ac829060b653afef2272d0b220f3bd
https://github.com/llvm/llvm-project/commit/47e31088f3ac829060b653afef2272d0b220f3bd
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGen/amdgpu-abi-version.c
M clang/test/CodeGenCUDA/amdgpu-workgroup-size.cu
A clang/test/CodeGenOpenCL/builtins-amdgcn-workgroup-size.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
M clang/test/Headers/gpuintrin.c
Log Message:
-----------
clang/AMDGPU: Fix workgroup size builtins for nonuniform work group sizes (#185098)
These were assuming uniform work group sizes. Emit the v4 and v5
sequences to take the remainder group for the nonuniform case.
Currently the device libs uses this builtin on the legacy ABI path with
the same sequence to calculate the remainder, and fully implements the
v5 path. If you perform a franken-build of the library with the updated
builtin, the result is worse. The duplicate sequence does not fully fold out.
However, it does not appear to be wrong. The relevant conformance tests still
pass.
Commit: 57edc20b1e1b7f346ad913b0b979c05d2594b20e
https://github.com/llvm/llvm-project/commit/57edc20b1e1b7f346ad913b0b979c05d2594b20e
Author: Balaji Krishna Yugandhar Atukuri <balaji.k.atukuri at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp
Log Message:
-----------
[NVPTX][NFC] Fix TODO comment style in NVPTXMCAsmInfo.cpp (#185332)
Replace `@TODO` with `TODO` to follow LLVM comment conventions.
This is an NFC change — no functional impact.
Commit: 4994bcef135647303a747807d574ef1905d5c19e
https://github.com/llvm/llvm-project/commit/4994bcef135647303a747807d574ef1905d5c19e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
Log Message:
-----------
Fix MSVC "not all control paths return a value" warning. NFC. (#185388)
Commit: 56fe9097fc83106db2ebfaade93e41a6aefda425
https://github.com/llvm/llvm-project/commit/56fe9097fc83106db2ebfaade93e41a6aefda425
Author: Amila Senadheera <amila.15 at cse.mrt.ac.lk>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/examples/Kaleidoscope/Chapter3/toy.cpp
Log Message:
-----------
kaleidoscope: add missing check in the FunctionAST::codegen (#76322)
kaleidoscope chapter 03 explanation has this function redefine check,
but it was missing in the code sample.
Signed-off-by: amila <amila.15 at cse.mrt.ac.lk>
Commit: 9f3d9f488450de561176f3adfab5bb9ee1bf5f08
https://github.com/llvm/llvm-project/commit/9f3d9f488450de561176f3adfab5bb9ee1bf5f08
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode][NFC] Name all expressions E (#185379)
At least the ones we visit directly via the visitor. This was always the
case, except for BinaryOperator and CastExpr.
Commit: c54cb1b81482b7edf1a2d8a78188642a5aacb0de
https://github.com/llvm/llvm-project/commit/c54cb1b81482b7edf1a2d8a78188642a5aacb0de
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/test/Dialect/Linalg/named-ops-fail.mlir
M mlir/test/Dialect/Linalg/named-ops.mlir
Log Message:
-----------
[mlir][linalg] Emit proper diagnostic instead of crashing in SelectOp with index type (#183652)
`buildTernaryFn` for `TernaryFn::select` called `llvm_unreachable` when
the operand types were not `i1`, integer, or floating-point (e.g.,
`index` type).
Instead delegate this checking to the IR verifier: we don't need to
duplicate the checks from the verifier in an assertion here.
Fixes #179046
Assisted-by: Claude Code
Commit: 36de257076fd2bdaf90f2391bf5416ad149dc6e5
https://github.com/llvm/llvm-project/commit/36de257076fd2bdaf90f2391bf5416ad149dc6e5
Author: tudinhh <103348714+tudinhh at users.noreply.github.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/get_active_lane_mask.ll
Log Message:
-----------
[InstCombine] Handle fixed-width results in get_active_lane_mask fold (#185317)
The optimization introduced in #183329 incorrectly assumed that any
extraction from a scalable active lane mask used a scalable index. When
the result of a `llvm.vector.extract` is a fixed-width vector, the index
should not be multiplied by vscale.
This PR adds a check to ensure the index is only scaled by VScaleMin
when the return type of the extraction is a scalable vector, not
fixed-width.
Fixes #185271
Commit: 3833551b1ed915a0545d34713b4a49938a4e48ae
https://github.com/llvm/llvm-project/commit/3833551b1ed915a0545d34713b4a49938a4e48ae
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
A mlir/test/Conversion/GPUCommon/lower-launch-func-bare-ptr-invalid.mlir
Log Message:
-----------
[mlir][gpu] Fix crash in gpu-to-llvm with unranked memref and bare-ptr calling convention (#185062)
When using `--gpu-to-llvm` with `use-bare-pointers-for-kernels=true` and
a `gpu.launch_func` whose kernel has an `UnrankedMemRefType` argument,
`LLVMTypeConverter::promoteOperands` would hit an `llvm_unreachable`
because unranked memrefs are not supported with the bare-pointer calling
convention.
Fix this by checking for unranked memref kernel arguments before calling
`promoteOperands` and returning a proper conversion failure with a
diagnostic instead of crashing.
Fixes #184939
Assisted-by: Claude Code
Commit: 6aa7538a39975fb4b12edb32d058a631646ff053
https://github.com/llvm/llvm-project/commit/6aa7538a39975fb4b12edb32d058a631646ff053
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/sve-streaming-mode-cvt-fp-int-fp.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
Log Message:
-----------
[LLVM][AArch64] Allow vector converts to run in streaming mode with … (#177375)
…FPRCVT
Vector Saturated converts fp->int and converts int->fp are now allowed
to run in streaming mode when FEAT_FPRCVT feature is available.
Therefore the patch replaces HasNEONandIsSME2p2StreamingSafe by
HasNEONandIsFPRCVTStreamingSafe following the latest update in [1] for
the Vector CVT instructions.
It also allows the ISD Node FP_TO_SINT_SAT to do custom lowering instead
of expand when it is a fixed lengh data type, because it can use the
Vector CVT instructions. I believe this is correct because there is
always a compatible CVT instruction for the SME core.
Because now the compiler allows the fixed length CVT to run in streaming
mode, I needed to fix the function LowerVectorFP_TO_INT_SAT, the FRINT
instruction were creating a ilegal size for CVT instructions that was
not able to lower to a CVT instruction.
co-author:Amina Chabane<amina.chabane at arm.com>
[1] https://developer.arm.com/documentation/ddi0602/2025-09
Commit: 9e883b4410415f6c544a8292bba22f350be9908a
https://github.com/llvm/llvm-project/commit/9e883b4410415f6c544a8292bba22f350be9908a
Author: Fady Farag <com.webkit.iidmsa at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang/test/Lexer/cxx20-module-directive.cpp
Log Message:
-----------
[clang][test] Add missing FileCheck pipe in cxx20-module-directive.cpp (#185315)
The test had CHECK directives that were never executed because the RUN
line did not pipe output to FileCheck.
Commit: ff232d67b534f41617effa20abdab0933fe127c6
https://github.com/llvm/llvm-project/commit/ff232d67b534f41617effa20abdab0933fe127c6
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/utility
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/init-variables-mathheader.cpp
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-bounds-constant-array-index-includestyle.cpp
A clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-string-concatenation-strict.cpp
A clang-tools-extra/test/clang-tidy/checkers/performance/no-automatic-move-allowed-types.cpp
A clang-tools-extra/test/clang-tidy/checkers/performance/type-promotion-in-math-fn-includestyle.cpp
A clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-includestyle.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
Log Message:
-----------
[clang-tidy][NFC] Add missing Option tests in cppcoreguidelines and performance [3/N] (#185210)
This PR adds testcases for untested Options in `cppcoreguidelines` and
`performance` modules for better test coverage, specifically:
- `cppcoreguidelines-init-variables`: `IncludeStyle`, `MathHeader`.
- `cppcoreguidelines-pro-bounds-constant-array-index`: `IncludeStyle`.
- `performance-inefficient-string-concatenation`: `StrictMode`.
- `performance-no-automatic-move`: `AllowedTypes`.
- `performance-type-promotion-in-math-fn`: `IncludeStyle`.
- `performance-unnecessary-value-param`: `IncludeStyle`.
As of AI Usage: Assisted by Gemini 3 and Claude (Writing part of the
testcases and pre-commit reviewing).
Commit: 6b0421426e083a915350fc9d3a2edc75621b0799
https://github.com/llvm/llvm-project/commit/6b0421426e083a915350fc9d3a2edc75621b0799
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M flang/include/flang/Semantics/openmp-utils.h
M flang/lib/Semantics/check-omp-loop.cpp
Log Message:
-----------
[flang][OpenMP] Import ExecutionPartIterator et al into semantics::om… (#185288)
…p, NFC
Issue: https://github.com/llvm/llvm-project/issues/185287
Commit: 61a58cfa5c9aafc70f5e2faecc334c9b4373d89f
https://github.com/llvm/llvm-project/commit/61a58cfa5c9aafc70f5e2faecc334c9b4373d89f
Author: LeeYoungJoon <dog3hk.dev at gmail.com>
Date: 2026-03-09 (Mon, 09 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/IgnoredRemoveResultCheck.cpp
R clang-tools-extra/clang-tidy/hicpp/IgnoredRemoveResultCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-return-value.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/ignored-remove-result.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
Log Message:
-----------
[clang-tidy] Redirect hicpp-ignored-remove-result to bugprone-unused-return-value (#184547)
Part of the work in https://github.com/llvm/llvm-project/issues/183462.
Closes https://github.com/llvm/llvm-project/issues/183518.
Commit: 0a51a757cf6dcb6c60e60045dbca34fef0c981f8
https://github.com/llvm/llvm-project/commit/0a51a757cf6dcb6c60e60045dbca34fef0c981f8
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M flang/include/flang/Parser/openmp-utils.h
M flang/lib/Parser/openmp-utils.cpp
Log Message:
-----------
[flang][OpenMP] Remember original range in ExecutionPartIterator (#185290)
Storing the original range (instead of just the "remaining part") will
allow the iterator component to be reused.
Issue: https://github.com/llvm/llvm-project/issues/185287
Commit: 70e49d87b0fe9b139e6976a48379810dc22ab567
https://github.com/llvm/llvm-project/commit/70e49d87b0fe9b139e6976a48379810dc22ab567
Author: Hussam Alhassan <hsm.link at proton.me>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
Log Message:
-----------
[NFC][AArch64] Improve semantics of findSuitableCompare in ConditionOptimizer (#183532)
Improve the semantics of the "findSuitableCompare" method and improve
logic sharing between the cross- and intra-block paths.
Add the "getBccTerminator" helper and rename the above function to
"findAdjustableCmp" which now takes a conditional instruction and
returns its controlling compare.
Commit: c51afe63e14f5fab7656de8b5750feab86ec8f2f
https://github.com/llvm/llvm-project/commit/c51afe63e14f5fab7656de8b5750feab86ec8f2f
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M flang/include/flang/Semantics/openmp-utils.h
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/openmp-utils.cpp
Log Message:
-----------
[flang][OpenMP] Move two functions to openmp-utils.cpp, NFC (#185291)
Move `IsLoopTransforming` and `IsFullUnroll` from check-omp-loop.cpp to
openmp-utils.cpp.
Issue: https://github.com/llvm/llvm-project/issues/185287
Commit: 914df0e7469feb0369552a2d17a05f2e8b52fc56
https://github.com/llvm/llvm-project/commit/914df0e7469feb0369552a2d17a05f2e8b52fc56
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/test/CodeGen/X86/known-pow2.ll
Log Message:
-----------
[X86] known-pow2.ll - add srl vector test for #182562 (#185405)
Commit: 6add4bf5f3064ad42de3ba5ed24b31a71a18d16e
https://github.com/llvm/llvm-project/commit/6add4bf5f3064ad42de3ba5ed24b31a71a18d16e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M libclc/opencl/lib/spirv/CMakeLists.txt
Log Message:
-----------
[libclc] Copy old SOURCES list exactly to new format
Summary:
Things got shuffled around, some sources got added. This should
hopefully resolve some issues seen after landing https://github.com/llvm/llvm-project/pull/185247
Commit: 1f84bdeac2dfb2c9ac4eef586ee154438facaebc
https://github.com/llvm/llvm-project/commit/1f84bdeac2dfb2c9ac4eef586ee154438facaebc
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M bolt/test/max-funcs.test
Log Message:
-----------
[BOLT] Fix test with -DCLANG_DEFAULT_PIE_ON_LINUX=OFF (#185047)
Use `%cxxflags`, so that `-fPIE -pie` get passed in order to ensure the
test behavior is the same regardless of cmake configuration. We do
similar in many other BOLT tests.
Commit: ecb1e829db225e8ebdda3d77d1d9a97db365af8f
https://github.com/llvm/llvm-project/commit/ecb1e829db225e8ebdda3d77d1d9a97db365af8f
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
A clang/include/clang/Analysis/Scalable/Frontend/TUSummaryExtractorFrontendAction.h
A clang/include/clang/Analysis/Scalable/SSAFBuiltinForceLinker.h
A clang/include/clang/Analysis/Scalable/SSAFForceLinker.h
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormatRegistry.h
M clang/include/clang/Analysis/Scalable/TUSummary/ExtractorRegistry.h
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/Options/Options.td
M clang/lib/Analysis/Scalable/CMakeLists.txt
A clang/lib/Analysis/Scalable/Frontend/TUSummaryExtractorFrontendAction.cpp
M clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/FrontendTool/CMakeLists.txt
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
A clang/test/Analysis/SSAF/command-line-interface.cpp
A clang/test/Analysis/SSAF/downgradable-errors.cpp
A clang/test/Analysis/SSAF/help.cpp
M clang/unittests/Analysis/Scalable/CMakeLists.txt
A clang/unittests/Analysis/Scalable/Frontend/TUSummaryExtractorFrontendActionTest.cpp
M clang/unittests/Analysis/Scalable/Registries/FancyAnalysisData.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSummaryExtractor1.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSummaryExtractor2.cpp
M clang/unittests/Analysis/Scalable/Registries/SerializationFormatRegistryTest.cpp
M clang/unittests/Analysis/Scalable/Registries/SummaryExtractorRegistryTest.cpp
A clang/unittests/Analysis/Scalable/SSAFBuiltinTestForceLinker.h
A clang/unittests/Analysis/Scalable/SSAFTestForceLinker.h
M clang/unittests/Analysis/Scalable/TestFixture.cpp
Log Message:
-----------
Reapply "[clang][ssaf] Add --ssaf-extract-summaries= and --ssaf-tu-summary-file= options" (#185414)
Reapplies #185391, and links `clangSema` to `clangAnalysisScalable` for
the missing `clang::SemaConsumer::anchor()` symbol from
`TUSummaryExtractorFrontendAction.cpp`.
In static builds, this missing symbol wasn't an issue, but it is for
shared lib builds.
Commit: 32affedee40b64cd59b7678af607ba15d0d7e6cc
https://github.com/llvm/llvm-project/commit/32affedee40b64cd59b7678af607ba15d0d7e6cc
Author: Berke Ates <berke at ates.ch>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
M mlir/test/Dialect/LLVMIR/inlining.mlir
Log Message:
-----------
[MLIR][LLVMIR] Fix inline byval alloca hoisting out of allocation scope (#185399)
This PR fixes a bug of the LLVM dialect's function inlining, which
materializes allocas for byval arguments and moves them to the entry
block for optimization. This optimization should not cross allocation
scopes, as it leads to data races in parallel regions. See the example
below.
```mlir
// Optimize with mlir-opt --pass-pipeline="builtin.module(inline)" to trigger the inlining bug.
module {
// runner calls kernel(thread_idx, byval_struct, output)
// After inlining, the alloca for the byval struct gets placed in the outer
// region (shared by all threads) instead of inside the scf.forall body.
// This is a bug: each thread should have its own copy, but they all share
// the same alloca.
llvm.func hidden @runner(%arg0: !llvm.ptr {llvm.byval = !llvm.struct<(f32)>}, %arg1: !llvm.ptr) {
%c0 = arith.constant 0 : index
%c1024 = arith.constant 1024 : index
%c1 = arith.constant 1 : index
scf.forall (%i) = (%c0) to (%c1024) step (%c1) {
%idx = arith.index_cast %i : index to i64
llvm.call @kernel(%idx, %arg0, %arg1) : (i64, !llvm.ptr, !llvm.ptr) -> ()
}
llvm.return
}
// kernel uses the byval struct as writable thread-local scratch space:
// 1. Writes thread_id into the local copy
// 2. Reads it back and stores to output
// After buggy inlining, all threads share the same alloca, so thread A's
// store is overwritten by thread B before thread A reads it back.
// Expected: output[i] == float(i). Actual: non-deterministic.
llvm.func hidden @kernel(%arg0: i64, %arg1: !llvm.ptr {llvm.byval = !llvm.struct<(f32)>}, %arg2: !llvm.ptr) {
%thread_id_f32 = llvm.sitofp %arg0 : i64 to f32
// BUG: after inlining, %arg1 is a shared alloca, concurrent threads
// overwrite each other between the store and load below.
llvm.store %thread_id_f32, %arg1 : f32, !llvm.ptr
%val = llvm.load %arg1 : !llvm.ptr -> f32
%out_ptr = llvm.getelementptr inbounds %arg2[%arg0] : (!llvm.ptr, i64) -> !llvm.ptr, f32
llvm.store %val, %out_ptr : f32, !llvm.ptr
llvm.return
}
}
```
Commit: a572e9a00c757988406863a0023c09704488f17e
https://github.com/llvm/llvm-project/commit/a572e9a00c757988406863a0023c09704488f17e
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
R clang/docs/ScalableStaticAnalysisFramework/Framework.rst
R clang/docs/ScalableStaticAnalysisFramework/SummaryExtraction.rst
A clang/docs/ScalableStaticAnalysisFramework/developer-docs/ForceLinkerHeaders.rst
A clang/docs/ScalableStaticAnalysisFramework/developer-docs/HowToExtend.rst
A clang/docs/ScalableStaticAnalysisFramework/developer-docs/SummaryExtractionInternals.rst
A clang/docs/ScalableStaticAnalysisFramework/developer-docs/index.rst
A clang/docs/ScalableStaticAnalysisFramework/index.rst
A clang/docs/ScalableStaticAnalysisFramework/user-docs/SummaryExtraction.rst
M clang/docs/index.rst
Log Message:
-----------
[clang][ssaf][docs] Update SSAF docs (#184833)
Depend on #184421 (later reverted and reapplied in #185414)
Commit: 81bcf41861504797aa8347e070ce9b95c699b962
https://github.com/llvm/llvm-project/commit/81bcf41861504797aa8347e070ce9b95c699b962
Author: Delaram Talaashrafi <dtalaashrafi at nvidia.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Fir/OpenMP/bounds-generation-for-char-arrays.f90
M flang/test/Fir/convert-nontemporal-to-llvm.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/convert-to-llvm.fir
M flang/test/Fir/embox-char.fir
M flang/test/Fir/polymorphic.fir
M flang/test/Fir/tbaa-codegen-records.fir
M flang/test/Fir/tbaa.fir
M flang/test/Integration/OpenMP/private-global.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-firstprivate.f90
Log Message:
-----------
[flang] Add setMemcpyAlignmentArgAttrs and use it for box-load memcpy (#185126)
Introduce `setMemcpyAlignmentArgAttrs` to set the LLVM alignment operand
attributes on a memcpy. The function is used when lowering `fir.load` of a box to
LLVM memcpy so the generated memcpy has correct align attributes on dst and src,
improving codegen and downstream optimizations.
Commit: d2c0937c5a8179eca45d9d6031ec459083346105
https://github.com/llvm/llvm-project/commit/d2c0937c5a8179eca45d9d6031ec459083346105
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
Log Message:
-----------
[AMDGPU] Make GCNHazardRecognizer "check" functions const. NFC. (#185416)
Commit: 3286c4c4f6e31a6728ff115800bec597aff0e7c9
https://github.com/llvm/llvm-project/commit/3286c4c4f6e31a6728ff115800bec597aff0e7c9
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/test/MC/AMDGPU/gfx1250_asm_sopp.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2.s
M llvm/test/MC/AMDGPU/literals.s
Log Message:
-----------
[AMDGPU] Fix incorrect check prefixes in some MC tests (#185015)
Found using utils/filecheck_lint/filecheck_lint.py
Commit: 51a9052f1cc1c0c6120ea646239cbf3e5e21b0ed
https://github.com/llvm/llvm-project/commit/51a9052f1cc1c0c6120ea646239cbf3e5e21b0ed
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Extract select to min/max combining into separate function (NFC)
Commit: a5c28c5a7893c4fac3caac42db1e250125459fc3
https://github.com/llvm/llvm-project/commit/a5c28c5a7893c4fac3caac42db1e250125459fc3
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M flang/include/flang/Semantics/openmp-utils.h
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/openmp-utils.cpp
Log Message:
-----------
[flang][OpenMP] Refactor CountGeneratedNests, NFC (#185293)
Extract handling of individual constructs into a helper function. Change
the base count type to `int64_t` to match the type used in GetIntValue.
Rename the function to GetNumGeneratedNests.
Issue: https://github.com/llvm/llvm-project/issues/185287
Commit: 9a1c63230b8ad3f19cb624f0d283f7df10957ab7
https://github.com/llvm/llvm-project/commit/9a1c63230b8ad3f19cb624f0d283f7df10957ab7
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
R clang/include/clang/Analysis/Scalable/Frontend/TUSummaryExtractorFrontendAction.h
R clang/include/clang/Analysis/Scalable/SSAFBuiltinForceLinker.h
R clang/include/clang/Analysis/Scalable/SSAFForceLinker.h
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormatRegistry.h
M clang/include/clang/Analysis/Scalable/TUSummary/ExtractorRegistry.h
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/Options/Options.td
M clang/lib/Analysis/Scalable/CMakeLists.txt
R clang/lib/Analysis/Scalable/Frontend/TUSummaryExtractorFrontendAction.cpp
M clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/FrontendTool/CMakeLists.txt
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
R clang/test/Analysis/SSAF/command-line-interface.cpp
R clang/test/Analysis/SSAF/downgradable-errors.cpp
R clang/test/Analysis/SSAF/help.cpp
M clang/unittests/Analysis/Scalable/CMakeLists.txt
R clang/unittests/Analysis/Scalable/Frontend/TUSummaryExtractorFrontendActionTest.cpp
M clang/unittests/Analysis/Scalable/Registries/FancyAnalysisData.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSummaryExtractor1.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSummaryExtractor2.cpp
M clang/unittests/Analysis/Scalable/Registries/SerializationFormatRegistryTest.cpp
M clang/unittests/Analysis/Scalable/Registries/SummaryExtractorRegistryTest.cpp
R clang/unittests/Analysis/Scalable/SSAFBuiltinTestForceLinker.h
R clang/unittests/Analysis/Scalable/SSAFTestForceLinker.h
M clang/unittests/Analysis/Scalable/TestFixture.cpp
Log Message:
-----------
Revert "Reapply "[clang][ssaf] Add --ssaf-extract-summaries= and --ssaf-tu-summary-file= options"" (#185429)
Reverts llvm/llvm-project#185414
This causes a layering violation:
```
.-> @@+_repo_rules+llvm-project//clang:frontend (2eb996bf0fff79a7e511505c102fb209134e52882857eedf358e55276d02d189)
| @@+_repo_rules+llvm-project//clang:static_analyzer_core_options (2eb996bf0fff79a7e511505c102fb209134e52882857eedf358e55276d02d189)
| @@+_repo_rules+llvm-project//clang:analysis (2eb996bf0fff79a7e511505c102fb209134e52882857eedf358e55276d02d189)
`-- @@+_repo_rules+llvm-project//clang:frontend (2eb996bf0fff79a7e511505c102fb209134e52882857eedf358e55276d02d189)
```
The reverted patch made `clang/Analysis` depend on `clang/FrontEnd`, and
`clang/FrontEnd` already (indirectly) depends on `clang/Analysis`.
Commit: fc863509e3afe19a3b24f70b31880708dc759b94
https://github.com/llvm/llvm-project/commit/fc863509e3afe19a3b24f70b31880708dc759b94
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/use-std-move.cpp
Log Message:
-----------
[clang-tidy] Improve performance-use-std-move in presence of control-flow (#184136)
Commit: 0bf9bb5c42c625c513484bc6224a9fc85c7e25fb
https://github.com/llvm/llvm-project/commit/0bf9bb5c42c625c513484bc6224a9fc85c7e25fb
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
A flang/test/Transforms/omp-map-info-finalization-usm.fir
A offload/test/offloading/fortran/usm_derived_type_allocatable_member.f90
Log Message:
-----------
[Flang][OpenMP] Fix close map flag propagation for derived types in USM (#185330)
This fixes a bug in USM mode where the `close` map type modifer was
attached to some `map.info.op`'s corresponding to user-defined type
members while the parent type instance itself is not marked as `close`.
This fix ensures that if a parent record type map does not have the
'close' flag, it is cleared from its members as well, maintaining
consistency.
Gemini was used to create tests. AI generated test code was reviewed
line-by-line by me. Which were derived from a reproducer I was working
with to debug the issue.
Assisted-by: Gemini <gemini at google.com>
Commit: d15ca01d185aef3fefe0528c685358db9aec5264
https://github.com/llvm/llvm-project/commit/d15ca01d185aef3fefe0528c685358db9aec5264
Author: Nico Weber <thakis at chromium.org>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/LanguageRuntime/CPlusPlus/BUILD.gn
R llvm/utils/gn/secondary/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/BUILD.gn
Log Message:
-----------
[gn] port 58efc426d70 (de-plugin lldb ItaniumABI)
Commit: 0da2aecb01412588c571038d7c887674c291a08f
https://github.com/llvm/llvm-project/commit/0da2aecb01412588c571038d7c887674c291a08f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
A llvm/test/Transforms/SLPVectorizer/non-power-of-2-bswap.ll
Log Message:
-----------
[SLP]Invalid cost for non-power-of-2 bswaps (#185407)
bswaps are supported only for power-of-2 types, need to disable it for
the default cost model to fix a compiler crash.
Fixes
https://github.com/llvm/llvm-project/pull/184018#issuecomment-4022697189
Commit: c3d040baf08481087cfaa2b06318a7f5a1dba3ad
https://github.com/llvm/llvm-project/commit/c3d040baf08481087cfaa2b06318a7f5a1dba3ad
Author: Nico Weber <thakis at chromium.org>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/utils/gn/secondary/bolt/unittests/Core/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
Log Message:
-----------
[gn] port 443ce5569ee9854c (X86 SDNodeInfo)
Commit: dcf2161098a5857be02de2f12b6a8c83fad54824
https://github.com/llvm/llvm-project/commit/dcf2161098a5857be02de2f12b6a8c83fad54824
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M lldb/unittests/Platform/PlatformDarwinTest.cpp
Log Message:
-----------
[lldb][test] PlatformDarwinTest.cpp: move directory creation into SetUp
So it can be shared by future test-cases.
Drive-by change:
* Make the `TestParseVersionBuildDir` not depend on the test-fixture,
since it doesn't require any directory/debugger setup
Commit: ba1f3d1f746bbfd0df02e3c6c1390daef9267d86
https://github.com/llvm/llvm-project/commit/ba1f3d1f746bbfd0df02e3c6c1390daef9267d86
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M lldb/unittests/Platform/PlatformDarwinTest.cpp
Log Message:
-----------
[lldb][test] PlatformDarwinTest.cpp: add more test-cases
Add various test-cases that exercise `LocateExecutableScriptingResourcesFromDSYM` further.
Commit: 8f668cec471355b1d04692f2483679dc1cb35990
https://github.com/llvm/llvm-project/commit/8f668cec471355b1d04692f2483679dc1cb35990
Author: Sergio Afonso <safonsof at amd.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/omptarget-teams-distribute-reduction.mlir
M mlir/test/Target/LLVMIR/omptarget-teams-reduction.mlir
M mlir/test/Target/LLVMIR/openmp-teams-distribute-reduction.mlir
M mlir/test/Target/LLVMIR/openmp-teams-reduction.mlir
Log Message:
-----------
[MLIR][OpenMP] Prevent teams reductions from deadlocking (#184625)
Currently, simple Fortran reductions like the example below cause a
deadlock at runtime:
```f90
integer :: i, x
!$omp teams distribute reduction(+:x)
do i=1, 10
x = x + 1
end do
```
Preventing a redundant barrier from being added in that case addresses
this issue. Synchronization is already being handled by the
`__kmpc_reduce` and `__kmpc_end_reduce` runtime calls for the host, and
by the OMPIRBuilder-generated `_omp_reduction_inter_warp_copy_func`
function for GPUs.
Commit: ce227964cc4de126c43f3458498ac70315809ce8
https://github.com/llvm/llvm-project/commit/ce227964cc4de126c43f3458498ac70315809ce8
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/TransformOps/XeGPUTransformOps.td
M mlir/lib/Dialect/XeGPU/TransformOps/XeGPUTransformOps.cpp
M mlir/python/mlir/dialects/transform/xegpu.py
M mlir/test/Dialect/XeGPU/transform-ops.mlir
M mlir/test/python/dialects/transform_xegpu_ext.py
Log Message:
-----------
[mlir][xegpu] Add support for setting `order` in `SetDescLayoutOp` and `SetOpLayoutAttrOp` transform ops. (#184705)
Currently XeGPU transform dialect does not allow the user to set the
`order` attribute of a layout in `SetDescLayoutOp` and
`SetOpLayoutAttrOp`. This PR adds `order` as an optional argument to
these transform ops.
Commit: 2a9372ff021546a9b3310c2fb435a0cb4c6c744d
https://github.com/llvm/llvm-project/commit/2a9372ff021546a9b3310c2fb435a0cb4c6c744d
Author: Matthew Nagy <matthew.nagy at sony.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang/docs/TypeSanitizer.rst
M compiler-rt/lib/tysan/tysan.cpp
M compiler-rt/lib/tysan/tysan_flags.inc
A compiler-rt/test/tysan/halt_on_error.c
Log Message:
-----------
halt_on_error flag for TySan and docs (#182479)
Commit: c0a3996e3595a1de0d7adf091125143d69000fc4
https://github.com/llvm/llvm-project/commit/c0a3996e3595a1de0d7adf091125143d69000fc4
Author: Nico Weber <thakis at chromium.org>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Target/X86/BUILD.gn
Log Message:
-----------
[gn] port 443ce5569ee9854c more
Commit: e4580d2195cfe94a83084b1716fea8a539715e99
https://github.com/llvm/llvm-project/commit/e4580d2195cfe94a83084b1716fea8a539715e99
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
Log Message:
-----------
[SandboxVec][DAG] Fix unscheduled succs when nodes are scheduled (#184946)
When we update use-def edges the DAG gets notified to update the
UnscheduledSuccs counters. However, if either edge node is already
scheduled we should not update UnscheduledSuccs because the
UnscheduledSuccs counter value should be treated as "undefined" after a
node has been scheduled, i.e., it's value has a meaning only before the
node gets scheduled.
Commit: 013bdbed9fc51021e2b2de0ccb819979fb259581
https://github.com/llvm/llvm-project/commit/013bdbed9fc51021e2b2de0ccb819979fb259581
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
M llvm/test/CodeGen/Thumb2/mve-gather-increment.ll
Log Message:
-----------
[MVEGatherScatter] Fix GEP scale calculations (#185437)
The GEP scale for a single index GEP is the type alloc size of the
source element type. The pass was mostly computing it correctly, but two
places were doing something different.
Commit: 43a0e59a34b15183d01cf2ce0eb0e9c9f9606048
https://github.com/llvm/llvm-project/commit/43a0e59a34b15183d01cf2ce0eb0e9c9f9606048
Author: Fateme Hosseini <Fhossein at qti.qualcomm.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonBaseInfo.h
Log Message:
-----------
[Hexagon] Add new register input/output types for qf instructions (#184398)
The v81 iset has been updated with input and output register
types/extensions for instructions. Currently, it supports qf32/qf16
register types. This patch implements a qf reg type lookup to query
these types. In the future, the register type extractor can be improved
and more APIs can be added to support other register types.
Co-authored-by: <santdas at qti.qualcomm.com>
Commit: f4e6226897dc16c640f8dec7ab9870e6dd0fa631
https://github.com/llvm/llvm-project/commit/f4e6226897dc16c640f8dec7ab9870e6dd0fa631
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M mlir/include/mlir/IR/Iterators.h
M mlir/test/IR/visitors.mlir
M mlir/test/lib/IR/TestVisitors.cpp
Log Message:
-----------
[mlir] Fix crash in ForwardDominanceIterator when encountering graph regions (#185043)
ForwardDominanceIterator<NoGraphRegions=true> was asserting when it
encountered a region without SSA dominance (a "graph region"), such as
scf.forall.in_parallel's body. This crash was triggered by
-test-ir-visitors when walking functions that contain graph-region ops.
Change the behavior of ForwardDominanceIterator<true> and
ReverseDominanceIterator<true> to silently skip graph regions instead of
asserting, and update the documentation accordingly. This matches the
intended semantics of the NoGraphRegions flag: the traversal simply does
not enumerate blocks/ops inside such regions.
Fixes #116370
Assisted-by: Claude Code
Commit: fd676d802213c45c255b806ed906d7b8525e62d0
https://github.com/llvm/llvm-project/commit/fd676d802213c45c255b806ed906d7b8525e62d0
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/test/IR/test-func-erase-result.mlir
Log Message:
-----------
[MLIR][LLVM] Fix crash in LLVMFunctionType::clone when erasing void function results (#185093)
LLVMFunctionType::clone(inputs, results) was asserting that
results.size() == 1, which caused a crash (later changed to return
null/failure) when erasing results from a void llvm.func via
FunctionOpInterface::eraseResults.
For LLVM function types, an empty results range maps to void return: the
FunctionOpInterface represents void llvm.func with 0 results, while the
underlying LLVMFunctionType stores an explicit LLVMVoidType. When
erasing all results (or no-op erasing 0 results from a void function),
the interface passes an empty TypeRange to clone(), which should produce
a void function type.
Fix by accepting an empty results range in LLVMFunctionType::clone() and
mapping it to LLVMVoidType. More than one result remains invalid.
Fixes #128322
Assisted-by: Claude Code
Commit: 6b059a0921f8556ea562139e92eaf54da5fadac7
https://github.com/llvm/llvm-project/commit/6b059a0921f8556ea562139e92eaf54da5fadac7
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M flang/include/flang/Optimizer/HLFIR/Passes.h
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
A flang/test/HLFIR/simplify-hlfir-intrinsics-maxmin.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-maxval.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-minval.fir
Log Message:
-----------
[flang] Inline max/minval according to -ffp-maxmin-behavior. (#185148)
This patch takes into account the option setting when inlining
max/minval intrinsics. It is not an NFC change for Flang, because:
* Inlining for integer types now uses arith.max/minsi operations.
* We do not mark the reduction loops as `unordered`
under `reassoc` FMF. I think this was not quite correct.
Otherwise, the default Legacy setting should produce the same
MLIR as before.
Commit: 2e3bff698090a59259267e924013e8fac54bcbfd
https://github.com/llvm/llvm-project/commit/2e3bff698090a59259267e924013e8fac54bcbfd
Author: Ehsan Amiri <ehsan.amiri at huawei.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/test/Analysis/DDG/basic-b.ll
M llvm/test/Analysis/DependenceAnalysis/Banerjee.ll
M llvm/test/Analysis/DependenceAnalysis/BasePtrBug.ll
M llvm/test/Analysis/DependenceAnalysis/DADelin.ll
M llvm/test/Analysis/DependenceAnalysis/DifferentOffsets.ll
M llvm/test/Analysis/DependenceAnalysis/MIVCheckConst.ll
M llvm/test/Analysis/DependenceAnalysis/NonCanonicalizedSubscript.ll
M llvm/test/Analysis/DependenceAnalysis/Preliminary.ll
M llvm/test/Analysis/DependenceAnalysis/PreliminaryNoValidityCheckFixedSize.ll
M llvm/test/Analysis/DependenceAnalysis/Propagating.ll
M llvm/test/Analysis/DependenceAnalysis/SimpleSIVNoValidityCheck.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/WeakCrossingSIV.ll
M llvm/test/Analysis/DependenceAnalysis/WeakZeroDstSIV.ll
M llvm/test/Analysis/DependenceAnalysis/WeakZeroSrcSIV.ll
M llvm/test/Analysis/DependenceAnalysis/becount-couldnotcompute.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/strong-siv-addrec-wrap.ll
M llvm/test/Analysis/DependenceAnalysis/weak-crossing-siv-addrec-wrap.ll
M llvm/test/Transforms/LoopFusion/da_separate_loops.ll
M llvm/test/Transforms/LoopInterchange/lcssa-preheader.ll
M llvm/test/Transforms/LoopUnrollAndJam/unroll-and-jam.ll
Log Message:
-----------
[DA] Test AddRecs are nsw before strong SIV test (#183421)
Currently Strong SIV test, does not check that the AddRecs involved do
not overflow. This is required for correctness of the tests. Strictly
speaking, the range-based independence check in Strong SIV relies on
SCEV which internally takes care of potential overflows, so this is
mainly needed for the divisibility test and distance/directions
calculations, but putting the test early in the function covers all the
cases anyways.
Commit: c21a5ac736d173e70b1ba1b5c447b382fa1995b0
https://github.com/llvm/llvm-project/commit/c21a5ac736d173e70b1ba1b5c447b382fa1995b0
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
Log Message:
-----------
[mlir][vector] Flatten transfer - support multi-dim scalar element (#185417)
Adds support for flattening multi-dimensional scalar vector transfers.
The addition prevents pattern crashes on such inputs and allows for
cleaner lowering of scalar vectors.
Commit: 4a8e172677c94d021260d47dc93fc16a5069f122
https://github.com/llvm/llvm-project/commit/4a8e172677c94d021260d47dc93fc16a5069f122
Author: Abhishek Varma <avarma094 at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorization/unsupported.mlir
Log Message:
-----------
[mlir][Linalg] Prevent vectorization of generic Conv with dynamic dims (#185415)
-- We should use `isaConvolutionOpInterface` instead as it accommodates
both named as well as generic convolution ops.
-- https://github.com/llvm/llvm-project/pull/176339 missed making one
such update to `vectorizeDynamicLinalgOpPrecondition` and it got exposed
in a downstream project.
-- This commit therefore aims to fix the same.
Signed-off-by: Abhishek Varma <abhvarma at amd.com>
Commit: ffdb484752dca7a5c6679383b98c41c9da3ae6b0
https://github.com/llvm/llvm-project/commit/ffdb484752dca7a5c6679383b98c41c9da3ae6b0
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
A llvm/test/Transforms/InstCombine/RISCV/riscv-vmv-v-x.ll
Log Message:
-----------
[InstCombine/RISCV] Constant-fold bitcast(vmv.v.x) (#182630)
Constant-fold bitcast(vmv.v.x) to avoid creating redundant masks.
llc run showing vsetvli eliminated: https://godbolt.org/z/d1Gx3KqaT
Commit: 9b04a3cd393c24dfe14cf72f2130a17a9b2020b3
https://github.com/llvm/llvm-project/commit/9b04a3cd393c24dfe14cf72f2130a17a9b2020b3
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M libcxx/utils/ci/docker/docker-compose.yml
M libcxx/utils/ci/docker/linux-builder-base.dockerfile
Log Message:
-----------
[libc++] Use compiler explorer for Clang as well and update to LLVM 23 as head (#185168)
Using the compiler explorer infrastucture simplifies the dockerfile a
bit, since we have a single source for compilers now instead of two
independent ones. compiler explorer is also usually significantly faster
at providing new versions than apt.llvm.org.
Commit: d6ee4c92884e547b1473fa7dbceb2155a2347429
https://github.com/llvm/llvm-project/commit/d6ee4c92884e547b1473fa7dbceb2155a2347429
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
A clang/test/CIR/Transforms/pure-ptr-arithmetic.cir
Log Message:
-----------
[CIR] Fix spurious MemRead on pure pointer-arithmetic ops (#185154)
Remove incorrect [MemRead] annotations from seven CIR ops that only
perform pointer arithmetic, and add the Pure trait where missing.
- VTableGetVPtrOp computes the address of the vptr slot within an
object. Since the vptr is always at offset zero, this is a bitcast —
confirmed by the lowering which does replaceOp(op, srcVal). No memory
access.
- VTableGetVirtualFnAddrOp takes an already-loaded !cir.vptr value and
an index, computes the address of the nth vtable entry. Lowers to a
GEPOp. No memory access.
- VTableGetTypeInfoOp takes an already-loaded !cir.vptr value, computes
the address of the type_info entry at a known ABI offset. Pointer
arithmetic only. No memory access.
- GetMemberOp computes the address of a struct/class member given a base
pointer and a constant index. Lowers to GEPOp (struct/class) or
BitcastOp (union). No memory access.
- GetRuntimeMemberOp computes a member address using a runtime
pointer-to-data-member value. Lowers to CastOp + PtrStrideOp (byte-level
pointer arithmetic). No memory access.
- BaseClassAddrOp computes the base class address from a derived class
pointer using a byte offset. Lowers to GEPOp/BitcastOp with a null check
when needed. No memory access.
- DerivedClassAddrOp computes the derived class address from a base
class pointer using a negative byte offset. Lowers to GEPOp with a null
check when needed. No memory access.
In all cases, the actual memory reads are performed by separate cir.load
ops that follow these address computations.
Commit: 37881bac75248ca48385d634554b4050e27be0d1
https://github.com/llvm/llvm-project/commit/37881bac75248ca48385d634554b4050e27be0d1
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-resize.mlir
Log Message:
-----------
[mlir][tosa][tosa-to-linalg] Fix resize bilinear delta computation for negative offsets (#184799)
Use floor-consistent remainder when lowering floating-point tosa.resize
to linalg: compute `r = in - floor(in/scale_n)*scale_n` instead of
RemSIOp. This keeps bilinear deltas in-range for negative offsets and
avoids invalid interpolation weights.
Commit: 2d6124c192c5fc88f156115b8c20819260c718e2
https://github.com/llvm/llvm-project/commit/2d6124c192c5fc88f156115b8c20819260c718e2
Author: Florian Mayer <fmayer at google.com>
Date: 2026-03-09 (Mon, 09 Mar 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-split-lifetime.ll
M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope.ll
Log Message:
-----------
[MTE] [HWASan] do not remove lifetimes for unterminated lifetime
The reasoning for this was incorrect. Return is an implicit lifetime
end of all allocas, so we are not inserting outside of a lifetime.
Reviewers: pcc, usama54321
Reviewed By: pcc
Pull Request: https://github.com/llvm/llvm-project/pull/184387
Commit: 83c55c3362a0d51c8d6986913b86b90f424be45a
https://github.com/llvm/llvm-project/commit/83c55c3362a0d51c8d6986913b86b90f424be45a
Author: Vasileios Porpodas <vasileios.porpodas at amd.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
A llvm/test/Transforms/SandboxVectorizer/external_uses.ll
Log Message:
-----------
[SandboxVec][NFC] Precommit test
For a follow-up patch on handling of external uses.
Commit: c4431d4e931e7325dca6e221b8ec41530312594e
https://github.com/llvm/llvm-project/commit/c4431d4e931e7325dca6e221b8ec41530312594e
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
Log Message:
-----------
[TableGen] Fix ordering of register classes with artificial members. (#185448)
The current implementation wouldn't advance IB to skip artificial
registers once IA has reached the end.
Commit: 0ea734dd3a5b8b14ee0d8f29260f8166ae4c0d11
https://github.com/llvm/llvm-project/commit/0ea734dd3a5b8b14ee0d8f29260f8166ae4c0d11
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
Log Message:
-----------
[CIR] Extract CIR_VAOp base class for VAStartOp and VAEndOp (#185258)
Both ops share identical arguments and assembly format. Extract a common
base class to eliminate the duplication.
Commit: 7fd291b400bece84e4e893d7367ab0d09d588ff7
https://github.com/llvm/llvm-project/commit/7fd291b400bece84e4e893d7367ab0d09d588ff7
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/include/llvm/MC/MCSymbolGOFF.h
M llvm/lib/MC/MCAsmInfoGOFF.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.h
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/test/CodeGen/SystemZ/zos-func-alias.ll
M llvm/test/CodeGen/SystemZ/zos-section-1.ll
M llvm/test/CodeGen/SystemZ/zos-symbol-1.ll
M llvm/test/CodeGen/SystemZ/zos-symbol-2.ll
Log Message:
-----------
[GOFF] Set reference to ADA (#179734)
Function symbols must have a reference to the ADA, because this becomes
the value of the r5 register when the function is called. Simply get the
value from the begin symbol of the section.
Commit: b7a04455655a939be8aef201a62db4e7ec1d0fb8
https://github.com/llvm/llvm-project/commit/b7a04455655a939be8aef201a62db4e7ec1d0fb8
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPDInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
A llvm/test/MC/AMDGPU/gfx1170_asm_vop2-fake16.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop2.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop2_aliases-fake16.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop2_aliases.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop2_dpp16-fake16.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop2_dpp16.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop2_dpp8-fake16.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop2_dpp8.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop2_t16_err.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx1170_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx1170_asm_vop3.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3_aliases-fake16.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3_aliases.s
M llvm/test/MC/AMDGPU/gfx1170_asm_vop3_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1170_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx1170_asm_vop3_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1170_asm_vop3_dpp8.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3_from_vop2-fake16.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3_from_vop2.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3_from_vop2_dpp16-fake16.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3_from_vop2_dpp16.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3_from_vop2_dpp8-fake16.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3_from_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx1170_asm_vop3p.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3p_aliases.s
M llvm/test/MC/AMDGPU/gfx1170_asm_vop3p_dpp16.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vopd.s
R llvm/test/MC/Disassembler/AMDGPU/gfx1170_dasm_vop3.txt
R llvm/test/MC/Disassembler/AMDGPU/gfx1170_dasm_vop3_dpp16.txt
R llvm/test/MC/Disassembler/AMDGPU/gfx1170_dasm_vop3_dpp8.txt
R llvm/test/MC/Disassembler/AMDGPU/gfx1170_dasm_vop3p.txt
Log Message:
-----------
[AMDGPU][MC] Update old and add new min/max instructions for gfx1170 (#184601)
Commit: 687d5c5f103cb7ff791de8f752e9096eacdce314
https://github.com/llvm/llvm-project/commit/687d5c5f103cb7ff791de8f752e9096eacdce314
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
Log Message:
-----------
[LLDB] Remove C++ language runtime dependency of Clang expression parser (#185450)
From
https://github.com/llvm/llvm-project/pull/169225#issuecomment-4024377289:
There was a dependency cycle involving the C++ language runtime:
```
//lldb/source/Plugins/TypeSystem/Clang:Clang ->
//lldb/source/Plugins/ExpressionParser/Clang:Clang ->
//lldb/source/Plugins/LanguageRuntime/CPlusPlus:CPlusPlus ->
//lldb/source/Plugins/TypeSystem/Clang:Clang
```
`ExpressionParserClang` doesn't need to depend on the C++ language
runtime. It only included a file, but didn't use it. This PR removes
that dependency.
Commit: ae8f614a0cb63081487506227e373c05bfc45e0c
https://github.com/llvm/llvm-project/commit/ae8f614a0cb63081487506227e373c05bfc45e0c
Author: Fabio D'Urso <fdurso at google.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/mem_map_fuchsia.cpp
Log Message:
-----------
[scudo] Add missing class name specifier in mem_map_fuchsia (#185389)
Commit: f7a48fbefaf0bf85f93568f9fdca47bf6bc52ceb
https://github.com/llvm/llvm-project/commit/f7a48fbefaf0bf85f93568f9fdca47bf6bc52ceb
Author: Maryam Moghadas <maryammo at ca.ibm.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsPPC.def
M clang/lib/CodeGen/TargetBuiltins/PPC.cpp
M clang/lib/Sema/SemaPPC.cpp
M clang/test/CodeGen/PowerPC/builtins-amo-err.c
M clang/test/CodeGen/PowerPC/builtins-ppc-amo.c
M llvm/include/llvm/IR/IntrinsicsPowerPC.td
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/test/CodeGen/PowerPC/amo-enable.ll
Log Message:
-----------
[PowerPC] Add AMO load with Compare and Swap Not Equal (#178061)
This commit adds support for lwat/ldat atomic operations with function
code 16 (Compare and Swap Not Equal) via 4 clang builtins:
__builtin_amo_lwat_csne for 32-bit unsigned operations
__builtin_amo_ldat_csne for 64-bit unsigned operations
__builtin_amo_lwat_csne_s for 32-bit signed operations
__builtin_amo_ldat_csne_s for 64-bit signed operations
Commit: 89d150a7973d20dced91bb3c87be95879564b6b5
https://github.com/llvm/llvm-project/commit/89d150a7973d20dced91bb3c87be95879564b6b5
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/docs/TableGen/ProgRef.rst
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/TableGen/TGParser.h
A llvm/test/TableGen/let-append-bitrange-error.td
A llvm/test/TableGen/let-append-error.td
A llvm/test/TableGen/let-append-toplevel.td
A llvm/test/TableGen/let-append.td
A llvm/test/TableGen/let-prepend-error.td
Log Message:
-----------
[TableGen] Add let append/prepend syntax for field concatenation (#182382)
## Motivation
LLVM TableGen currently lacks a way to **accumulate** field values
across class hierarchies. When a derived class sets a field via `let`,
it completely replaces the parent's value. This forces users into
verbose workarounds like:
```tablegen
class Op { // This is generic MLIR Base
code extraClassDeclaration = ?;
}
// Some Generic shared base
class MyShared1OpClass : Op {
code shared1ExtraClassDeclaration = [{ some generic code 1 }];
}
class MyShared2OpClass : MyShared1OpClass {
code shared2ExtraClassDeclaration = [{ some generic code 2 }];
}
def MyOp : MyShared2OpClass {
// need to manually concatenate shared code
let extraClassDeclaration =
shared1ExtraClassDeclaration
# shared2ExtraClassDeclaration
# [{ additional specialized code }];
}
```
Instead I propose a more natural incremental solution without
unnecessery intermediate definitions:
```
class Op {
code extraClassDeclaration = ?;
}
class MyShared1OpClass : Op {
let append extraClassDeclaration = [{ some generic code 1 }];
}
class MyShared2OpClass : MyShared1OpClass {
let append extraClassDeclaration = [{ some generic code 2 }];
}
def MyOp : MyShared2OpClass {
let append extraClassDeclaration = [{ additional specialized code }];
}
```
This is especially painful in MLIR, where dialect authors want base
op/type/attribute classes to inject shared C++ declarations into all
derived definitions. I attempted to solve this in PR
https://github.com/llvm/llvm-project/pull/182265 with MLIR-specific
`inheritableExtraClassDeclaration`/`Definition` fields, but as
@joker-eph [pointed
out](https://github.com/llvm/llvm-project/pull/182265#discussion_r2098718600),
this is ad-hoc -- the same inheritance problem exists for `traits`,
`arguments`, `results`, and any other list/string/dag field. Rather than
adding `inheritable*` variants per field, we should solve this at the
language level.
## Design
This PR adds two new modifiers to the `let` statement: **`append`** and
**`prepend`**.
```tablegen
class Base {
list<int> items = [1, 2];
string text = "hello";
dag d = (op);
}
def Example : Base {
let append items = [3, 4]; // items = [1, 2, 3, 4]
let prepend items = [0]; // items = [0, 1, 2]
let append text = " world"; // text = "hello world"
let prepend text = "say "; // text = "say hello"
let append d = (op 3:$a); // d = (op 3:$a)
}
```
### Supported types
| Field type | Operation | Concat operator |
|---|---|---|
| `list<T>` | append/prepend | `!listconcat` |
| `string` / `code` | append/prepend | `!strconcat` |
| `dag` | append/prepend | `!con` |
| Other (`bit`, `int`, `bits`) | -- | Error |
### Semantics
- **`let append`** concatenates the new value **after** the current
value
- **`let prepend`** concatenates the new value **before** the current
value
- If the current value is **unset** (`?`), the new value is used
directly
- A plain **`let`** (without modifier) still replaces, allowing opt-out
from accumulated values
- Works in both **body-level** (`def Foo { let append ... }`) and
**top-level** (`let append ... in { }`) contexts
### Multi-level inheritance
Accumulation works naturally across inheritance chains:
```tablegen
class Base {
list<int> items = [1, 2];
}
class Middle : Base {
let append items = [3]; // items = [1, 2, 3]
}
def Leaf : Middle {
let append items = [4]; // items = [1, 2, 3, 4]
}
```
### Multiple inheritance
TableGen supports multiple inheritance (`def D : A, B { ... }`), where
parent classes are processed left to right and the **last parent class's
value wins** for any shared field. `let append`/`let prepend` operates
on whatever value the field has *after* inheritance resolution — it does
not accumulate across sibling parents:
```tablegen
class A { list<int> items = [1, 2]; }
class B { list<int> items = [3, 4]; }
def D : A, B {
let append items = [5]; // items = [3, 4, 5] (A's value is lost)
}
```
This also applies to diamond inheritance:
```tablegen
class Base { list<int> items = [1]; }
class Left : Base { let append items = [2]; } // [1, 2]
class Right : Base { let append items = [3]; } // [1, 3]
def D : Left, Right {
let append items = [4]; // items = [1, 3, 4] (Left's [2] is lost)
}
```
This is consistent with how plain `let` works with multiple inheritance
— it is the standard last-writer-wins rule. Users who need accumulation
from multiple parents should use a single-inheritance chain instead.
## Backward compatibility
This proposal is **fully backward compatible**. The keywords `append`
and `prepend` are implemented as **context-sensitive keywords** — they
are only recognized as modifiers when they appear immediately after
`let` (in both body-level and top-level contexts). In all other
positions, `append` and `prepend` remain valid identifiers and can be
used as field names, class names, def names, etc. This means:
- No existing `.td` files (in-tree or out-of-tree) will break
- Fields named `append` or `prepend` continue to work: `let append
append = [5];` is valid (the first `append` is the modifier, the second
is the field name)
- The parser checks for the identifier string value after `let`, not for
a reserved token
RFC:
https://discourse.llvm.org/t/rfc-tablegen-add-let-append-prepend-syntax-for-field-concatenation/89924/
Commit: d3a22eaab8cbd4a2ac7581298b5262f1632ae6d4
https://github.com/llvm/llvm-project/commit/d3a22eaab8cbd4a2ac7581298b5262f1632ae6d4
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
A clang/test/CIR/CodeGen/virtual-fn-calls-eh.cpp
M clang/test/CIR/CodeGen/virtual-function-calls.cpp
M clang/test/CIR/Transforms/flatten-try-op.cir
Log Message:
-----------
[CIR] Fix try_call replacement for indirect calls (#185095)
We had a bug in the FlattenCFG pass where if an indirect call occurred
within a cleanup scope that required exception handling, the indirect
callee was not being preserved in the cir.try_call. This fixes that.
Commit: f1a2fd2abbd38f21687c1ac6f27ed61769ea55a4
https://github.com/llvm/llvm-project/commit/f1a2fd2abbd38f21687c1ac6f27ed61769ea55a4
Author: Deric C. <cheung.deric at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/test/CodeGenHLSL/BasicFeatures/MatrixElementTypeCast.hlsl
Log Message:
-----------
[HLSL][Matrix] Make HLSLElementwiseCast respect matrix memory layout (#184429)
Fixes #184379
Changes the implementation of HLSLElementwiseCast to respect matrix
memory layout.
The new implementation reads from the `LoadList` array in row-major
order as opposed to column-major in the old implementation, which makes
more sense because `LoadList` is always interpreted in row-major order
when read as a matrix.
The writes to the allocation `V` for the destination matrix now respects
the default matrix memory layout.
Assisted-by: claude-opus-4.6
Commit: 76daf31b4000623d5c9548348a859ea3ed8712e1
https://github.com/llvm/llvm-project/commit/76daf31b4000623d5c9548348a859ea3ed8712e1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelAttributes.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/R600Subtarget.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/amdgpu-max-num-workgroups-load-annotate.ll
M llvm/test/CodeGen/AMDGPU/implicit-arg-block-count.ll
M llvm/test/CodeGen/AMDGPU/implicit-arg-v5-opt.ll
Log Message:
-----------
AMDGPU: Annotate group size ABI loads with range metadata (#185420)
We previously did the same for the grid size when annotated.
The group size is easier, so it's weird that this wasn't implemented
first.
Commit: 7a85921a7da2f1a909867c14c01f60df0bcbfe5a
https://github.com/llvm/llvm-project/commit/7a85921a7da2f1a909867c14c01f60df0bcbfe5a
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M libc/src/string/strcmp.cpp
M libc/src/string/strcoll.cpp
M libc/src/string/strncmp.cpp
M libc/test/src/string/strcmp_test.cpp
M libc/test/src/string/strcoll_test.cpp
M libc/test/src/string/strncmp_test.cpp
Log Message:
-----------
[libc] Use unsigned char in strcmp, strncmp, and strcoll comparisons (#185393)
According to section 7.24.1 of the C standard, character comparison in
string functions must be performed as if the characters had the type
`unsigned char`.
The previous implementations of `strcmp`, `strncmp`, and `strcoll` were
doing a direct subtraction of `char` values. On platforms where `char`
is signed, this resulted in incorrect negative values being returned
when characters exceeding 127 were being compared.
This patch fixes the comparison functions to explicitly cast the
character values to `unsigned char` prior to computing their difference.
It also adds regression tests to ensure the comparison behaves correctly
for ASCII values greater than 127.
Commit: 3671fadb5b671ae76bf3d5a8dce383b66507f867
https://github.com/llvm/llvm-project/commit/3671fadb5b671ae76bf3d5a8dce383b66507f867
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsLoop.cpp
M mlir/unittests/Dialect/OpenACC/OpenACCUtilsLoopTest.cpp
Log Message:
-----------
[mlir][OpenACC] Normalize loop bounds in convertACCLoopToSCFFor for negative steps (#184935)
`convertACCLoopToSCFFor` was passing `acc.loop` bounds directly to
`scf.for`, which produces an `scf.for` with a negative step when the
source is a Fortran DO loop counting down (e.g. `DO k = n, 1, -1`).
Since `scf.for` requires a positive step, this generated invalid IR that
caused downstream crashes during LLVM lowering.
`convertACCLoopToSCFParallel` already normalizes all loops
unconditionally to `lb=0, step=1, ub=tripCount`, but
`convertACCLoopToSCFFor` did not. This patch applies the same
normalization to `convertACCLoopToSCFFor`, with IV denormalization in
the loop body (`original_iv = normalized_iv * orig_step + orig_lb`), and
lets later passes fold away constants.
Commit: 298ef5155ea445c64616be660cfcc4bdedd5b019
https://github.com/llvm/llvm-project/commit/298ef5155ea445c64616be660cfcc4bdedd5b019
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
A clang/test/CIR/CodeGen/instantiate-init.cpp
Log Message:
-----------
[CIR] Add support for CXXStdInitializerListExpr (#185279)
Add support for the CXXStdInitializerListExpr
Commit: 5cafc12f06ea93045aaf4da6850b87323bccb30c
https://github.com/llvm/llvm-project/commit/5cafc12f06ea93045aaf4da6850b87323bccb30c
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang/include/clang/Analysis/Scalable/EntityLinker/EntityLinker.h
M clang/include/clang/Analysis/Scalable/EntityLinker/EntitySummaryEncoding.h
M clang/include/clang/Analysis/Scalable/Serialization/JSONFormat.h
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
M clang/include/clang/Analysis/Scalable/Support/ErrorBuilder.h
M clang/lib/Analysis/Scalable/CMakeLists.txt
M clang/lib/Analysis/Scalable/EntityLinker/EntityLinker.cpp
A clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONEntitySummaryEncoding.cpp
A clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONEntitySummaryEncoding.h
M clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.cpp
M clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.h
A clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-1.json
A clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-2.json
A clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-badext.txt
A clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-empty.json
A clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-multikey.json
A clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-ref.json
A clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-value.json
A clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-malformed.json
A clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-missing-fields.json
A clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-noext
A clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1+2.json
A clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1.json
A clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-2.json
A clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-empty.json
A clang/test/Analysis/Scalable/ssaf-linker/cli.test
A clang/test/Analysis/Scalable/ssaf-linker/help.test
A clang/test/Analysis/Scalable/ssaf-linker/io.test
A clang/test/Analysis/Scalable/ssaf-linker/linking-errors.test
A clang/test/Analysis/Scalable/ssaf-linker/linking.test
A clang/test/Analysis/Scalable/ssaf-linker/time.test
A clang/test/Analysis/Scalable/ssaf-linker/validation-errors-permissions.test
A clang/test/Analysis/Scalable/ssaf-linker/validation-errors.test
A clang/test/Analysis/Scalable/ssaf-linker/verbose.test
A clang/test/Analysis/Scalable/ssaf-linker/version.test
M clang/test/CMakeLists.txt
M clang/test/lit.cfg.py
M clang/tools/CMakeLists.txt
A clang/tools/ssaf-linker/CMakeLists.txt
A clang/tools/ssaf-linker/SSAFLinker.cpp
M clang/unittests/Analysis/Scalable/EntityLinkerTest.cpp
M clang/unittests/Analysis/Scalable/Registries/SerializationFormatRegistryTest.cpp
M clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/JSONFormatTest.cpp
M clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/LUSummaryTest.cpp
M clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/TUSummaryTest.cpp
Log Message:
-----------
[clang][ssaf] Implement Entity Linker CLI and patching for JSON Format
This PR implements Entity ID patching for the JSON serialization format
and introduces `ssaf-linker`, a command-line tool that drives the
`EntityLinker`.
1. Entity ID references inside summary blobs use the sentinel
representation `{"@": <uint64>}`. Patching walks the JSON value tree
recursively, recognizes sentinels, and rewrites their indices using the
`EntityResolutionTable` provided by the linker.
2. An object with an `@` key but extra keys `(size != 1)`, an `@` value
that is not a valid `uint64`, and an entity ID not present in the
resolution table, lead to patching errors.
3. `JSONFormat::EntityIdConverter` is replaced with two `function_ref`
typedefs to eliminate the wrapper class.
4.`ssaf-linker` is implemented in `clang/tools/ssaf-linker/` and gets
built at `bin/ssaf-linker`.
5. lit tests check CLI, verbose output, timing output, validation
errors, I/O errors, linking errors, and successful linking.
rdar://162570931
Commit: c700a00e8edf6b43d52c260171dfbd26469c4790
https://github.com/llvm/llvm-project/commit/c700a00e8edf6b43d52c260171dfbd26469c4790
Author: Steven Perron <stevenperron at google.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/AST/HLSL/Texture2D-shorthand-AST.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-default-explicit-binding.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-default.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-shorthand-contexts.hlsl
M clang/test/SemaHLSL/BuiltIns/Buffers.hlsl
M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
A clang/test/SemaHLSL/BuiltIns/RWStructuredBuffers.hlsl
M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
Log Message:
-----------
[HLSL] Implement Texture2D default template (#184207)
The Texture2D type has a default template of float4. This can be written
in a couple way: `Texture2D<>` or `Texture2D`. This must be implemented
for consistenty with DXC in HLSL202x.
To implement `Texture2D<>` we simply add a default type for the template
parameter.
To implement `Texture2D`, we have to add a special case for a template
type without a template instantiation. For HLSL, we check if it is a
texture type. If so, the default type is filled in.
Note that HLSL202x does not support C++17 Class Template Argument
Deduction, so we cannot use that feature to give us `Texture2D`.
See https://github.com/llvm/wg-hlsl/pull/386 for alternatives that were
considered.
Part of #175630.
Assisted-by: Gemini
<!-- branch-stack-start -->
-------------------------
- main
- https://github.com/llvm/llvm-project/pull/184207 :point_left:
<sup>[Stack](https://www.git-town.com/how-to/proposal-breadcrumb.html)
generated by [Git Town](https://github.com/git-town/git-town)</sup>
<!-- branch-stack-end -->
Commit: 66137feee6037d9c9fb67a1b151c2c961a07af5c
https://github.com/llvm/llvm-project/commit/66137feee6037d9c9fb67a1b151c2c961a07af5c
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/f16f32dot-fixed-length-fdot.ll
M llvm/test/CodeGen/AArch64/sve2p1-fixed-length-fdot.ll
Log Message:
-----------
[AArch64] Add partial reduce patterns for new fdot instructions (#184659)
This patch enables generation of new dot instruction added in under
FEAT_F16F32DOT from partial reduce nodes.
Commit: 9879df92a9ea4a52fb2256e94e81949279c0dd45
https://github.com/llvm/llvm-project/commit/9879df92a9ea4a52fb2256e94e81949279c0dd45
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
M clang/test/CIR/CodeGen/array-ctor.cpp
M clang/test/CIR/CodeGen/array-dtor.cpp
M clang/test/CIR/CodeGen/assume-attr.cpp
M clang/test/CIR/CodeGen/binop.cpp
M clang/test/CIR/CodeGen/cmp.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/cxx-default-init.cpp
M clang/test/CIR/CodeGen/destructors.cpp
M clang/test/CIR/CodeGen/dynamic-cast-exact.cpp
M clang/test/CIR/CodeGen/dynamic-cast.cpp
M clang/test/CIR/CodeGen/forrange.cpp
M clang/test/CIR/CodeGen/global-array-dtor.cpp
M clang/test/CIR/CodeGen/global-init.cpp
M clang/test/CIR/CodeGen/local-vars.cpp
M clang/test/CIR/CodeGen/loop.cpp
M clang/test/CIR/CodeGen/new.cpp
M clang/test/CIR/CodeGen/pointer-to-data-member-cast.cpp
M clang/test/CIR/CodeGen/pointer-to-data-member-cmp.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/static-local.cpp
M clang/test/CIR/CodeGen/ternary.cpp
M clang/test/CIR/CodeGen/throws.cpp
M clang/test/CIR/CodeGen/vla.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/CodeGenCXX/typeid-should-throw.cpp
M clang/test/CIR/CodeGenCXX/typeid.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-capture.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-read.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.c
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/data.c
M clang/test/CIR/CodeGenOpenACC/enter-data.c
M clang/test/CIR/CodeGenOpenACC/exit-data.c
M clang/test/CIR/CodeGenOpenACC/firstprivate-clause-recipes.cpp
M clang/test/CIR/CodeGenOpenACC/kernels.c
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/parallel.c
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/CodeGenOpenACC/serial.c
M clang/test/CIR/CodeGenOpenACC/update.c
M clang/test/CIR/CodeGenOpenMP/omp-llvmir.c
M clang/test/CIR/IR/cmp.cir
M clang/test/CIR/IR/throw.cir
M clang/test/CIR/Lowering/goto.cir
M clang/test/CIR/Lowering/switch.cir
M clang/test/CIR/Transforms/eh-abi-lowering-itanium.cir
M clang/test/CIR/Transforms/switch.cir
M clang/test/CIR/Transforms/ternary.cir
M clang/test/CodeGen/AArch64/neon/intrinsics.c
Log Message:
-----------
[CIR] Change CmpOp assembly format to use bare keyword style (#185114)
Update the assembly format of cir.cmp from the parenthesized style
`cir.cmp(gt, %a, %b) : !s32i, !cir.bool`
to the bare keyword style used by other CIR ops like cir.cast:
`cir.cmp gt %a, %b : !s32i`
The result type (!cir.bool) is now automatically inferred as it is
always cir::BoolType.
Commit: f70db52e1e5703b5de1124ad90c83e048aebc45f
https://github.com/llvm/llvm-project/commit/f70db52e1e5703b5de1124ad90c83e048aebc45f
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/tools.cpp
M flang/test/Semantics/cuf23.cuf
Log Message:
-----------
[flang][cuda] Relax host intrinsic semantic check in acc routine (#185483)
Semantic check that checks if any actual argument is on the device
doesn't need to be active in acc routine function/subroutine.
Commit: e645bb3a980edd569ae4ff5c8ffe7bc4bce2087a
https://github.com/llvm/llvm-project/commit/e645bb3a980edd569ae4ff5c8ffe7bc4bce2087a
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/test/CIR/CodeGen/pointer-to-data-member.cpp
Log Message:
-----------
[CIR] Fix codegen for MemberPoint with nullptr value (#185309)
Fix codegen for the MemberPoint with a nullptr value
Commit: 13440ae635468f6f7750118de959faee771dd8de
https://github.com/llvm/llvm-project/commit/13440ae635468f6f7750118de959faee771dd8de
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp
Log Message:
-----------
[clang-doc] Fix wrong type name for Serializer in benchmark (#185493)
Commit: 0ab90533272c349d1f07f96e605c6086c6b0ea33
https://github.com/llvm/llvm-project/commit/0ab90533272c349d1f07f96e605c6086c6b0ea33
Author: Yoonseo Choi <yoonchoi at amd.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
Log Message:
-----------
[AMDGPU] Cgscc amdgpu attributor boilerplate NFC (#179719)
This PR is adding a boilerplate of CGSCC AMDGPUAttributor pass
(amdgpu-attributor-cgscc) by doing refactoring from the existing Module
AMDGPUAttributor pass (amdgpu-attributor).
CGSCC AMDGPUAttributor pass sets `AttributorConfig.IsModulePass =
false`, and make Attributor's `Functions` set contain only functions in
a SCC.
The main implementations of abstract attributes have not changed - NFC.
Subsequently, in future work some of the AMDGPU abstract attributors
might move to be handled by CGSCC pass.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 4aa1f211ca0312453c435d8f8d716972f065cbc8
https://github.com/llvm/llvm-project/commit/4aa1f211ca0312453c435d8f8d716972f065cbc8
Author: Rahman Lavaee <rahmanl at google.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/BasicBlockSectionsProfileReader.h
M llvm/include/llvm/CodeGen/MIRParser/MIParser.h
M llvm/include/llvm/CodeGen/MIRYamlMapping.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/Support/UniqueBBID.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/InsertCodePrefetch.cpp
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
A llvm/test/CodeGen/MIR/Generic/prefetch-targets-error.mir
A llvm/test/CodeGen/MIR/Generic/prefetch-targets.mir
M llvm/test/CodeGen/X86/basic-block-sections-code-prefetch.ll
Log Message:
-----------
Centralize prefetch target storage in MachineFunction. (#184194)
### Prefetch Symbol Resolution
Based on this
[suggestion](https://discourse.llvm.org/t/rfc-code-prefetch-insertion/88668/29?u=rlavaee),
we must identify if a prefetch target is defined in the current module
to avoid **undefined symbol errors**. Since this occurs during
sequential **CodeGen**, we must rely on function names rather than IR
Module APIs.
**Key Changes:**
* **`MachineFunction` Integration:** Added a `PrefetchTargets` field
(with serialization) to track all targets associated with a function.
* **Guaranteed Emission:** All prefetch targets are now emitted
regardless of basic block or callsite index matches to ensure the symbol
exists.
* **Fallback Placement:** Targets with non-matching callsite indices are
emitted at the end of the block to resolve the reference.
Commit: cf8a91eec28dd2122a69f3a4c315f875a6896af1
https://github.com/llvm/llvm-project/commit/cf8a91eec28dd2122a69f3a4c315f875a6896af1
Author: Derek Schuff <dschuff at chromium.org>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang/include/clang/Options/Options.td
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/test/Driver/wasm-features.c
M clang/test/Preprocessor/wasm-target-features.c
Log Message:
-----------
[WebAssembly] Clang support for acquire-release atomics (#184901)
Add the feature to the clang target, including driver flags and
preprocessor defines.
Commit: 19a31b27b0381d27de4d950bb1ea0a7c8c1e66e5
https://github.com/llvm/llvm-project/commit/19a31b27b0381d27de4d950bb1ea0a7c8c1e66e5
Author: V.Rybalov <viacheslav.g.rybalov at intel.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
A llvm/test/Transforms/VectorCombine/arbitrary-precision-int.ll
Log Message:
-----------
[VectorCombine] Fixing bitcast processing in VectorCombine (#185075)
Fixing bitcast instruction processing in VectorCombine pass
that operates: arbitrary precision integer types.
Commit: 3e9808befb70a73593d6d98cf744018b4ecab89c
https://github.com/llvm/llvm-project/commit/3e9808befb70a73593d6d98cf744018b4ecab89c
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/primary64.h
Log Message:
-----------
[scudo] Use a fixed format for the milliseconds in latest release. (#185097)
Commit: 3e2069d1280b4a70b0b8c7b252b7bd52d2784aec
https://github.com/llvm/llvm-project/commit/3e2069d1280b4a70b0b8c7b252b7bd52d2784aec
Author: Rahman Lavaee <rahmanl at google.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/test/CodeGen/MIR/Generic/prefetch-targets-error.mir
M llvm/test/CodeGen/MIR/Generic/prefetch-targets.mir
Log Message:
-----------
Fix https://lab.llvm.org/buildbot/#/builders/154/builds/28782
Commit: c182ca3e3ad6c0932ea8258e36174a85a6beda7a
https://github.com/llvm/llvm-project/commit/c182ca3e3ad6c0932ea8258e36174a85a6beda7a
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M lldb/source/Core/PluginManager.cpp
M lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.cpp
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
M lldb/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.cpp
M lldb/source/Plugins/DynamicLoader/wasm-DYLD/DynamicLoaderWasmDYLD.cpp
M lldb/source/Plugins/DynamicLoader/wasm-DYLD/DynamicLoaderWasmDYLD.h
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformRemoteMacOSX.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.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
M lldb/test/API/api/command-return-object/main.cpp
M lldb/test/API/api/multithreaded/driver.cpp.template
M lldb/tools/lldb-test/SystemInitializerTest.cpp
M lldb/unittests/Platform/PlatformDarwinTest.cpp
M lldb/unittests/Process/ProcessTraceTest.cpp
M lldb/unittests/Target/LocateModuleCallbackTest.cpp
Log Message:
-----------
[lldb] Assert & fix missing calls to UnregisterPlugin (#185162)
Fix missing calls to UnregisterPlugin and add an assert in the
PluginManager that ensures all plugins have been unregistered by the
time the plugin manager is destroyed.
Commit: 2c1594a258d92f28e8b90b96e3ca12c55ab44eef
https://github.com/llvm/llvm-project/commit/2c1594a258d92f28e8b90b96e3ca12c55ab44eef
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang-tools-extra/test/clang-tidy/checkers/abseil/redundant-strcat-calls.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/string-find-startswith.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/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/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/signal-handler-minimal.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/signal-handler-posix.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/signal-handler.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/signal-handler.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-container.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/std-namespace-modification.cpp
M 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/suspicious-include.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-stringview-data-usage-options.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-stringview-data-usage.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/cert/uppercase-literal-suffix-integer.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/objc-function-naming.m
M clang-tools-extra/test/clang-tidy/checkers/llvm/include-order.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/use-ranges.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvmlibc/restrict-system-libc-headers.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.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value-macro-header.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-nodiscard.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-scope-lock-warn-on-using-and-typedef-false.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-scoped-lock-no-crash.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-scoped-lock-warn-on-single-locks-false.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-scoped-lock.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-format-fmt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-member.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.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-std-print-fmt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-member.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-string-view-custom-view.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-string-view-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-string-view-ignored.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-string-view.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-strict.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/move-constructor-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/string-view-conversions-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/string-view-conversions.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-includestyle.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-contains.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.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/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
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-string-cstr-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-string-cstr-function.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-string-cstr.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
M clang-tools-extra/test/clang-tidy/checkers/readability/string-compare-custom-string-classes.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/string-compare.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-cxx23.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-floating-point.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-hexadecimal-floating-point.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer-custom-list.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer-ms.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer.cpp
Log Message:
-----------
[clang-tidy][NFC] Implicitly add checkers/Inputs/Headers as system headers in tests (#185442)
Commit: 48e6adc97edd0d833908b49e2c504afb4a90c61a
https://github.com/llvm/llvm-project/commit/48e6adc97edd0d833908b49e2c504afb4a90c61a
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.h
M mlir/docs/Rationale/SideEffectsAndSpeculation.md
M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
M mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.h
M mlir/include/mlir/Interfaces/SideEffectInterfaces.h
M mlir/lib/Analysis/AliasAnalysis/LocalAliasAnalysis.cpp
M mlir/lib/Transforms/CSE.cpp
M mlir/test/Analysis/test-alias-analysis-modref.mlir
A mlir/test/Dialect/OpenACC/cse.mlir
M mlir/test/Transforms/cse.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.h
M mlir/unittests/Interfaces/CMakeLists.txt
A mlir/unittests/Interfaces/SideEffectInterfacesTest.cpp
Log Message:
-----------
[RFC][mlir] Resource hierarchy for MLIR Side Effects. (#181229)
This patch allows creating a hierarchy of `SideEffects::Resource`s by adding
a virtual `getParent()` method, so that effects on *disjoint* resources
can be proven non-conflicting. It also adds virtual `isAddressable()` method
that represents a property of a resource to be addressable via a pointer
value. The non-addressable resources may not be affected via any pointer.
This is unblocking CSE, LICM and alias analysis without per-pass
special-casing.
RFC:
https://discourse.llvm.org/t/rfc-mlir-memory-region-hierarchy-for-mlir-side-effects/89811
Commit: 9062a02da6501db6eac14dd0cc0b99c99284a554
https://github.com/llvm/llvm-project/commit/9062a02da6501db6eac14dd0cc0b99c99284a554
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M lldb/source/Core/PluginManager.cpp
Log Message:
-----------
[lldb] Temporarily remove the assert to unblock the bots (#185505)
The assert is triggering from Dexter in the cross-project-test. This
temporarily removes the assert while I address the issue.
Commit: c192e8c9e39ddb99724fef5e301c6baa357dcce9
https://github.com/llvm/llvm-project/commit/c192e8c9e39ddb99724fef5e301c6baa357dcce9
Author: tudinhh <103348714+tudinhh at users.noreply.github.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/lhs-constant-non-cummutative.ll
Log Message:
-----------
[SLP] Fix misvectorization in commutative to non-commutative conversion (#185230)
**Summary**
Fixes a miscompilation where commutative operations (e.g., or, and, mul)
with a left-hand side constant were incorrectly transformed into
non-commutative operations (e.g., shl, sub).
**The Problem**
In `BinOpSameOpcodeHelper::getOperand`, when a constant is at `Pos ==
0`, the helper was failing to swap operand order for new non-commutative
target opcodes. This resulted in inverted logic, such as transforming
`or 0, %x` into `shl 0, %x` (resulting in 0) instead of the correct `%x
<< 0`.
**The Fix**
The existing logic only protected the Sub opcode. This patch generalizes
the fix to all non-commutative instructions by using
`!Instruction::isCommutative(ToOpcode)`. This ensures that for any
directional operation, the variable is correctly placed on the LHS and
the constant on the RHS.
**Changes**
SLPVectorizer.cpp: Replaced the specific Sub check with a general
isCommutative check.
Regression Test: Added lhs-constant-non-cummutative.ll to cover shl,
sub, and ashr targets.
Fixes #185186
Commit: 46ab0803e7a0b9839d26ab5706512f2941268adc
https://github.com/llvm/llvm-project/commit/46ab0803e7a0b9839d26ab5706512f2941268adc
Author: Justice Adams <jadams23 at apple.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
A .ci/green-dragon/lldb-ubuntu.groovy
A .ci/green-dragon/lldb-windows.groovy
Log Message:
-----------
[green dragon] add lldb windows/ubuntu jobs (#185488)
* Add LLDB jobs for windows and ubuntu 2404
Commit: 2cde7ac1ba256deb757946c449b790468ad0c45e
https://github.com/llvm/llvm-project/commit/2cde7ac1ba256deb757946c449b790468ad0c45e
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M libc/test/src/sys/time/utimes_test.cpp
Log Message:
-----------
[libc] Use explicit cast to time_t in utimes_test. (#185307)
This fixes an error on RISCV-32 bot, where time_t is "long long" type
(64-bit, as required by POSIX), instead of "long".
Commit: 4f094816ef7d2811b36ee328bac3b418dfd021cc
https://github.com/llvm/llvm-project/commit/4f094816ef7d2811b36ee328bac3b418dfd021cc
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/test/CodeGen/MIR/Generic/prefetch-targets-error.mir
Log Message:
-----------
[CodeGen] Fix prefetch-targets-error.mir
\#184194 introduced this test which was failing in some configurations
as it would try and write output to the test directory by having
incorrectly specified -o flags.
Commit: 2bd23327f8611401d384d6b503cc2332a65999ed
https://github.com/llvm/llvm-project/commit/2bd23327f8611401d384d6b503cc2332a65999ed
Author: google-llvm-bazel-bot <google-bazel-bot at google.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 48e6adc (#185507)
This fixes 48e6adc97edd0d833908b49e2c504afb4a90c61a.
Commit: 215b9055ba0463ef29935ce79e437465c2477887
https://github.com/llvm/llvm-project/commit/215b9055ba0463ef29935ce79e437465c2477887
Author: Igor Wodiany <dev at wodiany.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTypes.h
M mlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp
Log Message:
-----------
[mlir][spirv] Make `MatrixType` type a `ShapedType` (#185470)
This will allow to enforce some of the type constraints in ODS using
builtin classes e.g., `AllElementTypesMatch`. This is a first PR in a series of PRs moving all verification for Matrix
ops to ODS.
Commit: 91ef9274ec9733e392923c4d17ca5168fda8fe3e
https://github.com/llvm/llvm-project/commit/91ef9274ec9733e392923c4d17ca5168fda8fe3e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/test/CodeGen/MIR/Generic/prefetch-targets-error.mir
Log Message:
-----------
[CodeGen] Fix 4f094816ef7d2811b36ee328bac3b418dfd021cc
Missed fixing some stuff up due to files still being left around in my
build directory.
Commit: fa23f9149e8d8c347051453b46a545d6462b9367
https://github.com/llvm/llvm-project/commit/fa23f9149e8d8c347051453b46a545d6462b9367
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/test/Transforms/InstSimplify/and-or-implied-cond.ll
Log Message:
-----------
[InstSimplify] Test Simplify and/or of trunc nuw to i1 with op replacement (NFC)
Commit: dacb62989db8084cc2865d6b9ef85bbdf34e112d
https://github.com/llvm/llvm-project/commit/dacb62989db8084cc2865d6b9ef85bbdf34e112d
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/and-or-implied-cond.ll
Log Message:
-----------
[InstSimplify] Simplify and/or of trunc nuw to i1 with op replacement
Commit: 13b394312b97b4c0ea72a8d2a40c68d3fa392b3e
https://github.com/llvm/llvm-project/commit/13b394312b97b4c0ea72a8d2a40c68d3fa392b3e
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M lldb/examples/python/formatter_bytecode.py
A lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/RigidArrayLLDBFormatter.txt
A lldb/test/Shell/ScriptInterpreter/Python/python-bytecode.test
Log Message:
-----------
[lldb][bytecode] Add Python to formatter bytecode compiler (#113734)
A compiler from Python to the assembly syntax of the [lldb data
formatter
bytecode](https://discourse.llvm.org/t/a-bytecode-for-lldb-data-formatters/82696).
Assisted-by: claude
Commit: 7030a34403b0a7e6b0a4be5cd15262b20aa98743
https://github.com/llvm/llvm-project/commit/7030a34403b0a7e6b0a4be5cd15262b20aa98743
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M libc/Maintainers.rst
A libc/docs/Helpers/Styles.rst
R libc/docs/README.txt
A libc/docs/_static/copybutton.css
A libc/docs/_static/copybutton.js
M libc/docs/_static/custom.css
M libc/docs/conf.py
A libc/docs/dev/building_docs.rst
M libc/docs/dev/index.rst
M libc/docs/dev/undefined_behavior.rst
M libc/docs/full_cross_build.rst
M libc/docs/full_host_build.rst
M libc/docs/gpu/building.rst
M libc/docs/gpu/motivation.rst
M libc/docs/gpu/rpc.rst
M libc/docs/gpu/support.rst
M libc/docs/gpu/testing.rst
M libc/docs/gpu/using.rst
M libc/docs/headers/math/index.rst
M libc/docs/index.rst
M libc/docs/overlay_mode.rst
M libc/docs/porting.rst
M libc/docs/uefi/building.rst
M libc/docs/uefi/support.rst
M libc/docs/uefi/testing.rst
M libc/docs/uefi/using.rst
Log Message:
-----------
[libc][docs] Furo theme, new landing page, cleanups (#184303)
Switch the libc documentation site from the alabaster theme to Furo,
which provides mobile-friendly layout, a collapsible sidebar with
caption-based section grouping, and built-in "Edit this page" links.
Changes by area:
conf.py
- Switch html_theme to "furo"
- Add myst_parser extension (already in llvm/docs/requirements.txt, used
by LLDB/Clang/LLVM docs) to allow Markdown alongside RST
- Accept both .rst and .md source suffixes
- Configure Furo source_repository/source_branch/source_directory for
"Edit this page" links pointing to GitHub
- Wire _static/copybutton.{js,css} for copy-to-clipboard buttons on code
blocks (no new pip dependency; can migrate to sphinx-copybutton later
once it's in requirements-hashed.txt)
- Exclude plan-docs.md and Helpers/ from Sphinx processing
index.rst
- Rewrite landing page: remove apologetic "not fully complete" note, add
"What Works Today" section with concrete supported use cases, honest
caveat that full C stdlib coverage is still in progress
- Restructure hidden toctrees into five captioned sidebar groups: "Using
LLVM-libc", "Platforms" (GPU/UEFI promoted to top-level),
"Implementation Status", "Development", "Links"
New files
- docs/_static/copybutton.{js,css}: lightweight copy button for code
blocks
- docs/_static/custom.css: add status badge styles (.badge-complete
etc.) for use with Helpers/Styles.rst substitutions in later phases
Prepare for future status badges:
- docs/Helpers/Styles.rst: RST substitution definitions for status
badges (|Complete|, |Partial|, |InProgress|, |NotStarted|, |GPUOnly|,
|LinuxOnly|) — excluded from toctree, available for Phase 5+ pages
- docs/dev/building_docs.rst: new page covering prerequisites (with
Debian apt-first instructions), CMake flags, ninja docs-libc-html, the
docgen auto-generation pipeline, and troubleshooting
Removed
- docs/README.txt: stale file claiming Sphinx 1.1.3, not in any toctree;
superseded by docs/dev/building_docs.rst
Cleanups
- Remove redundant ".. contents:: Table of Contents" directives from 16
RST files (Furo renders its own per-page TOC in the sidebar)
- Remove same directive from libc/Maintainers.rst (pulled into docs via
include)
Commit: a89bb6291dd9cbc401f291b4b4c15a71f9053eb0
https://github.com/llvm/llvm-project/commit/a89bb6291dd9cbc401f291b4b4c15a71f9053eb0
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang/lib/Headers/gpuintrin.h
M clang/test/Headers/gpuintrin.c
M libc/src/__support/GPU/utils.h
Log Message:
-----------
[Clang] Update the 'gpuintrin.h' lane scan handling (#185451)
Summary:
This patch uses a more efficient algorithm for the reduction rather than
a divergent branch. We also provide a prefix and suffix version, the sum
is now just the first element of this.
This changes the name to this, which is technically breaking but I don't
think these were really used in practice and it's a trivial change based
on the clang version if it's really needed..
```
__gpu_prefix_scan_sum_u32(...)
__gpu_suffix_scan_sum_u32(...)
```
Commit: 6e8e8eaa3476fb20e68b3b4cfe589bc91294f812
https://github.com/llvm/llvm-project/commit/6e8e8eaa3476fb20e68b3b4cfe589bc91294f812
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/and-or-implied-cond.ll
Log Message:
-----------
Revert "[InstSimplify] Simplify and/or of trunc nuw to i1 with op replacement"
This reverts commit dacb62989db8084cc2865d6b9ef85bbdf34e112d.
Commit: 089d69de4656712fd3045b44e0ff1b390e0c4159
https://github.com/llvm/llvm-project/commit/089d69de4656712fd3045b44e0ff1b390e0c4159
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M flang-rt/lib/cuda/descriptor.cpp
M flang-rt/lib/cuda/memory.cpp
M flang/include/flang/Runtime/CUDA/common.h
Log Message:
-----------
[flang][cuda][NFC] Add filename and line number in error reporting (#185516)
Some entry points carry over filename and line number for error
reporting. Use this information when reporting cuda error.
Commit: 4a75d33a0624239817a70aad643da8216b4be5f4
https://github.com/llvm/llvm-project/commit/4a75d33a0624239817a70aad643da8216b4be5f4
Author: Lei Huang <lei at ca.ibm.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Target/PowerPC/PPCRegisterInfo.td
Log Message:
-----------
[PowerPC][NFC] fix indentation and spacing (#185500)
Commit: aa64d7e92fd510bc6e54a60b2796a8c6747395e4
https://github.com/llvm/llvm-project/commit/aa64d7e92fd510bc6e54a60b2796a8c6747395e4
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M libc/test/src/sys/socket/linux/send_recv_test.cpp
M libc/test/src/sys/socket/linux/sendmsg_recvmsg_test.cpp
M libc/test/src/sys/socket/linux/sendto_recvfrom_test.cpp
M libc/test/src/time/mktime_test.cpp
Log Message:
-----------
[libc] Fix implicit lossy conversion warnings in tests (NFC). (#185503)
Cast expected error values (-1) to ssize_t for send/recv family of
functions.
Commit: 13f523867e3ace6539d6ddfd813a44abb106e017
https://github.com/llvm/llvm-project/commit/13f523867e3ace6539d6ddfd813a44abb106e017
Author: David Green <david.green at arm.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/movi64_sve.ll
Log Message:
-----------
[AArch64][GlobalISel] Add test coverage to movi64_sve.ll. NFC
Commit: 90978e484f289f4c7036486e375166f69a587b2b
https://github.com/llvm/llvm-project/commit/90978e484f289f4c7036486e375166f69a587b2b
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
Log Message:
-----------
[arm64ec] Fix missing sret return in Arm64EC entry thunks for large struct returns (#185452)
When an Arm64EC function returns a struct by value that is too large for
x64's `RAX` (>8 bytes), the entry thunk synthesizes a hidden sret
pointer parameter for the x64 side. However, this
parameter was never marked with the sret attribute, so ISel did not copy
its value into `x8` (the Arm64EC mapping of `RAX`) on return. This
caused the x64 caller to see a garbage pointer in `RAX` instead of the
return buffer address.
The change adds the sret attribute to the thunk's synthesized pointer
parameter, so that `LowerFormalArguments` saves it and `LowerReturn`
restores it to `x8` before the tail call to `__os_arm64x_dispatch_ret`.
Fixes #185390
Commit: 0559fe6e416c9f0f9a6428db6f333209d86e4303
https://github.com/llvm/llvm-project/commit/0559fe6e416c9f0f9a6428db6f333209d86e4303
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang-tools-extra/clang-doc/CMakeLists.txt
M clang-tools-extra/clang-doc/benchmarks/CMakeLists.txt
M clang-tools-extra/test/clang-doc/CMakeLists.txt
Log Message:
-----------
[clang-doc] Cleanup CMake files and ensure benchmarks build (#185469)
There's some poor formatting, and ClangDocBenchmark references several
targets that are required, but only because they're required for clang-doc
itself. We can just get those requirements from the clangDoc target.
Additionally, we can make sure the benchmark builds as part of testing
when LLVM_INCLUDE_BENCHMARKS is set.
Commit: 6a6564cd1476270e9342b6be0792109516ddd99c
https://github.com/llvm/llvm-project/commit/6a6564cd1476270e9342b6be0792109516ddd99c
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M libc/hdr/CMakeLists.txt
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/Elf32_auxv_t.h
A libc/hdr/types/Elf64_auxv_t.h
M libc/include/CMakeLists.txt
M libc/include/elf.yaml
M libc/include/llvm-libc-macros/link-macros.h
M libc/include/llvm-libc-macros/sys-auxv-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/Elf32_auxv_t.h
A libc/include/llvm-libc-types/Elf64_auxv_t.h
M libc/src/__support/OSUtil/linux/CMakeLists.txt
M libc/src/__support/OSUtil/linux/auxv.h
Log Message:
-----------
[libc] Add more macro/type declarations to Elf headers. (#185348)
* Add several `AT_` macro values from `<sys/auxv.h>`. In particular,
this allows to make internal Linux auxv header parsing more hermetic by
removing one of Linux header includes.
* Add constants between `DT_ADDRNGLO` and `DT_ADDRNGHI`, in particular
`DT_GNU_HASH`, which is de-facto standard on many platforms.
* Add `Elf32_auxv_t` and `Elf64_auxv_t` types which define the auxv
entries and can be used by VDSO parsing code. Note that this PR doesn't
yet update libc's own Linux auxv header support (in
`src/__support/OSUtil/linux/auxv.h`).
This fixes some of the missing definitions when building code working
with Elf files, such as Abseil's debugging support in
https://github.com/abseil/abseil-cpp/tree/master/absl/debugging/internal.
Commit: a9e457a82f6a349a47bab72a2877b4ea0e321091
https://github.com/llvm/llvm-project/commit/a9e457a82f6a349a47bab72a2877b4ea0e321091
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/RPC.cpp
Log Message:
-----------
[Offload][AMDGPU] Fix RPC server on mixed w32 w64 workloads (#185496)
Summary:
This was a regression from the original LLVM-gpu-loader. We used to
handle `-mwavefrontsize64` correctly in the loader by over-allocating
memory and just leaving the upper 32-bits masked off. In order to handle
this in offload we need to scan loaded kernels to see how much memory we
need to allocate. This should be safe, the protocol is designed to
handle an arbitrary size and worst-case this just wastes space.
Commit: f2dc4897faac3980c810c4bc51a5988a08eb8587
https://github.com/llvm/llvm-project/commit/f2dc4897faac3980c810c4bc51a5988a08eb8587
Author: Vigneshwar Jayakumar <vigneshwar.jayakumar at amd.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/test/Analysis/CostModel/AMDGPU/exp.ll
M llvm/test/Analysis/CostModel/AMDGPU/exp10.ll
M llvm/test/Analysis/CostModel/AMDGPU/exp2.ll
Log Message:
-----------
[AMDGPU] Replace undef with poison in exp/exp2/exp10 cost tests NFC (#185527)
Commit: a8b726ab9d6d024a7971d27771b84b814adbd674
https://github.com/llvm/llvm-project/commit/a8b726ab9d6d024a7971d27771b84b814adbd674
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M flang-rt/lib/runtime/execute.cpp
M flang-rt/unittests/Runtime/CommandTest.cpp
Log Message:
-----------
[flang-rt] Need to pad the output of execute_command_line(..., CMDMSG) (#185509)
Previously the error message was copied, but not padded for cases where
the message was shorter than the passed CMDMSG string. Add the padding
and also change the test case to test padding on all platforms.
Commit: 331a91cff8480c50e076735c7cd2db32103c4331
https://github.com/llvm/llvm-project/commit/331a91cff8480c50e076735c7cd2db32103c4331
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerVGPREncoding.cpp
Log Message:
-----------
[NFC][AMDGPU] Add debug print to `AMDGPULowerVGPREncoding.cpp` (#185331)
Commit: 1324ea1b229919310f54c032f7b30c770bce8a3c
https://github.com/llvm/llvm-project/commit/1324ea1b229919310f54c032f7b30c770bce8a3c
Author: Derek Schuff <dschuff at chromium.org>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/test/CodeGen/WebAssembly/simd-memcmp.ll
M llvm/test/CodeGen/WebAssembly/simd-reductions.ll
Log Message:
-----------
[WebAssembly] Fold any/alltrue SIMD boolean reductions with eqz (#184704)
Existing ISel patterns match setne/seteq following SIMD boolean reductions
any_true and all_true, and drop the ones that are redundant (because the
reductions always return 1 or 0). This adds patterns to also produce eqz
instructions instead of a comparison with a const.
Commit: 367569e667dd01d51e755c4cb76dc49de0b8957c
https://github.com/llvm/llvm-project/commit/367569e667dd01d51e755c4cb76dc49de0b8957c
Author: AbdallahRashed <63146988+AbdallahRashed at users.noreply.github.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/clmul-fixed.ll
M llvm/test/CodeGen/X86/clmul-vector.ll
Log Message:
-----------
[SelectionDAG] Use ExpandIntRes_CLMUL to expand vector CLMUL via narrower legal types (#184468)
Reuse the ExpandIntRes_CLMUL identity to expand vector
CLMUL/CLMULR/CLMULH on wider element types (vXi16, vXi32, vXi64) by
decomposing into half-element-width operations that eventually reach a
legal CLMUL type.
Three generic strategies in expandCLMUL:
1. Halve: halve element width (e.g. v8i16 -> v8i8 on AArch64)
2. promote to double : zext to wider type if CLMUL is legal there (e.g.
x86)
3. Count widen: pad with undef to double element count (e.g. v4i16 ->
v8i16)
A helper canNarrowCLMULToLegal() guides strategy selection and prevents
circular expansion in the CLMULH bitreverse path.
Also add Custom BITREVERSE lowering for v4i16/v8i16 on AArch64 using
REV16+RBIT, which the CLMULH expansion relies on.
Fixes #183768
Commit: 0b5c16b94710ccf23909153c8d2100a29ea465ae
https://github.com/llvm/llvm-project/commit/0b5c16b94710ccf23909153c8d2100a29ea465ae
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M libclc/opencl/lib/amdgcn/printf/__printf_alloc.cl
M libclc/opencl/lib/generic/atomic/atomic_fetch_add.cl
M libclc/opencl/lib/generic/atomic/atomic_fetch_sub.cl
Log Message:
-----------
[libclc] Replace last of `opencl` atomics with `__scoped_` versions (#185515)
Summary:
These were the only uses of the old atomics. The old definition guards
stay as those prevent us from compiling the unsupported uintptr_t atomic
type on nvptx which does not define it. Could probably be improved
later.
Commit: 982beb1729257e1772bc6ec79ec0282207f2552e
https://github.com/llvm/llvm-project/commit/982beb1729257e1772bc6ec79ec0282207f2552e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang/lib/Basic/Targets/SPIR.h
M clang/test/Sema/scoped-atomic-ops.c
Log Message:
-----------
[SPIR] Do not warn on 64-bit atomics (#185502)
Summary:
SPIR-V's Int64Atomics capability is not dependent on its addressing mode
as far as I am aware. These 32-bit SPIR targets already claim to support
the cl_khr_int64 atomics and we already emit 64-bit atomics in the
backend. Additionally, this is already accepted as a hack due to the
fact that the host will increase it in offloading usage. I do not see a
reason to keep these at 32, which causes numerous warnings inside of the
`libclc` build.
Commit: 1b396ee52cdfd3717bfc58676f97bf4e516ef606
https://github.com/llvm/llvm-project/commit/1b396ee52cdfd3717bfc58676f97bf4e516ef606
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[Bazel] Fix 6a6564cd1476270e9342b6be0792109516ddd99c
Introduced a new header/dependencies on said header.
Commit: 4095ac92b454393c4a749d2f29565c2fc20af6f6
https://github.com/llvm/llvm-project/commit/4095ac92b454393c4a749d2f29565c2fc20af6f6
Author: Ayokunle Amodu <ayokunle321 at gmail.com>
Date: 2026-03-09 (Mon, 09 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/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-bcopy.cpp
Log Message:
-----------
[CIR][CIRGen] Upstream support for `__builtin_bcopy` (#185038)
This adds CIR support for the bcopy builtin.
Commit: 51aad697e5bebcd09c295b63ff7dec5b6ec44d87
https://github.com/llvm/llvm-project/commit/51aad697e5bebcd09c295b63ff7dec5b6ec44d87
Author: Eric Christopher <echristo at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
M llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
M llvm/lib/Target/NVPTX/NVPTXDwarfDebug.cpp
M llvm/lib/Target/NVPTX/NVPTXDwarfDebug.h
Log Message:
-----------
[NFC] Migrate NVPTX specific debug info code to separate class
This refactors the dwarf emission code to pull out the rest of the NVPTX specific code into it's own subclass for debug info handling and architecture specific differences.
Tested with ninja check-all on OSX.
Commit: c6bde8318ea7f8b0d95fc26730640dcdc3643d57
https://github.com/llvm/llvm-project/commit/c6bde8318ea7f8b0d95fc26730640dcdc3643d57
Author: Steven Perron <stevenperron at google.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/lib/AST/TypePrinter.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
M clang/test/AST/HLSL/Texture2D-scalar-AST.hlsl
M clang/test/AST/HLSL/Texture2D-vector-AST.hlsl
M clang/test/AST/HLSL/pch_with_matrix_element_accessor.hlsl
M clang/test/AST/HLSL/pch_with_matrix_single_subscript.hlsl
M clang/test/AST/HLSL/resource_binding_attr.hlsl
M clang/test/SemaHLSL/BuiltIns/Buffers.hlsl
M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
M clang/test/SemaHLSL/BuiltIns/matrix-errors.hlsl
M clang/test/SemaHLSL/Types/BuiltinMatrix/MatrixFloatPrecisionWarnings.hlsl
Log Message:
-----------
[HLSL] Fix interleaved vector and matrix return types in AST dump (#184888)
HLSL vector and matrix types were previously printed with their closing
syntax (', N>') in 'printAfter', causing them to interleave with
function
parameters when used as return types (e.g., 'vector<float (args), 4>').
This change moves the HLSL vector and matrix closing syntax into
'printBefore' when 'UseHLSLTypes' is enabled, ensuring the type is
printed completely before the parameter list.
Note that address space qualifiers are now printed after the type
(e.g., 'vector<float, 4>hlsl_device'). This is because
'canPrefixQualifiers' in 'TypePrinter.cpp' returns false for these
types.
We cannot easily change this to check 'UseHLSLTypes' because
'canPrefixQualifiers' is a static method and does not have access to the
PrintingPolicy at that point.
Fixes interleaved output in HLSL AST tests.
Fixes https://github.com/llvm/llvm-project/issues/114868.
Assisted-by: Gemini
Commit: 2c2126603c81dbe373223bb1cf60fc01f93707d9
https://github.com/llvm/llvm-project/commit/2c2126603c81dbe373223bb1cf60fc01f93707d9
Author: Haibo Jiang <jianghaibo9 at huawei.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M bolt/include/bolt/Passes/DataflowAnalysis.h
Log Message:
-----------
[BOLT] Speed up dataflow analysis with RPO (#183704)
Commit: 34b2de9e4cf75576499a824a0d3df6b36a4edc8a
https://github.com/llvm/llvm-project/commit/34b2de9e4cf75576499a824a0d3df6b36a4edc8a
Author: Zhaoxuan Jiang <jiangzhaoxuan94 at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M lld/MachO/ConcatOutputSection.cpp
M lld/MachO/ConcatOutputSection.h
A lld/test/MachO/arm64-thunk-icf-body-dedup.s
Log Message:
-----------
[lld][MachO] Deduplicate branch-extension thunks for ICF-folded symbols (#185396)
After ICF, multiple symbols may resolve to the same address but remain
as distinct Symbol pointers. When used as keys in thunkMap, this caused
redundant branch-extension thunks to be created for the same target. Fix
this by providing a custom DenseMapInfo for thunkMap that hashes and
compares Defined symbols by (isec, value) instead of pointer identity.
Commit: 3545e510931c263d05af95ccaa72cde661e68215
https://github.com/llvm/llvm-project/commit/3545e510931c263d05af95ccaa72cde661e68215
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelAttributes.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/R600Subtarget.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/amdgpu-max-num-workgroups-load-annotate.ll
M llvm/test/CodeGen/AMDGPU/implicit-arg-block-count.ll
M llvm/test/CodeGen/AMDGPU/implicit-arg-v5-opt.ll
Log Message:
-----------
Revert "AMDGPU: Annotate group size ABI loads with range metadata (#185420)" (#185521)
This reverts commit 76daf31b4000623d5c9548348a859ea3ed8712e1.
Bot failure.
Commit: eebc390eb0b2d0df336d574b6f2453b74dc6978e
https://github.com/llvm/llvm-project/commit/eebc390eb0b2d0df336d574b6f2453b74dc6978e
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/test/Analysis/DependenceAnalysis/weak-zero-siv-overflow.ll
Log Message:
-----------
[DA] Fix overflows when calculating Delta in the Weak Zero SIV tests (#184997)
Add overflow checks when computing `Delta` in the Weak Zero SIV tests.
The tests bail out if we cannot prove that the `Delta` computation does
not overflow. These calculations are also moved later so that some
analyses that do not require these checks can run first.
Fix part of the test cases added in #164246.
Commit: 29cb6f0147f9039edcb98246e85ff6fc51bea3a5
https://github.com/llvm/llvm-project/commit/29cb6f0147f9039edcb98246e85ff6fc51bea3a5
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CodeGenFunction.h
Log Message:
-----------
[Clang] Track alloca element types to avoid getAllocatedType() calls (#181740)
Store alloca element types alongside alloca pointers in Clang's CodeGen,
eliminating the need to query getAllocatedType() later.
Changes:
- CodeGenFunction.h: Modified DominatingLLVMValue::saved_type to track
type Uses Type==nullptr as sentinel for "not saved" instead of separate
bool. Fixes a bug where it previously tried to use the addrspacecasted
value constructor and later cast it to an alloca.
- CGHLSLRuntime.cpp: Changed OutputSemantic map to store (Value*, Type*)
pairs to trivially remove getAllocatedType calls.
Co-authored-by: Claude Sonnet 4.5 <noreply at anthropic.com>
Commit: 24bf26c057553c58e576a7cb7df89a22d2fe6961
https://github.com/llvm/llvm-project/commit/24bf26c057553c58e576a7cb7df89a22d2fe6961
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
A clang/test/CodeGenHLSL/groupsharedArgs/ArrTest.hlsl
A clang/test/CodeGenHLSL/groupsharedArgs/MatrixTest.hlsl
A clang/test/CodeGenHLSL/groupsharedArgs/Overloads.hlsl
A clang/test/CodeGenHLSL/groupsharedArgs/Scalartest.hlsl
A clang/test/CodeGenHLSL/groupsharedArgs/TemplateTest.hlsl
A clang/test/CodeGenHLSL/groupsharedArgs/VectorTest.hlsl
A clang/test/SemaHLSL/Language/groupsharedArgs/ExplicitCast.hlsl
A clang/test/SemaHLSL/Language/groupsharedArgs/ExportNoInlineTest.hlsl
A clang/test/SemaHLSL/Language/groupsharedArgs/InOut.hlsl
A clang/test/SemaHLSL/Language/groupsharedArgs/NotGroupSharedTest.hlsl
A clang/test/SemaHLSL/Language/groupsharedArgs/Pre202xWarning.hlsl
A clang/test/SemaHLSL/Language/groupsharedArgs/ScalarTest.hlsl
M clang/test/SemaHLSL/group_shared.hlsl
M clang/test/SemaHLSL/group_shared_202x.hlsl
Log Message:
-----------
[HLSL] Add support for groupshared args (#181886)
Add support for groupshared args to HLSL.
Some support for template errors and warnings still needs to be added in
a follow up (tracked by #182535)
Closes #174472
Commit: 88bd3f475bd8083bfc8ddc5eaa15ef7ba1d999a4
https://github.com/llvm/llvm-project/commit/88bd3f475bd8083bfc8ddc5eaa15ef7ba1d999a4
Author: Fangrui Song <i at maskray.me>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/test/Misc/diag-mapping.c
Log Message:
-----------
[clang] Adjust -pedantic-errors -WX/-Wno-error=X interaction (#184756)
While -Wno-long-long suppresses -pedantic-errors diagnostics in both GCC
and Clang, GCC -Wno-error=long-long emits warnings while Clang still
emits errors.
```
% echo 'long long x = 0;' | gcc -std=c89 -pedantic-errors -Wno-error=long-long -x c -fsyntax-only -
<stdin>:1:6: warning: ISO C90 does not support 'long long' [-Wlong-long]
% echo 'long long x = 0;' | clang -std=c89 -pedantic-errors -Wno-error=long-long -x c -fsyntax-only -
<stdin>:1:1: error: 'long long' is an extension when C99 mode is not enabled [-Werror,-Wlong-long]
1 | long long x = 0;
| ^
1 error generated.
```
The order of -pedantic-errors and -Wno-error=long-long does not matter.
Two fixes to how extension diagnostics interact with -pedantic-errors
in getDiagnosticSeverity():
1. -Wno-error=X now downgrades -pedantic-errors diagnostics to warnings.
setDiagnosticGroupWarningAsError() sets HasNoWarningAsError but not
IsUser, so the ExtBehavior upgrade would re-promote to error. When
HasNoWarningAsError is set, cap the ExtBehavior upgrade at Warning.
2. -Wfoo no longer prevents -pedantic-errors from upgrading to error.
Previously, -Wfoo set IsUser which blocked the ExtBehavior upgrade
entirely. Now only -Wno-foo (IsUser + Ignored) blocks the upgrade,
matching GCC behavior.
```
% echo 'long long x = 0;' | myclang -std=c89 -pedantic-errors -Wno-error=long-long -x c -fsyntax-only -
<stdin>:1:1: warning: 'long long' is an extension when C99 mode is not enabled [-Wlong-long]
1 | long long x = 0;
| ^
1 warning generated.
```
Fixes https://github.com/llvm/llvm-project/issues/184250
Commit: 9a89af90faf11a4a5427bdb62562b282157b18cf
https://github.com/llvm/llvm-project/commit/9a89af90faf11a4a5427bdb62562b282157b18cf
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M lldb/test/Shell/ScriptInterpreter/Python/python-bytecode.test
Log Message:
-----------
[lldb] Update test diff invocation for portability (#185557)
Use --strip-trailing-cr to ignore line ending differences. Fixes
failures on windows.
Commit: c400db38636a5451aa05c0bc9c9a4f92ed3a9327
https://github.com/llvm/llvm-project/commit/c400db38636a5451aa05c0bc9c9a4f92ed3a9327
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/test/Analysis/DependenceAnalysis/weak-zero-siv-overflow.ll
Log Message:
-----------
[DA] Fix test case for the Weak Zero SIV tests (NFC) (#185555)
The IR does not match the pseudo code. The pseudo code is intentional,
so update the IR accordingly.
Commit: 12de945835dcffe262c668db6b917c2c7c48d401
https://github.com/llvm/llvm-project/commit/12de945835dcffe262c668db6b917c2c7c48d401
Author: Luo Yuanke <lyk_03 at hotmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
Log Message:
-----------
[InferAS][NFC] Improve documentation for getAddrSpaceCastPreservedPtrMask (#185239)
Clarify the description of the preserved pointer bit mask and its
purpose in address space inference. Reformat the example for better
readability.
Co-authored-by: Yuanke Luo <ykluo at birentech.com>
Commit: 351d900e6c96ee51cbb40c933969b5ebd15a4122
https://github.com/llvm/llvm-project/commit/351d900e6c96ee51cbb40c933969b5ebd15a4122
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/test/CodeGen/RISCV/callee-saved-gprs.ll
M llvm/test/CodeGen/RISCV/double-mem.ll
M llvm/test/CodeGen/RISCV/fold-addi-loadstore-zilsd.ll
M llvm/test/CodeGen/RISCV/zdinx-spill.ll
M llvm/test/CodeGen/RISCV/zilsd-spill.ll
Log Message:
-----------
[llvm][RISCV] Use zilsd for callee-saved register spill/restore on RV32 (#184794)
When the Zilsd extension is enabled on RV32, use SD_RV32/LD_RV32
instructions to spill and restore pairs of callee-saved GPRs instead of
saving 2 separate 32 bit data.
Note that we need to ensure stack slot to be aligned.
Commit: 41ef3d083a0925cb9c184057f76a0d42ad5680ab
https://github.com/llvm/llvm-project/commit/41ef3d083a0925cb9c184057f76a0d42ad5680ab
Author: Luo Yuanke <lyk_03 at hotmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/test/CodeGen/X86/bf16-fast-isel.ll
A llvm/test/CodeGen/X86/pr179100.ll
Log Message:
-----------
[FastISel] Lower call instruction with illegal type returned (#180322)
Fix issue https://github.com/llvm/llvm-project/issues/179100
When lowering the call instruction with illegal type returned, we should
bail out and transfer the lowering to DAG. Otherwise the return value is
not promoted to proper type, but DAG would assume it has been promoted.
---------
Co-authored-by: Yuanke Luo <ykluo at birentech.com>
Commit: f401a76df2434845da4ce1c1a426108bf7cd72ad
https://github.com/llvm/llvm-project/commit/f401a76df2434845da4ce1c1a426108bf7cd72ad
Author: Wei Wang <apollo.mobility at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/include/llvm/Transforms/IPO/SampleProfileMatcher.h
M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
A llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-stale-profile-direct-basename.prof
A llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-direct-basename.ll
Log Message:
-----------
[SampleProfileMatcher] Add direct basename early matching for orphan functions (#184409)
When user code changes function signatures (e.g., adding/removing
parameters), the C++ mangled name changes while the base function name
stays the same. The existing stale profile CG matching can only recover
renamed functions when they appear as callees of already-matched
callers. If the caller has no profile (e.g., fully inlined in the
profiled binary, or from a different TU not loaded), the renamed callee
is never discovered and gets zero profile data.
Add `matchFunctionsWithoutProfileByBasename()` that pairs orphan IR
functions (no profile) with unused top-level profile functions by
demangled basename, without requiring a matched caller in the call
graph.
This direct basename matching runs before CG matching and writes to
`FuncToProfileNameMap`. CG matching can later overwrite these entries
(since `SymbolMap` is not updated until `UpdateWithSalvagedProfiles`),
so a contextually better CG match is not blocked.
An unambiguous 1:1 mapping is enforced: a basename is only matched when
exactly one orphan IR function and exactly one profile candidate share
it. This eliminates false positives from common/short basenames while
preserving matches for unique function names that are the primary target
of this optimization.
Commit: 4178b954c244716439b01fde9bee1bea8ee1b3e9
https://github.com/llvm/llvm-project/commit/4178b954c244716439b01fde9bee1bea8ee1b3e9
Author: Wei Wang <apollo.mobility at gmail.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
A llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-stale-profile-flatten-helper.prof
A llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-flatten-helper.ll
Log Message:
-----------
[SampleProfileMatcher] Flatten profiles loaded on demand (#184255)
Fix an issue that after loading top-level function from profile during
CG matching, it's not flattened. This means the inlined callees of the
loaded nested profile don't get their own entries in
`FlattenedProfiles`, making them undiscoverable by subsequent CG
matching steps.
Commit: cf2d59925c51467e617d72a6501886245fa210b1
https://github.com/llvm/llvm-project/commit/cf2d59925c51467e617d72a6501886245fa210b1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-03-09 (Mon, 09 Mar 2026)
Changed paths:
M clang/test/Driver/print-enabled-extensions/riscv-xt-c910v2.c
M clang/test/Driver/print-enabled-extensions/riscv-xt-c920v2.c
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/attribute-arch.s
Log Message:
-----------
[RISCV] Make Zbc imply Zbkc. (#185543)
Zbkc contains 2 of the 3 instructions from Zbc. Making Zbc imply Zbkc
will make the __riscv_zbkc define be set when Zbc is enabled.
This does not change the diagnostics printed by the assembler.
There's a PR to add this rule to the ISA manual too
https://github.com/riscv/riscv-isa-manual/pull/2524
Commit: 5464d68290d2f192f4b8a04ce8bd5adf4f7a454f
https://github.com/llvm/llvm-project/commit/5464d68290d2f192f4b8a04ce8bd5adf4f7a454f
Author: Sietze Riemersma <43845930+KungFuDonkey at users.noreply.github.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/WaveActiveProduct.hlsl
A clang/test/SemaHLSL/BuiltIns/WaveActiveProduct-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/WaveActiveProduct.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveActiveProduct.ll
Log Message:
-----------
[HLSL][DXIL][SPRIV] Added WaveActiveProduct intrinsic (#184645)
>From issue #99165, adds the implementation of WaveActiveProduct. This
time with the new types for SPIRVTypeInst
- [x] Implement WaveActiveProduct clang builtin,
- [x] Link WaveActiveProduct clang builtin with hlsl_intrinsics.h
- [x] Add sema checks for WaveActiveProduct to
CheckHLSLBuiltinFunctionCall in SemaChecking.cpp
- [x] Add codegen for WaveActiveProduct to EmitHLSLBuiltinExpr in
CGBuiltin.cpp
- [x] Add codegen tests to
clang/test/CodeGenHLSL/builtins/WaveActiveProduct.hlsl
- [x] Add sema tests to
clang/test/SemaHLSL/BuiltIns/WaveActiveProduct-errors.hlsl
- [x] Create the int_dx_WaveActiveProduct intrinsic in
IntrinsicsDirectX.td
- [x] Create the DXILOpMapping of int_dx_WaveActiveProduct to 119 in
DXIL.td
- [x] Create the WaveActiveProduct.ll and WaveActiveProduct_errors.ll
tests in llvm/test/CodeGen/DirectX/
- [x] Create the int_spv_WaveActiveProduct intrinsic in
IntrinsicsSPIRV.td
- [x] In SPIRVInstructionSelector.cpp create the WaveActiveProduct
lowering and map it to int_spv_WaveActiveProduct in
SPIRVInstructionSelector::selectIntrinsic.
- [x] Create SPIR-V backend test case in
llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveActiveProduct.ll
Commit: a17289b76ae31efdd5b6ce0ed8da04b1b9185a33
https://github.com/llvm/llvm-project/commit/a17289b76ae31efdd5b6ce0ed8da04b1b9185a33
Author: Rana Pratap Reddy <109514914+ranapratap55 at users.noreply.github.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.td
A clang/test/CodeGenHIP/builtins-amdgcn-f16-misc.hip
A clang/test/CodeGenHIP/builtins-amdgcn-gfx12-f16-w32.hip
A clang/test/CodeGenHIP/builtins-amdgcn-gfx12-f16-w64.hip
A clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-f16-misc.hip
A clang/test/CodeGenHIP/builtins-amdgcn-gfx950-f16.hip
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-load-tr.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-read-tr.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx11-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w32-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w64-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w64.cl
M clang/test/SemaHIP/hip-builtin-lvalue-to-rvalue.hip
Log Message:
-----------
[Clang][AMDGPU] Change __fp16 to _Float16 in builtin definitions (#185446)
Change the type signature of `SWMMAC, load, cvt` builtins from `__fp16
to _Float16` in the tablegen builtin definitions.
Commit: b47ea968bbd40125e0e6387eb2e9c8ca37acb7b8
https://github.com/llvm/llvm-project/commit/b47ea968bbd40125e0e6387eb2e9c8ca37acb7b8
Author: Mohamed Emad <hulxxv at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M libc/src/__support/math/acospif.h
M libc/src/__support/math/inv_trigf_utils.h
M libc/test/src/math/exhaustive/asinpif_test.cpp
M libc/test/src/math/smoke/acospif_test.cpp
Log Message:
-----------
[libc][math] correct the output of `asinpif` and `acospi` (#185544)
Currently, we have accuracy issues and some points fail in the asinpif
exhaustive test. This change fixes it by increasing the degree of the
used polynomial
```
-- Testing for FE_TONEAREST in range [0x0, 0x7f800000) --
Failed to match Func(x) against LIBC_NAMESPACE::testing::mpfr::get_mpfr_matcher<Op>( x, Func(x), 0.5, rounding).
Match value not within tolerance value of MPFR result:
Input decimal: 0.00000011348398487598387873731553554534912109375000
Input bits: 0x33F3B47B = (S: 0, E: 0x0067, M: 0x0073B47B)
Match decimal: 0.00000003612307253320068411994725465774536132812500
Match bits: 0x331B25BD = (S: 0, E: 0x0066, M: 0x001B25BD)
MPFR result: 0.00000003612307608591436292044818401336669921875000
MPFR rounded: 0x331B25BE = (S: 0, E: 0x0066, M: 0x001B25BE)
ULP error: 1.00000000000000000000000000000000000000000000000000
Test failed for 1 inputs in range: 871366656 to 872415232 [0x33f00000, 0x34000000), [0x1.ep-24, 0x1p-23)
Match value not within tolerance value of MPFR result:
Input decimal: 0.00000356030955117603298276662826538085937500000000
Input bits: 0x366EEDA7 = (S: 0, E: 0x006C, M: 0x006EEDA7)
Match decimal: 0.00000113328167117288103327155113220214843750000000
Match bits: 0x35981B43 = (S: 0, E: 0x006B, M: 0x00181B43)
MPFR result: 0.00000113328178485971875488758087158203125000000000
MPFR rounded: 0x35981B44 = (S: 0, E: 0x006B, M: 0x00181B44)
ULP error: 1.00000000000000000000000000000000000000000000000000
Test failed for 1 inputs in range: 912261120 to 913309696 [0x36600000, 0x36700000), [0x1.cp-19, 0x1.ep-19)
Match value not within tolerance value of MPFR result:
Input decimal: -0.00000011348398487598387873731553554534912109375000
Input bits: 0xB3F3B47B = (S: 1, E: 0x0067, M: 0x0073B47B)
Match decimal: -0.00000003612307253320068411994725465774536132812500
Match bits: 0xB31B25BD = (S: 1, E: 0x0066, M: 0x001B25BD)
MPFR result: -0.00000003612307608591436292044818401336669921875000
MPFR rounded: 0xB31B25BE = (S: 1, E: 0x0066, M: 0x001B25BE)
ULP error: 1.00000000000000000000000000000000000000000000000000
Test failed for 1 inputs in range: 3018850304 to 3019898880 [0xb3f00000, 0xb4000000), [-0x1.ep-24, -0x1p-23)
Match value not within tolerance value of MPFR result:
Input decimal: -0.00000356030955117603298276662826538085937500000000
Input bits: 0xB66EEDA7 = (S: 1, E: 0x006C, M: 0x006EEDA7)
Match decimal: -0.00000113328167117288103327155113220214843750000000
Match bits: 0xB5981B43 = (S: 1, E: 0x006B, M: 0x00181B43)
MPFR result: -0.00000113328178485971875488758087158203125000000000
MPFR rounded: 0xB5981B44 = (S: 1, E: 0x006B, M: 0x00181B44)
ULP error: 1.00000000000000000000000000000000000000000000000000
Test failed for 1 inputs in range: 3059744768 to 3060793344 [0xb6600000, 0xb6700000), [-0x1.cp-19, -0x1.ep-19)
```
Commit: 02ef01dbb7c9d2b53bcd8f1c27f642df6253b8fb
https://github.com/llvm/llvm-project/commit/02ef01dbb7c9d2b53bcd8f1c27f642df6253b8fb
Author: Samrudh Nelli <samrudhnelli at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
R clang/test/AST/ByteCode/constexpr.c
Log Message:
-----------
[Clang] Remove clang/test/AST/Bytecode/constexpr.c (#185447)
Remove duplicate test since Sema/constexpr.c handles the constexpr
tests.
Discussed in #181965
Commit: 269b17a21502ea2e7036cb5d2042807e470dd59b
https://github.com/llvm/llvm-project/commit/269b17a21502ea2e7036cb5d2042807e470dd59b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/PrimType.h
M clang/test/AST/ByteCode/c.c
Log Message:
-----------
[clang][bytecode] Check for integral types in evaluateStrlen (#185481)
The pointer might point to a primitive array of non-integer type.
Commit: 48473ddcc75b49ff9d8c912d86b98be33c861ccf
https://github.com/llvm/llvm-project/commit/48473ddcc75b49ff9d8c912d86b98be33c861ccf
Author: Jim Lin <jim at andestech.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
M llvm/test/CodeGen/RISCV/rvv/insertelt-int-rv32.ll
Log Message:
-----------
[RISCV] Handle sign_extend of i32 in insert_vector_elt for RV32 (#185548)
On RV32 with <N x i64> vectors, inserting a value that is a
sign_extend of an i32 only uses the lower 32 bits, so it can be
lowered without scalar legalization, same as i32 constants.
Commit: 54b671e05482515ff433bff2fbe0cabbf906d737
https://github.com/llvm/llvm-project/commit/54b671e05482515ff433bff2fbe0cabbf906d737
Author: William Tran-Viet <wtranviet at proton.me>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M libcxx/include/optional
Log Message:
-----------
[libc++][NFC] Simplify most of `optional.observe` (#185252)
- Hoist `operator*()`, `operator->()`, `value()` into their respective
`optional_storage_base` to reduce the amount of concepts flying around.
- `value_or()` has been deliberately left out since that seems to
produce extra (superfluous) error messages during invalid template
instantiation.
Commit: 710ce4e0df59a392936ba479e801a9d9e087260c
https://github.com/llvm/llvm-project/commit/710ce4e0df59a392936ba479e801a9d9e087260c
Author: Amit Kumar Pandey <pandey.kumaramit2023 at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 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:
-----------
Revert "[ASan] Enable Internalization for 'asanrtl.bc' in Driver (#18… (#185458)
…2825)"
Enabling internalization of `asanrtl.bc` breaks the asan reporting on
hip side , due to duplicate `__asan_report_XXX` calls in code object and
the llvm-ir.
This reverts commit dc26edd9b6602857b67f35c8d2f6fe4ed13c8137.
Commit: a266f60ddf41c903b59c4369d9a251a59eb74c80
https://github.com/llvm/llvm-project/commit/a266f60ddf41c903b59c4369d9a251a59eb74c80
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/test/CodeGen/AArch64/sve-bf16-converts.ll
M llvm/test/CodeGen/AArch64/sve2-bf16-converts.ll
M llvm/test/CodeGen/AMDGPU/combine_andor_with_cmps.ll
M llvm/test/CodeGen/AMDGPU/fmax3.ll
M llvm/test/CodeGen/AMDGPU/fmin3.ll
M llvm/test/CodeGen/PowerPC/scalar_cmp.ll
M llvm/test/CodeGen/RISCV/float-maximum-minimum.ll
M llvm/test/CodeGen/RISCV/half-maximum-minimum.ll
M llvm/test/CodeGen/X86/avx512fp16-fminimum-fmaximum.ll
M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
M llvm/test/CodeGen/X86/fminimumnum-fmaximumnum.ll
Log Message:
-----------
[SelectionDAG] Remove `NoNaNsFPMath` uses (#183448)
This pr removes the rest uses in LLVMCodeGen.
Commit: 432745f24d06e46e24cfdaeeed2eb2274e2d4cc9
https://github.com/llvm/llvm-project/commit/432745f24d06e46e24cfdaeeed2eb2274e2d4cc9
Author: Berke Ates <berke at ates.ch>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
M mlir/test/Dialect/LLVMIR/inlining.mlir
Log Message:
-----------
[MLIR][LLVMIR] Preserve byval alignment in memcpy after inlining (#185433)
This PR adds alignment attributes to the generated memcpy intrinsics
after inlining functions with byval arguments.
Commit: a682073ae7a49de4b95498ba01b9ea32e6b5f607
https://github.com/llvm/llvm-project/commit/a682073ae7a49de4b95498ba01b9ea32e6b5f607
Author: Aaron Smull <45045667+asmull at users.noreply.github.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
M llvm/test/CodeGen/X86/avx10_2minmax-intrinsics.ll
Log Message:
-----------
Fixing upper lane return source for X86 intrinsics (#185329)
Closes https://github.com/llvm/llvm-project/issues/184245
Commit: 3cd9ca39787d7eb380b24ac60b32e7f24bdbce1e
https://github.com/llvm/llvm-project/commit/3cd9ca39787d7eb380b24ac60b32e7f24bdbce1e
Author: mitchell <zeyi2 at nekoarch.cc>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang-tools-extra/clang-tidy/performance/FasterStringFindCheck.cpp
M clang-tools-extra/clang-tidy/performance/FasterStringFindCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/performance/faster-string-find.cpp
Log Message:
-----------
[clang-tidy] Fix false negatives in performance-faster-string-find with libstdc++ (#185559)
The check previously used a custom, heuristic-based matcher to avoid
matching inside uninstantiated generic templates. However, the matcher
caught the `SubstTemplateTypeParmType` from `libstdc++`, silencing valid
warnings.
This PR removes manual template filtering and uses
`TK_IgnoreUnlessSpelledInSource` instead.
As of AI Usage: Gemini 3 is used for pre-commit reviews.
Closes https://github.com/llvm/llvm-project/issues/182012
Commit: 8ec961e1a9185594ed3be384b4333911bec90ecb
https://github.com/llvm/llvm-project/commit/8ec961e1a9185594ed3be384b4333911bec90ecb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelAttributes.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/R600Subtarget.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/amdgpu-max-num-workgroups-load-annotate.ll
M llvm/test/CodeGen/AMDGPU/implicit-arg-block-count.ll
M llvm/test/CodeGen/AMDGPU/implicit-arg-v5-opt.ll
Log Message:
-----------
Reapply "AMDGPU: Annotate group size ABI loads with range metadata (#185420)" (#185588)
This reverts commit d5685ac6db0ae4cbca1745f18d8f2f7dc7d673a5.
Fix off by one error. The end of the range is open.
Commit: 2571b13d17fbaa086845b2bc86c2d0ddcc663ddc
https://github.com/llvm/llvm-project/commit/2571b13d17fbaa086845b2bc86c2d0ddcc663ddc
Author: Lang Hames <lhames at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
A llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraphOpReplay.h
M llvm/lib/ExecutionEngine/Orc/Core.cpp
A llvm/test/ExecutionEngine/JITLink/Generic/waiting-on-graph-capture-replay.test
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
M llvm/unittests/ExecutionEngine/Orc/WaitingOnGraphTest.cpp
Log Message:
-----------
[ORC] Add WaitingOnGraph record / replay facilities. (#185275)
WaitingOnGraph is critical to the performance of LLVM's JIT (see e.g.
https://github.com/llvm/llvm-project/issues/179611), and these facilities will
make it easier to capture and investigate test cases, and build a performance
regression suite.
WaitingOnGraph::OpRecorder provides an interface for classes that want to
capture the essential WaitingOnGraph operations: simplify-and-emit, and fail.
WaitingOnGraph::simplify and WaitingOnGraph::fail now take an optional
OpRecorder pointer.
WaitingOnGraphOpStreamRecorder (WaitingOnGraphOpReplay.h) is an OpRecorder
implementation that serializes operations to a line-oriented text format on a
raw_ostream. WaitingOnGraphOpReplay provides types and utilities for iterating
over and replaying recorded operations. readWaitingOnGraphOpsFromBuffer returns
an iterator range over the ops in a serialized buffer.
The new ExecutionSession::setWaitingOnGraphOpRecorder method can be used to
install a recorder to capture ops from OL_notifyEmitted and IL_failSymbols.
The llvm-jitlink tool gains two new options:
- -waiting-on-graph-capture <filename> records all WaitingOnGraph operations
during a regular llvm-jitlink invocation.
- -waiting-on-graph-replay <filename> replays the operations from a capture
file. In this mode other arguments are ignored.
Commit: fe04edc5a06c2a01cdcd5c56ba5622e2b96b7294
https://github.com/llvm/llvm-project/commit/fe04edc5a06c2a01cdcd5c56ba5622e2b96b7294
Author: A. Jiang <de34 at live.cn>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/include/deque
Log Message:
-----------
[libc++] Fix strict aliasing violation for `deque::const_iterator` (#136067)
When the allocators use fancy pointers, the internal map of `deque`
stores `FancyPtr<T>` objects, and the previous strategy accessed these
objects via `const FancyPtr<const T>` lvalues, which usually caused core
language undefined behavior. Now `const_iterator` stores `FancyPtr<const
FancyPtr<T>>` instead of `FancyPtr<const FancyPtr<const T>>`, and ABI
break can happen when such two types have incompatible layouts.
This is necessary for reducing undefined behavior and `constexpr`
support for `deque` in C++26, and I currently don't want to provide any
way to opt-out of that behavior.
For `iterator`, the current strategy makes it store
`FancyPtr<FancyPtr<T>>`. But it would make more sense to also store
`FancyPtr<const FancyPtr<T>>` because we never modify the map via
`iterator`.
For some pathological combinations of allocators and fancy pointers, the
rebinding trick doesn't work. These cases are rejected by
`static_assert`.
The existing test coverage seems to be sufficient.
Commit: c889454f1dd99f303e3802f03d026d5c9067e4d1
https://github.com/llvm/llvm-project/commit/c889454f1dd99f303e3802f03d026d5c9067e4d1
Author: Fangrui Song <i at maskray.me>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Passes/ReorderData.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M llvm/include/llvm/IR/DataLayout.h
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCContext.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/IR/Mangler.cpp
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAsmInfoELF.cpp
M llvm/lib/MC/MCAsmInfoGOFF.cpp
M llvm/lib/MC/MCAsmInfoWasm.cpp
M llvm/lib/MC/MCAsmInfoXCOFF.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.h
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
M llvm/lib/Target/BPF/MCTargetDesc/BPFMCAsmInfo.h
M llvm/lib/Target/CSKY/CSKYAsmPrinter.cpp
M llvm/lib/Target/Lanai/LanaiAsmPrinter.cpp
M llvm/lib/Target/Lanai/LanaiMCInstLower.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCAsmInfo.cpp
M llvm/lib/Target/M68k/M68kAsmPrinter.cpp
M llvm/lib/Target/M68k/M68kMCInstLower.cpp
M llvm/lib/Target/MSP430/MSP430MCInstLower.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCMachineFunctionInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
M llvm/lib/Target/TargetLoweringObjectFile.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Target/XCore/XCoreAsmPrinter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCAsmInfo.cpp
M llvm/lib/Target/Xtensa/XtensaAsmPrinter.cpp
M llvm/test/CodeGen/PowerPC/aix-xcoff-externL.ll
Log Message:
-----------
[MC] Rename PrivateGlobalPrefix to InternalSymbolPrefix. NFC (#185164)
The "private global" terminology, likely came from
llvm/lib/IR/Mangler.cpp, is misleading: "private" is the opposite of
"global", and these prefixed symbols are not global in the object file
format sense (e.g. ELF has STB_GLOBAL while these symbols are always
STB_LOCAL). The term "internal symbol" better describes their purpose:
symbols for internal use by compilers and assemblers, not meant to be
visible externally.
This rename is a step toward adopting the "internal symbol prefix"
terminology agreed with GNU as
(https://sourceware.org/pipermail/binutils/2026-March/148448.html).
Commit: 3a03764cc1c32ff6a5e1fcdffae5b9463966bdd5
https://github.com/llvm/llvm-project/commit/3a03764cc1c32ff6a5e1fcdffae5b9463966bdd5
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M libcxx/utils/ci/docker/docker-compose.yml
Log Message:
-----------
[libc++] Update the docker base image version (#185592)
This updates the base image version so we can update our compilers.
Commit: 1729480d243f1d33ca61cde046ad0bb5e6d75de1
https://github.com/llvm/llvm-project/commit/1729480d243f1d33ca61cde046ad0bb5e6d75de1
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__format/format_functions.h
M libcxx/include/__format/formatter_bool.h
A libcxx/include/__format/formatter_bool_impl.h
M libcxx/include/format
M libcxx/include/module.modulemap.in
M libcxx/include/vector
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/support/platform_support.h
Log Message:
-----------
[libc++] Reduce the amount of formatter code included in <vector> (#178683)
`formatter::parse` and `formatter::format` only have to accept
`basic_format_parse_context` and `basic_format_context` respectively,
which are only guaranteed to be provided via `<format>`. This allows us
to only declare the functions for `formatter<bool>` in `<vector>` and
define them if `<format>` is included. This reduces the amount of time
it takes to parse `<vector>` by ~15% on my system.
Commit: c1f3cb73a0da4294b7c745488a224f6b51fd408c
https://github.com/llvm/llvm-project/commit/c1f3cb73a0da4294b7c745488a224f6b51fd408c
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/test/Driver/print-enabled-extensions/riscv-sifive-p870.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/test/MC/RISCV/rvv/zvknh.s
M llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
Log Message:
-----------
[RISCV] Make zvknha a subset of zvknhb (#178680)
zvknha is a strict subset of zvknhb. Treat it as such.
Ref:
https://github.com/riscv/riscv-isa-manual/blob/main/src/vector-crypto.adoc#zvknh
Commit: 4a2fcce9f0dd67e7ac333ea7c01047bc5c981ae4
https://github.com/llvm/llvm-project/commit/4a2fcce9f0dd67e7ac333ea7c01047bc5c981ae4
Author: mitchell <zeyi2 at nekoarch.cc>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/utility
M clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/move-forwarding-reference.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unhandled-self-assignment.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.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/missing-std-forward-cxx23.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward.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/performance/for-range-copy.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/move-const-arg-const-ref.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/move-const-arg-trivially-copyable.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/move-const-arg.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/move-constructor-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/use-std-move.cpp
Log Message:
-----------
[clang-tidy][NFC] Use universal utility mock in testcases [1/N] (#185431)
Follow-up PR of #185210.
Only half of the affected test files are converted in this patch.
Commit: 733637fa27c40f4b9e5aa2c474f52a15a17efe20
https://github.com/llvm/llvm-project/commit/733637fa27c40f4b9e5aa2c474f52a15a17efe20
Author: David Spickett <david.spickett at arm.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M lldb/source/Commands/CommandObjectBreakpoint.cpp
M lldb/source/Commands/CommandObjectMemory.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
Log Message:
-----------
[lldb] Use AppendMessageWithFormatv instead of AppendMessageWithFormat (#185012)
When the message ends with a newline. ...WithFormatv adds a newline
automatically.
Note that the ":x" style is lower case hex with 0x prefix. (see
llvm/include/llvm/Support/FormatProviders.h)
This change does not change uses where multiple chunks are emitted to
one line, or the message has embedded newlines. I want to deal with
these more complex cases later.
This is round 3 of N doing this, converting a few files at a time.
Commit: f484b749ff0edf19e3a24ae6918c1a3f119d7cae
https://github.com/llvm/llvm-project/commit/f484b749ff0edf19e3a24ae6918c1a3f119d7cae
Author: Abhinav Pradeep <abhinav.pradeep at oracle.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Analysis/LifetimeSafety/Facts.cpp
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
A clang/test/Sema/warn-lifetime-safety-dangling-global.cpp
M clang/test/Sema/warn-lifetime-safety-noescape.cpp
Log Message:
-----------
[LifetimeSafety] Handle escape through assignment to global storage (#181646)
This PR allows for modelling escape of parameters to global storage, and
dangling global storage.
Change summary:
1. Created `GlobalEscapeFact` as a subclass of `OriginEscapesFact`
2. Emit a `GlobalEscapeFact` for all origins with global-storage that
remain live at function exit.
3. Integrated into warning reporting as necessary, introducing the
groups `-Wlifetime-safety-dangling-global` and
`-Wlifetime-safety-dangling-global-moved`
4. Wrote sema tests for escape to a variety of global storage locations.
Commit: 2eb69c602ffe5b1cef62d6057ef0316f136a9823
https://github.com/llvm/llvm-project/commit/2eb69c602ffe5b1cef62d6057ef0316f136a9823
Author: Lang Hames <lhames at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink.h
Log Message:
-----------
[ORC] Use std::move for Expected return value to fix bot error.
This should fix the bot error at
https://lab.llvm.org/buildbot/#/builders/140/builds/40237.
Commit: 15bcae5e3b5c8fb43259703a3f07bc6bbe024465
https://github.com/llvm/llvm-project/commit/15bcae5e3b5c8fb43259703a3f07bc6bbe024465
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M libcxx/test/benchmarks/algorithms/nonmodifying/search_n.bench.cpp
Log Message:
-----------
[libc++] Drop the unrepresentative search_n benchmark (#184783)
This benchmark isn't very good at benchmarking `search_n`, since a good
`search_n` implementation can go through it in ~10 perfectly predictable
steps. We can drop it to avoid spending unnecessary resources. This also
fixes that the two benchmark sets have identical names.
Fixes #183832
Commit: 10432286136f73039a098da155d90fbeb0c309bc
https://github.com/llvm/llvm-project/commit/10432286136f73039a098da155d90fbeb0c309bc
Author: Gergo Stomfai <stomfaig at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[IR] Add BooleanMap matcher (#184463)
Add matcher when the output value is logically controlled by an input
value.
See
https://github.com/llvm/llvm-project/pull/180596#discussion_r2804366023
Commit: 53d6945ad3bcff039d4a701d595402afadd590e8
https://github.com/llvm/llvm-project/commit/53d6945ad3bcff039d4a701d595402afadd590e8
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Specify semantics for non-byte-sized loads and stores (#180739)
LangRef currently specifies that non-byte-sized stores write an
unspecified bit pattern in the "padding", and that performing a
subsequent load with a different bitwidth is "undefined". This means
that storing an i1 value and then loading it as i8, the result is
"undefined" (whatever that is supposed to mean). These semantics are
quite unusual as they depend on the exact type a memory location has
been accessed with previously. I believe that frontends often do not
respect these semantics.
This PR proposes to instead specify that non-byte-sized loads
effectively act like like a byte sized `load` followed by `trunc nuw`,
and non-byte-sized stores act like a `zext` followed by a byte-sized
store. To the best of my knowledge, this matches the legalization
behavior of SDAG.
This does restrict possible codegen choices (e.g. a target couldn't
define these as `sext`/`trunc nsw` instead anymore), but it does not
appear that there is any interest in that in practice, given that SDAG
does not support it to this day.
Commit: 335084f4931f1915cfbfa7b916465d604f0d4675
https://github.com/llvm/llvm-project/commit/335084f4931f1915cfbfa7b916465d604f0d4675
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/VPlan/uncountable-early-exit-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-iv-transforms.ll
Log Message:
-----------
[VPlan] Add disable-output to tests using vplan-print-after. (#184586)
-disable-output is needed to make update scripts work properly.
PR: https://github.com/llvm/llvm-project/pull/184586
Commit: aba82e50a8143ac6a8bd7900fb04da8ac5a14ae2
https://github.com/llvm/llvm-project/commit/aba82e50a8143ac6a8bd7900fb04da8ac5a14ae2
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/include/clang/Index/USRGeneration.h
M clang/lib/Index/USRGeneration.cpp
Log Message:
-----------
[clang][Index][NFC] clang-format USRGeneration.{h,cpp} (#185601)
Split from #185499
Commit: 04abe44524ce960186cc337cae44edb000b63e4c
https://github.com/llvm/llvm-project/commit/04abe44524ce960186cc337cae44edb000b63e4c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/funnel-shift-i256.ll
Log Message:
-----------
[X86] Enable i256 fshl/fshr lowering on avx512 targets (#185455)
If freely foldable to vector, concat the i256 halves as v4i64 -> v8i64 and use the existing i512 shift lowering
Part of #184828
Commit: 73a05f6e45f43f734d875827e01a2dd05add22e5
https://github.com/llvm/llvm-project/commit/73a05f6e45f43f734d875827e01a2dd05add22e5
Author: Lang Hames <lhames at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/Generic/waiting-on-graph-capture-replay.test
Log Message:
-----------
[ORC] Disable waiting-on-graph-capture-replay.test on Windows/AArch64.
JITLink doesn't support Windows / AArch64 yet.
Commit: 111bafff9bede0f3a0bdfcef165e259c259588d7
https://github.com/llvm/llvm-project/commit/111bafff9bede0f3a0bdfcef165e259c259588d7
Author: Sairudra More <sairudra60 at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/include/clang/Options/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
A flang-rt/include/flang-rt/runtime/trampoline.h
M flang-rt/lib/runtime/CMakeLists.txt
A flang-rt/lib/runtime/trampoline.cpp
A flang-rt/test/Driver/safe-trampoline-gnustack.f90
M flang/docs/RuntimeEnvironment.md
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
A flang/include/flang/Optimizer/Builder/Runtime/Trampoline.h
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/Passes/CommandLineOpts.h
M flang/include/flang/Optimizer/Passes/Pipelines.h
A flang/include/flang/Runtime/trampoline.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Optimizer/Builder/CMakeLists.txt
A flang/lib/Optimizer/Builder/Runtime/Trampoline.cpp
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/lib/Optimizer/Passes/CommandLineOpts.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
A flang/test/Driver/fsafe-trampoline.f90
A flang/test/Fir/boxproc-safe-trampoline.fir
A flang/test/Lower/safe-trampoline.f90
Log Message:
-----------
[flang] Add runtime trampoline pool for W^X compliance (#183108)
Flang currently lowers internal procedures passed as actual arguments
using LLVM's `llvm.init.trampoline` / `llvm.adjust.trampoline`
intrinsics, which require an executable stack. On modern Linux
toolchains and security-hardened kernels that enforce W^X (Write XOR
Execute), this causes link-time failures (`ld.lld: error: ... requires
an executable stack`) or runtime `SEGV` from NX violations.
This patch introduces a runtime trampoline pool that allocates
trampolines from a dedicated `mmap`'d region instead of the stack. The
pool toggles page permissions between writable (for patching) and
executable (for dispatch), so the stack stays non-executable throughout.
On macOS, MAP_JIT and `pthread_jit_write_protect_np` are used for the
same effect. An i-cache flush (`__builtin___clear_cache` on Linux,
`sys_icache_invalidate` on macOS) is performed after each write→exec
transition.
The feature is gated behind a new driver flag, `-fsafe-trampoline` (off
by default), which threads through the frontend into the
`BoxedProcedurePass`. When enabled, the pass emits calls to
`_FortranATrampolineInit`, `_FortranATrampolineAdjust`, and
`_FortranATrampolineFree` instead of the legacy intrinsics. The legacy
path is completely untouched when the flag is off.
The pool is a singleton with a fixed capacity (default 1024 slots,
overridable via `FLANG_TRAMPOLINE_POOL_SIZE`). Slot size varies by
target (32 bytes on x86-64/AArch64, 48 on PPC64, 64 fallback). Each slot
holds a small architecture-specific stub, currently x86-64 (17 bytes,
using `r10` as the nest/static-chain register) and AArch64 (24 bytes,
using `x15`). The implementation compiles on all architectures but will
crash at runtime with a clear diagnostic if trampoline emission is
actually attempted on an unsupported target. This avoids breaking the
flang-rt build on e.g. RISC-V or PPC64.
Freed slots are poisoned (the callee pointer is overwritten with a
sentinel) and recycled into a freelist, so the pool can sustain
long-running programs that repeatedly create and destroy closures.
A few design choices worth calling out:
The runtime avoids all C++ runtime dependencies, no `std::mutex`, no
`operator new`, no function-local statics with hidden guard variables.
Locking is via flang-rt's own `Lock` / `CriticalSection`, memory is via
`AllocateMemoryOrCrash` / `FreeMemory`, and the singleton uses explicit
double-checked locking with a raw pointer. This was done so the
trampoline pool links cleanly in minimal / freestanding flang-rt
configurations.
`_FortranATrampolineFree` calls are inserted immediately before every
`func.return` in the enclosing host function. This is a conservative but
correct strategy. The trampoline handle cannot outlive the host's stack
frame since the closure captures the host's local variables by
reference.
The GNU_STACK note is verified via a dedicated integration test
(`safe-trampoline-gnustack.f90`) that compiles and links a Fortran
program using the runtime path, then inspects the ELF with
`llvm-readelf` to confirm the stack segment is `RW` (not `RWE`).
**Test coverage:**
- `flang/test/Driver/fsafe-trampoline.f90` — flag forwarding (on, off,
default)
- `flang/test/Fir/boxproc-safe-trampoline.fir` — FIR-level FileCheck for
emitted runtime calls
- `flang/test/Lower/safe-trampoline.f90` — end-to-end lowering
- `flang-rt/test/Driver/safe-trampoline-gnustack.f90` — GNU_STACK ELF
verification
Closes #182813
Co-authored-by: Sairudra More <moresair at pe31.hpc.amslabs.hpecorp.net>
Commit: 5e4f1e7b489e142e5d3d259b9a63138920860d5e
https://github.com/llvm/llvm-project/commit/5e4f1e7b489e142e5d3d259b9a63138920860d5e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
A llvm/test/CodeGen/X86/funnel-shift-i128.ll
Log Message:
-----------
[X86] Add i128 funnel shift coverage to match i256/i512 tests (#185612)
Commit: 65cb738ff41995a06f18b6143d515af5e7653bfb
https://github.com/llvm/llvm-project/commit/65cb738ff41995a06f18b6143d515af5e7653bfb
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang-tools-extra/clang-doc/CMakeLists.txt
M clang-tools-extra/clang-doc/Mapper.cpp
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/CMakeLists.txt
M clang-tools-extra/clangd/ExpectedTypes.cpp
M clang-tools-extra/clangd/XRefs.cpp
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
R clang/include/clang/Index/USRGeneration.h
A clang/include/clang/UnifiedSymbolResolution/USRGeneration.h
M clang/lib/Analysis/Scalable/ASTEntityMapping.cpp
M clang/lib/Analysis/Scalable/CMakeLists.txt
M clang/lib/CMakeLists.txt
M clang/lib/CrossTU/CMakeLists.txt
M clang/lib/CrossTU/CrossTranslationUnit.cpp
M clang/lib/ExtractAPI/CMakeLists.txt
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
M clang/lib/ExtractAPI/TypedefUnderlyingTypeResolver.cpp
M clang/lib/Index/CMakeLists.txt
M clang/lib/Index/CommentToXML.cpp
R clang/lib/Index/USRGeneration.cpp
M clang/lib/StaticAnalyzer/Core/CMakeLists.txt
M clang/lib/StaticAnalyzer/Core/EntryPointStats.cpp
M clang/lib/Tooling/Refactoring/CMakeLists.txt
M clang/lib/Tooling/Refactoring/Rename/USRFinder.cpp
A clang/lib/UnifiedSymbolResolution/CMakeLists.txt
A clang/lib/UnifiedSymbolResolution/USRGeneration.cpp
M clang/tools/c-index-test/CMakeLists.txt
M clang/tools/c-index-test/core_main.cpp
M clang/tools/libclang/CIndexUSRs.cpp
M clang/tools/libclang/CMakeLists.txt
M clang/tools/libclang/CXExtractAPI.cpp
M clang/unittests/Analysis/Scalable/CMakeLists.txt
Log Message:
-----------
[clang][Index][NFC] Carve out USRGeneration from clangIndex (#185499)
Previously, USRGeneration was implemented by clangIndex. However, that
poses too broad library layering constraints on the ever growing set of
users of a tiny component of it, USRGeneration.
This PR splits that into a small library, called:
clangUnifiedSymbolResolution
Anyone needing USRGeneration could simply link against this without
pulling in everything from clangIndex.
---
Importantly, clangIndex linked against clangFrontend to define its
FrontendAction, and use some ASTUnit APIs. Some users may want to use
USRGeneration but NOT depend on clangFrontend. This new
clangUnifiedSymbolResolution library would solve such circular
dependencies.
PS: There were quite a few cases where libraries could just link against
clangUnifiedSymbolResolution without linking to clangIndex. I've
simplified those cases in this PR, to keep link deps minimal.
Commit: 7ce634ac0451e367e0c465ff7a05a68a14c5ad98
https://github.com/llvm/llvm-project/commit/7ce634ac0451e367e0c465ff7a05a68a14c5ad98
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/lib/Sema/SemaARM.cpp
M clang/test/Sema/attr-arm-sve-vector-bits.c
Log Message:
-----------
[clang][AArch64] Do not allow implict conversion from SveFixedLengthData to svbool_t (#185434)
This is diverges from GCC and breaks overload resolution for some SVE
builtins. For example, calling `svsel` is ambiguous on Clang (not GCC):
```c
using fixed_bool = svbool_t __attribute__((arm_sve_vector_bits(128)));
using fixed_u8 = svuint8_t __attribute__((arm_sve_vector_bits(128)));
fixed_u8 test(fixed_bool pred, fixed_u8 a, fixed_u8 b) {
// error: call to 'svsel' is ambiguous
// note: candidate function: svbool_t svsel(svbool_t, svbool_t, svbool_t);
// note: candidate function: svuint8_t svsel(svbool_t, svuint8_t, svuint8_t);
return svsel(pred, a, b);
}
```
See: https://godbolt.org/z/o3r9d5fW4
Commit: 320e025b596598c93c4c2bceec6e9e2ff307bcd5
https://github.com/llvm/llvm-project/commit/320e025b596598c93c4c2bceec6e9e2ff307bcd5
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
Log Message:
-----------
[lldb] Add GetPointerDiffType to TypeSystemClang (#185314)
Commit: 19a5a3536e7ac32153f845921af33fcf9c05ccce
https://github.com/llvm/llvm-project/commit/19a5a3536e7ac32153f845921af33fcf9c05ccce
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.h
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_inline_assembly/inline_asm_target_constraints.ll
Log Message:
-----------
[SPIR-V] Add overload of getConstraintType for inline asm lowering (#185422)
Without the overload constrain lowering would go with a default path
which would later result in a crash in case if for example AMDGPU asm is
inlined (for example v_ would be Unknown).
Overload sets ConstraintType to be always RegClass for SPIR-V.
Commit: 2bbdeeef7c7a20c3b8cfbecdd0fdf307ddc40935
https://github.com/llvm/llvm-project/commit/2bbdeeef7c7a20c3b8cfbecdd0fdf307ddc40935
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M lldb/unittests/Platform/PlatformDarwinTest.cpp
Log Message:
-----------
[lldb][test] PlatformDarwinTest.cpp: clean up directories in TearDown
This wasn't causing any failures I'm aware of but for test hygenie remove all the temporary directories we create.
Commit: 278dba37d0acb40984ea1970288108c70ff11164
https://github.com/llvm/llvm-project/commit/278dba37d0acb40984ea1970288108c70ff11164
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.exp2.ll
Log Message:
-----------
AMDGPU: Fix dead checks in test (#185613)
Commit: 9b5996eaae70e70441f150db7b0b241f42a8a9b3
https://github.com/llvm/llvm-project/commit/9b5996eaae70e70441f150db7b0b241f42a8a9b3
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M libclc/CMakeLists.txt
R libclc/clc/lib/amdgcn/CMakeLists.txt
R libclc/clc/lib/amdgcn/address_space/qualifier.cl
R libclc/clc/lib/amdgcn/math/clc_ldexp.cl
R libclc/clc/lib/amdgcn/mem_fence/clc_mem_fence.cl
R libclc/clc/lib/amdgcn/subgroup/sub_group_broadcast.cl
R libclc/clc/lib/amdgcn/subgroup/sub_group_reduce.cl
R libclc/clc/lib/amdgcn/subgroup/subgroup.cl
R libclc/clc/lib/amdgcn/synchronization/clc_sub_group_barrier.cl
R libclc/clc/lib/amdgcn/synchronization/clc_work_group_barrier.cl
R libclc/clc/lib/amdgcn/workitem/clc_get_enqueued_local_size.cl
R libclc/clc/lib/amdgcn/workitem/clc_get_global_offset.cl
R libclc/clc/lib/amdgcn/workitem/clc_get_global_size.cl
R libclc/clc/lib/amdgcn/workitem/clc_get_group_id.cl
R libclc/clc/lib/amdgcn/workitem/clc_get_local_id.cl
R libclc/clc/lib/amdgcn/workitem/clc_get_local_size.cl
R libclc/clc/lib/amdgcn/workitem/clc_get_max_sub_group_size.cl
R libclc/clc/lib/amdgcn/workitem/clc_get_num_groups.cl
R libclc/clc/lib/amdgcn/workitem/clc_get_num_sub_groups.cl
R libclc/clc/lib/amdgcn/workitem/clc_get_sub_group_id.cl
R libclc/clc/lib/amdgcn/workitem/clc_get_sub_group_size.cl
R libclc/clc/lib/amdgcn/workitem/clc_get_work_dim.cl
M libclc/clc/lib/amdgpu/CMakeLists.txt
A libclc/clc/lib/amdgpu/address_space/qualifier.cl
A libclc/clc/lib/amdgpu/math/clc_ldexp.cl
A libclc/clc/lib/amdgpu/mem_fence/clc_mem_fence.cl
A libclc/clc/lib/amdgpu/subgroup/sub_group_broadcast.cl
A libclc/clc/lib/amdgpu/subgroup/sub_group_reduce.cl
A libclc/clc/lib/amdgpu/subgroup/subgroup.cl
A libclc/clc/lib/amdgpu/synchronization/clc_sub_group_barrier.cl
A libclc/clc/lib/amdgpu/synchronization/clc_work_group_barrier.cl
A libclc/clc/lib/amdgpu/workitem/clc_get_enqueued_local_size.cl
A libclc/clc/lib/amdgpu/workitem/clc_get_global_offset.cl
A libclc/clc/lib/amdgpu/workitem/clc_get_global_size.cl
A libclc/clc/lib/amdgpu/workitem/clc_get_group_id.cl
A libclc/clc/lib/amdgpu/workitem/clc_get_local_id.cl
A libclc/clc/lib/amdgpu/workitem/clc_get_local_size.cl
A libclc/clc/lib/amdgpu/workitem/clc_get_max_sub_group_size.cl
A libclc/clc/lib/amdgpu/workitem/clc_get_num_groups.cl
A libclc/clc/lib/amdgpu/workitem/clc_get_num_sub_groups.cl
A libclc/clc/lib/amdgpu/workitem/clc_get_sub_group_id.cl
A libclc/clc/lib/amdgpu/workitem/clc_get_sub_group_size.cl
A libclc/clc/lib/amdgpu/workitem/clc_get_work_dim.cl
R libclc/opencl/lib/amdgcn/CMakeLists.txt
R libclc/opencl/lib/amdgcn/async/wait_group_events.cl
R libclc/opencl/lib/amdgcn/printf/__printf_alloc.cl
A libclc/opencl/lib/amdgpu/CMakeLists.txt
A libclc/opencl/lib/amdgpu/async/wait_group_events.cl
A libclc/opencl/lib/amdgpu/printf/__printf_alloc.cl
Log Message:
-----------
libclc: Merge amdgpu and amdgcn directories (#185619)
Now that r600 is no longer in the build there is no reason to
keep this split. Consolidate on the amdgpu name.
Commit: b68dcf93b4a84d79dc29056cd8a557418bd0001f
https://github.com/llvm/llvm-project/commit/b68dcf93b4a84d79dc29056cd8a557418bd0001f
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
Log Message:
-----------
[Clang][AArch64] Clarify and simplify SISD intrinsic handling (NFC) (#185285)
Not all AArch64 intrinsics categorized as SISD (Single Instruction
Single Data) are truly SISD. Add comments clarifying this distinction.
Also update EmitCommonNeonSISDBuiltinExpr:
* Move the assert to the top of the function and add a descriptive
message to make the assumptions explicit.
* Remove unnecessary temporary variables (e.g. BuiltinID) and use
SISDInfo directly.
No functional changes intended.
Commit: 859b5d46f84a6644d8cf64b92128c15db49642c0
https://github.com/llvm/llvm-project/commit/859b5d46f84a6644d8cf64b92128c15db49642c0
Author: TPPPP <TPPPP72 at outlook.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/RawCommentList.cpp
A clang/test/Sema/gh182737.c
Log Message:
-----------
[clang] Fix crash when @param is attached to invalid nodes (#183274)
To address the issue of clang frontend crashes caused by @param
annotations being attached to unavailable nodes, I modified
RawComment::parse, adding a Decl check to prevent illegal data from
entering ParamVars.
Fixed #182737
Commit: 9b1aadd23324dd163541aa9c452ed700b699dd65
https://github.com/llvm/llvm-project/commit/9b1aadd23324dd163541aa9c452ed700b699dd65
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M libclc/clc/lib/amdgpu/CMakeLists.txt
R libclc/clc/lib/amdgpu/math/clc_sqrt.cl
Log Message:
-----------
libclc: Remove amdgpu sqrt override (#185620)
The generic intrinsic should be used. A very long time ago
the sqrt intrinsic did not work for f64, but it's implemented
essentially the same way as this.
Commit: 1aac34a1b7cbfa2970184771eefb105e7d0aead1
https://github.com/llvm/llvm-project/commit/1aac34a1b7cbfa2970184771eefb105e7d0aead1
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
Log Message:
-----------
[lldb][PlatformDarwin][NFC] Use formatv-style format string in LocateExecutableScriptingResourcesFromDSYM (#185622)
About to make changes in this area and using `formatv` instead of
`printf` style format specifiers makes those easier to follow.
Commit: 19398ad4cbf02868306a48db82ea1b0a7c69bbc3
https://github.com/llvm/llvm-project/commit/19398ad4cbf02868306a48db82ea1b0a7c69bbc3
Author: Samrudh Nelli <samrudhnelli at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/test/Sema/constexpr.c
Log Message:
-----------
[Clang] Add additional tests for constexpr initialization (#181965)
Add constexpr initialization tests for 0.0f, 0e0, 0x0p0.
Commit: ca5bc14df1310bf92e4286a69df3a80065f0663a
https://github.com/llvm/llvm-project/commit/ca5bc14df1310bf92e4286a69df3a80065f0663a
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
Log Message:
-----------
Revert "[AMDGPU] Enable scheduler mfma rewrite stage by default" (#185604)
Reverts llvm/llvm-project#180751
Enabling this pass by default breaks a few tests / use cases downstream.
@frederik-h was also looking into the actual implementation of the pass.
For now: Just revert that pass to be on-by-default.
Also fix a typo in the process.
---------
Co-authored-by: Jay Foad <jay.foad at amd.com>
Commit: c61f2be5c4b21d6a0f1af713f96a01df5975166b
https://github.com/llvm/llvm-project/commit/c61f2be5c4b21d6a0f1af713f96a01df5975166b
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/include/llvm/Analysis/DependenceAnalysis.h
M llvm/lib/Analysis/DependenceAnalysis.cpp
Log Message:
-----------
[DA] Remove outdated comments (NFC) (#185621)
Recently, the consistent flag and the peeling flags were removed from
the `Dependence` class (#181608, #183737). However, the related comments
were not deleted accordingly. This patch cleans them up.
Commit: 122f0b13a237b5024747b4ee99002590cc9a220a
https://github.com/llvm/llvm-project/commit/122f0b13a237b5024747b4ee99002590cc9a220a
Author: Lang Hames <lhames at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraphOpReplay.h
Log Message:
-----------
[ORC] Use std::move for Expected return value to fix bot error.
This should fix the bot error at
https://lab.llvm.org/buildbot/#/builders/140/builds/40247
Commit: d5ed2cc53ac79e9f5dee6b5cbfd756be3645d550
https://github.com/llvm/llvm-project/commit/d5ed2cc53ac79e9f5dee6b5cbfd756be3645d550
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M libclc/clc/lib/amdgpu/CMakeLists.txt
A libclc/clc/lib/amdgpu/math/clc_exp.cl
A libclc/clc/lib/amdgpu/math/clc_exp10.cl
A libclc/clc/lib/amdgpu/math/clc_exp2.cl
Log Message:
-----------
libclc: Use elementwise exp for exp functions (#185626)
For amdgpu use the exp intrinisc. Really, this should be
the default generic implementation. But we're stuck in a
mess where essentially nothing works. All of the exp
intrinsics work for AMDGPU, but aren't really implemented
for spirv or nvptx. Ideally the intrinsic and/or libm call
would be the default implementation.
Commit: 2e5e38cd5ed3e4b894b63e8af10c9be9abdbf7d9
https://github.com/llvm/llvm-project/commit/2e5e38cd5ed3e4b894b63e8af10c9be9abdbf7d9
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/always-uniform-gmir.mir
M llvm/test/MachineVerifier/AMDGPU/verifier-ec-subreg-liveness.mir
Log Message:
-----------
[AMDGPU] Update register class numbers in some tests (#185623)
Commit: 57c1fe926451ddd5d7b2c089a71692cb36a6fb39
https://github.com/llvm/llvm-project/commit/57c1fe926451ddd5d7b2c089a71692cb36a6fb39
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M lldb/unittests/Platform/PlatformDarwinTest.cpp
Log Message:
-----------
[lldb][test] PlatformDarwinTest.cpp: add more test-cases for script name sanitization
Adds more test-cases since I'm making changes around this area (see https://github.com/llvm/llvm-project/pull/185627).
Commit: c79a058a6a299f9300015482c5c168bbe12a8235
https://github.com/llvm/llvm-project/commit/c79a058a6a299f9300015482c5c168bbe12a8235
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-group-requires-scalar-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-derived-ivs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-scalable.ll
M llvm/test/Transforms/LoopVectorize/RISCV/transform-narrow-interleave-to-widen-memory.ll
A llvm/test/Transforms/LoopVectorize/X86/transform-narrow-interleave-to-widen-memory-epilogue-vec.ll
M llvm/test/Transforms/LoopVectorize/X86/transform-narrow-interleave-to-widen-memory-live-outs.ll
M llvm/test/Transforms/LoopVectorize/X86/transform-narrow-interleave-to-widen-memory.ll
Log Message:
-----------
[VPlan] Materialize VectorTripCount in narrowInterleaveGroups. (#182146)
When narrowInterleaveGroups transforms a plan, VF and VFxUF are
materialized (replaced with concrete values). This patch also
materializes the VectorTripCount in the same transform.
This ensures that VectorTripCount is properly computed when the narrow
interleave transform is applied, instead of using the original VF
+ UF to compute the vector trip count. The previous behavior generated
correct code, but executed fewer iterations in the vector loop.
The change also enables stricter verification prevent accesses of UF,
VF, VFxUF etc after materialization as follow-up.
Note that in some cases we no miss branch folding, but that should be
addressed separately, https://github.com/llvm/llvm-project/pull/181252
Fixes one of the violations accessing a VectorTripCount after UF and VF
being materialized
PR: https://github.com/llvm/llvm-project/pull/182146
Commit: 3bc1de16a5aaf29b775272696c0a5abbab1c8491
https://github.com/llvm/llvm-project/commit/3bc1de16a5aaf29b775272696c0a5abbab1c8491
Author: Lei Huang <lei at ca.ibm.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCOperands.td
M llvm/lib/Target/PowerPC/PPCRegisterInfo.td
Log Message:
-----------
[PowerPC][NFC] Clean up code in RegisterInfo.td (#185520)
Just some cleanup work. Moving non register related operands to
PPCOperands.td and PatLeaf def to PPCInstrInfo.td.
Commit: 35aa3d1215b8818476d6632de7a7e56064c9faf9
https://github.com/llvm/llvm-project/commit/35aa3d1215b8818476d6632de7a7e56064c9faf9
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
A clang/include/clang/Analysis/Scalable/Frontend/TUSummaryExtractorFrontendAction.h
A clang/include/clang/Analysis/Scalable/SSAFBuiltinForceLinker.h
A clang/include/clang/Analysis/Scalable/SSAFForceLinker.h
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormatRegistry.h
M clang/include/clang/Analysis/Scalable/TUSummary/ExtractorRegistry.h
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/Options/Options.td
M clang/lib/Analysis/Scalable/CMakeLists.txt
A clang/lib/Analysis/Scalable/Frontend/TUSummaryExtractorFrontendAction.cpp
M clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/FrontendTool/CMakeLists.txt
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
A clang/test/Analysis/SSAF/command-line-interface.cpp
A clang/test/Analysis/SSAF/downgradable-errors.cpp
A clang/test/Analysis/SSAF/help.cpp
M clang/tools/ssaf-linker/SSAFLinker.cpp
M clang/unittests/Analysis/Scalable/CMakeLists.txt
A clang/unittests/Analysis/Scalable/Frontend/TUSummaryExtractorFrontendActionTest.cpp
M clang/unittests/Analysis/Scalable/Registries/FancyAnalysisData.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSummaryExtractor1.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSummaryExtractor2.cpp
M clang/unittests/Analysis/Scalable/Registries/SummaryExtractorRegistryTest.cpp
A clang/unittests/Analysis/Scalable/SSAFBuiltinTestForceLinker.h
A clang/unittests/Analysis/Scalable/SSAFTestForceLinker.h
M clang/unittests/Analysis/Scalable/TestFixture.cpp
Log Message:
-----------
Reapply "Reapply "[clang][ssaf] Add --ssaf-extract-summaries= and --ssaf-tu-summary-file= options"" (#185616)
This reverts commit 9a1c63230b8ad3f19cb624f0d283f7df10957ab7.
1st attempt: #184421
2nd attempt: #185414
Third time the charm!
rdar://172173836
Commit: 90e5a1ef7455be1e3c3bcab177519184e82f5f83
https://github.com/llvm/llvm-project/commit/90e5a1ef7455be1e3c3bcab177519184e82f5f83
Author: Wenju He <wenju.he at intel.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc][CMake] Append target_name to external-funcs test target name (#185639)
Avoid name conflicts when multiple libararies use the same target
triple.
Commit: 282692454371e46fdea7af3eed435757019a085e
https://github.com/llvm/llvm-project/commit/282692454371e46fdea7af3eed435757019a085e
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon/fullfp16.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
M clang/test/CodeGen/AArch64/v8.2a-fp16-intrinsics.c
Log Message:
-----------
[CIR][AArch64] Add support for the remaining `vceqz` builtins (#185440)
Implement the remaining CIR lowerings for the AdvSIMD (Neon)
`vceqz` intrinsic group (bitwise equal to zero).
Most variants of `vceqz` variant were already supported; this patch
completes the rest of the group [1] that was left as a TODO.
Tests for these intrinsics are moved from:
* test/CodeGen/AArch64/neon_intrinsics.c
* test/CodeGen/AArch64/v8.2a-fp16-intrinsics.c
to:
* test/CodeGen/AArch64/neon/intrinsics.c
* test/CodeGen/AArch64/neon/fullfp16,
respectively.
The implementation largely mirrors the existing lowering in
CodeGen/TargetBuiltins/ARM.cpp.
Reference:
[1] https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#bitwise-equal-to-zero
Commit: cd3cab70fd8d7f4a77ca0328b21ca5f25c30dbab
https://github.com/llvm/llvm-project/commit/cd3cab70fd8d7f4a77ca0328b21ca5f25c30dbab
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/cli-tile.mlir
M mlir/test/Dialect/OpenMP/invalid-tile.mlir
A mlir/test/Target/LLVMIR/openmp-cli-tile03.mlir
Log Message:
-----------
[mlir][OpenMP] Allow tile composition (#185380)
The verifier of the TileOp did not allow composition of multiple
transformations out of precaution. However, composition works, therefore
remove the "currently only supports omp.canonical_loop as applyee" check
and add regression tests.
Commit: 309b7d0f47d4f2c3e3c7c8ab68edaa88ad92ad04
https://github.com/llvm/llvm-project/commit/309b7d0f47d4f2c3e3c7c8ab68edaa88ad92ad04
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/SimplifySubscriptExprCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-subscript-expr.cpp
Log Message:
-----------
[clang-tidy] Fix false negative in `readability-simplify-subscript-expr` when subscripting substituted types (#185570)
This check's bespoke method of avoiding matching
in template instantations is overeager. This commit
changes it to just rely on IgnoreUnlessSpelledInSource
traversal instead. This is the same problem
as in #185559.
Commit: aab3dfa434a1c15629fb5ca24e5d2fb47c6559a2
https://github.com/llvm/llvm-project/commit/aab3dfa434a1c15629fb5ca24e5d2fb47c6559a2
Author: sweiglbosker <stefan at s00.xyz>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M mlir/include/mlir/Interfaces/FunctionInterfaces.td
M mlir/test/Conversion/FuncToLLVM/convert-funcs.mlir
Log Message:
-----------
[MLIR][Func] Return nullptr for empty ResultAttrs (#185219)
Fixes #185156
When an empty res_attrs is passed manually, we should still return
nullptr to indicate that no results have attributes.
Commit: aca06396f9dfe26555acf4960ffeb23d8108f614
https://github.com/llvm/llvm-project/commit/aca06396f9dfe26555acf4960ffeb23d8108f614
Author: Lang Hames <lhames at gmail.com>
Date: 2026-03-11 (Wed, 11 Mar 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraphOpReplay.h
Log Message:
-----------
[ORC] Flush streams in WaitingOnGraphOpStreamRecorder record ops.
Allows us to get useful recordings out of JIT sessions that crash, or are kept
alive indefinitely. (Note that an 'end' operation will have to be appended to
the output in these cases).
Commit: 1299c87f48b9e580ac28a42ae2a6970130cea855
https://github.com/llvm/llvm-project/commit/1299c87f48b9e580ac28a42ae2a6970130cea855
Author: Serosh <janmejayapanda400 at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
A clang/test/SemaCXX/gh185270.cpp
Log Message:
-----------
fix gh185270 consteval crash (#185511)
replace `cast<VarDecl>` with `dyn_cast_or_null<VarDecl>` in
`HandleImmediateInvocations` to avoid the crash when
`ManglingContextDecl` is a `FunctionDecl` instead of a `VarDecl`.
fixes #185270
Commit: 4b20c746b24a797e5ee9ac6270c53d89d80c3efd
https://github.com/llvm/llvm-project/commit/4b20c746b24a797e5ee9ac6270c53d89d80c3efd
Author: Joachim Meyer <5982050+fodinabor at users.noreply.github.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/lib/Headers/__clang_cuda_math_forward_declares.h
Log Message:
-----------
[CUDA][Win32] Add `fma(long double,..)` to math forward declares. (#73756)
As per https://github.com/AdaptiveCpp/AdaptiveCpp/issues/1256 - we are
missing the `fma` long double variant for Cpp20 compat with MS-STL.
Commit: e1fcdc455fc43e6df1ad09d290d1c6155fde3260
https://github.com/llvm/llvm-project/commit/e1fcdc455fc43e6df1ad09d290d1c6155fde3260
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M libcxx/utils/ci/images/libcxx_next_runners.txt
Log Message:
-----------
[libc++] Update the libcxx-next-runners to use the new docker image (#185603)
Commit: 7b7ff905f4a1750032bd20945c452c1303fe6e5f
https://github.com/llvm/llvm-project/commit/7b7ff905f4a1750032bd20945c452c1303fe6e5f
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-doc/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[Bazel] Port 65cb738ff41995a06f18b6143d515af5e7653bfb
Commit: afedb030d6c6bfbeec3defeb257ebf94a75af77f
https://github.com/llvm/llvm-project/commit/afedb030d6c6bfbeec3defeb257ebf94a75af77f
Author: Steven Perron <stevenperron at google.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaType.cpp
A clang/test/ParserHLSL/hlsl_resource_dimension_attr.hlsl
A clang/test/ParserHLSL/hlsl_resource_dimension_attr_error.hlsl
Log Message:
-----------
[HLSL] Add parsing for the resource dimension attribute. (#185039)
The resource attribute was added, but the code to be able to parse it
as we do with other resource attributes was missing. This means we are
not able to test the attribute in isolation.
This change adds the parsing for the attribute, and adds more testing
for it.
Assisted-by: Gemini
<!-- branch-stack-start -->
-------------------------
- main
- https://github.com/llvm/llvm-project/pull/185039 :point_left:
<sup>[Stack](https://www.git-town.com/how-to/proposal-breadcrumb.html)
generated by [Git Town](https://github.com/git-town/git-town)</sup>
<!-- branch-stack-end -->
Commit: 1813603933d19111e5310c5302b76be4de06dcab
https://github.com/llvm/llvm-project/commit/1813603933d19111e5310c5302b76be4de06dcab
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerVGPREncoding.cpp
A llvm/test/CodeGen/AMDGPU/hazard-setreg-vgpr-msb-gfx1250.mir
A llvm/test/CodeGen/AMDGPU/vcmpx-permlane-vgpr-msb-gfx1250.mir
M llvm/test/CodeGen/AMDGPU/vgpr-setreg-mode-swar.mir
Log Message:
-----------
[AMDGPU] Fix GFX1250 hazard: S_SET_VGPR_MSB dropped (#184904)
[AMDGPU] Fix GFX1250 hazard: S_SET_VGPR_MSB dropped after
S_SETREG_IMM32_B32 (MODE)
On GFX1250, S_SET_VGPR_MSB immediately after S_SETREG_IMM32_B32
targeting
the MODE register is silently dropped by hardware.
AMDGPULowerVGPREncoding may insert S_SET_VGPR_MSB after a setreg(MODE)
in
Case 2 (size > 12) when imm32[12:19] doesn't match current VGPR MSBs, or
when the next VALU instruction needs different MSBs. Fix by inserting
S_NOP
between the setreg and S_SET_VGPR_MSB to prevent the hazard.
The fix handles two scenarios:
- Case 2 mismatch: S_NOP is inserted directly before S_SET_VGPR_MSB in
handleSetregMode.
- Case 2 match followed by a VALU with different MSBs: a flag
(NeedNopBeforeSetVGPRMSB) is set, and setMode inserts S_NOP before the
next S_SET_VGPR_MSB.
Also adds vcmpx-permlane-vgpr-msb-gfx1250.mir to verify that VGPR
lowering
must run after the hazard recognizer: fixVcmpxPermlaneHazards creates
V_MOV_B32 using high VGPRs that need correct S_SET_VGPR_MSB from the
lowering pass.
Commit: 47ac4a06a85170a5db936c3dfc4d9881d630f940
https://github.com/llvm/llvm-project/commit/47ac4a06a85170a5db936c3dfc4d9881d630f940
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
Log Message:
-----------
[TableGen] Fix inferring missing sub-classes for various subreg indices (#185638)
We should not imply artificial registers have sub-registers for a given
index even if the class is known to 'fully support' that index.
Fixes crashes reported in
https://github.com/llvm/llvm-project/pull/183371#discussion_r2905495313
Commit: 3548ec95178c00a2895a65b435945ce318396c8e
https://github.com/llvm/llvm-project/commit/3548ec95178c00a2895a65b435945ce318396c8e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
R clang/include/clang/Analysis/Scalable/Frontend/TUSummaryExtractorFrontendAction.h
R clang/include/clang/Analysis/Scalable/SSAFBuiltinForceLinker.h
R clang/include/clang/Analysis/Scalable/SSAFForceLinker.h
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormatRegistry.h
M clang/include/clang/Analysis/Scalable/TUSummary/ExtractorRegistry.h
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/Options/Options.td
M clang/lib/Analysis/Scalable/CMakeLists.txt
R clang/lib/Analysis/Scalable/Frontend/TUSummaryExtractorFrontendAction.cpp
M clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/FrontendTool/CMakeLists.txt
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
R clang/test/Analysis/SSAF/command-line-interface.cpp
R clang/test/Analysis/SSAF/downgradable-errors.cpp
R clang/test/Analysis/SSAF/help.cpp
M clang/tools/ssaf-linker/SSAFLinker.cpp
M clang/unittests/Analysis/Scalable/CMakeLists.txt
R clang/unittests/Analysis/Scalable/Frontend/TUSummaryExtractorFrontendActionTest.cpp
M clang/unittests/Analysis/Scalable/Registries/FancyAnalysisData.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSummaryExtractor1.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSummaryExtractor2.cpp
M clang/unittests/Analysis/Scalable/Registries/SummaryExtractorRegistryTest.cpp
R clang/unittests/Analysis/Scalable/SSAFBuiltinTestForceLinker.h
R clang/unittests/Analysis/Scalable/SSAFTestForceLinker.h
M clang/unittests/Analysis/Scalable/TestFixture.cpp
Log Message:
-----------
Revert "Reapply "Reapply "[clang][ssaf] Add --ssaf-extract-summaries= and --ssaf-tu-summary-file= options""" (#185651)
Reverts llvm/llvm-project#185616
This still has library layering issues. See the original PR for details.
Commit: 14de1bb711958741c180dfe29f1673a0e352c1dc
https://github.com/llvm/llvm-project/commit/14de1bb711958741c180dfe29f1673a0e352c1dc
Author: Amit Tiwari <amtiwari at amd.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
A clang/test/OpenMP/target_update_variable_stride_codegen.c
A offload/test/offloading/strided_update_multiple_arrays_variable_stride.c
A offload/test/offloading/strided_update_variable_count_and_stride.c
A offload/test/offloading/strided_update_variable_stride.c
A offload/test/offloading/strided_update_variable_stride_misc.c
A offload/test/offloading/target_update_ptr_variable_count_and_stride.c
A offload/test/offloading/target_update_ptr_variable_stride.c
A offload/test/offloading/target_update_strided_struct_variable_count_and_stride.c
A offload/test/offloading/target_update_strided_struct_variable_stride.c
Log Message:
-----------
[Clang][OpenMP] Support expression semantics in target update fields with non-contiguous array sections (#176708)
### Issue: Variable stride not recognized as non-contiguous
`CGOpenMPRuntime.cpp` failed to detect `DeclRefExpr`, `MemberExpr`,
`ArraySubscriptExpr` as non-contiguous.
**Fixes**:
`clang/lib/CodeGen/CGOpenMPRuntime.cpp` - Variable stride detection +
dimension count logic
Detect variable stride expressions
(`DeclRefExpr/MemberExpr/ArraySubscriptExpr`) as non-contiguous
Added testcases to cover stack arrays, heap pointers, struct members,
etc., for expression semantics in non-contiguous update.
Commit: 859af271ee26cdcbc44fa0e4872448863c60f228
https://github.com/llvm/llvm-project/commit/859af271ee26cdcbc44fa0e4872448863c60f228
Author: Michał Górny <mgorny at gentoo.org>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M mlir/test/CMakeLists.txt
Log Message:
-----------
[mlir] Fix tests not to depend `llvm-strings` in standalone build (#185187)
Move the `llvm-strings` test dependency into the non-standalone test
dependency block, to fix standalone builds after #182846. While at it,
reformat the block to make it more visible.
Signed-off-by: Michał Górny <mgorny at gentoo.org>
Commit: 94f50edff80d0c0c928b71945c8e0362bc9e8c65
https://github.com/llvm/llvm-project/commit/94f50edff80d0c0c928b71945c8e0362bc9e8c65
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.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 remaining `vabd_*` builtins (#185478)
Implement the missing CIR lowerings for the AdvSIMD (Neon) `vabd_*`
(absolute difference) intrinsic group.
Most `vabd` variants were already supported (see
https://github.com/llvm/llvm-project/pull/183595); this patch
completes the remaining cases listed in [1].
Move the corresponding tests from:
* clang/test/CodeGen/AArch64/neon_intrinsics.c
to:
* clang/test/CodeGen/AArch64/neon/intrinsics.c
The implementation mirrors the existing lowering in
CodeGen/TargetBuiltins/ARM.cpp. To support this, add the
`emitCommonNeonSISDBuiltinExpr` helper.
Reference:
[1] https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#absolute-difference
Commit: 7484eb74884fa29376d4e410cc462040030fb677
https://github.com/llvm/llvm-project/commit/7484eb74884fa29376d4e410cc462040030fb677
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/test/CIR/CodeGen/predefined-expr.c
M clang/test/CIR/CodeGen/string-literals.c
M clang/test/CIR/CodeGen/string-literals.cpp
M clang/test/CIR/CodeGen/vtt.cpp
M clang/test/CIR/CodeGenBuiltins/builtin-printf.cpp
Log Message:
-----------
[CIR] Ensure strings are null-terminated, better deal with trailing null (#185513)
Our current implementation of string lowering did some work to remove
extra trailing zeros, plus do a 'zero' constant. That is unchanged by
this patch. However, this patch ALSO ensures that we do the 'remove
extra trailing zeros' to remove ALL trailing zeros, which likely has
canonicalization benefits later on.
However, the real benefit of this patch is to make string emission by
default emit a null-terminator, which fixes the virtual table 'name'
field get lowered correctly. We do this by making the builder::getString
function take an argument (true by default) that will ensure we add a
null terminator if necessary.
This reflects the llvm::ConstantDataArray::getString function, which has
the same functionality. However, doing this during lowering seems
incorrect, since the FE is the one that knows whether these null
terminators are necessary. There is not currently an 'opt out' use of
the behavior, but the functionality is left in place to better reflect
the ConstantDataArray::getString function interface.
Note with the tests that this fixes some inconsistencies between LLVM
and OGCG lowering.
Commit: e9aa5809f14636df778b8fcef966a8c96ea2a431
https://github.com/llvm/llvm-project/commit/e9aa5809f14636df778b8fcef966a8c96ea2a431
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[OpenMP] Add definitions of FLATTEN and SPLIT to OMP.td (#185642)
Add the definitions of the "flatten" and the "split" constructs to the
OMP.td file. This will allow the implementation efforts in clang and
flang to proceed independently.
There is no other functionality added in this patch.
The "flatten" construct is defined in the OpenMP Technical Report 14:
https://www.openmp.org/wp-content/uploads/openmp-TR14.pdf
Commit: 05d96d53559e0b2876dd6608152805f07ebcc195
https://github.com/llvm/llvm-project/commit/05d96d53559e0b2876dd6608152805f07ebcc195
Author: lntue <lntue at google.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M libc/src/__support/CMakeLists.txt
M libc/src/__support/FPUtil/PolyEval.h
A libc/src/__support/frac128.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/cos_integer_eval.h
A libc/src/__support/math/sin_integer_eval.h
A libc/src/__support/math/sincos_integer_utils.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/cos.cpp
M libc/src/math/generic/sin.cpp
Log Message:
-----------
[libc][math] Implement an integer-only version of double precision sin and cos with 1 ULP errors. (#184752)
Size of `sin` for armv8m:
Before the patch:
```
$ ls -l libc/src/math/generic/CMakeFiles/libc.src.math.generic.sin.dir/
total 16
-rw-r----- 1 lntue primarygroup 13408 Mar 5 07:38 sin.cpp.obj
$ llvm-nm-19 --radix=d --print-size --size-sort --reverse-sort libc/src/math/generic/CMakeFiles/libc.src.math.generic.sin.dir/sin.cpp.obj
00000000 00002048 V _ZN22__llvm_libc_23_0_0_git4math31range_reduction_double_internal24ONE_TWENTY_EIGHT_OVER_PIE
00000000 00001632 W _ZN22__llvm_libc_23_0_0_git4math31range_reduction_double_internal19LargeRangeReduction4fastEdRNS_10NumberPairIdEE
00000000 00001412 W _ZN22__llvm_libc_23_0_0_git4math3sinEd
00000000 00001048 W _ZN22__llvm_libc_23_0_0_git4math20sincos_eval_internal11sincos_evalERKNS_10NumberPairIdEERS3_S6_
00000000 00001040 V _ZN22__llvm_libc_23_0_0_git4math31range_reduction_double_internal17SIN_K_PI_OVER_128E
00000000 00000528 W _ZN22__llvm_libc_23_0_0_git4math31range_reduction_double_internal21range_reduction_smallEdRNS_10NumberPairIdEE
00000000 00000004 T sin
00000000 00000004 V _ZZN22__llvm_libc_23_0_0_git6fputil7generic15quick_get_roundEvE1x
00000000 00000004 T _ZN22__llvm_libc_23_0_0_git3sinEd
U __aeabi_memclr8
U __aeabi_dsub
U __aeabi_dmul
U __aeabi_dcmplt
U __aeabi_dcmpgt
U __aeabi_dcmpeq
U __aeabi_dadd
U __aeabi_d2lz
```
After the patch:
```
$ ls -l libc/src/math/generic/CMakeFiles/libc.src.math.generic.sin.dir/
total 8
-rw-r----- 1 lntue primarygroup 5424 Mar 5 07:35 sin.cpp.obj
$ llvm-nm-19 --radix=d --print-size --size-sort --reverse-sort libc/src/math/generic/CMa
keFiles/libc.src.math.generic.sin.dir/sin.cpp.obj
00000000 00002408 W _ZN22__llvm_libc_23_0_0_git4math12integer_only3sinEd
00000000 00000332 W _ZNK22__llvm_libc_23_0_0_git4math12integer_only7Frac128mlERKS2_
00000000 00000167 r .L__const._ZN22__llvm_libc_23_0_0_git4math12integer_only3sinEd.TWO_OVER_PI
00000000 00000096 r .L__const._ZN22__llvm_libc_23_0_0_git4math12integer_only3sinEd.SIN_COEFF
00000000 00000096 r .L__const._ZN22__llvm_libc_23_0_0_git4math12integer_only3sinEd.COS_COEFF
00000000 00000004 T sin
00000000 00000004 T _ZN22__llvm_libc_23_0_0_git3sinEd
```
Commit: 525e4842c3bf0557cb1a3dfd187c391adbe7717b
https://github.com/llvm/llvm-project/commit/525e4842c3bf0557cb1a3dfd187c391adbe7717b
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Fix -Wunused-variable
Inline a variable in an assertion given it only has a single use.
Commit: 4fffee037520f3f514d5e2d6a40e26648fdb92e2
https://github.com/llvm/llvm-project/commit/4fffee037520f3f514d5e2d6a40e26648fdb92e2
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonPatterns.td
M llvm/test/CodeGen/Hexagon/funnel-shift.ll
M llvm/test/CodeGen/Hexagon/rotate.ll
Log Message:
-----------
[Hexagon] Fix 64-bit funnel shift miscompilation with register shift amounts (#183669)
64-bit regpair shift amounts are treated as signed 7-bits, so a
complement
shift amount of 64 (when the primary amount is 0) is sign-extended to
-64,
reversing the shift direction and producing incorrect results. This
affected
any 64-bit rotate or funnel shift where the runtime shift amount could
be 0
(making the complement 64) or >= 64.
Fix by masking the shift amount to [0, 63] and computing the complement
as
(m - 64), which is always in [-64, -1]. Using lsl/lsr (logical shift)
instructions with this negative amount causes the hardware to reverse
the
shift direction while zero-filling vacated positions:
fshl(a, b, amt) = (a << m) | lsl(b, m - 64) // lsl reverses to lsr
fshr(a, b, amt) = (b >> m) | lsr(a, m - 64) // lsr reverses to lsl
where m = amt & 63. The logical shift instructions (lsl/lsr) are used
instead of arithmetic (asl) because asl with a negative amount performs
an
arithmetic right shift that sign-extends, which would corrupt the result
for negative source values.
When m = 0, the complement amount is -64 (magnitude 64), which shifts
all
64 bits out and produces zero, so the complement term vanishes as
required.
Commit: f0c7f0f8d4bdac7b1127946a7959b7f4217bfed9
https://github.com/llvm/llvm-project/commit/f0c7f0f8d4bdac7b1127946a7959b7f4217bfed9
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
Log Message:
-----------
[lldb][PlatformDarwin][NFC] Use formatv-style format string in Locate ExecutableScriptingResourcesFromDSYM warning message (#185640)
About to make changes in this area and using `formatv` instead of
`printf` style format specifiers makes those easier to follow.
Commit: c79034abb6db33fdcbf70679c61f0883ca5f6de9
https://github.com/llvm/llvm-project/commit/c79034abb6db33fdcbf70679c61f0883ca5f6de9
Author: albertbolt1 <45144020+albertbolt1 at users.noreply.github.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/include/wctype.yaml
M libc/src/wctype/CMakeLists.txt
A libc/src/wctype/iswlower.cpp
A libc/src/wctype/iswlower.h
M libc/test/src/wctype/CMakeLists.txt
A libc/test/src/wctype/iswlower_test.cpp
Log Message:
-----------
[libc] 185136 - added iswlower entry point (#185221)
Changes include:
- Added iswlower entrypoint in wctype.yaml to expose the function
- Created iswlower.h header and iswlower.cpp implementation
- Added CMake entrypoint object for iswlower
- Created unit test in iswlower_test.cpp
- Added test entry to wctype CMakeLists.txt
this PR helps in exposing iswlower which internally calls islower on
wide character
built using : ninja -C build libc
tested using : ninja libc_wctype_unittests and all the 3 tests passed
resolves issue #185136
Commit: 97bffddf4fe2bcc6c268ec9bc0d4fc8a29d73edf
https://github.com/llvm/llvm-project/commit/97bffddf4fe2bcc6c268ec9bc0d4fc8a29d73edf
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.h
Log Message:
-----------
[TableGen] Do not order register classes based on heap addresses (#185644)
Compare registers using their enum values instead, which I suspect was
the intention in the first place, since we already have lexicographical
ordering defined for CodeGenRegisters.
This does not cause any changes in .inc files and is likely NFC, but
it's still best to have it be deterministic.
Commit: 2133002b8f38c071b41c0c99a5de299f0f2aa640
https://github.com/llvm/llvm-project/commit/2133002b8f38c071b41c0c99a5de299f0f2aa640
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-unsupported-errors.ll
Log Message:
-----------
[AMDGPU] Poison invalid globals after emitting error in LowerBufferFatPointers pass (#184662)
After the change from `report_fatal_error` to `Ctx.emitError` in #142014
there is a necessity to remove unsupported globals. Otherwise there is a
secondary crash during ISel when processing them
Fixes SWDEV-511241
Commit: 56a4315ee05a0cd3e803b5daf7332be4d4afac3c
https://github.com/llvm/llvm-project/commit/56a4315ee05a0cd3e803b5daf7332be4d4afac3c
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/Target/SystemZ/SystemZElimCompare.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
M llvm/lib/Target/SystemZ/SystemZMachineScheduler.cpp
M llvm/lib/Target/SystemZ/SystemZMachineScheduler.h
M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
M llvm/lib/Target/SystemZ/SystemZTargetMachine.h
M llvm/test/CodeGen/SystemZ/DAGCombiner_isAlias.ll
M llvm/test/CodeGen/SystemZ/alias-01.ll
M llvm/test/CodeGen/SystemZ/args-06.ll
M llvm/test/CodeGen/SystemZ/args-12.ll
M llvm/test/CodeGen/SystemZ/atomic-load-09.ll
M llvm/test/CodeGen/SystemZ/atomic-store-08.ll
M llvm/test/CodeGen/SystemZ/atomic-store-09.ll
M llvm/test/CodeGen/SystemZ/atomicrmw-fmax-01.ll
M llvm/test/CodeGen/SystemZ/atomicrmw-fmin-01.ll
M llvm/test/CodeGen/SystemZ/fp-half-vector-fcmp-select.ll
M llvm/test/CodeGen/SystemZ/fp-half.ll
M llvm/test/CodeGen/SystemZ/int-conv-11.ll
M llvm/test/CodeGen/SystemZ/knownbits-intrinsics-binop.ll
M llvm/test/CodeGen/SystemZ/memcpy-01.ll
M llvm/test/CodeGen/SystemZ/memset-01.ll
A llvm/test/CodeGen/SystemZ/misched-prera-biaspregs.mir
A llvm/test/CodeGen/SystemZ/misched-prera-cmp-elim.mir
A llvm/test/CodeGen/SystemZ/misched-prera-copy-coal.mir
A llvm/test/CodeGen/SystemZ/misched-prera-latencies.mir
M llvm/test/CodeGen/SystemZ/shift-13.ll
M llvm/test/CodeGen/SystemZ/shift-14.ll
M llvm/test/CodeGen/SystemZ/shift-15.ll
M llvm/test/CodeGen/SystemZ/signbits-intrinsics-binop.ll
M llvm/test/CodeGen/SystemZ/vec-args-04.ll
A llvm/test/CodeGen/SystemZ/vec-cmpsel-01.ll
A llvm/test/CodeGen/SystemZ/vec-cmpsel-02.ll
R llvm/test/CodeGen/SystemZ/vec-cmpsel.ll
M llvm/test/CodeGen/SystemZ/vec-sub-01.ll
M llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll
Log Message:
-----------
[SystemZ] Add a SystemZ specific pre-RA scheduling strategy. (#135076)
This is a relatively simple strategy as it is omitting any heuristics for
liveness and register pressure reduction. This works well as the SystemZ ISel
scheduler is using Sched::RegPressure which gives a good input order to begin
with.
It is trying harder with biasing phys regs than GenericScheduler as it also
considers other instructions such as immediate loads directly into phys-regs
produced by the register coalescer. This can hopefully be refactored into
MachineScheduler.cpp.
It has a latency heuristic that is slightly different from the one in
GenericScheduler: It is activated for a specific type of region that have
many "data sequences" consisting of SUs connected only with a single
data-edge that are next to each other in the input order. This is only 3% of
all the scheduling regions, but when activated it is applied on all the
candidates (not just once per cycle). At the same time it is a bit more
careful by checking not only the SU Height against the scheduled latency but
also its Depth against the remaining latency.
It reuses the GenericScheduler handling of weak edges to help copy
coalescing.
It also helps with compare zero elimination as it tries to put a CC-defining
instruction that produces the compare source value above the compare before
any other instruction clobbering CC or the value.
This work was started after observing heavy spilling in Cactus, which was
actually *caused* by GenericScheduler - disabling it (no pre-RA scheduling)
remedied it and gave a 7% improvement in performance on that benchmark. Many
different versions have been tried which has evolved into this initial
simplistic MachineSchedStrategy that does relatively little and yet achieves
double-digit improvements on Cactus and Imagick compared to GenericSched
(which is OTOH 3% better on Blender). There will hopefully be more
improvements added later on as there seems to be potential for it.
It would be very interesting to have other OOO targets try this as well and
perhaps make this available in MachineScheduler.cpp
(A first attempt with improving the pre-RA scheduling was made with #90181,
which however did not materialize in anything actually useful.)
Commit: 2a37eb840427d722f259801ebd0dc8b4e5cab261
https://github.com/llvm/llvm-project/commit/2a37eb840427d722f259801ebd0dc8b4e5cab261
Author: Alexey Sachkov <alexey.sachkov at amd.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/test/CodeGen/builtins-extended-image.c
M clang/test/CodeGen/builtins-image-load.c
M clang/test/CodeGen/builtins-image-store.c
M clang/test/SemaOpenCL/builtins-extended-image-param-gfx1100-err.cl
M clang/test/SemaOpenCL/builtins-image-load-param-gfx1100-err.cl
M clang/test/SemaOpenCL/builtins-image-store-param-gfx1100-err.cl
M clang/test/SemaOpenCL/half-float16-vector-compatibility.cl
Log Message:
-----------
[Clang] Restrict AMDGCN image built-ins (#180949)
Introduced validation for the `dmask` argument of the aforementioned
built-ins to match LLVM IR verifier behavior that is being changed in
llvm/llvm-project#179511.
Commit: 1b2b5efe69c82379f3cbf638c4174cf2898e3441
https://github.com/llvm/llvm-project/commit/1b2b5efe69c82379f3cbf638c4174cf2898e3441
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M lldb/unittests/Platform/PlatformDarwinTest.cpp
Log Message:
-----------
[lldb][test] PlatformDarwinTest.cpp: add full error message to expected assertion
I'm about to reword the error message. Having test coverage for the
message will make that change easier to review/reason about.
Commit: 084aa5a672800124dc36b4d227525ba60f7d1a2e
https://github.com/llvm/llvm-project/commit/084aa5a672800124dc36b4d227525ba60f7d1a2e
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-03-10 (Tue, 10 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/test/CodeGen/AArch64/fp-fcanonicalize.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-minmax.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-rounding.ll
M llvm/test/CodeGen/AArch64/sve-fp.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-rounding.ll
Log Message:
-----------
[LLVM][CodeGen][SVE] Implement isel for maximumnum/minimumnum. (#185074)
Patch to add custom lowering for FCANONICALIZE, FMAXNUM_IEEE, and
FMINNUM_IEEE, all of which are required when relying on default
expansion of FMAXIMUMNUM and FMINIMUMNUM.
The lowering is very simple because AArch64's FMAXNM and FMINNM
instructions are IEEE754-2008 compliant, with the implementation
effectively follow the same path take for NEON.
NOTE: Bfloat support will be provided separately.
Commit: 4f70b7e775e6d2f1c1e6b6c7da513ed77433f4b9
https://github.com/llvm/llvm-project/commit/4f70b7e775e6d2f1c1e6b6c7da513ed77433f4b9
Author: google-llvm-bazel-bot <google-bazel-bot at google.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 05d96d5 (#185660)
This fixes 05d96d53559e0b2876dd6608152805f07ebcc195.
Commit: 725be0baba3ebededaff6ed22896476545dec297
https://github.com/llvm/llvm-project/commit/725be0baba3ebededaff6ed22896476545dec297
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M flang/test/Lower/Intrinsics/dreal.f90
M flang/test/Lower/Intrinsics/dshiftl.f90
M flang/test/Lower/Intrinsics/dshiftr.f90
M flang/test/Lower/Intrinsics/eoshift.f90
M flang/test/Lower/Intrinsics/erfc_scaled.f90
Log Message:
-----------
[flang][NFC] Converted five tests from old lowering to new lowering (part 28) (#185549)
Tests converted from test/Lower/Intrinsics: dreal.f90, dshiftl.f90,
dshiftr.f90, eoshift.f90, erfc_scaled.f90
Commit: b99970d929c0da9cdaa7a82f16197b07c00e919a
https://github.com/llvm/llvm-project/commit/b99970d929c0da9cdaa7a82f16197b07c00e919a
Author: Victor Campos <victor.campos at arm.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
Log Message:
-----------
[AArch64] Remove dangling function declaration in AArch64PointerAuth (#185439)
Function `checkAuthenticatedLR` was declared but not defined anywhere.
This patch removes the dangling declaration.
Commit: 673a71f0187ad196ad5571faf13b4cb6d7f279bd
https://github.com/llvm/llvm-project/commit/673a71f0187ad196ad5571faf13b4cb6d7f279bd
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/include/llvm/CodeGen/MultiHazardRecognizer.h
M llvm/include/llvm/CodeGen/ScheduleHazardRecognizer.h
M llvm/lib/CodeGen/MultiHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
M llvm/lib/Target/Hexagon/HexagonHazardRecognizer.cpp
M llvm/lib/Target/Hexagon/HexagonHazardRecognizer.h
M llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp
M llvm/lib/Target/PowerPC/PPCHazardRecognizers.h
Log Message:
-----------
[CodeGen] Make ShouldPreferAnother const. NFC. (#185606)
Commit: dff05ac06fed5652457ec40732e4898b65c0bc84
https://github.com/llvm/llvm-project/commit/dff05ac06fed5652457ec40732e4898b65c0bc84
Author: Anshul Nigham <nigham at google.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.h
M llvm/lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp
M llvm/lib/Target/AArch64/AArch64PassRegistry.def
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
Log Message:
-----------
[NewPM] Add port for aarch64-simd-scalar (#185256)
Commit: cc38e4232c0147866fad36a5c90b6aa97cc04ea7
https://github.com/llvm/llvm-project/commit/cc38e4232c0147866fad36a5c90b6aa97cc04ea7
Author: Karol Herbst <karolherbst at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
Log Message:
-----------
[SPIR-V] Make SPIRVModuleAnalysis::MAI a non static member (#160956)
Otherwise multiple translation units in the same process could run into
ID reuse collisions cause invalid SPIR-Vs to be generated due to having
multiple definition for the same SPIR-V SSA value.
Closes: https://github.com/llvm/llvm-project/issues/160613
Commit: 38a3de69362c41a120b12cf80d077e929f82881d
https://github.com/llvm/llvm-project/commit/38a3de69362c41a120b12cf80d077e929f82881d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-based-reduction.ll
Log Message:
-----------
[SLP][NFC]Add RISC_V test with a regression in reduction vectorization, NFC
Commit: 1383dd8dbe7a667cbac98554e80b261cb86c86ee
https://github.com/llvm/llvm-project/commit/1383dd8dbe7a667cbac98554e80b261cb86c86ee
Author: eleviant <eleviant at accesssoftek.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M lldb/test/API/functionalities/longjmp/TestLongjmp.py
M lldb/test/API/functionalities/longjmp/main.c
Log Message:
-----------
[lldb][test] Fix TestLongjmp on Linux (#185464)
Patch fixes llvm.org/pr20231.
The original test was expecting clock() to return 0 when stepping in
debugger which in reality can never happen.
Commit: 375357eeaf38602079bcbd39c699eddf0a223d7a
https://github.com/llvm/llvm-project/commit/375357eeaf38602079bcbd39c699eddf0a223d7a
Author: valium007 <49368101+valium007 at users.noreply.github.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/include/wctype.yaml
M libc/src/wctype/CMakeLists.txt
A libc/src/wctype/iswcntrl.cpp
A libc/src/wctype/iswcntrl.h
M libc/test/src/wctype/CMakeLists.txt
A libc/test/src/wctype/iswcntrl_test.cpp
Log Message:
-----------
[libc] implement iswcntrl entrypoint (#185273)
Implement iswcntrl entrypoint and test for #185136
Commit: f0159c3230348755d0ff6538de672859e33dcfbf
https://github.com/llvm/llvm-project/commit/f0159c3230348755d0ff6538de672859e33dcfbf
Author: Tom Honermann <tom.honermann at intel.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[SYCL] Correct emission status reporting for function templates declared with SYCL attributes. (#185522)
Commit cf6cc662eeee2b1416430f517850be9032788e39 ([OpenMP][SYCL] Improve
diagnosing of unsupported types usage) customized
`Sema::getEmissionStatus()` to return `Emitted` for a function declared
with the `sycl_kernel` attribute during device compilation. That change
is appropriate, but was inserted before a check for a dependent context
and resulted in `Emitted` being returned instead of `TemplateDiscarded`
for templated functions declared with the attribute. That appears to be
incorrect; templated functions are still discarded.
The customization was extended to include the `sycl_kernel_entry_point`
and `sycl_external` attributes in commit
23e4fe040b67e2dd419652830a87093a93ea1a97 ([SYCL] SYCL host kernel launch
support for the sycl_kernel_entry_point attribute). Those additions are
appropriate, but the effect on templated functions (as opposed to their
instantiations) resulted in the incorrect status being observed in a
downstream fork of Clang.
This change corrects `Sema::getEmissionStatus()` to once again
unconditionally return `TemplateDiscarded` for templated functions.
Commit: 379d95c210aa6ebca885f7352bb4030063b7c3d6
https://github.com/llvm/llvm-project/commit/379d95c210aa6ebca885f7352bb4030063b7c3d6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
Log Message:
-----------
[X86] LowerFP_EXTEND - X86ISD::CVTPH2PS doesn't take a rounding mode (#185659)
Fixes a verification failure in X86SelectionDAGInfo::verifyTargetNode (#185649)
Commit: 7dc78ebedc62d38aad89a048d103ed323b010bef
https://github.com/llvm/llvm-project/commit/7dc78ebedc62d38aad89a048d103ed323b010bef
Author: Samrudh Nelli <samrudhnelli at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/assets/md/comments-partial.mustache
M clang-tools-extra/test/clang-doc/basic-project.mustache.test
M clang-tools-extra/test/clang-doc/basic-project.test
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/json/class.cpp
M clang-tools-extra/test/clang-doc/json/compound-constraints.cpp
M clang-tools-extra/test/clang-doc/json/concept.cpp
M clang-tools-extra/test/clang-doc/namespace.cpp
M clang-tools-extra/test/clang-doc/templates.cpp
M clang-tools-extra/test/clang-doc/typedef-alias.cpp
M clang-tools-extra/unittests/clang-doc/MDGeneratorTest.cpp
Log Message:
-----------
[Clang-doc] Trim comments after parsing them from the AST (#185528)
Currently many comments parsed from the AST contain leading spaces.
Trim the leading and trailing spaces before using them in clang-doc.
Commit: 22b4fccd888004571240e7edcbd5289321f569df
https://github.com/llvm/llvm-project/commit/22b4fccd888004571240e7edcbd5289321f569df
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2026-03-10 (Tue, 10 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/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanningTool.cpp
M clang/test/ClangScanDeps/modules-full-by-mult-mod-names-diagnostics.c
Log Message:
-----------
[clang][Dependency Scanning] Reland Fix the In-Memory Buffer Used for By-Name Scanning (#183396) (#185474)
This PR fixes two issues of the in-memory buffer we use for the input
file when a dependency scanner performs by-name queries.
First, it renames the buffer. The temporary file was named
`ScanningByName-%%%%%%%%.input`, which leads to weird diagnostics such
as
```
ScanningByName-2d42a1e9.input:1:1: fatal error: could not build module 'X'
```
This PR changes the name of the file buffer, so we get diagnostics such
as
```
module-include.input:1:1: fatal error: could not build module 'X'
```
which is more indicative.
Additionally, this PR fixes a bug where the source location may overflow
the temporary buffer by creating a 64k empty string which the temporary
buffer occupies. When the source location overflows, the diagnostics
could point to some random file that comes after the fake file and is
incorrect.
Currently, the maximum number of unique names from Apple's SDKs is
around 3000. A 64k buffer per dependency scanning worker gives us around
20x capacity per worker (which scans fewer names than 3000 when the
scanning is done in parallel). A fatal error is added to catch
overflows.
Commit: e3e4f161d0160f10dc7cbd746abd639dd740ecde
https://github.com/llvm/llvm-project/commit/e3e4f161d0160f10dc7cbd746abd639dd740ecde
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
Reapply "[llvm][clang] Enable IO sandbox for assert builds" (#184545)
This reverts #173074 and essentially reapplies #171935. The main reason
for the revert was an omission where we were not sandboxing direct clang
-cc1 invocations in our test suite, leading to sandbox violations
reported by Clang users. This was rectified in #174653 after a number of
patches fixing found sandbox violations.
RFC:
https://discourse.llvm.org/t/rfc-file-system-sandboxing-in-clang-llvm/88791
Commit: 0d67b2edac17a696344b6a62e0f191cb73464254
https://github.com/llvm/llvm-project/commit/0d67b2edac17a696344b6a62e0f191cb73464254
Author: Vigneshwar Jayakumar <vigneshwar.jayakumar at amd.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AMDGPU/exp.ll
M llvm/test/Analysis/CostModel/AMDGPU/exp10.ll
M llvm/test/Analysis/CostModel/AMDGPU/exp2.ll
A llvm/test/Transforms/SLPVectorizer/AMDGPU/exp2-vectorize.ll
Log Message:
-----------
[AMDGPU] Add f32 cost model for exp/exp2/exp10 intrinsics (#185369)
exp2 maps to a single v_exp_f32 (quarter rate), while exp and exp10 need
additional full-rate costs for the base conversion. Also added cost based on
non-afn and denorm mode.
This enables SLP vectorization of exp2 on targets with packed f32 ops.
Commit: c6128e2fb3c878589f2db4ecdf9e5da7a6e2b80e
https://github.com/llvm/llvm-project/commit/c6128e2fb3c878589f2db4ecdf9e5da7a6e2b80e
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/test/CIR/CodeGen/complex.cpp
Log Message:
-----------
[CIR] Fix Codegen for Comparison of Complex bin ops (#185316)
Fix Codegen for Comparison between two Complex bin ops
Commit: 29cd7921bcaa16a60afd7ae90b05737a837152ce
https://github.com/llvm/llvm-project/commit/29cd7921bcaa16a60afd7ae90b05737a837152ce
Author: RattataKing <amilywu2 at amd.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M mlir/python/mlir/ir.py
M mlir/test/python/ir/operation.py
Log Message:
-----------
[MLIR][Python] Add get_parent_of_type helper (#185512)
The `op.parent` only returns the immediate parent, in which case
downstream users have to traverse the operation by themselves to find a
specific type op.
This PR adds a python function `get_parent_of_type()` to mlir.ir to
provide an API to do so.
The function mirrors the implementation here:
https://github.com/llvm/llvm-project/blob/main/mlir/include/mlir/IR/Operation.h#L257-L273.
Instead of creating a new binding, reimplement it in python using
`isinstance()` is simpler.
Commit: 6dd52127a09564d0c3be12e2b26c83ceb43919c8
https://github.com/llvm/llvm-project/commit/6dd52127a09564d0c3be12e2b26c83ceb43919c8
Author: Minsoo Choo <minsoochoo0122 at proton.me>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
Log Message:
-----------
[lldb][Process/FreeBSDKernelCore] Improve DoUpdateThreadList() (#183981)
This commit brings improves
`ProcessFreeBSDKernelCore::DoUpdateThreadList()` by porting features
from KGDB (`fbsd_kthr.c` specifically) and adding fixes. It includes:
1. Validate `stopped_cpus` before accessing `stoppcbs`
2. Check bounds for `mp_maxid`
3. Check errors when reading proc from memory
4. Detect new architectures from previous PRs (ppc64le, riscv64, arm)
which weren't handled correctly in `DoUpdateThreadList()`.
Fallbacks for finding offsets aren't ported since kernel exposes
hardcoded variables for offsets starting from FreeBSD 11. Fallbacks
aren't needed as LLDB 23 only supports FreeBSD 14 and later.
This commit also
Fixes: 2430410b7d879fce3db76c21bb8c60ed22abd0b5(#180669),
4a602c03ea050d7adf666d5a440164ca6f78707c(#180670),
3d251288df0642762d1bd86efa05e190005c2539(#180674)
---------
Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
Commit: 04f0935cf42a6cb6fe5e7e66724d9af5e1fe4777
https://github.com/llvm/llvm-project/commit/04f0935cf42a6cb6fe5e7e66724d9af5e1fe4777
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptConstSwizzle.hlsl
Log Message:
-----------
[Matrix] For MatrixRow with constant index use Indices.size() instead of getNumColumns() (#185530)
fixes #184380
Three changes
- Use Indices.size()
- Construct a new QualType if Indices.size() != MT->getNumColumns()
- Add a new test case
Commit: 02f7c2a9f319eadfe1146a3835c7c4dad74562bf
https://github.com/llvm/llvm-project/commit/02f7c2a9f319eadfe1146a3835c7c4dad74562bf
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/lib/Headers/gpuintrin.h
M clang/test/Headers/Inputs/include/stdint.h
M libc/test/integration/src/__support/GPU/scan_reduce.cpp
Log Message:
-----------
[Clang] Add more scan / reduce operations to 'gpuintrin.h' (#185525)
Summary:
This builds off the pattern to add support for more of the standard
operations. The reductions could concievably use the AMDGPU builtins
later once we can enable DPP or other optimizations.
Commit: 65d67f5bb5cdc02dbbe1dd214db17ad8a90c590c
https://github.com/llvm/llvm-project/commit/65d67f5bb5cdc02dbbe1dd214db17ad8a90c590c
Author: Fangrui Song <i at maskray.me>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrMMX.td
R llvm/test/MC/X86/Relocations/avx10.2satcvt.s
A llvm/test/MC/X86/Relocations/evex-mem.s
Log Message:
-----------
[X86] Fix wrong ImmT in several instructions and add assertion (#185461)
Follow-up to #185254:
Several instructions inherited ImmT=Imm8 from *Ii8Base/*Ii8 classes
without having an actual immediate operand. This made
X86MCCodeEmitter::emitMemModRMByte compute ImmSize=1 instead of 0:
```
int ImmSize = !Disp.isImm() && X86II::hasImm(TSFlags)
? X86II::getSizeOfImm(TSFlags)
: 0;
```
biasing RIP-relative displacements by one byte (e.g. foo-0x5 instead
of foo-0x4).
Affected instructions:
- VCVTHF82PH (via AVX512XDIi8Base): has memory forms, wrong relocations
- V[U]COMIS{S,D,H}Zrrb (via AVX512P{S,D}Ii8Base): reg-only, latent
- MMX_MOV{DQ2Q,Q2DQ}rr and variants (via MMXSDIi8/MMXS2SIi8): reg-only,
latent
Fix by replacing the *Ii8Base/*Ii8 classes with their prefix-only
equivalents (TB, XD, XS, PD) and setting ExeDomain explicitly where
needed.
Add an assertion in encodeInstruction to catch future TSFlags/operand
ImmType mismatches: after consuming all operands in the Form-specific
switch, if `hasImm(TSFlags)` is true but `RemainingOps` is 0 and the
Form
isn't one that handles immediates internally (RawFrm, AddCCFrm,
RawFrmImm8, RawFrmImm16, RawFrmMemOffs), the assertion fires. For
example, `VCOMISDZrrb` has `Form=MRMSrcReg` and `ImmT=Imm8` (from
AVX512PDIi8Base), but after consuming both XMM operands CurOp equals
NumOps, leaving RemainingOps=0 with no immediate to emit.
Commit: ebaf1744095d4e1db50b84f842277b2144a17ec9
https://github.com/llvm/llvm-project/commit/ebaf1744095d4e1db50b84f842277b2144a17ec9
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/include/clang/DependencyScanning/DependencyScannerImpl.h
M clang/include/clang/DependencyScanning/DependencyScanningUtils.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/ModuleDepCollector.cpp
M clang/lib/Tooling/DependencyScanningTool.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang][deps] Expand `DependencyActionController` APIs (#184917)
This PR upstreams a piece of infrastructure from Swift's LLVM fork. This
allows controlling behavior of the dependency scanner, e.g. modifying
the primary compiler invocation and modifying compiler instances (the
primary one and for imported modules). This will be used to implement
modules support in the CAS-based compilation caching mode.
Commit: e266cb5a9a3b564f02ffbbc2c5197fe03dc11ff2
https://github.com/llvm/llvm-project/commit/e266cb5a9a3b564f02ffbbc2c5197fe03dc11ff2
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
M mlir/lib/Dialect/Tosa/IR/TargetEnv.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaAttachTarget.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/profile_all_unsupported.mlir
M mlir/test/Dialect/Tosa/profile_pro_fp_unsupported.mlir
M mlir/test/Dialect/Tosa/profile_pro_int_unsupported.mlir
A mlir/test/Dialect/Tosa/tosa-attach-target-non-cooperative-profile.mlir
Log Message:
-----------
[mlir][tosa] Check extension cooperative profiles in target environment (#185476)
This commit moves checks on extension cooperative profiles out of
profile conformance and into target environment verification. This
allows the checks to be enforced when the target is created, not during
profile conformance validation.
Commit: 29061b533023478374a55a9ba4e676b03c7c7093
https://github.com/llvm/llvm-project/commit/29061b533023478374a55a9ba4e676b03c7c7093
Author: Kavin Gnanapandithan <kavin.balag at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
A llvm/test/Transforms/InstSimplify/ConstProp/cttz-elts.ll
Log Message:
-----------
Add constant folding for llvm.experimental.cttz.elts #182324 (#182895)
Resolves #182324.
Modifies ConstantFoldIntrinsicCall2 to add constant folding for
llvm.experimental.cttz.elts.
Commit: 7d47b695929cc7f85eeb0f87d0189adc04c1c629
https://github.com/llvm/llvm-project/commit/7d47b695929cc7f85eeb0f87d0189adc04c1c629
Author: Tom Honermann <tom.honermann at intel.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/test/ASTSYCL/ast-dump-sycl-kernel-call-stmt.cpp
Log Message:
-----------
[SYCL] Correct incomplete AST visitation for UnresolvedSYCLKernelCallStmt. (#185531)
Previously, AST visitation for `UnresolvedSYCLKernelCallStmt` failed to
visit the kernel launch ID expression. This change adds visitation
predicated on whether synthesized code should be visited.
Commit: 126199ecbfdb8cf5c177fc71a93b3d9496132f01
https://github.com/llvm/llvm-project/commit/126199ecbfdb8cf5c177fc71a93b3d9496132f01
Author: Fangrui Song <i at maskray.me>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
A clang/test/CodeGen/AArch64/inline-asm-p-constraint.c
M clang/test/CodeGen/X86/inline-asm-constraints.c
R clang/test/CodeGen/inline-asm-p-constraint.c
Log Message:
-----------
[test] Improve inline asm 'p' constraint tests (#185681)
Move clang/test/CodeGen/inline-asm-p-constraint.c to
clang/test/CodeGen/AArch64/ since inline asm constraint support is
target-dependent (clang/lib/Basic/Targets/AArch64.h modified by
https://reviews.llvm.org/D76297)
Add `test_a_p` to clang/test/CodeGen/X86/inline-asm-constraints.c to
test the 'a' modifier with 'p' constraint for both pointer and integer
operands. Extracted from #185590
Commit: b0d9d4d240722209126f866a3776bf921d65aeda
https://github.com/llvm/llvm-project/commit/b0d9d4d240722209126f866a3776bf921d65aeda
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
Log Message:
-----------
[X86] EmitTruncSStore - X86ISD::VTRUNCSTORES/VTRUNCSTOREUS no longer take a mask operand (#185676)
X86ISD::VMTRUNCSTORES/VMTRUNCSTOREUS were split off some time ago
Fixes verification failure in X86SelectionDAGInfo::verifyTargetNode
(#185649)
Commit: cd7e200e426ee7418045d357e413f6de137eeb4a
https://github.com/llvm/llvm-project/commit/cd7e200e426ee7418045d357e413f6de137eeb4a
Author: sohail <sohailraj.satapathy at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/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/docs/headers/math/index.rst
M libc/src/math/CMakeLists.txt
A libc/src/math/cbrtbf16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/cbrtbf16.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/cbrtbf16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/cbrtbf16_test.cpp
Log Message:
-----------
[libc][math] Add cbrtbf16 math function (#180327)
Add a bfloat16 implementation of cbrt along with corresponding smoke
tests and an MPFR-based exhaustive unit test.
Fixes #179729
Commit: bbb1c831d19cb66f0e5355a43d669d3ee1d9ba54
https://github.com/llvm/llvm-project/commit/bbb1c831d19cb66f0e5355a43d669d3ee1d9ba54
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M libc/include/time.yaml
Log Message:
-----------
[libc] Add missing const qualifiers to a few functions in <time.h> (#185311)
`asctime_r`, `gmtime`, and `gmtime_r` were missing const-qualifiers for
a first function argument. Add them to fix generated `<time.h>` header.
Implementation headers / source files are declaring arguments correctly.
Commit: 2fb59b4e6ca3e395b06cf983a817ded28ea0d348
https://github.com/llvm/llvm-project/commit/2fb59b4e6ca3e395b06cf983a817ded28ea0d348
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
AMDGPU: Document two more in-flight address spaces (#185690)
There are two more address spaces being worked on internally for
future features. Note this in the documentation now to reduce the risk
of clashes.
Commit: 3c5d25754635ef5a65a9e1b1405e537f9195b5a5
https://github.com/llvm/llvm-project/commit/3c5d25754635ef5a65a9e1b1405e537f9195b5a5
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M flang/lib/Parser/program-parsers.cpp
A flang/test/Parser/bug176914.did-work.0.f90
A flang/test/Parser/bug176914.did-work.1.f90
A flang/test/Parser/bug176914.did-work.2.f90
A flang/test/Parser/bug176914.did-work.3.f90
A flang/test/Parser/bug176914.f90
A flang/test/Parser/bug176914.was-broken.0.f90
A flang/test/Parser/bug176914.was-broken.1.f90
A flang/test/Parser/bug176914.was-broken.2.f90
Log Message:
-----------
[flang][parser] handle semicolons uniformly in program unit constructs (#181180)
Modifies the parser so that a semicolon is a valid separator between
programming unit statements, and tweaks how leading semicolons and
spaces are parsed so that they don't count for progress toward
programming unit parsing.
Also adds some tests that document the behavior of what works before and
after the update.
fixes [#176994](https://github.com/llvm/llvm-project/issues/176994)
Commit: 498906f2df7a9361f4c939ba65d2d3ba02c522cc
https://github.com/llvm/llvm-project/commit/498906f2df7a9361f4c939ba65d2d3ba02c522cc
Author: Amina Chabane <amina.chabane at arm.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/AArch64/Inputs/compressed-debug-sections.yaml
A bolt/test/AArch64/compressed-debug-sections.test
Log Message:
-----------
[BOLT] Error out on SHF_COMPRESSED debug sections (#185662)
Some binaries are built using `-gz=zstd`, but when using
`--update-debug-sections` on said binaries BOLT crashes.
This patch fixes this issue by recognising compressed debug sections in
binaries via their flag `SHF_COMPRESSED` and appropriately erroring out.
Legacy GNU-style compression is not handled.
Commit: 1fdc16bd426f3db2aa772cc3a8dff33ec8e91e76
https://github.com/llvm/llvm-project/commit/1fdc16bd426f3db2aa772cc3a8dff33ec8e91e76
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
A libclc/clc/include/clc/address_space/clc_qualifier.h
R libclc/clc/include/clc/address_space/qualifier.h
M libclc/clc/lib/amdgpu/CMakeLists.txt
A libclc/clc/lib/amdgpu/address_space/clc_qualifier.cl
R libclc/clc/lib/amdgpu/address_space/qualifier.cl
A libclc/clc/lib/amdgpu/subgroup/clc_sub_group_broadcast.cl
A libclc/clc/lib/amdgpu/subgroup/clc_sub_group_reduce.cl
A libclc/clc/lib/amdgpu/subgroup/clc_subgroup.cl
R libclc/clc/lib/amdgpu/subgroup/sub_group_broadcast.cl
R libclc/clc/lib/amdgpu/subgroup/sub_group_reduce.cl
R libclc/clc/lib/amdgpu/subgroup/subgroup.cl
M libclc/clc/lib/generic/shared/clc_qualifier.cl
M libclc/opencl/lib/generic/address_space/qualifier.cl
Log Message:
-----------
libclc: Fix missing clc prefixes on some clc files (#185679)
Commit: 3b3f3730351cd59a849663700b07d7643a7f74a1
https://github.com/llvm/llvm-project/commit/3b3f3730351cd59a849663700b07d7643a7f74a1
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M utils/bazel/third_party_build/pfm.BUILD
Log Message:
-----------
[bazel] Explicitly disable pfm shared lib (#185542)
We don't consume this but it was getting built behind the scenes. This
can matter if you use a custom toolchain that isn't compatible with
producing this.
Commit: 93d03f85d7505e0b2f7889056fce22296c950aff
https://github.com/llvm/llvm-project/commit/93d03f85d7505e0b2f7889056fce22296c950aff
Author: Igor Wodiany <dev at wodiany.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVMatrixOps.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/test/Dialect/SPIRV/IR/khr-cooperative-matrix-ops.mlir
M mlir/test/Dialect/SPIRV/IR/matrix-ops.mlir
Log Message:
-----------
[mlir][spirv] Move some of the verification for Matrix ops to ODS (#185597)
This moves C++ verification to ODS where it is possible to use existing
constraints. A subsequent patch will focus on removing all C++
verification introducing new classes when required.
Assisted-by: Codex
Commit: be021b84331df17d3fc1a613d0bf35d34bb1d609
https://github.com/llvm/llvm-project/commit/be021b84331df17d3fc1a613d0bf35d34bb1d609
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/level_zero/include/L0Plugin.h
M offload/plugins-nextgen/level_zero/src/L0Plugin.cpp
Log Message:
-----------
[OFFLOAD] Add interface to extend image validation (#185663)
As discussed in #185404 we might want to provide a way for plugins to
validate images not recognized by the common layer.
This PR adds such extension and uses it to validate pure SPIRV images by
the Level Zero plugin.
Commit: 97a6aa83cab5dd4a34a3f1ecaa34b909cf7c5cce
https://github.com/llvm/llvm-project/commit/97a6aa83cab5dd4a34a3f1ecaa34b909cf7c5cce
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M mlir/lib/Dialect/GPU/Pipelines/GPUToXeVMPipeline.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPeepHoleOptimizer.cpp
Log Message:
-----------
[MLIR][XeGPU][GPU] Optimize GPU to XeVM pipeline (#184711)
Some XeGPU transforms can generate code sequences that can simplified by
folding. But full canonicalization is not required. As an alternative,
remove canonicalize from some parts of the pipeline where only folding
is needed and add folding at the end of XeGPU blocking pass
and XeGPU peephole optimize pass.
Commit: cf1dbb765016e373db12995cc1963fc45196ddeb
https://github.com/llvm/llvm-project/commit/cf1dbb765016e373db12995cc1963fc45196ddeb
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-03-11 (Wed, 11 Mar 2026)
Changed paths:
A llvm/test/tools/llubi/bitcast_be.ll
A llvm/test/tools/llubi/bitcast_le.ll
M llvm/test/tools/llubi/loadstore_be.ll
M llvm/test/tools/llubi/loadstore_le.ll
M llvm/test/tools/llubi/loadstore_overaligned.ll
M llvm/tools/llubi/lib/Context.cpp
M llvm/tools/llubi/lib/Context.h
M llvm/tools/llubi/lib/Interpreter.cpp
M llvm/tools/llubi/lib/Value.cpp
Log Message:
-----------
[llubi] Add support for bitcast (#185205)
Bitcasting pointers to pointers is not fully implemented for now. We
haven't encoded provenance information in the memory. This patch also
fixes the endianness handling of vectors by treating the vector as a
single unit (the endianness handling is now handled by a transparent
accessor `BytesView`).
Commit: 961e25144fdab71177713f594422dafedd08a2b1
https://github.com/llvm/llvm-project/commit/961e25144fdab71177713f594422dafedd08a2b1
Author: Fangrui Song <i at maskray.me>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/test/CodeGen/X86/asm-modifier-error.ll
M llvm/test/CodeGen/X86/asm-modifier.ll
Log Message:
-----------
[X86] Accept 'a' modifier for 'p' constraint in inline asm (#185590)
GCC supports the %a modifier with the p constraint (e.g., %a0), while
Clang rejected it. The 'a' modifier means "print as address", which on
a 'p' constraint memory operand is what the default path already does.
Like GCC, reject 'a' with other memory constraints (e.g. 'm').
Close https://github.com/llvm/llvm-project/issues/185343
Commit: e564ce97b1149be53018e4e2e1ffc272a3408f0e
https://github.com/llvm/llvm-project/commit/e564ce97b1149be53018e4e2e1ffc272a3408f0e
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/lib/AST/Expr.cpp
M clang/lib/CodeGen/CGExpr.cpp
A clang/test/CodeGenHLSL/BasicFeatures/MatrixElementRowColFlags.hlsl
M clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-load.hlsl
M clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-store.hlsl
M clang/test/CodeGenHLSL/matrix-member-one-based-swizzle-load.hlsl
M clang/test/CodeGenHLSL/matrix-member-one-based-swizzle-store.hlsl
M clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-load.hlsl
M clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-store.hlsl
M clang/test/CodeGenHLSL/matrix-member-zero-based-swizzle-load.hlsl
M clang/test/CodeGenHLSL/matrix-member-zero-based-swizzle-store.hlsl
A clang/test/CodeGenHLSL/resources/MatrixElement_cbuffer.hlsl
Log Message:
-----------
[Matrix] Fix cbuffers support for matrix element expr (#185471)
fixes #184877
This change was threefold.
1. copy the padded cbuffer from memory to a local alloca
2. switch to using the new `getFlattenedIndex` helpers for index
generation
3. convert row major to column major indicies in codegen depending on
LangOptions
Commit: 0918e0f1ede0e208b598a9837f5804ab786a2718
https://github.com/llvm/llvm-project/commit/0918e0f1ede0e208b598a9837f5804ab786a2718
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/and-or-implied-cond.ll
Log Message:
-----------
[InstSimplify] Simplify and/or of trunc nuw to i1 with op replacement (#185517)
Regression noticed in https://github.com/llvm/llvm-project/pull/184182
proof: https://alive2.llvm.org/ce/z/CMjuSC
Commit: 9dece6d7a1d13e26a24ac46e070ebfb66b6c6292
https://github.com/llvm/llvm-project/commit/9dece6d7a1d13e26a24ac46e070ebfb66b6c6292
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
A clang-tools-extra/clang-tidy/modernize/UseStdBitCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseStdBitCheck.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/modernize/use-std-bit.rst
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-bit.cpp
Log Message:
-----------
[clang-tidy] New checker: modernize-use-std-bit to detect std::has_one_bit idiom (#185435)
From
https://graphics.stanford.edu/~seander/bithacks.html#DetermineIfPowerOf2
Commit: 55c76a4345e2fb92f10ec9e838fecd63aebc46a0
https://github.com/llvm/llvm-project/commit/55c76a4345e2fb92f10ec9e838fecd63aebc46a0
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/test/Transforms/AggressiveInstCombine/masked-cmp.ll
Log Message:
-----------
[AggressiveInstCombine] trunc to i1 in any or all bits set check (#184246)
trunc (or (lshr X, C), ...)) to i1 --> (X & CMask) != 0
trunc (and (lshr X, C), ...)) to i1 --> (X & CMask) == CMask
Regression noticed in https://github.com/llvm/llvm-project/pull/184182
Proof: https://alive2.llvm.org/ce/z/8QXWrq
Commit: e60216e636e86b924bbab51e2ae3564d7185c0b9
https://github.com/llvm/llvm-project/commit/e60216e636e86b924bbab51e2ae3564d7185c0b9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Use CUR_DIRECTION constant in more places. NFC (#185571)
Commit: 52be4b696d5595a48060c8b64d0ed934b94b9aec
https://github.com/llvm/llvm-project/commit/52be4b696d5595a48060c8b64d0ed934b94b9aec
Author: eleviant <eleviant at accesssoftek.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/ptrauth-tail-call-global.ll
Log Message:
-----------
[AArch64][PAC] Don't skip global legalization for AUTH_TCRETURN (#182513)
The 77bcab835aca1 folds llvm.ptrauth.resign intrinsic in case intrinsic
discriminant and key match those in call ptrauth bundle. However
assertion is now fired in AArch64AsmPrinter when PAC is enabled and
we're tail calling a global, because AUTH_TCRETURN expects address to be
stored in register.
Commit: 4d49a1e616074b00eb86dfb48585de74696d681e
https://github.com/llvm/llvm-project/commit/4d49a1e616074b00eb86dfb48585de74696d681e
Author: Chinmay Deshpande <chdeshpa at amd.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Log Message:
-----------
[AMDGPU] Move constraining of the reg class during SGPR to VGPR copy to existing loop (#182104)
Commit: 072e869c9cf18d689d13d64cc86851c2e12d215d
https://github.com/llvm/llvm-project/commit/072e869c9cf18d689d13d64cc86851c2e12d215d
Author: Marios Pomonis <110858090+marpom at users.noreply.github.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/tools/sancov/sancov.cpp
Log Message:
-----------
Add sancov support for large AArch64 binaries. (#185374)
In AArch64 calls have a +/-128MB range
(https://developer.arm.com/documentation/ddi0602/2025-12/Base-Instructions/BL--Branch-with-link-).
In cases where the .text is larger than that, the linker adds functions
that just jumps to the sanitizer functions and places them to some code
location where the rest of the binary can call it. These functions have
the prefix __AArch64ADRPThunk__.
This commit marks calls to this function as coverage points.
Commit: fd069a46bf77227e058475508c679f3a004d7b36
https://github.com/llvm/llvm-project/commit/fd069a46bf77227e058475508c679f3a004d7b36
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/cmake/base-config-ix.cmake
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/cmake/caches/GPU.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/profile/CMakeLists.txt
M offload/cmake/caches/AMDGPULibcBot.cmake
M offload/cmake/caches/FlangOffload.cmake
M offload/cmake/caches/Offload.cmake
Log Message:
-----------
[copmiler-rt] Initial support for building profile library on the GPU (#185552)
Summary:
As suggested in https://github.com/llvm/llvm-project/pull/177665, we
should build a GPU version of the compiler-rt profile library instead of
writing it in-line in the lowering. This PR does not define anything GPU
specific, it simply re-uses the baremetal handling. Later PRs will
prevent the GPU specific handling we would want to do to optimize
counter handling on the GPU.
Note that this will require using the cache file, or setting these
options
manually for existing users. Hopefully if people are using the cache
file
as they should it won't break anything.
Commit: 5c4856c814dc8511c0b1440d6242c24966b51c17
https://github.com/llvm/llvm-project/commit/5c4856c814dc8511c0b1440d6242c24966b51c17
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/trunc.ll
Log Message:
-----------
[InstCombine] Fold trunc (usub.sat 1, x) to i1 -> icmp eq x, 0 (#185524)
Regression noticed in https://github.com/llvm/llvm-project/pull/184182
Proof: https://alive2.llvm.org/ce/z/hsyFbC
Commit: 40cd48fd385b57855a104a4192c4d4468889d22d
https://github.com/llvm/llvm-project/commit/40cd48fd385b57855a104a4192c4d4468889d22d
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M lld/test/wasm/relocatable.ll
Log Message:
-----------
[lld][WebAssembly] Restore inactive checks relocatable.ll test. NFC (#185569)
Back in 6474d1b20 this test was updated, removing the NORMAL vs SHARED
distinction in the output checking. However many of the NORMAL-NEXT
lines were left unmodified, making them effectively disabled.
This restores and updates the expectations.
Commit: 30f13b12a0bee2ec109f37876d3d17106acfb41f
https://github.com/llvm/llvm-project/commit/30f13b12a0bee2ec109f37876d3d17106acfb41f
Author: ambergorzynski <120007557+ambergorzynski at users.noreply.github.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/vgpr-mark-last-scratch-load.ll
Log Message:
-----------
[AMDGPU] New test for untested line in AMDGPUMarkLastScratchLoad (#185430)
[This
line](https://github.com/llvm/llvm-project/blob/af15474262100ade9a8fcfd05f9e05c7ba23ff8c/llvm/lib/Target/AMDGPU/AMDGPUMarkLastScratchLoad.cpp#L121)
in the AMDGPU backend is uncovered by the existing test suite (checked
using coverage, and by asserting that no tests in the existing test
suite fails if we insert an `abort()` at this line).
We propose a test that covers this line. We demonstrate the test by
inserting an `abort()` at that line in commit
[#3cb65cf](https://github.com/llvm/llvm-project/pull/185430/changes/3cb65cf4451b5e728fb1e4968ba78b8e83d74220).
Running all tests shows that only our proposed test fails in the
presence of the abort. We'll remove the abort before merging.
This is the only test that fails in the presence of the abort (our new
test) -- it will pass once we remove the abort:
`CodeGen/AMDGPU/mark-last-scratch-load.ll`
Commit: 413153581af02d413b597470f0b87ee3342bde55
https://github.com/llvm/llvm-project/commit/413153581af02d413b597470f0b87ee3342bde55
Author: Kelvin Li <kli at ca.ibm.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M flang/test/Driver/fsafe-trampoline.f90
Log Message:
-----------
[flang] Add REQUIRES for the trampoline test (#185699)
Instead of listing the UNSUPPORTED list, it makes sense to have
the REQUIRES.
Fix build failure in https://lab.llvm.org/buildbot/#/builders/157/builds/45154.
Commit: 41c0b19d878f2bb9b2c0a4ccb08f81da992e4fef
https://github.com/llvm/llvm-project/commit/41c0b19d878f2bb9b2c0a4ccb08f81da992e4fef
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
M mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCUtils.h
M mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsCG.h
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/ACCComputeLowering.cpp
M mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtils.cpp
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsCG.cpp
A mlir/test/Dialect/OpenACC/acc-compute-lowering-compute.mlir
A mlir/test/Dialect/OpenACC/acc-compute-lowering-loop.mlir
A mlir/test/Dialect/OpenACC/acc-compute-lowering-unstructured.mlir
M mlir/unittests/Dialect/OpenACC/OpenACCUtilsCGTest.cpp
Log Message:
-----------
[mlir][acc] Add ACCComputeLowering pass (#185501)
Introduce a pass that lowers OpenACC compute constructs to a
representation that separates the data environment from the compute body
and prepares for parallelism assignment and privatization at the right
granularity.
- Decompose acc.parallel, acc.serial, and acc.kernels into
acc.kernel_environment and acc.compute_region. Launch arguments
(num_gangs, num_workers, vector_length) are turned into acc.par_width
and passed as compute_region launch operands.
- Convert acc.loop to SCF based on context: unstructured loops to
scf.execute_region; sequential (serial or seq) to scf.parallel with
par_dims=sequential; auto loops to scf.for (with collapse when
multi-dimensional); orphan loops to scf.for; independent loops in
parallel/kernels to scf.parallel with par_dims from the GPU mapping.
---------
Co-authored-by: Scott Manley <rscottmanley at gmail.com>
Commit: 9472490520b11b855991f13e5617381df1be23fd
https://github.com/llvm/llvm-project/commit/9472490520b11b855991f13e5617381df1be23fd
Author: Serosh <janmejayapanda400 at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaOverload.cpp
A clang/test/SemaCXX/gh183887.cpp
Log Message:
-----------
[clang] fix explicit incomplete enum (#184210)
stop BuildConvertedConstantExpression early for already-broken
expressions to prevent crashes in the constant conversion
fixes #183887
Commit: 4398b5fa8c1a8384feb62f20fb7b13b443f149b7
https://github.com/llvm/llvm-project/commit/4398b5fa8c1a8384feb62f20fb7b13b443f149b7
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M lldb/include/lldb/Utility/DataExtractor.h
M lldb/include/lldb/Utility/VirtualDataExtractor.h
M lldb/source/Symbol/ObjectFile.cpp
Log Message:
-----------
[lldb] Have ObjectFile::FindPlugin send a copy of the DE (#185727)
ObjectFile::FindPlugin iterates over plugins to find one that can handle
the binary provided. It is currently sending the one DataExtractorSP to
each subclass, but some subclasses may modify this DataExtractor during
their processing, e.g. calling DataExtractor::SetData on it, and I think
it is safer to isolate these with a copy of the DataExtractor so the
order the plugins are tried cannot possibly change behavior.
Commit: 79c9dadc0faea3a2e36866139adb4de7d4631873
https://github.com/llvm/llvm-project/commit/79c9dadc0faea3a2e36866139adb4de7d4631873
Author: Diego Novillo <dnovillo at nvidia.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/powi-glsl.ll
Log Message:
-----------
[SPIR-V] Add lowering for G_FPOWI (#185454)
This fixes an assertion I was hitting in the fragment density map sample
in Vulkan Samples. In starfield.frag.hlsl, we have
float starCol = pow((rnd - threshhold) / (1.0 - threshhold), 16.0);
The optimizer recognizes 16.0 as a whole number and converts the call to
`llvm.powi`. The backend goes on to fail with:
fatal error: error in backend: cannot select: %46:fid(s64) = nnan ninf
nsz arcp afn reassoc G_FPOWI %44:fid, %45:iid(s64) (in function:
_Z9starFieldDv3_f)
On Vulkan, there is no integer-exponent for pow. This patch lowers it by
converting the exponent to float and calling GLSL.std.450's Pow.
---------
Co-authored-by: Steven Perron <stevenperron at google.com>
Commit: e94c21a7e3d0877e9486e63b15a646e94c35f790
https://github.com/llvm/llvm-project/commit/e94c21a7e3d0877e9486e63b15a646e94c35f790
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Port 41c0b19d878f2bb9b2c0a4ccb08f81da992e4fef
Commit: ab048ac6c0339c631ea4a1064b675318867a3853
https://github.com/llvm/llvm-project/commit/ab048ac6c0339c631ea4a1064b675318867a3853
Author: Artem Belevich <tra at google.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/lib/Headers/__clang_cuda_runtime_wrapper.h
Log Message:
-----------
[clang][CUDA] Define _NV_RSQRT_SPECIFIER for glibc-2.42/cuda-13.2 compatibility (#185701)
CUDA-13.2 defines _NV_RSQRT_SPECIFIER to make its headers compileable
with glibc 2.42+. However, clang does not include the header that
defines the macro, and has to define it by itself.
Commit: b50cf35d57480a5523f2c9997b07ad8e274961bb
https://github.com/llvm/llvm-project/commit/b50cf35d57480a5523f2c9997b07ad8e274961bb
Author: Syadus Sefat <42645939+mssefat at users.noreply.github.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/fp-min-max-num-flat-atomics.ll
M llvm/test/CodeGen/AMDGPU/fp-min-max-num-global-atomics.ll
Log Message:
-----------
[AMDGPU][GlobalIsel] Add register bank legalization rules for amdgcn atomic fminmax num (#184564)
This patch adds register bank legalization rules for amdgcn global/flat
atomic fmin/fmax num operations in the AMDGPU GlobalISel pipeline.
Commit: 8e24cb4c23f2162d6a4adedb02de64b66a071eec
https://github.com/llvm/llvm-project/commit/8e24cb4c23f2162d6a4adedb02de64b66a071eec
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang-tools-extra/clang-doc/assets/comment-template.mustache
Log Message:
-----------
[clang-doc][NFC] Remove outdated tag in comment template (#185704)
Commit: 7a104955e74f780db9c325a85579e26e000827e4
https://github.com/llvm/llvm-project/commit/7a104955e74f780db9c325a85579e26e000827e4
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M mlir/lib/Dialect/OpenACC/IR/OpenACCCG.cpp
Log Message:
-----------
[MLIR] Fix -Wunused-variable in 41c0b19d878f2bb9b2c0a4ccb08f81da992e4fef
Commit: 9e611e82b8abcebe2a20fa5337f97ab2f4dddeb0
https://github.com/llvm/llvm-project/commit/9e611e82b8abcebe2a20fa5337f97ab2f4dddeb0
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Interfaces/ASTAttrInterfaces.h
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
A clang/test/CIR/CodeGen/delete-array.cpp
Log Message:
-----------
[CIR] Add abstract delete operation without AST attribute (#185538)
This introduces the cir.delete_array operation, adds code to emit that
operation during CIR codegen, and adds lowering of the operation to the
CXXABILowering pass.
In order to handle possible variations in the delete representation, we
add the name of the delete function, the usual delete parameters, and,
optionally, the name of the element destructor function.
During the CXXABILoweringPass, the cir.delete_array operation is
expanded to call the delete function. This will be extended in a future
change to handle reading the array cookie, if required, and calling
element destructors.
Commit: 9d8810cbd39f0d0cf9eddea81bf149ce034df6c0
https://github.com/llvm/llvm-project/commit/9d8810cbd39f0d0cf9eddea81bf149ce034df6c0
Author: schittir <sindhu.chittireddy at intel.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
A clang/test/CodeGenCXX/microsoft-abi-diamond-template-multiple-vbptrs-32bit.cpp
M clang/test/CodeGenCXX/microsoft-abi-diamond-template-multiple-vbptrs.cpp
Log Message:
-----------
[clang][codegen] Additional tests for vbptr memory size calculation (#185703)
This patch adds three vbptr and 32 bit test cases for additional
coverage
Follow-up to https://github.com/llvm/llvm-project/pull/184558
Commit: 8963edb534e28d548d8381675bb18af1770c3041
https://github.com/llvm/llvm-project/commit/8963edb534e28d548d8381675bb18af1770c3041
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/landing_pad.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/slp-fma-loss.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/buildvector-all-external-scalars.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/small-phi-tree.ll
M llvm/test/Transforms/SLPVectorizer/SystemZ/SLP-cmp-cost-query.ll
M llvm/test/Transforms/SLPVectorizer/SystemZ/vec-elt-insertion.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvectors-parent-phi-nodes.ll
M llvm/test/Transforms/SLPVectorizer/X86/cse.ll
M llvm/test/Transforms/SLPVectorizer/X86/deleted-instructions-clear.ll
M llvm/test/Transforms/SLPVectorizer/X86/deleted-node-with-copyable-operands.ll
M llvm/test/Transforms/SLPVectorizer/X86/expected-prof-consecutive-access.ll
M llvm/test/Transforms/SLPVectorizer/X86/external-bin-op-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/geps-non-pow-2.ll
M llvm/test/Transforms/SLPVectorizer/X86/malformed_phis.ll
M llvm/test/Transforms/SLPVectorizer/X86/matching-gather-nodes-phi-users.ll
M llvm/test/Transforms/SLPVectorizer/X86/parent-node-split-non-schedulable.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-extracted-and-externally-used.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_horcost.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_not_all_parts.ll
M llvm/test/Transforms/SLPVectorizer/X86/vectorize-widest-phis.ll
M llvm/test/Transforms/SLPVectorizer/consecutive-access.ll
M llvm/test/Transforms/SLPVectorizer/reduced-gathered-vectorized.ll
Log Message:
-----------
[SLP] Loop aware cost model/tree building
Currently, SLP vectorizer do not care about loops and their trip count.
It may lead to inefficient vectorization in some cases. Patch adds loop
nest-aware tree building and cost estimation.
When it comes to tree building, it now checks that tree do not span
across different loop nests. The nodes from other loop nests are
immediate buildvector nodes.
The cost model adds the knowledge about loop trip count. If it is
unknown, the default value is used, controlled by the
-slp-cost-loop-min-trip-count=<value> option. The cost of the vector
nodes in the loop is multiplied by the number of iteration (trip count),
because each vector node will be executed the trip count number of
times. This allows better cost estimation.
Reviewers: jdenny-ornl, vporpo, hiraditya, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/150450
Commit: 9c464ee5f9df73eb267cb9a70ccee017df7ee968
https://github.com/llvm/llvm-project/commit/9c464ee5f9df73eb267cb9a70ccee017df7ee968
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Add SCFDialect dep to OpenACCDialect
Needed to satisfy some internal layering checks.
Commit: d4c7630e2c6eb0c991a37226b3f872256d5e47f0
https://github.com/llvm/llvm-project/commit/d4c7630e2c6eb0c991a37226b3f872256d5e47f0
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/utils/lldbDataFormatters.py
Log Message:
-----------
[lldb] Fix type checking in lldbDataFormatters (NFC) (#185706)
Commit: ffa128d5667e94fbed64c0bda5c0a6beafd30ff1
https://github.com/llvm/llvm-project/commit/ffa128d5667e94fbed64c0bda5c0a6beafd30ff1
Author: Ravil Dorozhinskii <ravil.aviva.com at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUOps.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUOps.cpp
A mlir/test/Conversion/AMDGPUToROCDL/swmmac-gfx12.mlir
A mlir/test/Conversion/AMDGPUToROCDL/swmmac-gfx1250.mlir
M mlir/test/Dialect/AMDGPU/invalid.mlir
Log Message:
-----------
[AMDGPU] Added support for Sparse WMMA ops (#183360)
This PR adds support for Sparce WMMA ops (gfx12 and gfx1250)
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: 88c33f86e2acf37eb5b663e7f2bb47c5355eabec
https://github.com/llvm/llvm-project/commit/88c33f86e2acf37eb5b663e7f2bb47c5355eabec
Author: Igor Wodiany <dev at wodiany.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVMatrixOps.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/test/Dialect/SPIRV/IR/matrix-ops.mlir
Log Message:
-----------
[mlir][spirv] Move remaining verification from C++ to ODS for Matrix ops (#185702)
This adds two new custom constraints to enforce matrix and vector
dimension with respect to one another.
Assisted-by: Codex
Commit: 6bdd17da22961657f135847fd507371409f2a3d6
https://github.com/llvm/llvm-project/commit/6bdd17da22961657f135847fd507371409f2a3d6
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
Log Message:
-----------
[X86] Add stop-gap for SDAG failure in fptrunc lowering
```
define <3 x half> @err_420(<3 x float> %0) {
entry:
%1 = fptrunc <3 x float> %0 to <3 x half>
ret <3 x half> %1
}
```
currently crashes.
\#185562 will fix this, but needs another round of review. Land a
stop-gap for now to unblock our integrate process.
Commit: 3829fdb8afaa4a54d7210a52047e8acb2cf6aa5b
https://github.com/llvm/llvm-project/commit/3829fdb8afaa4a54d7210a52047e8acb2cf6aa5b
Author: John Paul Jepko <jpjepko at umich.edu>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M mlir/lib/Pass/PassRegistry.cpp
M mlir/test/Pass/invalid-pass.mlir
Log Message:
-----------
[mlir][Pass] Report error when passing options to pipelines via shorthand syntax (#185738)
When passing options to a pass pipeline that doesn't accept options,
mlir-opt exits with error code 1, but prints no error message when using
shorthand CLI syntax:
```
# Silent failure (no error message):
$ mlir-opt --tosa-to-linalg-pipeline=foo /dev/null
$ echo $?
1
# Same pipeline via --pass-pipeline syntax reports error:
$ mlir-opt --pass-pipeline='builtin.module(tosa-to-linalg-pipeline{foo})' /dev/null
<unknown>:0: error: failed to add `tosa-to-linalg-pipeline` with options `foo`
```
This PR adds replaces the silent call to `failure` with `errorHandler`
in `PassPipelineCLParser::addToPipeline`, matching the existing pattern
in `TextualPipeline::addToPipeline`.
Commit: 1c228a0533ae76bace6a3e3fe1c22fc2858dbf75
https://github.com/llvm/llvm-project/commit/1c228a0533ae76bace6a3e3fe1c22fc2858dbf75
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M lldb/include/lldb/Host/Host.h
M lldb/include/lldb/Target/Platform.h
M lldb/include/lldb/Target/RemoteAwarePlatform.h
M lldb/source/API/SBPlatform.cpp
M lldb/source/Commands/CommandObjectPlatform.cpp
M lldb/source/Host/common/Host.cpp
M lldb/source/Host/macosx/objcxx/Host.mm
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
M lldb/source/Host/windows/Host.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h
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/GDBRemoteCommunicationServerCommon.cpp
M lldb/source/Plugins/SymbolLocator/DebugSymbols/SymbolLocatorDebugSymbols.cpp
M lldb/source/Target/Platform.cpp
M lldb/source/Target/RemoteAwarePlatform.cpp
Log Message:
-----------
[lldb] Have Host::RunShellCommand ret stderr & stdout seperately (#184548)
Host::RunShellCommand takes a std::string *command_output argument and a
bool hide_stderr=false defaulted argument. If the shell command returns
stderr and stdout text, it is intermixed in the same command_output,
unless hide_stderr=true.
In SymbolLocatorDebugSymbols::DownloadObjectAndSymbolFile we call an
external program to find a binary and dSYM by uuid, and the external
program returns a plist (xml) output. In some cases, it printed a
(harmless) warning message to stderr, and then a complete plist output
to stdout. We attempt to parse the combination of these two streams, and
the parse fails - we don't get the output.
This patch removes hide_stderr and instead adds a `std::string
*separated_error_output` argument. If `separated_error_output` is
nullptr, output and error texts are returned combined in the
`command_output` argument. If a std::string object address is provided
for `separated_error_output`, then standard error output is separated
into this string. A caller which wants the old `hide_stderr=true`
behavior should pass a throwaway std::string object to `RunShellCommand`
and ignore it.
rdar://168621579
Commit: 7615f587e5e381f88724526d3d4cfd2cbe4c567f
https://github.com/llvm/llvm-project/commit/7615f587e5e381f88724526d3d4cfd2cbe4c567f
Author: Anshul Nigham <nigham at google.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.h
M llvm/lib/Target/AArch64/AArch64BranchTargets.cpp
M llvm/lib/Target/AArch64/AArch64PassRegistry.def
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
Log Message:
-----------
[NewPM] Port AArch64BranchTargets (#185585)
Commit: afdfbd2ecc193841de0aa224230ca689e1bec01f
https://github.com/llvm/llvm-project/commit/afdfbd2ecc193841de0aa224230ca689e1bec01f
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/CUDA/CUFPredefinedVarToGPU.cpp
M flang/test/Fir/CUDA/predefined-variables.mlir
Log Message:
-----------
[flang][cuda] Support predefined conversion in inlined function (#185723)
Only fir.declare at top level were converted. Update the pass to loop
through all fir.declare operations.
Commit: 3878131497bb4518d7956edec9cd16a008a39643
https://github.com/llvm/llvm-project/commit/3878131497bb4518d7956edec9cd16a008a39643
Author: Jason Van Beusekom <jason.van-beusekom at hpe.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Flang.h
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Driver/omp-driver-offload.f90
A flang/test/Lower/OpenMP/math-nvptx.f90
Log Message:
-----------
[FLANG][MLIR][OpenMP] add MathToNVVM conversion pass to NVPTX MLIR (#180060)
This Commit adds the MLIR MathToNVVM conversion pass to flang's
NVPTX codegen lowering Math and Arith operations to libdevice library calls.
This allows support for calls to Fortran math intrinsics for OpenMP offload
for NVIDIA Targets. To support this support for -nogpulib was added for
NVIDIA targets
Fix #147023
Fix #179347
Commit: 32c59aebd6e8fe2cab5adea943c27909d1a98bd9
https://github.com/llvm/llvm-project/commit/32c59aebd6e8fe2cab5adea943c27909d1a98bd9
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
A clang/test/CIR/CodeGen/convert-incomplete-type.cpp
Log Message:
-----------
[CIR] Remove diagnostic when handling incomplete record types (#185715)
Following the example of classic codegen, we were checking for
incomplete record types in function signatures and issuing a diagnostic
in a place where it appeared that the type conversion needed to be
delayed. However, because CIR defers ABI processing until after codegen,
we don't actually need special handling for incomplete types.
This change removes the diagnostic and adds a comment explaining the
difference in behavior.
Commit: 6dbcbcc24312bda2ade972bfb5fc92ec2c9409ef
https://github.com/llvm/llvm-project/commit/6dbcbcc24312bda2ade972bfb5fc92ec2c9409ef
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[SystemZ] Disable PCH on z/OS. (#185750)
The compiler supports PCH in principle, but there are occasionally
hickups. Therefore it is better to disable PCH by default.
Commit: 639f47c0ee516ab364c16c2b334ad385052f8586
https://github.com/llvm/llvm-project/commit/639f47c0ee516ab364c16c2b334ad385052f8586
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Use RISCVCC::getInverseBranchOpcode in RISCVInstrInfo::reverseBranchCondition. NFC (#185752)
Commit: 08cef699c4bb2e5236393d73e8ce05ad08a4ccca
https://github.com/llvm/llvm-project/commit/08cef699c4bb2e5236393d73e8ce05ad08a4ccca
Author: John Harrison <harjohn at google.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M lldb/unittests/DAP/DAPTest.cpp
M lldb/unittests/DAP/Handler/DisconnectTest.cpp
M lldb/unittests/DAP/TestBase.cpp
M lldb/unittests/DAP/TestBase.h
A lldb/unittests/DAP/TestUtilities.h
M lldb/unittests/DAP/VariablesTest.cpp
M lldb/unittests/TestingSupport/TestUtilities.cpp
M lldb/unittests/TestingSupport/TestUtilities.h
Log Message:
-----------
[lldb] Consolidating platform support checks in tests. (#184656)
Moving the platform support check into
`lldb/unittests/TestingSupport/TestUtilities.h` so it can be reused
across tests.
Also skipping 'VariablesTest' cases that load a core dump if the
platform is not supported.
Commit: 67094a4e643203281ecaef761b564786e4e3cca8
https://github.com/llvm/llvm-project/commit/67094a4e643203281ecaef761b564786e4e3cca8
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
M llvm/test/CodeGen/X86/vector-half-conversions.ll
Log Message:
-----------
[X86] Fix assertion when lowering FP_ROUND (#185562)
443ce5569ee9854cfef1139cf6b9cf05165e0902 caused us to start hitting
assertions with non-standard vector widths (<3 x float>) in this case
now that node types are actually enforced. There was a place in
X86ISelLowering.cpp where we just passed along a 64-bit integer whereas
other places constructing a CVTPS2PH node specifically construct a new
integer.
Commit: 687e66c989887542b1702a7a99eeaa4e25edd12e
https://github.com/llvm/llvm-project/commit/687e66c989887542b1702a7a99eeaa4e25edd12e
Author: Saleem Abdulrasool <compnerd at compnerd.org>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/tools/libclang/CMakeLists.txt
M lldb/source/API/CMakeLists.txt
Log Message:
-----------
build: adjust LLDB and clang library naming on Windows (#185084)
Ensure that use of the GNU driver does not change the library name on
Windows. We would check the build tools being MSVC rather than targeting
Windows to select the output name.
Commit: a585f4566fac825af0b02fa8592b769f630f6cf2
https://github.com/llvm/llvm-project/commit/a585f4566fac825af0b02fa8592b769f630f6cf2
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSDate.py
Log Message:
-----------
[lldb] Make date test handle host-target time difference (#185759)
It seems there may be a formatter bug when there's a time zone
difference between the target machine being debugged, and the host the
debugger is running on.
Commit: ffdf216cdada5d3caa844854c40290f1c61f4bfd
https://github.com/llvm/llvm-project/commit/ffdf216cdada5d3caa844854c40290f1c61f4bfd
Author: Nico Weber <thakis at chromium.org>
Date: 2026-03-10 (Tue, 10 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
R clang/test/SemaCXX/warn-unsafe-buffer-usage-string-view.cpp
Log Message:
-----------
Revert "[Clang][UnsafeBufferUsage] Warn about two-arg string_view constructors. (#180471)" (#185692)
This reverts commit 75b2ea57d5f4a5ae0de1b3ca1ca7eec464811b45.
Makes clang assert, see:
https://github.com/llvm/llvm-project/pull/180471#issuecomment-4033081814
Commit: a4244bcc1c2adaf7f747f1debf6e7631f9e83183
https://github.com/llvm/llvm-project/commit/a4244bcc1c2adaf7f747f1debf6e7631f9e83183
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/test/CodeGen/RISCV/rv64p.ll
M llvm/test/CodeGen/X86/avgceils-scalar.ll
M llvm/test/CodeGen/X86/avgceilu-scalar.ll
M llvm/test/CodeGen/X86/avgfloors-scalar.ll
M llvm/test/CodeGen/X86/div_i129_v_pow2k.ll
M llvm/test/CodeGen/X86/expand-large-fp-optnone.ll
M llvm/test/CodeGen/X86/fold-tied-op.ll
M llvm/test/CodeGen/X86/icmp-shift-opt.ll
M llvm/test/CodeGen/X86/legalize-shl-vec.ll
M llvm/test/CodeGen/X86/load-local-v3i129.ll
M llvm/test/CodeGen/X86/midpoint-int.ll
M llvm/test/CodeGen/X86/pr32282.ll
M llvm/test/CodeGen/X86/pr38539.ll
M llvm/test/CodeGen/X86/pr43820.ll
M llvm/test/CodeGen/X86/pr49162.ll
M llvm/test/CodeGen/X86/rotate-extract.ll
M llvm/test/CodeGen/X86/scmp.ll
M llvm/test/CodeGen/X86/sdiv_fix_sat.ll
M llvm/test/CodeGen/X86/shift-and.ll
M llvm/test/CodeGen/X86/shift-i256.ll
M llvm/test/CodeGen/X86/shift-i512.ll
M llvm/test/CodeGen/X86/smax.ll
M llvm/test/CodeGen/X86/smin.ll
M llvm/test/CodeGen/X86/udiv_fix_sat.ll
M llvm/test/CodeGen/X86/umax.ll
M llvm/test/CodeGen/X86/umin.ll
M llvm/test/CodeGen/X86/vector-sext.ll
M llvm/test/CodeGen/X86/vector-zext.ll
Log Message:
-----------
[LegalizeTypes] Emit FSHL/FSHR from ExpandShiftByConstant when Legal. (#180888)
This avoids needing to combine the SHL/SHR/OR pattern later.
This improves code quality on RISC-V where our slx/srx instructions
clobber the destination register but we don't have an immediate form.
We can't recover the original direction from the SHL/SHR/OR pattern
and we can't commute it during the TwoAddressInstruction pass like X86
due to the shift amount being in a register.
Commit: 048106bb2c4503e77b934d23cbd2f03eaaa9ffc1
https://github.com/llvm/llvm-project/commit/048106bb2c4503e77b934d23cbd2f03eaaa9ffc1
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
Log Message:
-----------
[HLSL] Fix intrinsics header file 16 bit attribute macro to use version 6.2 (#185757)
There have been a couple builtins declared in a header file that specify
16 bit availability for shader model 6.0.
This is incorrect, it should be 6.2.
This bug was propagated for many of the waveops, and should be
corrected.
Fixes https://github.com/llvm/llvm-project/issues/185756
Commit: 9d65b65a9a022b7e5fdb4cb096b064a34f695fb2
https://github.com/llvm/llvm-project/commit/9d65b65a9a022b7e5fdb4cb096b064a34f695fb2
Author: Deric C. <cheung.deric at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/test/CodeGenHLSL/builtins/mul.hlsl
M clang/test/SemaHLSL/BuiltIns/mul-errors.hlsl
M llvm/test/CodeGen/DirectX/matrix-multiply.ll
Log Message:
-----------
[HLSL][Matrix] Add `half` type overloads to `mul` and exercise them (#185506)
PR #184882 was missing `half` type-specific overloads for `mul`.
This PR introduces `half` type-specific overloads for `mul` and
additional codegen tests for the half type.
Also added f16 tests for the lowering of llvm.matrix.multiply.
The offload test suite already has a `mul.fp16` test for exercising half
types at runtime, so no change is needed there.
Assisted-by: claude-opus-4.6
Commit: 12fcde1a71036534580551f03dca01448b108d2c
https://github.com/llvm/llvm-project/commit/12fcde1a71036534580551f03dca01448b108d2c
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
A clang/test/CodeGenHLSL/resources/CBufferMatrixSingleSubscriptSwizzle.hlsl
Log Message:
-----------
[Matrix] Copy Row data from padded cbuffer offsets before swizzle (#185346)
fixes https://github.com/llvm/llvm-project/issues/184849
The fix is just to copy the data before a swizzle can happen
Commit: 8d0c686c5584a118308182b20aaed9f8b1707db2
https://github.com/llvm/llvm-project/commit/8d0c686c5584a118308182b20aaed9f8b1707db2
Author: Sietze Riemersma <43845930+KungFuDonkey at users.noreply.github.com>
Date: 2026-03-10 (Tue, 10 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/WaveActiveBitOr.hlsl
A clang/test/SemaHLSL/BuiltIns/WaveActiveBitOr-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/WaveActiveBitOr.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveActiveBitOr.ll
Log Message:
-----------
[HLSL][DXIL][SPIRV] Added WaveActiveBitOr HLSL intrinsic (#165156)
Adds the WaveActiveBitOr intrinsic from issue #99167. This intrinsic
required a bit more work than the last intrinsics that I have done.
There are some peculiarities, which I verified with dxcompiler:
- WaveActiveBitOr only works on uint and uint64_t, no other types are
allowed
- There is no 16 bit version of WaveActiveBitOr
Followed the checklist:
- [x] Implement WaveActiveBitOr clang builtin,
- [x] Link WaveActiveBitOr clang builtin with hlsl_intrinsics.h
- [x] Add sema checks for WaveActiveBitOr to
CheckHLSLBuiltinFunctionCall in SemaChecking.cpp
- [x] Add codegen for WaveActiveBitOr to EmitHLSLBuiltinExpr in
CGBuiltin.cpp
- [x] Add codegen tests to
clang/test/CodeGenHLSL/builtins/WaveActiveBitOr.hlsl
- [x] Add sema tests to
clang/test/SemaHLSL/BuiltIns/WaveActiveBitOr-errors.hlsl
- [x] Create the int_dx_WaveActiveBitOr intrinsic in
IntrinsicsDirectX.td
- [x] Create the DXILOpMapping of int_dx_WaveActiveBitOr to 120 in
DXIL.td
- [x] Create the WaveActiveBitOr.ll and WaveActiveBitOr_errors.ll tests
in llvm/test/CodeGen/DirectX/
- [x] Create the int_spv_WaveActiveBitOr intrinsic in IntrinsicsSPIRV.td
- [x] In SPIRVInstructionSelector.cpp create the WaveActiveBitOr
lowering and map it to int_spv_WaveActiveBitOr in
SPIRVInstructionSelector::selectIntrinsic.
- [x] Create SPIR-V backend test case in
llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveActiveBitOr.ll
offload test: https://github.com/llvm/offload-test-suite/pull/487
Commit: f35042a639f0ae3c0379abe5066a5bab7a540313
https://github.com/llvm/llvm-project/commit/f35042a639f0ae3c0379abe5066a5bab7a540313
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
M flang/lib/Optimizer/OpenACC/Support/RegisterOpenACCExtensions.cpp
M flang/test/Transforms/OpenACC/offload-target-verifier.fir
Log Message:
-----------
[flang][openacc] Attach IndirectGlobalAccessModel to fir.use_stmt (#185767)
In some cases, `fir.use_stmt` operation can end up in offload region
like in acc routine for example. Make sure we can validate the symbols
associated with the `fir.use_stmt` operation.
Commit: b02ef5abab026ca78ba72f7a90411827fc8a51bd
https://github.com/llvm/llvm-project/commit/b02ef5abab026ca78ba72f7a90411827fc8a51bd
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-03-10 (Tue, 10 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/Serialization/JSONFormat/JSONFormatImpl.cpp
A clang/test/Analysis/Scalable/ssaf-format/list.test
M clang/test/CMakeLists.txt
M clang/test/lit.cfg.py
M clang/tools/CMakeLists.txt
A clang/tools/ssaf-format/CMakeLists.txt
A clang/tools/ssaf-format/SSAFFormat.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.h
Log Message:
-----------
[clang][ssaf] Add ssaf-format to validate and convert summaries
This PR introduces the `ssaf-format` command-line tool, which validates
and converts translation-unit (TU) and link-unit (LU) summaries between
registered serialization formats in the SSAF framework. After the
serialization format registry and the JSON format were introduced, there
was no standalone tool to inspect, validate, or convert summary files
outside of a full compilation pipeline. `ssaf-format` fills that gap: it
serves as both a format validator (read without writing) and a format
converter (read then write to a different format or path).
Commit: 7ee95832ef78670ee256e9b13775086e3410c413
https://github.com/llvm/llvm-project/commit/7ee95832ef78670ee256e9b13775086e3410c413
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/AST/HLSL/ast-dump-SpirvType.hlsl
M clang/test/AST/HLSL/pch_spirv_type.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer-empty-struct-array.hlsl
Log Message:
-----------
[HLSL] Ignore complex types that do not contribute to cbuffer layout (#184276)
Detect arrays of empty structs and similar constructs in constant buffers. Ignore them if they do not contribute to `cbuffer` layout
Fixes #183788
Commit: e55bb9ebdd73595de605f660393b5649d506e4c0
https://github.com/llvm/llvm-project/commit/e55bb9ebdd73595de605f660393b5649d506e4c0
Author: Alan Zhao <ayzhao at google.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/and2.ll
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[InstCombine][profcheck] Set unknown branch weights when folding booleans (#185769)
In cases where two logical operations are folded into one, InstCombine
first folds one of the logical operations into an binary operation,
losing the profile information. Ordinarily, we could've used that
information to compute the branch weight information of the new
instruction, but since we don't have the original weights, we say the
new instruction has unknown branch weights.
Tracking issue: #147390
Commit: 10644a143922816b8326e8be0d1790220ba2cd6b
https://github.com/llvm/llvm-project/commit/10644a143922816b8326e8be0d1790220ba2cd6b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M libclc/CMakeLists.txt
R libclc/libclc.pc.in
Log Message:
-----------
[libclc] Remove unused and incorrect pkgconf file (#185654)
Summary:
All this file does is pass `-L` to an incorrect location. These files
are installed as part of the resource directory which is always included
anyway, so I think this is vestigial and can be removed.
Commit: d6514036002d79fe0a62f266f8b80e7b39ba2e5f
https://github.com/llvm/llvm-project/commit/d6514036002d79fe0a62f266f8b80e7b39ba2e5f
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M lldb/unittests/Platform/PlatformDarwinTest.cpp
Log Message:
-----------
[lldb][test] PlatformDarwinTest.cpp: skip dSYM test on Windows
Fails on Windows with:
```
Script:
--
C:\buildbot\as-builder-10\lldb-x86-64\build\tools\lldb\unittests\Platform\.\LLDBPlatformTests.exe --gtest_filter=PlatformDarwinLocateTest.LocateExecutableScriptingResourcesFromDSYM_SpecialCharactersInModuleName_NoMatch
--
C:\buildbot\as-builder-10\lldb-x86-64\llvm-project\lldb\unittests\Platform\PlatformDarwinTest.cpp(466): error: Expected equality of these values:
ss.GetString()
Which is: "warning: the symbol file 'c:\\buildbot\\as-builder-10\\lldb-x86-64\\build\\lit-tmp-yi3ecv47\\locate-scripts-from-dsym-test-39be18\\.dSYM\\Contents\\Resources\\DWARF\\TestModule-1.1 1.o' contains a debug script. However, its name contains reserved characters and as such cannot be loaded. If you intend to have this script loaded, please rename 'c:/buildbot/as-builder-10/lldb-x86-64/build/lit-tmp-yi3ecv47/locate-scripts-from-dsym-test-39be18/.dSYM/Contents/Resources/DWARF/../Python/TestModule-1.1 1.py' to 'c:/buildbot/as-builder-10/lldb-x86-64/build/lit-tmp-yi3ecv47/locate-scripts-from-dsym-test-39be18/.dSYM/Contents/Resources/DWARF/../Python/TestModule_1_1_1.py' and retry.\n"
expected
Which is: "warning: the symbol file 'c:\\buildbot\\as-builder-10\\lldb-x86-64\\build\\lit-tmp-yi3ecv47\\locate-scripts-from-dsym-test-39be18\\.dSYM\\Contents\\Resources\\DWARF\\TestModule-1.1 1.o' contains a debug script. However, its name contains reserved characters and as such cannot be loaded. If you intend to have this script loaded, please rename 'c:\\buildbot\\as-builder-10\\lldb-x86-64\\build\\lit-tmp-yi3ecv47\\locate-scripts-from-dsym-test-39be18\\.dSYM\\Contents\\Resources\\DWARF/../Python/TestModule-1.1 1.py' to 'c:\\buildbot\\as-builder-10\\lldb-x86-64\\build\\lit-tmp-yi3ecv47\\locate-scripts-from-dsym-test-39be18\\.dSYM\\Contents\\Resources\\DWARF/../Python/TestModule_1_1_1.py' and retry.\n"
C:\buildbot\as-builder-10\lldb-x86-64\llvm-project\lldb\unittests\Platform\PlatformDarwinTest.cpp:466
Expected equality of these values:
ss.GetString()
Which is: "warning: the symbol file 'c:\\buildbot\\as-builder-10\\lldb-x86-64\\build\\lit-tmp-yi3ecv47\\locate-scripts-from-dsym-test-39be18\\.dSYM\\Contents\\Resources\\DWARF\\TestModule-1.1 1.o' contains a debug script. However, its name contains reserved characters and as such cannot be loaded. If you intend to have this script loaded, please rename 'c:/buildbot/as-builder-10/lldb-x86-64/build/lit-tmp-yi3ecv47/locate-scripts-from-dsym-test-39be18/.dSYM/Contents/Resources/DWARF/../Python/TestModule-1.1 1.py' to 'c:/buildbot/as-builder-10/lldb-x86-64/build/lit-tmp-yi3ecv47/locate-scripts-from-dsym-test-39be18/.dSYM/Contents/Resources/DWARF/../Python/TestModule_1_1_1.py' and retry.\n"
expected
Which is: "warning: the symbol file 'c:\\buildbot\\as-builder-10\\lldb-x86-64\\build\\lit-tmp-yi3ecv47\\locate-scripts-from-dsym-test-39be18\\.dSYM\\Contents\\Resources\\DWARF\\TestModule-1.1 1.o' contains a debug script. However, its name contains reserved characters and as such cannot be loaded. If you intend to have this script loaded, please rename 'c:\\buildbot\\as-builder-10\\lldb-x86-64\\build\\lit-tmp-yi3ecv47\\locate-scripts-from-dsym-test-39be18\\.dSYM\\Contents\\Resources\\DWARF/../Python/TestModule-1.1 1.py' to 'c:\\buildbot\\as-builder-10\\lldb-x86-64\\build\\lit-tmp-yi3ecv47\\locate-scripts-from-dsym-test-39be18\\.dSYM\\Contents\\Resources\\DWARF/../Python/TestModule_1_1_1.py' and retry.\n"
```
It doesn't make sense to run these on Windows because this is testing dSYM-specific logic (which hard-codes forward slashes to navigate the dSYM directory). Technically we don't even need it on Linux, but since they pass, keep them on there for now.
Commit: cf8833e4cc0dfa8a9e8876b27ef49e61926ee0d2
https://github.com/llvm/llvm-project/commit/cf8833e4cc0dfa8a9e8876b27ef49e61926ee0d2
Author: yonghong-song <yhs at fb.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/BPF/BPFMISimplifyPatchable.cpp
A llvm/test/CodeGen/BPF/CORE/offset-reloc-simplify-patchable-4.ll
A llvm/test/CodeGen/BPF/CORE/offset-reloc-simplify-patchable-5.ll
Log Message:
-----------
[BPF] Fix CORE optimization bug in BPFMISimplifyPatchable (#183446)
Commit ffd57408efd4 ("[BPF] Enable relocation location for
load/store/shifts") enabled CORE relocation for load/store/shirts. In
particular, the commit did optimization to have load/store/shift insn
itself having the relocation. For the load and store, the optimization
has the following:
rX = *(rY + <relocation>) and *(rX + <relocation>) = rY
There is no value-range check for the above '<relocation>'. For example,
if the original `<relocation>` is 0x10006 due to a large struct, the
insn encoding of `<relocaiton>` will be truncated into '6' and incorrect
result will happen.
This patch fixed the issue by checking the value range of
'<relocation>'. If the `<relocation>` is more than INT16_MAX,
optimization will be skipped.
Even llvm side is fixed, libbpf side may still have issues with the
current approach since libbpf may change the value of <relocation>. If
the <relocation> value is more than INT16_MAX, libbpf will either fail
or need to patch insns.
Let us say we have
rX = *(rY + <relocation>) and *(rX + <relocation>) = rY
libbpf will modify `<relocation>` value depending on the actual offset
in kernel data structure. If `<relocation>` is more than INT16_MAX, more
than one insn will be necessary. llvm can add nop instructions for patch
purpose (see [1]).
The following are major patching cases:
case 1: rX = *(rY + <relocation>) // rX and rY are different
rX = <relocation>
rX += rY
rX = *(rX + 0)
case 2: rX = *(rX + <relocation>)
rX += <relocation>
rX = *(rX + 0)
case 3: *(rX + <relocation>) = imm
rX += <relocation>
*(rX + 0) = imm
rX -= <relocation>
case 4: *(rX + <relocation>) = rY // rX and rY are different
rX += <relocation>
*(rX + 0) = rY
rX -= <relocation>
case 5: *(rX + <relocation>) = rX
// We are not able to resolve this issue.
A llvm option (-disable-bpf-core-optimization) is implemented to
disable bpf core optimizaiton, which means the relocation will not
be in load/store insns. This can workaround the above case 5.
[1] https://github.com/llvm/llvm-project/compare/main...yonghong-song:llvm-project:fix-core-overflow-debug
Commit: aa5767ee199b1c4d2a6a63d6cbd61c83fd09de31
https://github.com/llvm/llvm-project/commit/aa5767ee199b1c4d2a6a63d6cbd61c83fd09de31
Author: Wenju He <wenju.he at intel.com>
Date: 2026-03-11 (Wed, 11 Mar 2026)
Changed paths:
M libclc/CMakeLists.txt
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc][CMake] Add back OUTPUT_FILENAME and PARENT_TARGET (#185633)
They were droped in e20ae16ce672.
OUTPUT_FILENAME is helpful for customizing library name. PARENT_TARGET
could be helpful for customizing dependency control.
Commit: b84ea71e2a81b3e51fa84d611bfc4a3416adc42c
https://github.com/llvm/llvm-project/commit/b84ea71e2a81b3e51fa84d611bfc4a3416adc42c
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/lib/Headers/hexagon_types.h
A clang/test/Headers/hexagon-types-b0-conflict.c
Log Message:
-----------
[Hexagon] Fix B0 macro conflict between hexagon_types.h and termios.h (#184539)
POSIX termios.h defines `#define B0 0000000` for baud rate 0. This
conflicts with the B0() member functions in hexagon_types.h vector
classes, causing compilation failures when both headers are included.
Use #pragma push_macro/pop_macro to save, undefine, and restore B0
around the class definitions so the header is safe to use alongside
termios.h without losing the macro afterward.
Fixes #183815
Commit: f0ad981a0a6fa69ccd024f72eb3659e4365710ce
https://github.com/llvm/llvm-project/commit/f0ad981a0a6fa69ccd024f72eb3659e4365710ce
Author: Zachary Yedidia <zyedidia at gmail.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/MC/MCLFIRewriter.cpp
M llvm/lib/MC/MCParser/LFIAsmParser.cpp
Log Message:
-----------
[NFC][MC] Style cleanup in MC-level LFI files (#185508)
Following
https://llvm.org/docs/CodingStandards.html#use-namespace-qualifiers-to-define-previously-declared-symbols
and https://llvm.org/docs/CodingStandards.html#restrict-visibility.
Commit: 757a0f85c853c0fb184d42f252388136dddc4067
https://github.com/llvm/llvm-project/commit/757a0f85c853c0fb184d42f252388136dddc4067
Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
Date: 2026-03-11 (Wed, 11 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/X86/nofpclass.ll
Log Message:
-----------
SelectionDAG: Use ISD::AssertNoFPClass for Load with nofpclass metadata (#184952)
1. Use ISD::AssertNoFPClass if LoadInst has !nofpclass metadata.
2. Strip ISD::AssertNoFPClass when try to combine load with bitcast
in DAGCombiner::visitBITCAST.
Commit: 78beeb764372625c5ba942e7ee59f0adefd93a37
https://github.com/llvm/llvm-project/commit/78beeb764372625c5ba942e7ee59f0adefd93a37
Author: Alex Crichton <alex at alexcrichton.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/test/Driver/wasm-toolchain.cpp
Log Message:
-----------
[WebAssembly] Clang support for exception-based lookup paths (#185775)
This commit is an attempt to make progress on WebAssembly/wasi-sdk#565
where with wasi-sdk I'd like to ship a single toolchain which is capable
of building binaries both with C++ exceptions and without. This means
that there can't be a single set of precompiled libraries that are used
because one set of libraries is wrong for the other mode. The support
added here is to use `-fwasm-exceptions` to automatically select a
lookup path in the sysroot. The intention is then that wasi-sdk will
ship both a "eh" set of C++ libraries as well as a "noeh" set of C++
libraries too. Clang will automatically select the correct one based on
compilation flags which means that the final distribution will be able
to build both binaries with exceptions and without.
Commit: a3f28233fc860d77fa70ad57a93a67963fa20a0c
https://github.com/llvm/llvm-project/commit/a3f28233fc860d77fa70ad57a93a67963fa20a0c
Author: Alex Crichton <alex at alexcrichton.com>
Date: 2026-03-11 (Wed, 11 Mar 2026)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
R compiler-rt/lib/builtins/wasm/__cpp_exception.S
M libunwind/src/Unwind-wasm.c
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/sources.gni
Log Message:
-----------
[WebAssembly] Move __cpp_exception to libunwind (#185770)
The `__cpp_exception` symbol is now defined in libunwind instead of
compiler-rt. This is moved for a few reasons, but the primary reason is
that compiler-rt is linked duplicate-ly into all shared objects meaning
that it's not suitable for define-once symbols such as
`__cpp_exception`. By moving the definition to the user of the symbol,
libunwind itself, that guarantees that the symbol should be defined
exactly once and only when appropriate. A secondary reason for this
movement is that it avoids the need to compile compiler-rt twice: once
with exception and once without, and instead the same build can be used
for both exceptions-and-not.
Commit: 2410418d06fc7332e2ff5e138ea094d814235da4
https://github.com/llvm/llvm-project/commit/2410418d06fc7332e2ff5e138ea094d814235da4
Author: Jim Lin <jim at andestech.com>
Date: 2026-03-11 (Wed, 11 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Refactor lowerBUILD_VECTOR splat opcode selection to avoid duplication. NFC. (#185573)
Hoist the common ANY_EXTEND, DAG.getNode, and convertFromScalableVector
calls out of the duplicated if/else branches. Use a single IsScalar bool
to select between VMV_S_X_VL/VFMV_S_F_VL and VMV_V_X_VL/VFMV_V_F_VL.
Commit: 86bf89a3e9e7ef91628d8da8c6cb16704720dea0
https://github.com/llvm/llvm-project/commit/86bf89a3e9e7ef91628d8da8c6cb16704720dea0
Author: woruyu <1214539920 at qq.com>
Date: 2026-03-11 (Wed, 11 Mar 2026)
Changed paths:
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/Sema/constant-builtins-2.c
M clang/test/SemaCXX/builtin-bswapg.cpp
Log Message:
-----------
[test] Add bit < 8 testcase for x86 __builtin_bswapg (#180124)
### Summary
the related PR: https://github.com/llvm/llvm-project/pull/179177, add
bits < 8 testcase for __builtin_bswapg
Commit: 482bb3d19ac817eba49fa68431dabbc6dca35d60
https://github.com/llvm/llvm-project/commit/482bb3d19ac817eba49fa68431dabbc6dca35d60
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
Log Message:
-----------
[SandboxVec][DAG] Mark UnscheduledSuccs as invalid when vectorized (#185519)
When a DAG node gets scheduled, it's UnscheduledSuccs variable becomes
invalid. Up until now we had no way in the code of expressing this.
This patch converts UnscheduledSuccs to an std::optional in order to
protect its use when not valid.
Commit: 53a2fd99aa7d55051db03b6f389814c6b6741502
https://github.com/llvm/llvm-project/commit/53a2fd99aa7d55051db03b6f389814c6b6741502
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/icmp-shift-opt.ll
Log Message:
-----------
[DAGCombiner] Combine (fshl A, B, S) | (fshr C, D, BW-S) --> (fshl (A|C), (B|D), S) (#180889)
This is similar to the FSHL/FSHR handling in
hoistLogicOpWithSameOpcodeHands.
Here the opcodes aren't exactly the same, but the operations are
equivalent.
Fixes regressions from #180888
Commit: e950a806f0fae1f2be96e4fa5d602152e852f5ed
https://github.com/llvm/llvm-project/commit/e950a806f0fae1f2be96e4fa5d602152e852f5ed
Author: Derek Schuff <dschuff at chromium.org>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/test/CodeGen/WebAssembly/simd-offset.ll
Log Message:
-----------
[WebAssembly] Look through freeze nodes when folding vector load + ext (#185143)
When folding loads with extensions, the extension operand can be a freeze node
in addition to a load. We can look through it to do the desirability check.
Fixes #184676
Commit: f2f5845f195aa5bb25d28702daadc628cfdeabea
https://github.com/llvm/llvm-project/commit/f2f5845f195aa5bb25d28702daadc628cfdeabea
Author: hanbeom <kese111 at gmail.com>
Date: 2026-03-11 (Wed, 11 Mar 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] Fold AND mask operations into ZExt load (#183743)
FastISel emits separate load and AND instructions for bitmasking.
(before) %1:i32 = LOAD_I32 %addr; %2:i32 = AND_I32 %1, 255
Fold AND masks into ZExt loads by verifying operands with
maskTrailingOnes. A getFoldedLoadOpcode wrapper is implemented
to manage dispatching logic for better extensibility.
(after) %1:i32 = LOAD8_U_I32 %addr
Fixed: https://github.com/llvm/llvm-project/issues/180783
Commit: 7472b4ac2e3f7efcb900284ad0ed66c8941bd3e2
https://github.com/llvm/llvm-project/commit/7472b4ac2e3f7efcb900284ad0ed66c8941bd3e2
Author: Saleem Abdulrasool <compnerd at compnerd.org>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
A clang/test/CodeGen/attr-personality-failures.c
A clang/test/CodeGen/attr-personality.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
Log Message:
-----------
Basic,Sema: introduce `__attribute__((__personality__(...)))` (#185225)
This attribute allows specifying a custom personality routine for a
function, overriding the default emitted by Clang. The motivating use
case is the Swift concurrency runtime, where C/C++ runtime functions
need to act as barriers for exception propagation — the custom
personality ensures exceptions do not propagate through these frames
unchecked. More generally, this is useful whenever a language runtime is
implemented in a host language with different EH semantics. LLVM IR
already supports arbitrary personality functions on definitions; this
attribute simply exposes that capability to the C/C++ frontend.
Co-authored-by: Erich Keane <ekeane at nvidia.com>
Commit: 5799a5d2256e1f4f01b6a5bd483fe9b4cb453ec9
https://github.com/llvm/llvm-project/commit/5799a5d2256e1f4f01b6a5bd483fe9b4cb453ec9
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
Log Message:
-----------
[lldb/test] Add generic test variant infrastructure (#185145)
Add a generic `TestVariant` class and `_expand_test_variants` function
that can be used to create new test variant dimensions (similar to the
existing debug_info variant expansion).
Each TestVariant describes a dimension that multiplies test methods by
different configurations. The infrastructure handles method expansion,
xfail/skip decorator support, and setUp-time configuration.
This also generalizes `_xfailForDebugInfo`/`_skipForDebugInfo` into
`_xfailForVariant`/`_skipForVariant`, and changes the decorator's inner
fn() to accept **kwargs so variant values can be passed by name.
The `_test_variants` list is currently empty — downstream forks (i.e.
swift) can register their own variants without modifying the metaclass
logic.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 217dcab44ef0a0962291d3b117b6bfdd892bddf7
https://github.com/llvm/llvm-project/commit/217dcab44ef0a0962291d3b117b6bfdd892bddf7
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-03-11 (Wed, 11 Mar 2026)
Changed paths:
A llvm/test/Analysis/DependenceAnalysis/weak-zero-siv-delta-signed-min.ll
Log Message:
-----------
[DA] Add tests for the Weak Zero SIV tests miss dependency (NFC) (#184998)
Add test cases where the Weak Zero SIV tests miss dependencies due to
the calculation of negative values. SCEV represents the negative value
of `x` as `-1 * x`. When `x` is the signed minimum value, this
expression effectively evaluates to `x`, which causes DA to miss the
dependency. In DA, if we cannot prove that the value is not the signed
minimum when computing the negative value, the analysis should bail out.
Commit: 7a43f770a0a493d9eb31101251de32fa62cb7ab1
https://github.com/llvm/llvm-project/commit/7a43f770a0a493d9eb31101251de32fa62cb7ab1
Author: Alex Crichton <alex at alexcrichton.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
R compiler-rt/lib/builtins/wasm/__c_longjmp.S
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/sources.gni
Log Message:
-----------
[WebAssembly] Remove `__c_longjmp` from compiler-rt (#185798)
This is similar to #185770 where it removes an
exception-handling-related symbol from `compiler-rt` in favor of having
definitions elsewhere. The compiler-rt library is linked into all shared
objects, for example, which can result in duplicate definitions of a
symbol where this tag wants to have one unique definition. The intention
behind this commit is to defer the definition of this symbol to
downstream libraries, such as the definition of `longjmp` itself. An
example of this is WebAssembly/wasi-libc#772 where the responsibility of
defining this symbol now lies with wasi-libc.
Commit: a95f4ac8d92d784f22431e9accccd32fb4de503e
https://github.com/llvm/llvm-project/commit/a95f4ac8d92d784f22431e9accccd32fb4de503e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-03-10 (Tue, 10 Mar 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
Log Message:
-----------
[RISCV] Replace HasStdExtZbcOrZbkc with HasStdExtZbkc. NFC (#185790)
Zbc now implies Zbkc so we don't need an Or. I've moved the diagnostic
string from HasStdExtZbcOrZbkc to HasStdExtZbkc to avoid assembler
output changes.
Commit: d5a5761eec4d93dc84641b3dbbc9795f250014b9
https://github.com/llvm/llvm-project/commit/d5a5761eec4d93dc84641b3dbbc9795f250014b9
Author: mitchell <zeyi2 at nekoarch.cc>
Date: 2026-03-11 (Wed, 11 Mar 2026)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/utility
M clang-tools-extra/test/clang-tidy/checkers/abseil/cleanup-ctad.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/incorrect-enable-if.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-bitfields.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/throw-by-value-catch-by-reference.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unconventional-assign-operator.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays.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-constraints.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-string-view.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-transparent-functors.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/string-view-conversions.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-data-pointer.cpp
Log Message:
-----------
[clang-tidy][NFC] Use universal utility mock in testcases [2/N] (#185797)
As of AI Usage: Gemini 3 and Codex is used for cleanup and pre-commit
reviewing.
Commit: 49c714ecd731d9f27a885b55ccc2901e5b586a97
https://github.com/llvm/llvm-project/commit/49c714ecd731d9f27a885b55ccc2901e5b586a97
Author: LeeYoungJoon <dog3hk.dev at gmail.com>
Date: 2026-03-11 (Wed, 11 Mar 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/StdExceptionBaseclassCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/StdExceptionBaseclassCheck.h
M clang-tools-extra/clang-tidy/hicpp/CMakeLists.txt
R clang-tools-extra/clang-tidy/hicpp/ExceptionBaseclassCheck.cpp
R clang-tools-extra/clang-tidy/hicpp/ExceptionBaseclassCheck.h
M clang-tools-extra/clang-tidy/hicpp/HICPPTidyModule.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/std-exception-baseclass.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/exception-baseclass.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/std-exception-baseclass.cpp
R clang-tools-extra/test/clang-tidy/checkers/hicpp/exception-baseclass.cpp
Log Message:
-----------
[clang-tidy] Rename hicpp-exception-baseclass to bugprone-exception-baseclass (#183474)
Part of the work in https://github.com/llvm/llvm-project/issues/183462.
Closes https://github.com/llvm/llvm-project/issues/183463.
Commit: 1e67bd21d2fe459546af7aaccbf028fce0fcedfe
https://github.com/llvm/llvm-project/commit/1e67bd21d2fe459546af7aaccbf028fce0fcedfe
Author: ShengYi Hung <aokblast at FreeBSD.org>
Date: 2026-03-11 (Wed, 11 Mar 2026)
Changed paths:
A .ci/green-dragon/bisect.groovy
M .ci/green-dragon/clang-stage1-RA.groovy
A .ci/green-dragon/lldb-ubuntu.groovy
A .ci/green-dragon/lldb-windows.groovy
M .ci/green-dragon/relay-clang-stage2-sanitizers.groovy
M .ci/green-dragon/relay-clang-stage2-thinlto.groovy
M .ci/green-dragon/relay-lnt-ctmark.groovy
M .ci/green-dragon/relay-test-suite-verify-machineinstrs.groovy
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.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
A .github/workflows/lldb-pylint-action.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/include/bolt/Passes/DataflowAnalysis.h
R bolt/include/bolt/Passes/ReorderUtils.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/ReorderData.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/Inputs/compressed-debug-sections.yaml
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/compressed-debug-sections.test
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
A bolt/test/X86/phdr-load-order.test
A bolt/test/bolt-reserved.test
M bolt/test/max-funcs.test
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/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeReader.h
M clang-tools-extra/clang-doc/CMakeLists.txt
M clang-tools-extra/clang-doc/ClangDoc.cpp
M clang-tools-extra/clang-doc/ClangDoc.h
M clang-tools-extra/clang-doc/Generators.cpp
M clang-tools-extra/clang-doc/Generators.h
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
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/Mapper.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/Serialize.h
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/comment-template.mustache
M clang-tools-extra/clang-doc/assets/enum-template.mustache
M clang-tools-extra/clang-doc/assets/function-template.mustache
M clang-tools-extra/clang-doc/assets/head-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
M clang-tools-extra/clang-doc/assets/navbar-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/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
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
A clang-tools-extra/clang-tidy/bugprone/StdExceptionBaseclassCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/StdExceptionBaseclassCheck.h
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
A clang-tools-extra/clang-tidy/bugprone/UnsafeToAllowExceptionsCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/UnsafeToAllowExceptionsCheck.h
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/MissingStdForwardCheck.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
R clang-tools-extra/clang-tidy/hicpp/ExceptionBaseclassCheck.cpp
R clang-tools-extra/clang-tidy/hicpp/ExceptionBaseclassCheck.h
M clang-tools-extra/clang-tidy/hicpp/HICPPTidyModule.cpp
R clang-tools-extra/clang-tidy/hicpp/IgnoredRemoveResultCheck.cpp
R clang-tools-extra/clang-tidy/hicpp/IgnoredRemoveResultCheck.h
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/CMakeLists.txt
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/ModernizeTidyModule.cpp
M clang-tools-extra/clang-tidy/modernize/RawStringLiteralCheck.cpp
M clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp
M clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.h
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
A clang-tools-extra/clang-tidy/modernize/UseStdBitCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseStdBitCheck.h
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/FasterStringFindCheck.h
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/BracesAroundStatementsCheck.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/InconsistentIfElseBracesCheck.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/SimplifySubscriptExprCheck.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/BracesAroundStatement.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/AST.cpp
M clang-tools-extra/clangd/CMakeLists.txt
M clang-tools-extra/clangd/Diagnostics.cpp
M clang-tools-extra/clangd/DumpAST.cpp
M clang-tools-extra/clangd/ExpectedTypes.cpp
M clang-tools-extra/clangd/FindSymbols.cpp
M clang-tools-extra/clangd/Hover.cpp
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/ScanningProjectModules.cpp
M clang-tools-extra/clangd/Selection.cpp
M clang-tools-extra/clangd/TidyProvider.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/index/dex/dexp/CMakeLists.txt
M clang-tools-extra/clangd/index/remote/CMakeLists.txt
M clang-tools-extra/clangd/index/remote/marshalling/CMakeLists.txt
M clang-tools-extra/clangd/index/remote/monitor/CMakeLists.txt
M clang-tools-extra/clangd/index/remote/server/CMakeLists.txt
M clang-tools-extra/clangd/tool/CMakeLists.txt
M clang-tools-extra/clangd/unittests/DumpASTTests.cpp
M clang-tools-extra/clangd/unittests/FindSymbolsTests.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/Contributing.rst
M clang-tools-extra/docs/clang-tidy/checks/abseil/unchecked-statusor-access.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/exception-escape.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/fold-init-type.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/std-exception-baseclass.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/unsafe-to-allow-exceptions.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-return-value.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/missing-std-forward.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/exception-baseclass.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/ignored-remove-result.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/modernize/redundant-void-arg.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-bit.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/include-cleaner/tool/CMakeLists.txt
M clang-tools-extra/modularize/ModularizeUtilities.cpp
M clang-tools-extra/test/clang-doc/CMakeLists.txt
M clang-tools-extra/test/clang-doc/basic-project.mustache.test
M clang-tools-extra/test/clang-doc/basic-project.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/compound-constraints.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
M clang-tools-extra/test/clang-doc/typedef-alias.cpp
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
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/utility
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/redundant-strcat-calls.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/string-find-startswith.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
M clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.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/move-forwarding-reference.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-minimal.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/signal-handler-posix.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/signal-handler.c
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
A clang-tools-extra/test/clang-tidy/checkers/bugprone/std-exception-baseclass.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-include.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/suspicious-stringview-data-usage.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
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unhandled-self-assignment.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unsafe-to-allow-exceptions-precpp17.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unsafe-to-allow-exceptions.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/cert/uppercase-literal-suffix-integer.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-reference-coroutine-parameters.cpp
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/init-variables-mathheader.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward-custom-function.cpp
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward-cxx23.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/no-suspend-with-lock.cpp
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-bounds-constant-array-index-includestyle.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/objc-function-naming.m
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/exception-baseclass.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/include-order.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/use-ranges.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvmlibc/restrict-system-libc-headers.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-parameters.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers.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/throw-by-value-catch-by-reference.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unconventional-assign-operator-cxx23.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unconventional-assign-operator.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/avoid-c-arrays.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/pass-by-value-macro-header.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/redundant-void-arg.c
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/type-traits.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-constraints.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-emplace.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-scope-lock-warn-on-using-and-typedef-false.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-scoped-lock-no-crash.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-scoped-lock-warn-on-single-locks-false.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-scoped-lock.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-bit.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-format-fmt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-member.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.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-std-print-fmt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-member.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-string-view-custom-view.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-string-view-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-string-view-ignored.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-string-view.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-cxx20.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-cxx20.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/modernize/use-transparent-functors.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/faster-string-find.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy.cpp
A clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-string-concatenation-strict.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/move-const-arg-const-ref.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/move-const-arg-trivially-copyable.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/move-const-arg.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/move-constructor-init.cpp
A clang-tools-extra/test/clang-tidy/checkers/performance/no-automatic-move-allowed-types.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-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/string-view-conversions.cpp
A clang-tools-extra/test/clang-tidy/checkers/performance/type-promotion-in-math-fn-includestyle.cpp
A clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-includestyle.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.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-contains.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/container-size-empty.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/convert-member-functions-to-static-deducing-this.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-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
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/inconsistent-ifelse-braces-attributes.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-cstr-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-string-cstr-function.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-string-cstr.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/string-compare-custom-string-classes.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/string-compare.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/suspicious-call-argument-option.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-cxx23.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-floating-point.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-hexadecimal-floating-point.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer-custom-list.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer-ms.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/use-std-min-max-include-style.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/custom-query-check/vfsoverlay.yaml
M clang-tools-extra/test/clang-tidy/infrastructure/custom-query-check.cpp
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
M clang-tools-extra/unittests/clang-doc/ClangDocTest.h
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-doc/MDGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
M clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp
M clang-tools-extra/unittests/clang-tidy/LexerUtilsTest.cpp
A clang/.clang-format-ignore
M clang/AreaTeamMembers.txt
M clang/cmake/caches/VectorEngine.cmake
M clang/cmake/modules/AddClang.cmake
M clang/cmake/modules/AddGRPC.cmake
M clang/docs/APINotes.rst
M clang/docs/AddressSanitizer.rst
M clang/docs/CMakeLists.txt
M clang/docs/ClangFormatStyleOptions.rst
A clang/docs/ClangIRABILowering.md
M clang/docs/ClangIRCleanupAndEHDesign.md
M clang/docs/LanguageExtensions.rst
M clang/docs/Modules.rst
M clang/docs/OpenMPSupport.rst
A clang/docs/OverflowBehaviorTypes.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/SanitizerSpecialCaseList.rst
R clang/docs/ScalableStaticAnalysisFramework/Framework.rst
R clang/docs/ScalableStaticAnalysisFramework/SummaryExtraction.rst
A clang/docs/ScalableStaticAnalysisFramework/developer-docs/ForceLinkerHeaders.rst
A clang/docs/ScalableStaticAnalysisFramework/developer-docs/HowToExtend.rst
A clang/docs/ScalableStaticAnalysisFramework/developer-docs/SummaryExtractionInternals.rst
A clang/docs/ScalableStaticAnalysisFramework/developer-docs/index.rst
A clang/docs/ScalableStaticAnalysisFramework/index.rst
A clang/docs/ScalableStaticAnalysisFramework/user-docs/SummaryExtraction.rst
A clang/docs/StructureProtection.rst
M clang/docs/TypeSanitizer.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/index.rst
M clang/docs/tools/dump_format_style.py
M clang/include/clang-c/Index.h
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/CXXRecordDeclDefinitionBits.def
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/NestedNameSpecifierBase.h
M clang/include/clang/AST/PrettyPrinter.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
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
A clang/include/clang/AST/pch.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
M clang/include/clang/Analysis/CFG.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
A clang/include/clang/Analysis/Scalable/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
A clang/include/clang/Analysis/Scalable/Analyses/UnsafeBufferUsage/UnsafeBufferUsageBuilder.h
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/EntityIdTable.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
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormatRegistry.h
A clang/include/clang/Analysis/Scalable/Support/ErrorBuilder.h
A clang/include/clang/Analysis/Scalable/Support/FormatProviders.h
M clang/include/clang/Analysis/Scalable/TUSummary/EntitySummary.h
M clang/include/clang/Analysis/Scalable/TUSummary/TUSummary.h
M clang/include/clang/Analysis/Scalable/TUSummary/TUSummaryBuilder.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/BuiltinsBase.td
M clang/include/clang/Basic/BuiltinsPPC.def
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/CMakeLists.txt
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/Diagnostic.td
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/DiagnosticIDs.h
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/Features.def
M clang/include/clang/Basic/FileManager.h
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/Sarif.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Basic/TargetCXXABI.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/TypeNodes.td
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
A clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.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/CIROpsEnums.h
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/ASTAttrInterfaces.h
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/DependencyScanningService.h
M clang/include/clang/DependencyScanning/DependencyScanningUtils.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/Driver.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/Driver/Types.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/ASTUnit.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/Index/IndexSymbol.h
R clang/include/clang/Index/USRGeneration.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/DeclSpec.h
M clang/include/clang/Sema/Initialization.h
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/Serialization/ModuleFile.h
M clang/include/clang/Serialization/TypeBitCodes.def
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
A clang/include/clang/UnifiedSymbolResolution/USRGeneration.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/ASTStructuralEquivalence.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
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/PrimType.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/Expr.cpp
M clang/lib/AST/ExprConstShared.h
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/FormatString.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/RawCommentList.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/Stmt.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/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/ASTMatchers/ASTMatchFinder.cpp
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/FixitUtil.cpp
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/RecordOps.cpp
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Analysis/LifetimeSafety/Facts.cpp
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
M clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
M clang/lib/Analysis/LifetimeSafety/Origins.cpp
M clang/lib/Analysis/PathDiagnostic.cpp
M clang/lib/Analysis/Scalable/ASTEntityMapping.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/JSONEntitySummaryEncoding.cpp
A clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONEntitySummaryEncoding.h
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
A clang/lib/Analysis/Scalable/TUSummary/TUSummaryBuilder.cpp
M clang/lib/Analysis/ThreadSafety.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/Sarif.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/SPIR.h
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.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/CIRGenDecl.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/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/CMakeLists.txt
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/CGClass.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/CGExprAgg.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/CMakeLists.txt
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenSYCL.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/ModuleBuilder.cpp
A clang/lib/CodeGen/QualTypeMapper.cpp
A clang/lib/CodeGen/QualTypeMapper.h
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/PPC.cpp
M clang/lib/CrossTU/CMakeLists.txt
M clang/lib/CrossTU/CrossTranslationUnit.cpp
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/DependencyScanning/DependencyScanningService.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/AIX.h
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.h
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/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Flang.h
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/Hexagon.h
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/ExtractAPI/CMakeLists.txt
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
M clang/lib/ExtractAPI/TypedefUnderlyingTypeResolver.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/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/MultiplexConsumer.cpp
M clang/lib/Frontend/SARIFDiagnostic.cpp
M clang/lib/Frontend/SARIFDiagnosticPrinter.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
M clang/lib/Headers/__clang_cuda_complex_builtins.h
M clang/lib/Headers/__clang_cuda_math_forward_declares.h
M clang/lib/Headers/__clang_cuda_runtime_wrapper.h
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/hexagon_types.h
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/hvx_hexagon_protos.h
M clang/lib/Headers/openmp_wrappers/complex
M clang/lib/Headers/openmp_wrappers/complex.h
M clang/lib/Headers/ptrauth.h
M clang/lib/Headers/sifive_vector.h
M clang/lib/Headers/xmmintrin.h
M clang/lib/Index/CMakeLists.txt
M clang/lib/Index/CommentToXML.cpp
M clang/lib/Index/IndexSymbol.cpp
R clang/lib/Index/USRGeneration.cpp
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/lib/Interpreter/InterpreterUtils.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/ParseExprCXX.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaBoundsSafety.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaCXXScopeSpec.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/SemaModule.cpp
M clang/lib/Sema/SemaOpenACCClauseAppertainment.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPPC.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/SemaTemplateInstantiateDecl.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/DereferenceChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.cpp
R clang/lib/StaticAnalyzer/Checkers/FixedAddressChecker.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/CMakeLists.txt
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/EntryPointStats.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
M clang/lib/Tooling/ASTDiff/ASTDiff.cpp
M clang/lib/Tooling/DependencyScanningTool.cpp
M clang/lib/Tooling/Refactoring/CMakeLists.txt
M clang/lib/Tooling/Refactoring/Rename/USRFinder.cpp
A clang/lib/UnifiedSymbolResolution/CMakeLists.txt
A clang/lib/UnifiedSymbolResolution/USRGeneration.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/builtin-functions.cpp
M clang/test/AST/ByteCode/c.c
M clang/test/AST/ByteCode/codegen-constexpr-unknown.cpp
R clang/test/AST/ByteCode/constexpr.c
M clang/test/AST/ByteCode/libcxx/end-primitive-array-root-lifetime.cpp
M clang/test/AST/ByteCode/memberpointers.cpp
M clang/test/AST/ByteCode/new-delete.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
R clang/test/AST/HLSL/Texture2D-AST.hlsl
A clang/test/AST/HLSL/Texture2D-scalar-AST.hlsl
A clang/test/AST/HLSL/Texture2D-shorthand-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/ast-dump-SpirvType.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/AST/HLSL/matrix-member-access-scalar.hlsl
M clang/test/AST/HLSL/pch_spirv_type.hlsl
M clang/test/AST/HLSL/pch_with_matrix_element_accessor.hlsl
M clang/test/AST/HLSL/pch_with_matrix_single_subscript.hlsl
M clang/test/AST/HLSL/resource_binding_attr.hlsl
A clang/test/AST/ast-print-overflow-behavior.cpp
A clang/test/AST/overflow-behavior-keywords-ast.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/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.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
A clang/test/Analysis/Scalable/ssaf-format/list.test
A clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-1.json
A clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-2.json
A clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-badext.txt
A clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-empty.json
A clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-multikey.json
A clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-ref.json
A clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-value.json
A clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-malformed.json
A clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-missing-fields.json
A clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-noext
A clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1+2.json
A clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1.json
A clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-2.json
A clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-empty.json
A clang/test/Analysis/Scalable/ssaf-linker/cli.test
A clang/test/Analysis/Scalable/ssaf-linker/help.test
A clang/test/Analysis/Scalable/ssaf-linker/io.test
A clang/test/Analysis/Scalable/ssaf-linker/linking-errors.test
A clang/test/Analysis/Scalable/ssaf-linker/linking.test
A clang/test/Analysis/Scalable/ssaf-linker/time.test
A clang/test/Analysis/Scalable/ssaf-linker/validation-errors-permissions.test
A clang/test/Analysis/Scalable/ssaf-linker/validation-errors.test
A clang/test/Analysis/Scalable/ssaf-linker/verbose.test
A clang/test/Analysis/Scalable/ssaf-linker/version.test
M clang/test/Analysis/analyzer-enabled-checkers.c
M clang/test/Analysis/auto-obj-dtors-cfg-output.cpp
R clang/test/Analysis/bitint-z3.c
M clang/test/Analysis/builtin_bitcast.cpp
M clang/test/Analysis/concrete-address.c
R clang/test/Analysis/cstring-addrspace.c
M clang/test/Analysis/dtor.cpp
A clang/test/Analysis/exprwithcleanups-lifetime-marker-cfg.cpp
M clang/test/Analysis/fixed-address-notes.c
M clang/test/Analysis/lit.local.cfg
M clang/test/Analysis/malloc-annotations.c
M clang/test/Analysis/misc-ps-eager-assume.m
M clang/test/Analysis/misc-ps-region-store.cpp
M clang/test/Analysis/misc-ps.m
M clang/test/Analysis/missing-z3-nocrash.c
M clang/test/Analysis/pr22954.c
M clang/test/Analysis/ptr-arith.c
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
M clang/test/Analysis/suppress-dereferences-from-any-address-space.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
A clang/test/Analysis/uninitialized-branch.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/agg-expr-lvalue.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/binassign.c
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/compound_literal.cpp
A clang/test/CIR/CodeGen/convert-incomplete-type.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
A clang/test/CIR/CodeGen/delete-array.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
M clang/test/CIR/CodeGen/dynamic-cast-exact.cpp
M clang/test/CIR/CodeGen/dynamic-cast.cpp
M clang/test/CIR/CodeGen/embed-expr.c
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
A clang/test/CIR/CodeGen/instantiate-init.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/libc.c
M clang/test/CIR/CodeGen/local-vars.cpp
M clang/test/CIR/CodeGen/loop.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/paren-init-list.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-cmp.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
M clang/test/CIR/CodeGen/predefined-expr.c
A clang/test/CIR/CodeGen/replace-global.cpp
M clang/test/CIR/CodeGen/requires-expr.cpp
M clang/test/CIR/CodeGen/ret-attrs.cpp
M clang/test/CIR/CodeGen/size-of-vla.cpp
M clang/test/CIR/CodeGen/statement-exprs.c
M clang/test/CIR/CodeGen/static-local.cpp
M clang/test/CIR/CodeGen/stmt-expr.cpp
M clang/test/CIR/CodeGen/string-literals.c
M clang/test/CIR/CodeGen/string-literals.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
R 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
A clang/test/CIR/CodeGen/virtual-fn-calls-eh.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-bcopy.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
A clang/test/CIR/CodeGenBuiltins/builtin-rotate.c
A clang/test/CIR/CodeGenBuiltins/builtin-setjmp-longjmp.c
A clang/test/CIR/CodeGenBuiltins/builtin-structured-binding-size.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-trivally-copyable.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-types-compatible.c
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
M clang/test/CIR/CodeGenCUDA/kernel-stub-name.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-read.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.c
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/data.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/enter-data.c
M clang/test/CIR/CodeGenOpenACC/exit-data.c
M clang/test/CIR/CodeGenOpenACC/firstprivate-clause-recipes.cpp
M clang/test/CIR/CodeGenOpenACC/kernels.c
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/parallel.c
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/CodeGenOpenACC/serial.c
M clang/test/CIR/CodeGenOpenACC/update.c
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
M clang/test/CIR/IR/cmp.cir
A clang/test/CIR/IR/func-attrs.cir
M clang/test/CIR/IR/global-var-linkage.cir
M clang/test/CIR/IR/invalid-addrspace.cir
A clang/test/CIR/IR/invalid-const-array.cir
M clang/test/CIR/IR/invalid-eh-flat.cir
A clang/test/CIR/IR/invalid-linkage.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/Lowering/global-var-linkage.cir
M clang/test/CIR/Lowering/goto.cir
M clang/test/CIR/Lowering/switch.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
A clang/test/CIR/Transforms/pure-ptr-arithmetic.cir
M clang/test/CIR/Transforms/switch.cir
M clang/test/CIR/Transforms/ternary.cir
M clang/test/CMakeLists.txt
M clang/test/CXX/drs/cwg2947.cpp
M clang/test/CXX/drs/cwg29xx.cpp
M clang/test/ClangScanDeps/P1689.cppm
A clang/test/ClangScanDeps/build-session-validation-relocated-modules.c
M clang/test/ClangScanDeps/header_stat_before_open.m
M clang/test/ClangScanDeps/headerwithdirname.cpp
M clang/test/ClangScanDeps/headerwithdirnamefollowedbyinclude.cpp
M clang/test/ClangScanDeps/macro-expansions.cpp
A clang/test/ClangScanDeps/modules-cycle-deadlock.c
M clang/test/ClangScanDeps/modules-full-by-mult-mod-names-diagnostics.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/ClangScanDeps/modules.cpp
M clang/test/ClangScanDeps/regular_cdb.cpp
M clang/test/ClangScanDeps/relative_directory.cpp
M clang/test/ClangScanDeps/subframework_header_dir_symlink.m
M clang/test/ClangScanDeps/target-filename.cpp
M clang/test/ClangScanDeps/vfsoverlay.cpp
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
A clang/test/CodeGen/AArch64/inline-asm-p-constraint.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/v8.2a-fp16-intrinsics.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/builtins-amo-err.c
M clang/test/CodeGen/PowerPC/builtins-ppc-amo.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/RISCV/sifive-intrinsics/non-policy/non-overloaded/xsfvcp-x.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/inline-asm-constraints.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/arm64-microsoft-intrinsics.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-pr88931.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/attr-cpuspecific.c
M clang/test/CodeGen/attr-no-outline.c
A clang/test/CodeGen/attr-personality-failures.c
A clang/test/CodeGen/attr-personality.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
A clang/test/CodeGen/bitcast-based-lvalue.c
M clang/test/CodeGen/builtin-counted-by-ref.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-extended-image.c
M clang/test/CodeGen/builtins-image-load.c
M clang/test/CodeGen/builtins-image-store.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
R clang/test/CodeGen/inline-asm-p-constraint.c
M clang/test/CodeGen/linux-kernel-struct-union-initializer.c
M clang/test/CodeGen/linux-kernel-struct-union-initializer2.c
A clang/test/CodeGen/mangle-ms-overflow-behavior.cpp
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
A clang/test/CodeGen/overflow-behavior-types-extensions.c
A clang/test/CodeGen/overflow-behavior-types-operators.cpp
A clang/test/CodeGen/overflow-behavior-types-promotions.cpp
A clang/test/CodeGen/overflow-behavior-types-scl.c
A clang/test/CodeGen/overflow-behavior-types.c
A clang/test/CodeGen/overflow-behavior-types.cpp
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/amdgpu-workgroup-size.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/incomplete-func-ptr-type.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
A clang/test/CodeGenCXX/microsoft-abi-diamond-template-multiple-vbptrs-32bit.cpp
A clang/test/CodeGenCXX/microsoft-abi-diamond-template-multiple-vbptrs.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
A clang/test/CodeGenCXX/pfp-attribute-disable.cpp
A clang/test/CodeGenCXX/pfp-coerce.cpp
A clang/test/CodeGenCXX/pfp-load-store.cpp
A clang/test/CodeGenCXX/pfp-member-pointer-offsetof.cpp
A clang/test/CodeGenCXX/pfp-memcpy.cpp
A clang/test/CodeGenCXX/pfp-null-init.cpp
A clang/test/CodeGenCXX/pfp-struct-gep.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-f16-misc.hip
A clang/test/CodeGenHIP/builtins-amdgcn-gfx12-f16-w32.hip
A clang/test/CodeGenHIP/builtins-amdgcn-gfx12-f16-w64.hip
A clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-cvt-f16.hip
A clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-f16-misc.hip
A clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-wmma-f16.hip
A clang/test/CodeGenHIP/builtins-amdgcn-gfx950-f16.hip
A clang/test/CodeGenHIP/builtins-amdgcn-vi-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
A clang/test/CodeGenHIP/placement-new-addrspace.hip
M clang/test/CodeGenHIP/printf.cpp
M clang/test/CodeGenHIP/printf_nonhostcall.cpp
M clang/test/CodeGenHIP/sanitize-undefined-null.hip
A clang/test/CodeGenHIP/sret-nontrivial-copyable.hip
M clang/test/CodeGenHLSL/ArrayAssignable.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixConstructor.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/MatrixElementRowColFlags.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixElementTypeCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixExplicitTruncation.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixImplicitTruncation.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/MatrixInitializerListOrder.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptConstSwizzle.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptDynamicSwizzle.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptGetter.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSplat.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/MatrixToAndFromVectorConstructors.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/VectorElementwiseCast.hlsl
M clang/test/CodeGenHLSL/BoolMatrix.hlsl
M clang/test/CodeGenHLSL/basic_types.hlsl
A clang/test/CodeGenHLSL/builtins/WaveActiveAllEqual.hlsl
A clang/test/CodeGenHLSL/builtins/WaveActiveBitOr.hlsl
A clang/test/CodeGenHLSL/builtins/WaveActiveProduct.hlsl
A clang/test/CodeGenHLSL/builtins/WavePrefixProduct.hlsl
M clang/test/CodeGenHLSL/builtins/acos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/asin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cosh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/degrees-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp2-overloads.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/builtins/floor-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/frac-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/isinf-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log10-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log2-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/mul.hlsl
M clang/test/CodeGenHLSL/builtins/normalize-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/round-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sinh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/step-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tanh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/trunc-overloads.hlsl
M clang/test/CodeGenHLSL/group_shared.hlsl
A clang/test/CodeGenHLSL/groupsharedArgs/ArrTest.hlsl
A clang/test/CodeGenHLSL/groupsharedArgs/MatrixTest.hlsl
A clang/test/CodeGenHLSL/groupsharedArgs/Overloads.hlsl
A clang/test/CodeGenHLSL/groupsharedArgs/Scalartest.hlsl
A clang/test/CodeGenHLSL/groupsharedArgs/TemplateTest.hlsl
A clang/test/CodeGenHLSL/groupsharedArgs/VectorTest.hlsl
M clang/test/CodeGenHLSL/inline-functions.hlsl
M clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-load.hlsl
M clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-store.hlsl
M clang/test/CodeGenHLSL/matrix-member-one-based-swizzle-load.hlsl
M clang/test/CodeGenHLSL/matrix-member-one-based-swizzle-store.hlsl
M clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-load.hlsl
M clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-store.hlsl
M clang/test/CodeGenHLSL/matrix-member-zero-based-swizzle-load.hlsl
M clang/test/CodeGenHLSL/matrix-member-zero-based-swizzle-store.hlsl
A clang/test/CodeGenHLSL/matrix_types.hlsl
A clang/test/CodeGenHLSL/resources/CBufferMatrixSingleSubscriptSwizzle.hlsl
A clang/test/CodeGenHLSL/resources/MatrixElement_cbuffer.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-Gather.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-default-explicit-binding.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-default.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-shorthand-contexts.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer-empty-struct-array.hlsl
M clang/test/CodeGenHLSL/resources/cbuffer_geps.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer_matrix_align.hlsl
M clang/test/CodeGenHLSL/resources/default_cbuffer_with_layout.hlsl
M clang/test/CodeGenHLSL/semantics/semantic.explicit-mix-builtin.vs.hlsl
A clang/test/CodeGenHLSL/semantics/semantic.nested.vs.hlsl
A clang/test/CodeGenHLSL/sgep/array_load.hlsl
A clang/test/CodeGenHLSL/sgep/array_store.hlsl
A clang/test/CodeGenHLSL/sgep/load_global.hlsl
A clang/test/CodeGenHLSL/sgep/object_method.hlsl
M clang/test/CodeGenObjC/aarch64-sve-types.m
M clang/test/CodeGenObjC/attr-no-outline.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-gfx12-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-load-tr.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-tensor-load-store.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-read-tr.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx11-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w32-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w64-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gws-insts.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32-gfx10-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64-gfx10-err.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-workgroup-size.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
M clang/test/CodeGenOpenCL/convergent.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
A clang/test/DebugInfo/CXX/debug-info-constexpr-array.cpp
M clang/test/DebugInfo/CXX/fn-template.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
A clang/test/Driver/HLSL/conversion-warning-flags.hlsl
R clang/test/Driver/HLSL/wconversion.hlsl
A clang/test/Driver/Inputs/XRSimulator1.0.sdk/usr/include/libxml/.keep
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_off.bc
A clang/test/Driver/aarch64-mtune-apple-macos.c
M clang/test/Driver/aarch64-outliner.c
A clang/test/Driver/aix-print-search-dirs.c
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/arm-machine-outliner.c
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/cl-offload.cu
M clang/test/Driver/cl-options.c
M clang/test/Driver/crash-diagnostics-dir-3.c
M clang/test/Driver/crash-diagnostics-dir.c
M clang/test/Driver/crash-ir-repro.cpp
M clang/test/Driver/crash-report-clang-cl.cpp
M clang/test/Driver/crash-report-header.h
A clang/test/Driver/crash-report-no-integrated-cc1.c
M clang/test/Driver/crash-report-spaces.c
M clang/test/Driver/crash-report-with-asserts.c
M clang/test/Driver/crash-report.cpp
M clang/test/Driver/cuda-arch-translation.cu
M clang/test/Driver/darwin-header-search-libcxx-2.cpp
M clang/test/Driver/darwin-sdk-vs-os-version.c
M clang/test/Driver/debug-options.c
M clang/test/Driver/dep-file-flag-with-multiple-offload-archs.hip
M clang/test/Driver/emit-reproducer.c
A clang/test/Driver/empty_arg.c
M clang/test/Driver/fsanitize-minimal-runtime.c
M clang/test/Driver/hexagon-hvx.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
M clang/test/Driver/incompatible_sysroot.c
A clang/test/Driver/linker-wrapper-canonical-prefixes.c
M clang/test/Driver/linker-wrapper-hip-no-rdc.c
M clang/test/Driver/lit.local.cfg
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
M clang/test/Driver/output-file-cleanup.c
A clang/test/Driver/prefalign.c
M clang/test/Driver/print-enabled-extensions/riscv-sifive-p870.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/riscv-outliner.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
M clang/test/Driver/wasm-features.c
M clang/test/Driver/wasm-toolchain.cpp
M clang/test/Driver/x86-outliner.c
A clang/test/Driver/x86_64-fixed-r-register.c
M clang/test/FixIt/fixit-pragma-attribute.cpp
A clang/test/Frontend/Inputs/expected-sarif/sarif-diagnostics.cpp.sarif
A clang/test/Frontend/Inputs/expected-sarif/sarif-legacy-stable-ids.c.sarif
M clang/test/Frontend/dependency-gen-phony.c
M clang/test/Frontend/sarif-diagnostics.cpp
A clang/test/Frontend/sarif-legacy-stable-ids.c
M clang/test/Headers/Inputs/include/stdint.h
A clang/test/Headers/amdhsa_abi.cl
M clang/test/Headers/gpuintrin.c
A clang/test/Headers/hexagon-hvx-ieee-headers.c
A clang/test/Headers/hexagon-types-b0-conflict.c
M clang/test/Index/Core/index-source.cpp
A clang/test/Index/cxx17-switch-with-initializer.cpp
A clang/test/Index/index-auto.cpp
M clang/test/Interpreter/disambiguate-decl-stmt.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/Lexer/cxx20-module-directive.cpp
M clang/test/Misc/amdgcn.languageOptsOpenCL.cl
A clang/test/Misc/cc1as-reloc-section-sym.s
M clang/test/Misc/diag-mapping.c
M clang/test/Misc/nvptx.languageOptsOpenCL.cl
R clang/test/Misc/nvptx.unsupported_core.cl
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
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/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
M clang/test/Modules/module-file-modified.c
A clang/test/Modules/module-init-forcelly-loaded-module.cpp
A clang/test/Modules/pch-config-macros.c
A clang/test/Modules/pr178893.cppm
M clang/test/Modules/templates.mm
M clang/test/Modules/validate-file-content.m
M clang/test/Modules/var-inst-def.cppm
M clang/test/OpenMP/amdgcn-attributes.cpp
M clang/test/OpenMP/amdgcn_sret_ctor.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/declare_mapper_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_reduction_task_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/for_reduction_codegen_UDR.cpp
M clang/test/OpenMP/for_reduction_task_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/master_taskloop_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_simd_reduction_codegen.cpp
M clang/test/OpenMP/nested_loop_codegen.cpp
A clang/test/OpenMP/num_teams_clause_ast.cpp
M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.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_for_reduction_task_codegen.cpp
M clang/test/OpenMP/parallel_master_reduction_task_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_reduction_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_master_taskloop_simd_reduction_codegen.cpp
M clang/test/OpenMP/parallel_private_codegen.cpp
M clang/test/OpenMP/parallel_reduction_codegen.cpp
M clang/test/OpenMP/parallel_reduction_task_codegen.cpp
M clang/test/OpenMP/parallel_sections_reduction_task_codegen.cpp
M clang/test/OpenMP/reduction_implicit_map.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/sections_reduction_task_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_data_use_device_addr_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_has_device_addr_codegen_01.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
M clang/test/OpenMP/target_map_array_of_structs_with_nested_mapper_codegen.cpp
M clang/test/OpenMP/target_map_array_section_of_structs_with_nested_mapper_codegen.cpp
M clang/test/OpenMP/target_map_codegen_21.cpp
M clang/test/OpenMP/target_map_codegen_34.cpp
M clang/test/OpenMP/target_map_codegen_35.cpp
M clang/test/OpenMP/target_map_codegen_hold.cpp
M clang/test/OpenMP/target_map_member_expr_array_section_codegen.cpp
M clang/test/OpenMP/target_map_structptr_and_member_global.cpp
M clang/test/OpenMP/target_map_structptr_and_member_local.cpp
M clang/test/OpenMP/target_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/target_parallel_reduction_task_codegen.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_reduction_task_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_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_update_variable_stride_codegen.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_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_simd_reduction_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_reduction_task_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_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_firstprivate_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/PCH/include-timestamp.cpp
M clang/test/PCH/modified-module-dependency.m
M clang/test/PCH/validate-file-content.m
M clang/test/PCH/verify_pch.m
M clang/test/Parser/pragma-attribute.cpp
M clang/test/ParserHLSL/group_shared.hlsl
M clang/test/ParserHLSL/group_shared_202x.hlsl
A clang/test/ParserHLSL/hlsl_resource_dimension_attr.hlsl
A clang/test/ParserHLSL/hlsl_resource_dimension_attr_error.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
A clang/test/Preprocessor/pfp-predefines.c
M clang/test/Preprocessor/predefined-win-macros.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Preprocessor/wasm-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-arm-sve-vector-bits.c
A clang/test/Sema/attr-overflow-behavior-constexpr.cpp
A clang/test/Sema/attr-overflow-behavior-format-strings.c
A clang/test/Sema/attr-overflow-behavior-off.c
A clang/test/Sema/attr-overflow-behavior-templates.cpp
A clang/test/Sema/attr-overflow-behavior.c
A 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
M clang/test/Sema/constant-builtins-2.c
A clang/test/Sema/constexpr-member-access.c
M clang/test/Sema/constexpr.c
M clang/test/Sema/format-strings.c
A clang/test/Sema/gh182737.c
A clang/test/Sema/multi-dim-array.c
M clang/test/Sema/nonnull.c
A clang/test/Sema/overflow-behavior-assignment-pedantic.c
A clang/test/Sema/overflow-behavior-function-boundary-default.c
A clang/test/Sema/overflow-behavior-keywords-off.c
A clang/test/Sema/overflow-behavior-keywords.c
M clang/test/Sema/scoped-atomic-ops.c
M clang/test/Sema/sugar-common-types.c
A clang/test/Sema/type-dependent-attrs.cpp
M clang/test/Sema/unroll-template-value-crash.cpp
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
A clang/test/Sema/warn-lifetime-safety-dangling-global.cpp
M clang/test/Sema/warn-lifetime-safety-invalidations.cpp
M clang/test/Sema/warn-lifetime-safety-noescape.cpp
M clang/test/Sema/warn-lifetime-safety-suggestions.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/attr-pointer-field-protection.cpp
M clang/test/SemaCXX/builtin-bswapg.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
A clang/test/SemaCXX/gh183887.cpp
A clang/test/SemaCXX/gh185270.cpp
M clang/test/SemaCXX/init-priority-attr.cpp
M clang/test/SemaCXX/lambda-expressions.cpp
M clang/test/SemaCXX/nested-name-spec.cpp
M clang/test/SemaCXX/new-delete.cpp
M clang/test/SemaCXX/return-noreturn.cpp
M clang/test/SemaCXX/sugar-common-types.cpp
A clang/test/SemaCXX/typeid-incomplete-local-crash.cpp
M clang/test/SemaCXX/vector.cpp
M clang/test/SemaCXX/warn-memset-bad-sizeof.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-parm-unsupported.cpp
M clang/test/SemaHIP/hip-builtin-lvalue-to-rvalue.hip
M clang/test/SemaHLSL/BuiltIns/Buffers.hlsl
M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
A clang/test/SemaHLSL/BuiltIns/RWStructuredBuffers.hlsl
M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
A clang/test/SemaHLSL/BuiltIns/WaveActiveAllEqual-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/WaveActiveBitOr-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/WaveActiveProduct-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/WavePrefixProduct-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/matrix-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/mul-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/select-errors.hlsl
M clang/test/SemaHLSL/Language/ImpCastAddrSpace.hlsl
M clang/test/SemaHLSL/Language/InitIncompleteArrays.hlsl
M clang/test/SemaHLSL/Language/InitLists.hlsl
A clang/test/SemaHLSL/Language/MatrixSplatCasts.hlsl
M clang/test/SemaHLSL/Language/OutputParameters.hlsl
M clang/test/SemaHLSL/Language/UsualArithmeticConversions.hlsl
A clang/test/SemaHLSL/Language/groupsharedArgs/ExplicitCast.hlsl
A clang/test/SemaHLSL/Language/groupsharedArgs/ExportNoInlineTest.hlsl
A clang/test/SemaHLSL/Language/groupsharedArgs/InOut.hlsl
A clang/test/SemaHLSL/Language/groupsharedArgs/NotGroupSharedTest.hlsl
A clang/test/SemaHLSL/Language/groupsharedArgs/Pre202xWarning.hlsl
A clang/test/SemaHLSL/Language/groupsharedArgs/ScalarTest.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
M clang/test/SemaHLSL/ScalarOverloadResolution.hlsl
M clang/test/SemaHLSL/SplatOverloadResolution.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
M clang/test/SemaHLSL/TruncationOverloadResolution.hlsl
M clang/test/SemaHLSL/Types/Arithmetic/literal_suffixes.hlsl
M clang/test/SemaHLSL/Types/Arithmetic/literal_suffixes_no_16bit.hlsl
A clang/test/SemaHLSL/Types/BuiltinMatrix/MatrixConstantExpr.hlsl
A clang/test/SemaHLSL/Types/BuiltinMatrix/MatrixFloatPrecisionWarnings.hlsl
M clang/test/SemaHLSL/Types/BuiltinMatrix/MatrixSplatErrors.hlsl
M clang/test/SemaHLSL/VectorElementOverloadResolution.hlsl
M clang/test/SemaHLSL/group_shared.hlsl
M clang/test/SemaHLSL/group_shared_202x.hlsl
A clang/test/SemaHLSL/local_resource_bindings.hlsl
A clang/test/SemaHLSL/local_resource_bindings_errs.hlsl
M clang/test/SemaHLSL/matrix-member-access-errors.hlsl
A clang/test/SemaHLSL/no-conversion-warnings.hlsl
R clang/test/SemaHLSL/packoffset-invalid.hlsl
M clang/test/SemaHLSL/parameter_modifiers.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
M clang/test/SemaHLSL/standard_conversion_sequences.hlsl
R clang/test/SemaHLSL/static_resources.hlsl
R clang/test/SemaHLSL/unbounded_resource_arrays.hlsl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
M clang/test/SemaOpenCL/builtins-extended-image-param-gfx1100-err.cl
M clang/test/SemaOpenCL/builtins-image-load-param-gfx1100-err.cl
M clang/test/SemaOpenCL/builtins-image-store-param-gfx1100-err.cl
M clang/test/SemaOpenCL/extension-version.cl
A clang/test/SemaOpenCL/function-scope-local-return.cl
M clang/test/SemaOpenCL/half-float16-vector-compatibility.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/instantiate-requires-expr.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx11.cpp
M clang/test/SemaTemplate/temp_arg_template_p0522.cpp
M clang/test/TableGen/DiagnosticBase.inc
A clang/test/TableGen/builtin-docs.td
M clang/test/TableGen/deferred-diag.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/CMakeLists.txt
M clang/tools/c-index-test/CMakeLists.txt
M clang/tools/c-index-test/core_main.cpp
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/diagtool/DiagnosticNames.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/CIndexUSRs.cpp
M clang/tools/libclang/CMakeLists.txt
M clang/tools/libclang/CXCursor.cpp
M clang/tools/libclang/CXExtractAPI.cpp
A clang/tools/ssaf-format/CMakeLists.txt
A clang/tools/ssaf-format/SSAFFormat.cpp
A clang/tools/ssaf-linker/CMakeLists.txt
A clang/tools/ssaf-linker/SSAFLinker.cpp
M clang/unittests/AST/TypePrinterTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersInternalTest.cpp
M clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.h
A clang/unittests/Analysis/Scalable/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.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/FancyAnalysisData.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.h
M clang/unittests/Analysis/Scalable/Registries/MockTUSummaryBuilder.h
M clang/unittests/Analysis/Scalable/Registries/SerializationFormatRegistryTest.cpp
M clang/unittests/Analysis/Scalable/Registries/SummaryExtractorRegistryTest.cpp
R clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest.cpp
A clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/JSONFormatTest.cpp
A clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/JSONFormatTest.h
A clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/LUSummaryTest.cpp
A clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/TUSummaryTest.cpp
M clang/unittests/Analysis/Scalable/SummaryNameTest.cpp
A clang/unittests/Analysis/Scalable/TUSummaryBuilderTest.cpp
A clang/unittests/Analysis/Scalable/TestFixture.cpp
A 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/StaticAnalyzer/BlockEntranceCallbackTest.cpp
M clang/unittests/Tooling/DependencyScannerTest.cpp
M clang/unittests/Tooling/QualTypeNamesTest.cpp
M clang/unittests/Tooling/ToolingTest.cpp
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
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/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/cmake/base-config-ix.cmake
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/cmake/caches/GPU.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/asan/asan_fuchsia.cpp
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_mapping.h
M compiler-rt/lib/asan/asan_poisoning.cpp
M compiler-rt/lib/asan/asan_rtl_x86_64.S
M compiler-rt/lib/asan/tests/asan_noinst_test.cpp
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/builtins/cpu_model/riscv.c
R compiler-rt/lib/builtins/wasm/__c_longjmp.S
R compiler-rt/lib/builtins/wasm/__cpp_exception.S
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/sanitizer_unwind_win.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/tysan/tysan.cpp
M compiler-rt/lib/tysan/tysan_flags.inc
M compiler-rt/lib/ubsan/ubsan_diag.h
M compiler-rt/test/asan/TestCases/fakeframe-right-redzone.cpp
A compiler-rt/test/asan/TestCases/mmap_shadow_overlap.cpp
A compiler-rt/test/asan/TestCases/munmap_shadow_partial.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 compiler-rt/test/tysan/halt_on_error.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/AddFlangRT.cmake
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
A flang-rt/include/flang-rt/runtime/trampoline.h
M flang-rt/lib/cuda/CMakeLists.txt
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/descriptor.cpp
M flang-rt/lib/cuda/memory.cpp
A flang-rt/lib/cuda/stream.cpp
M flang-rt/lib/runtime/CMakeLists.txt
A flang-rt/lib/runtime/array.h
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
A flang-rt/lib/runtime/io-api-gpu.cpp
A flang-rt/lib/runtime/io-api-gpu.h
A flang-rt/lib/runtime/io-api-server.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
A flang-rt/lib/runtime/trampoline.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/test/Driver/exec.f90
A flang-rt/test/Driver/safe-trampoline-gnustack.f90
M flang-rt/unittests/CMakeLists.txt
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/DefaultStream.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang-rt/unittests/Runtime/CommandTest.cpp
M flang-rt/unittests/Runtime/NumericalFormatTest.cpp
M flang-rt/unittests/Runtime/Reduction.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/2025/2025-12-03.md
A flang/docs/MeetingNotes/2025/2025-12-17.md
A flang/docs/MeetingNotes/2026/2026-01-14.md
A flang/docs/MeetingNotes/2026/2026-01-21.md
A flang/docs/MeetingNotes/2026/2026-01-28.md
A flang/docs/MeetingNotes/2026/2026-02-11.md
A flang/docs/MeetingNotes/2026/2026-02-25.md
A flang/docs/MeetingNotes/README.md
M flang/docs/OpenACC.md
M flang/docs/OpenMP-declare-target.md
M flang/docs/RuntimeEnvironment.md
M flang/docs/conf.py
M flang/include/flang/Common/api-attrs.h
M flang/include/flang/Common/format.h
M flang/include/flang/Evaluate/common.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Lower/CUDA.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Lower/LoweringOptions.h
M flang/include/flang/Lower/OpenMP/Clauses.h
M flang/include/flang/Optimizer/Builder/CUDAIntrinsicCall.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Character.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
A flang/include/flang/Optimizer/Builder/Runtime/Trampoline.h
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
M flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.td
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.td
M flang/include/flang/Optimizer/Dialect/FIRDialect.td
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/HLFIR/HLFIROpBase.td
M flang/include/flang/Optimizer/HLFIR/Passes.h
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Optimizer/OpenACC/Passes.td
M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.h
M flang/include/flang/Optimizer/OpenMP/Passes.td
M flang/include/flang/Optimizer/Passes/CommandLineOpts.h
M flang/include/flang/Optimizer/Passes/Pipelines.h
A flang/include/flang/Optimizer/Support/LazySymbolTable.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/common.h
A flang/include/flang/Runtime/CUDA/stream.h
M flang/include/flang/Runtime/character.h
M flang/include/flang/Runtime/io-api.h
M flang/include/flang/Runtime/iostat-consts.h
A flang/include/flang/Runtime/trampoline.h
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Semantics/openmp-utils.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/tools.h
A flang/include/flang/Support/FPMaxminBehavior.h
M flang/include/flang/Support/Fortran-features.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Evaluate/CMakeLists.txt
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/CUDA.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertConstant.cpp
M flang/lib/Lower/HlfirIntrinsics.cpp
M flang/lib/Lower/LoweringOptions.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Lower/Support/Utils.cpp
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Character.cpp
A flang/lib/Optimizer/Builder/Runtime/Trampoline.cpp
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
M flang/lib/Optimizer/OpenACC/Support/RegisterOpenACCExtensions.cpp
A flang/lib/Optimizer/OpenACC/Transforms/ACCDeclareActionConversion.cpp
M flang/lib/Optimizer/OpenACC/Transforms/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/LowerWorkshare.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
R flang/lib/Optimizer/OpenMP/MarkDeclareTarget.cpp
M flang/lib/Optimizer/Passes/CommandLineOpts.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/AbstractResult.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceGlobal.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFPredefinedVarToGPU.cpp
M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
M flang/lib/Parser/CMakeLists.txt
M flang/lib/Parser/io-parsers.cpp
M flang/lib/Parser/openmp-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/program-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/CMakeLists.txt
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/openmp-utils.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Support/CMakeLists.txt
A flang/lib/Support/FPMaxminBehavior.cpp
M flang/module/cuda_runtime_api.f90
A flang/test/Driver/ffp-maxmin-behavior.f90
A flang/test/Driver/fsafe-trampoline.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/CUDA/predefined-variables.mlir
A flang/test/Fir/OpenACC/declare-action-conversion.fir
M flang/test/Fir/OpenACC/offload-livein-value-canonicalization.fir
M flang/test/Fir/OpenMP/bounds-generation-for-char-arrays.f90
A flang/test/Fir/boxproc-safe-trampoline.fir
M flang/test/Fir/convert-nontemporal-to-llvm.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/convert-to-llvm.fir
A flang/test/Fir/declare_value-codegen.fir
M flang/test/Fir/embox-char.fir
M flang/test/Fir/fir-ops.fir
M flang/test/Fir/invalid.fir
M flang/test/Fir/mem2reg.mlir
M flang/test/Fir/polymorphic.fir
M flang/test/Fir/tbaa-codegen-records.fir
M flang/test/Fir/tbaa.fir
M flang/test/HLFIR/assign-codegen.fir
A flang/test/HLFIR/simplify-hlfir-intrinsics-maxmin.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-maxval.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-minval.fir
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
M flang/test/Integration/OpenMP/private-global.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
A flang/test/Lower/HLFIR/cshift-optional-dim.f90
M flang/test/Lower/HLFIR/goto-do-body.f90
A flang/test/Lower/HLFIR/recursive-user-procedure.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
M flang/test/Lower/Intrinsics/btest.f90
M flang/test/Lower/Intrinsics/c_associated.f90
M flang/test/Lower/Intrinsics/c_funloc.f90
M flang/test/Lower/Intrinsics/cmplx.f90
M flang/test/Lower/Intrinsics/cpu_time.f90
M flang/test/Lower/Intrinsics/date_and_time.f90
M flang/test/Lower/Intrinsics/dconjg.f90
M flang/test/Lower/Intrinsics/dim.f90
M flang/test/Lower/Intrinsics/dimag.f90
M flang/test/Lower/Intrinsics/dprod.f90
M flang/test/Lower/Intrinsics/dreal.f90
M flang/test/Lower/Intrinsics/dshiftl.f90
M flang/test/Lower/Intrinsics/dshiftr.f90
M flang/test/Lower/Intrinsics/eoshift.f90
M flang/test/Lower/Intrinsics/erfc_scaled.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/OpenACC/acc-reduction-maxmin.f90
M flang/test/Lower/OpenACC/acc-reduction.f90
R flang/test/Lower/OpenMP/Todo/affinity-clause.f90
A flang/test/Lower/OpenMP/Todo/depth-clause.f90
R flang/test/Lower/OpenMP/Todo/omp-declare-simd.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
M flang/test/Lower/OpenMP/declare-target-func-and-subr.f90
M flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90
M flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap.f90
M flang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-firstprivate.f90
A flang/test/Lower/OpenMP/fuse01.f90
A flang/test/Lower/OpenMP/fuse02.f90
A flang/test/Lower/OpenMP/implicit-map-pointer-no-default-mapper.f90
A flang/test/Lower/OpenMP/math-nvptx.f90
M flang/test/Lower/OpenMP/order-clause.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/simd.f90
M flang/test/Lower/OpenMP/target-data-skip-mapper-calls.f90
M flang/test/Lower/OpenMP/task-affinity.f90
A flang/test/Lower/OpenMP/task-implicit-firstprivate.f90
M flang/test/Lower/OpenMP/wsloop-linear.f90
M flang/test/Lower/do-while-to-scf-while.f90
M flang/test/Lower/forall/forall-allocatable-2.f90
M flang/test/Lower/forall/forall-allocatable.f90
M flang/test/Lower/forall/forall-array.f90
M flang/test/Lower/forall/forall-construct-2.f90
M flang/test/Lower/forall/forall-construct-3.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
A flang/test/Lower/fp-maxmin-behavior.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/location.f90
A flang/test/Lower/pdt-struct-constructor-init.f90
A flang/test/Lower/safe-trampoline.f90
M flang/test/Lower/volatile3.f90
A flang/test/Parser/OpenMP/depth-clause.f90
A flang/test/Parser/bug176914.did-work.0.f90
A flang/test/Parser/bug176914.did-work.1.f90
A flang/test/Parser/bug176914.did-work.2.f90
A flang/test/Parser/bug176914.did-work.3.f90
A flang/test/Parser/bug176914.f90
A flang/test/Parser/bug176914.was-broken.0.f90
A flang/test/Parser/bug176914.was-broken.1.f90
A flang/test/Parser/bug176914.was-broken.2.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
A flang/test/Semantics/OpenMP/common-block_copyin.f90
M flang/test/Semantics/OpenMP/depend01.f90
A flang/test/Semantics/OpenMP/depth-clause.f90
M flang/test/Semantics/OpenMP/do10.f90
A flang/test/Semantics/OpenMP/fuse1.f90
A flang/test/Semantics/OpenMP/implicit_linear_symbols.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/cuf23.cuf
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/FIRToMemRef/array-coor-block-arg.mlir
M flang/test/Transforms/FIRToMemRef/no-declare.mlir
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 flang/test/Transforms/OpenACC/offload-target-verifier.fir
A flang/test/Transforms/OpenMP/lower-workshare-thread-local.mlir
A flang/test/Transforms/debug-dwarf-debug-flags.fir
A flang/test/Transforms/debug-fn-attr.fir
A flang/test/Transforms/omp-map-info-finalization-usm.fir
M flang/tools/bbc/bbc.cpp
M flang/tools/f18/CMakeLists.txt
M flang/tools/flang-driver/driver.cpp
M flang/tools/tco/tco.cpp
M libc/CMakeLists.txt
M libc/Maintainers.rst
M libc/cmake/modules/LLVMLibCArchitectures.cmake
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/darwin/x86_64/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/aarch64/headers.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
A libc/docs/Helpers/Styles.rst
R libc/docs/README.txt
A libc/docs/_static/copybutton.css
A libc/docs/_static/copybutton.js
M libc/docs/_static/custom.css
M libc/docs/conf.py
A libc/docs/dev/building_docs.rst
M libc/docs/dev/index.rst
M libc/docs/dev/undefined_behavior.rst
M libc/docs/full_cross_build.rst
M libc/docs/full_host_build.rst
M libc/docs/gpu/building.rst
M libc/docs/gpu/motivation.rst
M libc/docs/gpu/rpc.rst
M libc/docs/gpu/support.rst
M libc/docs/gpu/testing.rst
M libc/docs/gpu/using.rst
M libc/docs/headers/math/index.rst
M libc/docs/index.rst
M libc/docs/overlay_mode.rst
M libc/docs/porting.rst
M libc/docs/uefi/building.rst
M libc/docs/uefi/support.rst
M libc/docs/uefi/testing.rst
M libc/docs/uefi/using.rst
M libc/hdr/CMakeLists.txt
A libc/hdr/sys_socket_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/Elf32_auxv_t.h
A libc/hdr/types/Elf64_auxv_t.h
A libc/hdr/types/key_t.h
A libc/hdr/types/struct_sockaddr_un.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/link-macros.h
M libc/include/llvm-libc-macros/linux/CMakeLists.txt
A libc/include/llvm-libc-macros/linux/sys-ipc-macros.h
M libc/include/llvm-libc-macros/sys-auxv-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/Elf32_auxv_t.h
A libc/include/llvm-libc-types/Elf64_auxv_t.h
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/socket.yaml
M libc/include/sys/types.yaml
A libc/include/sys/un.yaml
M libc/include/time.yaml
M libc/include/wctype.yaml
M libc/lib/CMakeLists.txt
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/bf16addf.h
A libc/shared/math/bf16addl.h
A libc/shared/math/bf16divf.h
A libc/shared/math/bf16divl.h
A libc/shared/math/bf16fmaf.h
A libc/shared/math/bf16fmaf128.h
A libc/shared/math/bf16fmal.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
A libc/shared/math/ceil.h
A libc/shared/math/ceilbf16.h
A libc/shared/math/ceilf.h
A libc/shared/math/ceilf128.h
A libc/shared/math/ceilf16.h
A 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/f16add.h
A libc/shared/math/f16addf.h
A libc/shared/math/f16addf128.h
A libc/shared/math/f16addl.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
A libc/shared/math/fadd.h
A libc/shared/math/faddf128.h
A 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
A libc/shared/math/fmax.h
A libc/shared/math/fmaxbf16.h
A libc/shared/math/fmaxf.h
A libc/shared/math/fmaxf128.h
A libc/shared/math/fmaxf16.h
A 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
Log Message:
-----------
Merge branch 'main' into users/aokblast/readelf/pxnum_support
Compare: https://github.com/llvm/llvm-project/compare/707b9380f7cb...1e67bd21d2fe
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