[KnownFPClass] Refine known classes for `KnownFPClass::bitcast` (#215708)
`KnownFPClass::bitcast` should now be optimal (for ieee and bf16 types).
It is now able to correctly determine the `KnownFPClass` of any constant
value*. For non-constants, it is now able to rule out normal, and
subnormal results, in addition to ruling out specifically `qNaN`/`sNaN`
based off of the quiet bit.
I also added unit tests for `KnownFPClass::bitcast`.
AI Disclosure:
I used ChatGPT Codex (sol 5.6) to help generate the tests, which I
reviewed, built, and tested locally.
*Prior to this commit `KnownFPClass::bitcast` was unable to fully deduce
constants such as positive infinity:
```
/home/zerico/programming/llvm-project/llvm/unittests/Support/KnownFPClassTest.cpp:46: Failure
Expected equality of these values:
[6 lines not shown]
[KnownFPClass] Refine powi KnownFPClass deductions (#218581)
Adds deductions for when the `base` is known never negative-normal nor
negative-subnormal. Similar to the deductions added for `pow`
https://github.com/llvm/llvm-project/pull/215592.
AI Disclosure:
I used ChatGPT Codex (Sol-5.6) to help write tests, which I reviewed and
tested locally.
icewm: add -enable-menus-fdo configure option
This allows for building an XDG compliant menu in icewm,
if $XDG_DATA_DIRS is set to `/usr/pkg/share`.
This requires glib2 as build dependency for icewm.
nfsclient: Add a new nfs_client_rdma_enable variable
This patch adds a new nfs_client_rdma_enable variable
to /etc/rc.d/nfsclient to enable the client side of
NFS over RDMA. The client side of NFS over RDMA
requires the nfsclrdma.ko module, which is still under
test/review.
I wanted to get the "glue" into main so that others
could test the module more easily. Avaliability of
the module will be announced on freebsd-current@ soon.
It should not affect non-RDMA operation.
I've specified a long MFC, since the module still
requires extensive testing and, hopefully, a review.
MFC after: 3 months
[ADT] Remove FoldingSet's void * insert position API (#219845)
FindNodeOrInsertPos/InsertNode/GetOrInsertNode/RemoveNode and the
encode/decode helpers behind them are gone; use
lookup/insert/getOrInsert/erase with FoldingSetInsertToken.
LLM-aided
devel/scons4: Update to 4.11.1
Tested on NetBSD 10 amd64:
geography/gpsd builds and passes tests
databases/mongodb4 builds
Take MAINTAINERSHIP.
* 4.11.1
FIXES
Revert the change to the internal implementation of reading a
saved-Variables file. This also undoes the minor API change made when
the change was introduced in SCons 4.11.0: in that release is was
possible to use a top-relative path in the Variables() call when giving
the name of a file (that is, a path that begins with #). This is once
again disallowed. The plan is to reintroduce this change in a future
[71 lines not shown]
[ORC] Drop redundant ExecutionSession& arg from lookupAndApply (#219797)
The ExecutionSession& can be retrieved from the first element of the
SearchOrder.
This changes behavior in a corner case: An empty SearchOrder always
fails on a non-empty PrepareFns list, even if all symbols added would
have been weakly referenced, because no ExecutionSession& is available
to intern the symbol names. An empty SearchOrder is pathological, so
this seems like a reasonable trade-off.
nfscl: Add some glue for client side NFS over RDMA
This patch adds assorted bits needed by the nfsclrdma.ko
module that implements client side NFS over RDMA.
With this commit, the glue required by the nfsclrdma.ko
module is complete and it should load ok.
It should not affect non-RDMA operation.
I've specified a long MFC, since the module still
requires extensive testing and, hopefully, a review.
MFC after: 3 months
[RegAllocFast] Use getOneDef() in traceCopyChain(). NFC (#219850)
getUniqueVRegDef() finds one defining instruction, while getOneDef()
finds one def operand and is inlined.
(They differ for a register defined twice by one instruction but
RegAllocFast does not support that shape in defineVirtReg().)
[VPlan] Fold trivial bitcasts. (#219849)
Fold trivial bitcasts in VPlan. This avoids special handling when
constructing SCEV expressions (which folds such trivial casts), and
ensures we can close the gap between IR-based SCEV analysis and
VPlan-based SCEV analysis. This is important going forward to make sure
we can replace existing IR analysis without regressions.
krpc: Add some glue for client side NFS over RDMA
This patch adds assorted bits needed by the nfsclrdma.ko
module that implements client side NFS over RDMA.
It should not affect non-RDMA operation.
Some additional glue is needed for the nfsclrdma.ko
module within the NFS code. That will be added as
a separate commit.
I've specified a long MFC, since the module still
requires extensive testing and, hopefully, a review.
MFC after: 3 months
forgejo-runner: import forgejo-runner-13.0.0 as devel/forgejo-runner
Daemon that connects to a Forgejo instance and runs jobs for continuous
integration. The installation and usage instructions are part of the
Forgejo documentation.