LLVM/project cd3c53bllvm/lib/Target/AMDGPU AMDGPUInstCombineIntrinsic.cpp, llvm/test/Transforms/InstCombine/AMDGPU fmul_legacy.ll

AMDGPU: Make fmul_legacy intrinsic propagate poison
DeltaFile
+16-0llvm/test/Transforms/InstCombine/AMDGPU/fmul_legacy.ll
+5-0llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
+21-02 files

LLVM/project 4b8aef2llvm/lib/Target/AMDGPU AMDGPUInstCombineIntrinsic.cpp, llvm/test/Transforms/InstCombine/AMDGPU amdgcn-intrinsics.ll

AMDGPU: Make fmed3 intrinsic propagate poison
DeltaFile
+24-0llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
+5-0llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
+29-02 files

LLVM/project bd6f2f2llvm/lib/Target/AMDGPU AMDGPUInstCombineIntrinsic.cpp, llvm/test/Transforms/InstCombine/AMDGPU amdgcn-intrinsics.ll

Only propagate if both inputs poison
DeltaFile
+16-8llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
+2-1llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
+18-92 files

LLVM/project be3d513llvm/lib/Target/AMDGPU AMDGPUInstCombineIntrinsic.cpp, llvm/test/Transforms/InstCombine/AMDGPU amdgcn-intrinsics.ll

AMDGPU: Make ballot intrinsic propagate poison
DeltaFile
+16-0llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
+5-1llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
+21-12 files

LLVM/project 2284667llvm/lib/Target/AMDGPU AMDGPUInstCombineIntrinsic.cpp, llvm/test/Transforms/InstCombine/AMDGPU amdgcn-intrinsics.ll

AMDGPU: Make cvt_pknorm and cvt_pk intrinsics propagate poison
DeltaFile
+96-0llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
+3-0llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
+99-02 files

LLVM/project 315c02allvm/lib/Transforms/Vectorize LoopVectorize.cpp, llvm/test/Transforms/LoopVectorize reduction-inloop.ll

[VPlan] Fix crash with inloop fmuladd reductions with blend (#131154)

When visiting in-loop reduction links, we previously crashed if we had
an fmuladd with a blend after it in the chain. This fixes it by lifting
the existing blend folding to also handle fmuladd.

This also simplifies the code structure slightly for an upcoming patch I
want to post to handle in-loop AnyOf reductions.

I removed the PhiR->isInLoop() check since it's already guarded at the
top of the parent Header->Phis() loop.
DeltaFile
+89-6llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
+13-14llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+102-202 files

LLVM/project f23bbf6llvm/lib/Target/X86 X86PreTileConfig.cpp

[X86] Avoid repeated hash lookups (NFC) (#131069)

DeltaFile
+1-1llvm/lib/Target/X86/X86PreTileConfig.cpp
+1-11 files

LLVM/project f4ee62cllvm/lib/Transforms/IPO IROutliner.cpp

[IPO] Avoid repeated hash lookups (NFC) (#131068)

DeltaFile
+10-7llvm/lib/Transforms/IPO/IROutliner.cpp
+10-71 files

LLVM/project e838ca1llvm/lib/CodeGen RDFLiveness.cpp

[CodeGen] Avoid repeated hash lookups (NFC) (#131067)

DeltaFile
+2-4llvm/lib/CodeGen/RDFLiveness.cpp
+2-41 files

LLVM/project ca641b2llvm/lib/Analysis MemoryDependenceAnalysis.cpp

[Analysis] Avoid repeated hash lookups (NFC) (#131066)

DeltaFile
+4-2llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
+4-21 files

LLVM/project 7714df9clang/lib/Sema SemaOpenACCClause.cpp

[Sema] Avoid repeated hash lookups (NFC) (#131065)

DeltaFile
+3-3clang/lib/Sema/SemaOpenACCClause.cpp
+3-31 files

LLVM/project dec5589clang/lib/AST ASTImporter.cpp

[AST] Avoid repeated hash lookups (NFC) (#131064)

DeltaFile
+4-5clang/lib/AST/ASTImporter.cpp
+4-51 files

LLVM/project 8437b7flibc/shared rpc_server.h, libc/src/__support/RPC rpc_server.h

[libc] Make RPC server handling header only (#131205)

Summary:
This patch moves the RPC server handling to be a header only utility
stored in the `shared/` directory. This is intended to be shared within
LLVM for the loaders and `offload/` handling.

Generally, this makes it easier to share code without weird
cross-project binaries being plucked out of the build system. It also
allows us to soon move the loader interface out of the `libc` project so
that we don't need to bootstrap those and can build them in LLVM.
DeltaFile
+546-0libc/src/__support/RPC/rpc_server.h
+0-518libc/utils/gpu/server/rpc_server.cpp
+0-30libc/utils/gpu/server/CMakeLists.txt
+22-0libc/shared/rpc_server.h
+0-19runtimes/cmake/Modules/FindLibcCommonUtils.cmake
+19-0llvm/cmake/modules/FindLibcCommonUtils.cmake
+587-5679 files not shown
+606-60915 files

LLVM/project 214d47allvm/include/llvm/SandboxIR PassManager.h, llvm/unittests/SandboxIR PassTest.cpp

[SandboxVec][PassManager][NFC] Fix PM printing

It currently prints '(' instead of '<'. This patch fixes it.
DeltaFile
+9-9llvm/include/llvm/SandboxIR/PassManager.h
+2-2llvm/unittests/SandboxIR/PassTest.cpp
+11-112 files

LLVM/project 299cb5dllvm Maintainers.md

[LLVM] Update llvm-mca / MCA maintainers (#131187)

Adding myself as a co-maintainer alongside @adibiagio , who invited me
to take on this role.
DeltaFile
+3-1llvm/Maintainers.md
+3-11 files

LLVM/project dcec224clang/docs ReleaseNotes.rst, clang/include/clang/Lex LiteralSupport.h

Lex: add support for `i128` and `ui128` suffixes (#130993)

Microsoft's compiler supports an extension for 128-bit literals. This is
referenced in `intsafe.h` which is included transitievly. When building
with modules, the literal parsing causes a failure due to the missing
support for the extension. To alleviate this issue, support parsing this
literal, especially now that there is the BitInt extension.

Take the opportunity to tighten up the code slightly by ensuring that we
do not access out-of-bounds characters when lexing the token.
DeltaFile
+16-2clang/test/Lexer/ms-extensions.c
+12-4clang/lib/Sema/SemaExpr.cpp
+9-5clang/lib/Lex/LiteralSupport.cpp
+2-2clang/include/clang/Lex/LiteralSupport.h
+4-0clang/docs/ReleaseNotes.rst
+43-135 files

LLVM/project 3b5842cllvm/include/llvm/ExecutionEngine/Orc/Shared AllocationActions.h, llvm/lib/ExecutionEngine/JITLink JITLinkMemoryManager.cpp

[ORC] Make runAllocActions and runDeallocActions asynchorous.

Part of ongoing work to make core ORC operations asynchronous.

This only affects the runner utilities, not the AllocationActions themselves.
The AllocationActions will be made asynchronous in a future patch.
DeltaFile
+33-22llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp
+20-8llvm/lib/ExecutionEngine/Orc/TargetProcess/ExecutorSharedMemoryMapperService.cpp
+18-8llvm/lib/ExecutionEngine/Orc/MemoryMapper.cpp
+15-7llvm/lib/ExecutionEngine/Orc/Shared/AllocationActions.cpp
+10-3llvm/include/llvm/ExecutionEngine/Orc/Shared/AllocationActions.h
+96-485 files

LLVM/project 864a53bclang/test/Misc time-passes.c, llvm/include/llvm/IR PassTimingInfo.h

Reapply "Use global TimerGroups for both new pass manager and old pass manager timers" (#131173) (#131217)

This reverts commit 31ebe6647b7f1fc7f6778a5438175b12f82357ae.

The reason for the test failure is likely due to
`Name2PairMap::getTimerGroup(...)` not holding a lock.
DeltaFile
+9-21llvm/lib/IR/PassTimingInfo.cpp
+22-5llvm/lib/Support/Timer.cpp
+11-7llvm/include/llvm/IR/PassTimingInfo.h
+5-0llvm/include/llvm/Support/Timer.h
+2-2llvm/unittests/IR/TimePassesTest.cpp
+0-1clang/test/Misc/time-passes.c
+49-366 files

LLVM/project d0c8695llvm/lib/Support LockFileManager.cpp

[Support] Prevent leaking unique lock files (#130984)

Prior to this PR, failing to get the host ID would leave the unique lock
file on the file system. This is now fixed by constructing
`RemoveUniqueLockFileOnSignal` earlier. This PR also removes one call to
`sys::fs::remove()` that is now redundant and another that was redundant
even before this patch.
DeltaFile
+4-9llvm/lib/Support/LockFileManager.cpp
+4-91 files

LLVM/project e26bcf1llvm/lib/CodeGen SplitKit.cpp

[CodeGen] Use early return to simplify SplitEditor::defFromParent [NFC]
DeltaFile
+26-28llvm/lib/CodeGen/SplitKit.cpp
+26-281 files

LLVM/project befa037mlir/test/Dialect/Affine invalid-reify-bound-dim.mlir, mlir/test/lib/Dialect/Affine TestReifyValueBounds.cpp

[mlir][affine] Guard invalid dim attribute in the test-reify-bound pass (#129013)

Computing the bound of affine op
(ValueBoundsConstraintSet::computeBound) crashes due to the invalid dim
value given to the op. It is necessary for the pass to check the dim
attribute not to be greater than the rank of the input type.

Fixes https://github.com/llvm/llvm-project/issues/128807
DeltaFile
+47-0mlir/test/Dialect/Affine/invalid-reify-bound-dim.mlir
+21-0mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
+68-02 files

LLVM/project fc28f83llvm/test/Transforms/SLPVectorizer/AMDGPU extract-ordering.ll

[SLP] Precommit test (#131236)

Precommit test for https://github.com/llvm/llvm-project/pull/131229
DeltaFile
+150-0llvm/test/Transforms/SLPVectorizer/AMDGPU/extract-ordering.ll
+150-01 files

LLVM/project ab58a3ccompiler-rt/test/sanitizer_common/TestCases/Darwin malloc_zone.cpp

XFAIL malloc_zone.cpp for darwin/lsan (#131234)

Silence darwin bot while we investigate the problem

rdar://145873843

Co-authored-by: Mariusz Borsa <m_borsa at apple.com>
DeltaFile
+2-0compiler-rt/test/sanitizer_common/TestCases/Darwin/malloc_zone.cpp
+2-01 files

LLVM/project 55e5e74llvm/lib/Target/RISCV RISCVInstrInfoVPseudos.td

[RISCV] Remove some unnecessary hasSideEffects = 0 and sink some to their base class. NFC (#131044)

Some of these were already present in their base class and therefore
redundant. Others were missing from their base classes. Maybe leftover
from when VXRM was modeled with side effects?
DeltaFile
+11-23llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
+11-231 files

LLVM/project d1deaedlldb/test/API/tools/lldb-server TestLldbGdbServer.py TestGdbRemote_qMemoryRegion.py, lldb/test/API/tools/lldb-server/qSupported TestGdbRemote_qSupported.py

[lldb] Split some lldb-server tests to avoid timeout (#129614)

Split test cases out of TestLldbGdbServer.py and TestGdbRemoteFork.py
into separate files to avoid hitting the 600s timeout limit. The
inferior used by these tests (main.cpp) takes approximately 20s to
compile with a Debug build of clang, causing timeouts when a single test
file contains many tests. By grouping similar tests into separate files,
we can prevent timeouts and improve overall test efficiency.
DeltaFile
+0-434lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
+210-0lldb/test/API/tools/lldb-server/TestGdbRemote_qMemoryRegion.py
+145-0lldb/test/API/tools/lldb-server/TestGdbRemote_qRegisterInfo.py
+98-0lldb/test/API/tools/lldb-server/qSupported/TestGdbRemote_qSupported.py
+60-0lldb/test/API/tools/lldb-server/TestGdbRemoteForkResume.py
+0-46lldb/test/API/tools/lldb-server/TestGdbRemoteFork.py
+513-4802 files not shown
+517-4808 files

LLVM/project 8b9031flldb/tools/lldb-dap README.md package.json, lldb/tools/lldb-dap/src-ts uri-launch-handler.ts extension.ts

[lldb-dap] Support vscode launch URLs (#125843)

This commit adds support for starting debug sessions through special
`vscode://llvm-vs-code-extensions.lldb-dap/start?config={launch-config}`
URIs. This allows tighter integration with custom scripts. One potential
use case is providing similar functionality to `xcdebug`, see #125777
for some discussion on that use case.

The functionality was inspired by @vadimcn's CodeLLDB extension, which
[provides similar
functionality](https://github.com/vadimcn/codelldb/blob/master/MANUAL.md#debugging-externally-launched-code).
DeltaFile
+78-0lldb/tools/lldb-dap/src-ts/uri-launch-handler.ts
+20-1lldb/tools/lldb-dap/README.md
+5-0lldb/tools/lldb-dap/src-ts/extension.ts
+2-1lldb/tools/lldb-dap/package.json
+105-24 files

LLVM/project 564b734lldb/source/Target Target.cpp

[LLDB] Fix handling of auto_continue for stop hooks
DeltaFile
+7-10lldb/source/Target/Target.cpp
+7-101 files

LLVM/project 2a244bblldb/include/lldb/Target Target.h, lldb/source/Target Target.cpp

Simplify Target::RunStopHooks() (#129578)

Introduce `StopHookResult::NoPreference` and
simplify control flow in `Target::RunStopHooks()`.

The algorithm is (in order):
1. "Auto continue" set on any hook -> continue
2. "Stop demanded" by any hook -> stop
3. "Continue requested" by any hook -> continue
4. No hooks, or "no preference" only (default
   stance) -> stop

The new `NoPreference` lets us keep the default
stance, distinguishing case 3. and 4.
DeltaFile
+22-57lldb/source/Target/Target.cpp
+1-0lldb/include/lldb/Target/Target.h
+23-572 files

LLVM/project 662bd4clibc/src/stdio/baremetal vprintf.cpp printf.cpp

[stdio][baremetal] Fix templating for print functions (#131232)

This addresses build errors from https://github.com/llvm/llvm-project/pull/111559.
DeltaFile
+2-2libc/src/stdio/baremetal/vprintf.cpp
+2-2libc/src/stdio/baremetal/printf.cpp
+4-42 files

LLVM/project 45827d5clang/lib/Driver/ToolChains/Arch PPC.cpp, clang/test/Driver aix-shared-lib-tls-model-opt.c

[Clang driver] Diagnose -maix-shared-lib-tls-model-opt on wrong targets
DeltaFile
+3-4clang/test/Driver/aix-shared-lib-tls-model-opt.c
+5-0clang/lib/Driver/ToolChains/Arch/PPC.cpp
+8-42 files