[NFC][SLP] Precommit tests for ordered fadd-reduction FMA-fusion cost (#210835)
Baseline coverage for an ordered fadd-of-fmul reduction that is
currently vectorized even on FMA-capable targets, breaking the scalar
fmul + fadd -> fma fusion. A follow-up teaches the reduction cost model
to account for the lost fusion and keep these reductions scalar, at
which point these CHECK lines update. Covers X86 avx2, AMDGPU gfx90a and
NVPTX sm_80.
It is a pre-requisite for
https://github.com/llvm/llvm-project/pull/210399
Assisted-By: Claude Opus 4.8
[docs] Clean up migrated Clang InternalsManual markup
Replace migrated blockquote markup in InternalsManual.md with MyST definition lists where the surrounding text is semantically a term-and-definition list.
[docs] Rename selected Clang docs to Markdown
Rename 18 Clang documentation files from .rst to .md. The clang-format generated docs are split into users/rnk/clang-format-md-rename and users/rnk/clang-format-md-write for separate review.
[docs] Clean up migrated Clang InternalsManual markup
Replace migrated blockquote markup in InternalsManual.md with MyST definition lists where the surrounding text is semantically a term-and-definition list.
[docs] Rename selected Clang docs to Markdown
Rename 18 Clang documentation files from .rst to .md. The clang-format generated docs are split into users/rnk/clang-format-md-rename and users/rnk/clang-format-md-write for separate review.
[LoopInfo][LCSSA] Handle token-like values (#210816)
Token-like values have many (but not all) of the same restrictions as
regular token values.
They do however inherit the restriction on being placed in PHI and thus
they need to be
treated like regular tokens in LCSSA.
AI Disclosure: Written by GPT 5.6 - flagged during GPT 5.6 review of
#151062 rebase.
firewire: replace magic numbers with named constants
No functional change.
Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D58311
firewire: force root change when root node is not cycle master capable
When a FireWire bus resets, all devices negotiate who is the new boss.
when we detect the root node can't be cycle master,
we send a PHY config packet that forces a reelection.
Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D58309
firewire: drain pending xfers after callout stop in detach
Removes a TODO that predates the existing drain call.
Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D58308
ld.elf_so: Mark new variables __debugused, not __diagused.
They are used in ld.elf_so builds with DEBUG, not with DIAGNOSTIC!
PR bin/60469: bin/60469: assertion "ALIGNED_P(q, obj->tlsalign)"
failed: file "/usr/src/libexec/ld.elf_so/tls.c", line 333
firewire: add warn-only CRC validation for CSR ROM directories
Implemented crom_crc_valid() helper to validate IEEE 1394 config ROM CRC-16
checksums.
Skipped root header CRC validation since csrhdr.crc_len cover the entire
ROM body which is not fully read at header parse time. Per-directory
CRC checks below catch corruption where it needed.
Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D58307
net80211: update drivers to allocate sequence numbers in the raw path
A bunch of drivers weren't properly converted. I mistakenly
put a call to ieee80211_output_seqno_assign() wherever the
crypto header was added, which isn't exactly correct.
There are plenty of drivers which don't share enough of their
raw and normal transmit path code for that to hold true.
So after some manual review, it looks like I've captured the
places (outside of iwn(4) which I committed earlier) where
I missed ieee80211_output_seqno_assign() calls.
* For bwi(4) and bwn(4) I refactored it out into a place that is
common enough and happens in the same lock hold window,
so it's serialised.
* For the rest, it's just plain missing from the raw path.
Locally tested:
[6 lines not shown]
[CIR] Refactor lowerUnion so unions get laid out consistently (#210709)
Perennial and a few other examples I came up with showed some situations
where we were bad at layout in CIR for unions. Sometimes we'd omit the
required fields, or miscalculate the storage type, or just not constant
init it correctly. This is mostly because we copy/pasted our
implementation from classic-codegen, but have different invariants.
This patch consistently adds ALL fields to the cir::UnionType, so we
always represent with all, which is an assumption we make elsewhere.
The lowerUnion function is significantly rewritten as the previous
version had a lot of interdepencies between loop runs. This patch
separates it out in a way that has less cyclic complexity which will
hopefully be more readable with minor/little compile-time impact.
This maintains the non-virtual-base functionality as well, though it
does it by collecting the fields like we do for the normal union case,
then just erases them. This greatly simplifies the calculation of
[3 lines not shown]
[lldb/script] Remove verbose comments following c4962f5721a3 (NFC) (#210827)
This removes verbose comments from c4962f5721a3 following a post-merge
comment.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
aq(4): Document the Atlantic 2 (AQC113/114/115/116) devices
List every AQC part aq_vendor_info_array[] probes, each with the
maximum speed aq_hw_capabilities() grants it.
Only the Atlantic 2 parts link at 10 Megabit. The AQC100 and AQC100S
are the only SFP+ controllers; the rest are twisted pair.
Reviewed by: adrian, ziaee
Signed-off-by: Nick Price <nick at spun.io>
Differential Revision: https://reviews.freebsd.org/D58144
[CIR] Fix how we lower bitfield constants (#210791)
My patch to change the type of a const missed that there is a difference
between how we were representing a bitfield (always as an int) in the
constant, and in the struct(as a byte array).
This patch makes sure we correctly match the storage type, and just
requires packing/unpacking arrays when we store it.