[DirectX] Add support for heap resources to `DXILResourceMap` (#216454)
`DXILResourceMap` now handles a new `llvm.dx.resource.handlefromheap`
intrisics and adds the heap resources to the resource map.
A new member `HeapResourceID` has been added to `ResourceInfo` to
distinguish between heap resource instances created from different
indices. The `HeapResourceID` is unique for each heap index `Value*`, so
multiple handle creation calls using the same index `Value*` resolve to
the same resource.
Heap resources do not have register bindings, so the `Binding` member on
`ResourceInfo` is now optional.
All places that were expecting binding to exist are updated to handle
bindless heap resources. In most cases that means skipping them, such as
when generating DXIL resource metadata, creating PSV resource entries or
pretty-printing the resource table comment for the module disassembly
output.
[5 lines not shown]
[DAG] Remove trivial VP SDNodes. NFC
This removes the codegen parts of the trivial VP intrinsics. It's quite far reaching, but the general categories of code removed are:
- Removing definitions from VPIntrinsics.def
- Legalization and expansion code
- MatchContext used to match over both VP and non-VP nodes
- Some dead DAGCombines and folds in SelectionDAGBuilder
There are still more things to be cleaned up after this, e.g. removing more of the VPIntrinsic class hierarchy, removing ExpandVectorPredication/moving expansion into other places, removing MatchContext from SDPatternMatch
[DAG] Expand vp.*rem and vp.cttz.elts with non-vp nodes.
Trivial VP SDNodes will be removed in an upcoming patch. The division is still predicated so we avoid UB.
examples/jails: Allow any character in interface names
Interface names have no limitations on the allowed character set, only
a length restriction.
Widen the allowed character set for interface names to include any
printable character.
PR: 290916
Reviewed by: dteske
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D53865
examples/jails: New version of jib (9.0)
Add $Version, -h/-v, and SPDX-License-Identifier: BSD-2-Clause.
Drop the long-form license and bump the copyright to 2026.
MFC after: 1 week
e1000: Limit the TSO sentinel to lem(4) controllers
The TSO workaround splits the final DMA segment to create a four byte
sentinel descriptor. Intel documents the premature descriptor writeback
erratum and this workaround in the 82540EP and 82545GM specification
updates (erratum 3) and the 82546GB specification update (erratum 1).
Limit the workaround and its preceding TSO state to the legacy PCI and
PCI-X controllers so PCIe controllers retain their natural descriptor
layout using one fewer descriptor per TSO packet, no split of the final
segment, and one less four byte DMA.
MFC after: 2 weeks
Sponsored by: BBOX.io