LLVM/project 9b03d3fclang/lib/CIR/CodeGen CIRGenDecl.cpp, clang/test/CIR/CodeGenOpenCL address-space-local-var.clcpp

[CIR][CodeGen] Replace errorNYI with assert for address space in emitAutoVarAlloca (#197506)

Auto variables can only be in the default address space, or
opencl_private when compiling OpenCL. Replace the errorNYI with an
assert matching OG codegen (CGDecl.cpp).

Fixes part of #160386

Co-authored-by: Andy Kaylor <akaylor at nvidia.com>
DeltaFile
+48-0clang/test/CIR/CodeGenOpenCL/address-space-local-var.clcpp
+3-2clang/lib/CIR/CodeGen/CIRGenDecl.cpp
+51-22 files

LLVM/project 3c193d4lldb/source/Plugins/Process/Windows/Common NativeRegisterContextWindows_arm64.cpp NativeRegisterContextWindows_arm64.h

[lldb][Windows] Cache thread context in NativeRegisterContextWindows_arm64 (#197385)

Cache thread context in _NativeRegisterContextWindows_arm64_ to improve
read performance. Previously, the thread context was retrieved for every
read or write operation.

This change intends to lay the groundwork for provisioning debug support
for SVE on WoA.

Assisted-by: Claude Sonnet 4.6
DeltaFile
+182-84lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm64.cpp
+10-1lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm64.h
+192-852 files

LLVM/project 4672169utils/bazel/third_party_build nanobind.BUILD

[Bazel] Add inl files to nanobind textual headers (#200516)

When using this overlay to build some bindings I noticed that
counter.inl was not available in the sandbox and the build failed. This
line adds it to the sandbox.
DeltaFile
+1-0utils/bazel/third_party_build/nanobind.BUILD
+1-01 files

LLVM/project d38b5b3llvm/utils/lit/lit ShellEnvironment.py, llvm/utils/lit/lit/builtin_commands diff.py

[lit] Add __slots__ to hot shell-execution objects (#199668)

`ShellCommand`, `ShellEnvironment` and `DiffFlags` classes are
instantiated per commad / per diff. `__slots__` drops the per-instance
`__dict__`, lowering memory and speeding attribute access. (`__slots__` 
not `@dataclass(slots=True)` to keep Python 3.8 support.)

**Baseline:**
| Stage | Metric (Runtime / Peak RSS) |
| :--- | :--- |
| **CodeGen-X86** | 99.310s / 51872 kB |
| **llvm-transforms** | 51.457s / 66928 kB |

**Changes made here:**
| Stage | Metric (Runtime / Peak RSS) |
| :--- | :--- |
| **CodeGen-X86** | 98.708s / 51872 kB |
| **llvm-transforms** | 51.496s / 66824 kB |


    [2 lines not shown]
DeltaFile
+17-0llvm/utils/lit/lit/ShellEnvironment.py
+14-0llvm/utils/lit/lit/builtin_commands/diff.py
+31-02 files

LLVM/project 08d281fclang CMakeLists.txt, clang/include/clang/Basic LangOptions.def

[clang] Add CLANG_USE_EXPERIMENTAL_CONST_INTERP cmake option (#199396)

To enable the new constant interpreter by default at configure time.

I don't expect any distributions to set this for now but it's useful for
testing and I think we need it eventually.
DeltaFile
+4-0clang/include/clang/Config/config.h.cmake
+3-0clang/CMakeLists.txt
+1-1clang/include/clang/Basic/LangOptions.def
+1-0clang/lib/Basic/LangOptions.cpp
+9-14 files

LLVM/project 524734dlldb/test/API/assert_messages_test TestAssertMessages.py, lldb/test/API/lang/objc/objc-optimized TestObjcOptimized.py

[lldb/test] Trim @expectedFailureAll(remote=True) decorators (#200529)

These three tests pass when run against a remote-darwin platform backed
by lldb-platform on device. Update each decorator to reflect where it's
still expected to fail rather than blanket-XFAILing every remote run.

- `TestAssertMessages.test_createTestTarget`: was XFAIL on
oslist=no_match(["linux"]) + remote=True. Add darwin_all to the no_match
list so the XFAIL stays only on remote-windows / remote-freebsd /
remote-netbsd / remote-android.
- `TestDebuggerAPI.test_CreateTarget_platform`: scope to non-Darwin
remotes (bug llvm/llvm-project#92419 still tracks the underlying issue
on those platforms).
- `TestObjcOptimized`: drop @expectedFailureAll(remote=True) from the
test method and put @skipUnlessDarwin on the class. The Makefile depends
on `-framework Foundation` and `-lobjc`, so the test cannot build on
non-Darwin platforms — skip it there outright instead of pretending it
could XFAIL.

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
DeltaFile
+5-1lldb/test/API/assert_messages_test/TestAssertMessages.py
+2-0lldb/test/API/python_api/debugger/TestDebuggerAPI.py
+1-1lldb/test/API/lang/objc/objc-optimized/TestObjcOptimized.py
+8-23 files

LLVM/project 0c94404clang/lib/AST/ByteCode InterpBuiltinBitCast.cpp, clang/test/AST/ByteCode blocks.cpp

[clang][bytecode] Reject bitcasts of objc block pointers (#200397)

They are unsupported and will hopefully always be.
DeltaFile
+12-4clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
+9-0clang/test/AST/ByteCode/blocks.cpp
+21-42 files

LLVM/project e5e504fllvm/docs AMDGPUUsage.rst, llvm/lib/Target/AMDGPU AMDGPUAsmPrinter.cpp AMDGPUMCResourceInfo.cpp

[AMDGPU] Introduce ABI occupancy for object linking

This PR introduces ABI occupancy as the contract used to compile functions under
object linking. The default is derived from the occupancy needed for a 1024
workitem workgroup, can be overridden with `-amdgpu-abi-waves-per-eu`, and can
be overridden per function by `amdgpu-flat-work-group-size` or tightened by an
accepted `amdgpu-waves-per-eu` hint.

The backend emits the selected occupancy in `.amdgpu.info` and uses it to
enforce the object linking register budget.
DeltaFile
+67-35llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
+56-7llvm/docs/AMDGPUUsage.rst
+37-3llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
+34-0llvm/test/CodeGen/AMDGPU/object-linking-abi-occupancy-preserves-attr.ll
+32-2llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
+31-0llvm/test/CodeGen/AMDGPU/object-linking-abi-occupancy-kernel-no-attr.ll
+257-4715 files not shown
+449-4821 files

LLVM/project 522ac75llvm/test/tools/dsymutil/X86 bundle-mtime.test, llvm/tools/dsymutil dsymutil.cpp

[dsymutil] Bump .dSYM bundle directory mtime after a rewrite (#199257)

When dsymutil rewrites an existing .dSYM bundle, only the inner DWARF
file is replaced and the bundle directory's mtime stays frozen at the
time of the original build.

macOS Spotlight's bundle re-import path keys off the bundle directory's
mtime to decide whether the importer should re-run. With the mtime
frozen, Spotlight keeps the previous build's UUID indexed forever,
DebugSymbols.framework's Spotlight lookup misses on the new UUID.

Bump the bundle directory's mtime explicitly at the end of a successful
run, reusing the .dSYM extraction already used by the codesign path.

rdar://177725866
DeltaFile
+27-0llvm/tools/dsymutil/dsymutil.cpp
+24-0llvm/test/tools/dsymutil/X86/bundle-mtime.test
+51-02 files

LLVM/project 4f152a5clang/include/clang/AST OpenMPClause.h, clang/lib/Sema SemaOpenMP.cpp

[OpenMP] Introduce the ompx_name clause for kernel naming

This adds support for the ompx_name clause that allows users to specify
custom kernel names for OpenMP target offloading regions. The clause
accepts a string literal and overrides the default compiler-generated
kernel names.

Example usage:
  #pragma omp target ompx_name("my_kernel")
  { ... }

In the process, the linkage of the offload entries was changed from weak
to external (for kernels), or whatever the global variable linkage is.
This makes sure we can link weak globals together but clash on kernels
with the same name.

Co-Authored-By: Claude (claude-sonnet-4.5) <noreply at anthropic.com>
DeltaFile
+78-0offload/test/offloading/ompx_name.c
+53-0clang/test/OpenMP/ompx_name_codegen.cpp
+48-0clang/test/OpenMP/ompx_name_messages_errors.cpp
+40-0offload/test/offloading/ompx_name_duplicate_link.c
+37-0clang/lib/Sema/SemaOpenMP.cpp
+33-0clang/include/clang/AST/OpenMPClause.h
+289-031 files not shown
+463-6737 files

LLVM/project 03048caclang/include/clang/AST OpenMPClause.h, clang/lib/Sema SemaOpenMP.cpp

[OpenMP] Introduce the ompx_name clause for kernel naming

This adds support for the ompx_name clause that allows users to specify
custom kernel names for OpenMP target offloading regions. The clause
accepts a string literal and overrides the default compiler-generated
kernel names.

Example usage:
  #pragma omp target ompx_name("my_kernel")
  { ... }

In the process, the linkage of the offload entries was changed from weak
to external (for kernels), or whatever the global variable linkage is.
This makes sure we can link weak globals together but clash on kernels
with the same name.

Co-Authored-By: Claude (claude-sonnet-4.5) <noreply at anthropic.com>
DeltaFile
+78-0offload/test/offloading/ompx_name.c
+53-0clang/test/OpenMP/ompx_name_codegen.cpp
+48-0clang/test/OpenMP/ompx_name_messages_errors.cpp
+37-0clang/lib/Sema/SemaOpenMP.cpp
+35-0offload/test/offloading/ompx_name_duplicate_link.c
+33-0clang/include/clang/AST/OpenMPClause.h
+284-031 files not shown
+451-6037 files

LLVM/project 1dd0811llvm/lib/Target/RISCV RISCVFrameLowering.cpp, llvm/test/CodeGen/RISCV zilsd-csr-duplicate.mir

[RISCV] Do not append duplicate Zilsd GPRPair CSR (#200463)

`determineCalleeSaves` can run more than once and as a result we were
appending duplicate `Zilsd GPRPair CSR's`. Skip a pair if it is already
present in the CSR set.
DeltaFile
+135-0llvm/test/CodeGen/RISCV/zilsd-csr-duplicate.mir
+6-1llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
+141-12 files

LLVM/project 2729c6bflang-rt/lib/runtime cudadevice.f90, flang/module cudadevice.f90

add support for floating point load/store

Created using spr 1.3.8-beta.1
DeltaFile
+5,590-5,510llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+10,469-10llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
+2,465-1llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
+2,428-2llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir
+0-2,270flang/module/cudadevice.f90
+2,270-0flang-rt/lib/runtime/cudadevice.f90
+23,222-7,793959 files not shown
+60,469-27,453965 files

LLVM/project 669112cflang-rt/lib/runtime cudadevice.f90, flang/module cudadevice.f90

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.8-beta.1

[skip ci]
DeltaFile
+5,590-5,510llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+10,469-10llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
+2,465-1llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
+2,428-2llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir
+0-2,270flang/module/cudadevice.f90
+2,270-0flang-rt/lib/runtime/cudadevice.f90
+23,222-7,793948 files not shown
+59,906-27,275954 files

LLVM/project f561d59lldb/source/Commands CommandObjectDWIMPrint.cpp, lldb/test/API/lang/objc/objc-po-hint TestObjcPoHint.py

[LLDB] Simplify the hint when po-ing an object with no object descrip… (#200499)

…tion

The current wording of the hint is so long that the output obscures the
output of the command, which can be confusing. By shortening the message
the command output hopefully comes back into the center of attention.
DeltaFile
+7-7lldb/source/Commands/CommandObjectDWIMPrint.cpp
+2-3lldb/test/API/lang/objc/objc-po-hint/TestObjcPoHint.py
+9-102 files

LLVM/project 720df36clang/lib/Sema SemaChecking.cpp, clang/test/SemaCXX os_log.cpp

[os_log] Fix a CodeGen crash for non-trivial C++ arguments (#200320)

The earlier fix in commit 8a0d145d90df (#158744) only emitted a hard
error for os_log arguments of record or complex type that took the
VarArgKind::Valid / ValidInCXX11 path in checkFormatExpr. Arguments of
non-trivial C++ class type (non-trivial copy/move ctor or dtor) instead
take the VarArgKind::Undefined path, which only emitted the
-Wnon-pod-varargs warning and let compilation proceed into CodeGen.

There, emitBuiltinOSLogFormat passes the argument expression to
EmitScalarExpr, which requires a scalar type. A non-trivial class
argument is not a scalar, so CodeGen crashes (asserting in
hasScalarEvaluationKind in assertions builds).

Emit the hard error err_format_conversion_argument_type_mismatch on the
Undefined path too, so compilation stops before CodeGen.

rdar://174747930
DeltaFile
+22-7clang/lib/Sema/SemaChecking.cpp
+16-0clang/test/SemaCXX/os_log.cpp
+38-72 files

LLVM/project cc8dd6cllvm/lib/Target/X86 X86InstrInfo.cpp, llvm/test/CodeGen/X86/apx kmov-kk.ll

[X86] Use kmovw, not kmovq, for VK16 copies without BWI (#200337)

`copyPhysReg` selected `KMOVQkk_EVEX` for a `$k -> $k` VK16 copy on a
`+egpr` (APX) subtarget even without BWI, but `KMOVQ` requires BWI. Use
`KMOVW` instead.

This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
DeltaFile
+2-1llvm/test/CodeGen/X86/apx/kmov-kk.ll
+1-1llvm/lib/Target/X86/X86InstrInfo.cpp
+3-22 files

LLVM/project 20f117flldb/source/Symbol Symbol.cpp

[lldb] Fix copy-paste typo in Symbol::operator= (#200528)
DeltaFile
+1-1lldb/source/Symbol/Symbol.cpp
+1-11 files

LLVM/project d46b985llvm/utils profcheck-xfail.txt

[ProfCheck] Exclude some tests (#200527)

Introduced in #200291. Exclude for now while we get to fixing it.
DeltaFile
+2-0llvm/utils/profcheck-xfail.txt
+2-01 files

LLVM/project 796f1b3clang/test/CIR/CodeGenHIP device-var-registration.hip

[CIR][HIP][NFC] Add device variable registration coverage (#200204)

Cover the HIP `__hipRegisterVar` path in CIR and LLVM.
DeltaFile
+33-0clang/test/CIR/CodeGenHIP/device-var-registration.hip
+33-01 files

LLVM/project 95994d1llvm/include/llvm/Support FileSystem.h, llvm/lib/Support Path.cpp

[Support] Add path-based setLastAccessAndModificationTime overload (#199256)

The existing setLastAccessAndModificationTime takes a file descriptor.
Add a const Twine & overload that opens the path internally so callers
no longer need to manage the fd themselves. The new overload accepts
both files and directories: on POSIX, O_RDONLY opens directories and the
existing fd-based implementation accepts a directory fd. On Windows,
FILE_FLAG_BACKUP_SEMANTICS is required to obtain a handle for a
directory.

The path overload pair mirrors the existing (Twine &) / (int FD) shape
used by setPermissions and resize_file.
DeltaFile
+33-0llvm/unittests/Support/Path.cpp
+28-0llvm/include/llvm/Support/FileSystem.h
+13-0llvm/lib/Support/Path.cpp
+10-3llvm/lib/Support/Windows/Path.inc
+84-34 files

LLVM/project 73306e4llvm/tools/llvm-exegesis/lib MCInstrDescView.cpp MCInstrDescView.h, llvm/unittests/tools/llvm-exegesis/Mips SnippetGeneratorTest.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.8-beta.1
DeltaFile
+13-10llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
+6-2llvm/tools/llvm-exegesis/lib/MCInstrDescView.h
+2-1llvm/tools/llvm-exegesis/lib/LlvmState.cpp
+1-1llvm/unittests/tools/llvm-exegesis/Mips/SnippetGeneratorTest.cpp
+22-144 files

LLVM/project 812d2bdclang/docs ghlinks.py, llvm/test/CodeGen/DirectX splitdouble_mat.ll

fix assertion errors

Created using spr 1.3.8-beta.1
DeltaFile
+709-671llvm/test/CodeGen/RISCV/bitint-fp-conv-200.ll
+622-0third-party/benchmark/test/user_counters_threads_test.cc
+294-256third-party/benchmark/include/benchmark/benchmark.h
+496-0llvm/test/CodeGen/DirectX/splitdouble_mat.ll
+264-10clang/docs/ghlinks.py
+229-9third-party/benchmark/tools/libpfm.BUILD.bazel
+2,614-946321 files not shown
+9,322-3,519327 files

LLVM/project a3241c5.github/workflows build-ci-container-windows.yml

workflows/build-ci-container-windows: Remove template expansion (#200097)

https://github.com/llvm/llvm-project/security/code-scanning/1580
https://github.com/llvm/llvm-project/security/code-scanning/1581
https://github.com/llvm/llvm-project/security/code-scanning/1582
https://github.com/llvm/llvm-project/security/code-scanning/1583
https://github.com/llvm/llvm-project/security/code-scanning/1584
https://github.com/llvm/llvm-project/security/code-scanning/1585
https://github.com/llvm/llvm-project/security/code-scanning/1586
https://github.com/llvm/llvm-project/security/code-scanning/1587
DeltaFile
+16-7.github/workflows/build-ci-container-windows.yml
+16-71 files

LLVM/project 4e47b56llvm/lib/CodeGen ExpandIRInsts.cpp, llvm/test/CodeGen/AArch64 fcvt-i256.ll

[ExpandIRInsts] Fix sitofp/uitofp to float producing garbage instead of inf (#200291)

[ExpandIRInsts] Fix sitofp/uitofp producing garbage instead of inf

s/uitofp of an integer larger than the max finite floating-point value
should produce inf.  This can't happen with e.g. an int32 -> float32
conversion, but can happen for e.g. int256 -> float32.

Before this change we'd produce garbage.

Fixes #189054.

Co-Authored-By: Claude Opus 4.8 <noreply at anthropic.com>
DeltaFile
+709-671llvm/test/CodeGen/RISCV/bitint-fp-conv-200.ll
+27-13llvm/test/CodeGen/AArch64/fcvt-i256.ll
+20-4llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-si129tofp.ll
+24-0llvm/lib/CodeGen/ExpandIRInsts.cpp
+12-4llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-ui129tofp.ll
+792-6925 files

LLVM/project 9b77b22lldb/source/Plugins/DynamicLoader/MacOSX-DYLD DynamicLoaderDarwin.h DynamicLoaderDarwin.cpp

[lldb][Darwin] Correct jGetLoadedDynamicLibrariesInfos typeo & fallback (#200515)

Jonas caught that I had a typeo in checking for the
`sizeof_mh_and_loadcmds` key in the `jGetLoadedDynamicLibrariesInfos`
response from debugserver in DyanmicLoaderDarwin. Fix that.

Also I originally picked a fallback value for the mach header + load
commands as a guess. I've sinced looked at a large UI app's binaries and
based on the size of their actual mh+load commands, picked a default
that will read all the data needed in the majority of cases.

rdar://178283767
DeltaFile
+3-3lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h
+1-1lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
+4-42 files

LLVM/project d70975cthird-party/benchmark .travis.yml, third-party/benchmark/include/benchmark benchmark.h

Update Google Benchmark to v1.9.5 (#198964)
DeltaFile
+622-0third-party/benchmark/test/user_counters_threads_test.cc
+294-256third-party/benchmark/include/benchmark/benchmark.h
+229-9third-party/benchmark/tools/libpfm.BUILD.bazel
+158-77third-party/benchmark/src/benchmark_runner.cc
+166-48third-party/benchmark/src/benchmark.cc
+0-208third-party/benchmark/.travis.yml
+1,469-598121 files not shown
+4,050-1,858127 files

LLVM/project 7565961.github/workflows issue-write.yml

workflows/issue-write: Do not read pr number from file for pull_request events (#200474)

For pull_request events, the author of the pull request has full control
over the workflow job and can potentially write any pull request number
to the file.   This would allow them to modify comments on any pull
request not just their own.

The reading of the pull request number from the file was added in
53ff447b64186ff51181cd6050a9613983ff80be to support issue_comment events
so we don't need it for pull_request events anyway.
DeltaFile
+6-1.github/workflows/issue-write.yml
+6-11 files

LLVM/project f976a1dllvm/lib/Transforms/Vectorize VPlanTransforms.cpp

[VPlan] Squelch unused warn in collectMemOps (NFC) (#200507)

Squelch a warning reported by a Buildbot:
https://lab.llvm.org/buildbot/#/builders/228/builds/477.
DeltaFile
+1-1llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+1-11 files

LLVM/project 3d24f9alldb/docs/resources lldbgdbremote.md, lldb/include/lldb/Utility AcceleratorGDBRemotePackets.h

[lldb-server] Add accelerator plugin infrastructure for debugging hardware accelerators like gpus (#198907)

This is the first patch of many related to
https://discourse.llvm.org/t/upstreaming-basic-support-for-accelerators/89827/6

### What this patch adds

  - **`LLDBServerAcceleratorPlugin`** base class in
`source/Plugins/Process/gdb-remote/` so accelerator can implement the
own plugin
  - **`accelerator-plugins+`** feature in `qSupported` response, only
    advertised when at least one plugin is installed
- **`jAcceleratorPluginInitialize`** GDB remote packet and its
implementation in handlers, request and response.
- **`AcceleratorActions`** struct so every plugin can return the actions
that needs to be on the initilaize. in the future we will extend this
install breakpoints etc.
  - **Mock accelerator plugin** for testing, gated by CMake option
    `LLDB_ENABLE_MOCK_ACCELERATOR_PLUGIN` (default OFF)

    [6 lines not shown]
DeltaFile
+74-0lldb/test/API/accelerator/mock/TestMockAcceleratorPlugin.py
+46-0lldb/docs/resources/lldbgdbremote.md
+44-0lldb/source/Plugins/Process/gdb-remote/LLDBServerAcceleratorPlugin.h
+38-0lldb/include/lldb/Utility/AcceleratorGDBRemotePackets.h
+28-0lldb/tools/lldb-server/Plugins/Accelerator/Mock/LLDBServerMockAcceleratorPlugin.h
+27-0lldb/source/Utility/AcceleratorGDBRemotePackets.cpp
+257-022 files not shown
+419-128 files