[CIR] Convert null pointer constant types in target lowering (#228068)
The pass converted the cir.const result type but not the type inside its
`#cir.ptr` attribute, so the verifier rejected address-space null
constants
Reland [AArch64][CostModel] Consider some nxv1 operations as legal (#214471) (#228371)
This is allowing some operations on vscale x 1 types, namely:
- load/store
- masked load/store
- arithmetic instructions like add/sub/mul
For those, there is already codegen coverage. See e.g.
- llvm/test/CodeGen/AArch64/sve-int-arith.ll
- llvm/test/CodeGen/AArch64/sve-load-store-legalisation.ll
- llvm/test/CodeGen/AArch64/sve-masked-gather.ll
- llvm/test/CodeGen/AArch64/sve-masked-scatter.ll
These types are relevant for enabling REVEC in LoopVectorizer. For
AArch64, the main target there is turning NEON vector sizes into SVE
vector size, i.e. using VF = "vscale x 1". For loops with mixed vector
and scalar types, we'll want to allow vectorising scalar types with such
a VF.
[2 lines not shown]
[lldb][Windows] Report a process exit once the process is gone (#228115)
When a debugged process exits, lldb and lldb-server report the exit
while Windows is still tearing the process down. Its executable and DLLs
are still loaded at that point, so a test that deletes or replaces one
of them right after the exit fails with `"access denied"`. This is what
makes `TestReplaceDLL` fail on Windows CI.
This patch reports the exit only after the debugger has released the
exit event and the process has fully terminated, which matches how POSIX
reports an exit.
On a Windows 11 host, `TestReplaceDLL` fails to delete `foo.dll` in 246
out of 640 runs before the change and in 0 of 1,600 after.
rdar://188918066
NAS-144144 / 27.0.0 / Fix network.common.check_dhcp_or_aliases never rejecting unconfigured interfaces (by Qubad786) (#19909)
## Problem
The check passed a list of each interface's settings to `any()`, and a
non-empty list is always truthy, so `interface.commit` only failed when
there were no interfaces at all. Committing a config where no interface
had DHCP, IPv6 autoconfig or an address would go through and `sync()`
would unconfigure every NIC.
## Solution
Check each interface's IPv4 DHCP, IPv6 autoconfig and aliases directly,
failing only when none of them is configured.
Original PR: https://github.com/truenas/middleware/pull/19898
Co-authored-by: M. Rehan <mrehanlm93 at gmail.com>
NAS-144144 / 28.0.0-BETA.1 / Fix network.common.check_dhcp_or_aliases never rejecting unconfigured interfaces (#19898)
## Problem
The check passed a list of each interface's settings to `any()`, and a
non-empty list is always truthy, so `interface.commit` only failed when
there were no interfaces at all. Committing a config where no interface
had DHCP, IPv6 autoconfig or an address would go through and `sync()`
would unconfigure every NIC.
## Solution
Check each interface's IPv4 DHCP, IPv6 autoconfig and aliases directly,
failing only when none of them is configured.
NAS-144158 / 27.0.0 / Read NVDIMM health from the kernel instead of running ixnvdimm (by yocalebo) (#19908)
The NVDIMM alert check ran the ixnvdimm program twice for every module.
That made 24 firmware requests per module every five minutes. The check
used the results of only seven of them. Any of those requests can fail
when kernel memory is fragmented. The check now asks the kernel directly
through a new helper in utils/hardware/nvdimm.py. It makes three
requests per module on each check. Values that only change on reboot are
read once and kept. A failed request is tried one more time. If it fails
again the check keeps the alerts it already has. The three warning
threshold names now each use their own bit. ixnvdimm tested the lowest
bit for all of them.
Original PR: https://github.com/truenas/middleware/pull/19905
Co-authored-by: Caleb St. John <30729806+yocalebo at users.noreply.github.com>
Bring the wireless interface up on first setup
On a fresh system wpa_supplicant has no saved network. driver_bsd
downs the interface while it initializes and only raises it again to
scan or associate, which it never does without an enabled network.
rc does not run ifconfig up on WPA interfaces either, so the card
stayed down and wpa_supplicant sat in INTERFACE_DISABLED, refusing
scan requests with FAIL-BUSY.
When setup-nic.py declares the wlan in rc.conf for the first time, it
now marks the interface up after pccard_ether starts it, so
wpa_supplicant sees the interface enabled and starts scanning.
[clang][OpenMP] Keep 'requires' directives read from an AST file (#220058)
An OpenMP `requires` directive is recorded in Sema when the directive is
parsed
(`SemaOpenMP::ActOnOpenMPRequiresDirective`). Nothing repopulated that
list from an AST
file. A translation unit that gets its `requires` directive from a PCH
or a module
therefore behaves as if the directive were absent, and clang rejects
valid code.
`OMPRequiresDecl` is already serialized and eagerly deserialized, so the
declaration is
present in the AST. Only Sema's view of it was missing.
## Reproducer
```c++
// rev.h
[60 lines not shown]
Pull up following revision(s) (requested by skrll in ticket #501):
sys/arch/aarch64/aarch64/kobj_machdep.c: revision 1.10
aarch64: Teach kobj_reloc about R_AARCH64_LDST128_ABS_LO12_NC.
PR port-arm/60660: missing R_AARCH_LDST128_ABS_LO12_NC
From Taylor
NAS-144158 / 28.0.0-BETA.1 / Read NVDIMM health from the kernel instead of running ixnvdimm (#19905)
The NVDIMM alert check ran the ixnvdimm program twice for every module.
That made 24 firmware requests per module every five minutes. The check
used the results of only seven of them. Any of those requests can fail
when kernel memory is fragmented. The check now asks the kernel directly
through a new helper in utils/hardware/nvdimm.py. It makes three
requests per module on each check. Values that only change on reboot are
read once and kept. A failed request is tried one more time. If it fails
again the check keeps the alerts it already has. The three warning
threshold names now each use their own bit. ixnvdimm tested the lowest
bit for all of them.
Pull up following revision(s) (requested by skrll in ticket #1347):
sys/arch/mips/mips/mipsX_subr.S: revision 1.119
mips: fix rdhwr emulation wrt TLB misses on loading the faulting instruction.
Use tlbp to probe the TLB for an entry for the page containing the
instruction to emulate, and fail to slow path if it doesn't exist.
A TLB miss (nested exception) on the instruction load would otherwise
land in user_gen_exception and clobber this routine's v0, since the
exception PC isn't saved again while EXL is set.
PR/60664 mips: rdhwr emulation corrupts v0 on nested TLB miss...
This patch is based on the diff included in the PR, but updated by me
to improve register save / restore in both the fast and slow paths.
The mf* instructions in user_gen_exception_common are shuffled down
[5 lines not shown]
Pull up following revision(s) (requested by skrll in ticket #500):
sys/arch/mips/mips/mipsX_subr.S: revision 1.120
sys/arch/mips/mips/mipsX_subr.S: revision 1.119
mips: fix rdhwr emulation wrt TLB misses on loading the faulting instruction.
Use tlbp to probe the TLB for an entry for the page containing the
instruction to emulate, and fail to slow path if it doesn't exist.
A TLB miss (nested exception) on the instruction load would otherwise
land in user_gen_exception and clobber this routine's v0, since the
exception PC isn't saved again while EXL is set.
PR/60664 mips: rdhwr emulation corrupts v0 on nested TLB miss...
This patch is based on the diff included in the PR, but updated by me
to improve register save / restore in both the fast and slow paths.
[10 lines not shown]
[Offload][OpenMP] Keep user Numblocks requested value for RecordReplay (#228345)
RecordReplay still uses the Numblocks value requested by the user so
keep passing that value through the PluginInterface for now.
Fixes issue introduced by #222607
[OpenMP] Corrects the setting of the Static_Steal schedule with `omp_set_schedule` (#227236)
Static-steal is considered a valid OMP scheduler by `kmp_runtime.cpp`'s
`__kmp_set_schedule` function. But when trying pass it to the setter, we
end up with a failure because it was not added to the `__kmp_sch_map` in
`kmp_global.cpp`.
This PR adds a test that each schedule in `kmp.h` can be set and gotten
by `omp_set_schedule` and `omp_get_schedule`, which fails with static
steal and a fix for `__kmp_sch_map`. To deal with static-steal set this
way with `ordered` loops, I added similar handling as with setting
static steal as an environment variable: gets converted to dynamic,
nonmonotonic when initialising the loop, so when combined with `ordered`
simply dynamic scheduling is used. A test that static-steal with
`ordered` works was added, which used to hang before adding this
handling.
This PR was made with AI assitance. All code was reviewed and where
necessary modified by myself.
Pull up following revision(s) (requested by tsutsui in ticket #1346):
sys/dev/ic/rtl8169.c: revision 1.184
re(4): fix mangled TX queue on DMA map loading errors
Do not advance the TX queue producer index when bus_dmamap_load_mbuf()
fails.
The producer index must advance only after a packet has been
successfully committed to a TX queue entry. Advancing it on a
map loading error leaves a hole in re_txq[], while re_txq_free()
still counts only successfully queued packets.
re_txeof() assumes that all outstanding TX queue entries from
re_txq_considx are contiguous, so such a hole can make it process
an unused entry and corrupt the TX queue accounting.
This bug was introduced by my re_encap() -> re_start() refactoring
in rev. 1.59 back in 2006. Sorry it took ~20 years to notice it.
Pull up following revision(s) (requested by tsutsui in ticket #499):
sys/dev/ic/rtl8169.c: revision 1.184
re(4): fix mangled TX queue on DMA map loading errors
Do not advance the TX queue producer index when bus_dmamap_load_mbuf()
fails.
The producer index must advance only after a packet has been
successfully committed to a TX queue entry. Advancing it on a
map loading error leaves a hole in re_txq[], while re_txq_free()
still counts only successfully queued packets.
re_txeof() assumes that all outstanding TX queue entries from
re_txq_considx are contiguous, so such a hole can make it process
an unused entry and corrupt the TX queue accounting.
This bug was introduced by my re_encap() -> re_start() refactoring
in rev. 1.59 back in 2006. Sorry it took ~20 years to notice it.
Pull up following revision(s) (requested by skrll in ticket #498):
sys/arch/mips/include/intr.h: revision 1.14
sys/arch/mips/mips/mips_fixup.c: revision 1.30
mips: tag all the stub functions as __noubsan
When built with UBSAN the stub functions change to the point that the
mips_fixup_addr code doesn't understand the instructions involved.
Apply __nousbsan to avoid this.
PR//60779: Kernel complains about unexpected mips insn on boot...
[libsycl] Generic code cleanup (#224330)
- aligns SYCL API parameter names with specification
- fixes doxygen keywords used in comments
- applies CamelCase to all non-SYCL 2020 vars and methods
- applies generic recomendations from LLVM coding standards
- fixes missing or redundant headers
- adds detail namespace to the helpers if missed
- a few tests were renamed to match their content
Assisted-by: Claude Code.
---------
Signed-off-by: Tikhomirova, Kseniya <kseniya.tikhomirova at intel.com>
Run the installer in a MATE session instead of marco and feh
The .xinitrc named a wallpaper, so the installer's background was a path
in this repo rather than whatever GhostBSD ships, and it had drifted from
the mountain-sunset.jpg ghostbsd-mate-settings sets as the default.
mate-session now supplies the theme, fonts, cursor and wallpaper.
The session is trimmed to the window manager, since the panel and the
file manager have nothing to offer during an installation. Both keys are
root's own dconf, so the live user's session keeps the full desktop.
show-desktop-icons has to be off: with no caja to draw the desktop,
mate-settings-daemon paints the wallpaper, and only right away when that
key is false.
The empty autostart directory keeps tray applets and update notifiers
out. install-station is still the client X waits on, so quitting it hands
the boot back to rc.
Pull up following revision(s) (requested by skrll in ticket #497):
sys/arch/mips/mips/mips_fixup.c: revision 1.27
sys/arch/mips/mips/mips_fixup.c: revision 1.28
sys/arch/mips/mips/mips_fixup.c: revision 1.29
mips: address some UB in mips_fixup.c (part 1)
PR/60780 (UBSan complains about left-shifting outside of int type range)
mips: address some UB in mips_fixup.c (part 2)
PR/60780 (UBSan complains about left-shifting outside of int type range)
Fix previous and make it less ugly in the process
PR/60780 (UBSan complains about left-shifting outside of int type range)
Pull up the following, requested by nia in ticket #496:
external/mit/expat/dist/conftools/compile up to 1.3
external/mit/expat/dist/conftools/ar-lib up to 1.3
external/mit/expat/dist/conftools/config.guess up to 1.9
external/mit/expat/dist/conftools/config.sub up to 1.8
external/mit/expat/dist/conftools/depcomp up to 1.3
external/mit/expat/dist/conftools/install-sh up to 1.3
external/mit/expat/dist/conftools/ltmain.sh up to 1.3
external/mit/expat/dist/conftools/missing up to 1.3
external/mit/expat/dist/conftools/test-driver up to 1.3
external/mit/expat/dist/doc/xmlwf.1 up to 1.3
external/mit/expat/dist/doc/Makefile.in up to 1.3
external/mit/expat/dist/examples/Makefile.in up to 1.3
external/mit/expat/dist/lib/Makefile.in up to 1.3
external/mit/expat/dist/lib/hash_table.h up to 1.1.1.1
external/mit/expat/dist/tests/benchmark/Makefile.in up to 1.3
external/mit/expat/dist/tests/Makefile.in up to 1.3
external/mit/expat/dist/tests/hash_tests.c up to 1.1.1.1
[124 lines not shown]