FreeBSD/ports 165f199cad/magic pkg-plist Makefile, cad/magic/files patch-scripts_configure patch-rules.mak

cad/magic: Update 8.3.664 => 8.3.680

* Follow upstream simplifying it's building scripts

Approved by:            yuri@ (maintainer, Mentor)
Approved by:            db@, yuri@ (Mentors, implicit)
Differential Revision:  https://reviews.freebsd.org/D58119
DeltaFile
+0-15cad/magic/files/patch-commands__Makefile
+0-12cad/magic/files/patch-rules.mak
+4-4cad/magic/files/patch-scripts_configure
+2-4cad/magic/Makefile
+3-3cad/magic/distinfo
+0-1cad/magic/pkg-plist
+9-396 files

LLVM/project f51370dclang/lib/Driver/ToolChains Clang.cpp, clang/lib/Frontend CompilerInvocation.cpp

[CIR] Honor -fno-clangir (#214904)

`-fno-clangir` was a no-op whenever `-fclangir` also appeared on the
command line, in either order: the CIR pipeline ran regardless.
Options.td already declares clangir as a BoolFOption with a NegFlag, so
last-wins semantics were intended and the generated marshalling
implements them correctly.
DeltaFile
+23-0clang/test/CIR/Driver/clangir.c
+1-1clang/lib/Frontend/CompilerInvocation.cpp
+1-1clang/lib/Driver/ToolChains/Clang.cpp
+25-23 files

LLVM/project 03c0c8blld/test/wasm cooperative-threading-gc.s, lld/wasm MarkLive.cpp

[lld][WebAssembly] Follow relocations of TLS-base accessors during GC (#206831)

With `--gc-sections` (the default), `wasm-ld` garbage-collects functions
that are only reachable through `__wasm_get_tls_base` /
`__wasm_set_tls_base` in the cooperative-threading (libcall
thread-context) configuration. This produces a linked module that is
invalid or behaves incorrectly: the relocation inside
`__wasm_set_tls_base` is left dangling / mis-resolved, so callers trap
at runtime (e.g. `validation error: ... values remaining on stack at end
of block`, or a call to an unrelated function).

In cooperative-threading mode (`--cooperative-threading`, added in
#200855), per-task thread context is accessed through libcalls rather
than wasm globals. `wasm-ld` synthesizes `__wasm_init_tls` /
`__wasm_init_memory`, which invoke `__wasm_get_tls_base` and
`__wasm_set_tls_base` via **raw `call` instructions that carry no
relocations**. To keep those accessors in the output, the linker marks
them live with `Symbol::markLive()`.


    [77 lines not shown]
DeltaFile
+57-0lld/test/wasm/cooperative-threading-gc.s
+14-0lld/wasm/MarkLive.cpp
+71-02 files

FreeBSD/ports b931b13games/vms-empire Makefile distinfo

games/vms-empire: Update to 1.23

Changelog: http://www.catb.org/~esr/vms-empire/NEWS.adoc
DeltaFile
+3-3games/vms-empire/distinfo
+1-1games/vms-empire/Makefile
+4-42 files

OpenBSD/src 5DIZdD0sys/net pfkeyv2_convert.c if_pfsync.c, sys/netinet ip_ipsp.h ip_esp.c

   Protect the IPsec TDB replay counter with mutex.

   Put all tdb_rpl read, write and increment under tdb_mtx.  Although
   shared net lock and kernel lock should be enough for now, we want
   to move towards fine grained locking.  Mark tdb_rpl and tdb_seen
   as MP safe.
   The wrap-around check in ah_output() is not atomic with the increment
   code and would not work.  As tdb_rpl is 64 bit nowadays, it cannot
   warp.  Better remove the useless tdb_rpl == 0 check than making it
   MP safe.

   OK deraadt@
VersionDeltaFile
1.181+15-16sys/netinet/ip_ah.c
1.201+17-3sys/netinet/ip_esp.c
1.251+4-3sys/netinet/ip_ipsp.h
1.85+3-1sys/net/pfkeyv2_convert.c
1.335+3-1sys/net/if_pfsync.c
+42-245 files

LLVM/project c7c758dlldb/include/lldb/Target ThreadPlanStepInRange.h Thread.h, lldb/source/Commands CommandObjectThread.cpp

[lldb] Remove ConstString from ThreadPlanStepInRange (#215684)

ThreadPlanStepInRange optionally took a "target function name" to
determine if the thread plan could explain a given stop. The name was
being stored into a ConstString which does not need to happen because
(a) the function is sometimes user-supplied, meaning it may or may not
exist, and (b) it may be a substring of a given function name (i.e. not
otherwise in the string pool already).
DeltaFile
+10-16lldb/source/Target/ThreadPlanStepInRange.cpp
+5-5lldb/source/Target/Thread.cpp
+2-2lldb/source/Commands/CommandObjectThread.cpp
+2-2lldb/include/lldb/Target/ThreadPlanStepInRange.h
+2-2lldb/include/lldb/Target/Thread.h
+1-1lldb/source/Target/ThreadPlanShouldStopHere.cpp
+22-282 files not shown
+24-308 files

LLVM/project c3792d6clang/lib/Headers CMakeLists.txt __clang_gpu_runtime_wrapper.h, clang/lib/Headers/hip_wrappers/hip hip_runtime.h

[Clang] Rework GPU wrapper headers for the `-llvm` environment (#214331)

Summary;
This environment is intended to be the hermetic LLVM interface so we can
compile GPU things in a standalone environment. For this to work, we
resolve the standard include directory and refine the API split. Future
work will add missing functions, but this should let us compile HIP
device code on godbolt without needing a full ROCm interface.
DeltaFile
+4-57clang/lib/Headers/__clang_gpu_device_functions.h
+15-27clang/lib/Headers/__clang_gpu_intrinsics.h
+28-7clang/test/Headers/gpu-device-functions.cpp
+28-0clang/lib/Headers/__clang_gpu_runtime_wrapper.h
+23-0clang/lib/Headers/hip_wrappers/hip/hip_runtime.h
+19-2clang/lib/Headers/CMakeLists.txt
+117-934 files not shown
+142-10710 files

LLVM/project 29316beclang-tools-extra/clang-tidy/cppcoreguidelines UseEnumClassCheck.cpp, clang-tools-extra/docs ReleaseNotes.md

[clang-tidy] Fix `cppcoreguidelines-use-enum-class` anonymous enum bug (#215352)

`UseEnumClassCheck::registerMatchers` implementing
`cppcoreguidelines-use-enum-class` didn't check for empty enum names and
suggested erroneous "fix" to make anonymous enums `class enum`, which is
ill-defined, fix this.

Fixes #215328
DeltaFile
+11-4clang-tools-extra/clang-tidy/cppcoreguidelines/UseEnumClassCheck.cpp
+2-1clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/use-enum-class.rst
+3-0clang-tools-extra/docs/ReleaseNotes.md
+2-0clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/use-enum-class.cpp
+18-54 files

NetBSD/pkgsrc MnwQIQudoc CHANGES-2026

   Updated misc/indi, devel/appstream
VersionDeltaFile
1.5237+3-1doc/CHANGES-2026
+3-11 files

NetBSD/pkgsrc qOWVmKPdevel/appstream Makefile distinfo

   appstream: updated to 1.1.6

   1.1.6

   Features:
    * validator: Ensure description markup has no invalid attributes set
    * validator: Validate bundle/pkgname values for allowed characters

   Bugfixes:
    * xml: Sanitize description markup when reading and writing it
    * yaml/json: Ensure description markup is sanitized when loading/saving it
    * meson: Work around wrong library linkage when linking Qt tests
    * Allow sealing of component-IDs to safely use them in hash tables and indices
    * Ensure we never emit or read an invalid data origin
    * Prevent crash when comparing bad version strings that have an epoch after rev
    * Fix potential out-of-bounds read in OARS mapping table
    * apt: yaml: Harden against potential corrupted YAML / YAML-headers
    * compose: Guess a filename even from invalid URLs instead of crashing
    * compose: Confine directory unit data reads to the unit's root directory

    [3 lines not shown]
VersionDeltaFile
1.15+4-4devel/appstream/distinfo
1.34+2-2devel/appstream/Makefile
+6-62 files

OpenZFS/src f5942d9man/man7 dracut.zfs.7, scripts spdxcheck.pl

SPDX: fix incorrect license tags

These already had SPDX tags and so were misidentifed as CDDL-1.0 in
eb9098ed47. Return them to what they were supposed to be.

Sponsored-by: TrueNAS
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes #18914
DeltaFile
+3-0scripts/spdxcheck.pl
+0-1tests/zfs-tests/cmd/renameat2.c
+0-1man/man7/dracut.zfs.7
+3-23 files

OpenZFS/src 5158ad4scripts spdxcheck.pl

spdxcheck: detect multiple tags within a file

Since a single tag can express multiple options, enforce that only a
single tag be present.

Sponsored-by: TrueNAS
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes #18914
DeltaFile
+9-2scripts/spdxcheck.pl
+9-21 files

OpenZFS/src 1b24a34tests/zfs-tests/cmd clone_after_trunc.c, tests/zfs-tests/tests/functional/block_cloning block_cloning_after_trunc.ksh

license: fix CDDL license headers identified by spdxcheck

All missed in 4b05f927dc by virtue of being "close enough".

Sponsored-by: TrueNAS
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes #18914
DeltaFile
+11-1tests/zfs-tests/tests/functional/block_cloning/block_cloning_after_trunc.ksh
+10-0tests/zfs-tests/cmd/clone_after_trunc.c
+1-5tests/zfs-tests/tests/functional/mmp/mmp_zhack_reclaim.ksh
+2-3tests/zfs-tests/tests/functional/rsend/send_invalid.ksh
+4-1tests/zfs-tests/tests/functional/cli_root/zhack/zhack_metaslab_leak.ksh
+4-1tests/zfs-tests/tests/functional/cli_root/zhack/zhack_label_repair_004.ksh
+32-114 files not shown
+46-1610 files

OpenZFS/src 7de6623scripts spdxcheck.pl

spdxcheck: check CDDL-1.0 tags for correct license boilerplate

Now that we have a preferred, canonical form, we can enforce it.

Sponsored-by: TrueNAS
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes #18914
DeltaFile
+80-2scripts/spdxcheck.pl
+80-21 files

NetBSD/pkgsrc 7u0mq1Smisc/indi Makefile distinfo

   indi: updated to 2.2.4.2

   2.2.4.2

   iEQ: mark Home operation complete when mount reaches home
   WandererRotator: Add configurable move accuracy and fix false "not po…
   Add pier side to PMC8 driver
   iEQ: clarify firmware labels, show N/A for absent hand controller
VersionDeltaFile
1.19+10-5misc/indi/PLIST
1.20+4-4misc/indi/distinfo
1.36+2-2misc/indi/Makefile
+16-113 files

LLVM/project 2256564llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.h, llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.cpp

[SandboxVectorizer] Dispatch LoadStoreVec::runOnRegion on seed kind

Rebuilt on top of the direction-agnostic packOperands() redesign and
the fresh-Scheduler-per-sub-run fix (previously this same feature
existed on the now-superseded vectorize-loads branch, stacked on the
classifyStoreOperands-gated version of partition-store-bundles).

runOnRegion() previously assumed its seed slice was always a store
chain, unconditionally casting Bndl[0] to StoreInst. This crashed
(assertion in areConsecutive<StoreInst>) whenever -sbvec-collect-seeds
included "loads", since a load-seeded region's Aux holds LoadInsts.

Add createVectorLoad(), a standalone builder used only by the new
vectorizeLoads() (packOperands() replaced its old role of also being
vectorizeStores()'s all-loads fast path -- that path no longer exists,
per the direction-agnostic redesign).

Add a symmetric top-level path for load-kind seed slices:
  - vectorizeLoads() builds the vector load via createVectorLoad(), then

    [39 lines not shown]
DeltaFile
+132-3llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
+71-0llvm/test/Transforms/SandboxVectorizer/Passes/LoadStoreVec/load_store_vec_load_seeds.ll
+26-0llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
+229-33 files

LLVM/project a9b8e89llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.h, llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.cpp

[SandboxVectorizer] Vectorize partial store sub-bundles in LoadStoreVec

Rebuilt on top of the direction-agnostic packOperands() redesign
(previously this same feature existed on the now-superseded
partition-store-bundles branch, gated by classifyStoreOperands).

runOnRegion() previously required the entire seed chain to vectorize as
one unit. A seed slice can legitimately fail that as a whole while a
sub-run within it is still fine, e.g. because it spans an address gap
(SeedBundle::getSlice sorts by address but doesn't guarantee
contiguity) or a sub-range fails to schedule. Add
findLegalStoreRun()/isLegalStoreRun() to search for the longest
vectorizable run starting at a given position, and have runOnRegion()
call vectorizeStores() once per such run instead of once for the whole
chain. isLegalStoreRun() is purely an address/scheduling check now --
no operand-eligibility check is needed since packOperands() accepts any
operand kind.

The search only ever shrinks a candidate length, never grows one:

    [35 lines not shown]
DeltaFile
+48-2llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
+45-0llvm/test/Transforms/SandboxVectorizer/Passes/LoadStoreVec/load_store_vec.ll
+19-0llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
+112-23 files

LLVM/project 5888127llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer VecUtils.h, llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes BundleVec.cpp

[SandboxVectorizer] Hoist getInsertPointAfterInstrs into VecUtils

Move BottomUpVec.cpp's file-local getInsertPointAfterInstrs() into
VecUtils, next to the getLowest()/getLastPHIOrSelf() primitives it's
built from. It has no BottomUpVec-specific state; the next commit adds a
second caller in LoadStoreVec.

Not hoisting BottomUpVec::createPack() itself here: it asserts a single
common scalar type (VecUtils::getCommonScalarType), which doesn't fit
LoadStoreVec's mixed-type ("enable-diff-types") requirement. That needs
its own extended packer, kept local to LoadStoreVec.cpp rather than
force-fitting the shared version.

No functional change: check-llvm Transforms/SandboxVectorizer passes
(28/28).

Co-Authored-By: Claude Opus 5 <noreply at anthropic.com>
DeltaFile
+6-18llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BundleVec.cpp
+13-0llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
+19-182 files

LLVM/project 8ed027cllvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.h, llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.cpp

[SandboxVectorizer] Make LoadStoreVec::vectorizeStores direction-agnostic

Remove classifyStoreOperands()/isFoldableLoadOperand(): vectorizeStores()
no longer gates on whether a store chain's value operands are all loads,
all constants, or neither. Instead it always builds the vector value via
a new packOperands(), which packs any mix of loads, constants, or
arbitrary SSA values via extractelement/insertelement -- direction-
agnostic in the sense that it doesn't care what kind of operand it's
given, unlike the load-specific and constant-specific paths it replaces.

packOperands() combines operands at the granularity of their narrowest
common scalar element type (the same rule getCombinedVectorTypeFor()
uses), splitting a wider operand into multiple lanes via a bitcast. A
plain bitcast can't convert between pointer and non-pointer types, and
inttoptr requires an integer source, so reinterpretSameWidth() picks
bitcast, ptrtoint, or inttoptr as needed, routing a non-integer,
non-pointer operand (e.g. double) through an intermediate same-width
integer when the target granularity is a pointer.


    [38 lines not shown]
DeltaFile
+149-96llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
+114-36llvm/test/Transforms/SandboxVectorizer/Passes/LoadStoreVec/load_store_vec_mixed_types.ll
+116-32llvm/test/Transforms/SandboxVectorizer/Passes/LoadStoreVec/load_store_vec.ll
+6-2llvm/test/Transforms/SandboxVectorizer/Passes/LoadStoreVec/AMDGPU/basic.ll
+6-2llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
+391-1685 files

HardenedBSD/src 60af24blib/libusb Symbol.map, sys/dev/igc if_igc.c

Merge remote-tracking branch 'rad/hardened/current/master' into hardened/current/pledge
DeltaFile
+260-0lib/libusb/Symbol.map
+120-23sys/dev/ixgbe/if_ix.c
+108-10sys/sys/videoio.h
+77-1sys/dev/ixl/if_ixl.c
+47-4sys/dev/igc/if_igc.c
+39-3sys/net/iflib.c
+651-4117 files not shown
+717-6123 files

HardenedBSD/src 02d2db9. ObsoleteFiles.inc UPDATING, lib/libusb Makefile Symbol.map

Merge branch 'freebsd/current/main' into hardened/current/master
DeltaFile
+260-0lib/libusb/Symbol.map
+108-10sys/sys/videoio.h
+4-1lib/libusb/Makefile
+5-0UPDATING
+3-0ObsoleteFiles.inc
+1-1tools/build/mk/OptionalObsoleteFiles.inc
+381-121 files not shown
+382-137 files

HardenedBSD/src 25cf08dshare/misc bsd-family-tree

Merge branch 'freebsd/15-stable/main' into hardened/15-stable/main
DeltaFile
+8-3share/misc/bsd-family-tree
+8-31 files

LLVM/project cb72195lldb/source/Plugins/Process/Utility RegisterInfoPOSIXDynamic_riscv32.h RegisterInfoPOSIXDynamic_riscv32.cpp, lldb/source/Plugins/Process/elf-core RegisterContextPOSIXCore_riscv32.h RegisterContextPOSIXCore_riscv32.cpp

[lldb][RISCV] Construct CSR information dynamically (#203234)

Custom RISC-V extensions may define control and status registers (CSRs)
with overlapping addresses. Therefore, when performing postmortem debug
of 32-bit RISC-V core dump images, dynamically construct CSR information
based on the set of enabled extensions.

Assisted-by: OpenAI GPT-5
DeltaFile
+375-4,097lldb/source/Plugins/Process/Utility/RegisterInfos_riscv32.h
+66-66lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
+78-0lldb/source/Plugins/Process/Utility/RegisterInfoPOSIXDynamic_riscv32.cpp
+52-4lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_riscv32.cpp
+22-0lldb/source/Plugins/Process/Utility/RegisterInfoPOSIXDynamic_riscv32.h
+5-1lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_riscv32.h
+598-4,1686 files

LLVM/project 1204e6fclang/test/CodeGenHLSL/builtins lerp-builtin.hlsl lerp.hlsl, clang/test/SemaHLSL/BuiltIns lerp-errors.hlsl

[HLSL] Move `lerp` implementation to header files (#215692)

Closes #213097.

This PR replaces the previous implementation of `lerp` with a new one
inside the header files. It also cleans up the tests to use 3 distinct
parameters (x, y, s) for consistency with other similar tests.
The SPIRV intrinsic (`int_spv_lerp`) and its lowering are intentionally
kept, since a follow-up will pattern match `X + S * (Y - X)` back to the
extended instruction and needs the SPIRV intrinsic to do so.

Assisted-by: Claude Opus 4.8
DeltaFile
+160-96clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
+0-130clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
+49-48clang/test/CodeGenHLSL/builtins/lerp.hlsl
+0-56llvm/test/CodeGen/DirectX/lerp.ll
+0-14llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
+0-12clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
+209-3567 files not shown
+215-38913 files

LLVM/project 27a40cfllvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.h, llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.cpp

[SandboxVectorizer] Extract LoadStoreVec::vectorizeStores from runOnRegion

Move runOnRegion()'s body -- the store-chain legality checks, operand
classification, vector value construction, and profitability decision
-- into a new vectorizeStores(Bndl, Rgn, Sched, A) method. runOnRegion()
now only builds the initial bundle from the region's Aux and calls
vectorizeStores() once. Also extract the cost-check tail into
acceptIfProfitable(), a small helper worth having on its own. NFC.
DeltaFile
+30-18llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
+5-0llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
+35-182 files

LLVM/project c1dc946clang/test/CodeGenHLSL/builtins radians-builtin.hlsl radians.hlsl, clang/test/SemaHLSL/BuiltIns radians-errors.hlsl

[HLSL] Move `radians` implementation to header files (#215379)

Closes #213095.

This PR replaces the previous implementation of `radians` with a new one
inside the header files.
The SPIRV intrinsic (`int_spv_radians`) and its lowering are
intentionally kept, since a follow-up will pattern-match `Val *
(pi/180)` back to the extended instruction and needs the SPIRV intrinsic
to do so.

Assisted-by: Claude Opus 4.8
DeltaFile
+85-66clang/test/CodeGenHLSL/builtins/radians-overloads.hlsl
+0-78llvm/test/CodeGen/DirectX/radians.ll
+26-52clang/test/CodeGenHLSL/builtins/radians.hlsl
+0-27clang/test/SemaHLSL/BuiltIns/radians-errors.hlsl
+0-16clang/test/CodeGenHLSL/builtins/radians-builtin.hlsl
+0-12llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
+111-2519 files not shown
+119-27115 files

LLVM/project f2c1710flang/test/Fir struct-passing-aarch64-indirect.fir

review comments, add test
DeltaFile
+27-0flang/test/Fir/struct-passing-aarch64-indirect.fir
+27-01 files

LLVM/project 5f4fba9llvm/lib/CodeGen/SelectionDAG LegalizeTypes.h LegalizeFloatTypes.cpp, llvm/test/CodeGen/X86 xrint-no-libcall-error.ll

DAG: Gracefully diagnose missing lrint/lround float-operand libcalls (#215064)

I believe this is my 9000th commit, merged during the solar eclipse 

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+32-36llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
+12-0llvm/test/CodeGen/X86/xrint-no-libcall-error.ll
+1-0llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
+45-363 files

LLVM/project 3e1bb94llvm/test/CodeGen/AMDGPU/GlobalISel mul-known-bits.i128.ll

Apply suggestion from @chinmaydd
DeltaFile
+1-1llvm/test/CodeGen/AMDGPU/GlobalISel/mul-known-bits.i128.ll
+1-11 files

LLVM/project 3b18dedllvm/lib/Target/AMDGPU AMDGPULegalizerInfo.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel mul-known-bits.i128.ll

[AMDGPU][GlobalISel] Fix wide multiply with known-zero parts

Materialize a zero accumulator when all partial products for a destination part are skipped, avoiding an invalid null register during legalization.

Change-Id: I05294cf68ddd4363ccb20df7159981280e7c9c4e
DeltaFile
+26-0llvm/test/CodeGen/AMDGPU/GlobalISel/mul-known-bits.i128.ll
+6-0llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
+32-02 files