Does Swift's ARC Utilize Objective-C ARC Intrinsics in LLVM?

In the LLVM Language Reference Manual, there is a section on Objective-C ARC Runtime Intrinsics. It seems to exist to handle ARC-related logic in LLVM IR.

I'm curious whether Swift's ARC is also processed using these OBJC ARC Intrinsics, or if there is a separate one for Swift.

Does anyone know about this?

LLVM Language Reference Manual — LLVM 18.0.0git documentation

Objective-C Automatic Reference Counting (ARC) — Clang 18.0.0git documentation

1 Like

I would love to understand how this all works as well. I have been pondering forking Swift so I can get objc interop (by adjusting gnustep libobjc2) on Linux and some of the documentation regarding how objc is handled in swift is old.

1 Like