nvme: derive CC.CSS from CAP.CSS instead of hardcoding the NVM set
CC.CSS was always writting zero, which is a reserved encoding on a
controller that does not support the NVM command set.
Select 111b on admin-only controllers and 110b when the
I/O command set mechanism is available.
Reviewed by: ngie, imp, adrian
Differential Revision: https://reviews.freebsd.org/D59628
nvme: honor FLBAS Format Index Upper when selecting the LBA format
Added nvme_ns_data_format_index() in the nvme, nda, and nvmf
host paths as well as nvmecontrol and camdd.
Reviewed by: imp, adrian
Differential Revision: https://reviews.freebsd.org/D59627
[LLVM][CodeGen][AArch64] Implement expansion for fixed-length get.active.lane.mask. (#225459)
A step in the direction of removing the shouldExpandGetActiveLaneMask
TTI hook. For this PR I've implemented enough functionality to allow all
legalish fixed-length variants of get.active.lane.mask to bypass the
SelectionDAGBuilder based expansion for AArch64.
The AArch64TargetLowering::shouldExpandGetActiveLaneMask restrictions
are related to maintaining current code quality and not because the
expansion code cannot handle them.
Tests are a copy of active_lane_mask.ll with the scalable vector tests
removed.
[SystemZ] Use complete triple s390x-linux-gnu in soft-float-05.ll (#225851)
Specify `-mtriple=s390x-linux-gnu` instead of the incomplete
`-mtriple=s390x` in `soft-float-05.ll`.
When LLVM is configured with a default target triple that has a
different OS environment (such as `s390x-ibm-zos`), bare
`-mtriple=s390x` inherits the default OS/ABI and fails the Linux SystemZ
assembly checks.
[NVPTX] Extend SETP commuting to support SELP users (#215897)
Extend NVPTX SETP commuting to support predicates used by SELP
instructions.
When commuting a SETP reverses its predicate, update each SELP user by
swapping its true and false operands. This allows MachineCSE to elimiate
redundant inverse comparisons whose predicates are used by both branches
and selects.
Add regression coverage for register and immediate SELP operands. This
also removes redundant predicates from the arbitrary floating-point
conversion tests.
filesystems/zfs-stats-lite: update to 1.5
Fetch from GitHub instead of SourceForge and take maintainership.
1.5 sums the vmstat -m Memory column in bytes and, when
kstat.zfs.misc.arcstats.p is absent, reports MRU and MFU from
arcstats.mru_size and arcstats.mfu_size.
PR: 298776
Reported by: asomers
Approved by: fuz (mentor), jrm (mentor), asomers, 0mp
Reviewed by: fuz (mentor), jrm (mentor), asomers, 0mp
Differential Revision: https://reviews.freebsd.org/D59944
[libclang/python] Fix visitor callback return data type (#221024)
Declare the visitor callbacks return as c_long, i.e. a full register
word rather than c_int.
This is currently causing an issue on s390x, a 64-bit big-endian target.
The V8 JavaScript engine has recently started using libclang as a
dependency
to parse header files. It is currently crashing on s390x with a SIGFPE
due to this issue.
Both the s390x ELF ABI and libffi require the value to be sign/zero
extended to register
size, and leaving it as `c_int` leaves garbage on the high side.
cindex.py calls into libclang through ctypes, which builds the callback
closures using
libffi. With a `c_int` return, ctypes writes only the low 32 bits and
skips the extension
that both the ABI and libffi's closure contract require, so libffi hands
[4 lines not shown]
[Polly] Materialize escaping scalars from empty-domain statements as poison (#220008)
Problem Summary: In a versioned SCoP, Polly may remove a statement with
an empty iteration domain before building its access relations. If that
statement contains an escaping MemoryKind::Value MUST_WRITE access,
removing the
statement also prevents the corresponding ScopArrayInfo from being
registered. During code generation, Polly then fails to materialize the
escaping scalar, leaving a merge PHI that refers to a value defined only
on the original path.
This causes an LLVM verifier failure because the value does not dominate
all uses.
Fix: When removeStmtNotInDomainMap() is about to remove a statement with
a null or empty domain, register the ScopArrayInfo for its qualifying
escaping scalar accesses before allowing the statement to be removed.
The statement is still pruned normally, but code generation can now
materialize the scalar through a .s2a slot and reload it on the
optimized merge edge. Since the defining statement is absent on that
[8 lines not shown]
textproc/source-highlight: Take maintainership
Update COMMENT, WWW and pkg-descr.
Remove CONFLICTS_INSTALL because textproc/java2html has been removed.
PR: 298808
Approved by: osa (mentor)
[VPlan] Simplify extract-lane from same single-scalar. (#226102)
Generalize extract-lane(idx, single-scalar) -> single-scalar to also
apply if there are multiple vectors to extract and all values are the
same single-scalar.
PR: https://github.com/llvm/llvm-project/pull/226102
[ValueTracking] An or recurrence with a non-zero start value is non-zero (#226155)
Or-ing anything into a non-zero value keeps it non-zero, so
`isNonZeroRecurrence` can accept a simple `%iv = or %iv, %step`
recurrence with a non-zero constant start value, regardless of the step.
The first commit precommits the tests in `phi-known-nonzero.ll`.
This is split out of #222334. Together with a follow-up that stops
limiting the recursion depth for single-incoming (LCSSA) phis in
`isKnownNonZero`, it lets LoopIdiomRecognize (#222373) form `llvm.ctlz`
for the clz loop in ffmpeg's `sbc_calc_scalefactors`.
interfaces: retire these problematic validations
ISC DHCP is no longer installed by default and mostly not installed
on newer installations. However, people tend to use older backups
and the server may be enabled still. The alternative would be to
add a plugin check, but I don't really see the point in dragging this
on.
PR: https://forum.opnsense.org/index.php?topic=48181.0
(cherry picked from commit 67a0184458b3d2a5a7a7a805f87e07be59e0208c)
dnscontrol: Update to 5.2.0
Changelog
Provider-specific changes:
4858e5b: docs(p/CLOUDFLAREAPI): document how to keep Workers Custom Domain records (#4907) (@cafferata)
e090a71: docs(p/DNSMADEEASY): fix the sandbox control panel link (#4892) (@cafferata)
70524ba: docs(p/LINODE): replace the unsupported footnote with a hint (#4893) (@cafferata)
f7d8312: docs(p/SCALEWAY): use second-level headings (#4896) (@cafferata)
93f20a2: fix(p/GCORE): parse API names without a trailing dot (#4923) (@rootful)
1f400d2: fix(p/SCALEWAY): correct TXT round-trip, SVCB params, SSHFP case, NS TTL, and PTR support (#4919) (@alessiopcc)
New features:
e6e1fb7: feat: let providers declare a record identity for duplicate checks (#4883) (@Alice39s)
Bug fixes:
c3389d0: fix: SVCB keys that lack a value (no-default-alpn, others) not handled correctly (#4909) (@cafferata)
1e05eea: fix: fix an unlikely JSON injection security vulnerability (#4928) (@TomOnTime)
Documentation:
6e4d64e: docs: Explain nrc.Flags in cookbook (#4918) (@TomOnTime)
2e80f4c: docs: describe the conventional commits pull request titles (#4899) (@cafferata)
3006103: docs: fix GitBook redirects that point to missing files (#4906) (@cafferata)
[19 lines not shown]
Revert "[flang] Respect math flags during conversions (#214311)" (#225887)
This reverts commit 688119653fd40fa46244e1c300e728677a4f001a.
This caused a regression in Fujitsu test 0291/0291_0008.f with
`-ffast-math -march=native -03`. That test does a conversion that always
overflows, so without saturating math it produces poison, which causes
it to treat the rest of the routine as unreachable, resulting in a crash
on x86. I'll have to try another approach.
[compiler-rt] Add 'csan' library for the concurrency sanitizer
Summary:
Adds the runtime for the concurrency sanitizer, both CPU and GPU.
Fundamentally, this works using the following pseudocode:
```c
static u64 watchpoints[N]; // Hash-indexed, zero is empty.
// Emitted before the access, so we never trip on our own write.
void check_access(volatile void *addr, u32 size, u32 type) {
// Every access probes. A read conflicts only with a watched write, a
// write conflicts with either.
if (u64 *wp = find_watchpoint(addr, size, type))
consume(wp, this_pc()); // Hand our location to the owner.
if (!should_sample()) // Wave-uniform, 1-in-N chance.
return;
[17 lines not shown]
tarfs_test: split large file test into independent cases
This avoids globally set timeouts for the group of
tarfs_large tests on slower emulated architectures.
While here, lower each testcase's timeout to reflect
the reduction of work. On QEMU aarch64, the largest case
runs in ~500s on a modern desktop, so double that for a
conservative estimate.
Discussed with: des
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D59033
(cherry picked from commit 34c40126fd10abac06cd628c0563c57e777c9eef)
The MTP firmware needs to stay around after "loading" it; the comprocessor
that runs the firmware seems to reference the firmware image that we pass
it directly instead of making its own copy. This fixes a regression on
laptops with a dockchannel touchpad after the recent changes to apldart(4).
ok tobhe@