[flang][NFC] Converted five tests from old lowering to new lowering (part 19) (#182554)
Tests converted from test/Lower/forall: forall-construct-4.f90,
forall-construct.f90, forall-ranked.f90, forall-slice.f90,
forall-stmt.f90
[lldb][Process/FreeBSDKernel] Print unread message buffer on start (#178027)
This is equivalent of kgdb_dmesg() in fbsd-kvm.c in FreeBSD kgdb(1)
port. Unread kernel messages is only printed in interactive mode (i.e.
not in batch mode) to mimic KGDB's behaviour.
Example output:
```
➜ sudo ./build/bin/lldb /boot/kernel/kernel -c /var/crash/vmcore.last
(lldb) target create "/boot/kernel/kernel" --core "/var/crash/vmcore.last"
Unread portion of the kernel message buffer:
panic: kdb_sysctl_panic
cpuid = 1
time = 1769364579
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe01b435fa20
vpanic() at vpanic+0x136/frame 0xfffffe01b435fb50
panic() at panic+0x43/frame 0xfffffe01b435fbb0
[16 lines not shown]
[llvm-mca][Darwin] Fix crash on .subsections_via_symbols in asm input (#182694)
## Summary
This PR fixes an llvm-mca crash on Darwin assembly containing
`.subsections_via_symbols`. The directive is forwarded by
`DarwinAsmParser` to `emitSubsectionsViaSymbols()`, which crashes when
it hits the base `MCStreamer` `llvm_unreachable` path. The fix adds a
no-op override in `llvm/tools/llvm-mca/CodeRegionGenerator.h`, scoped to
llvm-mca only
## Problem manifestation
I ran across this while tinkering around with making an interactive
interpreter/code analyzer and implementing apple silicon support.
## Root cause
- `DarwinAsmParser::parseDirectiveSubsectionsViaSymbols` calls
[77 lines not shown]
[SelectionDAG] Emit error instead of asserting for unsupported FP_EXTEND (#182660)
Replace the assertion failure in
`DAGTypeLegalizer::SoftenFloatRes_FP_EXTEND` with a user-friendly error
when no libcall is available for the requested
Fix
Replace the `assert` with an `emitError` call that reports the
unsupported
conversion gracefully and returns a poison value
Fixes: #182449
libc: Roll {l,ll,imax}abs(3) manpages into just abs(3)
No need to have 4 separate manpages for these functions. Use opportunity
to change parameter names in the source from j -> i to reflect the name
used in POSIX. (The ISO C standard uses j but i is a better name
anyway.)
Reviewed by: des, rpokala
Approved by: rpokala
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D55361
games/widelands: Update to release 1.3.1
This point release fixes a severe multiplayer desync found in Widelands 1.3.
Note that it is not possible to combine the versions 1.3 and 1.3.1 in a
network game.
libc: Roll {l,ll,imax}div(3) manpages into just div(3)
No need to have 4 separate manpages for these functions.
Reviewed by: ziaee, rpokala, des
Approved by: rpokala, des
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D55360
slab.h: disable completely broken overflow handling in flex allocations
Commit 69050f8d6d07 ("treewide: Replace kmalloc with kmalloc_obj for
non-scalar types") started using the new allocation helpers, and in the
process showed that they were completely non-working.
The overflow logic in overflows_flex_counter_type() is completely the
wrong way around, and that broke __alloc_flex() completely. By chance,
the resulting code was then such a mess that clang generated
sufficiently garbage code that objtool warned about it all. Which made
it somewhat quicker to narrow things down.
While fixing overflows_flex_counter_type() would presumably fix this
all, I'm excising the whole broken overflow logic from __alloc_flex(),
because we don't want that kind of code in basic allocation functions
anyway.
That (no longer) broken overflows_flex_counter_type() thing needs to be
inserted into the actual __set_flex_counter() logic in the unlikely case
[7 lines not shown]
Move nvidia_present endpoint to system advanced namespace
This commit adds changes to move nvidia_present endpoint to system advanced namespace as the nvidia logic has been moved there from docker namespace and is no longer only relevant here.
Eliminate datastore threadpool executor
This commit removes the datastore plugin threadpool executor
that was serializing all database reads / writes inside a single
thread. Instead it is replaced with per-thread SQL connection
objects with generation tracking (for noting when we need to
reopen the database due to config file upload). Reads are
MT-safe, writes are serialized behind a threading lock primarily
for the purposes of enterpise HA and cross-node database
consistency.
[BOLT] Always place new PT_LOAD after existing ones (#182642)
Insert new PT_LOAD segments right after the last existing PT_LOAD in the
program header table, instead of before PT_DYNAMIC or at the end. This
maintains the ascending p_vaddr order required by the ELF specification.
Previously, new segments could end up breaking PT_LOAD p_vaddr order
when PT_LOAD segments followed PT_DYNAMIC or PT_GNU_STACK. This lead to
runtime loader incorrectly assessing dynamic object size and silently
corrupting memory.
[clang-format] Add per-operator granularity for BreakBinaryOperations (#181051)
## Summary
Extend `BreakBinaryOperations` to accept a structured YAML configuration
with per-operator break rules and minimum chain length gating via
`PerOperator`.
- **Per-operator rules**: specify break style (`Never`, `OnePerLine`,
`RespectPrecedence`) for specific operator groups
- **Minimum chain length**: only trigger breaking when a chain has N or
more operators
- **Fully backward-compatible**: the simple scalar form
(`BreakBinaryOperations: OnePerLine`) behaves identically to the current
enum value
RFC discussion:
https://discourse.llvm.org/t/rfc-per-operator-granularity-for-breakbinaryoperations/89800
[30 lines not shown]
[profcheck][CVP] Adding 'unknown' branch weights for `urem` expansion in CVP (#180637)
This change ensures that !prof metadata is preserved and scaled
appropriately when the `CorrelatedValuePropagation` (CVP) pass expands
an expensive `urem` instruction into a sequence of `icmp`, `select`, and
`sub`.
In the RP, we add the `unknown`(50/50) branch weights for the new
`select` based on the original instruction's profile data.
Co-authored-by: Jin Huang <jingold at google.com>