[libc][cmake] Respect the configured optimization level for the Linux thread and TLS objects (#234382)
The `-O3` override on the Linux `thread` object dates from the old
approach of reading the thread arguments off the new thread's stack,
which #225384 removed; the `tls` objects copied the same pattern in
#225418. Neither needs it anymore, so drop the overrides and use the
optimization level configured by CMake.
Assisted-by: Claude
[NFC][clang-repl] Drop the private label in IncrementalCUDADeviceParser (#234600)
This is an NFC change. It moves the private members of
IncrementalCUDADeviceParser to the top of the class and drops the
`private:` specifier, to match `IncrementalHIPDeviceParser` and the rest
of the file.
[GlobalISel] Preserve dominance when legalizing invoke-result PHIs
PHI legalization inserts conversions before the first terminator so they
execute on unwind edges. An invoke result is defined after the invoke-region
marker, however, and placing its conversion before that marker creates a
use before definition.
Keep the existing insertion point for values available before the invoke,
and insert after the definition for values produced inside the region.
Use the same rule for scalar and vector PHI resizing. This also ensures
vector widening for unwind PHIs executes before a potentially throwing call.
Update the pre-committed IR and helper-level checks and enable machine
verification in the IR test.
[GlobalISel][AArch64] Pre-commit PHI legalization tests around invokes
Cover a real invoke result and a vector PHI on an unwind edge. Check scalar
narrowing and vector splitting directly in LegalizerHelper tests so artifact
combining cannot hide misplaced conversions.
Record the current conversion placement for the subsequent dominance fix.
Temporarily disable machine verification in the IR test to capture the
existing use-before-definition output.
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.