[Test][CAS] Fix PluginCASTest DLL discovery on Windows multi-config generators and MinGW config (#215099)
The test was computing the plugin path by walking up 3 directory levels
from the test executable to reach the build root, then appending
bin/CASPluginTest.dll. This fails on MSVC multi-config builds where an
extra Release/ subdirectory exists. Place the plugin library next to
the test executable instead, matching the pattern used by the Passes
plugin tests.
Also fix MinGW config, in mingw build configurations, the plugin is
named libCASTestPlugin.dll, while it resides in the bin directory.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
sysutils/leaves: Add port: Text-mode disk usage visualization utility
Leaves is a disk usage analyzer inspired by WinDirStat and QDirStat.
It shows files and directories in a hierarchy of nested
rectangles. The area of a rectangle is proportional to its size. A 200
MB file will have twice the size as a sibling with 100 MB. The parent
directory will have about 3 times the area of the smaller file.
However, due to the limited resolution of working at a character
level, this is a fairly coarse approximation compared to a graphical
tool. On the other hand, this will work over remote shell connections
when graphical desktop environments are not available or impractical.
WWW: https://github.com/patonw/leaves
[ORC] Reimplement EPCGenericDylibManager on RTBridge proxies (#215256)
Reimplement EPCGenericDylibManager's open/resolve operations using
rt::Proxy objects rather than direct
ExecutorProcessControl::callSPSWrapper* calls, bringing it in line with
the other RTBridge-based executor accessors. Behavior is unchanged; the
public open/lookup surface is the same aside from the removals noted
below.
Implementation details:
* The SymbolAddrs struct (three ExecutorAddrs) becomes Bindings: the
manager instance address plus rt::Proxy handles for open and resolve.
Bindings members are protocol-agnostic, so a client can build their own
for another protocol and pass them to the constructor; Create resolves
them via buildProxies against a JITDylib / the bootstrap JITDylib.
* open/resolve return SPSExpected, so this relies on the proxy layer's
Error/Expected support to deliver a single flattened Expected, replacing
[14 lines not shown]
website: Add navigation between the documents of a release
Every release publishes a set of sibling documents (announcement, signed
checksums, upgrading or installation instructions, hardware notes, release
notes, errata, readme and schedule), but they are only listed together on
the release index page. Once inside one of them there is no way to reach
the others without editing the URL, which is inconvenient for the documents
most often read before an update, such as the errata and the upgrading
instructions.
Add a discreet list of the other documents of the same release under the
page title. The list holds the documents the release index page links to,
so releases shipping a different set of documents are handled without any
per-release maintenance, and the documents of an upcoming release stay
hidden until the index publishes them.
Only releases whose directory has its own _index.adoc are covered, which is
10.2R and newer.
[5 lines not shown]
[Hexagon] Fix reg class for C2_cmoveit/cmoveif cext lowering (#212911)
HexagonConstExtenders::getDirectRegReplacement mapped C2_cmoveit and
C2_cmoveif (32-bit predicated immediate moves into IntRegs) to A2_tfrpt
/ A2_tfrpf - the 64-bit DoubleRegs predicated transfers. When the
const-extender pass found a shared extended immediate profitable to
hoist into a register, it rewrote
%d:intregs = C2_cmoveit %p:predregs, #imm
into
%d:intregs = A2_tfrpt %p:predregs, %hoisted:intregs (BAD)
producing a paired-register transfer with IntRegs operands and tripping
the machine verifier:
Bad machine code: Illegal virtual register for instruction
Expected a DoubleRegs register, but got a IntRegs register
[9 lines not shown]
[SandboxVec][SeedCollector] Fix seed insert if can't determine mem access distance (#213807)
Up until now we would insert a memory instruction in a MemSeedBundle
even if we could not determine the access distance against the existing
bundle instructionss. This was causing a crash in the invocation of
upper_bound() as the vector could no longer be partitioned.
The fix is to extend the functions that check the memory access ordering
to return nullopt when the access difference can't be determined.
[lldb] Use StringRef when creating Listeners (#214863)
This is primarily motivated to remove the last ConstString from
Debugger.cpp. It would have been possible to write this change without
changing Listener, but then I noticed a few places where we would have
benefitted from changing the interface.
[docs] Finish MyST migration for selected LLVM docs (#214618)
Tracking issue: #201242
See the [migration guide] for more information.
[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
This is a stacked PR based on #214616 , which will be a standalone
commit that
renames *.rst -> *.md before this PR lands for history preservation
purposes.
This was prepared with rst2myst plus LLM-assisted cleanup. I paged
through all the generated HTML looking for migration artifacts, and all
of the differences I could find appear to be formatting error
corrections.
[docs] Rename selected LLVM docs to Markdown (#214616)
Tracking issue: #201242
See the [migration guide] for more information.
[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
This is the initial straight rename commit. It will probably break the
docs build, but it has to be a separate PR for blame preservation
purposes.