LLVM/project eb05d26offload/libomptarget interface.cpp

[Offload][OpenMP] Skip RPC callback registration when plugin has no devices (#211447)

`__tgt_register_rpc_callback` unconditionally called
`Plugin::getRPCServer()` which asserts if the RPC server pointer is
null. When a plugin is initialized but its RPC server has not been
created (e.g., `NumDevices == 0` in `GenericPluginTy::init()`), this
triggers a crash.

Rather than introducing a nullable accessor, guard the call by also
checking that the plugin has at least one device. A zero-device plugin
has no RPC server to register callbacks with, so the extra check is both
correct and sufficient.

Suggested by @jhuber6 in the review of the previous attempt (#210215).
DeltaFile
+1-1offload/libomptarget/interface.cpp
+1-11 files

LLVM/project 0ddaf31clang/docs ClangFormatStyleOptions.md ClangFormat.md, clang/docs/tools dump_format_style.py dump_format_help.py

[docs][clang-format] Migrate generated clang-format docs to markdown

The challenge here is that the documentation is generated from Doxygen
comments in headers, `Format.h` and `IncludeStyle.h`.

First, the generator was updated to generate markdown constructs, and
then the Doxygen comments were also modified to use markdown constructs.
Mostly this means using single backticks instead of double backticks,
which is the Doxygen-native way of expressing code font blocks anyway,
so that's good.

To validate, I built the Sphinx docs and the doxygen, and I confirmed
that the generator script is idempotent, meaning it doesn't change the
markdown output. When I add a new option to clang-format, it shows up in
the help text block, so it works.

Before/after validation links:
| Source file | Before HTML | After HTML |
| --- | --- | --- |

    [4 lines not shown]
DeltaFile
+5,572-5,811clang/docs/ClangFormatStyleOptions.md
+396-395clang/include/clang/Format/Format.h
+236-259clang/docs/ClangFormat.md
+87-27clang/docs/tools/dump_format_style.py
+34-33clang/include/clang/Tooling/Inclusions/IncludeStyle.h
+3-11clang/docs/tools/dump_format_help.py
+6,328-6,5366 files

LLVM/project 647a5fcllvm/include/llvm/CodeGen MachineInstr.h, llvm/lib/CodeGen MachineInstr.cpp

[CodeGen] Mark LIFETIME_START and LIFETIME_END as not safe to move (#211179)

PR #210028 added a run of EarlyMachineLICM before StackColoring removed
LIFETIME_START/LIFETIME_END markers, and it ended up hoisting them which
led to miscompiles. This marks them as not safe to move in
`MachineInstr::isSafeToMove`.

---------

Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
DeltaFile
+42-0llvm/test/CodeGen/RISCV/lifetime-licm.mir
+1-6llvm/lib/CodeGen/MachineInstr.cpp
+1-0llvm/include/llvm/CodeGen/MachineInstr.h
+44-63 files

LLVM/project 580604fllvm/lib/Target/X86 X86ISelDAGToDAG.cpp, llvm/test/CodeGen/X86 pr51707.ll lea-opt-cse4.ll

[X86] Reuse already-materialized values when forming LEAs (#210739)

For code like

``` cpp
int f(int &a, const int &b) {
    a += b + 17;
    return a + b;
}
```

the x86 backend emitted three LEAs, rematerializing `a+b` instead of
reusing the value it had just computed and stored:

``` asm
leal    (%rdi,%rsi), %eax        # a+b   (recomputed)
leal    17(%rdi,%rsi), %ecx      # a+b+17  (stored)
movl    %ecx, (%rdx)
leal    17(%rsi,%rax), %eax      # (a+b)+b+17

    [68 lines not shown]
DeltaFile
+251-0llvm/test/CodeGen/X86/pr51707.ll
+101-5llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
+22-31llvm/test/CodeGen/X86/lea-opt-cse4.ll
+12-18llvm/test/CodeGen/X86/lea-recursion.ll
+11-18llvm/test/CodeGen/X86/lea-opt-cse2.ll
+3-10llvm/test/CodeGen/X86/lea-opt-cse1.ll
+400-826 files

LLVM/project 5efe31fllvm/lib/Analysis BranchProbabilityInfo.cpp

[Analysis][NFC] Remove redundant include SCCIterator.h from BranchProbabilityInfo (#211259)

It becomes redundant after 35d69e3fe344.
DeltaFile
+0-1llvm/lib/Analysis/BranchProbabilityInfo.cpp
+0-11 files

LLVM/project 97af764clang/docs ClangFormatStyleOptions.md ClangFormat.md, clang/docs/tools dump_format_style.py dump_format_help.py

[docs][clang-format] Migrate generated clang-format docs to markdown

The challenge here is that the documentation is generated from Doxygen
comments in headers, `Format.h` and `IncludeStyle.h`.

First, the generator was updated to generate markdown constructs, and
then the Doxygen comments were also modified to use markdown constructs.
Mostly this means using single backticks instead of double backticks,
which is the Doxygen-native way of expressing code font blocks anyway,
so that's good.

To validate, I built the Sphinx docs and the doxygen, and I confirmed
that the generator script is idempotent, meaning it doesn't change the
markdown output. When I add a new option to clang-format, it shows up in
the help text block, so it works.

Before/after validation links:
| Source file | Before HTML | After HTML |
| --- | --- | --- |

    [4 lines not shown]
DeltaFile
+5,571-5,811clang/docs/ClangFormatStyleOptions.md
+389-389clang/include/clang/Format/Format.h
+236-259clang/docs/ClangFormat.md
+120-27clang/docs/tools/dump_format_style.py
+34-33clang/include/clang/Tooling/Inclusions/IncludeStyle.h
+3-11clang/docs/tools/dump_format_help.py
+6,353-6,5306 files

LLVM/project 4cd9820clang/docs ClangFormatStyleOptions.rst ClangFormatStyleOptions.md, clang/docs/tools dump_format_style.py

[docs][clang-format] Rename docs to Markdown

Rename ClangFormat and ClangFormatStyleOptions from reStructuredText to Markdown.

Update the clang-format documentation generator scripts and CMake custom targets to point at the renamed .md files so the generated documentation paths remain valid. Keep this changeset limited to rename/path updates; Markdown content cleanup is in the follow-up rewrite changeset.
DeltaFile
+0-8,004clang/docs/ClangFormatStyleOptions.rst
+8,004-0clang/docs/ClangFormatStyleOptions.md
+366-0clang/docs/ClangFormat.md
+0-366clang/docs/ClangFormat.rst
+2-2clang/docs/tools/dump_format_style.py
+2-2clang/test/Format/docs_updated.test
+8,374-8,3742 files not shown
+8,378-8,3788 files

LLVM/project 0b4104eclang-tools-extra/clang-tidy add_new_check.py, clang-tools-extra/clang-tidy/tool check_alphabetical_order_test.py check_alphabetical_order.py

[clang-tidy][docs] Generate static analyzer check docs as Markdown

Tracking issue: #201242
See the [migration guide] for more information. 

[migration guide]: https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
This is a stacked PR based on #{{rename-pr}} , which will be a standalone commit that
renames *.rst -> *.md before this PR lands for history preservation purposes.

This was prepared with rst2myst plus LLM-assisted cleanup. I paged through all the generated HTML looking for migration artifacts, and all of the differences I could find appear to be formatting error corrections. Please spot check my work and approve if it looks good. You can use the HTML links below to confirm it renders properly.

-----

Before/after validation links:
| Source file | Before HTML | After HTML |
| --- | --- | --- |
| `clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.BitwiseShift.md` | [before](https://llvm.org/docs/clang-tidy/checks/clang-analyzer/core.BitwiseShift.html) | [after](https://llvmdocs.staging.reidkleckner.dev/clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.BitwiseShift.html) |
| `clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.CallAndMessage.md` | [before](https://llvm.org/docs/clang-tidy/checks/clang-analyzer/core.CallAndMessage.html) | [after](https://llvmdocs.staging.reidkleckner.dev/clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.CallAndMessage.html) |
| `clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.DivideZero.md` | [before](https://llvm.org/docs/clang-tidy/checks/clang-analyzer/core.DivideZero.html) | [after](https://llvmdocs.staging.reidkleckner.dev/clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.DivideZero.html) |

    [95 lines not shown]
DeltaFile
+622-606clang-tools-extra/docs/clang-tidy/checks/list.md
+56-56clang-tools-extra/clang-tidy/add_new_check.py
+29-33clang-tools-extra/clang-tidy/tool/check_alphabetical_order_test.py
+35-22clang-tools-extra/docs/clang-tidy/checks/gen-static-analyzer-docs.py
+26-24clang-tools-extra/clang-tidy/tool/check_alphabetical_order.py
+7-16clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.SetgidSetuidOrder.md
+775-757119 files not shown
+1,687-1,261125 files

LLVM/project ba6520bclang-tools-extra/docs/clang-tidy/checks list.md list.rst, clang-tools-extra/docs/clang-tidy/checks/clang-analyzer security.SetgidSetuidOrder.md security.SetgidSetuidOrder.rst

[clang-tidy][docs] Rename static analyzer check docs to Markdown

Tracking issue: #201242
See the [migration guide] for more information. 

[migration guide]: https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines

This is the initial straight rename commit. It will probably break the docs build, but it has to be a separate PR for blame preservation purposes.
DeltaFile
+612-0clang-tools-extra/docs/clang-tidy/checks/list.md
+0-612clang-tools-extra/docs/clang-tidy/checks/list.rst
+19-0clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.SetgidSetuidOrder.md
+0-19clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.SetgidSetuidOrder.rst
+17-0clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.PutenvStackArray.md
+0-17clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.PutenvStackArray.rst
+648-648190 files not shown
+1,899-1,899196 files

LLVM/project 7023522.github/workflows compiler-rt-libc-builtins-tests.yml

[CI] Add precommit CIs to test compiler-rt + LLVM libc integration. (#200196)

Add Pre-commit CI to test compiler-rt builtins with libc to check it
works without issues

Split from #197950

Part of #197824

---------

Co-authored-by: Michael Jones <michaelrj at google.com>
DeltaFile
+54-0.github/workflows/compiler-rt-libc-builtins-tests.yml
+54-01 files

LLVM/project 8bd1cdallvm/lib/Target/WebAssembly WebAssemblyOptimizeLiveIntervals.cpp WebAssembly.h

[WebAssembly] Port WebAssemblyOptimizeLiveIntervalsPass

Standard NewPM pass porting.

Reviewers: dschuff, aheejin, sbc100

Pull Request: https://github.com/llvm/llvm-project/pull/209958
DeltaFile
+30-10llvm/lib/Target/WebAssembly/WebAssemblyOptimizeLiveIntervals.cpp
+10-2llvm/lib/Target/WebAssembly/WebAssembly.h
+2-2llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
+1-1llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+2-0llvm/lib/Target/WebAssembly/WebAssemblyPassRegistry.def
+45-155 files

LLVM/project fe1d453llvm/test/CodeGen/AMDGPU llvm.amdgcn.permlane.ll, llvm/test/CodeGen/AMDGPU/GlobalISel legalize-load-global.mir legalize-load-local.mir

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+9,398-9,218llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
+6,993-6,921llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
+5,803-5,808llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
+3,842-3,722llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
+2,196-5,244llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i8.ll
+3,572-3,745llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
+31,804-34,6582,094 files not shown
+216,567-146,6072,100 files

LLVM/project 21a3890offload/liboffload/API Device.td, offload/liboffload/src OffloadImpl.cpp

[Offload] Add numLanes device info to liboffload (#211380)

This adds `OL_DEVICE_INFO_NUM_LANES` to the Offload API device-info enum
and wires it through `olGetDeviceInfo`.
DeltaFile
+2-1offload/liboffload/src/OffloadImpl.cpp
+1-1offload/plugins-nextgen/cuda/src/rtl.cpp
+1-1offload/plugins-nextgen/amdgpu/src/rtl.cpp
+1-0offload/unittests/OffloadAPI/device/olGetDeviceInfoSize.cpp
+1-0offload/plugins-nextgen/host/src/rtl.cpp
+1-0offload/liboffload/API/Device.td
+7-31 files not shown
+8-37 files

LLVM/project 3b057c3mlir/include/mlir-c Rewrite.h, mlir/lib/Bindings/Python Rewrite.cpp

[mlir-c] Add 1:N TypeConverter conversion and materialization bindings (#208935)

Builds on the source/target materialization C bindings (#208934) to
expose the 1:N dialect-conversion functionality through the MLIR C API.
Continues the buildout of the dialect-conversion C bindings (follows
#206146 and #206161).

Assisted by: Claude
DeltaFile
+808-3mlir/test/CAPI/rewrite.c
+151-14mlir/lib/CAPI/Transforms/Rewrite.cpp
+91-5mlir/include/mlir-c/Rewrite.h
+3-1mlir/lib/Bindings/Python/Rewrite.cpp
+1,053-234 files

OpenBSD/src 7Io3a1Tdistrib/sets/lists/comp md.armv7

   sync
VersionDeltaFile
1.38+0-1distrib/sets/lists/comp/md.armv7
+0-11 files

LLVM/project f66306allvm/lib/Transforms/Scalar LowerMatrixIntrinsics.cpp, llvm/test/Transforms/LowerMatrixIntrinsics no-tiling-remark.ll double-transpose-asserts-shape.ll

[Matrix] Introduce LoadInfo/StoreInfo to add tiling with remainder support
DeltaFile
+6,436-0llvm/test/Transforms/LowerMatrixIntrinsics/no-tiling-remark.ll
+859-88llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
+163-0llvm/test/Transforms/LowerMatrixIntrinsics/double-transpose-asserts-shape.ll
+38-35llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-loops.ll
+17-0llvm/test/Transforms/LowerMatrixIntrinsics/alias-check-remark.ll
+7,513-1235 files

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

[clang-tidy] Ignore standard tag dispatch types in readability-named-parameter (#208730)

Parameters whose type is a standard tag type (e.g. std::in_place_t,
std::nothrow_t,
iterator tags, lock tags) are used purely for overload resolution and
don't need
a name. This patch skips them.

Added an IgnoredTypes option so users can customize the list. Default
covers 24
standard tag types.

Fixes #208448.

AI Usage: This commit is AI-assisted, reviewed and verified by me.
DeltaFile
+58-0clang-tools-extra/test/clang-tidy/checkers/readability/named-parameter.cpp
+43-1clang-tools-extra/clang-tidy/readability/NamedParameterCheck.cpp
+38-0clang-tools-extra/docs/clang-tidy/checks/readability/named-parameter.rst
+24-0clang-tools-extra/test/clang-tidy/checkers/readability/named-parameter-ignored-types.cpp
+7-0clang-tools-extra/docs/ReleaseNotes.rst
+1-0clang-tools-extra/clang-tidy/readability/NamedParameterCheck.h
+171-16 files

LLVM/project 5fad72bclang/test/Analysis/Scalable/source-edit-generation/Plugins/TestTransformationPlugin TestTransformation.cpp

[SSAF] Fix a stage2 test failure with ASan-instrumented clang

ASan emits a symbol for a static global in
`Analysis/Scalable/source-edit-generation/Plugins/TestTransformationPlugin/TestTransformation.cpp`
that causes link issues in green dragon.

Added `__attribute__((no_sanitize("address")))` to that static global to fix
the test.

rdar://182623740
DeltaFile
+3-0clang/test/Analysis/Scalable/source-edit-generation/Plugins/TestTransformationPlugin/TestTransformation.cpp
+3-01 files

LLVM/project 8eca60bclang-tools-extra/clang-tidy add_new_check.py

[clang-tidy] Generate Markdown documentation for new checks (#210574)

Update `add_new_check.py` to generate MyST Markdown documentation for
new checks.

Part of https://github.com/llvm/llvm-project/issues/201242
DeltaFile
+34-26clang-tools-extra/clang-tidy/add_new_check.py
+34-261 files

LLVM/project e278418llvm/lib/Transforms/Scalar LowerMatrixIntrinsics.cpp, llvm/test/Transforms/LowerMatrixIntrinsics matrix-row-vector-transpose.ll transpose-opts-lifting.ll

[Matrix] Add/remove transposes to row vectors to see them as column vectors

In column-major, add or remove transposes to row vectors in order to see
them as column vector during the rest of the lowering.
DeltaFile
+143-0llvm/test/Transforms/LowerMatrixIntrinsics/matrix-row-vector-transpose.ll
+140-0llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
+57-46llvm/test/Transforms/LowerMatrixIntrinsics/transpose-opts-lifting.ll
+5-26llvm/test/Transforms/LowerMatrixIntrinsics/dot-product-int-also-fusable-multiply.ll
+5-6llvm/test/Transforms/LowerMatrixIntrinsics/multiply-double.ll
+5-6llvm/test/Transforms/LowerMatrixIntrinsics/multiply-i32.ll
+355-841 files not shown
+360-907 files

LLVM/project f90fca7flang/docs/MeetingNotes/2026 2026-07-01.md

[flang] Add Flang Community Call Notes for July 1 (#207055)
DeltaFile
+76-0flang/docs/MeetingNotes/2026/2026-07-01.md
+76-01 files

Illumos/gate ac45d71usr/src/cmd/perl/contrib/Sun/Solaris/Pg Pg.pm

18156 Sun::Solaris::Pg::Pg.pm produces warnings under perl 5.42
Reviewed by: Andrew Stormont <andyjstormont at gmail.com>
Reviewed by: Bill Sommerfeld <sommerfeld at hamachi.org>
Reviewed by: Dominik Hassler <hadfl at omnios.org>
Approved by: Dan McDonald <danmcd at edgecast.io>
DeltaFile
+6-6usr/src/cmd/perl/contrib/Sun/Solaris/Pg/Pg.pm
+6-61 files

LLVM/project 52a6c35llvm/include/llvm/Transforms/Utils MatrixUtils.h, llvm/lib/Transforms/Scalar LowerMatrixIntrinsics.cpp

[Matrix] Split TileSize into per-dimension fields; add remainder loop infrastructure

Split the single TileSize field in TileInfo into TileNumRows,
TileNumInner, and TileNumColumns to enable non-square tiles.

Add CreateTiledLoopsWithRemainder() which generates a full loop
nest covering remainder rows and columns that don't evenly divide
the tile size.

Expose asIndex()/indexType() helpers from MatrixUtils.cpp for use
by callers building the tiled loop bodies.

In LowerMatrixIntrinsics, replace the old TileSize/TileLoopsThreshold
cl::opts with per-dimension TileSizeRows/Inner/Columns and add
TileUseLoops (default false) as the explicit opt-in for loop-based
tiling. Add isTilingLoopProfitable() to gate when loops are
worthwhile vs. inlining the tile computation.
DeltaFile
+2,188-60llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-loops-large-matrixes.ll
+37-201llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-volatile.ll
+158-20llvm/lib/Transforms/Utils/MatrixUtils.cpp
+55-119llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-loops.ll
+87-18llvm/include/llvm/Transforms/Utils/MatrixUtils.h
+69-28llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
+2,594-4467 files not shown
+2,602-45413 files

LLVM/project 04f124f.github CODEOWNERS

[github] Move BOLT reviewers to team (#211422)

Use https://github.com/orgs/llvm/teams/reviewers-bolt in place of
reviewers list, similar to runtimes.
DeltaFile
+1-3.github/CODEOWNERS
+1-31 files

LLVM/project f5f64f8llvm/test/tools/llvm-profgen/X86 invalid-short-lbr.test, llvm/test/tools/llvm-profgen/X86/Inputs invalid-short-lbr.perfscript

[llvm-profgen] Fix isLBRSample check for 1-deep brstack (#211182)

`isLBRSample` in `checkPerfScriptType` currently don't differentiate the
LBR records in hybrid sample (LBR+Stack) or an LBR sample. It checks
"0x" and "/" for the second pair as a unified way to tell whether the
record is an LBR pair. However, this requires a minimal of 2 pairs of
hybrid LBR samples, otherwise, even a valid LBR record will fail the
`isLBRSample` check. This fix adds an initial check for "0x" and "/" for
the first LBR record so we can handle the case where only 1 pair of LBR
record exists in the hybrid sample.
DeltaFile
+5-4llvm/tools/llvm-profgen/PerfReader.cpp
+3-0llvm/test/tools/llvm-profgen/X86/Inputs/invalid-short-lbr.perfscript
+3-0llvm/test/tools/llvm-profgen/X86/invalid-short-lbr.test
+11-43 files

NetBSD/pkgsrc-wip e7a1e00bup-snapshot distinfo Makefile

bup-snapshot: Updat to 0.33.71.883

This is more or less 0.34alpha1, not formally named.  Upstream said:

  It's time.  Please test main in preparation for a 0.34 release.  This is
  a substantial release with a lot of change, so closer scrutiny is
  warranted.  See note/main.md for an overview, which may suggest changes
  relevant to you that warrant closer scrutiny.
DeltaFile
+3-3bup-snapshot/distinfo
+2-2bup-snapshot/Makefile
+1-1bup-snapshot/COMMIT_MSG
+6-63 files

LLVM/project b66aac6clang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/Lowering/DirectToLLVM LowerToLLVM.cpp

[CIR][NFC] Remove unused LLVM lowering for cir.await (#211143)

`cir.await` is always eliminated by the FlattenCFG pass before the
DirectToLLVM conversion. Since the operation never reaches LLVM
lowering, remove the unused lowering implementation.
DeltaFile
+0-6clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+1-0clang/include/clang/CIR/Dialect/IR/CIROps.td
+1-62 files

LLVM/project 9521d0cclang/bindings/python/clang cindex.py, clang/bindings/python/tests/cindex test_code_completion.py

[libclang/python] Unify CompletionChunkKind.__str__ representation (#210676)

This completes the first step of
https://github.com/llvm/llvm-project/issues/156680
This change is a follow-up to
https://github.com/llvm/llvm-project/pull/176631, following the release
branching, to ensure a one release-cycle deprecation period.
DeltaFile
+17-58clang/bindings/python/tests/cindex/test_code_completion.py
+0-20clang/bindings/python/clang/cindex.py
+3-0clang/docs/ReleaseNotes.md
+20-783 files

LLVM/project 79d5781llvm/lib/Target/AMDGPU SIInstrInfo.cpp

[AMDGPU] Simplify check for packed fp32/64 opsel bits. NFCI

Call isLegalGFX12PlusPackedMathFP32or64BitOperand directly instead
of the whole isLegalOperand.
DeltaFile
+23-14llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+23-141 files

LLVM/project 9bdf7b6llvm/lib/Target/AMDGPU SIInstrInfo.cpp, llvm/test/CodeGen/AMDGPU packed-fp64.ll

[AMDGPU] Fix legalization of V_PK_*64 SGPR to VGPR change (#211357)

Special case for V_PK_*64 instructions: these do not have OPSEL but SGPR
sources behave like OPSEL is set replicating low 64-bits into high. VGPR
sources in turn read actual 4 registers. To move operand from an SGPR to
a VGPR we need to replicate low half.
DeltaFile
+122-0llvm/test/CodeGen/AMDGPU/packed-fp64.ll
+26-1llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+148-12 files