[flang][OpenMP] Lower DO, SIMD, and DO SIMD metadirective variants
A standalone metadirective and its associated loop are represented as
sibling PFT evaluations. For example:
```
!$omp metadirective &
!$omp& when(user={condition(flag)}: do) &
!$omp& otherwise(nothing)
do i = 1, n
a(i) = i
end do
```
has the following evaluation shape:
```
METADIRECTIVE
DO
[25 lines not shown]
devel/py-pyfcm: Update to 2.1.1
Add the dependencies pulled in by the move to the FCM HTTP v1 API:
aiohttp, google-auth and urllib3.
While here, join MAINTAINER and COMMENT back into a single header block
and expand pkg-descr, both of which portlint complained about.
misc/codex: Restore apply_patch functionality
There is no FreeBSD sandbox code for this, so enable symlinks as
0.148.0 and prior used to for now.
PR: 297802
Approved by: tagattie
[LLVMABI][AARCH64] Handle records that cannot be passed in registers (#217689)
This adds AArch64 handling in the LLVM ABI library for classifying
record arguments as Indirect when the record type cannot be passed in
registers.
The `getRecordArgABI` function was already implemented in the
`TargetInfo` base class, making this a trivial update.
Assisted-by: Cursor / Grok 4.5 (test generation)
www/p5-Mojo-IOLoop-Delay: Deprecate and set expiration date
Mojolicious 9.0 dropped delays from the core in favour of Mojo::Promise,
and upstream keeps this distribution only for backwards compatibility.
www/p5-Mojo-IOLoop-ForkCall, which is expiring on the same date, was its
last consumer in the tree.
www/p5-Mojo-IOLoop-ForkCall: Deprecate and set expiration date
Deprecated by its author in favour of the Mojolicious core module
Mojo::IOLoop::Subprocess; last released as 0.21 in March 2021.
sysutils/znapzend was the last consumer in the tree and stopped using it
in 0.21.1.
www/p5-Mojo-IOLoop-ForkCall: Deprecate and set expiration date
Deprecated by its author in favour of the Mojolicious core module
Mojo::IOLoop::Subprocess; last released as 0.21 in March 2021.
sysutils/znapzend was the last consumer in the tree and stopped using it
in 0.21.1.
sysutils/znapzend: Drop unused Perl dependencies
Upstream replaced Mojo::IOLoop::ForkCall with Mojo::IOLoop::Subprocess in
0.21.1, and IO::Pipely was only ever pulled in as a dependency of
ForkCall. Neither is referenced by the sources any more; the remaining
mentions are in CHANGES and in the bundled thirdparty/ cpanfile
snapshots, which this port strips before building.
sysutils/znapzend: Drop unused Perl dependencies
Upstream replaced Mojo::IOLoop::ForkCall with Mojo::IOLoop::Subprocess in
0.21.1, and IO::Pipely was only ever pulled in as a dependency of
ForkCall. Neither is referenced by the sources any more; the remaining
mentions are in CHANGES and in the bundled thirdparty/ cpanfile
snapshots, which this port strips before building.
www/p5-Mojo-IOLoop-Delay: Deprecate and set expiration date
Mojolicious 9.0 dropped delays from the core in favour of Mojo::Promise,
and upstream keeps this distribution only for backwards compatibility.
www/p5-Mojo-IOLoop-ForkCall, which is expiring on the same date, was its
last consumer in the tree.
[flang][OpenMP] Lower DO, SIMD, and DO SIMD metadirective variants
A standalone metadirective and its associated loop are represented as
sibling PFT evaluations. For example:
```
!$omp metadirective &
!$omp& when(user={condition(flag)}: do) &
!$omp& otherwise(nothing)
do i = 1, n
a(i) = i
end do
```
has the following evaluation shape:
```
METADIRECTIVE
DO
[25 lines not shown]
[flang][OpenMP] Lower DO, SIMD, and DO SIMD metadirective variants
A standalone metadirective and its associated loop are represented as
sibling PFT evaluations. For example:
```
!$omp metadirective &
!$omp& when(user={condition(flag)}: do) &
!$omp& otherwise(nothing)
do i = 1, n
a(i) = i
end do
```
has the following evaluation shape:
```
METADIRECTIVE
DO
[25 lines not shown]
[LICM] Ignore AA tags on conditional stores in scalar promotion. (#218031)
One of the key aspects of scalar promotion, as done in LICM, is that the
store is always unconditional: it executes even if the store in the loop
didn't execute. This makes the aliasing check more complicated: we need
to ensure that it's okay to both sink the store out of the loop, and
speculatively execute the store.
For the sinking, it's fine to use AA tags, but for speculatively
executing the store, it's a problem: AA tags are only meaningful for
operations that actually execute at runtime. Existing code will strip
the AA tags from the generated store, but still used them for the
aliasing checks.
The new isStrongerThanMonotonic() checks don't affect correctness; this
change is just moving the checks earlier because of the way the
AliasSetTracker data structure works.
Fixes #60860. Fixes #217052.
[VPlan][Predicator] Preserve some uniform control flow
Implements "Partial Control-Flow Linearization" by Simon Moll and
Sebastian Hack. Does **NOT** improve predication/masking yet, so
applicability is artificially narrowed, only some uniform branches are
preserved. In particular, the following is left for future PRs:
* Block masks still contains now-unnecessary term for the preserved
uniform branches.
* Mixed blends/phis aren't supported yet. Detecting where they would be
necessary is as complex as implementing proper support (which would
need either Luke's `reconstructSSA` or Iterated Dominance Frontier),
so we also limit it to a trivial/structured CFG where there's only
single block where those would need to be inserted.
I think even the current version might be enough to start implementing
an alternative to https://github.com/llvm/llvm-project/pull/141900 (see
BOSCC in the paper).
[libc] Implement clock_getcpuclockid on Linux. (#218531)
Implement `clock_getcpuclockid` POSIX function by mimicking the Linux
kernel conversion of pid_t to the clockid_t, and validating the result /
permissions with `clock_getres` syscall. Add the corresponding syscall
wrapper for the latter.
[mlir][ROCDL] Enable useStrictPropertiesInAssemblyFormat (#216813)
**Migration note:** Separate out inherent and discardable attributes
on your `rocdl.*` operations and put a `<>` around the inherent ones.
This commit adds `prop-dict` clauses to all the ROCDL-dialect
operations that have inherent attributes but don't have better syntax
for them.
I looked at creating better syntaxes here, but these are fairly
low-level operations and it was hard to put together comma-separated
lists of optional arguments in tablegen. So I've gone with the rather
straightforward and consistent fix of adding in `prop-dict`s.
AI note: Claude did the changes here, I reviewed the designs.
Co-Authored-By: Claude Opus 5 (1M context) <noreply at anthropic.com>
---
[5 lines not shown]
bsd.init.mk: always define _gid when MK_INSTALL_AS_USER is set
A recent commit started to use _uid and _gid in <bsd.dirs.mk> to
mangle the user and group for newly installed directories when
MK_INSTALL_AS_USER is set. However, _gid was previously only set
when _uid was not 0, causing the group to be set to the empty
string.
Set _uid and _gid together to avoid this problem.
Fixes: 541e6e2d516b6c9d3681b24464e9ef53c1f2579a
PR: 297841
Reviewed by: emaste, imp
Reported by: Ralph Zitz <ralph at zitz.dk>
Differential Revision: https://reviews.freebsd.org/D59150
bsd.init.mk: always define _gid when MK_INSTALL_AS_USER is set
A recent commit started to use _uid and _gid in <bsd.dirs.mk> to
mangle the user and group for newly installed directories when
MK_INSTALL_AS_USER is set. However, _gid was previously only set
when _uid was not 0, causing the group to be set to the empty
string.
Set _uid and _gid together to avoid this problem.
Fixes: 541e6e2d516b6c9d3681b24464e9ef53c1f2579a
PR: 297841
Reviewed by: emaste, imp
Reported by: Ralph Zitz <ralph at zitz.dk>
Differential Revision: https://reviews.freebsd.org/D59150