[VPlan] Expand WideCanIV into executable recipes (#191219)
Expand VPWidenCanonicalIVRecipe into executable recipes via
convertToConcreteRecipes, making the necessary adjustments to
VPlanUnroll, eliminating VPUnrollAccessor and
VPWidenCanonicalIVRecipe::execute entirely.
Gateway Groups: convert to MVC (#10205)
Code performs an inline migration and updates only some callers that directly depended on the old configuration bits. Some convenience functions have been added to GatewayGroups.php to allow for easy configuration access and to satisfy some of the caller demands.
In addition, this code Adjusts the gateway_watcher to now trigger based on Gateway Group trigger level as well, limiting the amount of times alarms/alerts are being generated (and thus potentially unnecessary fw reconfigurations).
[VectorCombine] Fix iterator invalidation in foldSelectShuffle (#197914)
A loop in foldSelectShuffle walked shuffles with a range-for while
push_back-ing into the same SmallVector. Once the inner pushes grew the
vector past its current heap capacity the buffer was reallocated,
leaving the range-for iterator dangling.
Iterate the original entries by index instead.
Fixes #197910
Fixes #196709
asmc: fix asmc_key_dump() page fault on T2 MMIO backend
asmc_key_dump() used I/O port macros (ASMC_DATAPORT_WRITE/READ,
asmc_command()) unconditionally. On T2 Macs, sc_ioport is NULL
(MMIO backend is used instead), causing a page fault when
ASMC_DEBUG triggers asmc_dumpall() during attach.
Add an MMIO guard at the top of asmc_key_dump(): delegate to
asmc_key_dump_by_index() + asmc_key_read() for MMIO devices,
consistent with the rest of the T2 code paths.
Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D56748
Update Unicode tables to Unicode 18.0. (#198255)
We are currently on Unicode 15.0, this updates to Unicode 18. Unicode
18.0 is currently in Beta so some properties could change. However the
name are stable and the probability of other property changing is very
low.
---------
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
[X86] combineVectorInsert - attempt to merge consecutive constant insertions (#198273)
If we have 2 INSERT_VECTOR_ELT nodes in sequence (DAGCombine should have
sorted these into ascending indices), then if they are both inserting
constant scalars, attempt to concat the scalars together and insert the
wider constant.
Reduces gpr pressure, gpr->vec traffic and (total) encoding size
[libc] Disable newly added -Wfenv-access clang warning (#198303)
Added in #187860, the warning triggers on existing libc code. This
unbreaks the precommit bots.
[flang][OpenMP] Change return type of Enter from bool to void, NFC (#198299)
Some of the overloads of the "Enter" functions in OmpStructureChecker
are declared with bool as the return type. The actual return type of
Enter is void, and if there is any value returned, it will be ignored.
Change the return type to void for the several functions that return
bool.
[AArch64][SelectionDAG] Fold late FCMP+CSEL patterns to FMAXNM/FMINNM during AArch64 DAG-to-DAG preprocessing. (#197429)
This patch adds a late AArch64 SelectionDAG peephole for scalar
floating-point patterns:
```
fcmp x, C
fcsel x, C
```
When the pattern is ordered, uses a non-NaN constant C, and the variable
operand is known never-sNaN, it is folded directly to FMAXNM/FMINNM. The transform requires `nsz` only when C is zero, to avoid signed-zero
mismatches.
The transform is intentionally performed in _AArch64DAGToDAGISel::PreprocessISelDAG_ rather than DAGCombine.
Doing it earlier can be invalidated by later DAG combines that rewrite
the defining operation of the operand.
webshell: replace sudo gating with per-shell-type RBAC + audit
The shell websocket handler used to wrap VM/APP/CONTAINER commands in
`sudo -H -u <user>` for users without ALL-sudo, then run unwrapped
otherwise. In practice the wrapped form failed at root-owned libvirt/
docker sockets, so authorization was effectively "do you have
unrestricted sudo?" — coarse, surprising, and not auditable. The reason
why we did this historically was because the shell feature here was
added before we actually had RBAC.
Replace it with an explicit role gate keyed on the requested shell type:
HOST -> web_shell privilege only (unchanged) -- login as user
VM -> web_shell + VM_WRITE
CONTAINER -> web_shell + CONTAINER_WRITE
APP -> web_shell + APPS_WRITE
`auth.get_token_for_shell_application` now takes the shell_type and
returns structured errors (WEB_SHELL_DENIED, MISSING_ROLE) along with
[11 lines not shown]
[lldb][gdb-remote] Send executable path with native separators in vRun (#197942)
When running the tests with `LLDB_USE_LLDB_SERVER=1`, the lldb-server
gdb-remote vRun packet sends the executable path in FileSpec's
normalised form (forward slashes). On Windows the inferior's `argv[0]`
therefore uses '/', while the program path in the setup uses '\\'.
CreateProcessW accepts either spelling, so the inferior runs fine but
the strict-equality assertion fails.
This will not work for UNC paths (`\\server\foo.exe` cannot be converted
to `//server/foo.exe`).
This patch uses `GetPath(/*denormalize=*/true)` so that the path uses
native separators. This is a no-op with POSIX style paths.
This fixes 3 lldb-dap tests on Windows when running with
`LLDB_USE_LLDB_SERVER=1`.
webshell: replace sudo gating with per-shell-type RBAC + audit
The shell websocket handler used to wrap VM/APP/CONTAINER commands in
`sudo -H -u <user>` for users without ALL-sudo, then run unwrapped
otherwise. In practice the wrapped form failed at root-owned libvirt/
docker sockets, so authorization was effectively "do you have
unrestricted sudo?" — coarse, surprising, and not auditable. The reason
why we did this historically was because the shell feature here was
added before we actually had RBAC.
Replace it with an explicit role gate keyed on the requested shell type:
HOST -> web_shell privilege only (unchanged) -- login as user
VM -> web_shell + VM_WRITE
CONTAINER -> web_shell + CONTAINER_WRITE
APP -> web_shell + APPS_WRITE
`auth.get_token_for_shell_application` now takes the shell_type and
returns structured errors (WEB_SHELL_DENIED, MISSING_ROLE) along with
[11 lines not shown]
[VPlan] Apply flags, metadata when executing scalar casts (NFC) (#195629)
The change is non-functional because scalar casts are only ever created
by VPlanConstruction, which are turned into wide or replicate recipes
prior to execution. The change is in preparation to make scalar casts
flow through unconverted.
[flang][OpenMP] Change return type of Enter from bool to void, NFC
Some of the overloads of the "Enter" functions in OmpStructureChecker
are declared with bool as the return type. The actual return type of
Enter is void, and if there is any value returned, it will be ignored.
Change the return type to void for the several functions that return
bool.