InstCombine: Fold known-qnan results to a literal nan
Previously we only considered fcNan to fold to qnan for canonicalizing
results, ignoring the simpler case where we know the nan is already
quiet.
[test][NFC] Add more keys to test SDKSettings files (#177538)
Every time DarwinSDKInfo reads a new key out of SDKSettings, a boatload
of test SDKSettings files need to be updated across several repositories
and forks and branches. It’s tedious to be careful to update those with
real values so that the tests are properly regression testing older
SDKs. It’s important to be careful so that the tests are accurate, e.g.
to prevent the scenario where DarwinSDKInfo starts reading a new key out
of SDKSettings and assumes that it’s always available everywhere, when
in reality it was only added a few releases ago and will break with
older SDKs. If the test SDKSettings files continue to be updated ad hoc,
it’s going to be really easy to copy/paste a default value everywhere,
and then clients will see incorrect behaviors with the real SDKs, or
even compiler crashes if the key is unconditionally read. Preemptively
add all of the maybe-possibly-compiler relevant keys to the test
SDKSettings files from the real SDKs so that the test files are an
accurate representation and shouldn't need to be touched in the future.
Where the test SDKSettings have intentionally doctored data, add a
Comments key explaining what is changed from the real SDK, and alter the
SDK name with a tag indicating the change.
[WebAssembly] Fix exception handling initialization order in TargetMachine constructor (#177542)
The WebAssemblyTargetMachine constructor had an ordering issue where
initAsmInfo() was called before basicCheckForEHAndSjLj(). This caused
problems in incremental compilation scenarios where:
1. `initAsmInfo()` sets `MCAsmInfo` exception type based on
`Options.ExceptionModel`
2. But `Options.ExceptionModel` might still be None at this point
3. `basicCheckForEHAndSjLj()` runs later and updates
`Options.ExceptionModel`
based on command-line flags like `-wasm-enable-eh`
4. `MCAsmInfo` retains the incorrect exception type (`None` instead of
`Wasm`)
5. This prevents WebAssembly exception handling passes from running
The fix swaps the order so basicCheckForEHAndSjLj() runs first to
establish the correct exception model before initAsmInfo() configures
MCAsmInfo based on that model.
[2 lines not shown]
Do the TX ring space check before packet dequeue. The early check
removes possible bus_dmamap_unload() and dequeue rollback in the output
path.
Also set the maximum TX segments count to 20. jmatthew@ pointed that
existing value of 128 is too big. I checked others and found, that NetBSD
uses 128 as we do and FreeBSD uses 20, so I used 20. May be this value is
also too big, but it could be decreased at any moment.
Tested on RPI4.
ok jmatthew@
net/gorss: update the port to version 0.5
- Convert PLIST_FILES into a static `pkg-plist'
which is 10 lines long after adding new themes
- Cache generated `files/modules.txt' for Golang
1.23+ as explained in the commit 024490a280d1
net/gorss: update the port to version 0.5
- Convert PLIST_FILES into a static `pkg-plist'
which is 10 lines long after adding new themes
- Cache generated `files/modules.txt' for Golang
1.23+ as explained in the commit 024490a280d1
[ELF] Set vna_flags to VER_FLG_WEAK if all references are weak (#176673)
When all undefined references to a version are weak, set vna_flags to
VER_FLG_WEAK in the .gnu.version_r section. This enables glibc ld.so to
report a warning instead of an error when the required version is not
found at runtime, supporting optional dependencies.
Per https://sourceware.org/bugzilla/show_bug.cgi?id=24718#c20 ,
glibc rtld since 2.30 (BZ #24741) tolerates missing versioned symbols
when the runtime shared object defines the required version. With this
vna_flags VER_FLG_WEAK change, rtld can also tolerate a completely
missing version, printing a message like:
```
% LD_PRELOAD=c2.so ./a
./a: /tmp/t/v2/c2.so: weak version `v1' not found (required by /tmp/t/v2/b.so)
a
```
[2 lines not shown]
[Flang][OpenMP][Offload] Modify MapInfoFinalization to handle attach mapping and 6.1's ref_* and attach map keywords
This PR is one of four required to implement the attach mapping semantics in Flang, alongside the
ref_ptr/ref_ptee/ref_ptr_ptee map modifiers and the attach(always/never/auto) modifiers.
This PR is the MapInfoFinalization changes required to support these features, it mainly deals with
applying the correct attach map type and manipulating the descriptor types maps for base address
and descriptor so that when we specify ref_ptr/ref_ptee we emit one of the two maps and when we
emit ref_ptr_ptee we emit our usual default maps. In all cases we add the "glue" of an new
attach map except in cases where a user has provided attach never. In cases where we are
provided an always, we apply the always map type to our attach maps.
It's important to note the runtime has a toggle for the auto map behaviour, which will flip the
attach behaviour to the newer semantics or the older semantics for backwards compatability (outside
the purview of this PR but good to mention).
mail/msmtp: remove ca_root_nss dep
msmtp 1.8.2[0] onwards selects the system trust store by
default when TLS is enabled, so ca_root_nss is no longer
necessary.
Other minor changes:
* PORTVERSION -> DISTVERSION
* enable test suite
* simplify Makefile style
[0] https://marlam.de/msmtp/news/msmtp-1-8-2/
Reviewed by: novel
Approved by: lwhsu (mentor)
Signed-off-by: Siva Mahadevan <siva at FreeBSD.org>
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D54720
mail/msmtp: remove ca_root_nss dep
msmtp 1.8.2[0] onwards selects the system trust store by
default when TLS is enabled, so ca_root_nss is no longer
necessary.
Other minor changes:
* PORTVERSION -> DISTVERSION
* enable test suite
* simplify Makefile style
[0] https://marlam.de/msmtp/news/msmtp-1-8-2/
Reviewed by: novel
Approved by: lwhsu (mentor)
Signed-off-by: Siva Mahadevan <siva at FreeBSD.org>
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D54720
[lldb] Fix data buffer regression in ObjectFile (#177724)
This fixes a regression in `ObjectFile` and `ObjectFileELF` introduced
by #171574.
The original code created a `DataBuffer` using `MapFileDataWritable`.
```
data_sp = MapFileDataWritable(*file, length, file_offset);
if (!data_sp)
return nullptr;
data_offset = 0;
```
The new code requires converting the `DataBuffer` to a `DataExtractor`:
```
DataBufferSP buffer_sp = MapFileDataWritable(*file, length, file_offset);
if (!buffer_sp)
[11 lines not shown]
[CodeGen][NPM] Specify Loop pass adaptor to not use MSSA (#176690)
this needs to be done since "loop-mssa" adapter assumes all passes that
are part of it to preserve MSSA, CanonicalizeFreezeInLoopsPass doesen't
do this. I'm not really sure of the history here (about having two
variants of loop pass adatpters)
[bazel] Fixes for compiler-rt Bazel build rules (#177287)
Update the compiler-rt arch-specific file groups to include `.h` file
extensions. At least `arm` and `ppc` have these, and seems better to be
consistent and defensive.
Also add `5` to model list for outlined atomics, matching CMake.