%swift.type*, i8**) #1 { entry: %generic.arguments = alloca { %swift.type*, i8** }, align 8 %3 = bitcast { %swift.type*, i8** }* %generic.arguments to i8* %4 = getelementptr inbounds { %swift.type*, i8** }, { %swift.type*, i8** }* %generic.arguments, i32 0, i32 0 store %swift.type* %1, %swift.type** %4, align 8 %5 = getelementptr inbounds { %swift.type*, i8** }, { %swift.type*, i8** }* %generic.arguments, i32 0, i32 1 store i8** %2, i8*** %5, align 8 %6 = bitcast { %swift.type*, i8** }* %generic.arguments to i8* %7 = call swiftcc %swift.metadata_response @swift_getGenericMetadata( i64 %0, i8* %6, %swift.type_descriptor* @"$S9AnyAnimal0B3BoxCMn" ) %9 = extractvalue %swift.metadata_response %7, 0 %10 = extractvalue %swift.metadata_response %7, 1 %11 = insertvalue %swift.metadata_response undef, %swift.type* %9, 0 %12 = insertvalue %swift.metadata_response %11, i64 %10, 1 ret %swift.metadata_response %12 } 18