Repository navigation
Releases: mattmacy/llvm-project
Releases · mattmacy/llvm-project
Release list
clangd-patched v0.2
clangd-patched v0.2 — extends v0.1 with PCH AST pruning aggressive tier (C3) + in-memory preamble cache (C1.a).
New flags
--preamble-ast-pruning=off|conservative|aggressive— PCH AST pruning behind opt-in flag. Conservative ships in v0.1; aggressive ships in v0.2 (per plan v4: PreprocessingRecord-based macro usage tracking, FieldDecl::getInClassInitializer walk, full TemplateArgument referent table covering all 9 kinds + default args, Sema-superset associated-namespace seed for ADL customization points).--experimental-preamble-cache— bool flag. In-memory preamble cache (C1.a, Option A from preamble-persistence plan v3). On-disk persistence (C2) deferred — release/19.x lacks IncludeStructure / PragmaIncludes / MainFileMacros / pragma marks / Diag serialization needed for round-trip materializeFromCache.
Carry-over from v0.1
--background-index-memory-limit=<bytes>— LRU eviction of merged background index above the cap; lazy reload from on-disk shards.--max-concurrent-preamble-builds=<N>— independent throttle on concurrent preamble builds (each ~3-5 GB resident on UE TUs).
Build
- vendor commit: 0cfce9d (off llvm 19.1.7).
- ClangdTests: 1274/1274 passed (15.8s, 183 suites).
- binary md5: 02664e3cc840badf8f3d1f1c9842263d
- binary size: ~122 MB
Patch series (linear, off llvm 19.1.7 a9b3bec)
0cfce9de5 clangd: PCH AST pruning Commit 3 - aggressive tier (plan v4)
770787c2e clangd: preamble cache C1.a - in-memory storage (Option A)
54303038b docs: README — strip private-consumer references
1a11728d8 docs: README LURE-fork section with knob tuning + memory-control levers
a9b3becb9 clangd: PCH AST pruning Commit 2.1 - v3 plan deltas (HIGH+MED)
cb593fab4 clangd: PCH AST pruning Commit 2 - conservative reachability (v2-aligned)
396690588 clangd: PCH AST pruning Commit 1 - flag + plumbing + off-by-default no-op
56bd9a91d clangd: add --max-concurrent-preamble-builds via PreambleThrottler
717e83554 clangd: add --background-index-memory-limit with LRU eviction
clangd-patched v0.1 (LURE-local)
LLVM 19.1.7 + 5 LURE-local patches. Built from a9b3bec (post-C2.1).
Built binary
clangd— 107 MB, x86_64 Linux, md57ab1fbdd9508e700378b0689ddcd19c1. Built withcmake -G Ninja -S llvm -B build -DLLVM_ENABLE_PROJECTS=clang;clang-tools-extra -DLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_BUILD_TYPE=Release.
Patches in this release
| # | Vendor SHA | Description |
|---|---|---|
| 0001 | 717e835 | --background-index-memory-limit=N[K |
| 0002 | 56bd9a9 | --max-concurrent-preamble-builds=N — bounds in-flight preamble parses via PreambleThrottler. N=3 caps peak ~16-22 GB on UE-scale; -j=10 unbounded peaked at ~40 GB. |
| 0003 | 3966905 | PCH AST pruning Commit 1 — --preamble-ast-pruning=<off |
| 0004 | cb593fa | PCH AST pruning Commit 2 — v2-aligned conservative reachability pass (seed + numbered closure steps 1-8 + type-memo). |
| 0005 | a9b3bec | PCH AST pruning Commit 2.1 — v3 plan deltas: FieldDecl::getInClassInitializer() walk, full TemplateArgument referent table (all 9 kinds + default args), NestedNameSpecifier::getPrefix() chain, complete RecursiveASTVisitor enumeration, ADL customization-point seed. 5 new mutation-pin tests. |
Verification
- 9/9 PreamblePruningTest pass (42 ms total)
- 32/32 FileSymbols/FileIndex regression-clean
- --help reports all 3 flags
Usage
- Download
clangdasset. chmod +x clangd && sudo install -m755 clangd /usr/local/bin/clangd-patchedclangd-patched --background-index --background-index-memory-limit=10G --max-concurrent-preamble-builds=3 --preamble-ast-pruning=conservative
Aggressive tier wired but stub-only; macro filter impl deferred pending plan v4 macro-usage source revision (PreprocessingRecord-based, in flight).
Source
- clangd-bg-index-mem-limit-impl (0001+0002)
- clangd-pch-ast-pruning-impl-c1 (0003)
- clangd-pch-ast-pruning-impl-c2 (0004+0005)