modify the serializeToConfig to set the uuid of the new network ident… (#10600)
* modify the serializeToConfig to set the uuid of the new network identifier instead of the internal random generated uuid
* Update src/opnsense/mvc/app/models/OPNsense/Interfaces/NetworkInterface.php
Co-authored-by: Ad Schellevis <AdSchellevis at users.noreply.github.com>
* remove the exception if the node reference is not found
---------
Co-authored-by: kemoycampbell <ksc2650 at rit.edu>
Co-authored-by: Ad Schellevis <AdSchellevis at users.noreply.github.com>
Fix ProcessELFCore::GetProcessInfo() to return expected results. (#210807)
Getting the process info from ProcessELFCore would always return the
information from the prpsinfo.pr_psargs from the NT_PRPSINFO. This meant
if the process was launched with a symlink, the process info would
always claim the main executable was the symlink. We want the process
info's executable to always be the resolved executable when possible.
The DynamicLoaderPOSIXDYLD was using the process info to load the main
executable if it wasn't set, or it was comparing if the main
executable's module spec matched the process info, and if it didn't
match it would end up trying to load the main executable using the
process info. We also ask for the UUID from the process before trying to
use the process info to replace the executable in
DynamicLoaderPOSIXDYLD::ResolveExecutableModule().
[NVPTX] Lower allocas to the local address space (#204346)
Alternative to #201772.
When SelectionDAG expands a small memcpy/memmove/memset it can raise the
alignment of the
destination stack object, but only when the destination is a bare
FrameIndex. Since #121710,
NVPTX treats allocas as assumed-local, and InferAddressSpaces rewrites
the intrinsic
operands to addrspacecasts. ISel no longer sees the frame index, the
alignment isn't raised,
and small unaligned copies are expanded byte-by-byte. We observed up to
1.9x slower kernels
in JuliaGPU/CUDA.jl#3162.
#201772 fixed this in SelectionDAG by looking through addrspacecasts to
recover the stack
object. Per review feedback there, this PR takes a different approach:
[39 lines not shown]
[clang][test] Add Darwin pragma weak alias IR coverage (#211499)
Add Clang IR coverage for `#pragma weak alias = target` on Darwin.
The test verifies that Clang:
- emits the alias with weak linkage;
- keeps calls referencing the alias instead of replacing them with the
aliasee.
This is a test-only follow-up to #198148 and covers the Clang lowering
path used by #111321.
Clarify metadirective local DSA check
- Evaluate non-static locals directly where references under DEFAULT(NONE) are
checked.
- Keep using the ultimate symbol so a nested data-sharing clause other than
PRIVATE still creates the required reference in the enclosing construct.
llvm-mca: Stop defaulting to "native" for the CPU (#211612)
This would warn whenever using a triple that isn't for the host
architecture. Other tools don't do this. Copy what llc does and
default to no cpu.
[flang][OpenMP] Switch TableGen generation to use llvm::EnumSet
Replace the remaining uses of the common::EnumSet-based OmpClauseSet to
llvm::omp::ClauseSet.
Specialize IterateOverMembers instead of ClauseSetToString
There was still a use of common::EnumSet::IterateOverMembers left
over after the prior changes. Get rid of it via the specialization,
and revert the specialization of ClauseSetToString, which was
originally implemented using IterateOverMembers.
[flang] Provide "clause set" type as parameter to DirectiveStructureChecker
This will remove the hardcoded dependence of DirectiveStructureChecker on
the common::EnumSet class. Both consumers of it will be able to use their
own type for the clause set.
The only complication was the ClauseSetToString member function, whose
implementation depended on the specifics of common::EnumSet, namely the
IterateOverMembers member function. It was moved out of the class, and
turned into a function template to make it possible to provide different
specializations for common::EnumSet and llvm::EnumSet.
[flang][OpenMP] Use llvm::omp::DirectiveSet instead of common::EnumSet
Replace uses of OmpDirectiveSet (defined in terms of common::EnumSet)
with the common llvm::omp::DirectiveSet (defined via llvm::EnumSet).
The llvm::omp::DirectiveSet class will also be used in openmp-parsers,
where OmpDirectiveSet was an instance of llvm::Bitset.
[flang][OpenMP] Use llvm::omp::ClauseSet instead of common::EnumSet
Replace uses of OmpClauseSet (defined in terms of common::EnumSet)
with the common llvm::omp::ClauseSet (defined via llvm::EnumSet).
[OpenMP] Implement EnumSet container
This is close to flang's common::EnumSet with the difference being that
it provides forward iterators.
The reason for having an implementation that is separate from
common::EnumSet is that this is intended to be shared for all consumers
of llvm/lib/Frontend/OpenMP. This class is also planned to be one of the
core containers for representing auto-generated OpenMP data in the future.
[flang][cuda] Fix CUFPredefinedVarToGPU for a shared builtin address_of (#211628)
`CUFPredefinedVarToGPU` rewrites references to the predefined CUDA
builtins (`threadidx`/`blockidx`/`blockdim`/`griddim`) into GPU special-register
reads. For each predefined-var `fir.declare` it also erased the declare's
backing `fir.address_of`. That assumed every declare owns a
private `address_of`, which is only true before CSE. Once a single
`fir.address_of` of a builtin is shared by several `fir.declare`s — e.g.
after a `device` routine is inlined into a `global` kernel and CSE coalesces the
duplicated `address_of` ops — the pass queued that one op for deletion
once per declare and erased it while another declare still used it, thus aborting
compilation with `'fir.address_of' op operation destroyed but still has uses` error.
With this PR, the backing ops are collected into a de-duplicated set and
erased after all predefined declares are gone, and only when `use_empty()`.
This makes the deletion safe regardless of how many declares share an
`address_of`, and leaves it untouched if any other user remains.