[clang][bytecode] Avoid `getSource()` calls in `diagnoseNonConstVariable()` (#219869)
There were some cases when `Loc` was not used. Avoid calling
`getSource()` in those cases.
[Coro][IR] Model memory effects of coro.alloc and coro.begin more precisely (#219870)
Consider the following code:
``` LLVM
%hdl1 = call ptr @llvm.coro.begin(token %coro.outer, ptr %mem1)
store ptr %hdl1, ptr %alloca, align 8
call i1 @llvm.coro.alloc(token %coro.inner)
call ptr @llvm.coro.begin(token %coro.inner, ptr %mem2)
%hdl1.ld = load ptr, ptr %alloca, align 8
%resumer = call ptr @llvm.coro.subfn.addr(ptr %hdl1.ld, i8 0)
invoke void %resumer(ptr %hdl1.ld)
```
The pattern occurs inside nested coroutines. Adding `memory(none)`
attributes allows GVN to replace the store-load with direct references
to `coro.begin`, thus enabling further optimizations. We can simplify
#57852 into single `ret 0` after this change.
[RISCV] Add further constraints on vsetvli intrinsics range (#219417)
The spec also mandates:
- `ceil(AVL / 2) ≤ vl ≤ VLMAX if AVL < (2 * VLMAX)`
- `vl = VLMAX if AVL ≥ (2 * VLMAX)`
This also reworks the constraints to be based on ConstantRange so `vl =
AVL if AVL ≤ VLMAX` is no longer restricted to constants.
net/samba424: fix fortity and when python3 is disabled
Samba 4.24 doesn't build with Fortify feature.
When Python3 is disabled fix the cleanup commands
PR: 294595
Reported by: Rafe <mondo.debater_0q at icloud.com>
Reported by: Denis Shaposhnikov <dsh at bamus.cz>
Approved by: samba (kiwi)
Sponsored by: Klara, Inc.
vendor/lutok: import 0.6.2
This version contains several minor changes related to documentation and
new C++ standards conformance (C++-20+ is now required to build the
project).
This change also uses the version from the official release tarball whereas
the prior imported version (0.4) was committed directly from a git clone.
Obtained from: https://github.com/freebsd/lutok/releases/tag/lutok-0.6.2
[libc++] Do not define std::nothrow with VCRuntime ABI (#217694)
Avoid defining `std::nothrow` in libc++ when `_LIBCPP_ABI_VCRUNTIME` is
enabled.
VCRuntime already owns and provides `std::nothrow`, just as it owns the
global new/delete ABI.
Assisted-by: codex (for the test)
[ADT] Rename FoldingSet's RemoveNode and ComputeHash. NFC (#219864)
Rename `RemoveNode` to erase, matching the public name it implements,
and ComputeHash to computeHash, matching computeStableHash beside it.
net/samba424: fix mampage plist
vfs fruit and glusterfs had bad plist entries. This fix this.
Reported by: Paul <paul604 at protonmail.ch>
Approved by: samba (kiwi)
Sponsored by: Klara, Inc.
sysctl.7: add various networking-related nodes
There are probably more to add (certainly across all the top-level node
categories), but these cover (or are related to) a few that frequently
get mentioned in performance tuning blog posts and emails.
(Confusingly, some lists are alphabetical and others aren't. I added the
TCP autosizing entries where they seemed to logically go.)
tcp_usrreq.c: minor sysctl description updates
TCP buffer autosizing can't really be deemed "experimental" since it was
enabled by default in early 2010.
[SLP]Fix perfect diamond match for gather nodes with poison in the reuse mask
A poison constant in the gathered bundle leaves a poison lane in the
common mask; expanding the gather through that mask indexed the scalar
list with -1. Expand such lanes to poison instead.
Fixes #219833
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/219862
[ORC] Fix malformed Mach-O `__unwind_info` tables (#217781)
The malformed tables are produced by `JITLink` after compact-unwind
record merging.
`CompactUnwindManager::mergeRecords()` coalesces adjacent function
records with identical mergeable encodings. When the final raw record is
merged away, `writeIndexes()` generates the top-level index terminator
from the final remaining record instead of the final original function.
This truncates the final index range.
On macOS arm64, libunwind resolves a PC in the merged-away final
function through the terminator entry. Its second-level-page offset is
zero by design, causing libunwind to interpret the `__unwind_info`
header as a second-level page and report:
```
libunwind: malformed __unwind_info ... bad second level page
```
[20 lines not shown]
[RISCV] Lower vector i1-to-fp i1 to VSELECT 1.0/0.0 (#219426)
Previously, the i1 source was first extended to an integer type
whose width is half the destination floating-point width. The mask
extension was lowered by lowerVectorMaskExt to a VSELECT, or directly to
VMERGE_VL for fixed-length vectors, materializing an integer vector
containing 0 or 1.
Since an unsigned i1-to-floating-point conversion can only produce 0.0
or 1.0, recognize this operation earlier and lower it directly to a
VSELECT between the floating-point constants 1.0 and 0.0. This removes
the intermediate integer mask extension and the following widening
integer-to-floating-point conversion.
[SSAF][clang-reforge] Add end-to-end clang-reforge tests
- Make CppBoundedBuffers adapt to flattened WPA results;
- Let CppBoundedBuffers use qualified EntityNames so that it can
associate ASTNodes with WPA results;
- Add end-to-end tests
Final step of:
rdar://185840466