Enforce the license package isolation with import contracts
This commit adds changes to pin what the hardware, license and entitlement packages each claim about their own isolation. The existing layer contracts only order modules within a package, so nothing stopped one of them from reaching back into the service framework or into a package that depends on it, which would have been a cycle nobody caught until import time.
Trim stale and redundant comments across the license work
This commit adds changes to correct or remove the comments this branch introduced. Several had gone stale as later commits landed -- KMIP and Webshare were described as ungated after this branch gated them, and the engine's note on contract_type said the opposite of what the daemon does -- and the rest either restated the code or pinned counts, file paths and version strings that drift. No behaviour changes: every touched file parses to an identical AST once docstrings are stripped.
ice: Add led(4) identification support
Expose the firmware-controlled physical port identification LED
through /dev/led/ice*. Use the AdminQ port-identification command to
select blinking mode and restore the netlist-selected original mode
before the interface is stopped.
Sponsored by: BBOX.io
(cherry picked from commit a781965b91ea390f9576ae42c35c842db74aab86)
Reland "[SSAF][clang-reforge] Add end-to-end clang-reforge tests (#219085)" (#220124)
This reverts commit 459dffa2ef4af2e3fd96ff35a235a301bdeeb32c
The new test added in the original PR uses 'clang-apply-replacements'
conditionally now. It checks if the tool is available before using it.
When the tool is not there, it only checks against replacement offsets
and texts.
Final step of:
rdar://185840466
[CIR][CUDA] Support built-in CUDA texture type (#214781)
Related: #179278
This patch adds initial support for CUDA built-in texture types in CIR
for device-side compilation.
CUDA texture references are lowered to the NVPTX device-handle
representation (`i64`), matching existing Clang CodeGen behavior.
## Changes
- Add `getCUDADeviceBuiltinTextureDeviceType()` target hook to
`TargetCIRGenInfo`
- Implement NVPTX texture lowering in `NVPTXTargetCIRGenInfo`
- Handle CUDA built-in texture types in `CIRGenTypes::convertType`
- Add initial CUDA texture variable registration bookkeeping in
`CIRGenNVCUDARuntime`
- Add CIR CUDA test coverage for device-side texture lowering
[8 lines not shown]
[BOLT] Parse .eh_frame CFI programs on demand to reduce memory
BOLT read the entire .eh_frame up front via DwCtx->getEHFrame(), which
parses and caches the CFI instruction program of every CIE/FDE in the
binary for the whole run. On a large binary, this dominated
file-object discovery: CFIProgram::parse accounted for ~6.5 GB and the
cached DWARFDebugFrame ~6.9 GB of live memory. Yet the CFI programs
are only consumed in CFIReaderWriter::fillCFIInfoFor, and only for the
functions BOLT actually disassembles. discoverFileObjects itself needs
nothing but each FDE's address and range for function-boundary checks.
Here we parse .eh_frame for its index only, and decode each function's
CFI program on demand, lazily, only for the functions that really need
it. In a large binary, DWARFDebugFrame::parse drops from 6922.2 MB
to 587.6 MB, the residual being the lightweight FDE/CIE index (entries
without instruction programs), and readSpecialSections falls from
7078.7 MB to 738.6 MB on the tested binary for which BOLT's RSS is
about 80-120GB.
[mlir][acc] Use atomicrmw for simple atomic captures (#219552)
Example:
```fortran
!$acc atomic capture
nSmall = nSmall + 1
indx = nSmall
!$acc end atomic
```
acc.atomic.capture always generated a cmpxchg loop, while
acc.atomic.update already mapped a simple binop to atomicrmw. On a
partition loop with 204800 threads contending on one scalar, the CAS
retries dominate.
Fix: give the capture conversion the same atomicrmw path. atomicrmw
returns the old value, so `{read, update}` stores it directly and
`{update, read}` reapplies the binop to it.