LLVM/project 8808bf7llvm/test/Transforms/LoopVectorize/AArch64 cmp_cost.ll

[LV] Add missing REQUIRES to cmp_cost.ll test (#197734)
DeltaFile
+1-0llvm/test/Transforms/LoopVectorize/AArch64/cmp_cost.ll
+1-01 files

LLVM/project d749f87flang/lib/Lower/OpenMP Utils.cpp ClauseProcessor.cpp

[flang][OpenMP][NFC] Share declare mapper helpers for iterator modifier lowering

Move mapper lookup and implicit default mapper creation into reusable
OpenMP lowering helpers so regular map lowering and iterator-generated
map entries can use the same resolution path.

This prepares Flang iterator modifier lowering for map and motion clauses
without changing the generated IR for existing non-iterator maps.
DeltaFile
+153-0flang/lib/Lower/OpenMP/Utils.cpp
+6-142flang/lib/Lower/OpenMP/ClauseProcessor.cpp
+7-0flang/lib/Lower/OpenMP/Utils.h
+166-1423 files

LLVM/project e79a743mlir/include/mlir/Dialect/LLVMIR LLVMIntrinsicOps.td LLVMOps.td, mlir/lib/Dialect/LLVMIR/IR LLVMTypeSyntax.cpp LLVMTypes.cpp

remove LLVM token type
DeltaFile
+23-37mlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
+15-10mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
+11-11mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
+9-9mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
+7-7mlir/test/Target/LLVMIR/Import/intrinsic.ll
+6-7mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
+71-8112 files not shown
+94-10918 files

LLVM/project f977cd2llvm/lib/Transforms/InstCombine InstCombineCompares.cpp InstructionCombining.cpp, llvm/test/Transforms/InstCombine inttoptr-nullptr.ll

[InstCombine] Use `isa<ConstantPointerNull>` for null pointer checks (#197722)

Make InstCombine pointer-null checks use `isa<ConstantPointerNull>`
rather than generic zero checks, and fold inttoptr comparisons against
the DataLayout null pointer value.
DeltaFile
+48-0llvm/test/Transforms/InstCombine/inttoptr-nullptr.ll
+11-7llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
+2-2llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+61-93 files

LLVM/project 6c99fb3flang/lib/Lower/OpenMP Utils.cpp ClauseProcessor.cpp, flang/lib/Optimizer/OpenMP MapInfoFinalization.cpp

[Flang][OpenMP] Support iterator modifier in map and motion clauses

This patch supports iterator-dependent array elements and array sections for
target data, target enter data, target exit data, and target update.

It also preserves mapper resolution for iterated entries, including explicit
mappers, user-defined default mappers, declare mapper entries, and implicit
default mappers.

This patch is part of feature work for #188061.

Assisted with copilot.
DeltaFile
+507-0flang/test/Lower/OpenMP/motion-iterator.f90
+164-0flang/lib/Lower/OpenMP/Utils.cpp
+133-12flang/lib/Lower/OpenMP/ClauseProcessor.cpp
+25-0flang/test/Lower/OpenMP/declare-mapper-iterator.f90
+15-0flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
+14-0flang/lib/Lower/OpenMP/Utils.h
+858-123 files not shown
+858-399 files

LLVM/project 3b3dfcbflang/lib/Lower/OpenMP Utils.cpp ClauseProcessor.cpp

[flang][OpenMP] NFC: Share declare mapper helpers for iterator modifier lowering

Move mapper lookup and implicit default mapper creation into reusable
OpenMP lowering helpers so regular map lowering and iterator-generated
map entries can use the same resolution path.

This prepares Flang iterator modifier lowering for map and motion clauses
without changing the generated IR for existing non-iterator maps.
DeltaFile
+150-0flang/lib/Lower/OpenMP/Utils.cpp
+6-142flang/lib/Lower/OpenMP/ClauseProcessor.cpp
+6-0flang/lib/Lower/OpenMP/Utils.h
+162-1423 files

LLVM/project 02fa93fllvm/lib/Frontend/Offloading Utility.cpp

[Frontend/Offloading] Fix use-after-reallocation in sycl::writeSymbolTable (#197612)

`writeSymbolTable` took raw pointers into the `SmallString` buffer
(`Header`, `Entries`) and then called `Out.append()` / `Out.push_back()`
inside the loop to write string data. When the `SmallString` needed to
grow, it reallocated, silently invalidating those pointers. All writes
  through `Entries[I]` after the first reallocation were undefined
behaviour; UBSAN caught this as a crash (exit code -6 / SIGABRT) on the
  sanitizer-x86_64-linux-bootstrap-ubsan builder.

  The fix pre-computes the total buffer size (header + entry array +
  all null-terminated name strings) and calls `reserve()` before any
  pointers are taken, guaranteeing that the subsequent `append` and
  `push_back` calls cannot trigger a reallocation.
DeltaFile
+6-2llvm/lib/Frontend/Offloading/Utility.cpp
+6-21 files

LLVM/project 95621eelldb/source/Plugins/Process/Windows/Common NativeProcessWindows.cpp

[NFC][lldb][windows] refactor switch case braces (#197714)
DeltaFile
+25-31lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
+25-311 files

LLVM/project 4bdc338libc/config/linux/aarch64 entrypoints.txt, libc/config/linux/riscv entrypoints.txt

[libc] Restore sysconf to default entrypoints (#197696)

Reverts the experimental gating of sysconf introduced in 1d93fc4f74fe
and restores it to the Scudo integration test entrypoints (undoing
8257855f77d5).

sysconf works correctly for the constants it handles. Moving it behind
the experimental flag broke the Scudo build since Scudo calls
sysconf(_SC_PAGESIZE).

Changes:
* libc/config/linux/{x86_64,aarch64,riscv}/entrypoints.txt: moved
sysconf back into TARGET_LIBC_ENTRYPOINTS, removed the
LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS guard.
* libc/test/integration/scudo/CMakeLists.txt: restored
libc.src.unistd.sysconf to the Scudo entrypoint library.

Assisted-by: Automated tooling, human reviewed.
DeltaFile
+1-5libc/config/linux/aarch64/entrypoints.txt
+1-5libc/config/linux/riscv/entrypoints.txt
+1-5libc/config/linux/x86_64/entrypoints.txt
+1-0libc/test/integration/scudo/CMakeLists.txt
+4-154 files

LLVM/project af53493llvm/utils/gn/secondary/clang/lib/DependencyScanning BUILD.gn

[gn build] Port 6edd18390be2 (#197744)
DeltaFile
+1-0llvm/utils/gn/secondary/clang/lib/DependencyScanning/BUILD.gn
+1-01 files

LLVM/project 7560d62llvm/utils/gn/secondary/compiler-rt/lib/builtins BUILD.gn

[gn] "port" d2af73c9fe5e (#197743)
DeltaFile
+6-0llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
+6-01 files

LLVM/project a3765dellvm/utils/gn/secondary/compiler-rt/lib/builtins BUILD.gn

[gn] "port" 1cb92d817468 (#197742)
DeltaFile
+10-5llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
+10-51 files

LLVM/project 3f405c4llvm/utils/gn/secondary/compiler-rt/lib/builtins BUILD.gn

[gn] "port" 0c539fc057b2 (#197741)
DeltaFile
+2-0llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
+2-01 files

LLVM/project 2a28668llvm/test/CodeGen/AMDGPU andorn2.ll

Add tests for constant bus
DeltaFile
+416-0llvm/test/CodeGen/AMDGPU/andorn2.ll
+416-01 files

LLVM/project c1239edllvm/lib/Transforms/InstCombine InstCombineCompares.cpp InstructionCombining.cpp, llvm/test/Transforms/InstCombine inttoptr-nullptr.ll

[InstCombine] Use `isa<ConstantPointerNull>` for null pointer checks

Make InstCombine pointer-null checks use `isa<ConstantPointerNull>` rather than
generic zero checks, and fold inttoptr comparisons against the DataLayout null
pointer value.
DeltaFile
+48-0llvm/test/Transforms/InstCombine/inttoptr-nullptr.ll
+11-7llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
+2-2llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+61-93 files

LLVM/project 7581ddalldb/source/Plugins/LanguageRuntime/ObjC ObjCLanguageRuntime.cpp ObjCLanguageRuntime.h

[lldb][NFC] Use DenseMap in ObjCLanguageRuntime (#197444)

This is a multimap of Hash -> ObjCISA (lldb::addr_t), and it shows up
cpu traces of swift applications. This commit replaces
`std::multimap<hash, addr_t>` with `DenseMap<hash, SmallVector<addr_t,
2>>`.

This data structure was chosen because of the following experiment. When
evaluating a frame variable command for a SwiftUI variable, this object
gets populated with ~186,000 entries:

* over a thousand of them had 2 hash collisions.
* 300 of them had 3 hash collisions.
* 21 of them had 4 hash collisions.
* 1 of them had 5 hash collisions.

On a release build (no asserts), this patch brought down the CPU cycles
measured for that command from 487M cycles to 389M cycles.
DeltaFile
+8-10lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp
+2-3lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h
+10-132 files

LLVM/project 899457cclang/include/clang/DependencyScanning DependencyActionController.h DependencyScanningWorker.h, clang/lib/DependencyScanning DependencyScannerImpl.cpp DependencyScanningWorker.cpp

[clang][deps] Consolidate types into new `DependencyActionController.h` (#197721)

This PR pulls types from multiple headers into new
`DependencyActionController.h`. This is just a cleanup, NFC.
DeltaFile
+97-0clang/include/clang/DependencyScanning/DependencyActionController.h
+0-57clang/include/clang/DependencyScanning/DependencyScanningWorker.h
+0-13clang/include/clang/DependencyScanning/ModuleDepCollector.h
+1-0clang/include/clang/DependencyScanning/DependencyScanningUtils.h
+1-0clang/lib/DependencyScanning/DependencyScannerImpl.cpp
+0-1clang/lib/DependencyScanning/DependencyScanningWorker.cpp
+99-711 files not shown
+100-717 files

LLVM/project 1cff315llvm/lib/Object Archive.cpp

[z/OS] Fix z/OS ASAN test failure (#197547)

Fix test failure when running `zos-archive-read.test` under asan. 

AddressSanitizer detected a heap-buffer-overflow in
`ebcdicFieldToASCII()` when reading z/OS archive headers. The issue
occurred because `ZOSArchiveMemberHeader::setMemberHeaderStrings` was
called even when the base `ArchiveMemberHeader` constructor had already
set an error, causing reads past the end of fixed-size EBCDIC fields.
Fixed by checking for constructor errors before calling
`setMemberHeaderStrings`.

Original PR: #187110
DeltaFile
+4-0llvm/lib/Object/Archive.cpp
+4-01 files

LLVM/project 8edba1amlir/include/mlir/Dialect/Arith/IR ArithOps.td, mlir/lib/Dialect/Arith/IR ArithOps.cpp ArithCanonicalization.td

[mlir][arith] Add subui_extended op (#197376)

Unsigned extended subtraction mirroring addui_extended. Gives a
primitive for unsigned underflow that maps cleanly to
llvm.usub.with.overflow and spirv.ISub
DeltaFile
+109-0mlir/test/Dialect/Arith/canonicalize.mlir
+74-0mlir/lib/Dialect/Arith/IR/ArithOps.cpp
+53-0mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
+32-0mlir/test/Dialect/Arith/invalid.mlir
+24-0mlir/test/Dialect/Arith/ops.mlir
+11-0mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
+303-06 files

LLVM/project 7abb868flang/lib/Lower/OpenMP Utils.cpp ClauseProcessor.cpp

[flang][OpenMP] NFC: Share mapper resolution
DeltaFile
+150-0flang/lib/Lower/OpenMP/Utils.cpp
+6-142flang/lib/Lower/OpenMP/ClauseProcessor.cpp
+7-0flang/lib/Lower/OpenMP/Utils.h
+163-1423 files

LLVM/project 33c1080lldb/test/Shell/DAP TestListProcesses.test TestHelp.test, lldb/tools/lldb-dap/tool lldb-dap.cpp Options.td

[lldb-dap] Enumerate platform processes via --list-processes (#197330)

In #128943, we decided that the VS Code extension should use LLDB's
platform abstraction to power the process picker. The benefits of this
approach are that it's cross platform and can support listing remote
processes when connected to a platform server.

In preparation for that, this PR adds a `--list-processes` flag. The
host platform is used by default. The `--platform` and `--platform-url`
flags allow specifying and connecting to a (remote) platform.

The result is a JSON array printed to stdout. Here's what that looks
like:

```
  [ { "pid": number, "name": string, "triple": string,
      "executable": string, "user": number }, ... ]
```

Keys other than `pid` are optional. A follow-up will teach the VS Code
extension to use this as input for the process picker.
DeltaFile
+108-0lldb/tools/lldb-dap/tool/lldb-dap.cpp
+25-0lldb/test/Shell/DAP/TestListProcesses.test
+23-0lldb/tools/lldb-dap/tool/Options.td
+3-0lldb/test/Shell/DAP/TestHelp.test
+159-04 files

LLVM/project cc4efa3clang/lib/CIR/CodeGen CIRGenDecl.cpp, clang/test/CIR/CodeGen static-local-in-ctor.cpp

[CIR] Lower static locals in C++ ctor and dtor bodies (#197089)

Static locals declared inside a C++ constructor or destructor body were
hitting `errorNYI("C++ constructors static var context")` (and the dtor
variant) in `CIRGenModule::getOrCreateStaticVarDecl`, even though the
rest of the static-local plumbing was already in place. The fix is to
mirror what classic CodeGen does at `CGDecl.cpp:328-334` — pick
`GlobalDecl(cd, Ctor_Base)` for ctors and `GlobalDecl(dd, Dtor_Base)`
for dtors instead of erroring.

Hit this trying to compile a couple of SPEC CPU 2026 benchmarks with
`-fclangir`: `flightdm` has a `static constexpr std::array` inside
`FGCondition::FGCondition`, and `gmsh` has a similar shape in
`MetaEl.cpp`. The minimum repro is the obvious one:

```c++
struct Foo { Foo() { static int x = 42; (void)x; } };
Foo f;
```

    [6 lines not shown]
DeltaFile
+45-0clang/test/CIR/CodeGen/static-local-in-ctor.cpp
+4-4clang/lib/CIR/CodeGen/CIRGenDecl.cpp
+49-42 files

LLVM/project cd25475lldb/include/lldb/Core Debugger.h, lldb/source/Core IOHandlerCursesGUI.cpp Debugger.cpp

Fix for #177160 : [lldb] Real-time console pane for output in lldb tui (#197473)

This Change:
The stalling testcase in the PR: #177160  has been fixed.

- The cause of it was that the test required to get line 0 & line 99
from the console output with auto-scroll on. With limited display area,
this test was unreliable and impossible to achieve - which caused it to
wait / hang there.

Original Change : 

New Console Pane that -
- captures stdout/stderr msgs from debugged process
- displays output to console in real-time
- provides scrolling and navigation features
- manages 10K line circular buffer
- auto-scroll on/off feature


    [9 lines not shown]
DeltaFile
+357-23lldb/source/Core/IOHandlerCursesGUI.cpp
+162-0lldb/test/API/commands/gui/console-output/TestGuiConsoleOutput.py
+39-0lldb/test/API/commands/gui/console-output/main.cpp
+6-0lldb/source/Core/Debugger.cpp
+4-0lldb/source/Core/CoreProperties.td
+2-0lldb/include/lldb/Core/Debugger.h
+570-232 files not shown
+573-238 files

LLVM/project bdfe3d9llvm/lib/Transforms/InstCombine InstCombineCompares.cpp InstructionCombining.cpp

[InstCombine] Use `isa<ConstantPointerNull>` for null pointer checks

Make InstCombine pointer-null checks use `isa<ConstantPointerNull>` rather than
generic zero checks, and fold inttoptr comparisons against the DataLayout null
pointer value.
DeltaFile
+11-7llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
+2-2llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+13-92 files

LLVM/project 03f9214clang/docs ReleaseNotes.rst, clang/test/SemaTemplate concepts.cpp

[Clang][NFC] Add a regression test for #197067 (#197634)

Because concepts were checked for satisfaction in the wrong contexts, we
ended up creating deduction guides in the wrong contexts.

Fixes #197067
DeltaFile
+32-0clang/test/SemaTemplate/concepts.cpp
+1-1clang/docs/ReleaseNotes.rst
+33-12 files

LLVM/project 7fe369ellvm/lib/Target/AMDGPU AMDGPU.td AMDGPURegisterBankInfo.cpp

[AMDGPU][NFC] Add VMulU64Inst SubtargetFeature for v_mul_u64 support. (#197706)
DeltaFile
+5-0llvm/lib/Target/AMDGPU/AMDGPU.td
+2-2llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
+0-3llvm/lib/Target/AMDGPU/GCNSubtarget.h
+1-1llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+1-1llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
+1-1llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+10-81 files not shown
+11-97 files

LLVM/project 64df5bbllvm/lib/Target/X86 X86InstrInfo.cpp X86.td, llvm/test/CodeGen/X86 slow-indirect-call.ll

[X86] Adding slow indirect call tuning to zen5 (#195221)
DeltaFile
+170-0llvm/test/CodeGen/X86/slow-indirect-call.ll
+12-6llvm/lib/Target/X86/X86InstrInfo.cpp
+13-2llvm/lib/Target/X86/X86.td
+2-1llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
+2-1llvm/lib/Target/X86/X86InstrPredicates.td
+3-0llvm/lib/Target/X86/X86TargetTransformInfo.h
+202-102 files not shown
+206-108 files

LLVM/project e312afbclang/docs ReleaseNotes.rst, clang/lib/Sema SemaTemplateInstantiate.cpp SemaExprCXX.cpp

[clang] make evaluation of type constraint a SFINAE context (#197523)

Otherwise, errors when substituting a type constraint could
unintentionally make the program ill-formed.

This also strenghtens the assert which checks, when we are instantiating
templates, that we either have a code synthesis context, or that we are
in a SFINAE context.
DeltaFile
+12-32clang/lib/Sema/SemaTemplateInstantiate.cpp
+21-0clang/test/SemaTemplate/instantiate-requires-expr.cpp
+4-0clang/lib/Sema/SemaExprCXX.cpp
+2-0clang/docs/ReleaseNotes.rst
+39-324 files

LLVM/project 4c37624llvm/lib/Transforms/Vectorize VPlan.h

[VPlan] Add helper to define CastInfo for casting to VP mixins (NFC) (#197494)

Add new generic VPMixinCast that can be used to define CastInfo from a
base class (like VPRecipeBase) to a mixin class (like VPIRMetadata)
through a list of supported recipe types.

Overall that makes defining the cast machinery quite a bit more compact.
It also adds a static_assert to prevent mis-use using std::is_base_of_v

PR: https://github.com/llvm/llvm-project/pull/197494
DeltaFile
+31-68llvm/lib/Transforms/Vectorize/VPlan.h
+31-681 files

LLVM/project 09bc64allvm/test/Transforms/LoopVectorize/AArch64 cmp_cost.ll

[LV] Add test for icmp/fcmp cost calculation (NFC) (#197504)

Co-authored-by: Florian Hahn <flo at fhahn.com>
DeltaFile
+440-0llvm/test/Transforms/LoopVectorize/AArch64/cmp_cost.ll
+440-01 files