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

LLVM/project f958f17mlir/lib/Dialect/Arith/Transforms EmulateWideInt.cpp, mlir/test/Dialect/Arith emulate-wide-int.mlir

Revert "[MLIR][Arith][WIE] Fix Conversions for Shift Left and Right Ops" (#200512)

Reverts llvm/llvm-project#198457 since there are buildbot failures.
DeltaFile
+173-119mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
+89-160mlir/test/Dialect/Arith/emulate-wide-int.mlir
+262-2792 files

LLVM/project 9b5d0aflldb/include/lldb/Core DemangledNameInfo.h

[lldb] Halve the size of indexes in DemangledNameInfo (NFC) (#200506)

Mangled should not be more than 4GB. This will halve the size of
`DemangledNameInfo` from 128 to 64 bytes.
DeltaFile
+8-8lldb/include/lldb/Core/DemangledNameInfo.h
+8-81 files

LLVM/project 34da785mlir/lib/Dialect/Vector/Transforms VectorEmulateNarrowType.cpp, mlir/test/Dialect/Vector vector-emulate-narrow-type.mlir vector-emulate-narrow-type-unaligned.mlir

[mlir][vector] Fix incorrect byte-alignment assumption in ConvertVectorStore (#189235)

When `ConvertVectorStore` emits the narrow-type emulation for a
`vector.store` into a 2-D memref, it previously assumed that if the
trailing dimension of the memref exactly matches the vector size
(`trailingDimsMatch`), then the last-dimension index must be zero and no
sub-byte alignment adjustment is needed. This assumption is wrong: a
valid store such as

  vector.store %v, %src[%c0, %c1] : memref<3x4xi2>, vector<4xi2>

has a non-zero column index (%c1 == 1) even though trailingDim (4)
equals the vector size (4). The incorrect shortcut caused the pattern to
fall into the "aligned" path and emit a plain bitcast + store at byte
offset 0, silently dropping elements [1], [2], [3] of the first byte and
overwriting the wrong memory.

Fix: use `linearizedInfo.intraDataOffset` when it can be folded, so
constant non-zero offsets emit the required partial RMW stores. If the

    [11 lines not shown]
DeltaFile
+29-58mlir/test/Dialect/Vector/vector-emulate-narrow-type.mlir
+24-0mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned.mlir
+22-0mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned-dynamic-store.mlir
+5-13mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
+2-1mlir/test/Dialect/Vector/flatten-memref-and-emulate-narrow-types.mlir
+82-725 files

LLVM/project 4408d32llvm/lib/Target/RISCV/GISel RISCVRegisterBanks.td

[𝘀𝗽𝗿] initial version

Created using spr 1.3.8-beta.1
DeltaFile
+1-2llvm/lib/Target/RISCV/GISel/RISCVRegisterBanks.td
+1-21 files

LLVM/project 50ed21dclang/include/clang/CIR MissingFeatures.h, clang/lib/CIR/CodeGen CIRGenStmt.cpp CIRGenFunction.cpp

[CIR] Add RunCleanupsScope RAII around loop bodies (#200461)

This fixes yet another problem where a ternary operator in a loop body
was leading to an unterminated region. We have long had a comment
suggesting that we should consider loop-specific cleanup handling to
mimic the cleanup exit block that classic codegen creates. I previously
believed that wasn't really necessary because CIR's structured
representation handles branching through cleanups during later lowering.
That's true, but not having something to trigger the cleanup stack
handling when we exit the loop's body region was causing us to miss
emitting a yield after the loop operation.

This change introduces the RAII object for cleanups. This also allows me
to remove some handling in LexicalScope::cleanup that was basically
there to smooth over terminator insertion problems.

Assisted-by: Cursor / claude-opus-4.7
DeltaFile
+202-0clang/test/CIR/CodeGen/loop-cond-cleanup.cpp
+4-20clang/lib/CIR/CodeGen/CIRGenStmt.cpp
+0-16clang/lib/CIR/CodeGen/CIRGenFunction.cpp
+0-1clang/include/clang/CIR/MissingFeatures.h
+206-374 files

LLVM/project 02cf363clang-tools-extra/clang-doc JSONGenerator.cpp, clang-tools-extra/clang-doc/assets namespace-template.mustache

[clang-doc] Add specialization info to record references (#191252)

Class specializations listed in a namespace's page had the problem of
being indistinguishable from each other since they couldn't display
their template arguments. They would just be displayed as a series of
the base
template's name. Now, we can display those arguments in HTML
for a better experience.

In JSONGenerator, we query the set of Infos to find the Reference's
corresponding RecordInfo. That requires keeping a pointer to the map in
JSONGenerator.

Fixes #181771
DeltaFile
+49-22clang-tools-extra/clang-doc/JSONGenerator.cpp
+47-1clang-tools-extra/test/clang-doc/json/class-specialization.cpp
+1-1clang-tools-extra/clang-doc/assets/namespace-template.mustache
+97-243 files

LLVM/project 03d8fa7mlir/lib/Dialect/Arith/Transforms EmulateWideInt.cpp, mlir/test/Dialect/Arith emulate-wide-int.mlir

[MLIR][Arith][WIE] Fix Conversions for Shift Left and Right Ops (#198457)

The current conversions for `arith.shli`, `arith.shrui` and
`arith.shrsi` does not handle shift by zero correctly. It tries to shift
a `iN` value by N and results in a poison value.

This PR fixes it by adopting the math used by RISCV backend to lower 64
bit shift operations for 32 bit targets. This implementation uses less
number of ops than the existing one.

Negative proofs for current implementation:
shli: https://alive2.llvm.org/ce/z/_Q8ZuC
shrui: https://alive2.llvm.org/ce/z/vDZeEV
shrsi: https://alive2.llvm.org/ce/z/vZVatx

Proofs for attempted fix in this PR:
shli: https://alive2.llvm.org/ce/z/SDJJXW
shrui: https://alive2.llvm.org/ce/z/FZcP5y
shrsi: https://alive2.llvm.org/ce/z/5nk86z
DeltaFile
+118-172mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
+160-89mlir/test/Dialect/Arith/emulate-wide-int.mlir
+278-2612 files

LLVM/project 0f8a64fllvm/lib/CodeGen AtomicExpandPass.cpp, llvm/test/Transforms/AtomicExpand/X86 expand-atomic-non-integer.ll

[AtomicExpand] Preserve flags expanding loads/stores to cmpxchg/atomicrmw (#200324)

Don't drop volatile and syncscope flags.
DeltaFile
+60-0llvm/test/Transforms/AtomicExpand/X86/expand-atomic-non-integer.ll
+6-3llvm/lib/CodeGen/AtomicExpandPass.cpp
+66-32 files

LLVM/project 6029005clang/include/clang/DependencyScanning DependencyScanningFilesystem.h DependencyScanningService.h, clang/lib/DependencyScanning DependencyScanningFilesystem.cpp DependencyScanningService.cpp

[clang][scan-deps] Add option to disable caching stat failures (#200484)

While the source code isn't supposed to change during a build, in some
environments it does. This adds an option that disables caching of stat
failures, meaning that source files can be added to the build during
scanning.

This adds a `-no-cache-negative-stats` option to clang-scan-deps to
enable this behavior. There are no tests for clang-scan-deps as there's
no reliable way to do so from it. A unit test has been added that
modifies the filesystem between scans to test it.

Co-authored-by: Michael Spencer <bigcheesegs at gmail.com>
DeltaFile
+75-27clang/unittests/DependencyScanning/DependencyScanningFilesystemTest.cpp
+36-6clang/lib/DependencyScanning/DependencyScanningFilesystem.cpp
+25-0clang/lib/DependencyScanning/DependencyScanningService.cpp
+8-15clang/include/clang/DependencyScanning/DependencyScanningFilesystem.h
+8-0clang/include/clang/DependencyScanning/DependencyScanningService.h
+4-0clang/tools/clang-scan-deps/ClangScanDeps.cpp
+156-483 files not shown
+159-509 files

LLVM/project 37732aboffload/libomptarget interface.cpp

[OpenMP] Fix RPC register segfaulting without PM initialized (#200494)

Summary:
This happens in practice if you link libomptarget without initializing
it in the Flang RPC IO handling.
DeltaFile
+3-0offload/libomptarget/interface.cpp
+3-01 files

LLVM/project 61d17f0llvm/lib/Target/NVPTX NVPTXLowerAggrCopies.cpp, llvm/test/CodeGen/NVPTX lower-aggr-copies-shared.ll

[NVPTX][FIX] Ensure memmove are kept if not lowered to loops  (#200469)

Memmove lowering can fail, so we cannot unconditionally remove the
intrinsic.

Issue found by Robert Imschweiler <robert.imschweiler at amd.com>
DeltaFile
+37-0llvm/test/CodeGen/NVPTX/lower-aggr-copies-shared.ll
+4-2llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp
+41-22 files

LLVM/project 2be284bflang/lib/Parser unparse.cpp

Cleaned up unparse code.
DeltaFile
+2-4flang/lib/Parser/unparse.cpp
+2-41 files