LLVM/project fa2b19fclang/include/clang/Options FlangOptions.td Options.td, flang/docs FlangDriver.md

[Flang][Driver] NFC: Move Flang/Fortran only options to a separate file (#194398)

This PR factors out the Flang/Fortranly only options from Options.td
into a separately file (FlangOptions.td).

Assisted-by: codex
DeltaFile
+404-0clang/include/clang/Options/FlangOptions.td
+1-401clang/include/clang/Options/Options.td
+12-8flang/docs/FlangDriver.md
+417-4093 files

FreeBSD/src b9a0298sys/dev/ena ena_datapath.c ena.h

ena: Budget rx descriptors, not packets

We had ENA_RX_BUDGET = 256 in order to allow up to 256 received
packets to be processed before we do other cleanups (handling tx
packets and, critically, refilling the rx buffer ring).  Since the
ring holds 1024 buffers by default, this was fine for normal packets:
We refill the ring when it falls below 7/8 full, and even with a large
burst of incoming packets allowing it to fall by another 1/4 before we
consider refilling the ring still leaves it at 7/8 - 1/4 = 5/8 full.

With jumbos, the story is different: A 9k jumbo (as is used by default
within the EC2 network) consumes 3 descriptors, so a single rx cleanup
pass can consume 3/4 of the default-sized rx ring; if the rx buffer
ring wasn't completely full before a packet burst arrives, this puts
us perilously close to running out of rx buffers.

This precise failure mode has been observed on some EC2 instance types
within a Cluster Placement Group, resulting in the nominal 10 Gbps
single-flow throughput between instances dropping to ~100 Mbps as a

    [21 lines not shown]
DeltaFile
+10-3sys/dev/ena/ena_datapath.c
+2-2sys/dev/ena/ena.h
+12-52 files

FreeBSD/src b949f82sys/dev/ena ena.h

ena: Update driver version to v2.8.3

Features:
* Report RX overrun errors via sysctl hw stats

Bug Fixes:
* Budget rx descriptors, not packets, to fix jumbo frame throughput

Minor Changes:
* pmap_change_attr void * API change for FreeBSD 16.0+
* Adjust ena_[rt]x_cleanup to return bool

MFC after: 2 weeks
Sponsored by: Amazon, Inc.
Differential Revision: https://reviews.freebsd.org/D56641

(cherry picked from commit af7911d3b732b8e0d4254c5d0bf60d74ced89157)
DeltaFile
+1-1sys/dev/ena/ena.h
+1-11 files

FreeBSD/src 3394b3asys/dev/ena ena.c ena.h

ena: Report RX overrun errors

Extract rx_overruns from the keep alive descriptor reported by
the device and expose it via sysctl hw stats.

RX overrun errors occur when a packet arrives but there are not
enough free buffers in the RX ring to receive it.

MFC after: 2 weeks
Sponsored by: Amazon, Inc.
Differential Revision: https://reviews.freebsd.org/D56640

(cherry picked from commit e3f4a63af63bea70bc86b6c790b14aa5ee99fcd0)
DeltaFile
+4-0sys/dev/ena/ena.c
+2-0sys/dev/ena/ena.h
+2-0sys/dev/ena/ena_sysctl.c
+8-03 files

FreeBSD/src 4472de7sys/dev/ena ena_datapath.c

ena: Adjust ena_[rt]x_cleanup to return bool

The ena_[rt]x_cleanup functions are limited internally to a maximum
number of packets; this ensures that TX doesn't starve RX (or vice
versa) and also attempts to ensure that we get a chance to refill
the RX buffer ring before the device runs out of buffers and starts
dropping packets.

Historically these functions have returned the number of packets which
they processed which ena_cleanup compares to their respective budgets
to decide whether to reinvoke them.  This is unnecessary complication;
since the precise number of packets processed is never used, adjust
the APIs of those functions to return a bool indicating if they want
to be reinvoked (aka if they hit their limits).

Since ena_tx_cleanup now only uses work_done if diagnostics are
enabled (ena_log_io macros to nothing otherwise) eliminate that
variable and pass its value (ENA_TX_BUDGET - budget) to ena_log_io
directly.

    [9 lines not shown]
DeltaFile
+12-14sys/dev/ena/ena_datapath.c
+12-141 files

LLVM/project 996314clldb/source/Target Process.cpp

fixup! Also delay initial breakpoint creation
DeltaFile
+9-1lldb/source/Target/Process.cpp
+9-11 files

LLVM/project 6d2c5aclldb/test/API/functionalities/breakpoint/delayed_breakpoints TestDelayedBreakpoint.py main.c

fixup! Add test
DeltaFile
+41-0lldb/test/API/functionalities/breakpoint/delayed_breakpoints/TestDelayedBreakpoint.py
+7-0lldb/test/API/functionalities/breakpoint/delayed_breakpoints/main.c
+3-0lldb/test/API/functionalities/breakpoint/delayed_breakpoints/Makefile
+51-03 files

LLVM/project 3b1ce68clang/include/clang/Basic TokenKinds.def, clang/include/clang/Sema SemaHLSL.h

[HLSL] Add type traits for ConstantBuffers templates

This commit adds the type traits to restrict the template type in a
ConstantBuffer to structs or classes that do not contain a resource
type.

Assisted-by: Gemini
DeltaFile
+44-6clang/lib/Sema/HLSLExternalSemaSource.cpp
+33-0clang/test/SemaHLSL/BuiltIns/ConstantBuffers.hlsl
+13-0clang/lib/Sema/SemaHLSL.cpp
+9-0clang/lib/Sema/SemaTypeTraits.cpp
+1-0clang/include/clang/Sema/SemaHLSL.h
+1-0clang/include/clang/Basic/TokenKinds.def
+101-66 files

FreeBSD/ports a913354sysutils/amazon-ssm-agent Makefile distinfo, sysutils/amazon-ssm-agent/files patch-agent_appconfig_constants__unix.go patch-agent_log_log__unix.go

sysutils/amazon-ssm-agent: Update to 3.3.4177

PR:     294667
Sponsored by:   Amazon

(cherry picked from commit 917d50371c791bf0d7e66374ce17d18f6ddbd94e)
DeltaFile
+27-11sysutils/amazon-ssm-agent/files/patch-agent_appconfig_constants__unix.go
+13-15sysutils/amazon-ssm-agent/Makefile
+0-11sysutils/amazon-ssm-agent/files/patch-agent_log_log__unix.go
+0-11sysutils/amazon-ssm-agent/files/patch-agent_session_shell_shell__unix.go
+0-10sysutils/amazon-ssm-agent/files/patch-agent_plugins_inventory_gatherers_application_dataProvider.go
+3-5sysutils/amazon-ssm-agent/distinfo
+43-636 files

FreeBSD/src 9a0e838sys/arm64/include pcpu.h

arm64: Ditch arm64-specific unsound PCPU optimisation

The current arm64 PCPU implementation uses a global register asm
variable to use x18, which we reserve with -ffixed-x18, from C. Inside a
critical_enter() or sched_pin(), it is vital that any PCPU reads use the
right PCPU pointer, as often the whole point of the critical_enter() or
sched_pin() is to ensure consistent PCPU use (e.g. for SMR it relies on
zpcpu giving the same SMR state). critical_enter() and sched_pin() both
include atomic_interrupt_fence(), i.e. asm volatile("" ::: "memory"),
barriers to ensure that memory accesses don't get moved by the compiler
outside the critical section, which on most architectures will also
order the read of the PCPU pointer itself (whether due to the read being
another asm volatile statement, or due to using a segment-relative
memory access as on x86). However, this approach on arm64 is in no sense
a memory access, and therefore the register access is not ordered with
respect to the the critical_enter() or sched_pin(), or more specifically
the curthread->td_critnest++ / curthread->td_pinned++ within.

In practice upstream today this works out ok because the read of x18 is

    [115 lines not shown]
DeltaFile
+4-6sys/arm64/include/pcpu.h
+4-61 files

LLVM/project dc94465llvm/lib/Target/AMDGPU SIISelLowering.cpp SIISelLowering.h, llvm/test/CodeGen/AMDGPU inline-asm-vgpr-sgpr-copy.ll illegal-sgpr-to-vgpr-copy.ll

[AMDGPU] Add readfirstlane for inline asm SGPR with VGPR input (#176330)

SIFixSGPRCopies was incorrectly handling inline assembly operands with
SGPR ("s") constraints when the value came from a memory load (which
produces a VGPR). The pass would fail to insert the necessary
v_readfirstlane instruction instead directly passes the vgpr value.
example:
  asm sideeffect buffer_load_dwordx4 $0, $1, $2, 0 =v,v,s,n
previously it generated:
buffer_load_dwordx4 v[0:3], v0, v[8:11] (but sgpr is expected), 0 offen

The fix adds readfirstlanes during lowering when there is a copy from
divergent register to SGPR.

---------

Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
DeltaFile
+283-0llvm/test/CodeGen/AMDGPU/inline-asm-vgpr-sgpr-copy.ll
+104-20llvm/test/CodeGen/AMDGPU/illegal-sgpr-to-vgpr-copy.ll
+47-31llvm/test/CodeGen/AMDGPU/spill-offset-calculation.ll
+77-0llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+1-0llvm/lib/Target/AMDGPU/SIISelLowering.h
+512-515 files

LLVM/project e56a30ellvm/lib/Transforms/IPO Inliner.cpp, llvm/test/Transforms/Inline inline_store_to_load.ll

Revert "[Inliner] Use store-to-load forwarding to resolve call arguments (#19…"

This reverts commit 0aef0f274b73863bb70360d7034ed0f556f38fa5.
DeltaFile
+0-212llvm/test/Transforms/Inline/inline_store_to_load.ll
+36-2llvm/test/Transforms/PhaseOrdering/inline-store-to-load.ll
+0-37llvm/lib/Transforms/IPO/Inliner.cpp
+36-2513 files

FreeBSD/src 8eb9eaastand/efi/loader/arch/arm exec.c, stand/efi/loader/arch/arm64 exec.c

loader.efi: Defer efi_translate(e_entry) until after bi_load

bi_load itself loads various things into the staging area which can
cause it to grow, which may result in the staging area moving, including
the kernel. Therefore the address we get for the kernel entry point
prior to bi_load may not be correct afterwards when we actually call it,
and so we must defer the translation.

On arm and riscv (but not arm64, which predates both of them in
loader.efi and did not gain a copy of arm's added printf when arm
support was added) we also printf this entry point to the console, which
we can no longer do since bi_load calls ExitBootServices, so remove this
printf that, in practice, seems to not be so useful, given nobody ever
felt the need to add it to arm64. If anyone really feels this is an
important printf to have then bi_load will need to be split so we can
call printf after all the loading and potential reallocation of the
staging area, but before ExitBootServices is called.

We may also want to make this code more uniform and shared between the

    [12 lines not shown]
DeltaFile
+2-3stand/efi/loader/arch/arm/exec.c
+2-3stand/efi/loader/arch/riscv/exec.c
+2-1stand/efi/loader/arch/arm64/exec.c
+6-73 files

LLVM/project c3ea7c0clang/lib/Sema SemaHLSL.cpp HLSLBuiltinTypeDeclBuilder.cpp, clang/test/AST/HLSL ConstantBuffers-AST.hlsl

[HLSL] Add ConstantBuffer<T>

The ConstantBuffer<T> is a standard resource type in HLSL. This commit
is following the design in wg-hlsl proposal [0046](https://github.com/llvm/wg-hlsl/blob/main/proposals/0046-constantbuffer-t.md).

The type constraints will be left to a follow up pr.

Assisted-by: Gemini
DeltaFile
+120-0clang/test/AST/HLSL/ConstantBuffers-AST.hlsl
+68-0clang/test/CodeGenHLSL/builtins/ConstantBuffer-layout.hlsl
+65-0clang/test/CodeGenHLSL/builtins/ConstantBuffer.hlsl
+47-0clang/lib/Sema/SemaHLSL.cpp
+35-0clang/test/SemaHLSL/BuiltIns/ConstantBuffers.hlsl
+28-2clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
+363-27 files not shown
+477-313 files

LLVM/project faeae9fllvm/lib/CodeGen/SelectionDAG SelectionDAG.cpp, llvm/test/CodeGen/RISCV known-fpclass.ll

[DAG] computeKnownFPClass - add ISD::SELECT/VSELECT handling + test coverage (#194009)

Fixes #193500
DeltaFile
+194-0llvm/test/CodeGen/RISCV/known-fpclass.ll
+13-0llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+207-02 files

FreeBSD/src bf7eaffstand/efi/loader/arch/arm exec.c, stand/efi/loader/arch/arm64 exec.c

loader.efi: Defer efi_translate(e_entry) until after bi_load

bi_load itself loads various things into the staging area which can
cause it to grow, which may result in the staging area moving, including
the kernel. Therefore the address we get for the kernel entry point
prior to bi_load may not be correct afterwards when we actually call it,
and so we must defer the translation.

On arm and riscv (but not arm64, which predates both of them in
loader.efi and did not gain a copy of arm's added printf when arm
support was added) we also printf this entry point to the console, which
we can no longer do since bi_load calls ExitBootServices, so remove this
printf that, in practice, seems to not be so useful, given nobody ever
felt the need to add it to arm64. If anyone really feels this is an
important printf to have then bi_load will need to be split so we can
call printf after all the loading and potential reallocation of the
staging area, but before ExitBootServices is called.

We may also want to make this code more uniform and shared between the

    [12 lines not shown]
DeltaFile
+2-3stand/efi/loader/arch/arm/exec.c
+2-3stand/efi/loader/arch/riscv/exec.c
+2-1stand/efi/loader/arch/arm64/exec.c
+6-73 files

FreeBSD/src 04f744csys/arm64/arm64 pmap.c, sys/arm64/include hypervisor.h pmap.h

arm64/vmm: Enable 16-bit VMIDs when in use by pmap

pmap_init always uses 16-bit VMIDs when supported, but we never enable
them in VTCR_EL2 (for ASIDs, locore enables them in TCR_EL1 and
pmap_init keys off whether they've been enabled, but the order in which
pmap_init and vmmops_modinit run is reversed). As a result, although the
full 16-bit value can be stored to VTTBR_EL2 and read back, the upper 8
bits are treated as 0, and so VMIDs that our VMID allocation believes
are distinct end up aliasing.

In future this interface may change such that vmm decides on the VMID
width and tells the pmap to use that, with appropriate support for
unloading and reloading vmm, but that can come as a follow-up change, as
this is a more minimal bug fix.

Reviewed by:    markj
Obtained from:  CheriBSD
Fixes:          47e073941f4e ("Import the kernel parts of bhyve/arm64")
MFC after:      1 week

    [3 lines not shown]
DeltaFile
+11-0sys/arm64/arm64/pmap.c
+2-0sys/arm64/vmm/vmm_arm64.c
+2-0sys/arm64/include/hypervisor.h
+1-0sys/arm64/include/pmap.h
+16-04 files

FreeBSD/src a176cf1sys/arm64/include pcpu.h

arm64: Ditch arm64-specific unsound PCPU optimisation

The current arm64 PCPU implementation uses a global register asm
variable to use x18, which we reserve with -ffixed-x18, from C. Inside a
critical_enter() or sched_pin(), it is vital that any PCPU reads use the
right PCPU pointer, as often the whole point of the critical_enter() or
sched_pin() is to ensure consistent PCPU use (e.g. for SMR it relies on
zpcpu giving the same SMR state). critical_enter() and sched_pin() both
include atomic_interrupt_fence(), i.e. asm volatile("" ::: "memory"),
barriers to ensure that memory accesses don't get moved by the compiler
outside the critical section, which on most architectures will also
order the read of the PCPU pointer itself (whether due to the read being
another asm volatile statement, or due to using a segment-relative
memory access as on x86). However, this approach on arm64 is in no sense
a memory access, and therefore the register access is not ordered with
respect to the the critical_enter() or sched_pin(), or more specifically
the curthread->td_critnest++ / curthread->td_pinned++ within.

In practice upstream today this works out ok because the read of x18 is

    [115 lines not shown]
DeltaFile
+4-6sys/arm64/include/pcpu.h
+4-61 files

LLVM/project 0aef0f2llvm/lib/Transforms/IPO Inliner.cpp, llvm/test/Transforms/Inline inline_store_to_load.ll

[Inliner] Use store-to-load forwarding to resolve call arguments (#190607)

Uses `FindAvailableLoadedValue` to resolve load instructions in call
arguments to constants before inline cost analysis. This gives the
inliner more precise cost estimate and option to inline functions which
would not be inlined otherwise.

The `-O3` doesn't inline empty `std::set` and `std::map` because node
deletion is recursive. The inliner doesn't know that `nullptr` is passed
in as it is a `load` from a member.

This addresses both `libstdc++` and `libc++`:
- `libstdc++` - `FindAvailableLoadedValue` requires `MaxInstToScan=0`,
because relevant store is 7 instructions away and `DefMaxInstsToScan =
6`. Benchmarking on large LLVM TUs showed no measurable compile-time
difference between limit=6 and whole basic block
- `libc++` - uses `memset` to zero all members in ctor, this patch
handles only `memset` to zero (the type mismatch case), which could be
generalized but seems very rare

    [20 lines not shown]
DeltaFile
+212-0llvm/test/Transforms/Inline/inline_store_to_load.ll
+2-36llvm/test/Transforms/PhaseOrdering/inline-store-to-load.ll
+37-0llvm/lib/Transforms/IPO/Inliner.cpp
+251-363 files

LLVM/project ca9f6c5libc/include nl_types.yaml, libc/include/llvm-libc-macros nl_types-macros.h nl-types-macros.h

[libc][docs] Fix docgen macro lookup for underscored headers (#194367)

While adding implementation status for nl_types.h, I noticed docgen
resolves it to nl-types.h instead of nl_types.h. As a result, headers
with underscores are not matched correctly and their implementation
status is not marked.

This patch fixes the handling of underscored header names in docgen so
they are processed consistently.
DeltaFile
+15-0libc/include/llvm-libc-macros/nl_types-macros.h
+0-15libc/include/llvm-libc-macros/nl-types-macros.h
+2-2libc/include/nl_types.yaml
+1-1libc/test/src/nl_types/nl_types_test.cpp
+1-1libc/include/llvm-libc-macros/CMakeLists.txt
+19-195 files

FreeBSD/src f82b681tests/sys/cam/ctl opcodes.sh all-supported-opcodes.txt

CTL: add ATF tests for REPORT SUPPORTED OPCODES

This includes a regression test for CVE-2024-42416

Sponsored by:   ConnectWise
Reviewed by:    emaste
Differential Revision: https://reviews.freebsd.org/D46613

(cherry picked from commit 6dd86310e54d3f2dd9f688670913b9176176246c)
DeltaFile
+241-0tests/sys/cam/ctl/opcodes.sh
+39-0tests/sys/cam/ctl/all-supported-opcodes.txt
+2-0tests/sys/cam/ctl/Makefile
+282-03 files

FreeNAS/freenas 898ad24src/middlewared/middlewared/plugins/failover_ event.py, src/middlewared/middlewared/plugins/iscsi_ lio.py alua.py

Add middleware support for LIO ALUA HA

Wire up the middleware side of LIO ALUA high-availability: load
lio_ha.ko with per-node addresses on service start, manage the
4-row ALUA state table (MASTER/BACKUP × synced/not-synced) across
failover events, clean up STANDBY configfs on pool export, and
add pre-flight validation that targets have static initiator ACLs
before ALUA can be enabled.
DeltaFile
+318-97src/middlewared/middlewared/utils/lio/config.py
+179-1src/middlewared/middlewared/plugins/iscsi_/lio.py
+62-9src/middlewared/middlewared/plugins/iscsi_/alua.py
+33-21src/middlewared/middlewared/plugins/failover_/event.py
+34-19src/middlewared/middlewared/plugins/iscsi_/iscsi_global.py
+28-0src/middlewared/middlewared/plugins/iscsi_/global_linux.py
+654-1474 files not shown
+690-14810 files

NetBSD/pkgsrc bAqIwPKdoc CHANGES-2026

   doc: Updated www/p5-Dancer to 1.3522
VersionDeltaFile
1.2710+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc kP91q7Zwww/p5-Dancer distinfo Makefile

   p5-Dancer: update to 1.3522.

   1.3522    2026-01-26 22:27:39+00:00 Europe/London

   [ENHANCEMENTS]
   - Remove unnecessary import from test file (avoid test failures on newer Perls)
   - Add security policy document
VersionDeltaFile
1.39+4-4www/p5-Dancer/distinfo
1.55+3-4www/p5-Dancer/Makefile
+7-82 files

FreeBSD/ports e08873cgames/powder-toy-devel distinfo Makefile

games/powder-toy-devel: update snapshot-391 → snapshot-392
DeltaFile
+3-3games/powder-toy-devel/distinfo
+1-1games/powder-toy-devel/Makefile
+4-42 files

FreeBSD/ports 41c4d84games/powder-toy distinfo Makefile, games/powder-toy/files patch-resources_meson.build

games/powder-toy: update 99.3.384 → 99.5.394
DeltaFile
+0-11games/powder-toy/files/patch-resources_meson.build
+3-3games/powder-toy/distinfo
+1-2games/powder-toy/Makefile
+4-163 files

LLVM/project 699d3bflibc/src/__support/OSUtil/linux/syscall_wrappers mmap.h CMakeLists.txt, libc/src/sys/mman/linux mmap.cpp pkey_mprotect.cpp

[libc] Add sys/mman syscall wrappers (#195103)

Added ErrorOr-returning syscall wrappers for mmap, munmap, mprotect, and
pkey_mprotect in src/__support/OSUtil/linux/syscall_wrappers/. Migrated
the sys/mman Linux entrypoint implementations to use them, following the
design in libc/docs/dev/syscall_wrapper_refactor.rst.

Removed the shared mprotect_common.h in favour of per-syscall wrapper
headers. Added hdr/sys_mman_macros.h proxy header.
DeltaFile
+59-0libc/src/__support/OSUtil/linux/syscall_wrappers/mmap.h
+50-0libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
+6-43libc/src/sys/mman/linux/mmap.cpp
+11-34libc/src/sys/mman/linux/pkey_mprotect.cpp
+0-38libc/src/sys/mman/linux/mprotect_common.h
+38-0libc/src/__support/OSUtil/linux/syscall_wrappers/pkey_mprotect.h
+164-1157 files not shown
+277-16213 files

FreeBSD/ports 14b9888net/wireshark distinfo pkg-plist

net/wireshark: Update to 4.6.5

See https://www.wireshark.org/docs/relnotes/wireshark-4.6.5.html or a
list of changes in this release.
DeltaFile
+3-3net/wireshark/distinfo
+2-2net/wireshark/pkg-plist
+1-1net/wireshark/Makefile
+6-63 files

LLVM/project a23ddcdclang-tools-extra/docs/clang-tidy/checks/llvmlibc implementation-in-namespace.rst, libc/docs conf.py

[libc][docs][NFC] Remove dead files and consolidate check.rst (#194442)

Deleted check.rst, Helpers/Styles.rst, dev/cmake_build_rules.rst, and
dev/clang_tidy_checks.rst. Moved the |check| substitution into
rst_prolog in conf.py so it is available globally without per-file
include directives.

Removed all '.. include:: check.rst' lines from hand-written header docs
and from the docgen.py generator that emits them for auto-generated
header pages.

Merged the clang-tidy checks documentation into code_style.rst under a
new 'Static Analysis & Clang-Tidy' section, preserving the
_clang_tidy_checks label for existing cross-references.

Updated code examples in both libc docs and the upstream clang-tidy
check docs to replace the stale LLVM_LIBC_ENTRYPOINT macro with the
current LLVM_LIBC_FUNCTION macro.

Updated dev/index.rst to drop the two deleted toctree entries.
DeltaFile
+120-0libc/docs/dev/code_style.rst
+0-119libc/docs/dev/clang_tidy_checks.rst
+0-40libc/docs/Helpers/Styles.rst
+0-28libc/docs/dev/cmake_build_rules.rst
+8-1libc/docs/conf.py
+4-4clang-tools-extra/docs/clang-tidy/checks/llvmlibc/implementation-in-namespace.rst
+132-19210 files not shown
+132-21916 files

LLVM/project ba72823llvm/lib/Target/WebAssembly/GISel WebAssemblyLegalizerInfo.cpp, llvm/test/CodeGen/WebAssembly/GlobalISel/instructions fcopysign.mir fneg.mir

[WebAssembly][GlobalISel] Implement basic floating point instructions (#194798)

Adds `RegBankSelect` support for floats, and adds legalization of most
basic FP instructions.

Split from #157161
DeltaFile
+44-0llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/fcopysign.mir
+37-0llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/fneg.mir
+32-3llvm/lib/Target/WebAssembly/GISel/WebAssemblyLegalizerInfo.cpp
+32-0llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/implicit_def.mir
+31-0llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/fcopysign.ll
+29-0llvm/test/CodeGen/WebAssembly/GlobalISel/instructions/fceil.ll
+205-315 files not shown
+583-421 files