LLVM/project 0311761llvm/test/CodeGen/ARM vector-lrint.ll, llvm/test/CodeGen/X86 vector-llrint.ll fp128-libcalls-strict-gnu.ll

RuntimeLibcalls: Fix reporting incorrectly typed fp128 long double functions

l-suffixed long double math functions are fp128 only when the target's
long double is fp128. The default set provided them on every target that was
not x87 or ppc_fp128, so targets using double as long double wrongly reported
the fp128 l-suffixed functions.

Update tests that were reliant on phantom fp128 calls. These are only available
with glibc on select targets. In cases where the target supports the calls in
some triple, split the tests. In cases where the target has no fp128 library
support, delete the tests.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+21-3,157llvm/test/CodeGen/X86/fp128-libcalls-strict.ll
+5-2,046llvm/test/CodeGen/X86/fp128-libcalls.ll
+0-1,547llvm/test/CodeGen/X86/vector-lrint.ll
+1,283-0llvm/test/CodeGen/X86/fp128-libcalls-strict-gnu.ll
+0-1,205llvm/test/CodeGen/ARM/vector-lrint.ll
+0-868llvm/test/CodeGen/X86/vector-llrint.ll
+1,309-8,82347 files not shown
+2,503-12,08353 files

LLVM/project 1a08c40llvm/include/llvm/ExecutionEngine/Orc CallSPSViaEPC.h CallViaEPC.h, llvm/unittests/ExecutionEngine/Orc CMakeLists.txt CallSPSViaEPCTest.cpp

[ORC] Remove CallViaEPC.h and CallSPSViaEPC.h (#215086)

These provided EPC calls with pluggable serialization (EPCCaller /
EPCCall / SPSEPCCaller / SPSEPCCall). That role is now filled by the
RTBridge Proxy APIs (rt::Proxy + rt::sps::ProxySpec), and these headers
had no users other than their own unit test, so remove them along with
CallSPSViaEPCTest.
DeltaFile
+0-173llvm/unittests/ExecutionEngine/Orc/CallSPSViaEPCTest.cpp
+0-153llvm/include/llvm/ExecutionEngine/Orc/CallViaEPC.h
+0-95llvm/include/llvm/ExecutionEngine/Orc/CallSPSViaEPC.h
+0-1llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/Orc/BUILD.gn
+0-1llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
+0-4235 files

LLVM/project 3763538clang/lib/AST/ByteCode Compiler.cpp

[clang][bytecode][NFC] Fix some comment typos (#215078)
DeltaFile
+2-2clang/lib/AST/ByteCode/Compiler.cpp
+2-21 files

LLVM/project 0fc8b69llvm/lib/CodeGen/SelectionDAG LegalizeTypes.h LegalizeDAG.cpp, llvm/test/CodeGen/AMDGPU fneg.ll

DAG: Gracefully diagnose missing soft-float and strict-FP libcalls

Several soft-float legalization paths legalizer, called into a libcall
without checking whether the target provides one, fatally erroring for
fp128 operations on targets with no soft-float support.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+45-11llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
+35-0llvm/test/CodeGen/NVPTX/f128-no-libcall-error.ll
+10-4llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+2-2llvm/test/CodeGen/AMDGPU/fneg.ll
+1-0llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
+93-175 files

LLVM/project 44ac984llvm/lib/CodeGen/SelectionDAG LegalizeTypes.h LegalizeFloatTypes.cpp, llvm/test/CodeGen/X86 xrint-no-libcall-error.ll

DAG: Gracefully diagnose missing lrint/lround float-operand libcalls

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+32-36llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
+12-0llvm/test/CodeGen/X86/xrint-no-libcall-error.ll
+1-0llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
+45-363 files

LLVM/project adb8adcllvm/lib/CodeGen/SelectionDAG LegalizeIntegerTypes.cpp, llvm/test/CodeGen/X86 xrint-no-libcall-error.ll

DAG: Gracefully diagnose missing lrint/llrint/lround/llround libcall

Avoid hitting the fatal error in makeLibCall by emitting a diagnostic
if the library call is unsupported.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+28-0llvm/test/CodeGen/X86/xrint-no-libcall-error.ll
+13-3llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
+41-32 files

LLVM/project d99bd3ellvm/include/llvm/ExecutionEngine/Orc/RTBridge Calls.h Proxy.h, llvm/include/llvm/ExecutionEngine/Orc/RTBridge/SPS ProxySpecs.h

[ORC] Rename RTBridge Caller to Proxy (#215077)

Mechanical rename of the controller-side call handle, with no functional
change:

- rt::Caller<Sig> -> rt::Proxy<Sig> (and CallerBase / CallerInit /
callerInit / buildCallers -> Proxy*), RTBridge/Calls.h ->
RTBridge/Proxy.h.
- rt::sps::CallerSpec -> rt::sps::ProxySpec, RTBridge/SPS/Calls.h ->
RTBridge/SPS/ProxySpecs.h.
- The named proxies for function-calling wrappers gain a Call verb
(CallMainProxy, CallInt32Int32Proxy, ...), matching the
orc_rt_ci_sps_call_* wrappers they target.

This frees "caller" for the executor-side concept: a runtime function
that calls another function.

Also split the unit test along the same seam: ProxyTest.cpp covers
generic, protocol-agnostic rt::Proxy behavior via an in-process dispatch
(no serialization), and SPSProxiesTest.cpp covers the SPS proxies'
serialization round-trips.
DeltaFile
+0-318llvm/unittests/ExecutionEngine/Orc/SPSCallersTest.cpp
+256-0llvm/unittests/ExecutionEngine/Orc/ProxyTest.cpp
+209-0llvm/unittests/ExecutionEngine/Orc/SPSProxiesTest.cpp
+0-206llvm/include/llvm/ExecutionEngine/Orc/RTBridge/Calls.h
+206-0llvm/include/llvm/ExecutionEngine/Orc/RTBridge/Proxy.h
+94-0llvm/include/llvm/ExecutionEngine/Orc/RTBridge/SPS/ProxySpecs.h
+765-5247 files not shown
+783-63513 files

LLVM/project 14c563ellvm/test/Transforms/LoopVectorize outer_loop_contiguous.ll

[VPlan] Add tests for outer-loop accesses with irregular types (NFC). (#215075)

Add coverage for stride-1 outer-loop accesses of element types that are
bit-packed in vectors (i1, i4).

While touching the file, remove some unnecessary checks.
DeltaFile
+318-125llvm/test/Transforms/LoopVectorize/outer_loop_contiguous.ll
+318-1251 files

LLVM/project c447f60llvm/lib/Target/Sparc/MCTargetDesc SparcAsmBackend.cpp, llvm/test/MC/Sparc/Relocations relocation-specifier.s absolute-hi-lo.s

[SPARC] Fix %hi/%lo of absolute expressions in PIC mode (#215066)

adjustPICRelocation maps %hi/%lo to GOT22/PC22 or GOT10/PC10 at parse
time, before the operand is known to be absolute. adjustFixupValue has
no case for the GOT types, so an absolute operand encodes the unshifted
value:

Encode %got22/%got10 like %hi/%lo. Also drop them as input syntax; GNU
as has no such operators.
DeltaFile
+35-0llvm/test/MC/Sparc/Relocations/absolute-hi-lo.s
+14-0llvm/test/MC/Sparc/Relocations/relocation-specifier.s
+4-0llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
+53-03 files

LLVM/project 2f09d67llvm/lib/CodeGen/SelectionDAG LegalizeTypes.h LegalizeDAG.cpp, llvm/test/CodeGen/AMDGPU fneg.ll

DAG: Gracefully diagnose missing soft-float and strict-FP libcalls

Several soft-float legalization paths legalizer, called into a libcall
without checking whether the target provides one, fatally erroring for
fp128 operations on targets with no soft-float support.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+45-11llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
+35-0llvm/test/CodeGen/NVPTX/f128-no-libcall-error.ll
+10-4llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+2-2llvm/test/CodeGen/AMDGPU/fneg.ll
+1-0llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
+93-175 files

LLVM/project 5371bcallvm/include/llvm/Support GenericDomTree.h, llvm/lib/Transforms/Vectorize SLPVectorizer.cpp

[DomTree] Remove the DomTreeNodeBase overload of isReachableFromEntry. NFC (#215068)

The overload is `return A;`, which is not useful.
DeltaFile
+4-7llvm/include/llvm/Support/GenericDomTree.h
+1-3llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+5-102 files

LLVM/project ff2f56cllvm/include/llvm/Support KnownBits.h, llvm/lib/CodeGen/GlobalISel GISelValueTracking.cpp

[GlobalISel] Add G_ROTL/G_ROTR to computeNumSignBits (#213364)

Port SelectionDAG's `ROTL`/`ROTR` handling to
`GISelValueTracking::computeNumSignBits`.
Addresses one of the subtasks of #150515.

---
Assisted by Claude (Anthropic).
DeltaFile
+67-1llvm/test/CodeGen/AArch64/GlobalISel/knownbits-rotl-rotr.mir
+6-18llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+23-0llvm/lib/Support/KnownBits.cpp
+10-0llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
+8-0llvm/include/llvm/Support/KnownBits.h
+114-195 files

LLVM/project 640cfb4clang/lib/CIR/CodeGen CIRGenBuiltinAMDGPU.cpp, clang/test/CIR/CodeGenHIP builtins-amdgcn-gfx10.hip builtins-amdgcn-gfx11.hip

[CIR][AMDGPU] Add support for AMDGCN permlane builtins (#197526)

Adds codegen for the following AMDGCN permlane builtins:

- __builtin_amdgcn_permlane16
- __builtin_amdgcn_permlane64
- __builtin_amdgcn_permlanex16

These are lowered to the corresponding `llvm.amdgcn.permlane16`,
`llvm.amdgcn.permlanex16`, and `llvm.amdgcn.permlane64` intrinsics.
DeltaFile
+110-0clang/test/CIR/CodeGenHIP/builtins-amdgcn-gfx11.hip
+58-0clang/test/CIR/CodeGenHIP/builtins-amdgcn-gfx10.hip
+9-6clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
+177-63 files

LLVM/project fb7a4edllvm/lib/CodeGen/SelectionDAG LegalizeTypes.h LegalizeDAG.cpp, llvm/test/CodeGen/NVPTX f128-no-libcall-error.ll

DAG: Gracefully diagnose missing soft-float and strict-FP libcalls

Several soft-float legalization paths legalizer, called into a libcall
without checking whether the target provides one, fatally erroring for
fp128 operations on targets with no soft-float support.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+45-11llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
+35-0llvm/test/CodeGen/NVPTX/f128-no-libcall-error.ll
+10-4llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+1-0llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
+91-154 files

LLVM/project 05142fcflang/include/flang/Optimizer/Dialect FIROps.td, flang/lib/Optimizer/Dialect FIROps.cpp

[flang] Reject module-scope fir.alloca (#214157)

`fir.alloca` represents a stack allocation, but its verifier currently
accepts operations placed directly in a `builtin.module`. During
FIR-to-LLVM conversion, `AllocaOpConversion::matchAndRewrite` calls
`getBlockForAllocaInsert`, which performs a `dyn_cast` to
`OutlineableOpenMPOpInterface` on the alloca's parent op.

For a module-level alloca the expected parent function/block does not
exist and the cast/assert fails.

This patch rejectsdirect module-scope `fir.alloca` operations during FIR
verification.

Assisted-by: codex

---------

Signed-off-by: Keshav Vinayak Jha <keshavvinayakjha at gmail.com>
DeltaFile
+5-0flang/test/Fir/invalid.fir
+3-0flang/include/flang/Optimizer/Dialect/FIROps.td
+2-0flang/lib/Optimizer/Dialect/FIROps.cpp
+10-03 files

LLVM/project d8145e7flang/include/flang/Semantics tools.h, flang/lib/Lower ConvertVariable.cpp

[Flang] Coarray allocation, update error for pointer component #193829 (#194651)

The TODO message in `verify()` was not completly displayed, so it has
been replaced by `emitErrorOp`.
In addition, the test in `ConvertVariable` has been updated by adding
pointer direct component case.
Fix #193829

(cherry picked from commit 9adc2537177d0813301b3eab1bae906735c984a4)
DeltaFile
+15-3flang/lib/Lower/ConvertVariable.cpp
+3-3flang/lib/Optimizer/Dialect/MIF/MIFOps.cpp
+5-0flang/lib/Semantics/tools.cpp
+2-1flang/test/Lower/MIF/coarray_allocation3.f90
+2-0flang/include/flang/Semantics/tools.h
+27-75 files

LLVM/project 4e814b8lldb/bindings/interface SBUnixSignalsExtensions.i, lldb/test/API/python_api/signals TestSignalsAPI.py

[lldb] Fix typo in SBUnixSignals.get_unix_signals_list (#213527)

Found when looking through the generated Python file. `sig` doesn't
exist in that context, it should be `idx`.

(cherry picked from commit def770df8325fb60107c24a2de3068aa762754ab)
DeltaFile
+6-0lldb/test/API/python_api/signals/TestSignalsAPI.py
+1-1lldb/bindings/interface/SBUnixSignalsExtensions.i
+7-12 files

LLVM/project 6f8827b.github/workflows release-binaries.yml

workflows/release-binaries: Always dump Wix log on Windows (#212056)

Dumping it only on successful builds isn't useful.

(cherry picked from commit cb274010df165e9187233b50babc89fff2103ed5)
DeltaFile
+1-1.github/workflows/release-binaries.yml
+1-11 files

LLVM/project 35c1f3a.github/workflows release-documentation.yml release-sources.yml

workflows: Remove unnecessary checkouts before uses of upload-release-artifact (#213830)

The workflow is now self-contained and checks out its own scripts, so we
don't need to do this in the calling workflow. The '$' prefix in the
uses tag tells github actions to load the action from the repository
directly rather than searching for it on the local file system.

https://github.blog/changelog/2026-07-30-reference-same-repository-actions-with-self-repository-syntax/
(cherry picked from commit 2437b03ee6cc066a66503f6dcb69e1c613f059be)
DeltaFile
+1-13.github/workflows/release-binaries.yml
+1-11.github/workflows/release-sources.yml
+1-8.github/workflows/release-documentation.yml
+3-323 files

LLVM/project f579ae6clang/lib/AST/ByteCode Pointer.cpp

[clang][bytecode][NFC] Use a switch in Pointer::toAPValue (#215054)
DeltaFile
+11-5clang/lib/AST/ByteCode/Pointer.cpp
+11-51 files

LLVM/project fffdf5dbolt/lib/Rewrite BuildIDRewriter.cpp, bolt/test build-id-patch.c

[BOLT] Flip the first and last bits of build ID (#214784)

With only the last bit in a build ID flipped, some crash analysis or
symbolication tools that derive module ID from the first 16 bytes are
not able to differentiate pre- and post-BOLT libraries if both are
archived. So besides the last bit, we now also flip the high bit of
the first byte in a build ID.
DeltaFile
+17-0bolt/test/build-id-patch.c
+5-4bolt/lib/Rewrite/BuildIDRewriter.cpp
+22-42 files

LLVM/project 25fdcd7llvm/lib/IR Dominators.cpp

[DomTree] Remove redundant getNode() calls. NFC (#215050)
DeltaFile
+18-11llvm/lib/IR/Dominators.cpp
+18-111 files

LLVM/project ef32874flang/lib/Semantics resolve-names.cpp, flang/test/Semantics data26.f90 data25.f90

[flang] Defer typing of forward-referenced DATA implied-DO indices (#214473)

F2023 19.4 p5 gives a data-i-do-variable without an explicit
integer-type-spec the type that its name would have as a variable of the
innermost scoping unit including the DATA statement. That is a property
of the whole scoping unit: since a data-stmt is a declaration-construct,
the type declaration statement establishing the name's type may follow
the DATA statement in the same specification part. Name resolution
resolved the index eagerly at the DATA statement, so under IMPLICIT
NONE(TYPE) a later declaration drew a spurious "No explicit type
declared" error, and without IMPLICIT NONE a later declaration with a
non-default kind was ignored.

Defer the typing of such indices to the end of the specification part,
mirroring the existing deferral for ordinary DATA statement objects.
DATA statements in an execution part keep the current eager resolution.

Assisted-by: AI
DeltaFile
+79-0flang/test/Semantics/data25.f90
+41-2flang/lib/Semantics/resolve-names.cpp
+34-0flang/test/Semantics/data26.f90
+154-23 files

LLVM/project a730713clang-tools-extra/docs/clang-tidy/checks/bugprone redundant-branch-condition.rst redundant-branch-condition.md

[clang-tidy][docs] Rename bugprone check docs to Markdown [3/4] (#214421)

Tracking issue: #201242

See the [migration guide] for more information.

[migration guide]:

https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines

This is the mechanical rename for part 3/4 of the remaining `bugprone`
check documentation.
The rewrite is provided by the next PR in this stack.
DeltaFile
+0-328clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
+328-0clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.md
+0-125clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-char-misuse.rst
+125-0clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-char-misuse.md
+0-107clang-tools-extra/docs/clang-tidy/checks/bugprone/redundant-branch-condition.rst
+107-0clang-tools-extra/docs/clang-tidy/checks/bugprone/redundant-branch-condition.md
+560-56034 files not shown
+1,449-1,44940 files

LLVM/project 5d34322clang-tools-extra/docs/clang-tidy/checks/bugprone stringview-nullptr.md suspicious-enum-usage.md

[clang-tidy][docs] Rewrite bugprone check docs to Markdown [3/4] (#214422)

Tracking issue: #201242

See the [migration guide] for more information.

[migration guide]:

https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines

This rewrites part 3/4 of the remaining bugprone check documentation
from reST to MyST Markdown.

AI Usage: This was prepared with rst2myst and GPT5.6-assisted cleanup.
I manually verified that the documentation renders as expected.

Preview site:
https://broken.life/llvm-staging/bugprone-markdown-port/
DeltaFile
+206-222clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.md
+77-78clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-char-misuse.md
+77-78clang-tools-extra/docs/clang-tidy/checks/bugprone/redundant-branch-condition.md
+58-62clang-tools-extra/docs/clang-tidy/checks/bugprone/signal-handler.md
+51-51clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-enum-usage.md
+40-39clang-tools-extra/docs/clang-tidy/checks/bugprone/stringview-nullptr.md
+509-53014 files not shown
+867-91320 files

LLVM/project fbd940fclang-tools-extra/docs/clang-tidy/checks/bugprone stringview-nullptr.md suspicious-enum-usage.md

[clang-tidy][docs] Rewrite bugprone check docs to Markdown [3/4]
DeltaFile
+206-222clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.md
+77-78clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-char-misuse.md
+77-78clang-tools-extra/docs/clang-tidy/checks/bugprone/redundant-branch-condition.md
+58-62clang-tools-extra/docs/clang-tidy/checks/bugprone/signal-handler.md
+51-51clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-enum-usage.md
+40-39clang-tools-extra/docs/clang-tidy/checks/bugprone/stringview-nullptr.md
+509-53014 files not shown
+867-91320 files

LLVM/project 067916bmlir/include/mlir/Dialect/LLVMIR LLVMOps.td, mlir/include/mlir/Interfaces ControlFlowInterfaces.td

[mlir][Transforms] Check successor operand types before merging identical blocks (#215036)

Merging identical blocks threads their differing values through the
predecessors' terminators as new successor operands, but the only
legality question asked of a predecessor was whether its terminator
implements `BranchOpInterface` (`ableToUpdatePredOperands`). The
transform's implicit assumption is that such a terminator can forward
operands of **any** type — false for dialects whose branch ops constrain
successor operand types. The LLVM dialect terminators declare theirs as
`Variadic<LLVM_Type>`, so merging two blocks that differ in, say, an
index-typed operand rewrote a verifying `llvm.cond_br` into one that no
longer verifies.

Reproducer (mixed-dialect IR of the kind a progressive lowering/raising
pipeline carries), via `mlir-opt
-pass-pipeline='builtin.module(func.func(canonicalize{region-simplify=aggressive}))'`:

```mlir
func.func @f(%m: memref<4xf32>, %c: i1) {

    [33 lines not shown]
DeltaFile
+48-0mlir/test/Dialect/LLVMIR/block-merge-successor-operand-types.mlir
+30-7mlir/lib/Transforms/Utils/RegionUtils.cpp
+28-0mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
+16-0mlir/include/mlir/Interfaces/ControlFlowInterfaces.td
+122-74 files

LLVM/project 1f112d6llvm/include/llvm/ExecutionEngine/JITLink JITLinkMemoryManager.h JITLinkDylib.h, llvm/lib/ExecutionEngine/JITLink CMakeLists.txt JITLinkDylib.cpp

[JITLink] Notify memory managers on JITLinkDylib destruction (#214739)

Add JITLinkDylib::notifyOnDestruction so a JITLinkMemoryManager can
register to be told when a JITLinkDylib it served is being torn down,
giving it a chance to release resources held on the dylib's behalf (e.g.
reserved address ranges). Notification may be handled asynchronously:
once notifyDestroying is called, the JITLinkDylib is guaranteed not to
make further use of those resources.
DeltaFile
+68-0llvm/unittests/ExecutionEngine/JITLink/JITLinkDylibTest.cpp
+18-5llvm/include/llvm/ExecutionEngine/JITLink/JITLinkDylib.h
+19-0llvm/lib/ExecutionEngine/JITLink/JITLinkDylib.cpp
+9-0llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h
+1-0llvm/unittests/ExecutionEngine/JITLink/CMakeLists.txt
+1-0llvm/lib/ExecutionEngine/JITLink/CMakeLists.txt
+116-56 files

LLVM/project eb347afllvm/include/llvm/ExecutionEngine/Orc/RTBridge Calls.h, llvm/include/llvm/ExecutionEngine/Orc/RTBridge/SPS Calls.h

[ORC] Make RTBridge Callers value types; add buildCallers (#215046)

rt::Caller was an abstract base with a per-protocol subclass
(rt::sps::Caller), so holding one polymorphically meant a vtable and a
heap allocation, and each caller stored an ExecutionSession reference.

Replace that with a value type: rt::Caller<Sig> holds a callee address
and a dispatch function pointer (CallerBase provides the address,
operator bool, and calleeAddr()). The serialization/dispatch protocol is
erased behind the function pointer instead of a class hierarchy, so
callers are copyable, carry no vtable or heap allocation, can be stored
inline, and take the ExecutionSession at the call rather than storing
it. This lets non-templated generic code hold and invoke callers without
knowing the protocol.

rt::sps::CallerSpec supplies a caller's dispatch function and
controller-interface name; the named specs (MainCallerSpec,
VoidVoidCallerSpec, ...) replace the previous rt::sps caller subclasses.


    [3 lines not shown]
DeltaFile
+95-107llvm/unittests/ExecutionEngine/Orc/SPSCallersTest.cpp
+97-22llvm/include/llvm/ExecutionEngine/Orc/RTBridge/Calls.h
+24-73llvm/include/llvm/ExecutionEngine/Orc/RTBridge/SPS/Calls.h
+10-11llvm/lib/ExecutionEngine/Orc/COFFVCRuntimeSupport.cpp
+10-8llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
+236-2215 files

LLVM/project f38cae2clang-tools-extra/docs/clang-tidy/checks/bugprone stringview-nullptr.md suspicious-enum-usage.md

[clang-tidy][docs] Rewrite bugprone check docs to Markdown [3/4]
DeltaFile
+206-222clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.md
+77-78clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-char-misuse.md
+77-78clang-tools-extra/docs/clang-tidy/checks/bugprone/redundant-branch-condition.md
+58-62clang-tools-extra/docs/clang-tidy/checks/bugprone/signal-handler.md
+50-50clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-enum-usage.md
+40-39clang-tools-extra/docs/clang-tidy/checks/bugprone/stringview-nullptr.md
+508-52914 files not shown
+866-91120 files