[MLIR][OpenMP] DeclareTargetInterface and DeclareTargetAttr cleanup (#217295)
The changes introduced by this patch are intended to avoid triggering
multiple by name lookups to the "omp.declare_target" attribute every
time any data from the `DeclareTargetInterface` is queried, remove the
need for keeping multiple default values for the same data, clean up the
assembly format and generally improve the usage of the interface.
List of changes:
- `DeclareTargetInterface` only provides `setDeclareTarget` and
`getDeclareTarget` methods to handle the "omp.declare_target" attribute,
maintaining a single canonical way of accessing it.
- `DeclareTargetAttr` provides direct access to the capture clause and
device type enums, rather than wrapping them into an `Attribute`. These
are now mandatory as well. Both changes together make accessing them
more straightforward and simplify the attribute representation.
[libc++] Provide aligned allocation function iff the compiler claims support (#219199)
There isn't much of a point to providing declarations for aligned
allocation functions but not allowing the compiler to use them. So
either aligned allocations should be allowed to be used via
`-faligned-allocation` or not provided at all.
firewall: add private network exclusions to default IPv6 bogons (#10125)
Allows ULA and link-local access on new systems where
the bogons haven't been updated yet.
(cherry picked from commit 14ce4ca943630136194aaf8bd4e28bd562f91cff)
firewall: add private network exclusions to default IPv6 bogons (#10125)
Allows ULA and link-local access on new systems where
the bogons haven't been updated yet.
zino: update to version 2.5.2.
Pkgsrc changes:
* version-bump + checksums + minor adjust of dependencies.
Upstream changes:
- Added explanation section to documentation covering Zino's history,
core concepts, and technical architecture
([#435](https://github.com/Uninett/zino/issues/435)) - Added
documentation for cuRitz, with screenshots.
([#568](https://github.com/Uninett/zino/issues/568))
- `--user` and the `process.user` setting now accept a numeric
`UID` or `UID:GID` or, as previously, a user name, so Zino can drop
privileges to a UID that has no entry in `/etc/passwd` (e.g. inside
a container)
- BGP sessions that go down are reported again. On routers that
send Zino an SNMP trap when a session drops, the drop was only
[16 lines not shown]
[AMDGPU] Model waterfall loop EXEC update as a terminator (#219519)
Defining a register normally disqualifies an instruction from being a
terminator, so mark it unspillable instead
Skip this at -O0, since RegAllocFast ignores that and spills right after
the def
Require a matching password secret seed to upload a configuration
## Problem
`config.save` left the password secret seed out of the backup by default, and `config.upload` accepted a database that arrived without one. Restoring such a configuration cannot decrypt anything it contains, so middleware generates a fresh (wrong) seed and wipes whatever would otherwise fail validation: UPS and email credentials, directory services config, cloud credentials, keychain credentials, VM and container device attributes, SMB user flags. Support's position is that this partial restore is never what anyone actually wants, and the handling it demands is an ongoing maintenance burden with nothing to show for it.
## Solution
- **Export the seed by default.** `secretseed` now defaults to true in the current API version only; older versions keep the default they shipped with. `{"secretseed": false}` still produces a redacted configuration for the cases where the seed must not leave the machine. This does mean the default `config.save` returns an archive rather than a bare database, since an archive is the only way to carry two files.
- **Refuse an upload that cannot decrypt its own database.** Before anything on this system is replaced, the seed has to be present, the database's `stg_pwenc_check` has to be readable and non-empty, and the seed has to decrypt it. Each failure says which part is wrong. There is deliberately no tolerant path here: the oldest configuration alembic can still migrate comes from 12.0 and the check field has been present and non-null since 9.3, so anything reaching this point without it has been edited by hand.
- **Send the uploaded database to the standby last.** The file list was built in directory iteration order, so a transfer that failed part way through could leave the peer holding a database with no seed next to it, which it would then apply at its next boot: the exact state this change exists to prevent.
`handle_db_upload_path` still copes with a seedless database, and that is intentional. The supported route into it is gone, but out-of-band staging into /data/uploaded.db is not, and generating a new secret remains the right answer when the local one is genuinely lost.
The unit tests covering the seed comparison skip themselves when the kernel has no memfd_secret, which is the case in emulated build containers. The legacy-padding case they pin is the one that matters most: check values written before the C rewrite decrypt with trailing padding, and failing to strip it would reject every configuration from 12.0 onwards.
[RISCV] Rewrite ADD to SUB to reuse a materialized negated constant (#221027)
When an ADD needs a large constant whose negation is already
present in the DAG, rewrite (add X, C) into (sub X, -C) so both
share one materialization of -C instead of building it twice.
selectNegImm already does a related rewrite, but only when -C is
strictly cheaper than C and during instruction selection, where the
sibling constant may already have been selected into instructions.
Do it in PreprocessISelDAG instead, before selection, while both are
still ConstantSDNodes that getConstant can unique together. The
rewrite only fires when -C is no more expensive than C and a node
holding -C already exists, so it never adds a materialization.
Fixes https://github.com/llvm/llvm-project/issues/220555
Assisted-by: TRAE CLI (Opus 4.8)
rpki-client: mop up a few more struct parse remnants
This drops uses of p for signed objects outside of printing. Mechanical
diff apart from the addition of a line break to avoid an overlong line
in roa_read().
ok claudio
[Flang][OpenMP] Show warning for -fdoconcurrent-to-openmp in SIMD only mode (#220943)
The OpenMP feature is considered enabled if either `-fopenmp` or
`-fopenmp-simd` have been passed. However, full OpenMP support is
required in order for the `-fdoconcurrent-to-openmp` option to take
effect.
A warning message that wasn't shown when SIMD-only OpenMP support was
enabled is fixed.
[MLIR][OpenMP] DeclareTargetInterface and DeclareTargetAttr cleanup
The changes introduced by this patch are intended to avoid triggering
multiple by name lookups to the "omp.declare_target" attribute every
time any data from the `DeclareTargetInterface` is queried, remove the
need for keeping multiple default values for the same data, clean up
the assembly format and generally improve the usage of the interface.
List of changes:
- `DeclareTargetInterface` only provides `setDeclareTarget` and
`getDeclareTarget` methods to handle the "omp.declare_target"
attribute, maintaining a single canonical way of accessing it.
- `DeclareTargetAttr` provides direct access to the capture clause and
device type enums, rather than wrapping them into an `Attribute`.
These are now mandatory as well. Both changes together make accessing
them more straightforward and simplify the attribute representation.
[lldb-dap] Fix logpoint to breakpoint conversion (#222906)
When user sets logpoint and after that removes `logMessage`, which
implicitly converts it to usual breakpoint, breakpoint still has
`BreakpointHitCallback`, which leads to missed stops.
[CGP] Clear poison generating flags when freezing icmp of constants (#223326)
Followup to https://github.com/llvm/llvm-project/pull/222314. That
PR only dropped the flags for the case where a new freeze instruction
was created, but of course we also need to do this if both operands
are constant and the freeze is dropped entirely.