[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
[mlir][ROCDL] Enable useStrictPropertiesInAssemblyFormat
**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>
[mlir][AMDGPU] Enable useStrictPropertiesInAssemblyFormat (#216812)
This is part of the migration to keeping inherent and discardable
attributes separate touched.
**Migration note:** this'll change the syntax of a bunch of `amdgpu`
dialect ops to keep inherent attributes out of the `attr-dict`.
Syntax changes:
1. Operations like the dpp operations have had their inherent operands
turned into oilists that use `name(value)` syntax, such as
`bound_ctrl(false)`, which also leads to the elision of default
values.
2. Buffer operations now use `boundsCheck(true/false)` before the main
operation (keeping the visibility from the old attr-dict) and have
moved to `sgprOffset(%offset)` and `indexOffset(constant)` as optional
syntax alements after the main specification.
3. WMMA operations also now have the same `attribute[(value)]` element
[24 lines not shown]
[Bazel] Configure ARMv7 as the native target (#218185)
Configure the Linux ARMv7 platform to use LLVM’s ARM native target and
the toolchain’s ARMv7 triple, matching CMake and avoiding x86-64
fallback for the default target.
[Bazel] Enable LLVM threading on Windows (#218183)
LLVM_ENABLE_THREADS defaults to ON in CMake and is disabled only on
non-Windows systems without pthread support.
The Bazel overlay omitted the macro on Windows, causing Support, ORC,
JITLink, and parallel algorithms to compile their disabled paths.
[Bazel] Match LLVM MSVC conformance flags (#218187)
Port the MSVC conformance flags from CMake to Bazel, preserving the same
split between MSVC and clang-cl. This keeps both build systems aligned
and ensures LLVM uses consistent C++ language and preprocessor behavior
on Windows.
[lldb] Fix SBStructuredData::GetStringValue method (#216875)
In python the method's signature is
```py
class SBStructuredData:
def GetStringValue(self, dst_len: int) -> str:
# returns the str up to the `dst_len`
```
There is no way from python to get the total data from GetStringValue
regardless of how many times you call GetStringValue.
Update the implementation
```py
def GetStringValue(self, len: int = 0) -> str:
# always returns everything regardless of the value of `len` (for api compatibility).
```
Fixes crash when input is None in `SBStructuredData.SetStringValue`
Don't trim the result when called with the `dynamic` property.
[Bazel] Use .dylib for macOS configured library suffixes (#218184)
Use .dylib for macOS library and plugin suffixes, matching CMake, GN,
and Bazel’s existing macOS plugin output while leaving other platforms
unchanged.
[Bazel] Prefer forward slashes for MinGW builds (#218181)
Match CMake by enabling forward-slash paths for MinGW while preserving
the existing behavior for MSVC, clang-cl, and non-Windows platforms.
[Bazel] Fix the PPC64LE platform constraint (#218180)
Use Bazel’s dedicated ppc64le constraint for the Linux PPC64LE platform,
preventing it from incorrectly matching 32-bit PPC configurations.
[Android][Driver] Enable PAC/BTI for Android by Default (#218066)
We enabled PAC and BTI by default in the Android Ecosystem so it makes
sense to set it as the default for Android in the Clang driver. This
change will make sure anyone compiling for Android (like through NDK)
automatically gets PAC/BTI. It should not cause issues with older
Android devices since they become nops.
Fixes: https://github.com/android/ndk/issues/1914
[mlir][vector] Fix multi-reduction unroll test after #217288 (#218523)
This fixes a buildbot break. Test-only change.
`mlir/test/Dialect/Vector/vector-unroll-options.mlir` is failing on
main:
```
check:878'1 error: no match found in search range
check:878'2 pattern attempts to capture variables: "E0"
```
#217288 switched `vector.extract_strided_slice` and
`vector.insert_strided_slice` to the strict property assembly format,
which
prints `offsets`/`sizes`/`strides` without enclosing braces:
```
- vector.extract_strided_slice %v {offsets = [0, 0, 0], sizes = [1, 2, 2], strides = [1, 1, 1]} : ...
[18 lines not shown]