clang: Add ArgRange builtin attribute for constant argument ranges
Many target builtins take constant arguments that must be in a
specific range. These usually correspond directly to the Range
annotation on the IR intrinsic, which the verifier enforces. Today
this requires manual verification with a large builtin ID switch in
Sema, and missed cases will emit code that fails the IR verifier.
Add an ArgRange<Index, Lo, Hi> builtin attribute declaring that a
_Constant argument must be in the half-open range [Lo, Hi), the same
as the IR declaration.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
devel/okteta-qt5: Add port for Qt5-based Okteta
Okteta is not fully ported to Qt6 yet, therefore keep Qt5 version for a while.
(cherry picked from commit 8575cef1b0f4a0cccfccc9f35b7e90d306ad801b)
Merge tag 'pwrseq-fixes-for-v7.4-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux
Pull power sequencing fixes from Bartosz Golaszewski:
- fix a use-after-free bug and a serdev reference leak in pwrseq-pcie-m2
- increase WCN7850 power-up delay in pwrseq-qcom-wcn
- make the API contract for pwrseq descriptor serialization clearer
* tag 'pwrseq-fixes-for-v7.4-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
power: sequencing: pcie-m2: fix serdev controller reference leak
power: sequencing: pcie-m2: use devm_mutex_init()
power: sequencing: pcie-m2: fix use-after-free in pwrseq_pcie_m2_vregs_enable()
power: sequencing: core: add a note on descriptor serialization
power: sequencing: qcom-wcn: increase WCN7850 power-up delay
polish/qnapi: Switch to maintained fork and update to 0.3.0 with Qt 6 support
- Amend description
- Add DOCS option
- Drop stale dependencies
(cherry picked from commit 7be66a77b101d8145dcbebab929b42430c450a6c)
[ThinLTO] Run LowerTypeTests after indirect call promotion (#241582)
In ThinLTO backends, `LowerTypeTestsPass` ran before
`SampleProfileLoaderPass`
and `PGOIndirectCallPromotion`, renaming each CFI jump-table member
`foo` to
`foo.cfi` and leaving a `foo` declaration for the jump-table entry:
* `SampleProfileLoader` canonicalizes `foo.cfi` to `foo`, colliding with
the
`foo` declaration in `SymbolMap` and skipping sample annotation and ICP.
* Running ICP first lets it promote calls to `foo` under its original
name;
`LowerTypeTestsPass` then keeps direct calls to `foo.cfi` and redirects
the
promoted pointer comparison to `foo`.
Move `LowerTypeTestsPass` after ICP in
`buildModuleSimplificationPipeline`,
[4 lines not shown]
[ObjCARC] Treat objc_claimAutoreleasedReturnValue as RetainRV (#241436)
In spite of the names, claimRV really has much more in common with
retainRV than with unsafeClaimRV. Semantically claimRV is just retainRV
without the marker nop.
Currently GetFunctionClass doesn't handle claimRV at all, and it
defaults to CallOrUser. In well-behaved pass pipelines this omission
shouldn't be observable, but in the face of unusual pass ordering we
could have e.g. a situation where inlining happens after contraction,
and then the inliner gets confused and sends the claimRV down the
unsafeClaimRV +0 path, resulting in an over-release.
As a hardening against such situations, this patch classifies claimRV as
kind RetainRV. The additional changes in InlineFunction.cpp are just NFC
clarifications. Some of its mentions of "claimRV" are a bit too loose
when they actually mean unsafeClaimRV specifically.
Assisted-by: claude
rdar://191370661
[libc] Add CLOCK_TAI (#241692)
`CLOCK_TAI` is the kernel's clock for International Atomic Time, number
11. It was missing from the Linux time macros
AI disclosure: this patch was written with Claude Code. I reviewed the
change and built and ran the new test in a full build; it does not build
without the change
Assisted-by: Claude
[CODEOWNERS] Add myself as codeowner for things I maintain (#241623)
- I'm the maintainer of clang-doc
- I'm the original author of MisExpect, ProfDataUtils,
StackFrameLayoutAnalysisPass, and FatLTO
- I'm a maintainer of Fuchsia's toolchain
This should help me avoid missing reviews for things I care about.
[libc][docs] Add search, filters, and drawers to dashboard (#241976)
With 82 headers on headers/index.html, finding a specific symbol or
inspecting which functions, macros, types, or global variables remain
unimplemented requires opening individual header pages one by one.
Add expandable detail drawers to each header row with category and
precision breakdowns plus clickable missing and implemented symbol chips
linked to cppreference.com and Open Group specifications, and add
client-side search, standard/status filtering, sorting, and
expand/collapse controls in status.js.
Assisted-by: Automated tooling, human reviewed.
[X86] Update mask.beforefirst cost (#241746)
After #232262 we lower mask.beforefirst as (x - 1) & ~x in a GPR, this
updates the cost model to match.
Opus 5.5 was used to work out the costs for the table.
Merge tag 'gpio-fixes-for-v7.4-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux
Pull gpio fixes from Bartosz Golaszewski:
"To no surprise, this batch was mostly driven by issues found by LLMs
(notably: sashiko) during reviews of other changes. This is why it's
bigger than what I normally send at this stage.
Fixes in GPIO core:
- fix a race in shared GPIO descriptor release path
- fix several issues in gpio-shared-proxy: race between concurrent
initial users, dropping votes in error paths and driving the
default value with no votes cast
- fix stack out-of-bounds access bugs in GPIO hog handling
- fix a race in GPIO descriptor consumer label update
- reset lookup flags on each hogged line
- fix GPIO descriptor leak and fast-path cancellation in
gpiod_get_array()
- fix return value in of_gpiochip_instance_match() stub for
!CONFIG_OF
[37 lines not shown]
Revert "[lldb] Show synthetic children in the return value of the thr… (#241947)
…ead desc…"
This reverts commit fd5f0a88dad6b034763b75bdc9e0021afc6634ab.
The test is failing on aarch64 ubuntu.
TCP RACK: fix RSM computation for TCP fast open
When spitting an RSM containing the SYN and data, honor the
sequence number used by the SYN flag when computing the offset
in the socket buffer.
PR: 297006
Reviewed by: rrs, Peter Lei
Sponsored by: Netflix, Inc.
Differential Revision: https://reviews.freebsd.org/D61149
(cherry picked from commit ff066579fd7719a6361e7ce8cc9ade47517d242d)