NAS-141815 / 27.0.0-BETA.1 / Basic tests for KMIP (#19344)
Minimal integration tests for KMIP. If approved, I'll proceed with
increasing coverage (within the reasonable limits).
[clang][AArch64] Set hardening fn attrs on synthetic functions
Compiler-synthesized functions such as `__llvm_gcov_writeout`,
`__llvm_gcov_reset` and `__llvm_gcov_init` were previously never receiving the
AArch64 hardening function attributes (ptrauth-returns, ptrauth-auth-traps,
ptrauth-indirect-gotos and aarch64-jump-table-hardening) since the
attributes were only emitted by Clang and gated by `PointerAuthOptions`
structure's corresponding fields. See `setPointerAuthFnAttributes` and
`initPointerAuthFnAttributes` member functions of `TargetCodeGenInfo`.
This patch resolves this in the same manner as #83153 does for several
other attributes. Particularly, Clang now emits corresponding 4 module
flags (conditionally on whether the related feature is enabled) with Max
behavior, and LLVM's `Function::createWithDefaultAttr` derives the matching
function attributes from them. Max behavior with conditional emission is
safe because none of these features affect ABI, so promoting an absent
flag on module merge cannot break compatibility.
[DAGCombiner] Fold NaN-guard fptosi/fptoui select to saturating variant (#201435)
Fold select (setcc X, 0, SETUO), 0, (fp_to_sint/fp_to_uint X) to
fp_to_sint_sat/fp_to_uint_sat in the generic DAG combiner, gated by
shouldConvertFpToSat. Also handles the SETO form with swapped arms, and
looks through an AND mask on the conversion result. Lit tests added for
AMDGPU and AArch64.
Assisted-by: Claude Code
AMDGPU/GlobalISel: Clean up fp LLT usage in AMDGPULegalizerInfo (#210999)
Remove local variables in favor of global F16/BF16/F32/F64/V2F16/V2BF16.
These are now proper floating point LLTs instead of LLT::scalar.
A couple of legalizer actions now use fp extended LLT for type checks.
This is intended and is planned for all floating point opcodes.
In most cases the current S16/S32/S64 action on floating point opcodes was
intended for F16/F32/F64, and we will need to define an action for BF16.
[Clang] Defaults `-Wunicode-whitespace` to an error. (#210945)
Clang accepts some Unicode whitespaces in some context. There are a few
issues with this:
- The support is incomplete and inconsistent, as illustrated in #38934
- We are not consistent with the Unicode specs (tr1, tr55) in that we
treat U+0028/0+0029 as horizontal separators while Unicode consider them
vertical.
Ultimately, Unicode whitespaces are more likely than not unintended.
Neither GCC nor MSVC support this extension.
Fixes #38934.
[SCEV][NFC] Precommit tests for MatchRangeCheckIdiom through zext (#210978)
'zext(X - 1) ult C' => 'X in [1, C+1)';
also ugt case (wrapping range)
Alive2 proof: https://alive2.llvm.org/ce/z/zcdv_2
firewall: pluginify filter_core_get_default_nat_outbound_networks() #10539
Bring a bit of structure into this legacy code: move the "plugin"
parts to its own "oubound_net" run target, collect it with the new
filter_auto_source_nat() and just iterate over it from the code
that needs this. We do all of this to provide a possible configd
target to expose the actual automatic rules skeleton to the MVC
source NAT GUI.
# pluginctl -r outbound_nat
{
"pf": {
"wan": {
"lan": "LAN networks",
"lo0": "Loopback networks",
"127.0.0.0/8": "127.0.0.0/8"
}
}
}
[libc++] Don't require complete types in vector<T>::empty() (#210754)
This was previously not required, but the patch to introduce a new
size-based vector layout unintentionally added this new requirement. We
almost certainly not want to promise this guarantee going forward, but
we should actually land this change explicitly and consider the
transition story, not do it as a fallout of another refactoring.
Fixes #210732
netinet6: keep negotiated IPv6CP IFID unchanged for link-local address
When sppp/PPPoE installs a peer-suggested IPv6CP interface identifier,
in6_ifattach_linklocal() forced EUI64 G/U bit adjustments on the
provided IFID. This unconditionally set the universal bit, rewriting a
valid negotiated IFID like ::1 into ::200:0:0:1, yielding
fe80::200:0:0:1 instead of fe80::1.
RFC 5072 Section 5 specifies that the PPP link-local address is formed
using the negotiated Interface Identifier as-is. Skip EUI64 bit
modification on point-to-point interfaces. Non-P2P callers retain
existing behaviour, while callers passing NULL continue using
in6_get_ifid().
Reported by Martin Crossley <admin AT crossleys DOT biz>.
OK stsp@
[GlobalISel] Use correct fp semantics when building constants. (#210190)
This bug can materialize as a `bfloat 1.0` becoming `0x3C00` which is
the bit pattern for `half 1.0`. After this change, `0x3F80` is correctly
returned.
The fix is to use the destination type to convert the provided
constant's semantics in `buildFConstant`. Added a unit test.
Removed `getAPFloatFromSize`, no more users.
[DirectX] Add slim debug support (#204459)
When DXC is called with `/Zs` flag, it emits "slim" debug info. It means
that ILDB section is omitted from the main DXContainer output and from
the output PDB file.
This patch reimplements similar behavior in llc, introducing
`--dx-slim-debug` flag.
Attempt to repair rx issues with the igc driver.
Our testcase uses a link between two igc ports on the same platform and forcing the issue by triggering an eee status update.
Although we found an easy trigger, there are likely other events causing the same issue. This commit replaces igc_if_init() with iflib_request_reset() calls to ensure a rebuild of RX state and publishing descriptor tails.
Setup:
sysctl net.fibs=3
ifconfig igc0 media 1000baseT mediaopt full-duplex
ifconfig igc3 media 1000baseT mediaopt full-duplex
ifconfig igc3 fib 1
ifconfig igc0 inet 10.99.99.1/30 up
ifconfig igc3 inet 10.99.99.2/30 up
test correct:
ping -t 3 -c 2 10.99.99.2
[8 lines not shown]
finance/taler-merchant: (new port) Merchant components of GNU Taler
These are the components needed to us GNU Taler as merchant (seller)
to accept payments.
misc/theme-rebellion: added tabulator.min.css to theme (#5571)
File needed for colour correction in firewall rules. de 'minned' the css for readability!