Revert "[clang][CodeGen][X86_64] Honor per-function AVX ABI in C/C++ call paths, maintain old psABI for PlayStation." (#210303)
Reverts llvm/llvm-project#193298
Causes a major compile-time regression.
[lldb][x86] Remove GCC 6 workaround (#210317)
Added by 3bea7306e8669f94bacafae68748a9139cfc0b98.
We now require GCC >= 7.4 so it can be removed.
I tested a standalone reproducer with GCC 7.3 and
clang 5. Neither have the problem.
https://godbolt.org/z/3zKrT9c8s
Standalone reproducer:
```
struct Base {
Base(int) {}
};
struct Derived : virtual Base {
#ifdef WORKAROUND
[13 lines not shown]
vm_page: Fix dequeue on arches with weak ordering
A vm_page's a.queue field records the page queue index for the page
queue to which the page belongs. The PGA_ENQUEUED flag indicates
whether the page is actually enqueued in that queue's TAILQ. When
modifying the a.queue field, you need to hold the page queue lock for
the queue corresponding to the old value, unless the old value is
PQ_NONE.
Suppose a managed page is freed. vm_page_free_prep() calls
vm_page_dequeue_deferred(), which checks whether the page belongs to a
queue; if so it schedules an asynchronous dequeue operation so that page
queue lock acquisitions can be batched if possible.
The dequeue operation must be completed before the page's plinks.q
fields are reused. So, during page allocation, we call
vm_page_dequeue() to finish the dequeue operation. Similarly, since the
buddy allocator uses the plinks.q fields for its own internal linkage,
vm_freelist_add() calls vm_page_dequeue().
[17 lines not shown]
[LLVM][SVE] Add MachineInst pass to coalesce PTRUE instructions. (#204820)
SVE predicate registers contain a bit for each byte of a data register.
When operating on bigger element types the overlaping predicate bits are
grouped together but typically only the least-significant-bit is read as
part of the operation. This means the value of the other bits does not
affect the operation, making it possible to use the result of PTRUE for
a larger element typed operation, assuming the predicate patterns are
equivalent. For example:
ADD_S (PTRUE_H 31), Z0, Z1 == ADD_S (PTRUE_S 31), Z0, Z1
AArch64PTrueCoalescingPass uses this fact to reduce the number of PTRUE
instructions in a function, with the general trend towards needing a
single PTRUE based on the smallest element type in use.
NOTE: The pass will be enabled by default using a dedicated PR to make
it easier to revert if something goes wrong.
system: use btn styles in services widget #10553
This damps the colors a bit and auto-decides on the
text color to use. Hover will still use the previous
color. People will not like this either, but this is
entirely in the scope of the theme to make it look
nice.
ktimer: Check for errors from realtimer_gettime()
clock_gettime(CLOCK_TAI) can fail, leaving *ovalue uninitialized.
Reported by: Hazley Samsudin of GovTech CSG
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D58225
system: compact and align dashboard style for #10553
This started with the service widget but the current style is a
bit constrained in what we can show and what not. Divider layout
changes have consequences in gauge widgets too. CSS changes
are bit too intrusive but it's impossible to move out of them
without it.