[TTI][Inline] Define inlining behavior in SubtargetFeature (#205348)
This allows specifying the InliningBehavior as part of SubtargetFeature.
The behavior is one of InlineDefault, InlineInverse, and InlineIgnore.
* InlineDefault: A callee with this feature enabled cannot be inlined
into a caller without it enabled.
* InlineInverse: A callee without this feature enabled cannot be inlined
into a caller with it enabled.
* InlineIgnore: Arbitrary differences are allowed.
The default areInlineCompatible() implementation respects these now.
The intention behind this change is that it reduces the risk of
forgetting to update feature lists in TTI when adding a new feature,
e.g. when adding a new tuning flag that should be InlineIgnore.
Move X86 and AMDGPU ignored features, and the one inverse feature on
AArch64 to TableGen.
[2 lines not shown]
[clang-tidy] Guard `readability-identifier-naming` recursion in dependent base lookup (#204913)
Prevent `readability-identifier-naming` from recursing indefinitely in
dependent base lookup when AggressiveDependentMemberLookup` is enabled.
In #204790, `findDeclInBases()` maps a dependent template base back to
the primary template, creating a recursive cycle that crashes
clang-tidy. Add a recursion guard to stop the crash. A more complete fix
could be explored separately.
Add a regression test covering the dependent base cycle reproducer.
Closes https://github.com/llvm/llvm-project/issues/204790.
---------
Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>
[libc++] Add implementations of `__get_locale_encoding(...)` to Fuschia and LLVM-Libc (#205716)
- These were missed in #141312 and consequently broke the Fuschia and
AMDGPU llvm-libc build bots.
- Fuschia seems to have support for `nl_langinfo_l(...)`, so we can use
that.
- However, LLVM-libc does not implement it, so for now we can do a dummy
implementation and mark `environment()` and `encoding()` as unsupported
on LLVM libc.
musicpd: update to 0.24.12.
ver 0.24.12 (2026/05/15)
* protocol
- allow empty URI in "lsinfo", "add" etc. (0.24.11 regression)
ver 0.24.11 (2026/05/15)
* protocol
- fix path traversal bug
* playlist: do not allow newlines in song URIs
* input
- curl: require version 7.85.0
* decoder
- pcm: fix stack buffer overflow
- sidplay: fall back to SIDLiteBuilder if ReSIDfpBuilder is unavailable
ver 0.24.10 (2026/05/06)
* input
- cache: fix deadlock bug
[16 lines not shown]
clang/AMDGPU: Simplify cpu name checks for __builtin_amdgcn_is_processor (#205724)
Instead of trying to figure out which TargetInfo to use, skip it and
directly use the source of truth from TargetParser. This avoids
regressions in future commits where isValidCPUName will be
conditionally filtered.
[RISCV][Zicfilp] Emit .note.gnu.property section for Zicfilp CFI unlabeled scheme (#141468)
RISC-V Zicfilp-based CFI needs to let the linker/loader know if the
binary is built with the mechanism enabled to support proper
link-time/load-time management of this feature. The information is
encoded as a bit in the `.note.gnu.property` section. This patch
implements emitting the section for RISC-V targets when Zicfilp-based
CFI with the "unlabeled" label scheme is enabled.
When Clang receives the `-fcf-protection=branch` flag, which enables
forward-edge CFI protection, it adds the `cf-protection-branch`
attribute to the LLVM module. Additionally, if a branch label scheme is
needed, another attribute (`cf-branch-label-scheme`) is added to
indicate it. For RISC-V targets, the `cf-protection-branch` attribute
indicates the adoption of Zicfilp-based forward-edge CFI protection, and
the `cf-branch-label-scheme` attribute selects how the "label" operands
of the Zicfilp `lpad` insns are produced. This patch emits the proper
`.note.gnu.property` feature bit when the RISC-V backend sees that the
LLVM module has the `cf-protection-branch` attribute set to `1`, and the
[6 lines not shown]
java/openjdk21: fix build on freebsd 16/aarch64
=== Output from failing command(s) repeated here ===
* For target hotspot_variant-server_libjvm_objs_os_perf_bsd.o:
In file included from /wrkdirs/usr/ports/java/openjdk21/work/jdk21u-jdk-21.0.10-7-1/src/hotspot/os/bsd/os_perf_bsd.cpp:38:
In file included from /usr/include/sys/user.h:52:
In file included from /usr/include/vm/pmap.h:88:
In file included from /usr/include/machine/pmap.h:46:
In file included from /usr/include/sys/systm.h:46:
/usr/include/machine/cpufunc.h:35:1: error: static declaration of 'breakpoint' follows non-static declaration
35 | breakpoint(void)
| ^
/wrkdirs/usr/ports/java/openjdk21/work/jdk21u-jdk-21.0.10-7-1/src/hotspot/share/utilities/breakpoint.hpp:31:17: note: previous declaration is here
31 | extern "C" void breakpoint();
| ^
1 error generated.
* All command lines available in /wrkdirs/usr/ports/java/openjdk21/work/jdk21u-jdk-21.0.10-7-1/build/bsd-aarch64-server-release/make-support/failure-logs.
=== End of repeated output ===
[11 lines not shown]
java/openjdk17: fix build on freebsd 16/aarch64
=== Output from failing command(s) repeated here ===
* For target hotspot_variant-server_libjvm_objs_os_perf_bsd.o:
In file included from /wrkdirs/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.18-8-1/src/hotspot/os/bsd/os_perf_bsd.cpp:38:
In file included from /usr/include/sys/user.h:52:
In file included from /usr/include/vm/pmap.h:88:
In file included from /usr/include/machine/pmap.h:46:
In file included from /usr/include/sys/systm.h:46:
/usr/include/machine/cpufunc.h:35:1: error: static declaration of 'breakpoint' follows non-static declaration
35 | breakpoint(void)
| ^
/wrkdirs/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.18-8-1/src/hotspot/share/utilities/breakpoint.hpp:31:17: note: previous declaration is here
31 | extern "C" void breakpoint();
| ^
1 error generated.
* All command lines available in /wrkdirs/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.18-8-1/build/bsd-aarch64-server-release/make-support/failure-logs.
=== End of repeated output ===
[11 lines not shown]
java/openjdk11: fix build on freebsd 16/aarch64
=== Output from failing command(s) repeated here ===
* For target hotspot_variant-server_libjvm_objs_os_perf_bsd.o:
In file included from /wrkdirs/usr/ports/java/openjdk11/work/jdk11u-jdk-11.0.30-7-1/src/hotspot/os/bsd/os_perf_bsd.cpp:53:
In file included from /usr/include/sys/user.h:52:
In file included from /usr/include/vm/pmap.h:88:
In file included from /usr/include/machine/pmap.h:46:
In file included from /usr/include/sys/systm.h:46:
/usr/include/machine/cpufunc.h:35:1: error: static declaration of 'breakpoint' follows non-static declaration
35 | breakpoint(void)
| ^
/wrkdirs/usr/ports/java/openjdk11/work/jdk11u-jdk-11.0.30-7-1/src/hotspot/share/utilities/breakpoint.hpp:31:17: note: previous declaration is here
31 | extern "C" void breakpoint();
| ^
1 error generated.
* All command lines available in /wrkdirs/usr/ports/java/openjdk11/work/jdk11u-jdk-11.0.30-7-1/build/bsd-aarch64-normal-server-release/make-support/failure-logs.
=== End of repeated output ===
[11 lines not shown]
[libc++] Enable clang-tidy in the CI again (#195047)
clang-tidy currently doesn't run in the CI because CMake doesn't find
the appropriate `ClangConfig.cmake` anymore. This adds the path so
clang-tidy is built again and fixes most issues. Some things are
disabled for now to get most checks back. They will be re-enabled later.
Mk/Uses/electron.mk: Ensure reproducibility of node modules tarball for pnpm>=11
When pnpm is used as the node package manager, the package index has
been stored as JSON files under pnpm store's index directory prior to
pnpm version 11. Starting from pnpm 11, the package index has become a
single SQLite database stored as index.db.
To ensure reproducibility of the package index, we now have to unpack
the database, normalize the timestamps and the permissions of
files/directories stored in the index, and pack it again into an
SQLite database.
For more details on pnpm store v11, visit the URL:
https://pnpm.io/blog/releases/11.0#store-v11
Mk/Uses/electron.mk: Improve automatic npm version detection
The framework assumed the name and the version of a node package
manager is specified as the key "packageManager" [1] in package.json
like:
{
"packageManager": "<name>@<version>+<hash>"
}
However, the name and the version can be also specified using the key
"devEngines.packageManager" [1] like:
{
"devEngines":{
"packageManager": {
"name": "<name>",
"version": "<version>+<hash>"
}
}
}
[5 lines not shown]
[AArch64] Correct latency calculation in runSVEPseudoTestForCPU test. NFC (#205100)
It does not look like this caused problems in the pseudo scheduling
tests, but is accumulating the wrong latency. I added extra checks that
the NumWriteLatencyEntries were the same in both cases whilst I was here
too.