[lldb-server] Implement support for MultiBreakpoint packet
This is fairly straightforward, thanks to the helper functions created
in the previous commit.
https://github.com/llvm/llvm-project/pull/192910
[libc] Add sys/ucontext.h header (#194329)
POSIX historically provided <sys/ucontext.h> as an alias for
<ucontext.h>. Some software still includes the sys/ path. Added the
header as a simple wrapper that includes <ucontext.h>, gated to x86_64
alongside the existing ucontext support.
qcom_tlmm: add i2c pull up strength config option
The X1E and others have a separate configuration bit to increase the
pull-up drive strength for i2c busses.
Add the plumbing; it doesn't do anything just yet.
Differential Revision: https://reviews.freebsd.org/D56351
qcom_tlmm: prepare for supporting multiple TLMM platforms
* Create a set of callbacks implementing the hardware specific
GPIO bus operations
* Migrate the IPQ4018 TLMM setup code into qcom_tlmm_ip4018.c
Differential Revision: https://reviews.freebsd.org/D56349
[AMDGPU] Add flat variants of av.load/store.b128 intrinsics
Add llvm.amdgcn.av.flat.load.b128 and llvm.amdgcn.av.flat.store.b128
intrinsics using flat_ptr_ty, following the established flat_/global_
naming convention used by other AMDGPU intrinsics (e.g., flat_prefetch
vs global_prefetch, flat_load_monitor vs global_load_monitor).
These select to FLAT_LOAD_DWORDX4 / FLAT_STORE_DWORDX4 with the same
cache policy bits as the global variants.
Assisted-By: Claude Opus 4.6 (1M context)
ports-mgmt/pkg-devel: update to 2.7.99.1
Changes:
- rcscript: rewrite entirely to be safer
- triggers: make the per-package trigger per file instead of per directory
- delete: add -G/--exclude-glob
- repositories: add enable/disable/reset support
- vuln: install and upgrade now show if they are about to install vulnerable packages
- version: add IGNORE_MAJOR to pkg.conf
- lua: add pkg.exec_capture, a pkg.exec version capturing stdout/stderr
- autoremove: add -qn for script friendly output
- fflags: emit in string value and also accept integers
- info -e: only return 0 if all the packages in the command line exist
- install: respect -q
- quiet: do not print messages when quiet is requested
- query: fix %y/%Y
- upgrade: don't propose to downgrade to solve a provide/require
- upgrade: clarify the message when a package is not found
- upgrade: generalize the more verbose explanation of changes
[28 lines not shown]
[Clang][RAV] Visit components of __builtin_offsetof designators (#194122)
`RecursiveASTVisitor` previously only traversed the type operand of an
`OffsetOfExpr,` ignoring the field/identifier/base/array-index
components of the designator. This meant tools built on RAV (clang-tidy,
clangd, indexers, ...) silently missed every field reference inside
`__builtin_offsetof(T, a.b.c)`.
Add a `TraverseOffsetOfNode / VisitOffsetOfNode` pair following the same
pattern used for `ConceptReference`, `ObjCProtocolLoc`, and friends. The
`DEF_TRAVERSE_STMT` for `OffsetOfExpr` now invokes
`TraverseOffsetOfNode` for each component; array index expressions
continue to be reached via the existing children() traversal. Default
visitation is a no-op, so the change is opt-in for consumers and
behavior-preserving otherwise.
Also expose `OffsetOfNode` as a `DynTypedNode` kind via `ASTTypeTraits`
so that downstream machinery (`SelectionTree`, parent maps, matchers)
can reference these nodes uniformly.
[6 lines not shown]
[DAGcombine] Recognize fneg on RHS for partial_reduce_fmla (#193994)
PR #186809 recognized the negation on the fmul() expression, but after
instcombine the fneg is moved to the RHS operand, so with #186809 the
negation would not be recognized by the combine.
https://godbolt.org/z/YfoYshz78
[TableGen] Emit constexpr versions of some directive/clause functions
Reland https://github.com/llvm/llvm-project/pull/176253 with a change
to reduce compile-time impact.
Several of the functions that TableGen emits into the .cpp files for
OpenACC or OpenMP could be constexpr. They can't just be emitted into
the header files as constexpr as they are because they use "assert" and
"llvm_unreachable".
To preserve the existing functionality, this patch will cause TableGen
to emit the constexpr variants that return the value as std::optional,
where std::nullopt indicates an error. The exisiting functions will
invoke the constexpr versions and call assert/llvm_unreachable if
nullopt is returned. E.g.
```
// .h
constexpr std::optional<Association>
getDirectiveAssociationOpt(Directive D) {
[20 lines not shown]
[Flang][OpenMP] Allow Fortran BLOCK construct inside WORKSHARE region (#193352)
**Problem**
Flang incorrectly rejects Fortran BLOCK constructs inside OpenMP
WORKSHARE regions. This fixes the semantic check to recursively validate
the contents of BLOCK constructs instead of rejecting them.
The Fortran BLOCK construct (F2008) is a transparent scoping wrapper
that does not affect execution semantics. When a BLOCK appears inside a
WORKSHARE region, the restriction on allowed statements should apply to
the contents of the BLOCK, not the BLOCK construct itself.
**Fix**
The function CheckWorkshareBlockStmts (check-omp-structure.cpp) loops
through each statement inside a WORKSHARE region and checks if it's
allowed.
Before this fix, it only recognized:
[15 lines not shown]
rcscript: rewrite entirely to be safer
now restart are deferred to the end of the transaction
running services which are deleted are stopped
new services enabled in rc.conf are started
enabled running services are restarted
[MLIR][XeGPU] Fix Layout collapse dims out of bounds (#193661)
Fix a bug in LayoutAttr::collapseDims() implementation.
---------
Co-authored-by: Claude Sonnet 4.5 <noreply at anthropic.com>
[flang][OpenMP] Frontend support for BEGIN/END METADIRECTIVE
This implements parsing of BEGIN/END METADIRECTIVE, plus a minimal
semantic check for the association of a directive in a WHEN/OTHERWISE
clauses.
The same semantic checks for the context selectors apply here as in
the case of a standalone METADIRECTIVE.
[MLIR][OpenMP] Fix sanitizer issue related to stack-to-shared pass (#194397)
The OpenMP dialect stack-to-shared pass could try to access attributes
from a deleted operation. This updates it to get that information from
the operation created to replace it.
[CodeGen] Fix incorrect index in rematerialization tracking (#194387)
When deleting the last rematerialization of a register, we should delete
the rematerializer's remat tracking map's entry that corresponds to the
index of the *original* register, not the rematerialized register.
The existing typo has no impact on correctness at the moment because
entries with rematerialized register indices are never created (so there
is nothing to erase), and having an empty set in a value does not break
any code invariant; it just wastes memory.
Assisted-by: Claude Code
[clang][Driver][BareMetal] Add profile library to the command line when needed (#191847)
Now that libclang_rt.profile.a supports bare-metal targets, follow other
drivers and add libclang_rt.profile.a in the BareMetal driver to the
command line automatically when needed, e.g. when
-fprofile-instr-generate is provided.