Slide 39
Slide 39 text
define hidden swiftcc void @"$s1a4mainyyF"() local_unnamed_addr #1 {
entry:
%0 = tail call swiftcc %swift.metadata_response @"$s1b6RecordVMa"(i64 0) #3
%1 = extractvalue %swift.metadata_response %0, 0
%2 = getelementptr inbounds %swift.type, %swift.type* %1, i64 -1
%3 = bitcast %swift.type* %2 to i8***
%.valueWitnesses = load i8**, i8*** %3, align 8, !invariant.load !13, !dereferenceable !14
%4 = getelementptr inbounds i8*, i8** %.valueWitnesses, i64 8
%5 = bitcast i8** %4 to i64*
%size = load i64, i64* %5, align 8, !invariant.load !13
%x = alloca i8, i64 %size, align 16
call void @llvm.lifetime.start.p0i8(i64 -1, i8* nonnull %x)
%6 = bitcast i8* %x to %swift.opaque*
call swiftcc void @"$s1b6RecordVACycfC"(%swift.opaque* noalias nocapture nonnull sret %6)
%7 = getelementptr inbounds i8*, i8** %.valueWitnesses, i64 1
%8 = bitcast i8** %7 to void (%swift.opaque*, %swift.type*)**
%9 = load void (%swift.opaque*, %swift.type*)*,
void (%swift.opaque*, %swift.type*)** %8, align 8, !invariant.load !13
call void %9(%swift.opaque* noalias nonnull %6, %swift.type* %1) #4
call void @llvm.lifetime.end.p0i8(i64 -1, i8* nonnull %x)
ret void
}
39