DynamicIntrinsicResolver
@dynamicMemberLookup
public struct DynamicIntrinsicResolver
This type provides a dynamic member lookup facility for LLVM intrinsics.
It is not possible to create a DynamicIntrinsicResolver in user code.
One is provided by Intrinsic.ID.
-
Performs a dynamic lookup for the normalized form of an intrinsic selector.
For any LLVM intrinsic selector of the form
llvm.foo.bar.baz, the name of the corresponding dynamic member is that name with any dots replaced by underscores.For example:
llvm.foo.bar.baz -> Intrinsic.ID.llvm_foo_bar_baz llvm.stacksave -> Intrinsic.ID.llvm_stacksave llvm.x86.xsave64 -> Intrinsic.ID.llvm_x86_xsave64Any existing underscores do not need to be replaced, e.g.
llvm.va_copybecomesIntrinsic.ID.llvm_va_copy.For overloaded intrinsics, the non-overloaded prefix excluding the explicit type parameters is used and normalized according to the convention above.
For example:
llvm.sinf64 -> Intrinsic.ID.llvm_sin llvm.memcpy.p0i8.p0i8.i32 -> Intrinsic.ID.llvm_memcpy llvm.bswap.v4i32 -> Intrinsic.ID.llvm_bswapDeclaration
Swift
public subscript(dynamicMember selector: String) -> Selector { get }Parameters
selectorThe LLVMSwift form of an intrinsic selector.
DynamicIntrinsicResolver Structure Reference