[ORC] Drive SharedMemoryMapper via proxies (#224786)
Add a SharedMemoryMapBindings handle (SharedMemoryMap.h) and its SPS
proxy specs (SharedMemoryMapSPS.h), mirroring SimpleMemoryMap, and bind
SharedMemoryMapper to it in place of its four callSPSWrapperAsync sites.
Dispatch and callee errors now share one channel, dropping the per-call
SerializationErr handling. Updates the llvm-jitlink and clang-repl
factories and the unit test.
graphics/R-cran-Cairo: New port
R graphics device using the cairographics library for high-quality
vector (PDF, PostScript, SVG) and bitmap (PNG, JPEG, TIFF) output,
plus X11/Win32 display backends.
Reviewed by: fuz, mat (previous revision)
Differential Revision: https://reviews.freebsd.org/D22681
[AMDGPU] Narrow provably-I32 address offsets
Add a `tryNarrowToI32()` function that uses KnowsBits to detect 64-bit
offests that could be in a 32-bit register, allowing us to match
base + offset cases that don't involve literal base + (ext offset)
nodes.
Apply this to global_* instructions and the scalar memory instructions
that take a scalar offset.
This does leave a few dead copies when we have to bail out of the SMEM
handling for creatining a negative offset, but those don't have
end-to-end effect and it looks like you could already get dead MOVs
from that codepath.
AI disclosure: Claude wrote the code, I looked at it.
[AMDGPU] Pre-commit tests for narrowing offsets in address matching
When trying to match either SADDR+VADDR global_* or the s_load_* that
takes a 32-bit offset, we don't check for cases where a 64-bit value
is trivially truncatable to 32 bits. Add tests for these cases.
AI disclosure: Claude wrote these tests
[llvm][timing] Reset recycled timer with different names. (#218492)
Legacy pass-manager timers are keyed by the pass instance pointer and
the map entry outlives the pass, so a pass allocated at a recycled
address inherits the previous pass's timer and reports its time under
that pass's name. When a recycled instance which has different name can
end up having leftover name comes from whichever target ran before.
Re-create the timer when the name no longer matches.
fixes: #218491
[Option] Emit the Info table from TableGen. NFC (#224508)
Each tool expands OPTION into an Info array and passes it with up to
five side tables to GenericOptTable or PrecomputedOptTable, so a new
side table touches every tool.
Emit the Info table from TableGen with numeric group and alias IDs and
bundle all tables into an OptTable::Tables aggregate under one
OPTTABLE_CODE block, so a tool just constructs OptTable(OptionTables).
Every table now uses the precomputed prefix union, which removes
GenericOptTable and PrecomputedOptTable.
Aided by Opus 5
ocspcheck: do not use OCSP_TRUSTOTHER
Like in libtls, ensure that the provided OCSP staple is validated by an
OCSP trust chain to the root.
From Acts1631
ok beck kenjiro