[Bazel] Configure macOS Support capabilities (#218186)
Match CMake and LLVM GN for 3 macOS capablities.
These are safe to assume because these are invariants of the macOS SDK
and Darwin: arc4random is declared, the __crashreporter_info__
annotation is supported, and struct stat exposes st_mtimespec.tv_nsec.
[CIR] Skip ABI classification for an incomplete-record declaration
A `cir.func` declaration whose signature carries an incomplete record
by value caused the pass to fail the whole module.
C++ requires a complete type at any call or definition, so only a declaration
can carry this shape, and no translation unit anywhere can ever call or define
it with real argument data. Classic CodeGen skips full ABI lowering rather than
attempting one. We now leave such a declaration unclassified and match classic.
Assisted-by: Cursor / claude-opus-5
[flang][OpenACC] Reject valued gang/worker/vector outside kernels (#218695)
`gang(num:)`, `worker(n)`, and `vector(n)` are only valid on a loop
associated with kernels, and then only if that kernels construct does
not already specify `num_gangs`, `num_workers`, or `vector_length`.
Stop shipping /etc/wall_cmos_clock in the image
The file makes the kernel read the RTC as local time, so the clock is
off by one UTC offset on any machine whose RTC keeps UTC. That applied
to the live session and to every install, since the install is a cpdup
of the live system and nothing in the installer revisited the file.
pc-sysinstall now creates or removes it from the utcClock= config key,
so the image no longer has to pick a side, and the live session gets a
correct clock while the installer is running. Machines that really do
keep local time in the RTC, which in practice means dual-booting
Windows, are handled by the installer front-end instead.
Resolves: ghostbsd/issues#390
Claude-Session: https://claude.ai/code/session_017h6mzC2bNskrWN2bHoYLzs
DAG: Fix null dereference in visitABD for poison constant elements (#218766)
visitABD calls ISD::matchUnaryPredicate with AllowUndefs=true, which
passes a null ConstantSDNode to the predicate lambda for each undef or
poison element.
Co-authored-by: Claude (Claude-Opus-4.8)
misc/mmv: use upstream release abd clean up port
Use upstream release archive as recommended by Porters Handbook and
clean up port
PR: 297921
Reported by: diizzy
[flang] - Call _FortranAAssignSimple instead of _FortranAAssign for intrinsic-type array assignments (#213705)
This patch adds support for calling _FortranAAssignSimple, a faster-path
for array assignments. `_FortranAAssignSimple` is called when ALL the
following conditions are true:
1. Intrinsic element type (not derived type)
2. Matching ranks (no scalar-to-array broadcasting)
3. Non-volatile
4. Not polymorphic
5. Not explicit-length character
6. Not temporary LHS
Otherwise, uses `_FortranAAssign` (or specialized variants like
`_FortranAAssignPolymorphic`, `_FortranAAssignExplicitLengthCharacter`).
This is the final part of the fix for
https://github.com/llvm/llvm-project/issues/203915
---------
Co-authored-by: Claude Opus 4 (1M context) <noreply at anthropic.com>
[MLIR][ODS] Print prop-dict fields with custom printers
Generate a key-value prop-dict printer that dispatches each field to its ODS
printer while retaining attribute conversion for non-compositional default
parsers.
Keep operation-specific property printer hooks ahead of the generated
implementation and preserve legacy input compatibility.
Update the OpenACC cache checks for the generated custom property spelling.
Assisted-by: Codex
[RISCV] Add additional conditions for signed icmp cases when canonicalizing masks for VL-predicate (#218068)
Fixes #217500
Previously in #214877 we added a mask canonicalization to make it easier
for the mask-consuming instructions to use VL-predicated instead. But
the transformation will be incorrect if the icmp against boundary value
is signed. Specifically, the problem arises if `%base + %offset` is
negative. This patch fixes this issue by guarding `%base + %offset` to
ensure this expression (1) never overflow, and (2) is non-negative.
Alive2 Proof: https://alive2.llvm.org/ce/z/L2M_LL
[CIR] Drop the callconv opt-out from 4 more CIR tests
These four CIR tests now compile and check clean with x86_64 calling-convention
lowering on, unblocked by the packed-record (#218505) and vptr-record (#218457)
work. Stripping the flag moved zero CHECK lines: the output the pass produces
for these four is exactly what was already pinned.
Assisted-by: Cursor / claude-opus-5
git-arc: Handle -h on subcommands and align usage with the man page
git-sh-setup treats -h as help against an empty USAGE, so
"git arc create -h" prints "usage: git arc". Handle -h before
sourcing it so every subcommand prints the real synopsis.
The create, stage, and update synopses showed optional commit-refs
while git-arc(1) and the code require them. Advertise -p parent on
create; the option was already implemented and documented.
Sort create sub-command option-arguments alphabetically in three
places: (1) synopsis from tool, (2) man-page synopsis, and (3)
man-page description.
Check for jq(1) / arc after checking for usage so -h always works.
While here, fix missing "local o" in gitarc__stage().
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D59129
[MLIR][ODS] Parse prop-dict fields with custom parsers
Teach generated operation parsers to accept a key-value spelling for
prop-dict and dispatch known fields through their ODS parsers. Keep the
DictionaryAttr spelling as a compatibility path and use attribute
conversion when a property has no usable FieldParser.
Exercise FieldParser specialization dispatch with an existing test-dialect
storage type so incremental and sharded builds regenerate the operation code
that selects it.
See #155475
Assisted-by: Codex
[MLIR][WasmSSA] Enable strict property assembly format (#217285)
Enable the strict properties assembly format mode for the WasmSSA
dialect. Spell import operation type and limit metadata directly in the
assembly formats so those inherent attributes are not parsed from
attr-dict in strict mode.
Assisted-by: Codex
[LV] Mask all links of a partial-reduction chain when tail-folding. (#215875)
transformToPartialReduction takes the reduction's mask from the
tail-folding select (select(mask, update, phi)), which by construction
only exists for the link that is the reduction's exit value. Links
earlier in the chain currently partially accumulate unconditionally.
If any lanes are masked off by tail-folding, the masked off value
(usually poison) propagates to active lanes, poisoning the result.
IIUC this is currently benign on SVE today, where ld1b p/z zeroes the
inactive lanes, but it is unsound at the IR level and does not hold for
targets whose masked loads leave the tail undisturbed.
Fall back to the header mask for the remaining links.
PR: https://github.com/llvm/llvm-project/pull/215875
yamusic-tui-git: Add git package for yamusic-tui
yamusic-tui is a terminal user interface for the YAMusic music
server. It provides browsing and searching of the library,
playback with progress and volume control, lyrics display, and
playlist management, all from within a terminal.
[mlir][LLVM] Use a disjoint scope domain when inlining noalias
This matches recent changes to the LLVM inliner.
AI disclosure: Claude wrote the code, I wrote the commit message and
have done initial review.
[mlir][LLVM] Add disjointScopes to AliasScopeDomainAttr
This also updates the MLIR-side inliner to clone disjoint domains
while cloning alias scopes, matching changes to LLVM.
AI disclosure: Claude wrote the code, I wrote the commit message and
looked at the code.
[AMDGPU] Use a disjoint scope domain for merged LDS structs
When lowering LDS values, all the values are mutually disjoint, so we
can use the newly-added disjoint scopes feature to simplify the IR.
AI disclosure: Claude wrote this and I reviewed it and wrote the
commit message