[libc] Use a syscall wrapper for clock_settime (#238738)
This PR move clock_settime behind the centralized syscall wrappers,
following libc/docs/dev/syscall_wrapper_refactor.md.
[libc] Use a syscall wrapper for clock_gettime (#238737)
This PR move clock_gettime behind the centralized syscall wrappers,
following libc/docs/dev/syscall_wrapper_refactor.md.
[lld][COFF] Mirror ELF LTO sample profile collection in reproducers (#225026)
Mirror ELF's reproducer behavior by archiving the file named by
/lto-sample-profile and rewriting the option's path in the generated
response file. This lets reproduced links load the profile from the
archive.
[RISCV] Check hasStdExtZba() instead of hasShlAdd(3) before emitting Zba only instructions. (#239031)
hasShlAdd(3) allows Andes and T-Head extensions, but we only emit Zba
shXadd opcodes.
I think this code is only used by vector spill/reload. I don't know if
any Andes or T-Head cores support vector and the extensions in hasShlAdd
without also supporting Zba.
Tools/scripts/update-plist.py: Bugfix
Fix sorting of macro-prefixed entries.
The `get_expanded_key` function did not correctly sort orphaned plist
entries when dealing with conditional options (e.g. %%FOO%%) and
macro-prefixed directories (e.g., %%PYTHON_SITELIBDIR%%).
MFH: 2026Q4
(cherry picked from commit 825a16e406e9b5d969e05a7bed6d7026e6004202)
Tools/scripts/update-plist.py: Bugfix
Fix sorting of macro-prefixed entries.
The `get_expanded_key` function did not correctly sort orphaned plist
entries when dealing with conditional options (e.g. %%FOO%%) and
macro-prefixed directories (e.g., %%PYTHON_SITELIBDIR%%).
MFH: 2026Q4
[BOLT] Skip symbols with no name
In llvm-nm, an existing bug makes smybol with no name listed in
special-syms. This makes later value unpacking fails. It has been fixed
in CURRENT but is not in the older release version. We workaround this
by skipping such symbols by check len < 3 or not.
See: https://github.com/llvm/llvm-project/pull/192129
[clang][NFC] Remove redundant annotation check in AvoidConcat (#238661)
Annotation tokens already return early in AvoidConcat, so PrevTok cannot
be an annotation when getIdentifierInfo() is reached. Remove the
redundant check.
[AMDGPU] Move the encoding suffix for instructions without operands to TableGen (#239077)
Follow-up to #234466. Instead of appending _e64/_sdwa in
AMDGPUInstPrinter::printInst(), put the suffix in the VOPProfile asm
strings for instructions without operands. Using the {_e64|} and
{_sdwa|} variant syntax, the suffix is only seen by the AsmWriter
(variant 0). The VOP3 and SDWA matcher variants still get the bare
mnemonic, since the parser strips the suffix before matching.
The generated matcher is unchanged and the printed output is the
same as before, so there are no test changes.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
x11-wm/awesome-devel: New port: Highly configurable, next generation framework window manager (devel)
awesome is a highly configurable, next generation framework window
manager for X. It is very fast, small, dynamic, heavily extensible using
the Lua programming language, and licensed under the GNU GPLv2 license.
It is primarly targeted at power users, developers and any people
dealing with every day computing tasks and who want to have fine-grained
control on theirs graphical environment.
PR: 299944
Reported by: Waltz <wa1t5 __ at _ proton.me>
CodeGen: Share atomic libcall selection between the legalizers
SelectionDAG and GlobalISel each had their own copies of the choice
between an outline atomic and a __sync_* call. Move it into a common
helper.
The __sync_* call is now always looked up in the DAG's libcall info,
rather than sometimes in the TargetLowering defaults. Also disable
the untested __sync call case in GlobalISel.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[GlobalISel][IRTranslator] Fix inserting a <1 x Ty> into a <1 x Ty> vector (#235828)
Fixes #235314.
`IRTranslatorImpl::translateInsertVector` copied operand 0 (the
destination)
when both the inserted vector and the destination vector have one
element.
Inserting a `<1 x Ty>` at index 0 replaces the whole destination, so the
result must be operand 1.
```
- %2:_(s32) = COPY %0 ; dst
+ %2:_(s32) = COPY %1 ; src
```
Tests in `irtranslator-subvector.ll`: the one-element insert checks now
expect the source operand, the intrinsic suffixes match the argument
types,
[3 lines not shown]
Fix direct reads of blocks pending free
Direct reads only check the on-disk block pointer for holes, so they
can read stale data after a block has been freed but before the free
has synced. Share buffered read hole detection with direct reads to
honor pending frees as well.
Keep cached data ahead of hole detection and preserve the transaction
ordering of block clone and direct write overrides. Retain the block
pointer recheck after dnode_block_freed() for concurrent syncing.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Wale Zhang <wale.zhang.ftd at gmail.com>
Closes #19633
[cmake] Findzstd: probe AIX .a archives for shared objects (#235575)
On AIX, shared libraries are conventionally packaged as `.a` archives
containing shared-object members. The existing heuristic in
`Findzstd.cmake` classifies any `.a` file (other than `.dll.a` import
libraries) as a static library, based solely on the file suffix.
Fix this by probing the found library on AIX. Treat it as shared if `ar
-t` lists a member ending in `.imp`. Otherwise, treat it as shared if
`dump -ov` shows a member whose `Flags` include `SHROBJ` but not
`LOADONLY`. The file-suffix heuristic is preserved unchanged for all
other platforms.
Assisted-by: IBM Bob
---------
Co-authored-by: Hubert Tong <hstong at ca.ibm.com>
Attributor: Fix use-after-free clearing tail calls in AAPrivatizablePtr (#239070)
The tail calls collected during manifest may be erased by a signature
rewrite of their callee before the repair callback runs. Find them in
the callback instead.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
x11-wm/devilspie2-devel: Fix BadMatch when attempting to minimize
A BadMatch error occurs when trying to minimize a CSD application in
fullscreen mode.
[CIR][OpenMP] Add support for 'distribute parallel for' with 'target teams'
Adds support for handling the full '[target] teams distribute parallel for'.
Introduces setting the omp.composite attibute for the 'distribute parallel for'
composite construct.
Assisted-by: Cursor / Claude Sonnet 5 High
[CIR][OpenMP] Add initial support for distribute
This patch adds initial support for the OpenMP 'distribute' directive. Basic
code generation for the standalone and combined cases is introduced. Support
for clauses will be added in the future. The composite 'teams distribute
parallel for' form will be added in a subsequent patch.
Assisted-by: Cursor / Claude Sonnet 5 High
[CIR][OpenMP] Add support for omp teams
This patch adds support for the OpenMP 'teams' directive, both standalone
and as the combined `target teams` construct. isCombinableLeaf now also
recognizes teams, so an explicitly-nested `target` + `teams` pair gets
the same omp.combined marking as the combined case.
Assisted-by: Cursor / Claude Sonnet 5 High
[CIR][OpenMP] Add support for host_eval so that SPMD kernels can be used
This patch adds support for host_eval so that SPMD kernels and in the future
num_threads and other clauses can be implemented correctly.
Assisted-by: Cursor / Claude Sonnet 5 High
[CIR][OpenMP] Add support for the OpenMP 'for' directive
This patch adds support for wsloop in ClangIR: the `for` directive and its
combined forms `parallel for` and `target parallel for`. This is lowered to an
omp.wsloop + omp.loop_nest, nested utilizing the existing queue-based
decomposition.
Assisted-by: Cursor / Claude Sonnet 5 High