audio/linuxsampler: enable on powerpc64*
RTMath.cpp carries a copy of the Linux kernel mftb() macro complete with
its __ftr_fixup section, which yields relocations lld rejects in PIC; a
plain mftb is all userspace needs. Sent upstream.
devel/libmustache: fix build on powerpc64*
Thread sanitizer is not available there, and archived-template support,
the only user of xxHash, requires a little-endian target.
audio/libspecbleach: fix build on powerpc64*
Add the VLOAD_* and VREV_* helpers to the AltiVec backend of the bundled
pffft and make ld_ps1() static like the other backends.
[lldb][NativePDB] Implement FindFunctions with a regular expression (#233467)
`SymbolFileNativePDB::FindFunctions(const RegularExpression &, ...)` is
an empty stub, so regex breakpoints never find a `Function` and fall
back to the symbol table. Symbols carry no language, so a breakpoint's
language filter cannot find anything
(`BreakpointCreateByRegex("func_from", eLanguageTypeC_plus_plus)`
resolves to both the C and the C++ function).
This patch matches the regex against the function basenames and full
names (which also contain the mangled names), as `SymbolFileDWARF` does
with its index.
Fixes `TestBreakpointLanguage` with PDB.
rdar://190426286
[mlir][tosa] Don't broadcast non-constant mul shift and negate zero points (#233121)
When the `tosa.mul` shift or the `tosa.negate` zero points are not
constants,
the TosaToLinalg lowering passed them to the elementwise broadcasting
helpers,
which assume every operand has the rank of the input. These operands are
always
`tensor<1xT>`, so the lowering asserted for rank-0 inputs, for dynamic
shapes,
and for inputs with a size-1 dimension after the first (e.g. `3x1`).
Separately, when only one negate zero point was non-constant, the body
read both
zero points as block arguments although neither was passed to the
`linalg.generic`.
This patch keeps these single-element operands out of broadcasting and
passes
them to the `linalg.generic` with an indexing map that always reads
element 0.
[12 lines not shown]
[clangd][NFC] Add regression coverage for current clang-tidy integration (#231461)
While moving clang-tidy into a FeatureModule, I found coverage gaps that
made it easy to accidentally change existing behavior.
This PR adds several tests to address this gap to make sure following
clang-tidy integration move into feature module won't lead to any
regressions.
The following functionalities are covered with with tests from this PR:
- Compiler warnings with no tidy checks enabled: `NOLINT` and
`WarningsAsErrors` must not affect them.
- Warning options from `clang-tidy` configuration: both `ExtraArgs` and
`ExtraArgsBefore` lists must affect warnings emitted during frontend
initialization.
- Configuration lookup: use `clangd`s requested filename, even when the
frontend input has a relative or different spelling.
- Consumer initialization: running `clang-tidy` must not reinitialize an
already initialized AST consumer.
These changes prepare moving the clang-tidy implementation into a
[2 lines not shown]
math/libsemigroups: only depend on HPCombi on amd64
HPCombi is SSE-only and the port already disables it elsewhere, but the
build dependency and the plist did not follow. Fixes the build on
powerpc64*.
lang/chez-scheme: enable on powerpc64*
There is no native backend for 64-bit PowerPC, so build the portable
bytecode variant. configure has to be taught that FreeBSD reports
"powerpc" from uname -m for every PowerPC flavour. Sent upstream.
[libc] Enable baremetal Armv7-M pre-merge tests
The tests are run using QEMU system emulation on AArch64 GitHub runners.
No strong reason to use AArch64 instead of x86_64 as it is via emulation
anyway. But AArch64 runners are cheaper, so that might prove beneficial.
[libc] Application and testing support in baremetal Armv7-M CMake cache file
This patch adds support for linking and running applications, including
tests, targeting baremetal Armv7-M to the corresponding CMake cache
file.
The cache file takes into consideration if compiler-rt is enabled or
not. If it is, then linking applications is possible, and the relevant
CMake variables are set to enable test runs. If not, then only the libc
build is possible and enabled.
Particular libc configuration options, memory mappings, and QEMU options
are based on what Arm Toolchain for Embedded uses in its fully working
downstream testing.
[libc] Add qemu-system-arm to libc Dockerfile for Arm baremetal testing
This patch adds `qemu-system-arm` to the packages installed into the
Docker image so that we can run Arm baremetal tests.
It is only installed on the AArch64 platforms because we intend to run
the tests on AArch64 GitHub runners. Therefore there is no need to
install on x86_64.