LLVM/project ebe8353llvm/lib/Target/RISCV RISCVInstrInfoVVLPatterns.td

[RISCV][NFC] Add VPatUnaryVL_V class (#196229)

So that we can reuse it.
DeltaFile
+28-13llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
+28-131 files

LLVM/project 0533466llvm/lib/TargetParser RISCVTargetParser.cpp, llvm/unittests/TargetParser RISCVTargetParserTest.cpp

[RISCV][MC][NFC] Update IME vtype layout to match latest spec `riscv-isa-release-fa55752-2026-05-04` (#195998)

This updates the IME-specific vtype field layout to match the [latest
IME spec, version
riscv-isa-release-fa55752-2026-05-04](https://github.com/riscv/integrated-matrix-extension/blob/main/src/integrated-matrix.adoc#new-fields-in-the-vector-type-vtype-register).
The latest spec places the IME fields as:

| Field         | New Position              | Change Description              |
|---------------|---------------------------|---------------------------------|
| `lambda[2:0]` | `vtype[XLEN-2:XLEN-4]`   | Unchanged                       |
| `bs`          | `vtype[XLEN-5]`          | Moved from `vtype[XLEN-7]`     |
| `altfmt_A`    | `vtype[XLEN-6]`          | Moved from `vtype[XLEN-5]`     |
| `altfmt_B`    | `vtype[XLEN-7]`          | Moved from `vtype[XLEN-6]`     |

Previously `bs`, `altfmt_A`, and `altfmt_B` followed the older ordering,
which was first introduced in #193956. The new position of altfmt
supports growing in the future for more datatypes.
This patch also updates tests to reflect field changes.

Currently this should be NFC since we didn't have any CodeGen
implementation that involves vtype in IME.
DeltaFile
+17-1llvm/unittests/TargetParser/RISCVTargetParserTest.cpp
+3-3llvm/lib/TargetParser/RISCVTargetParser.cpp
+20-42 files

LLVM/project 7b2f83alibc/docs/dev undefined_behavior.rst, libc/docs/gpu using.rst

[libc][docs] Minor typos in Documentation (#196066)

  - removed a duplicate "to" in dev/undefinde_behaviour.rst
  - corrected "in order or link" to "inorder to link" in gpu/using.rst

Signed-off-by: udaykiriti <udaykiriti624 at gmail.com>
DeltaFile
+1-1libc/docs/dev/undefined_behavior.rst
+1-1libc/docs/gpu/using.rst
+2-22 files

LLVM/project 259235allvm/lib/Target/AMDGPU VOP3PInstructions.td, llvm/test/MC/AMDGPU gfx13_asm_vop3p.s gfx13_asm_vop3p_features.s

[AMDGPU] Add VOP3P encoding to gfx13
DeltaFile
+1,608-0llvm/test/MC/AMDGPU/gfx13_asm_vop3p.s
+125-0llvm/test/MC/AMDGPU/gfx13_asm_vop3p_features.s
+60-42llvm/lib/Target/AMDGPU/VOP3PInstructions.td
+34-0llvm/test/MC/AMDGPU/gfx13_asm_vop3p_dpp8.s
+18-0llvm/test/MC/AMDGPU/gfx13_asm_vop3p_dpp16.s
+1-0llvm/test/MC/AMDGPU/gfx12_asm_vop3p_aliases.s
+1,846-426 files

LLVM/project 3d6a7bfllvm/include/llvm/Analysis SimplifyQuery.h ValueTracking.h, llvm/lib/Analysis ValueTracking.cpp ScalarEvolution.cpp

[InstCombine] Drop alignment assumptions more aggressively (#196060)

`computeKnownBits` gets a context instruction now, which allows dropping
assumes based on previous assumes.
DeltaFile
+11-15llvm/lib/Analysis/ValueTracking.cpp
+13-0llvm/test/Transforms/InstCombine/assume.ll
+4-7llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
+6-0llvm/include/llvm/Analysis/SimplifyQuery.h
+5-0llvm/include/llvm/Analysis/ValueTracking.h
+3-1llvm/lib/Analysis/ScalarEvolution.cpp
+42-231 files not shown
+43-247 files

LLVM/project 018cab7llvm/include/llvm/ADT GenericUniformityInfo.h GenericUniformityImpl.h, llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp AMDGPUCodeGenPrepare.cpp

[NFC] rename public api's in UA
DeltaFile
+61-54llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+5-5llvm/include/llvm/ADT/GenericUniformityInfo.h
+4-4llvm/unittests/Target/AMDGPU/UniformityAnalysisTest.cpp
+3-2llvm/include/llvm/ADT/GenericUniformityImpl.h
+2-2llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
+2-2llvm/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp
+77-6910 files not shown
+89-8116 files

LLVM/project b68f6c0lldb/packages/Python/lldbsuite/test lldbreverse.py, lldb/source/Plugins/Process/gdb-remote ProcessGDBRemote.cpp GDBRemoteClientBase.cpp

[lldb] Override UpdateBreakpointSites in ProcessGDBRemote to use MultiBreakpoint (#192988)

This concludes the implementation of MultiBreakpoint by actually using
the new packet to batch breakpoint requests.

The following PRs are related to the MultiBreakpoint feature:

* https://github.com/llvm/llvm-project/pull/192910
* https://github.com/llvm/llvm-project/pull/192914
* https://github.com/llvm/llvm-project/pull/192915
* https://github.com/llvm/llvm-project/pull/192919
* https://github.com/llvm/llvm-project/pull/192962
* https://github.com/llvm/llvm-project/pull/192964
* https://github.com/llvm/llvm-project/pull/192971
* https://github.com/llvm/llvm-project/pull/192988
DeltaFile
+170-0lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+22-0lldb/packages/Python/lldbsuite/test/lldbreverse.py
+17-0lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.cpp
+7-1lldb/test/API/functionalities/breakpoint/delayed_breakpoints/TestDelayedBreakpoint.py
+6-0lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
+5-0lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h
+227-13 files not shown
+235-19 files

LLVM/project 67e8fc4lld/test/ELF target-specific-options.s aarch64-bti-pac-cli-error.s

[ELF,test] Cover target-specific option errors (#196247)
DeltaFile
+37-14lld/test/ELF/target-specific-options.s
+0-17lld/test/ELF/aarch64-bti-pac-cli-error.s
+3-0lld/test/ELF/aarch64-execute-only.s
+3-0lld/test/ELF/x86-64-feature-cet.s
+43-314 files

LLVM/project 626e2d2llvm/lib/Target/AArch64 AArch64TargetMachine.cpp

[AArch64] Avoid raw_svector_ostream for SubtargetMap keys (#196003)

AArch64TargetMachine::getSubtargetImpl builds a StringMap key on every
subtarget lookup. This showed up through repeated TTI queries while
profiling sqlite on aarch64-O0-g.

Building the key directly with SmallString appends and utostr instead of
raw_svector_ostream improves compile-time.

We used to do this until 07e7168048b1.

CTMark geomean:
- stage1-aarch64-O3: -0.16%
- stage1-aarch64-O0-g: -0.18%

https://llvm-compile-time-tracker.com/compare.php?from=c9d713aa48a714d20b8502d06b9feb24829e6f22&to=e7ff83884193ee70cf3a69778b891fb729e0bcba&stat=instructions%3Au

Assisted-by: codex
DeltaFile
+16-5llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
+16-51 files

LLVM/project c303ec1flang/include/flang/Lower OpenMP.h AbstractConverter.h, flang/lib/Lower/OpenMP OpenMP.cpp

[flang][OpenMP] Replace OMPGroupprivateDeviceTypeInfo struct with a using alias
DeltaFile
+3-5flang/include/flang/Lower/OpenMP.h
+2-6flang/include/flang/Lower/AbstractConverter.h
+2-3flang/lib/Lower/OpenMP/OpenMP.cpp
+7-143 files

LLVM/project e47a97dclang/lib/CIR/FrontendAction CIRGenAction.cpp, clang/test/CIR/CodeGen link-bitcode-file.c

[CIR] Add Support for linking modules on cc1
DeltaFile
+79-0clang/lib/CIR/FrontendAction/CIRGenAction.cpp
+44-0clang/test/CIR/CodeGen/link-bitcode-file.c
+123-02 files

LLVM/project 5866371flang/include/flang/Lower OpenMP.h AbstractConverter.h, flang/lib/Lower Bridge.cpp

support device_type groupprivate lowering
DeltaFile
+22-3flang/lib/Lower/OpenMP/OpenMP.cpp
+22-0flang/test/Lower/OpenMP/groupprivate.f90
+11-0flang/include/flang/Lower/OpenMP.h
+11-0flang/include/flang/Lower/AbstractConverter.h
+11-0flang/lib/Lower/Bridge.cpp
+77-35 files

LLVM/project ba4ac2bflang/include/flang/Lower OpenMP.h, flang/lib/Lower/OpenMP OpenMP.cpp

[flang][mlir] Add flang to mlir lowering for groupprivate
DeltaFile
+186-0flang/test/Lower/OpenMP/groupprivate.f90
+123-1flang/lib/Lower/OpenMP/OpenMP.cpp
+0-9flang/test/Lower/OpenMP/Todo/groupprivate.f90
+1-0flang/include/flang/Lower/OpenMP.h
+310-104 files

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

[Analysis] use forward DFS in `isEphemeralValueOf`
DeltaFile
+24-23llvm/lib/Analysis/ValueTracking.cpp
+4-1llvm/test/Transforms/InstSimplify/ctpop-pow2.ll
+28-242 files

LLVM/project b45116bllvm/test/Transforms/InstSimplify ctpop-pow2.ll

pre-commit test
DeltaFile
+14-0llvm/test/Transforms/InstSimplify/ctpop-pow2.ll
+14-01 files

LLVM/project 2a9a78dllvm/lib/IR Constants.cpp, llvm/unittests/IR ConstantsTest.cpp

[IR] Fix null pointer dereference in Constant::toConstantRange() for ConstantByte (#193874)

In the ConstantVector path of toConstantRange(), the code checks that
each element is either a ConstantInt or ConstantByte but unconditionally
dereferences the ConstantInt pointer to get the value. When the element
is a ConstantByte, the ConstantInt pointer is null, causing a crash.

This was introduced in 57568c288dbe when ConstantByte support was added
to toConstantRange() but the fallback to CB->getValue() was missed.

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
DeltaFile
+23-0llvm/unittests/IR/ConstantsTest.cpp
+1-1llvm/lib/IR/Constants.cpp
+24-12 files

LLVM/project 9e9e4e1llvm/lib/Analysis ValueTracking.cpp

fix crash
DeltaFile
+3-0llvm/lib/Analysis/ValueTracking.cpp
+3-01 files

LLVM/project ab6166ellvm/include/llvm/CodeGenTypes LowLevelType.h, llvm/lib/CodeGen MachineVerifier.cpp

[GlobalISel][AArch64] Allow bitcasts between fp types. (#196195)

This was failing the verifier as it was not considering different fp
types as a valid conversion for a bitcast.
DeltaFile
+161-6llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-bitcast.ll
+3-0llvm/include/llvm/CodeGenTypes/LowLevelType.h
+2-0llvm/lib/CodeGen/MachineVerifier.cpp
+166-63 files

LLVM/project 7993f2cllvm/lib/Target/RISCV/GISel RISCVLegalizerInfo.cpp, llvm/test/CodeGen/RISCV/GlobalISel double-intrinsics.ll legalizer-info-validation.mir

[RISCV][GISel] Legalize G_IS_FPCLASS for fp128 (#195738)

When compiling `libc/src/stdlib/strtold.cpp` with GlobalISel there is a
failure. Calls to `@llvm.is.fpclass.f128` are translated to
G_IS_FPCLASS, which couldn't be laglized.

This PR tries to address that.
DeltaFile
+409-0llvm/test/CodeGen/RISCV/GlobalISel/double-intrinsics.ll
+2-2llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
+1-1llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
+412-33 files

LLVM/project 4da0eb5clang-tools-extra/clangd CodeComplete.h ClangdLSPServer.cpp, clang-tools-extra/docs ReleaseNotes.rst

[clangd] Change completion-style default to detailed (#195963)

Relevant discussion in https://github.com/clangd/clangd/discussions/2616
DeltaFile
+8-0clang-tools-extra/docs/ReleaseNotes.rst
+1-4clang-tools-extra/clangd/CodeComplete.h
+0-2clang-tools-extra/clangd/ClangdLSPServer.cpp
+1-1clang-tools-extra/clangd/CodeComplete.cpp
+10-74 files

LLVM/project cc9a15bclang/include/clang/CIR MissingFeatures.h, clang/lib/CIR/CodeGen CIRGenModule.cpp

ROllback to TODO for AArch64 Function Multi Versioning
DeltaFile
+0-35clang/test/CIR/Lowering/fmv-features.cir
+2-26clang/lib/CIR/CodeGen/CIRGenModule.cpp
+1-0clang/include/clang/CIR/MissingFeatures.h
+3-613 files

LLVM/project deaf3cfllvm/test/Transforms/LoopVectorize iv_outside_user.ll

[LV] Pre-commit test for cast IV live-out optimization. nfc (#195055)
DeltaFile
+111-0llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
+111-01 files

LLVM/project a63309dclang-tools-extra/clang-tidy/readability RedundantCastingCheck.cpp RedundantCastingCheck.h, clang-tools-extra/docs ReleaseNotes.rst

[clang-tidy] Improve redundant-casting check for binary operation (#191386)

Mark explicit casting as readabily redundant for a BinaryOperation with
atleast one operand of the same type as the cast type in
`RedundantCastingCheck`

E.g.; `static<float>(1 + 2.0f)`  // redundant cast

Fixes #182132
DeltaFile
+41-0clang-tools-extra/test/clang-tidy/checkers/readability/redundant-casting.cpp
+21-10clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp
+18-5clang-tools-extra/docs/clang-tidy/checks/readability/redundant-casting.rst
+8-0clang-tools-extra/docs/ReleaseNotes.rst
+1-0clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.h
+89-155 files

LLVM/project 77d2dc9clang/lib/CIR/CodeGen CIRGenBuiltinAMDGPU.cpp

use emitIntrinsicCallOp from builder
DeltaFile
+3-6clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
+3-61 files

LLVM/project 9bb265cllvm/runtimes CMakeLists.txt

Revert "[Runtimes] Pass through per-runtime CMake options for target runtimes…"

This reverts commit c0faa30f317f4de6afc2378ce480c97da5755b6f.
DeltaFile
+0-3llvm/runtimes/CMakeLists.txt
+0-31 files

LLVM/project 5274cc8llvm/lib/Analysis InstructionSimplify.cpp

drop zero check
DeltaFile
+1-1llvm/lib/Analysis/InstructionSimplify.cpp
+1-11 files

LLVM/project 6f18f55llvm/test/Transforms/InstSimplify compare.ll

update test
DeltaFile
+3-1llvm/test/Transforms/InstSimplify/compare.ll
+3-11 files

LLVM/project 99490acllvm/lib/Transforms/IPO Instrumentor.cpp InstrumentorConfigFile.cpp, llvm/test/Instrumentation/Instrumentor multi_config.ll alloca_and_function.ll

[Instrumentor] Allow multiple config files with different filters

To instrument different functions in different ways we allow to provide
multiple config files now. Each file will result in one instrumentation
run. Multiple files can be passed via command line option or listed in
a "summary" file that is passed via command line option (to keep the
command length managable).
DeltaFile
+53-14llvm/lib/Transforms/IPO/Instrumentor.cpp
+56-0llvm/test/Instrumentation/Instrumentor/multi_config.ll
+20-20llvm/test/Instrumentation/Instrumentor/alloca_and_function.ll
+37-0llvm/lib/Transforms/IPO/InstrumentorConfigFile.cpp
+16-0llvm/test/Instrumentation/Instrumentor/multi_config_4.json
+12-0llvm/test/Instrumentation/Instrumentor/multi_config_1.json
+194-3415 files not shown
+247-4521 files

LLVM/project 3fb1fe7llvm/lib/Analysis InstructionSimplify.cpp

invert non-strict predicates
DeltaFile
+6-7llvm/lib/Analysis/InstructionSimplify.cpp
+6-71 files

LLVM/project b773a97llvm/lib/Analysis InstructionSimplify.cpp, llvm/test/Transforms/InstSimplify select-icmp.ll

[InstSimplify] Canonicalize `X uge 1` to `X ne 0` and `X sle -1` to `X slt 0` in `simplifyICmpInst`
DeltaFile
+11-3llvm/lib/Analysis/InstructionSimplify.cpp
+1-5llvm/test/Transforms/InstSimplify/select-icmp.ll
+12-82 files