graphics/aoi: deprecate for expiration
Version from 2013, 13 years behind on upstream
no users in the tree
not actively maintained
please email the maintainer if you use this
Approved by: no maintainer
[OpenMP][MLIR] Add virtual collapse for constant static worksharing (#235822)
This patch adds virtual collapse for OpenMP loop nests in
`OpenMPIRBuilder` and enables it in Flang through MLIR-to-LLVM IR
translation. It retains the physical nest and decodes the start of each
assigned logical range once.
This is the first patch in a proposed series, introducing the basic
functionality. Virtual collapse is enabled by default when these
conditions hold:
- Host standalone worksharing with `collapse(2)` and directly nested
loops.
- Constant normalized trip counts.
- Static or default scheduling without a chunk size.
- No `ordered` or `linear` clauses.
Other cases retain the existing lowering. Follow-up patches will extend
the supported cases. Flang can opt out with `-mmlir
[9 lines not shown]
[compiler-rt][Darwin] Add SANITIZER_ macros for individual Darwin OSes (#237765)
`SANITIZER_IPHONEOS` is now exactly `TARGET_OS_IOS` (iOS only), while
`SANITIZER_IOS` (derived from `TARGET_OS_IPHONE`) remains "iOS-like".
Also add `SANITIZER_VISIONOS` for `TARGET_OS_VISION`.
Update the shared macOS-aligned mapping computation to use the new
macro.
Assisted-By: Claude
rdar://191534752
[Offload] Add multi-device testing (#233387)
This PR changes the way our fixtures group devices - instead of grouping
each device separately, we group compatible devices into a vector.
`OFFLOAD_TESTS_INSTANTIATE_DEVICE_FIXTURE` still has the same behavior -
a test is instantiated for each device separately, but
`OFFLOAD_TESTS_INSTANTIATE_MULTI_DEVICE_FIXTURE` can be used so a test
is instantiated with many `std::vector<ol_device_handle_t> Devices`. I
kept `ol_device_handle_t Device`, so single device tests stay simple.
For now I added simple memcpy tests, later we can add more complex tests
with kernels that communicate across devices. Such tests might require
additional APIs to express p2p connection between devices though.
Assisted with: claude
[CodeGen] Lower differences from __ImageBase to image relative references on MinGW (#237118)
`TargetLoweringObjectFileCOFF::lowerRelativeReference` returned early
for Cygwin and MinGW, so a constant of the form `ptrtoint(X) -
ptrtoint(__ImageBase)` reached the object writer as a plain symbol
difference and failed with `symbol '__ImageBase' can not be undefined in
a subtraction expression`. MSVC targets lower the same expression to
`X at IMGREL`, an `IMAGE_REL_AMD64_ADDR32NB` relocation
The early return looks inherited and not decided. The transform was
added in dee105772c5b (D2523) behind `isTargetWindows()`, which then
meant MSVC only. 98117a47e649 (D47783) moved it into the shared COFF
code and wrote the MinGW and Cygwin exclusion explicitly, and
2f07c2e9d9cc turned it into `isOSCygMing()`. GNU ld has defined
`__ImageBase` since 2008 and lld defines it too, and the object file
only needs the relocation, so there is no reason to treat the
environment differently
The MinGW cases are added to `llvm/test/MC/COFF/ir-to-imgrel.ll` and
[7 lines not shown]
[mlir] Improve signed div/rem integer range inference (#238124)
div/rem by zero is poison so instead of bailing on zero-crossing ranges
union final range from the strictly positive and strictly negative
subranges.
AI-assisted, obviously.
editors/openoffice-devel: build using openjdk21
Build openoffice-devel with build using openjdk21.
PR: 300455
Reported by: Ronald Klop <ronald at FreeBSD.org>
libunwind: Use libgcc's function context layout for sjlj
Make call_site an i32 and the __data words pointer
sized. compiler-rt's SjLj_Function_Context was not defined in the same
way as libgcc.
This was broken for all 64-bit targets. Every field was i32, so the
exception pointer in __data[0] was truncated. It just happens that no
64-bit target defaults to SJLJ exceptions except VE. Instead of fixing
that, a VE special case was introduced in the libunwind sources and
SjLjEHPrepare, which had a special TargetMachine hook for this data
size. In reality it should just be a uintptr_t which we can already
infer from the DataLayout.
This is an ABI break for 64-bit targets other than VE when using
libunwind built for SjLj: the __data, personality, lsda and jbuf
offsets move, so compiled code and libunwind must be updated
together. That configuration was already broken by the pointer
truncation and is not the default anywhere. 32-bit targets are
[4 lines not shown]
[libc++] Implement LWG4294: bitset(const CharT*) constructor needs to be constrained (#238119)
LWG4294 constrains bitset's `const charT*` constructor to char-like
types. While libc++ already checked `_IsCharLikeType`, the trait was
missing the non-array requirement from [strings.general].
Because of this, checking `std::is_constructible<std::bitset<N>, const
char(*)[2]>` hit a hard compile error inside `basic_string` instead of
evaluating to false.
This adds the missing `!is_array` check to `_IsCharLikeType`, adds a
test covering the constraints, and updates Cxx26Issues.csv.
Fixes #171336
Report failover steps in vrrp_master progress
This commit adds changes to report the current failover step in the vrrp_master job's progress extra field so TrueNAS Connect can show users what a failover is doing. The existing progress descriptions are left untouched since the webUI and failover.status depend on them.
(cherry picked from commit cb19178fab6f1c16b3a2a49925ff84c094b2528e)
[AMDGPU] Fix codegen for workgroup.id.* calls in chain CC functions (#236305)
Architected SGPRs are available to resolve workgroup IDs in chain called
functions.
---------
Co-authored-by: Reem Elkhouly <Reem.Elkhouly at amd.com>
NAS-141528 / 28.0.0-BETA.1 / Report failover steps in vrrp_master progress (#20106)
This commit adds changes to report the current failover step in the
vrrp_master job's progress extra field so TrueNAS Connect can show users
what a failover is doing. The existing progress descriptions are left
untouched since the webUI and failover.status depend on them.
[ORC] Restrict JITLoaderPerf LLVM_ALWAYS_EXPORT to Linux (#238241)
PR #237756 added LLVM_ALWAYS_EXPORT to both the Linux and non-Linux stub
definitions in JITLoaderPerf.cpp, breaking static Windows MSVC builds
(https://lab.llvm.org/buildbot/#/builders/flang-x86_64-windows) with
C2375 because LLVM_ALWAYS_EXPORT expands to __declspec(dllexport) while
LLVM_ABI in JITLoaderPerf.h is empty.
Perf JIT support is Linux-only, so drop LLVM_ALWAYS_EXPORT from the
non-Linux stub definitions.
Assisted-by: Gemini
[C++20] [Modules] Don't judge the accetability of a function for whose definition is reduced (#238239)
Close https://github.com/llvm/llvm-project/issues/237418
The root cause of the issue is, when clang tries to judge if a
function's definition is acceptable or not, the body of the function is
removed in reduced BMI.
The solution here is to judge the acceptability of the function itself
instead.
uchcom: validate baud rate in uchcom_pre_param
Check the requested baud rate in uchcom_pre_param() instead of working
around it in uchcom_calc_baudrate(), where a rate of 0 caused a
divide-by-zero. The pre_param callback is the proper place for this check.
Reviewed by: aokblast
Differential Revision: https://reviews.freebsd.org/D61127
www/py-recaptcha: Deprecate
Python 2 code for the reCAPTCHA v1 API, which was shut down.
While here, fix portlint warnings.
Set the EXPIRATION_DATE to the beginning of next month. Since the API
has been shut down, I don't expect anyone to care though.
PR: 299951
Submit usage statistics once a day and gather space cheaply
## Problem
Usage statistics were submitted at a random time after every middleware start, so reboots, restarts and failovers could send them more than once a day.
Gathering also walked every dataset and zvol on every pool and read space properties for each one, when only counts, root dataset space, zvol `used` and the `used` of backed-up datasets were needed. The per-pool entries only had `capacity`, so used and free space couldn't be told apart, and `data_without_backup_size` summed `used` over every dataset, counting nested data once per level.
## Solution
- **Submit at most once every 24 hours.** The time of the last successful submission is kept in keyvalue, `usage.start` only submits once 24 hours have passed since then, and the next run is scheduled for 24 hours after it. When nothing is saved yet the clock starts from now, so nothing is sent for 24 hours after an upgrade or a first install. On HA, a run that falls due while the node isn't master waits another 24 hours. `usage.start` is started on `system.ready` rather than from setup, because plugin setup runs before pools are imported at boot and a run due then would gather without pools and record that as a successful submission.
- **Report used and available space for each pool.** `gather_pools` queries `zpool.query_impl` for the pools in `storage.volume` and reports `capacity`, `used` and `available` from the pool's `usable`, `used` and `available` properties. `capacity` therefore changes meaning, from root dataset used + available to pool `usable`, and none of these match `zfs list` because of slop space and special/dedup vdev accounting. dRAID vdev types are normalised to `draid`.
- **Measure data without backup against the space actually used.** `data_without_backup_size` is now the sum of root dataset `used` minus the backed-up size, clamped at 0 since a backed-up dataset and its child are both counted.
- **Gather without reading properties of every dataset.** Datasets and zvols are counted with a fast libzfs iteration in a private `zfs.resource.count_impl`, so the cost is one simple ioctl per dataset, one full lookup per zvol, one query per pool root and one query per backed-up dataset. Restricted runs, with usage collection off, get cheaper too. A backup source that can't be queried is logged and skipped rather than dropping all the backup stats.
- **Test the counts.** An api2 test checks that a dataset with a child and a zvol move the dataset and zvol counts and the zvol total size.