Pull up following revision(s) (requested by jdc in ticket #513):
sys/arch/sparc64/sparc64/ofw_patch.c: revision 1.19
Remove misplaced break in V215 HDD GPIO case.
sys: Fix USE_SSP?=yes settings in amd64, i386, and sparc64 makefiles.
This was recently broken by the change in bsd.own.mk rev. 1.1488 to
fix USE_FORT?=yes after bsd.own.mk in userland makefiles, which
worked by unconditionally adding a conditional definition of USE_SSP
based on lazy expansion of USE_FORT, instead of conditionally adding
a conditional definition of USE_SSP based on eager expansion of
USE_FORT (confused yet?):
-.if ... ${USE_FORT:Uno} != "no" ...
-USE_SSP?= yes
-.endif
+USE_SSP?= ${... ${USE_FORT:Uno} != "no" ...:?yes:no}
This isolated (ha) change to bsd.own.mk saved the trouble of editing
dozens of userland makefiles to ensure that USE_FORT is defined
before bsd.own.mk -- and the trouble of adding diagnostics to detect
the mistake should it rear its head again. And it solved the problem
systematically for userland.
[21 lines not shown]
Pull up the following, requested by mrg in ticket #1351:
external/mit/xorg-server/dist/ChangeLog up to 1.1.1.35
external/mit/xorg-server/dist/configure up to 1.28
external/mit/xorg-server/dist/configure.ac up to 1.30
external/mit/xorg-server/dist/meson.build up to 1.1.1.25
external/mit/xorg-server/dist/Xext/xtest.c up to 1.11
external/mit/xorg-server/dist/Xi/exevents.c up to 1.1.1.16
external/mit/xorg-server/dist/Xi/extinit.c up to 1.1.1.10
external/mit/xorg-server/dist/Xi/xibarriers.c up to 1.7
external/mit/xorg-server/dist/Xi/xipassivegrab.c up to 1.10
external/mit/xorg-server/dist/Xi/xiquerydevice.c up to 1.6
external/mit/xorg-server/dist/config/udev.c up to 1.1.1.7
external/mit/xorg-server/dist/dix/devices.c up to 1.18
external/mit/xorg-server/dist/dix/region.c up to 1.5
external/mit/xorg-server/dist/dri3/meson.build up to 1.1.1.3
external/mit/xorg-server/dist/exa/exa_accel.c up to 1.8
external/mit/xorg-server/dist/fb/fb.h up to 1.4
external/mit/xorg-server/dist/fb/fbgc.c up to 1.1.1.6
[42 lines not shown]
[clangd][test] Move plugin example source files to Inputs directory (#230245)
Move FeatureModuleExample.cpp and StandaloneTweakExample.cpp into the
clangd/test/Inputs directory to follow the directory convention, and
update CMakeLists.txt accordingly.
nfs_nfsdsocket.c: Fix "nfsstats -d" for ERELOOKUP
When ERELOOKLUP is returned by a file operation
(always vop_lookup?) the operation is retried without
doing nfsrv_statsend().
This patch fixes this problem,
The only effect of the bug was bogus "nfsstat -d"
output.
PR: 298534
Reviewed by: rmacklem
MFC after: 1 week
[bazel] add compile_commands for bazel builds (#227653)
Adds a `//tools/compile_commands` target that creates a
`compile_commands.json` using
[bazel-compile-commands-extractor](https://github.com/helly25/bazel-compile-commands-extractor)
for use with Clangd
This was assissted by AI.
Pull up the following, requested by mrg in ticket #512:
external/mit/xorg-server/dist/ChangeLog up to 1.1.1.35
external/mit/xorg-server/dist/configure up to 1.28
external/mit/xorg-server/dist/configure.ac up to 1.30
external/mit/xorg-server/dist/meson.build up to 1.1.1.25
external/mit/xorg-server/dist/Xext/xtest.c up to 1.11
external/mit/xorg-server/dist/Xi/exevents.c up to 1.1.1.16
external/mit/xorg-server/dist/Xi/extinit.c up to 1.1.1.10
external/mit/xorg-server/dist/Xi/xibarriers.c up to 1.7
external/mit/xorg-server/dist/Xi/xipassivegrab.c up to 1.10
external/mit/xorg-server/dist/Xi/xiquerydevice.c up to 1.6
external/mit/xorg-server/dist/config/udev.c up to 1.1.1.7
external/mit/xorg-server/dist/dix/devices.c up to 1.18
external/mit/xorg-server/dist/dix/region.c up to 1.5
external/mit/xorg-server/dist/dri3/meson.build up to 1.1.1.3
external/mit/xorg-server/dist/exa/exa_accel.c up to 1.8
external/mit/xorg-server/dist/fb/fb.h up to 1.4
external/mit/xorg-server/dist/fb/fbgc.c up to 1.1.1.6
[42 lines not shown]
LiveVariables: Only visit tracked physical registers
Keep a bitvector of physical registers with a recorded def or use in
the current block. Register mask handling, the end of block scan, and
the per-block reset now only visit those registers instead of every
register. This is significant for targets with many registers, such as
AMDGPU.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
CodeGen: Strip LiveVariables down to dead flag computation
This analysis is dead and there are no more explicit uses. There are still
passes implicitly relying on adjustments of dead flags. Missing dead
flags are added, and implicit-def operands are added for partially dead
physical registers.
The whole pass should be deleted, but it's taking a while to get all the dead
flag changes through the rest of the compiler. As a stop-gap to try to recover
some compile time regression, and avoiding new users appearing, strip the pass
down to only commputing the dead flags.
The main side effect of this is kill flags are no longer made accurate, which
is the source of the test churn.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
LiveVariables: Remove dead live-in handling and Defs plumbing
No physical register is tracked at the start of a block, so handling
the block live-ins was a no-op. The Defs list was only appended for
instruction defs, which runOnInstr already collects.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
Pull up following revision(s) (requested by gutteridge in ticket #511):
etc/etc.riscv/Makefile.inc: revision 1.8
etc/etc.evbarm/Makefile.inc: revision 1.140
etc/etc.evbarm/Makefile.inc: revision 1.141
etc/etc.evbarm/Makefile.inc: revision 1.142
etc/etc.evbarm/Makefile.inc: revision 1.145
etc/etc.evbppc/Makefile.inc: revision 1.23
etc/etc.evbmips/Makefile.inc: revision 1.33
etc/etc.evbarm/Makefile.inc: revision 1.139
etc/Makefile: revision 1.478
distrib/utils/embedded/mkimage: revision 1.98
Generate hashes for bootable images in gzimg directory.
At one point this should probably be unified at least a bit with the hash
generation of regular sets, so that there is a single place that defines
the types of hashes generated for sets and gzimg.
[41 lines not shown]
[mlir][affine] Clamp negative static trip counts to zero (#227134)
When the bounds of an affine.for are not both constant,
getStaticTripCount subtracts the lower bound from each upper bound
result, divides by the step, and returns the minimum if every result is
constant. A result that folds to a negative constant means the loop does
not execute, but it was converted to uint64_t and wrapped around. A
single-result bound such as `%n to %n - 2` reported a trip count of 2^64
- 2, and a multi-result bound such as
`max (%n) to min (%n - 4, %n + 4)` reported 4, because the wrapped value
lost the minimum to the other result.
Callers acted on these counts. Full unrolling turned the multi-result
loop into four unconditional copies of its body and hit an assertion on
the single-result one. Unrolling the single-result loop by four added a
cleanup loop that ran two iterations, and LICM treated both loops as
executing at least once and hoisted side-effecting ops out of them.
Clamp negative results to zero, as the constant-bound path already does.
Assisted-by: Cursor
[llubi] Avoid overflow when computing EVL with large VF (#230231)
`getEVL` uses uint32_t, and it causes division by zero in the
`RoundingUDiv` below when vscale * VF is truncated. This was identified
by an LLM.
Pull up the following, requested by christos in ticket #510:
external/bsd/unbound/dist/libunbound/remote.h up to 1.1.1.1
external/bsd/unbound/dist/testdata/10-unbound-anchor.tdir/key-setup.sh up to 1.1.1.1
external/bsd/unbound/dist/testdata/auth_xfr_host_bogus.rpl up to 1.1.1.1
external/bsd/unbound/dist/testdata/dns64_dnssec.rpl up to 1.1.1.1
external/bsd/unbound/dist/testdata/dns64_fwd_nocache.rpl up to 1.1.1.1
external/bsd/unbound/dist/testdata/dns64_respip_bypass.rpl up to 1.1.1.1
external/bsd/unbound/dist/testdata/edns_nsid_repeat.rpl up to 1.1.1.1
external/bsd/unbound/dist/testdata/errreport_agent_domain_len.rpl up to 1.1.1.1
external/bsd/unbound/dist/testdata/fill_reply_uninit.rpl up to 1.1.1.1
external/bsd/unbound/dist/testdata/ghost_glue_a.rpl up to 1.1.1.1
external/bsd/unbound/dist/testdata/iter_class_any_merge.rpl up to 1.1.1.1
external/bsd/unbound/dist/testdata/iter_class_mixreferral.rpl up to 1.1.1.1
external/bsd/unbound/dist/testdata/iter_dname_ttl0_grace.rpl up to 1.1.1.1
external/bsd/unbound/dist/testdata/iter_ghost_ns_childapex.rpl up to 1.1.1.1
external/bsd/unbound/dist/testdata/iter_scrub_mx.rpl up to 1.1.1.1
external/bsd/unbound/dist/testdata/iter_scrub_ns_min.rpl up to 1.1.1.1
external/bsd/unbound/dist/testdata/iter_self_glue.rpl up to 1.1.1.1
[212 lines not shown]
[LLDB] [lldb-dap] Update to try DIL before expression evaluator. (#228185)
Update the remaining places where lldb-dap calls the expression
evaluator, to try calling DIL first. Fall back on calling the full
expression evaluator if the calls to DIL fail. Also update, the existing
calls to DIL to use eDILModeFull, rather than eDILModeLegacy, to enable
DIL to handle more expressions.
[mlir][affine] Fix unroll cleanup loop bound for negative trip counts (#227135)
Unrolling (or unroll-and-jamming) an affine.for by a factor f that does
not divide its trip count tc splits the loop at lb + (tc - tc mod f) *
step: the main loop ends there and the cleanup loop starts there. When
the upper bound is below the lower bound at runtime, tc = ceildiv(ub -
lb, step) can be negative, and then the split point is below lb. The
main loop does not execute, but the cleanup loop does, for tc mod f
iterations. For example, unrolling
```
affine.for %i = 0 to %N
```
by 4 generates a cleanup loop from (N floordiv 4) * 4 to N, which
executes twice for N = -2.
Start the cleanup loop at the max of the split point and the original
lower bound instead. Keep the split point alone when it is known not to
be below the lower bound, as when the trip count is constant, so that
single-iteration cleanup loops are still promoted.
Assisted-by: Cursor
Revert "[AMDGPU] Reserve ENABLE_WAVEFRONT_SIZE32 on gfx125x" (#230228)
Reverts llvm/llvm-project#229162 until downstream consumers have aligned
with the proposed ABI change.
Pull up following revision(s) (requested by andvar in ticket #509):
sys/arch/x86/x86/tsc.c: revision 1.65
sys/arch/x86/x86/tsc.c: revision 1.66
sys/arch/x86/x86/tsc.c: revision 1.67
Add Centaur cpuid and family 7 to check whether the TSC counter is invariant.
Recent Zhaoxin CPUs have an invariant TSC and advertise that through
CPUID 80000007, as Intel and AMD do.
Allows choosing the TSC timecounter as more reliable than HPET.
Use lfence to serialize rdtsc for VIA Nano and up, same as Linux do.
Unlike Linux I didn't add a 64-bit guard on assumption that it should work
the same way and the 64-bit version will likely be the preferred one by users.
planning to pull up to netbsd-11, netbsd-10.
Use hex for consistency with the rest of the checks.