[VPlan] Build packs from lane values in replicateByVF (NFC). (#231040)
Previously materializePacksAndUnpacks created single-operand
BuildVectors for all per-lane definitions with vector users or users
inside replicate regions, which replicateByVF later extended with the
per-lane values. Recipes in replicate regions then accessed their lanes
via extractelement(BuildVector, Lane), which had to be folded by several
BuildVector look-throughs.
Instead, create the BuildVectors directly in replicateByVF from the
per-lane definitions, only for users that need a vector. Users inside
replicate regions keep using the original definition until the replicate
regions are dissolved; the resulting lane extracts are then replaced by
the corresponding per-lane definitions before the original definition is
removed. As BuildVectors are only created with all lanes, they now
always use only the first lane of their operands.
This removes a number of indirections and folds, and simplifies the
code.
[orc-rt] Add Session instance symbols, SPS CI to look them up (#231043)
Objects created at runtime (e.g. service instances) have no symbols
under the standard object models, so the controller has no way to find
them by name. Instance symbols fill that gap:
Session::addInstanceSymbols registers (name, address) pairs for such
objects, and Session::lookupInstanceSymbols resolves a SymbolLookupSet
against them, with the same missing-symbol semantics as
SimpleSymbolTable::lookup. Duplicate handling follows
SimpleSymbolTable::addUnique: a batch containing a conflicting
definition is rejected as a whole.
The new orc_rt_ci_sps_Session_lookupInstanceSymbols wrapper exposes the
lookup to the controller. It is registered by sps_ci::addSession, which
sps_ci::addAll now includes.
net80211: add driver registration documentation
This is a brief introduction into the top-level newbus
driver methods and net80211 driver registration.
Differential Revision: https://reviews.freebsd.org/D60503
Reviewed by: ziaee, zi
net80211: add DRIVER_REGISTRATION to README.md ; fix links
* add the driver registration doc to README.md
* fix the links to resolve correctly with current doxygen
(1.18.0) with the current file path -> sanity conversion ->
html path rules.
Differential Revision: https://reviews.freebsd.org/D60504
Reviewed by: ziaee
TableGen: Cache resolved class instantiations
The same class instantiation is often referenced many times in one
record, and each reference was resolved again from scratch along with
everything nested in its arguments. Cache the results in MapResolver and
RecordResolver. The cache is cleared when the mappings change, and is
bypassed while a mapped variable is being resolved.
Nested instantiations are resolved through a TrackUnresolvedResolver,
which does not change the result. These share the cache of the
underlying resolver, which also records whether any references were left
unresolved so the trackers can be updated on a hit.
Gigainstructions executed by llvm-tblgen --null-backend
before after
AMDGPU.td 71.75 18.22 -74.6%
X86.td 6.10 6.15 +0.8%
AArch64.td 3.28 3.32 +1.3%
[3 lines not shown]
TableGen: Skip resolving values that cannot change
Lists, dags, bits and arguments made only of leaf values always resolve
to themselves, but resolving them still walked every element. Record
this when they are created and return early.
Gigainstructions executed by llvm-tblgen --null-backend
before after
AMDGPU.td 79.12 71.73 -9.3%
X86.td 6.25 6.12 -2.1%
AArch64.td 3.40 3.28 -3.7%
RISCV.td 8.34 8.19 -1.8%
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
TableGen: Use DenseMap for the IntInit pool
Gigainstructions executed by llvm-tblgen --null-backend
before after
AMDGPU.td 79.34 79.13 -0.3%
X86.td 6.30 6.25 -0.7%
AArch64.td 3.43 3.41 -0.6%
RISCV.td 8.40 8.34 -0.7%
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[VPlan] Use getFastMathFlagsOrNone in VPIRFlags::applyFlags (NFC) (#231036)
applyFlags hand-rolled the same field-by-field FastMathFlagsTy to
FastMathFlags conversion as getFastMathFlagsOrNone. Use the latter
together with copyFastMathFlags.
AMDGPU: Use TargetSubtarget.td in TargetDef tablegen tests (#231018)
The -gen-amdgpu-target-def tests only need the subtarget and processor
classes. Include TargetSubtarget.td instead of Target.td, which also
checks that it works standalone, and drop the unneeded dummy Target.
The 14 llvm-tblgen RUN lines each parsed Target.td, which costs 1.29 G
instructions:u (Release+asserts); TargetSubtarget.td costs 0.005 G.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
safe_eval.sh: safe_set_var use [:space:] if possible
Also use $ssv_extra$ssv_only as the default for $ssv_only has '-'
which must be last in the character class.
If eqn(7) or tbl(7) input is encountered in -mdoc -T markdown mode,
print a line describung the problem to the formatted output and also
raise an "unsupp" message, similar to what -T man already does,
instead of calling assert(3), which is never appropriate when dealing
with unsopported or incorrect input.
A conversation with kristaps@ reminded me of this issue.
[gn] port c90b6414e607 (mlgo EmitC models) (#231035)
Ports ab547095ead5 since it's needed unconditionally after c90b6414e607.
Register only the checked-in, pre-lowered _test_inc test model.
Lowering .mlir models is still not implemented in the GN build.
[gn] make write_file.py replace literal \n with newlines (#231034)
Like write_cmake_config.py. This makes it possible to write multi-line
generated headers from an action(), which is needed for the next commit.
As demo, update the only current existing caller to write a
trailing newline. This matches the CMake build.
18374 viona: add ioctls to control MAC filter tables
Portions contributed by: Andy Fiddaman <illumos at fiddaman.net>
Reviewed by: Robert Mustacchi <rm at fingolfin.org>
Approved by: Gordon Ross <gordon.w.ross at gmail.com>
www/github-release-monitor: Mark DEPRECATED
Assets can only be created using Linux. This worked well, as they are
simply scripts and therefore portable files. However, starting with
version v2.0.0, compiling all the files generates new .so files,
making portability no longer possible.
MFH: 2026Q4
(cherry picked from commit 6f74bab1683b0d0109acbb142b4afc6fa40911d2)