LLVM/project be4a02flldb/source/Plugins/Platform/WebAssembly PlatformWebInspectorWasm.cpp PlatformWebInspectorWasm.h

[lldb] Immediately connect in webinspector-wasm (#196368)

Call `EnsureConnected` in the `PlatformWebInspectorWasm` ctor so the
platform reports being connected after selecting in. The lazy approach
resulted in confusion due to the "Connected: no" in the `platform
select` output:

```
(lldb) platform select webinspector-wasm
  Platform: webinspector-wasm
 Connected: no
```
DeltaFile
+7-0lldb/source/Plugins/Platform/WebAssembly/PlatformWebInspectorWasm.cpp
+1-1lldb/source/Plugins/Platform/WebAssembly/PlatformWebInspectorWasm.h
+8-12 files

LLVM/project 91bd905llvm/lib/Target/AMDGPU AMDGPUPrintfRuntimeBinding.cpp, llvm/lib/Target/AMDGPU/Disassembler AMDGPUDisassembler.cpp

[AMDGPU] Remove unused argument of DataExtractor constructor (NFC) (#196362)

`AddressSize` parameter is not used by `DataExtractor` and will be
removed in the future. See #190519 for more context.
DeltaFile
+1-1llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
+1-1llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp
+1-1llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
+3-33 files

LLVM/project 8f45e08clang/lib/CIR/CodeGen CIRGenBuiltinNVPTX.cpp, clang/test/CIR/CodeGenCUDA builtins-nvvm-math.cu

[CIR][CUDA] Implement NVVM math builtins (fabs, ex2_approx) (#195663)

Replace errorNYI stubs with actual cir::LLVMIntrinsicCallOp calls for:
- __nvvm_fabs_f, __nvvm_fabs_d, __nvvm_fabs_ftz_f (+ f16/bf16 variants)
- __nvvm_ex2_approx_f, __nvvm_ex2_approx_d, __nvvm_ex2_approx_ftz_f

__nvvm_fabs_d maps to standard llvm.fabs (matching classic CodeGen),
while the rest map to their respective nvvm.* intrinsics.

Part of #179278
DeltaFile
+65-0clang/test/CIR/CodeGenCUDA/builtins-nvvm-math.cu
+19-20clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
+84-202 files

LLVM/project ac19c7coffload/unittests/OffloadAPI/device_code single_counter.cpp CMakeLists.txt, offload/unittests/OffloadAPI/kernel olLaunchKernel.cpp

[offload] add tests for event synchronization (#193927)

This patch adds:
- a new kernel `void single_counter(int32_t init_loop, int32_t addend,
uint32_t *init_val, uint32_t *out)`
- a new test suite `olLaunchKernelSingleCounterSyncEventTest`, with two
tests

The test `SuccessSyncEvent` verifies whether `olSyncEvent(Event)` awaits
the completion of `Event`.

The test `SuccessTwoQueues` checks the correctness of the
synchronization between queues using events. Enqueueing the kernel on
the queue `Q1` should produce `Result1`, which is used as an initial
value for the queue `Q2`. Therefore, before executing any future work,
`Q2` should wait for the event `Event1`, which is created after
submitting work on `Q1`. The required synchronization is ensured by
`olWaitEvents(Q2, &Event1, 1)`. If `Q2` uses the value passed as
`Result1` before the work on `Q1` has completed, the result of the
kernel enqueued on `Q2` would be incorrect.
DeltaFile
+120-0offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
+23-0offload/unittests/OffloadAPI/device_code/single_counter.cpp
+2-0offload/unittests/OffloadAPI/device_code/CMakeLists.txt
+145-03 files

LLVM/project 7fbf008llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.cvt.off.f32.i4.ll

AMDGPU/GlobalISel: RegBankLegalize rules for cvt_off_f32_i4 (#196190)
DeltaFile
+12-3llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.off.f32.i4.ll
+2-1llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+14-42 files

LLVM/project 9e448f0clang/lib/CIR/CodeGen CIRGenModule.cpp CIRGenItaniumCXXABI.cpp

Add support for GenericARM. (#190221)

Uses `CIRGenItaniumCXXABI`  when generating IR for the  ABI target.

Co-authored-by: Justin A. Wilson <waj334 at gmsil.com>
DeltaFile
+1-1clang/lib/CIR/CodeGen/CIRGenModule.cpp
+1-0clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
+2-12 files

LLVM/project 90334ccflang/test/Evaluate rewrite02.f90 rewrite01.f90, flang/test/Parser/OpenMP loop-transformation-construct02.f90

[flang] Use __builtin_int for integer conversions (#195748)

Frontend inserted conversions may conflict with variable names.
Avoid this for integer conversions by using `__builtin_int` instead
of `int`.

Fixes #188879
DeltaFile
+31-31flang/test/Semantics/modproc01.f90
+12-12flang/test/Evaluate/rewrite02.f90
+10-10flang/test/Evaluate/rewrite01.f90
+8-8flang/test/Semantics/modfile17.f90
+5-5flang/test/Semantics/rewrite03.f90
+5-5flang/test/Parser/OpenMP/loop-transformation-construct02.f90
+71-7132 files not shown
+150-13738 files

LLVM/project 3bcbeeflldb/source/Expression DWARFExpression.cpp, lldb/unittests/Expression DWARFExpressionTest.cpp

[lldb] Audit DWARF 5 expression evaluator and add per-opcode tests (#196218)

Add a dedicated unit test for every standard DWARF 5 expression operator
(plus the GNU extensions in use), so each opcode in the evaluator's
switch has explicit coverage. Tests for opcodes that require execution
context not available in a standalone evaluation (process, frame,
compile unit, object address) assert that evaluation fails cleanly
rather than crashing.

This PR fixes one bug surfaced by the audit: DW_OP_deref_size only
rejected sizes greater than 8, not sizes greater than the target's
address size. The DWARF 5 spec requires the operand to be no larger than
the generic type. The new check returns a clean diagnostic instead of
silently dereferencing beyond the address-sized window on 32-bit
targets.

Assisted-by: Claude
DeltaFile
+507-0lldb/unittests/Expression/DWARFExpressionTest.cpp
+7-2lldb/source/Expression/DWARFExpression.cpp
+514-22 files

LLVM/project 7ab26d7bolt/lib/Rewrite RewriteInstance.cpp

[BOLT] Fix EH data encoding checks in relocateEHFrameSection (#195691)
DeltaFile
+4-7bolt/lib/Rewrite/RewriteInstance.cpp
+4-71 files

LLVM/project 00d43e4compiler-rt/test/asan/TestCases asan_and_llvm_coverage_test.cpp debug_memcpy_overlap.cpp

[ASan] MSVC test compatibility fixes (#196319)

Fixes a few tests with the MSVC toolchain due to incompatibilities:

1. `asan_and_llvm_coverage_test.cpp`: Adds MSVC-specific linker flags
(/link /NODEFAULTLIB:libcmt ...) alongside the
existing clang-cl -Wl flags. It is probably better to convert these
later to substitution changes in `lit.cfg.py`, but that will require
upstreaming more test changes.
1. `debug_invalid_pointer_pair.cpp`: Marks the test `UNSUPPORTED: MSVC`
because `-mllvm` and codegen isn't supported with MSVC.
1. `debug_memcpy_overlap.cpp` : Adds `/Oi` (enable intrinsics) when
building with MSVC, so `memcpy` is emitted as a call
that ASan can intercept.
DeltaFile
+5-4compiler-rt/test/asan/TestCases/asan_and_llvm_coverage_test.cpp
+1-1compiler-rt/test/asan/TestCases/debug_memcpy_overlap.cpp
+1-0compiler-rt/test/asan/TestCases/debug_invalid_pointer_pair.cpp
+7-53 files

LLVM/project cd7905eflang/docs/MeetingNotes/2026 2026-05-06.md

[flang] Adding Flang Call Notes from May 6th meeting (#196356)
DeltaFile
+76-0flang/docs/MeetingNotes/2026/2026-05-06.md
+76-01 files

LLVM/project 24c56d2flang/lib/Frontend TextDiagnosticBuffer.cpp

Add #include "llvm/Support/raw_ostream.h"
DeltaFile
+1-0flang/lib/Frontend/TextDiagnosticBuffer.cpp
+1-01 files

LLVM/project 3436eeeflang/lib/Frontend TextDiagnosticBuffer.cpp

Use "
DeltaFile
+1-1flang/lib/Frontend/TextDiagnosticBuffer.cpp
+1-11 files

LLVM/project 83789ccclang/docs ReleaseNotes.rst, clang/include/clang/Basic DiagnosticCommonKinds.td

[Clang] [C++26] Expansion Statements (Part 11)
DeltaFile
+104-0clang/test/AST/ast-print-expansion-stmts.cpp
+49-0clang/test/AST/ast-dump-expansion-stmt.cpp
+0-4clang/include/clang/Basic/DiagnosticCommonKinds.td
+1-1clang/www/cxx_status.html
+1-0clang/docs/ReleaseNotes.rst
+155-55 files

LLVM/project 5b834ffclang/lib/AST ExprConstant.cpp, clang/lib/AST/ByteCode Compiler.cpp Compiler.h

[Clang] [C++26] Expansion Statements (Part 7)
DeltaFile
+1,472-0clang/test/SemaCXX/cxx2c-expansion-stmts.cpp
+42-0clang/lib/AST/ByteCode/Compiler.cpp
+40-0clang/lib/AST/ExprConstant.cpp
+2-1clang/lib/AST/ByteCode/Compiler.h
+3-0clang/lib/Sema/SemaDeclCXX.cpp
+1,559-15 files

LLVM/project c2350ebclang/include/clang/Basic DiagnosticSemaKinds.td, clang/lib/Sema SemaExpand.cpp TreeTransform.h

[Clang] [C++26] Expansion Statements (Part 6)
DeltaFile
+105-6clang/lib/Sema/SemaExpand.cpp
+23-3clang/lib/Sema/TreeTransform.h
+2-0clang/include/clang/Basic/DiagnosticSemaKinds.td
+130-93 files

LLVM/project a901f43clang/include/clang/Basic DiagnosticSemaKinds.td, clang/include/clang/Sema ScopeInfo.h

[Clang] [C++26] Expansion Statements (Part 9)
DeltaFile
+135-0clang/test/SemaCXX/cxx2c-expansion-stmts-control-flow.cpp
+38-9clang/lib/Sema/SemaLookup.cpp
+28-2clang/lib/Sema/SemaStmt.cpp
+9-2clang/lib/Parse/ParseStmt.cpp
+5-1clang/include/clang/Sema/ScopeInfo.h
+6-0clang/include/clang/Basic/DiagnosticSemaKinds.td
+221-141 files not shown
+223-157 files

LLVM/project b83e5e8clang/include/clang/Basic DiagnosticSemaKinds.td, clang/include/clang/Options Options.td

[Clang] [C++26] Expansion Statements (Part 10)
DeltaFile
+69-0clang/test/SemaCXX/cxx2c-expansion-stmts-limit.cpp
+18-0clang/lib/Sema/SemaExpand.cpp
+9-0clang/test/SemaCXX/cxx2c-fexpansion-statements.cpp
+4-0clang/include/clang/Basic/DiagnosticSemaKinds.td
+4-0clang/include/clang/Options/Options.td
+1-0clang/lib/Driver/ToolChains/Clang.cpp
+105-01 files not shown
+106-07 files

LLVM/project d8fb21dclang/include/clang/Basic DiagnosticSemaKinds.td, clang/include/clang/Sema Sema.h

[Clang] [C++26] Expansion Statements (Part 5)
DeltaFile
+498-14clang/lib/Sema/SemaExpand.cpp
+71-0clang/lib/Sema/TreeTransform.h
+21-15clang/lib/Sema/SemaStmt.cpp
+12-0clang/include/clang/Basic/DiagnosticSemaKinds.td
+11-0clang/include/clang/Sema/Sema.h
+613-295 files

LLVM/project 6116decclang/test/CodeGenCXX cxx2c-enumerating-expansion-statements.cpp cxx2c-iterating-expansion-stmt.cpp

[Clang] [C++26] Expansion Statements (Part 8)
DeltaFile
+1,518-0clang/test/CodeGenCXX/cxx2c-enumerating-expansion-statements.cpp
+548-0clang/test/CodeGenCXX/cxx2c-iterating-expansion-stmt.cpp
+493-0clang/test/CodeGenCXX/cxx2c-destructuring-expansion-stmt.cpp
+430-0clang/test/CodeGenCXX/cxx2c-expansion-stmts-control-flow.cpp
+208-0clang/test/CodeGenCXX/cxx2c-expansion-stmts-templates.cpp
+134-0clang/test/CodeGenCXX/cxx2c-expansion-stmts-mangling.cpp
+3,331-03 files not shown
+3,372-39 files

LLVM/project db284dfllvm/lib/Analysis ValueTracking.cpp, llvm/test/Transforms/InstSimplify ctpop-pow2.ll

[Analysis] use forward DFS in `isEphemeralValueOf` (#196232)

Resolves #128152.

The old algorithm runs a backward DFS from `I` and marks `E` as
ephemeral iff every user of `E` has already been visited. This fails
when `E` has a user that the backward walk never reaches. Switch to a
forward DFS from `E` so that ephemeral values are identified when the
condition has other uses off the assume chain.
DeltaFile
+22-23llvm/lib/Analysis/ValueTracking.cpp
+17-0llvm/test/Transforms/InstSimplify/ctpop-pow2.ll
+39-232 files

LLVM/project f4c5a3fflang/lib/Frontend CompilerInvocation.cpp TextDiagnosticBuffer.cpp

format
DeltaFile
+5-4flang/lib/Frontend/CompilerInvocation.cpp
+2-1flang/lib/Frontend/TextDiagnosticBuffer.cpp
+7-52 files

LLVM/project 221a24ellvm/include/llvm/Transforms/Scalar LoopPassManager.h, llvm/test/Other lpm-require-analysis-optnone.ll

[PassManager] Mark Loop RequireAnalysis as OptionalPassInfoMixin (#196345)

\#192120 marked this as RequiredPassInfoMixin, deviating from previous
behavior. This is probably fine for Function/Module analyses, but
doesn't work well for loop analyses in the case that we have a loop in
an optnone function that is not in LCSSA. The LCSSA pass will not run
because it is optional, the analysis will get computed, and then we
assert because the loop is out of LCSSA at the end of the LPM.

Restore the old behavior of just not marking the pass as required as it
seems reasonable enough.
DeltaFile
+29-0llvm/test/Other/lpm-require-analysis-optnone.ll
+1-1llvm/include/llvm/Transforms/Scalar/LoopPassManager.h
+30-12 files

LLVM/project 7f7afd8clang/include/clang/Basic DiagnosticDriverKinds.td, flang/include/flang/Support Fortran-features.h

[flang] Implement -Wno-<warning> flags for driver diagnostics

Utilize clang::ProcessWarningOptions function to process -Wno-... options.

This has the side effect that without additional changes it would cause
driver warnings to become errors with -Werror. That would be a change
from the existing behavior, so make sure that these warnings remain
uneffected.

Modify the diagnostic emitter to add the disabling option at the end of
the emitted diagnostic.

Fixes https://github.com/llvm/llvm-project/issues/195921
DeltaFile
+37-28flang/lib/Frontend/CompilerInvocation.cpp
+34-1flang/lib/Frontend/TextDiagnosticBuffer.cpp
+5-2clang/include/clang/Basic/DiagnosticDriverKinds.td
+3-3flang/test/Driver/fopenmp-version.F90
+1-1flang/include/flang/Support/Fortran-features.h
+80-355 files

LLVM/project 87d42c1libclc/cmake/modules AddLibclc.cmake

[libclc] Fix using normalized triple for the directory name (#194607)

Summary:
libclc needs to normalize triples, mostly on account of the fact that
things like spv and clspv aren't real triples but are used anyway. That
is, we convert the user-value to whatever is passed to `--target=`. The
problem is that we were not using the normal triple for the installation
directory, so something like `spirv64-mesa32-unknown` would be installed
in `spirv64--`.

This *might* have the side effect of putting these in
`spirv64-unknown-unknown`. I actually do not know if that's a problem
with the clang handling, I'll double check.
DeltaFile
+4-3libclc/cmake/modules/AddLibclc.cmake
+4-31 files

LLVM/project b1da9d0llvm/test/CodeGen/X86 vector-reduce-smin.ll vector-reduce-smax.ll, llvm/test/tools/llvm-mca/AArch64/Cortex C1Premium-sve-instructions.s C1Premium-writeback.s

rebase

Created using spr 1.3.5
DeltaFile
+6,873-0llvm/test/tools/llvm-mca/AArch64/Cortex/C1Premium-sve-instructions.s
+2,928-1,388llvm/test/CodeGen/X86/vector-reduce-smin.ll
+2,924-1,389llvm/test/CodeGen/X86/vector-reduce-smax.ll
+3,979-0llvm/test/tools/llvm-mca/AArch64/Cortex/C1Premium-writeback.s
+2,677-1,279llvm/test/CodeGen/X86/vector-reduce-umax.ll
+2,628-1,271llvm/test/CodeGen/X86/vector-reduce-umin.ll
+22,009-5,3272,394 files not shown
+103,254-36,1732,400 files

LLVM/project 4bba49ellvm/test/CodeGen/X86 vector-reduce-smin.ll vector-reduce-smax.ll, llvm/test/tools/llvm-mca/AArch64/Cortex C1Premium-sve-instructions.s C1Premium-writeback.s

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.5

[skip ci]
DeltaFile
+6,873-0llvm/test/tools/llvm-mca/AArch64/Cortex/C1Premium-sve-instructions.s
+2,928-1,388llvm/test/CodeGen/X86/vector-reduce-smin.ll
+2,924-1,389llvm/test/CodeGen/X86/vector-reduce-smax.ll
+3,979-0llvm/test/tools/llvm-mca/AArch64/Cortex/C1Premium-writeback.s
+2,677-1,279llvm/test/CodeGen/X86/vector-reduce-umax.ll
+2,628-1,271llvm/test/CodeGen/X86/vector-reduce-umin.ll
+22,009-5,3272,394 files not shown
+103,251-36,1912,400 files

LLVM/project 2b06414llvm/lib/Target/MSP430 MSP430ISelLowering.cpp, llvm/test/CodeGen/MSP430 cmp-imm-high-bit.ll

[MSP430] Compute c+1 at the operand bit width in EmitCMP (#195892)

EmitCMP folds `c CMP rhs` into `rhs CMP' c+1` for four condition codes.
The `c+1` must wrap modulo the i16 operand width, but the current code
does `DAG.getConstant(C->getSExtValue() + 1, dl, MVT::i16)`:
sign-extending to `int64_t`, adding there, then handing the result to
the unsigned
`getConstant(uint64_t, ..., MVT::i16)` overload. 

For constants with bit 15 set the negative `int64_t` is reinterpreted as
a huge `uint64_t`, which
trips the `isUIntN(16, val)` assertion in the APInt constructor under
`LLVM_ENABLE_ASSERTIONS` and yields an APInt with non-zero bits past its
declared width otherwise.

Switching to `DAG.getSignedConstant(C->getSExtValue() + 1, ...)` routes
through the signed `APInt` constructor, which checks `isIntN(16, val)`
and accepts the negative `c+1` produced when the high bit is set. The
four EmitCMP fold branches (SETUGE, SETULT, SETGE, SETLT) are updated
identically.
DeltaFile
+200-0llvm/test/CodeGen/MSP430/cmp-imm-high-bit.ll
+8-4llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
+208-42 files

LLVM/project 5c13976llvm/test/CodeGen/X86 vector-reduce-smin.ll vector-reduce-smax.ll, llvm/test/tools/llvm-mca/AArch64/Cortex C1Premium-sve-instructions.s C1Premium-writeback.s

address review comments, and add new test

Created using spr 1.3.5
DeltaFile
+6,873-0llvm/test/tools/llvm-mca/AArch64/Cortex/C1Premium-sve-instructions.s
+2,928-1,388llvm/test/CodeGen/X86/vector-reduce-smin.ll
+2,924-1,389llvm/test/CodeGen/X86/vector-reduce-smax.ll
+3,979-0llvm/test/tools/llvm-mca/AArch64/Cortex/C1Premium-writeback.s
+2,677-1,279llvm/test/CodeGen/X86/vector-reduce-umax.ll
+2,628-1,271llvm/test/CodeGen/X86/vector-reduce-umin.ll
+22,009-5,3272,394 files not shown
+103,251-36,1912,400 files

LLVM/project 04cacc9llvm/test/CodeGen/X86 vector-reduce-smin.ll vector-reduce-smax.ll, llvm/test/tools/llvm-mca/AArch64/Cortex C1Premium-sve-instructions.s C1Premium-writeback.s

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.5

[skip ci]
DeltaFile
+6,873-0llvm/test/tools/llvm-mca/AArch64/Cortex/C1Premium-sve-instructions.s
+2,928-1,388llvm/test/CodeGen/X86/vector-reduce-smin.ll
+2,924-1,389llvm/test/CodeGen/X86/vector-reduce-smax.ll
+3,979-0llvm/test/tools/llvm-mca/AArch64/Cortex/C1Premium-writeback.s
+2,677-1,279llvm/test/CodeGen/X86/vector-reduce-umax.ll
+2,628-1,271llvm/test/CodeGen/X86/vector-reduce-umin.ll
+22,009-5,3272,388 files not shown
+103,222-36,1622,394 files