bb0(%0 : $Int32, %1 : $UnsafeMutablePointer<Optional<UnsafeMutablePointer<Int8>>>): %2 = integer_literal $Builtin.Word, 1 // user: %4 // function_ref _allocateUninitializedArray<A>(_:) %3 = function_ref @$ss27_allocateUninitializedArrayySayxG_BptBwlF : $@convention(thin) <τ_0_0> (Builtin.Word) -> (@owned Array<τ_0_0>, Builtin.RawPointer) // user: %4 %4 = apply %3<Any>(%2) : $@convention(thin) <τ_0_0> (Builtin.Word) -> (@owned Array<τ_0_0>, Builtin.RawPointer) // user: %5 (%5, %6) = destructure_tuple %4 // users: %23, %7 %7 = begin_borrow %5 // users: %21, %8 %8 = struct_extract %7, #Array._buffer // user: %9 %9 = struct_extract %8, #_ArrayBuffer._storage // user: %10 %10 = struct_extract %9, #_BridgeStorage.rawValue // user: %11 %11 = unchecked_ref_cast %10 to $__ContiguousArrayStorageBase // user: %12 %12 = ref_tail_addr %11, $Any // user: %19 %13 = string_literal utf8 "hello world" // user: %18 %14 = integer_literal $Builtin.Word, 11 // user: %18 %15 = integer_literal $Builtin.Int1, -1 // user: %18 %16 = metatype $@thin String.Type // user: %18 // function_ref String.init(_builtinStringLiteral:utf8CodeUnitCount:isASCII:) %17 = function_ref @$sSS21_builtinStringLiteral17utf8CodeUnitCount7isASCIISSBp_BwBi1_tcfC : $@convention(method) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %18 %18 = apply %17(%13, %14, %15, %16) : $@convention(method) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %20 %19 = init_existential_addr %12, $String // user: %20 store %18 to [init] %19 // id: %20 end_borrow %7 // id: %21 // function_ref _finalizeUninitializedArray<A>(_:) %22 = function_ref @$ss27_finalizeUninitializedArrayySayxGABnlF : $@convention(thin) <τ_0_0> (@owned Array<τ_0_0>) -> @owned Array<τ_0_0> // user: %23 %23 = apply %22<Any>(%5) : $@convention(thin) <τ_0_0> (@owned Array<τ_0_0>) -> @owned Array<τ_0_0> // users: %32, %29 // function_ref default argument 1 of print(_:separator:terminator:) %24 = function_ref @$ss5print_9separator10terminatoryypd_S2StFfA0_ : $@convention(thin) () -> @owned String // user: %25 %25 = apply %24() : $@convention(thin) () -> @owned String // users: %31, %29 // function_ref default argument 2 of print(_:separator:terminator:) %26 = function_ref @$ss5print_9separator10terminatoryypd_S2StFfA1_ : $@convention(thin) () -> @owned String // user: %27 %27 = apply %26() : $@convention(thin) () -> @owned String // users: %30, %29 // function_ref print(_:separator:terminator:) %28 = function_ref @$ss5print_9separator10terminatoryypd_S2StF : $@convention(thin) (@guaranteed Array<Any>, @guaranteed String, @guaranteed String) -> () // user: %29 %29 = apply %28(%23, %25, %27) : $@convention(thin) (@guaranteed Array<Any>, @guaranteed String, @guaranteed String) -> () destroy_value %27 // id: %30 destroy_value %25 // id: %31 destroy_value %23 // id: %32 %33 = integer_literal $Builtin.Int32, 0 // user: %34 %34 = struct $Int32 (%33) // user: %35 return %34 // id: %35 } // end sil function 'main'