[Clang][NFC] Improve ConstraintSatisfaction (#230369)
This reduces size of ConstraintSatisfaction and
ASTConstraintSatisfaction, from 184 bytes to 32 bytes and from 8 bytes
to 4 bytes respectively.
As a result this has to convert SatisfactionCache from a
ContextualFoldingSet to DenseMap to get rid of unused template argument
list on stack.
Hopefully this could improve our RSS consumption when deducing template
arguments (we have to pay an extra ConstraintSatisfaction cost even no
concepts are involved)
TableGen: Describe intrinsic attributes with IR Attributes definitions
Once upon a time attributes were not declared in tablegen. The backend
tablegen components grew a separate IntrinsicProperty system parallel
to the IR attributes and the emitter maintained a not-quite 1:1
mapping system between them. This is a step towards unifying the
attributes and intrinsic properties.
Intrinsic properties that correspond directly to an IR attribute now
name the Attributes.td record they imply. CodeGenIntrinsic collects
the records generically instead of decoding each property into a
dedicated bool or ArgAttrKind enum value, and the emitter prints the
attribute name from the record rather than maintaining a manual
property to attribute mapping.
Properties with special behaviors (memory effects, Throws,
IntrHasSideEffects, Commutative, IntrTriviallyScalarizable) are still
handled individually. Throws should really be replaced especially
given we have a list of default intrinsic attributes that could add
[3 lines not shown]
SPIRV: Don't define named AccessQualifier records (#237596)
The AccessQualifier records ReadOnly and WriteOnly were never
referenced by name and collide with the attribute names in
Attributes.td. It happens the backend doesn't include that today but
I'm planning on changing that.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
kqueue: stream the knote report instead of buffering all of it
kern_proc_kqueues_out() sized its intermediate sbuf from the preceding
sizing pass, so dumping core for a process with many knotes wired a
buffer as large as the entire report.
Shrank the intermediate to one page and added a drain that copied into
the caller's sbuf up to maxlen, stopping the walk once it was reached.
Truncation stayed byte exact.
A dump of 384k knotes peaked at 20 KB of M_SBUF instead of 445 MB.
Reviewed by: adrian, markj
Differential Revision: https://reviews.freebsd.org/D58584
MFC after: 1 week
(cherry picked from commit 9590878fca68e62c63d607da73139698e204d0f0)
kqueue: fix the always-empty NT_PROCSTAT_KQUEUES core note
sbuf reserves a byte of its buffer for the terminator, so the sbuf
created with maxlen held one byte less than the sizing pass had
computed. The last record overflowed it, sbuf_bcat() failed, and the
error == 0 guard skipped the copy into the caller's sbuf, so the note
has been emitted at full size but zero filled since 5e7c43ff02dc.
Fixes: 5e7c43ff02dc
Reviewed by: adrian, markj
Differential Revision: https://reviews.freebsd.org/D58583
MFC after: 1 week
(cherry picked from commit 5078280bb42c00eecffeabf93706c145e87b4b2b)
Attributor: Deduce noundef returns if poison-generating attributes hold
Instead of giving up on noundef for returns with poison-generating
attributes, check that the attributes are assumed to hold for all
returned values. This uses the Attributor's own deductions for the
returned values (AANonNull, AAAlign, AAValueConstantRange and
AANoFPClass), so e.g. a range only known from a callee is enough.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
net-p2p/rtorrent: Warn about renamed config commands on upgrade
rtorrent 0.16 renamed several configuration commands (e.g.
network.port_range.set -> network.listen.port.range.set), so
configurations from earlier versions may fail at startup. Add an
upgrade pkg-message pointing users to rtorrent.conf.sample.
PR: 300316
Reported by: Benoit Felix <benoit.felix at outlook.com>
MFH: 2026Q4
(cherry picked from commit 53c1ff04d4ae1c7ee54af9e3b541f3c0bfc387bd)
tests/if_geneve: Fix ether_ipv6_blind_options flakiness
This test could fail under load due to lack of no_dad before.
PR: 299448
Reported by: siva
Fixes: aa9f669d09a7 ("geneve: Add tests for geneve")