LLVM/project 6506e73orc-rt/include/orc-rt-internal/support/sys WinErrorToORCError.h, orc-rt/lib/bedrock/sys/windows Memory.cpp

[orc-rt] Add Windows virtual memory support (#224521)

Adds Windows virtual-memory support for ORC-RT
Also adds a small Windows error helper that converts GetLastError()
results into ORC-RT Error values with the corresponding system message.
Turns back on all the memory tests for windows.
DeltaFile
+57-7orc-rt/lib/bedrock/sys/windows/Memory.cpp
+43-0orc-rt/include/orc-rt-internal/support/sys/WinErrorToORCError.h
+2-3orc-rt/test/regression/check-rt-process-info.test
+5-0orc-rt/test/regression/lit.cfg.py
+1-2orc-rt/test/unit/bedrock/sps/SimpleNativeMemoryMapSPSCITest.cpp
+0-2orc-rt/test/unit/bedrock/SimpleNativeMemoryMapTest.cpp
+108-146 files

LLVM/project 31c90c1cross-project-tests/riscv lto-inline-asm-abi.c, llvm/lib/Target/RISCV/AsmParser RISCVAsmParser.cpp

[RISC-V][MC] Update ELF streamer ArchString when emitting RISCVAttrs::ARCH

During LTO, the TargetMachine subtarget is initialized with the linker's
default CPU (e.g. `generic-rv64`, `rv64i2p1`), while
RISCVAsmPrinter::emitStartOfAsmFile() reconstructs the module's actual ISA from
the `riscv-isa` module flag and emits RISCVAttrs::ARCH via
RISCVTargetELFStreamer::emitTextAttribute(). Previously only
RISCVAsmParser::parseDirectiveAttribute() called setArchString() after
emitTextAttribute(RISCVAttrs::ARCH, ...), so direct object emission bypassed
the update and tagged `.text` with `$xrv64i2p1` instead of the module's
full architecture string.

Move the setArchString() call into RISCVTargetELFStreamer::emitTextAttribute()
when emitting RISCVAttrs::ARCH so both `.attribute arch` and
RISCVTargetStreamer::emitTargetAttributes() update the active mapping symbol
ISA.

This commit was created with the help of AI tools
DeltaFile
+8-11cross-project-tests/riscv/lto-inline-asm-abi.c
+2-5llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
+6-0llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
+16-163 files

LLVM/project f914594llvm/lib/Linker IRMover.cpp

address feedback
DeltaFile
+1-1llvm/lib/Linker/IRMover.cpp
+1-11 files

LLVM/project e9da4adlld/test/ELF/lto riscv-target-abi.ll

address feedback
DeltaFile
+14-11lld/test/ELF/lto/riscv-target-abi.ll
+14-111 files

LLVM/project 9d6ed92cross-project-tests lit.cfg.py

address feedback
DeltaFile
+9-10cross-project-tests/lit.cfg.py
+9-101 files

LLVM/project 4057f8elibc/src/__support/threads/linux/aarch64 tls.cpp, libc/src/__support/threads/linux/riscv tls.cpp

[libc] Move Linux TLS routines from crt1.o into libc.a (#225418)

init_tls, cleanup_tls, and set_thread_ptr are per-thread routines used
by both Thread::run in libc.a and main-thread startup in crt1.o, but
tls.cpp was previously only merged into crt1.o. Linking libc.a without
crt1.o (such as a self-contained shared library statically linking
libc.a, or an executable built with -nostartfiles) failed with undefined
hidden symbols when thread.cpp.o was pulled in.

Move {x86_64,aarch64,riscv}/tls.cpp from libc/startup/linux/ to
libc/src/__support/threads/linux/ alongside tcb.h (matching prior
migrations of auxv and program_invocation_name from startup into src so
dependencies flow from startup -> src). Expose them via a forwarding
ALIAS target libc.src.__support.threads.linux.tls depended on by both
thread and do_start, and remove tls from merge_relocatable_object(crt1).

Mark init_tls with [[gnu::flatten]] and compile tls with
${libc_opt_high_flag}. Once tls.cpp.o is in libc.a rather than first on
the link line inside crt1.o, an earlier object compiled with

    [9 lines not shown]
DeltaFile
+0-81libc/startup/linux/aarch64/tls.cpp
+81-0libc/src/__support/threads/linux/aarch64/tls.cpp
+0-75libc/startup/linux/x86_64/tls.cpp
+75-0libc/src/__support/threads/linux/x86_64/tls.cpp
+0-57libc/startup/linux/riscv/tls.cpp
+57-0libc/src/__support/threads/linux/riscv/tls.cpp
+213-21310 files not shown
+292-27316 files

LLVM/project 20bc398.github/workflows libcxx-benchmark-commit.yml libcxx-pr-benchmark.yml, .github/workflows/libcxx/build-at-commit action.yml

[libc++] Extract building libc++ into a composite action (#224670)

This allows reusing the same build script for the PR benchmark and
the historical benchmarking jobs. This also opens the door to adding
new configurations where the library isn't rebuilt (e.g. where the
artifacts are pulled from a pre-built location, or even testing against
non-libc++.

Assisted by Claude
DeltaFile
+49-0.github/workflows/libcxx/build-at-commit/action.yml
+16-31libcxx/utils/ci/lnt/run-benchmarks
+19-7.github/workflows/libcxx-pr-benchmark.yml
+23-2.github/workflows/libcxx-benchmark-commit.yml
+4-3libcxx/utils/ci/lnt/README.md
+1-0libcxx/utils/ci/run-buildbot
+112-436 files

LLVM/project 85fca8fclang-tools-extra/clang-tidy/readability IdentifierNamingCheck.cpp, clang-tools-extra/docs ReleaseNotes.md

[clang-tidy] Fix crash in readability-identifier-naming (#220221)

This PR contains the fix for the `readability-identifier-naming` crash.
The crash happens because the checker calls `hasMemberName` on a base
class without checking if that base class actually has a definition
first (like when it's just forward-declared). I added a
`RD->hasDefinition()` guard to fix it.

Fixes #213948
DeltaFile
+8-0clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
+1-1clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
+2-0clang-tools-extra/docs/ReleaseNotes.md
+11-13 files

LLVM/project f5f1fd6lld/MachO SyntheticSections.h MapFile.cpp, lld/test/MachO x86-64-objc-stubs.s objc-stubs-order-file.s

[lld-macho] Print Objective-C stubs in map files (#225302)

Match ld-prime by listing synthesized Objective-C message-send stubs in
Mach-O map files, including their final addresses and mode-specific sizes.
DeltaFile
+14-6lld/test/MachO/arm64-objc-stubs-dead.s
+14-2lld/test/MachO/arm64-objc-stubs.s
+10-0lld/MachO/MapFile.cpp
+8-1lld/test/MachO/objc-stubs-order-file.s
+7-1lld/test/MachO/x86-64-objc-stubs.s
+1-0lld/MachO/SyntheticSections.h
+54-106 files

LLVM/project 66a1e86llvm/lib/Transforms/Scalar LICM.cpp, llvm/test/Transforms/LICM hoist-phi.ll

[LICM] Relax Hoistable Branch if all of the incoming node are hoistable

Like PhiNode, a branch is possibly hoistable if all of the parents are
possible to hoist. The only difference is that we cannot hoisting to
PreHeader as it might erase itself in getOrCreateHoistedBlock. This is
why we have IsReplicatedBy check in hasExactlyReplicatedControlFlow.

In phi, it is not a matter as we only change the incoming node from a
phi node without overwrite its dominator.

Also, we fix a bug while we have nested hoisted node. In that case, we
have to find the LCA of the dominators of all users.
DeltaFile
+167-4llvm/test/Transforms/LICM/hoist-phi.ll
+78-31llvm/lib/Transforms/Scalar/LICM.cpp
+245-352 files

LLVM/project 4c8a437orc-rt/test/unit CMakeLists.txt ErrorMatchersTest.cpp

[orc-rt] Add gmock matchers for Error and Expected<T> (#225596)

Ports llvm/Testing/Support/Error.h to orc_rt: EXPECT_THAT_ERROR and
ASSERT_THAT_ERROR, EXPECT_THAT_EXPECTED and ASSERT_THAT_EXPECTED, and
the Succeeded, Failed, Failed<InfoT>, FailedWithMessage and HasValue
matchers.

Two departures from the original. An orc_rt Error carries at most one
ErrorInfoBase -- there is no joinErrors -- so the holder keeps a single
error, FailedWithMessage takes one matcher rather than a variadic pack,
and FailedWithMessageArray is dropped. ErrorInfoBase has
dynamicRTTIName, so a type mismatch names the type that did turn up
rather than reporting only that the expected one was absent.

Header-only, under test/unit with the other test helpers rather than in
a shipped testing library. ErrorMatchersTest exercises each matcher
against a matching and a non-matching value, the latter through gtest's
failure interception.
DeltaFile
+304-0orc-rt/test/unit/ErrorMatchers.h
+185-0orc-rt/test/unit/ErrorMatchersTest.cpp
+2-0orc-rt/test/unit/CMakeLists.txt
+491-03 files

LLVM/project 081cc09clang/docs/analyzer checkers.md, clang/lib/StaticAnalyzer/Checkers/WebKit RawPtrRefSafetyModel.cpp RawPtrRefLocalVarsChecker.cpp

[WebKit Checkers] Add alpha.webkit.UnborrowedLocalVarsChecker (#225274)

This is a new checker that requires a Borrow<T> when using a
pointer/reference/view that is lifetimebound to a CanBorrow type.

A CanBorrow type is a type that tracks views into its interior at
runtime, and calls crashIfBorrowed() when it invalidates such views.
Vector is the motivating example.

A design description is available at:
https://github.com/WebKit/WebKit/wiki/SaferCPP:-Borrowed-Pointer-Use-After-Destruction

I implemented UnborrowedLocalVarsChecker in terms of the existing
alpha.webkit.*LocalVarsChecker system because the requirement to hold an
overlooking smart-pointer-like-thing is pretty similar.

In some cases where the new checker is stricter than the existing
checker, this patch conditionalizes the strictness. The plan is to
upgrade existing checkers in a follow-up patch.

Assisted-by: Claude
DeltaFile
+656-0clang/test/Analysis/Checkers/WebKit/unborrowed-local-vars.cpp
+195-35clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
+220-0clang/test/Analysis/Checkers/WebKit/mock-canborrow.h
+81-35clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
+90-0clang/docs/analyzer/checkers.md
+84-2clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefSafetyModel.cpp
+1,326-728 files not shown
+1,520-8114 files

LLVM/project 72aeee3orc-rt/test/regression check-rt-process-info.test

[orc-rt] Reconcile check-rt-process-info changes. (#225592)

3648582c0a41 was supposed to make this test more generic, but
accidentally removed it instead.

Reconcile the dropped changes with 3648582c0a41, which added page-size
checking.
DeltaFile
+3-2orc-rt/test/regression/check-rt-process-info.test
+3-21 files

LLVM/project a9191d3flang/lib/Optimizer/OpenMP LowerWorkdistribute.cpp, flang/test/Transforms/OpenMP lower-workdistribute-runtime-assign-array.mlir

[flang][OpenMP] Lower array-section workdistribute assign to element loop
DeltaFile
+111-11flang/lib/Optimizer/OpenMP/LowerWorkdistribute.cpp
+69-0flang/test/Transforms/OpenMP/lower-workdistribute-runtime-assign-array.mlir
+180-112 files

LLVM/project fa43610llvm/lib/Target/RISCV RISCVISelLowering.cpp, llvm/test/CodeGen/RISCV bfloat-imm.ll float-imm.ll

[RISCV] Expand scalar FP undef/poison to 0.0 with F extension. (#225567)

This ensures the undef/poison value is always nan-boxed. This is
important if the value ends up being used by a freeze. If the value
isn't properly nan-boxed, it will be treated as a nan in FP contexts
regardless of its lower bits. If the freeze is also cast to an integer,
the lack of nan-boxing will be noticed and the integer will see the real
value of the lower bits.

Fixes #225455.
DeltaFile
+42-0llvm/test/CodeGen/RISCV/half-imm.ll
+42-0llvm/test/CodeGen/RISCV/double-imm.ll
+24-0llvm/test/CodeGen/RISCV/float-imm.ll
+16-0llvm/test/CodeGen/RISCV/bfloat-imm.ll
+7-0llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+131-05 files

LLVM/project 3648582orc-rt/lib/bedrock CMakeLists.txt, orc-rt/lib/bedrock/sys/windows Memory.cpp PageSize.cpp

[orc-rt] Add Windows page size detection (#224520)

Adds Windows page size detection for ORC-RT using GetSystemInfo.

Also updates the process-info regression coverage into a single test
DeltaFile
+21-0orc-rt/lib/bedrock/sys/windows/PageSize.cpp
+1-13orc-rt/test/unit/bedrock/ExecutorProcessInfoTest.cpp
+6-0orc-rt/test/regression/check-rt-process-info.test
+0-5orc-rt/test/regression/linux/check-rt-process-info.test
+0-4orc-rt/lib/bedrock/sys/windows/Memory.cpp
+1-0orc-rt/lib/bedrock/CMakeLists.txt
+29-226 files

LLVM/project 8273202llvm/include/llvm/IR Intrinsics.h, llvm/lib/IR AutoUpgrade.cpp Intrinsics.cpp

[LLVM][AutoUpgrade] Support default args on overloaded intrinsics (#217859)

This patch extends intrinsic `DefaultValue` auto-upgrade to overloaded
intrinsics.

---------

Signed-off-by: DharuniRAcharya <dharunira at nvidia.com>
DeltaFile
+33-5llvm/lib/IR/Intrinsics.cpp
+21-4llvm/test/TableGen/intrinsic-default-args.td
+12-7llvm/lib/IR/AutoUpgrade.cpp
+0-8llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
+8-0llvm/include/llvm/IR/Intrinsics.h
+74-245 files

LLVM/project 20e7308llvm/test/CodeGen/AMDGPU atomic_optimizations_global_pointer.ll atomic_optimizations_local_pointer.ll

[AMDGPU] Port Atomic-Optimizer to use Wave Reduction Intrinsics (#211757)

Currently the atomic optimizer creates reductions via intrinsics,
and introduces new control flows.
Replace this sub-target dependent logic with the existing
wave reduction intrinsics, which get lowered in the backend.
This patch ports the uniform-value and divergent-no-return-value cases.
To port the divergent-with-return-value cases, additional scan intrinsics
will need to be added.
DeltaFile
+4,817-5,217llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
+4,559-5,003llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
+1,783-2,031llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
+1,783-2,031llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
+1,574-1,388llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
+1,328-1,223llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
+15,844-16,89322 files not shown
+19,285-20,64128 files

LLVM/project 7f8640blld/ELF Config.h Relocations.cpp, lld/test/ELF x86-64-plt.s

[lld] Add -z mark-plt support for X86_64 (#206002)

Add option [no]mark-plt to enable it. Dynamic linker can change PLT
entries with JMPABS instruction on supported targets.

Ref.:
https://maskray.me/blog/2021-09-19-all-about-procedure-linkage-table#x86-plt-rewriting

Assisted-by: Claude Sonnet 4.6

---------

Co-authored-by: Claude Opus 4.8 <noreply at anthropic.com>
DeltaFile
+44-0lld/test/ELF/x86-64-plt.s
+12-0lld/ELF/Driver.cpp
+6-0lld/ELF/SyntheticSections.cpp
+5-0lld/ELF/OutputSections.cpp
+2-0lld/ELF/Relocations.cpp
+1-0lld/ELF/Config.h
+70-06 files

LLVM/project 1bfe989libcxx/test/benchmarks lit.local.cfg CMakeLists.txt, libcxx/utils/libcxx/test config.py format.py

[libc++] Build GoogleBenchmark directly from Lit (#224192)

Previously, we would build GoogleBenchmark against the just-built
library, not against the library being tested. When testing historical
versions of libc++ or other standard libraries, this breaks. So instead
of building Google Benchmark against the just-built library in CMake, do
it from Lit as part of the test suite's configuration.

I'm not a huge fan of using Lit as a poor man's build system and we
should make the CMake test suite self-contained, however this is a step
in the right direction and it removes a major coupling between the test
suite and the regular libc++ build.
DeltaFile
+223-0libcxx/utils/libcxx/test/googlebenchmark.py
+0-48libcxx/test/benchmarks/CMakeLists.txt
+8-5libcxx/utils/libcxx/test/format.py
+11-0libcxx/test/benchmarks/lit.local.cfg
+1-1libcxx/utils/libcxx/test/config.py
+0-1libunwind/test/configs/cmake-bridge.cfg.in
+243-553 files not shown
+243-589 files

LLVM/project 9328848libcxx/test/benchmarks/containers string.bench.cpp

[libc++] Add missing <cstring> include in the string benchmark (#225501)

The benchmark uses std::strlen but never includes <cstring>.
DeltaFile
+1-0libcxx/test/benchmarks/containers/string.bench.cpp
+1-01 files

LLVM/project 7e25a95.github/workflows libcxx-pr-conformance-tests.yaml

[libc++] Pin down the OS version of macOS runners (#225536)

Otherwise, we sometimes end up using runners that don't have Xcode 26.5
on them. Pinning this allows bumping the version explicitly when we are
ready to.
DeltaFile
+1-1.github/workflows/libcxx-pr-conformance-tests.yaml
+1-11 files

LLVM/project b011bcellvm/lib/Target/RISCV RISCVInstrInfoXTHead.td, llvm/lib/Target/RISCV/AsmParser RISCVAsmParser.cpp

[RISCV] Reject XTHeadMemIdx load-update with rd == rs1 (#225271)

In spec: "The encoding of this instruction with equal _rd_ and _rs1_ is
reserved."

This commit fixes the problem in Assembler, Codegen is already correct.

Link:
-
[th.lbia](https://github.com/XUANTIE-RV/thead-extension-spec/blob/d16533b5a9cd790c369d849ddf9a48159a5a235c/xtheadmemidx/lbia.adoc#L28)
-
[th.lbib](https://github.com/XUANTIE-RV/thead-extension-spec/blob/d16533b5a9cd790c369d849ddf9a48159a5a235c/xtheadmemidx/lbib.adoc#L28)
-
[th.lbuia](https://github.com/XUANTIE-RV/thead-extension-spec/blob/d16533b5a9cd790c369d849ddf9a48159a5a235c/xtheadmemidx/lbuia.adoc#L28)
-
[th.lbuib](https://github.com/XUANTIE-RV/thead-extension-spec/blob/d16533b5a9cd790c369d849ddf9a48159a5a235c/xtheadmemidx/lbuib.adoc#L28)
-
[th.lhia](https://github.com/XUANTIE-RV/thead-extension-spec/blob/d16533b5a9cd790c369d849ddf9a48159a5a235c/xtheadmemidx/lhia.adoc#L28)
-

    [24 lines not shown]
DeltaFile
+72-0llvm/test/MC/Disassembler/RISCV/xthead-invalid-overlap.txt
+49-0llvm/test/MC/RISCV/rv64xtheadmemidx-invalid.s
+27-3llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
+29-0llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
+12-2llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
+189-55 files

LLVM/project 3092b46llvm/lib/Target/RISCV RISCVInstrInfoXCV.td

[RISCV][MC] Mark the cv.insert is2 decoder as incomplete (#225574)

This commit addresses the post-commit review of
https://github.com/llvm/llvm-project/pull/225269
DeltaFile
+1-0llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
+1-01 files

LLVM/project 6c95a92llvm/lib/Transforms/Vectorize VPRecipeBuilder.h VPlanTransforms.h, llvm/test/Transforms/LoopVectorize cast-induction.ll

[LV] Narrow truncated inductions in a VPlan transform (#220730)

VPRecipeBuilder::tryToOptimizeInductionTruncate matched a truncate of an
induction phi on the underlying IR, and it built the narrowed
VPWidenIntOrFpInductionRecipe from the recipe behind the truncate's
operand.
VPlanTransforms already answers the same question on VPValues in
getOptimizableIVOf, which returns the header IV whether the operand is
the IV
itself or an add of the IV and its step.

Add VPlanTransforms::narrowInductionTruncates and do the match there,
reusing
getOptimizableIVOf and restricting it to the phi for now. The pass runs
right
after makeCallWideningDecisions, which preserves the ordering against
makeScalarizationDecisions that the recipe builder relied on. Building
the
recipe in the transform also removes the need for the conversion loop to

    [3 lines not shown]
DeltaFile
+63-0llvm/test/Transforms/LoopVectorize/cast-induction.ll
+61-0llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+6-49llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+9-0llvm/lib/Transforms/Vectorize/VPlanTransforms.h
+0-5llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
+1-0llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-before-after-all.ll
+140-546 files

LLVM/project 0eccf17clang/lib/Headers avx10v2auxintrin.h, clang/test/CodeGen/AArch64 neon-ldst-one.c

Merge branch 'main' into users/himadhith/refactor_strToNum_funcs
DeltaFile
+4,372-0clang/test/OpenMP/structured-bindings-codegen.cpp
+1,413-1,413clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
+1,403-1,403clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
+1,403-1,403clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
+0-2,567clang/test/CodeGen/AArch64/neon-ldst-one.c
+2,403-0clang/lib/Headers/avx10v2auxintrin.h
+10,994-6,7861,931 files not shown
+109,353-52,3141,937 files

LLVM/project 29cd2c5llvm/lib/ProfileData InstrProf.cpp, llvm/lib/Transforms/Instrumentation InstrProfiling.cpp

[PGO] Add GPU wave counters

Lane counts do not show how often a GPU wave reaches an instrumentation
point. A divergent wave can execute both paths even when few lanes take
one path.

Extend the GPU profiling helper to collect a wave count alongside each
existing lane counter. The first active lane increments the wave counter
once, using the same workgroup sampling decision as the lane counters.
Collect both channels together so shared functions use a consistent
counter layout across translation units. Workgroup sampling controls
profiling overhead.

Carry wave counts through raw and indexed profiles and weighted merging
as a separate channel. Preserve ordinary lane-flow counts and leave
blocks without instrumentation unmeasured.
DeltaFile
+39-43llvm/lib/ProfileData/InstrProf.cpp
+49-19llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
+60-0llvm/unittests/ProfileData/InstrProfTest.cpp
+51-0llvm/test/Instrumentation/InstrProfiling/gpu-wave-link.ll
+50-0llvm/test/tools/llvm-profdata/gpu-wave-counts.test
+38-0llvm/test/Instrumentation/InstrProfiling/gpu-wave-counts.ll
+287-6239 files not shown
+577-15745 files

LLVM/project b47a631libc/fuzzing/__support CMakeLists.txt, libc/src/__support freestore.h block.h

[libc] Implement dual freestore rotation for baremetal heap (#209811)

Implement dual FreeStore rotation in FreeListHeap under
LIBC_COPT_BAREMETAL_HEAP_ENABLE_FREESTORE_ROTATION option for baremetal
targets.

- Allocations pull from active store; free() quarantines blocks into
non-active store (1 - active).
- On allocation failure in active store, rotate() flips active index and
migrates/coalesces quarantined blocks into the new active store.
- Added 2-bit prev_free tracking in BlockRef metadata to distinguish
freestore indices.
- Added unit smoke tests and updated fuzzer for dual freestore rotation.

Assisted-by: Gemini and Claude based automation tool (human-in-the-loop)

---------

Co-authored-by: Yifan Zhu <yfzhu at google.com>
Co-authored-by: Claude Fable 5.1 <noreply at anthropic.com>
DeltaFile
+108-39libc/src/__support/freelist_heap.h
+117-4libc/test/src/__support/freelist_heap_test.cpp
+48-15libc/src/__support/block.h
+38-4libc/src/__support/freestore.h
+18-0libc/test/src/__support/CMakeLists.txt
+14-0libc/fuzzing/__support/CMakeLists.txt
+343-626 files not shown
+373-6212 files

LLVM/project ffeffcelldb/include/lldb/Target Process.h Target.h, lldb/include/lldb/Utility DataExtractor.h ConstString.h

[lldb] Consistently use "null-terminated" across LLDB (NFC) (#224801)

It appears that both spellings are correct, but "null terminator" is far
more common, while "NUL terminator" is technically precise regarding the
ASCII character name. Most common in LLDB was "NULL terminated" which is
the worst of both worlds. This rallies around "null-terminated".

- Adjective -> null-terminated
- Verb -> null-terminate
- Nouns left unhyphenated but lowercased: null terminator, null
termination
DeltaFile
+8-8lldb/unittests/Utility/DataEncoderTest.cpp
+8-8lldb/include/lldb/Utility/ConstString.h
+7-7lldb/include/lldb/Utility/DataExtractor.h
+6-7lldb/include/lldb/Target/Target.h
+6-6lldb/include/lldb/Target/Process.h
+5-5lldb/source/Utility/Stream.cpp
+40-4153 files not shown
+121-12359 files

LLVM/project 1f01cb4llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 narrowed-reduction-leaves-known-bits.ll

[SLP]Fix crash in bool bitmask reduction match after tree vectorization

The known bits of the narrowed reduction leaves were computed after the
tree vectorization, which drops the operands of the vectorized scalars,
so the analysis dereferenced null operands. Match the bitmask form before
the vectorization and pass the result to the emission.

Fixes #225538

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/225568
DeltaFile
+60-0llvm/test/Transforms/SLPVectorizer/X86/narrowed-reduction-leaves-known-bits.ll
+10-4llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+70-42 files