[lldb] Move register support out of ProcessUtility (#232969)
Create lldbRegister under lldb/Register and move register classes that
do not call OS-specific interface directly.
RuntimeLibcalls: Add the remaining vector libraries (#232770)
Add definitions for Accelerate, Darwin_libsystem_m, LIBMVEC, MASSV and
SVML, and fill out SLEEFGNUABI, ArmPL and AMDLIBM to match VecFuncs.def.
The struct-returning ArmPL modf and sincos variants need new _STRET
libcalls.
With the new implementations available, type-split vector math calls
can now be expanded, and the vectorizer keeps pow as an intrinsic for
codegen to lower to the library call.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[lldb][Fortran] Added support for base types to DWARFASTParserFortran, tests for DWARFASTParserFortran and a method to get the parser from TypeSystemFortran
TargetParser: Clean up data layout string construction (#232392)
Instead of building many small string fragments, use longer
concatenated literals. The mips case in particular was hard
to follow and had an unused enum value.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[Offload][omp] Load and resolve device binaries through liboffload (#231545)
Create a new abstraction (Program) that uses liboffload to load the
binary and do symbol resolution instead of calling the PluginInterface
directly. Remove from GenericPluginTy load_binary, get_global and
get_function.
Assisted by Claude.
---------
Co-authored-by: Kevin Sala Penades <kevinsala.ks at gmail.com>
[clang-format] Fix missing indentation for assignment with attributes (#230417)
Fixes #229206.
When `BreakBeforeBinaryOperators: All` is configured, formatting a
variable definition with an attribute (e.g. `[[maybe_unused]]`) between
the variable name and the assignment previously caused the assignment
operator to lose all continuation indentation (starting at column 0).
The root cause was in `ContinuationIndenter::getNewLineColumn()`. The
logic assumed that any token following an attribute closing bracket
(`TT_AttributeRSquare`) should not be indented as a continuation. It
failed to account for binary operators (like `=`) which are valid
continuations of the variable declaration statement.
This patch updates the condition to `!Current.isBinaryOperator()`,
ensuring that assignment operators following attributes correctly fall
through to the standard continuation indentation logic.
[5 lines not shown]
[libc++] Introduce a free function __thread_hardware_concurrency() (#232284)
It allows to query the available hardware concurrency without depending
on entirety of `std::thread`.
Required for #229804.