Skip to content

Instantly share code, notes, and snippets.

@chriseidhof
Created August 10, 2015 12:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chriseidhof/65289b69c0cc778fbf63 to your computer and use it in GitHub Desktop.
Save chriseidhof/65289b69c0cc778fbf63 to your computer and use it in GitHub Desktop.
SIL verification failed: instruction isn't dominated by its bb argument operand: Dominance->dominates(valueBBA->getParent(), I->getParent())
Verifying instruction:
%110 = argument of bb6 : $Int // users: %111, %115, %649, %671, %703
-> debug_value %110 : $Int // let $match // id: %649
In function:
// main
sil @main : $@convention(c) (Int32, UnsafeMutablePointer<UnsafeMutablePointer<Int8>>) -> Int32 {
bb0(%0 : $Int32, %1 : $UnsafeMutablePointer<UnsafeMutablePointer<Int8>>):
// function_ref Swift._didEnterMain (Swift.Int32, argv : Swift.UnsafeMutablePointer<Swift.UnsafeMutablePointer<Swift.Int8>>) -> ()
%2 = function_ref @_TFSs13_didEnterMainFTVSs5Int324argvGVSs20UnsafeMutablePointerGS0_VSs4Int8___T_ : $@convention(thin) (Int32, UnsafeMutablePointer<UnsafeMutablePointer<Int8>>) -> () // user: %3
%3 = apply %2(%0, %1) : $@convention(thin) (Int32, UnsafeMutablePointer<UnsafeMutablePointer<Int8>>) -> ()
%4 = global_addr @_Tv4Test13stringScannerCSo9NSScanner : $*NSScanner // users: %14, %31
// function_ref ObjectiveC.NSScanner.__allocating_init (ObjectiveC.NSScanner.Type)(string : Swift.String) -> ObjectiveC.NSScanner
%5 = function_ref @_TFCSo9NSScannerCfMS_FT6stringSS_S_ : $@convention(thin) (@owned String, @thick NSScanner.Type) -> @owned NSScanner // user: %13
%6 = metatype $@thick NSScanner.Type // user: %13
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%7 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %12
%8 = metatype $@thin String.Type // user: %12
%9 = string_literal utf8 "myUserName123" // user: %12
%10 = integer_literal $Builtin.Word, 13 // user: %12
%11 = integer_literal $Builtin.Int1, -1 // user: %12
%12 = apply %7(%9, %10, %11, %8) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %13
%13 = apply %5(%12, %6) : $@convention(thin) (@owned String, @thick NSScanner.Type) -> @owned NSScanner // user: %14
store %13 to %4 : $*NSScanner // id: %14
%15 = global_addr @_Tv4Test8usernameGSqCSo8NSString_ : $*Optional<NSString> // users: %21, %35, %49, %54
// function_ref Swift.Optional.init <A> (Swift.Optional<A>.Type)(nilLiteral : ()) -> Swift.Optional<A>
%16 = function_ref @_TFSqCurfMGSqq__FT10nilLiteralT__GSqq__ : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @thin Optional<τ_0_0>.Type) -> () // user: %19
%17 = metatype $@thin Optional<NSString>.Type // user: %19
%18 = alloc_stack $Optional<NSString> // users: %19, %20, %22
%19 = apply %16<NSString>(%18#1, %17) : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @thin Optional<τ_0_0>.Type) -> ()
%20 = load %18#1 : $*Optional<NSString> // user: %21
store %20 to %15 : $*Optional<NSString> // id: %21
dealloc_stack %18#0 : $*@local_storage Optional<NSString> // id: %22
%23 = global_addr @_Tv4Test6alphasCSo14NSCharacterSet : $*NSCharacterSet // users: %29, %33
%24 = metatype $@thick NSCharacterSet.Type // users: %25, %26
%25 = class_method [volatile] %24 : $@thick NSCharacterSet.Type, #NSCharacterSet.alphanumericCharacterSet!1.foreign : NSCharacterSet.Type -> () -> NSCharacterSet , $@convention(objc_method) (@objc_metatype NSCharacterSet.Type) -> @autoreleased NSCharacterSet // user: %27
%26 = thick_to_objc_metatype %24 : $@thick NSCharacterSet.Type to $@objc_metatype NSCharacterSet.Type // user: %27
%27 = apply %25(%26) : $@convention(objc_method) (@objc_metatype NSCharacterSet.Type) -> @autoreleased NSCharacterSet // users: %28, %29
strong_retain_autoreleased %27 : $NSCharacterSet // id: %28
store %27 to %23 : $*NSCharacterSet // id: %29
// function_ref Swift.Bool._getBuiltinLogicValue (Swift.Bool)() -> Builtin.Int1
%30 = function_ref @_TFSb21_getBuiltinLogicValuefSbFT_Bi1_ : $@convention(method) (Bool) -> Builtin.Int1 // user: %50
%31 = load %4 : $*NSScanner // users: %32, %43
%32 = class_method [volatile] %31 : $NSScanner, #NSScanner.scanCharactersFromSet!1.foreign : NSScanner -> (NSCharacterSet, intoString: AutoreleasingUnsafeMutablePointer<NSString?>) -> Bool , $@convention(objc_method) (NSCharacterSet, AutoreleasingUnsafeMutablePointer<Optional<NSString>>, NSScanner) -> ObjCBool // user: %43
%33 = load %23 : $*NSCharacterSet // user: %43
%34 = alloc_stack $@sil_unmanaged Optional<NSString> // users: %37, %38, %46, %52
%35 = load %15 : $*Optional<NSString> // user: %36
%36 = ref_to_unmanaged %35 : $Optional<NSString> to $@sil_unmanaged Optional<NSString> // user: %37
store %36 to %34#1 : $*@sil_unmanaged Optional<NSString> // id: %37
%38 = address_to_pointer %34#1 : $*@sil_unmanaged Optional<NSString> to $Builtin.RawPointer // user: %41
// function_ref Swift._convertInOutToPointerArgument <A where A: Swift._PointerType> (Builtin.RawPointer) -> A
%39 = function_ref @_TFSs30_convertInOutToPointerArgumentuRq_Ss12_PointerType_FBpq_ : $@convention(thin) <τ_0_0 where τ_0_0 : _PointerType> (@out τ_0_0, Builtin.RawPointer) -> () // user: %41
%40 = alloc_stack $AutoreleasingUnsafeMutablePointer<Optional<NSString>> // users: %41, %42, %51
%41 = apply %39<AutoreleasingUnsafeMutablePointer<Optional<NSString>>>(%40#1, %38) : $@convention(thin) <τ_0_0 where τ_0_0 : _PointerType> (@out τ_0_0, Builtin.RawPointer) -> ()
%42 = load %40#1 : $*AutoreleasingUnsafeMutablePointer<Optional<NSString>> // user: %43
%43 = apply %32(%33, %42, %31) : $@convention(objc_method) (NSCharacterSet, AutoreleasingUnsafeMutablePointer<Optional<NSString>>, NSScanner) -> ObjCBool // user: %45
// function_ref ObjectiveC._convertObjCBoolToBool (ObjectiveC.ObjCBool) -> Swift.Bool
%44 = function_ref @_TF10ObjectiveC22_convertObjCBoolToBoolFVS_8ObjCBoolSb : $@convention(thin) (ObjCBool) -> Bool // user: %45
%45 = apply %44(%43) : $@convention(thin) (ObjCBool) -> Bool // user: %50
%46 = load %34#1 : $*@sil_unmanaged Optional<NSString> // user: %47
%47 = unmanaged_to_ref %46 : $@sil_unmanaged Optional<NSString> to $Optional<NSString> // users: %48, %49
retain_value %47 : $Optional<NSString> // id: %48
assign %47 to %15 : $*Optional<NSString> // id: %49
%50 = apply %30(%45) : $@convention(method) (Bool) -> Builtin.Int1 // user: %53
dealloc_stack %40#0 : $*@local_storage AutoreleasingUnsafeMutablePointer<Optional<NSString>> // id: %51
dealloc_stack %34#0 : $*@local_storage @sil_unmanaged Optional<NSString> // id: %52
cond_br %50, bb1, bb3 // id: %53
bb1: // Preds: bb0
%54 = load %15 : $*Optional<NSString> // users: %55, %56
retain_value %54 : $Optional<NSString> // id: %55
switch_enum %54 : $Optional<NSString>, case #Optional.Some!enumelt.1: bb2, default bb3 // id: %56
bb2(%57 : $NSString): // Preds: bb1
debug_value %57 : $NSString // let name // id: %58
strong_release %57 : $NSString // id: %59
br bb3 // id: %60
bb3: // Preds: bb0 bb1 bb2
%61 = global_addr @_Tv4Test5arrayGSaSi_ : $*Array<Int> // users: %90, %93
// function_ref Swift.Array.init <A> (Swift.Array<A>.Type)(arrayLiteral : Swift.Array<A>...) -> Swift.Array<A>
%62 = function_ref @_TFSaCurfMGSaq__Ft12arrayLiteralGSaq___GSaq__ : $@convention(thin) <τ_0_0> (@owned Array<τ_0_0>, @thin Array<τ_0_0>.Type) -> @owned Array<τ_0_0> // user: %89
%63 = metatype $@thin Array<Int>.Type // user: %89
%64 = integer_literal $Builtin.Word, 3 // user: %66
// function_ref Swift._allocateUninitializedArray <A> (Builtin.Word) -> (Swift.Array<A>, Builtin.RawPointer)
%65 = function_ref @_TFSs27_allocateUninitializedArrayurFBwTGSaq__Bp_ : $@convention(thin) <τ_0_0> (Builtin.Word) -> @owned (Array<τ_0_0>, Builtin.RawPointer) // user: %66
%66 = apply %65<Int>(%64) : $@convention(thin) <τ_0_0> (Builtin.Word) -> @owned (Array<τ_0_0>, Builtin.RawPointer) // users: %67, %68
%67 = tuple_extract %66 : $(Array<Int>, Builtin.RawPointer), 0 // user: %89
%68 = tuple_extract %66 : $(Array<Int>, Builtin.RawPointer), 1 // user: %69
%69 = pointer_to_address %68 : $Builtin.RawPointer to $*Int // users: %74, %76, %83
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%70 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %73
%71 = metatype $@thin Int.Type // user: %73
%72 = integer_literal $Builtin.Int2048, 1 // user: %73
%73 = apply %70(%72, %71) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %74
store %73 to %69 : $*Int // id: %74
%75 = integer_literal $Builtin.Word, 1 // user: %76
%76 = index_addr %69 : $*Int, %75 : $Builtin.Word // user: %81
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%77 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %80
%78 = metatype $@thin Int.Type // user: %80
%79 = integer_literal $Builtin.Int2048, 2 // user: %80
%80 = apply %77(%79, %78) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %81
store %80 to %76 : $*Int // id: %81
%82 = integer_literal $Builtin.Word, 2 // user: %83
%83 = index_addr %69 : $*Int, %82 : $Builtin.Word // user: %88
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%84 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %87
%85 = metatype $@thin Int.Type // user: %87
%86 = integer_literal $Builtin.Int2048, 3 // user: %87
%87 = apply %84(%86, %85) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %88
store %87 to %83 : $*Int // id: %88
%89 = apply %62<Int>(%67, %63) : $@convention(thin) <τ_0_0> (@owned Array<τ_0_0>, @thin Array<τ_0_0>.Type) -> @owned Array<τ_0_0> // user: %90
store %89 to %61 : $*Array<Int> // id: %90
%91 = global_addr @_Tv4Test9generatorGVSs17IndexingGeneratorGSaSi__ : $*IndexingGenerator<Array<Int>> // users: %99, %105
// function_ref ext.Swift.Swift.CollectionType<A where A: Swift.CollectionType, A.Generator == Swift.IndexingGenerator<A>, A._Element == A.Generator.Element>.generate <A where A: Swift.CollectionType, A.Generator == Swift.IndexingGenerator<A>, A._Element == A.Generator.Element> (A)() -> Swift.IndexingGenerator<A>
%92 = function_ref @_TFeRq_Ss14CollectionTypezqq_S_9GeneratorGVSs17IndexingGeneratorq__zqq_Ss9Indexable8_Elementqqq_S_9GeneratorSs13GeneratorType7Element_SsS_8generateuRq_S_zqq_S_9GeneratorGS0_q__zqq_S1_8_Elementqqq_S_9GeneratorS2_7Element_fq_FT_GS0_q__ : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.Generator == IndexingGenerator<τ_0_0>, τ_0_0.Generator.Element == τ_0_0._Element> (@out IndexingGenerator<τ_0_0>, @in_guaranteed τ_0_0) -> () // user: %97
%93 = load %61 : $*Array<Int> // user: %95
%94 = alloc_stack $Array<Int> // users: %95, %97, %101
store %93 to %94#1 : $*Array<Int> // id: %95
%96 = alloc_stack $IndexingGenerator<Array<Int>> // users: %97, %98, %100
%97 = apply %92<[Int], Int, Int, Int, Int, ArraySlice<Int>, IndexingGenerator<ArraySlice<Int>>, Int, Int, Int, Int, Int, ArraySlice<Int>, Int, Int>(%96#1, %94#1) : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.Generator == IndexingGenerator<τ_0_0>, τ_0_0.Generator.Element == τ_0_0._Element> (@out IndexingGenerator<τ_0_0>, @in_guaranteed τ_0_0) -> ()
%98 = load %96#1 : $*IndexingGenerator<Array<Int>> // user: %99
store %98 to %91 : $*IndexingGenerator<Array<Int>> // id: %99
dealloc_stack %96#0 : $*@local_storage IndexingGenerator<Array<Int>> // id: %100
dealloc_stack %94#0 : $*@local_storage Array<Int> // id: %101
br bb4 // id: %102
bb4: // Preds: bb3 bb6
// function_ref Swift.IndexingGenerator.next <A where A: Swift.Indexable> (inout Swift.IndexingGenerator<A>)() -> Swift.Optional<A._Element>
%103 = function_ref @_TFVSs17IndexingGenerator4nextuRq_Ss9Indexable_fRGS_q__FT_GSqqq_S0_8_Element_ : $@convention(method) <τ_0_0 where τ_0_0 : Indexable, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0._Element>, @inout IndexingGenerator<τ_0_0>) -> () // user: %105
%104 = alloc_stack $Optional<Int> // users: %105, %106, %108, %112
%105 = apply %103<[Int], Int, Int, Int, Int, Int>(%104#1, %91) : $@convention(method) <τ_0_0 where τ_0_0 : Indexable, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0._Element>, @inout IndexingGenerator<τ_0_0>) -> ()
%106 = load %104#1 : $*Optional<Int> // user: %107
switch_enum %106 : $Optional<Int>, case #Optional.Some!enumelt.1: bb6, default bb5 // id: %107
bb5: // Preds: bb4
dealloc_stack %104#0 : $*@local_storage Optional<Int> // id: %108
br bb7 // id: %109
bb6(%110 : $Int): // Preds: bb4
debug_value %110 : $Int // let i // id: %111
dealloc_stack %104#0 : $*@local_storage Optional<Int> // id: %112
// function_ref Swift.print <A> (A) -> ()
%113 = function_ref @_TFSs5printurFq_T_ : $@convention(thin) <τ_0_0> (@in τ_0_0) -> () // user: %116
%114 = alloc_stack $Int // users: %115, %116, %117
store %110 to %114#1 : $*Int // id: %115
%116 = apply %113<Int>(%114#1) : $@convention(thin) <τ_0_0> (@in τ_0_0) -> ()
dealloc_stack %114#0 : $*@local_storage Int // id: %117
br bb4 // id: %118
bb7: // Preds: bb5
%119 = alloc_box $RangeGenerator<Int> // var $i$generator // users: %142, %151, %182
// function_ref Swift.Range.generate <A where A: Swift.ForwardIndexType> (Swift.Range<A>)() -> Swift.RangeGenerator<A>
%120 = function_ref @_TFVSs5Range8generateuRq_Ss16ForwardIndexType_fGS_q__FT_GVSs14RangeGeneratorq__ : $@convention(method) <τ_0_0 where τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out RangeGenerator<τ_0_0>, @in_guaranteed Range<τ_0_0>) -> () // user: %140
// function_ref static Swift...< infix <A where A: Swift.Comparable, A: Swift.ForwardIndexType> (A, A) -> Swift.Range<A>
%121 = function_ref @_TZFSsoi3zzluRq_Ss10Comparableq_Ss16ForwardIndexType_FTq_q__GVSs5Rangeq__ : $@convention(thin) <τ_0_0 where τ_0_0 : Comparable, τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Range<τ_0_0>, @in τ_0_0, @in τ_0_0) -> () // user: %135
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%122 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %125
%123 = metatype $@thin Int.Type // user: %125
%124 = integer_literal $Builtin.Int2048, 0 // user: %125
%125 = apply %122(%124, %123) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %127
%126 = alloc_stack $Int // users: %127, %135, %147
store %125 to %126#1 : $*Int // id: %127
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%128 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %131
%129 = metatype $@thin Int.Type // user: %131
%130 = integer_literal $Builtin.Int2048, 10 // user: %131
%131 = apply %128(%130, %129) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %133
%132 = alloc_stack $Int // users: %133, %135, %146
store %131 to %132#1 : $*Int // id: %133
%134 = alloc_stack $Range<Int> // users: %135, %136, %145
%135 = apply %121<Int, Int, Int, Int>(%134#1, %126#1, %132#1) : $@convention(thin) <τ_0_0 where τ_0_0 : Comparable, τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Range<τ_0_0>, @in τ_0_0, @in τ_0_0) -> ()
%136 = load %134#1 : $*Range<Int> // user: %138
%137 = alloc_stack $Range<Int> // users: %138, %140, %144
store %136 to %137#1 : $*Range<Int> // id: %138
%139 = alloc_stack $RangeGenerator<Int> // users: %140, %141, %143
%140 = apply %120<Int, Int, Int, Int>(%139#1, %137#1) : $@convention(method) <τ_0_0 where τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out RangeGenerator<τ_0_0>, @in_guaranteed Range<τ_0_0>) -> ()
%141 = load %139#1 : $*RangeGenerator<Int> // user: %142
store %141 to %119#1 : $*RangeGenerator<Int> // id: %142
dealloc_stack %139#0 : $*@local_storage RangeGenerator<Int> // id: %143
dealloc_stack %137#0 : $*@local_storage Range<Int> // id: %144
dealloc_stack %134#0 : $*@local_storage Range<Int> // id: %145
dealloc_stack %132#0 : $*@local_storage Int // id: %146
dealloc_stack %126#0 : $*@local_storage Int // id: %147
br bb8 // id: %148
bb8: // Preds: bb7 bb10 bb11
// function_ref Swift.RangeGenerator.next <A where A: Swift.ForwardIndexType> (inout Swift.RangeGenerator<A>)() -> Swift.Optional<A>
%149 = function_ref @_TFVSs14RangeGenerator4nextuRq_Ss16ForwardIndexType_fRGS_q__FT_GSqq__ : $@convention(method) <τ_0_0 where τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0>, @inout RangeGenerator<τ_0_0>) -> () // user: %151
%150 = alloc_stack $Optional<Int> // users: %151, %152, %153
%151 = apply %149<Int, Int, Int, Int>(%150#1, %119#1) : $@convention(method) <τ_0_0 where τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0>, @inout RangeGenerator<τ_0_0>) -> ()
%152 = load %150#1 : $*Optional<Int> // users: %156, %158
dealloc_stack %150#0 : $*@local_storage Optional<Int> // id: %153
%154 = integer_literal $Builtin.Int1, -1 // user: %156
%155 = integer_literal $Builtin.Int1, 0 // user: %156
%156 = select_enum %152 : $Optional<Int>, case #Optional.Some!enumelt.1: %154, default %155 : $Builtin.Int1 // user: %157
cond_br %156, bb9, bb12 // id: %157
bb9: // Preds: bb8
%158 = unchecked_enum_data %152 : $Optional<Int>, #Optional.Some!enumelt.1 // users: %159, %167, %178
debug_value %158 : $Int // let i // id: %159
// function_ref Swift.Bool._getBuiltinLogicValue (Swift.Bool)() -> Builtin.Int1
%160 = function_ref @_TFSb21_getBuiltinLogicValuefSbFT_Bi1_ : $@convention(method) (Bool) -> Builtin.Int1 // user: %173
// function_ref static Swift.== infix (Swift.Int, Swift.Int) -> Swift.Bool
%161 = function_ref @_TZFSsoi2eeFTSiSi_Sb : $@convention(thin) (Int, Int) -> Bool // user: %172
// function_ref static Swift.% infix (Swift.Int, Swift.Int) -> Swift.Int
%162 = function_ref @_TZFSsoi1rFTSiSi_Si : $@convention(thin) (Int, Int) -> Int // user: %167
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%163 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %166
%164 = metatype $@thin Int.Type // user: %166
%165 = integer_literal $Builtin.Int2048, 2 // user: %166
%166 = apply %163(%165, %164) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %167
%167 = apply %162(%158, %166) : $@convention(thin) (Int, Int) -> Int // user: %172
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%168 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %171
%169 = metatype $@thin Int.Type // user: %171
%170 = integer_literal $Builtin.Int2048, 0 // user: %171
%171 = apply %168(%170, %169) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %172
%172 = apply %161(%167, %171) : $@convention(thin) (Int, Int) -> Bool // user: %173
%173 = apply %160(%172) : $@convention(method) (Bool) -> Builtin.Int1 // user: %174
cond_br %173, bb11, bb10 // id: %174
bb10: // Preds: bb9
br bb8 // id: %175
bb11: // Preds: bb9
// function_ref Swift.print <A> (A) -> ()
%176 = function_ref @_TFSs5printurFq_T_ : $@convention(thin) <τ_0_0> (@in τ_0_0) -> () // user: %179
%177 = alloc_stack $Int // users: %178, %179, %180
store %158 to %177#1 : $*Int // id: %178
%179 = apply %176<Int>(%177#1) : $@convention(thin) <τ_0_0> (@in τ_0_0) -> ()
dealloc_stack %177#0 : $*@local_storage Int // id: %180
br bb8 // id: %181
bb12: // Preds: bb8
strong_release %119#0 : $@box RangeGenerator<Int> // id: %182
%183 = global_addr @_Tv4Test1aGSaFT_Si_ : $*Array<() -> Int> // users: %193, %242, %248, %390, %470, %788, %801
// function_ref Swift.Array.init <A> (Swift.Array<A>.Type)(arrayLiteral : Swift.Array<A>...) -> Swift.Array<A>
%184 = function_ref @_TFSaCurfMGSaq__Ft12arrayLiteralGSaq___GSaq__ : $@convention(thin) <τ_0_0> (@owned Array<τ_0_0>, @thin Array<τ_0_0>.Type) -> @owned Array<τ_0_0> // user: %192
%185 = metatype $@thin Array<() -> Int>.Type // user: %192
%186 = integer_literal $Builtin.Word, 0 // user: %188
// function_ref Swift._allocateUninitializedArray <A> (Builtin.Word) -> (Swift.Array<A>, Builtin.RawPointer)
%187 = function_ref @_TFSs27_allocateUninitializedArrayurFBwTGSaq__Bp_ : $@convention(thin) <τ_0_0> (Builtin.Word) -> @owned (Array<τ_0_0>, Builtin.RawPointer) // user: %188
%188 = apply %187<() -> Int>(%186) : $@convention(thin) <τ_0_0> (Builtin.Word) -> @owned (Array<τ_0_0>, Builtin.RawPointer) // users: %189, %190
%189 = tuple_extract %188 : $(Array<() -> Int>, Builtin.RawPointer), 0 // user: %192
%190 = tuple_extract %188 : $(Array<() -> Int>, Builtin.RawPointer), 1 // user: %191
%191 = pointer_to_address %190 : $Builtin.RawPointer to $*@callee_owned (@out Int, @in ()) -> ()
%192 = apply %184<() -> Int>(%189, %185) : $@convention(thin) <τ_0_0> (@owned Array<τ_0_0>, @thin Array<τ_0_0>.Type) -> @owned Array<τ_0_0> // user: %193
store %192 to %183 : $*Array<() -> Int> // id: %193
%194 = alloc_box $RangeGenerator<Int> // var $i$generator // users: %217, %226, %245
// function_ref Swift.Range.generate <A where A: Swift.ForwardIndexType> (Swift.Range<A>)() -> Swift.RangeGenerator<A>
%195 = function_ref @_TFVSs5Range8generateuRq_Ss16ForwardIndexType_fGS_q__FT_GVSs14RangeGeneratorq__ : $@convention(method) <τ_0_0 where τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out RangeGenerator<τ_0_0>, @in_guaranteed Range<τ_0_0>) -> () // user: %215
// function_ref static Swift.... infix <A where A: Swift.Comparable, A: Swift.ForwardIndexType> (A, A) -> Swift.Range<A>
%196 = function_ref @_TZFSsoi3zzzuRq_Ss10Comparableq_Ss16ForwardIndexType_FTq_q__GVSs5Rangeq__ : $@convention(thin) <τ_0_0 where τ_0_0 : Comparable, τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Range<τ_0_0>, @in τ_0_0, @in τ_0_0) -> () // user: %210
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%197 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %200
%198 = metatype $@thin Int.Type // user: %200
%199 = integer_literal $Builtin.Int2048, 1 // user: %200
%200 = apply %197(%199, %198) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %202
%201 = alloc_stack $Int // users: %202, %210, %222
store %200 to %201#1 : $*Int // id: %202
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%203 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %206
%204 = metatype $@thin Int.Type // user: %206
%205 = integer_literal $Builtin.Int2048, 3 // user: %206
%206 = apply %203(%205, %204) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %208
%207 = alloc_stack $Int // users: %208, %210, %221
store %206 to %207#1 : $*Int // id: %208
%209 = alloc_stack $Range<Int> // users: %210, %211, %220
%210 = apply %196<Int, Int, Int, Int>(%209#1, %201#1, %207#1) : $@convention(thin) <τ_0_0 where τ_0_0 : Comparable, τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Range<τ_0_0>, @in τ_0_0, @in τ_0_0) -> ()
%211 = load %209#1 : $*Range<Int> // user: %213
%212 = alloc_stack $Range<Int> // users: %213, %215, %219
store %211 to %212#1 : $*Range<Int> // id: %213
%214 = alloc_stack $RangeGenerator<Int> // users: %215, %216, %218
%215 = apply %195<Int, Int, Int, Int>(%214#1, %212#1) : $@convention(method) <τ_0_0 where τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out RangeGenerator<τ_0_0>, @in_guaranteed Range<τ_0_0>) -> ()
%216 = load %214#1 : $*RangeGenerator<Int> // user: %217
store %216 to %194#1 : $*RangeGenerator<Int> // id: %217
dealloc_stack %214#0 : $*@local_storage RangeGenerator<Int> // id: %218
dealloc_stack %212#0 : $*@local_storage Range<Int> // id: %219
dealloc_stack %209#0 : $*@local_storage Range<Int> // id: %220
dealloc_stack %207#0 : $*@local_storage Int // id: %221
dealloc_stack %201#0 : $*@local_storage Int // id: %222
br bb13 // id: %223
bb13: // Preds: bb12 bb14
// function_ref Swift.RangeGenerator.next <A where A: Swift.ForwardIndexType> (inout Swift.RangeGenerator<A>)() -> Swift.Optional<A>
%224 = function_ref @_TFVSs14RangeGenerator4nextuRq_Ss16ForwardIndexType_fRGS_q__FT_GSqq__ : $@convention(method) <τ_0_0 where τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0>, @inout RangeGenerator<τ_0_0>) -> () // user: %226
%225 = alloc_stack $Optional<Int> // users: %226, %227, %228
%226 = apply %224<Int, Int, Int, Int>(%225#1, %194#1) : $@convention(method) <τ_0_0 where τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0>, @inout RangeGenerator<τ_0_0>) -> ()
%227 = load %225#1 : $*Optional<Int> // users: %231, %233
dealloc_stack %225#0 : $*@local_storage Optional<Int> // id: %228
%229 = integer_literal $Builtin.Int1, -1 // user: %231
%230 = integer_literal $Builtin.Int1, 0 // user: %231
%231 = select_enum %227 : $Optional<Int>, case #Optional.Some!enumelt.1: %229, default %230 : $Builtin.Int1 // user: %232
cond_br %231, bb14, bb15 // id: %232
bb14: // Preds: bb13
%233 = unchecked_enum_data %227 : $Optional<Int>, #Optional.Some!enumelt.1 // users: %234, %238
debug_value %233 : $Int // let i // id: %234
// function_ref Swift.Array.append <A> (inout Swift.Array<A>)(A) -> ()
%235 = function_ref @_TFSa6appendurfRGSaq__Fq_T_ : $@convention(method) <τ_0_0> (@in τ_0_0, @inout Array<τ_0_0>) -> () // user: %242
%236 = alloc_stack $@callee_owned (@out Int, @in ()) -> () // users: %241, %242, %243
// function_ref Test.(closure #1)
%237 = function_ref @_TF4TestU_FT_Si : $@convention(thin) (Int) -> Int // user: %238
%238 = partial_apply %237(%233) : $@convention(thin) (Int) -> Int // user: %240
// function_ref reabstraction thunk helper from @callee_owned () -> (@unowned Swift.Int) to @callee_owned (@in ()) -> (@out Swift.Int)
%239 = function_ref @_TTRXFo__dSi_XFo_iT__iSi_ : $@convention(thin) (@out Int, @in (), @owned @callee_owned () -> Int) -> () // user: %240
%240 = partial_apply %239(%238) : $@convention(thin) (@out Int, @in (), @owned @callee_owned () -> Int) -> () // user: %241
store %240 to %236#1 : $*@callee_owned (@out Int, @in ()) -> () // id: %241
%242 = apply %235<() -> Int>(%236#1, %183) : $@convention(method) <τ_0_0> (@in τ_0_0, @inout Array<τ_0_0>) -> ()
dealloc_stack %236#0 : $*@local_storage @callee_owned (@out Int, @in ()) -> () // id: %243
br bb13 // id: %244
bb15: // Preds: bb13
strong_release %194#0 : $@box RangeGenerator<Int> // id: %245
%246 = alloc_box $IndexingGenerator<Array<() -> Int>> // var $f$generator // users: %257, %263, %320
// function_ref ext.Swift.Swift.CollectionType<A where A: Swift.CollectionType, A.Generator == Swift.IndexingGenerator<A>, A._Element == A.Generator.Element>.generate <A where A: Swift.CollectionType, A.Generator == Swift.IndexingGenerator<A>, A._Element == A.Generator.Element> (A)() -> Swift.IndexingGenerator<A>
%247 = function_ref @_TFeRq_Ss14CollectionTypezqq_S_9GeneratorGVSs17IndexingGeneratorq__zqq_Ss9Indexable8_Elementqqq_S_9GeneratorSs13GeneratorType7Element_SsS_8generateuRq_S_zqq_S_9GeneratorGS0_q__zqq_S1_8_Elementqqq_S_9GeneratorS2_7Element_fq_FT_GS0_q__ : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.Generator == IndexingGenerator<τ_0_0>, τ_0_0.Generator.Element == τ_0_0._Element> (@out IndexingGenerator<τ_0_0>, @in_guaranteed τ_0_0) -> () // user: %253
%248 = load %183 : $*Array<() -> Int> // users: %249, %251
retain_value %248 : $Array<() -> Int> // id: %249
%250 = alloc_stack $Array<() -> Int> // users: %251, %253, %254, %259
store %248 to %250#1 : $*Array<() -> Int> // id: %251
%252 = alloc_stack $IndexingGenerator<Array<() -> Int>> // users: %253, %256, %258
%253 = apply %247<[() -> Int], Int, Int, Int, Int, ArraySlice<() -> Int>, IndexingGenerator<ArraySlice<() -> Int>>, () -> Int, Int, Int, Int, Int, ArraySlice<() -> Int>, () -> Int, () -> Int>(%252#1, %250#1) : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.Generator == IndexingGenerator<τ_0_0>, τ_0_0.Generator.Element == τ_0_0._Element> (@out IndexingGenerator<τ_0_0>, @in_guaranteed τ_0_0) -> ()
%254 = load %250#1 : $*Array<() -> Int> // user: %255
release_value %254 : $Array<() -> Int> // id: %255
%256 = load %252#1 : $*IndexingGenerator<Array<() -> Int>> // user: %257
store %256 to %246#1 : $*IndexingGenerator<Array<() -> Int>> // id: %257
dealloc_stack %252#0 : $*@local_storage IndexingGenerator<Array<() -> Int>> // id: %258
dealloc_stack %250#0 : $*@local_storage Array<() -> Int> // id: %259
br bb16 // id: %260
bb16: // Preds: bb15 bb17
// function_ref Swift.IndexingGenerator.next <A where A: Swift.Indexable> (inout Swift.IndexingGenerator<A>)() -> Swift.Optional<A._Element>
%261 = function_ref @_TFVSs17IndexingGenerator4nextuRq_Ss9Indexable_fRGS_q__FT_GSqqq_S0_8_Element_ : $@convention(method) <τ_0_0 where τ_0_0 : Indexable, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0._Element>, @inout IndexingGenerator<τ_0_0>) -> () // user: %263
%262 = alloc_stack $Optional<() -> Int> // users: %263, %264, %265
%263 = apply %261<Array<() -> Int>, Int, Int, Int, Int, () -> Int>(%262#1, %246#1) : $@convention(method) <τ_0_0 where τ_0_0 : Indexable, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0._Element>, @inout IndexingGenerator<τ_0_0>) -> ()
%264 = load %262#1 : $*Optional<() -> Int> // users: %268, %270
dealloc_stack %262#0 : $*@local_storage Optional<() -> Int> // id: %265
%266 = integer_literal $Builtin.Int1, -1 // user: %268
%267 = integer_literal $Builtin.Int1, 0 // user: %268
%268 = select_enum %264 : $Optional<() -> Int>, case #Optional.Some!enumelt.1: %266, default %267 : $Builtin.Int1 // user: %269
cond_br %268, bb17, bb18 // id: %269
bb17: // Preds: bb16
%270 = unchecked_enum_data %264 : $Optional<() -> Int>, #Optional.Some!enumelt.1 // user: %272
// function_ref reabstraction thunk helper from @callee_owned (@in ()) -> (@out Swift.Int) to @callee_owned () -> (@unowned Swift.Int)
%271 = function_ref @_TTRXFo_iT__iSi_XFo__dSi_ : $@convention(thin) (@owned @callee_owned (@out Int, @in ()) -> ()) -> Int // user: %272
%272 = partial_apply %271(%270) : $@convention(thin) (@owned @callee_owned (@out Int, @in ()) -> ()) -> Int // users: %273, %297, %298, %318
debug_value %272 : $@callee_owned () -> Int // let f // id: %273
// function_ref Swift.print <A> (A) -> ()
%274 = function_ref @_TFSs5printurFq_T_ : $@convention(thin) <τ_0_0> (@in τ_0_0) -> () // user: %316
// function_ref Swift.String.init (Swift.String.Type)(stringInterpolation : Swift.Array<Swift.String>...) -> Swift.String
%275 = function_ref @_TFSSCfMSSFt19stringInterpolationGSaSS__SS : $@convention(thin) (@owned Array<String>, @thin String.Type) -> @owned String // user: %313
%276 = metatype $@thin String.Type // user: %313
%277 = integer_literal $Builtin.Word, 3 // user: %279
// function_ref Swift._allocateUninitializedArray <A> (Builtin.Word) -> (Swift.Array<A>, Builtin.RawPointer)
%278 = function_ref @_TFSs27_allocateUninitializedArrayurFBwTGSaq__Bp_ : $@convention(thin) <τ_0_0> (Builtin.Word) -> @owned (Array<τ_0_0>, Builtin.RawPointer) // user: %279
%279 = apply %278<String>(%277) : $@convention(thin) <τ_0_0> (Builtin.Word) -> @owned (Array<τ_0_0>, Builtin.RawPointer) // users: %280, %281
%280 = tuple_extract %279 : $(Array<String>, Builtin.RawPointer), 0 // user: %313
%281 = tuple_extract %279 : $(Array<String>, Builtin.RawPointer), 1 // user: %282
%282 = pointer_to_address %281 : $Builtin.RawPointer to $*String // users: %292, %294, %302
// function_ref Swift.String.init (Swift.String.Type)(stringInterpolationSegment : Swift.String) -> Swift.String
%283 = function_ref @_TFSSCfMSSFT26stringInterpolationSegmentSS_SS : $@convention(thin) (@owned String, @thin String.Type) -> @owned String // user: %291
%284 = metatype $@thin String.Type // user: %291
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%285 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %290
%286 = metatype $@thin String.Type // user: %290
%287 = string_literal utf8 "" // user: %290
%288 = integer_literal $Builtin.Word, 0 // user: %290
%289 = integer_literal $Builtin.Int1, -1 // user: %290
%290 = apply %285(%287, %288, %289, %286) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %291
%291 = apply %283(%290, %284) : $@convention(thin) (@owned String, @thin String.Type) -> @owned String // user: %292
store %291 to %282 : $*String // id: %292
%293 = integer_literal $Builtin.Word, 1 // user: %294
%294 = index_addr %282 : $*String, %293 : $Builtin.Word // user: %300
// function_ref Swift.String.init (Swift.String.Type)(stringInterpolationSegment : Swift.Int) -> Swift.String
%295 = function_ref @_TFSSCfMSSFT26stringInterpolationSegmentSi_SS : $@convention(thin) (Int, @thin String.Type) -> @owned String // user: %299
%296 = metatype $@thin String.Type // user: %299
strong_retain %272 : $@callee_owned () -> Int // id: %297
%298 = apply %272() : $@callee_owned () -> Int // user: %299
%299 = apply %295(%298, %296) : $@convention(thin) (Int, @thin String.Type) -> @owned String // user: %300
store %299 to %294 : $*String // id: %300
%301 = integer_literal $Builtin.Word, 2 // user: %302
%302 = index_addr %282 : $*String, %301 : $Builtin.Word // user: %312
// function_ref Swift.String.init (Swift.String.Type)(stringInterpolationSegment : Swift.String) -> Swift.String
%303 = function_ref @_TFSSCfMSSFT26stringInterpolationSegmentSS_SS : $@convention(thin) (@owned String, @thin String.Type) -> @owned String // user: %311
%304 = metatype $@thin String.Type // user: %311
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%305 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %310
%306 = metatype $@thin String.Type // user: %310
%307 = string_literal utf8 " " // user: %310
%308 = integer_literal $Builtin.Word, 1 // user: %310
%309 = integer_literal $Builtin.Int1, -1 // user: %310
%310 = apply %305(%307, %308, %309, %306) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %311
%311 = apply %303(%310, %304) : $@convention(thin) (@owned String, @thin String.Type) -> @owned String // user: %312
store %311 to %302 : $*String // id: %312
%313 = apply %275(%280, %276) : $@convention(thin) (@owned Array<String>, @thin String.Type) -> @owned String // user: %315
%314 = alloc_stack $String // users: %315, %316, %317
store %313 to %314#1 : $*String // id: %315
%316 = apply %274<String>(%314#1) : $@convention(thin) <τ_0_0> (@in τ_0_0) -> ()
dealloc_stack %314#0 : $*@local_storage String // id: %317
strong_release %272 : $@callee_owned () -> Int // id: %318
br bb16 // id: %319
bb18: // Preds: bb16
strong_release %246#0 : $@box IndexingGenerator<Array<() -> Int>> // id: %320
%321 = global_addr @_Tv4Test1gGVSs14RangeGeneratorSi_ : $*RangeGenerator<Int> // users: %344, %353, %394
// function_ref Swift.Range.generate <A where A: Swift.ForwardIndexType> (Swift.Range<A>)() -> Swift.RangeGenerator<A>
%322 = function_ref @_TFVSs5Range8generateuRq_Ss16ForwardIndexType_fGS_q__FT_GVSs14RangeGeneratorq__ : $@convention(method) <τ_0_0 where τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out RangeGenerator<τ_0_0>, @in_guaranteed Range<τ_0_0>) -> () // user: %342
// function_ref static Swift.... infix <A where A: Swift.Comparable, A: Swift.ForwardIndexType> (A, A) -> Swift.Range<A>
%323 = function_ref @_TZFSsoi3zzzuRq_Ss10Comparableq_Ss16ForwardIndexType_FTq_q__GVSs5Rangeq__ : $@convention(thin) <τ_0_0 where τ_0_0 : Comparable, τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Range<τ_0_0>, @in τ_0_0, @in τ_0_0) -> () // user: %337
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%324 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %327
%325 = metatype $@thin Int.Type // user: %327
%326 = integer_literal $Builtin.Int2048, 1 // user: %327
%327 = apply %324(%326, %325) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %329
%328 = alloc_stack $Int // users: %329, %337, %349
store %327 to %328#1 : $*Int // id: %329
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%330 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %333
%331 = metatype $@thin Int.Type // user: %333
%332 = integer_literal $Builtin.Int2048, 3 // user: %333
%333 = apply %330(%332, %331) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %335
%334 = alloc_stack $Int // users: %335, %337, %348
store %333 to %334#1 : $*Int // id: %335
%336 = alloc_stack $Range<Int> // users: %337, %338, %347
%337 = apply %323<Int, Int, Int, Int>(%336#1, %328#1, %334#1) : $@convention(thin) <τ_0_0 where τ_0_0 : Comparable, τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Range<τ_0_0>, @in τ_0_0, @in τ_0_0) -> ()
%338 = load %336#1 : $*Range<Int> // user: %340
%339 = alloc_stack $Range<Int> // users: %340, %342, %346
store %338 to %339#1 : $*Range<Int> // id: %340
%341 = alloc_stack $RangeGenerator<Int> // users: %342, %343, %345
%342 = apply %322<Int, Int, Int, Int>(%341#1, %339#1) : $@convention(method) <τ_0_0 where τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out RangeGenerator<τ_0_0>, @in_guaranteed Range<τ_0_0>) -> ()
%343 = load %341#1 : $*RangeGenerator<Int> // user: %344
store %343 to %321 : $*RangeGenerator<Int> // id: %344
dealloc_stack %341#0 : $*@local_storage RangeGenerator<Int> // id: %345
dealloc_stack %339#0 : $*@local_storage Range<Int> // id: %346
dealloc_stack %336#0 : $*@local_storage Range<Int> // id: %347
dealloc_stack %334#0 : $*@local_storage Int // id: %348
dealloc_stack %328#0 : $*@local_storage Int // id: %349
%350 = global_addr @_Tv4Test1oGSqSi_ : $*Optional<Int> // users: %355, %360, %376, %380, %396
// function_ref Swift.RangeGenerator.next <A where A: Swift.ForwardIndexType> (inout Swift.RangeGenerator<A>)() -> Swift.Optional<A>
%351 = function_ref @_TFVSs14RangeGenerator4nextuRq_Ss16ForwardIndexType_fRGS_q__FT_GSqq__ : $@convention(method) <τ_0_0 where τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0>, @inout RangeGenerator<τ_0_0>) -> () // user: %353
%352 = alloc_stack $Optional<Int> // users: %353, %354, %356
%353 = apply %351<Int, Int, Int, Int>(%352#1, %321) : $@convention(method) <τ_0_0 where τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0>, @inout RangeGenerator<τ_0_0>) -> ()
%354 = load %352#1 : $*Optional<Int> // user: %355
store %354 to %350 : $*Optional<Int> // id: %355
dealloc_stack %352#0 : $*@local_storage Optional<Int> // id: %356
br bb19 // id: %357
bb19: // Preds: bb18 bb22
// function_ref Swift.Bool._getBuiltinLogicValue (Swift.Bool)() -> Builtin.Int1
%358 = function_ref @_TFSb21_getBuiltinLogicValuefSbFT_Bi1_ : $@convention(method) (Bool) -> Builtin.Int1 // user: %371
// function_ref static Swift.!= infix <A where A: Swift.Equatable> (Swift.Optional<A>, Swift.Optional<A>) -> Swift.Bool
%359 = function_ref @_TZFSsoi2neuRq_Ss9Equatable_FTGSqq__GSqq___Sb : $@convention(thin) <τ_0_0 where τ_0_0 : Equatable> (@in Optional<τ_0_0>, @in Optional<τ_0_0>) -> Bool // user: %370
%360 = load %350 : $*Optional<Int> // user: %362
%361 = alloc_stack $Optional<Int> // users: %362, %370, %374
store %360 to %361#1 : $*Optional<Int> // id: %362
// function_ref Swift.Optional.init <A> (Swift.Optional<A>.Type)(nilLiteral : ()) -> Swift.Optional<A>
%363 = function_ref @_TFSqCurfMGSqq__FT10nilLiteralT__GSqq__ : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @thin Optional<τ_0_0>.Type) -> () // user: %366
%364 = metatype $@thin Optional<Int>.Type // user: %366
%365 = alloc_stack $Optional<Int> // users: %366, %367, %373
%366 = apply %363<Int>(%365#1, %364) : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @thin Optional<τ_0_0>.Type) -> ()
%367 = load %365#1 : $*Optional<Int> // user: %369
%368 = alloc_stack $Optional<Int> // users: %369, %370, %372
store %367 to %368#1 : $*Optional<Int> // id: %369
%370 = apply %359<Int>(%361#1, %368#1) : $@convention(thin) <τ_0_0 where τ_0_0 : Equatable> (@in Optional<τ_0_0>, @in Optional<τ_0_0>) -> Bool // user: %371
%371 = apply %358(%370) : $@convention(method) (Bool) -> Builtin.Int1 // user: %375
dealloc_stack %368#0 : $*@local_storage Optional<Int> // id: %372
dealloc_stack %365#0 : $*@local_storage Optional<Int> // id: %373
dealloc_stack %361#0 : $*@local_storage Optional<Int> // id: %374
cond_br %371, bb20, bb23 // id: %375
bb20: // Preds: bb19
switch_enum_addr %350 : $*Optional<Int>, case #Optional.None!enumelt: bb21, default bb22 // id: %376
bb21: // Preds: bb20
// function_ref Swift._diagnoseUnexpectedNilOptional () -> ()
%377 = function_ref @_TFSs30_diagnoseUnexpectedNilOptionalFT_T_ : $@convention(thin) () -> () // user: %378
%378 = apply %377() : $@convention(thin) () -> ()
unreachable // id: %379
bb22: // Preds: bb20
%380 = unchecked_take_enum_data_addr %350 : $*Optional<Int>, #Optional.Some!enumelt.1 // user: %381
%381 = load %380 : $*Int // users: %382, %386
debug_value %381 : $Int // let i // id: %382
// function_ref Swift.Array.append <A> (inout Swift.Array<A>)(A) -> ()
%383 = function_ref @_TFSa6appendurfRGSaq__Fq_T_ : $@convention(method) <τ_0_0> (@in τ_0_0, @inout Array<τ_0_0>) -> () // user: %390
%384 = alloc_stack $@callee_owned (@out Int, @in ()) -> () // users: %389, %390, %391
// function_ref Test.(closure #2)
%385 = function_ref @_TF4TestU0_FT_Si : $@convention(thin) (Int) -> Int // user: %386
%386 = partial_apply %385(%381) : $@convention(thin) (Int) -> Int // user: %388
// function_ref reabstraction thunk helper from @callee_owned () -> (@unowned Swift.Int) to @callee_owned (@in ()) -> (@out Swift.Int)
%387 = function_ref @_TTRXFo__dSi_XFo_iT__iSi_ : $@convention(thin) (@out Int, @in (), @owned @callee_owned () -> Int) -> () // user: %388
%388 = partial_apply %387(%386) : $@convention(thin) (@out Int, @in (), @owned @callee_owned () -> Int) -> () // user: %389
store %388 to %384#1 : $*@callee_owned (@out Int, @in ()) -> () // id: %389
%390 = apply %383<() -> Int>(%384#1, %183) : $@convention(method) <τ_0_0> (@in τ_0_0, @inout Array<τ_0_0>) -> ()
dealloc_stack %384#0 : $*@local_storage @callee_owned (@out Int, @in ()) -> () // id: %391
// function_ref Swift.RangeGenerator.next <A where A: Swift.ForwardIndexType> (inout Swift.RangeGenerator<A>)() -> Swift.Optional<A>
%392 = function_ref @_TFVSs14RangeGenerator4nextuRq_Ss16ForwardIndexType_fRGS_q__FT_GSqq__ : $@convention(method) <τ_0_0 where τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0>, @inout RangeGenerator<τ_0_0>) -> () // user: %394
%393 = alloc_stack $Optional<Int> // users: %394, %395, %397
%394 = apply %392<Int, Int, Int, Int>(%393#1, %321) : $@convention(method) <τ_0_0 where τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0>, @inout RangeGenerator<τ_0_0>) -> ()
%395 = load %393#1 : $*Optional<Int> // user: %396
assign %395 to %350 : $*Optional<Int> // id: %396
dealloc_stack %393#0 : $*@local_storage Optional<Int> // id: %397
br bb19 // id: %398
bb23: // Preds: bb19
%399 = alloc_box $RangeGenerator<Int> // var g // users: %422, %433, %474, %481
// function_ref Swift.Range.generate <A where A: Swift.ForwardIndexType> (Swift.Range<A>)() -> Swift.RangeGenerator<A>
%400 = function_ref @_TFVSs5Range8generateuRq_Ss16ForwardIndexType_fGS_q__FT_GVSs14RangeGeneratorq__ : $@convention(method) <τ_0_0 where τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out RangeGenerator<τ_0_0>, @in_guaranteed Range<τ_0_0>) -> () // user: %420
// function_ref static Swift.... infix <A where A: Swift.Comparable, A: Swift.ForwardIndexType> (A, A) -> Swift.Range<A>
%401 = function_ref @_TZFSsoi3zzzuRq_Ss10Comparableq_Ss16ForwardIndexType_FTq_q__GVSs5Rangeq__ : $@convention(thin) <τ_0_0 where τ_0_0 : Comparable, τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Range<τ_0_0>, @in τ_0_0, @in τ_0_0) -> () // user: %415
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%402 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %405
%403 = metatype $@thin Int.Type // user: %405
%404 = integer_literal $Builtin.Int2048, 1 // user: %405
%405 = apply %402(%404, %403) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %407
%406 = alloc_stack $Int // users: %407, %415, %427
store %405 to %406#1 : $*Int // id: %407
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%408 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %411
%409 = metatype $@thin Int.Type // user: %411
%410 = integer_literal $Builtin.Int2048, 3 // user: %411
%411 = apply %408(%410, %409) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %413
%412 = alloc_stack $Int // users: %413, %415, %426
store %411 to %412#1 : $*Int // id: %413
%414 = alloc_stack $Range<Int> // users: %415, %416, %425
%415 = apply %401<Int, Int, Int, Int>(%414#1, %406#1, %412#1) : $@convention(thin) <τ_0_0 where τ_0_0 : Comparable, τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Range<τ_0_0>, @in τ_0_0, @in τ_0_0) -> ()
%416 = load %414#1 : $*Range<Int> // user: %418
%417 = alloc_stack $Range<Int> // users: %418, %420, %424
store %416 to %417#1 : $*Range<Int> // id: %418
%419 = alloc_stack $RangeGenerator<Int> // users: %420, %421, %423
%420 = apply %400<Int, Int, Int, Int>(%419#1, %417#1) : $@convention(method) <τ_0_0 where τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out RangeGenerator<τ_0_0>, @in_guaranteed Range<τ_0_0>) -> ()
%421 = load %419#1 : $*RangeGenerator<Int> // user: %422
store %421 to %399#1 : $*RangeGenerator<Int> // id: %422
dealloc_stack %419#0 : $*@local_storage RangeGenerator<Int> // id: %423
dealloc_stack %417#0 : $*@local_storage Range<Int> // id: %424
dealloc_stack %414#0 : $*@local_storage Range<Int> // id: %425
dealloc_stack %412#0 : $*@local_storage Int // id: %426
dealloc_stack %406#0 : $*@local_storage Int // id: %427
%428 = alloc_box $Int // var i // users: %429, %465, %466, %480
%429 = mark_uninitialized [var] %428#1 : $*Int // users: %461, %466
%430 = alloc_box $Optional<Int> // var o // users: %435, %440, %456, %460, %476, %479
// function_ref Swift.RangeGenerator.next <A where A: Swift.ForwardIndexType> (inout Swift.RangeGenerator<A>)() -> Swift.Optional<A>
%431 = function_ref @_TFVSs14RangeGenerator4nextuRq_Ss16ForwardIndexType_fRGS_q__FT_GSqq__ : $@convention(method) <τ_0_0 where τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0>, @inout RangeGenerator<τ_0_0>) -> () // user: %433
%432 = alloc_stack $Optional<Int> // users: %433, %434, %436
%433 = apply %431<Int, Int, Int, Int>(%432#1, %399#1) : $@convention(method) <τ_0_0 where τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0>, @inout RangeGenerator<τ_0_0>) -> ()
%434 = load %432#1 : $*Optional<Int> // user: %435
store %434 to %430#1 : $*Optional<Int> // id: %435
dealloc_stack %432#0 : $*@local_storage Optional<Int> // id: %436
br bb24 // id: %437
bb24: // Preds: bb23 bb27
// function_ref Swift.Bool._getBuiltinLogicValue (Swift.Bool)() -> Builtin.Int1
%438 = function_ref @_TFSb21_getBuiltinLogicValuefSbFT_Bi1_ : $@convention(method) (Bool) -> Builtin.Int1 // user: %451
// function_ref static Swift.!= infix <A where A: Swift.Equatable> (Swift.Optional<A>, Swift.Optional<A>) -> Swift.Bool
%439 = function_ref @_TZFSsoi2neuRq_Ss9Equatable_FTGSqq__GSqq___Sb : $@convention(thin) <τ_0_0 where τ_0_0 : Equatable> (@in Optional<τ_0_0>, @in Optional<τ_0_0>) -> Bool // user: %450
%440 = load %430#1 : $*Optional<Int> // user: %442
%441 = alloc_stack $Optional<Int> // users: %442, %450, %454
store %440 to %441#1 : $*Optional<Int> // id: %442
// function_ref Swift.Optional.init <A> (Swift.Optional<A>.Type)(nilLiteral : ()) -> Swift.Optional<A>
%443 = function_ref @_TFSqCurfMGSqq__FT10nilLiteralT__GSqq__ : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @thin Optional<τ_0_0>.Type) -> () // user: %446
%444 = metatype $@thin Optional<Int>.Type // user: %446
%445 = alloc_stack $Optional<Int> // users: %446, %447, %453
%446 = apply %443<Int>(%445#1, %444) : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @thin Optional<τ_0_0>.Type) -> ()
%447 = load %445#1 : $*Optional<Int> // user: %449
%448 = alloc_stack $Optional<Int> // users: %449, %450, %452
store %447 to %448#1 : $*Optional<Int> // id: %449
%450 = apply %439<Int>(%441#1, %448#1) : $@convention(thin) <τ_0_0 where τ_0_0 : Equatable> (@in Optional<τ_0_0>, @in Optional<τ_0_0>) -> Bool // user: %451
%451 = apply %438(%450) : $@convention(method) (Bool) -> Builtin.Int1 // user: %455
dealloc_stack %448#0 : $*@local_storage Optional<Int> // id: %452
dealloc_stack %445#0 : $*@local_storage Optional<Int> // id: %453
dealloc_stack %441#0 : $*@local_storage Optional<Int> // id: %454
cond_br %451, bb25, bb28 // id: %455
bb25: // Preds: bb24
switch_enum_addr %430#1 : $*Optional<Int>, case #Optional.None!enumelt: bb26, default bb27 // id: %456
bb26: // Preds: bb25
// function_ref Swift._diagnoseUnexpectedNilOptional () -> ()
%457 = function_ref @_TFSs30_diagnoseUnexpectedNilOptionalFT_T_ : $@convention(thin) () -> () // user: %458
%458 = apply %457() : $@convention(thin) () -> ()
unreachable // id: %459
bb27: // Preds: bb25
%460 = unchecked_take_enum_data_addr %430#1 : $*Optional<Int>, #Optional.Some!enumelt.1 // user: %461
copy_addr %460 to %429 : $*Int // id: %461
// function_ref Swift.Array.append <A> (inout Swift.Array<A>)(A) -> ()
%462 = function_ref @_TFSa6appendurfRGSaq__Fq_T_ : $@convention(method) <τ_0_0> (@in τ_0_0, @inout Array<τ_0_0>) -> () // user: %470
%463 = alloc_stack $@callee_owned (@out Int, @in ()) -> () // users: %469, %470, %471
// function_ref Test.(closure #3)
%464 = function_ref @_TF4TestU1_FT_Si : $@convention(thin) (@owned @box Int, @inout Int) -> Int // user: %466
strong_retain %428#0 : $@box Int // id: %465
%466 = partial_apply %464(%428#0, %429) : $@convention(thin) (@owned @box Int, @inout Int) -> Int // user: %468
// function_ref reabstraction thunk helper from @callee_owned () -> (@unowned Swift.Int) to @callee_owned (@in ()) -> (@out Swift.Int)
%467 = function_ref @_TTRXFo__dSi_XFo_iT__iSi_ : $@convention(thin) (@out Int, @in (), @owned @callee_owned () -> Int) -> () // user: %468
%468 = partial_apply %467(%466) : $@convention(thin) (@out Int, @in (), @owned @callee_owned () -> Int) -> () // user: %469
store %468 to %463#1 : $*@callee_owned (@out Int, @in ()) -> () // id: %469
%470 = apply %462<() -> Int>(%463#1, %183) : $@convention(method) <τ_0_0> (@in τ_0_0, @inout Array<τ_0_0>) -> ()
dealloc_stack %463#0 : $*@local_storage @callee_owned (@out Int, @in ()) -> () // id: %471
// function_ref Swift.RangeGenerator.next <A where A: Swift.ForwardIndexType> (inout Swift.RangeGenerator<A>)() -> Swift.Optional<A>
%472 = function_ref @_TFVSs14RangeGenerator4nextuRq_Ss16ForwardIndexType_fRGS_q__FT_GSqq__ : $@convention(method) <τ_0_0 where τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0>, @inout RangeGenerator<τ_0_0>) -> () // user: %474
%473 = alloc_stack $Optional<Int> // users: %474, %475, %477
%474 = apply %472<Int, Int, Int, Int>(%473#1, %399#1) : $@convention(method) <τ_0_0 where τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0>, @inout RangeGenerator<τ_0_0>) -> ()
%475 = load %473#1 : $*Optional<Int> // user: %476
assign %475 to %430#1 : $*Optional<Int> // id: %476
dealloc_stack %473#0 : $*@local_storage Optional<Int> // id: %477
br bb24 // id: %478
bb28: // Preds: bb24
strong_release %430#0 : $@box Optional<Int> // id: %479
strong_release %428#0 : $@box Int // id: %480
strong_release %399#0 : $@box RangeGenerator<Int> // id: %481
%482 = global_addr @_Tv4Test13stringNumbersGSaSS_ : $*Array<String> // users: %526, %529, %1113
// function_ref Swift.Array.init <A> (Swift.Array<A>.Type)(arrayLiteral : Swift.Array<A>...) -> Swift.Array<A>
%483 = function_ref @_TFSaCurfMGSaq__Ft12arrayLiteralGSaq___GSaq__ : $@convention(thin) <τ_0_0> (@owned Array<τ_0_0>, @thin Array<τ_0_0>.Type) -> @owned Array<τ_0_0> // user: %525
%484 = metatype $@thin Array<String>.Type // user: %525
%485 = integer_literal $Builtin.Word, 4 // user: %487
// function_ref Swift._allocateUninitializedArray <A> (Builtin.Word) -> (Swift.Array<A>, Builtin.RawPointer)
%486 = function_ref @_TFSs27_allocateUninitializedArrayurFBwTGSaq__Bp_ : $@convention(thin) <τ_0_0> (Builtin.Word) -> @owned (Array<τ_0_0>, Builtin.RawPointer) // user: %487
%487 = apply %486<String>(%485) : $@convention(thin) <τ_0_0> (Builtin.Word) -> @owned (Array<τ_0_0>, Builtin.RawPointer) // users: %488, %489
%488 = tuple_extract %487 : $(Array<String>, Builtin.RawPointer), 0 // user: %525
%489 = tuple_extract %487 : $(Array<String>, Builtin.RawPointer), 1 // user: %490
%490 = pointer_to_address %489 : $Builtin.RawPointer to $*String // users: %497, %499, %508, %517
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%491 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %496
%492 = metatype $@thin String.Type // user: %496
%493 = string_literal utf8 "1" // user: %496
%494 = integer_literal $Builtin.Word, 1 // user: %496
%495 = integer_literal $Builtin.Int1, -1 // user: %496
%496 = apply %491(%493, %494, %495, %492) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %497
store %496 to %490 : $*String // id: %497
%498 = integer_literal $Builtin.Word, 1 // user: %499
%499 = index_addr %490 : $*String, %498 : $Builtin.Word // user: %506
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%500 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %505
%501 = metatype $@thin String.Type // user: %505
%502 = string_literal utf8 "2" // user: %505
%503 = integer_literal $Builtin.Word, 1 // user: %505
%504 = integer_literal $Builtin.Int1, -1 // user: %505
%505 = apply %500(%502, %503, %504, %501) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %506
store %505 to %499 : $*String // id: %506
%507 = integer_literal $Builtin.Word, 2 // user: %508
%508 = index_addr %490 : $*String, %507 : $Builtin.Word // user: %515
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%509 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %514
%510 = metatype $@thin String.Type // user: %514
%511 = string_literal utf8 "3" // user: %514
%512 = integer_literal $Builtin.Word, 1 // user: %514
%513 = integer_literal $Builtin.Int1, -1 // user: %514
%514 = apply %509(%511, %512, %513, %510) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %515
store %514 to %508 : $*String // id: %515
%516 = integer_literal $Builtin.Word, 3 // user: %517
%517 = index_addr %490 : $*String, %516 : $Builtin.Word // user: %524
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%518 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %523
%519 = metatype $@thin String.Type // user: %523
%520 = string_literal utf8 "foo" // user: %523
%521 = integer_literal $Builtin.Word, 3 // user: %523
%522 = integer_literal $Builtin.Int1, -1 // user: %523
%523 = apply %518(%520, %521, %522, %519) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %524
store %523 to %517 : $*String // id: %524
%525 = apply %483<String>(%488, %484) : $@convention(thin) <τ_0_0> (@owned Array<τ_0_0>, @thin Array<τ_0_0>.Type) -> @owned Array<τ_0_0> // user: %526
store %525 to %482 : $*Array<String> // id: %526
%527 = global_addr @_Tv4Test9maybeIntsGSaGSqSi__ : $*Array<Optional<Int>> // users: %537, %541, %566, %593, %618
// function_ref ext.Swift.Swift.CollectionType<A where A: Swift.CollectionType>.map <A><B where A: Swift.CollectionType> (A)((A.Generator.Element) -> B) -> Swift.Array<B>
%528 = function_ref @_TFeRq_Ss14CollectionType_SsS_3mapu__Rq_S__fq_FFqqq_S_9GeneratorSs13GeneratorType7Elementqd__GSaqd___ : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Generator : GeneratorType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible><τ_1_0> (@owned @callee_owned (@out τ_1_0, @in τ_0_0.Generator.Element) -> (), @in_guaranteed τ_0_0) -> @owned Array<τ_1_0> // user: %536
%529 = load %482 : $*Array<String> // user: %531
%530 = alloc_stack $Array<String> // users: %531, %536, %538
store %529 to %530#1 : $*Array<String> // id: %531
// function_ref Test.(closure #4)
%532 = function_ref @_TF4TestU2_FSSGSqSi_ : $@convention(thin) (@owned String) -> Optional<Int> // user: %533
%533 = thin_to_thick_function %532 : $@convention(thin) (@owned String) -> Optional<Int> to $@callee_owned (@owned String) -> Optional<Int> // user: %535
// function_ref reabstraction thunk helper from @callee_owned (@owned Swift.String) -> (@unowned Swift.Optional<Swift.Int>) to @callee_owned (@in Swift.String) -> (@out Swift.Optional<Swift.Int>)
%534 = function_ref @_TTRXFo_oSS_dGSqSi__XFo_iSS_iGSqSi__ : $@convention(thin) (@out Optional<Int>, @in String, @owned @callee_owned (@owned String) -> Optional<Int>) -> () // user: %535
%535 = partial_apply %534(%533) : $@convention(thin) (@out Optional<Int>, @in String, @owned @callee_owned (@owned String) -> Optional<Int>) -> () // user: %536
%536 = apply %528<[String], IndexingGenerator<Array<String>>, String, Int, Int, Int, Int, ArraySlice<String>, IndexingGenerator<ArraySlice<String>>, String, Int, Int, Int, Int, ArraySlice<String>, String, String, Int?>(%535, %530#1) : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Generator : GeneratorType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible><τ_1_0> (@owned @callee_owned (@out τ_1_0, @in τ_0_0.Generator.Element) -> (), @in_guaranteed τ_0_0) -> @owned Array<τ_1_0> // user: %537
store %536 to %527 : $*Array<Optional<Int>> // id: %537
dealloc_stack %530#0 : $*@local_storage Array<String> // id: %538
%539 = alloc_box $IndexingGenerator<Array<Optional<Int>>> // var $maybeInt$generator // users: %547, %553, %563
// function_ref ext.Swift.Swift.CollectionType<A where A: Swift.CollectionType, A.Generator == Swift.IndexingGenerator<A>, A._Element == A.Generator.Element>.generate <A where A: Swift.CollectionType, A.Generator == Swift.IndexingGenerator<A>, A._Element == A.Generator.Element> (A)() -> Swift.IndexingGenerator<A>
%540 = function_ref @_TFeRq_Ss14CollectionTypezqq_S_9GeneratorGVSs17IndexingGeneratorq__zqq_Ss9Indexable8_Elementqqq_S_9GeneratorSs13GeneratorType7Element_SsS_8generateuRq_S_zqq_S_9GeneratorGS0_q__zqq_S1_8_Elementqqq_S_9GeneratorS2_7Element_fq_FT_GS0_q__ : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.Generator == IndexingGenerator<τ_0_0>, τ_0_0.Generator.Element == τ_0_0._Element> (@out IndexingGenerator<τ_0_0>, @in_guaranteed τ_0_0) -> () // user: %545
%541 = load %527 : $*Array<Optional<Int>> // user: %543
%542 = alloc_stack $Array<Optional<Int>> // users: %543, %545, %549
store %541 to %542#1 : $*Array<Optional<Int>> // id: %543
%544 = alloc_stack $IndexingGenerator<Array<Optional<Int>>> // users: %545, %546, %548
%545 = apply %540<[Int?], Int, Int, Int, Int, ArraySlice<Optional<Int>>, IndexingGenerator<ArraySlice<Optional<Int>>>, Optional<Int>, Int, Int, Int, Int, ArraySlice<Optional<Int>>, Optional<Int>, Optional<Int>>(%544#1, %542#1) : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.Generator == IndexingGenerator<τ_0_0>, τ_0_0.Generator.Element == τ_0_0._Element> (@out IndexingGenerator<τ_0_0>, @in_guaranteed τ_0_0) -> ()
%546 = load %544#1 : $*IndexingGenerator<Array<Optional<Int>>> // user: %547
store %546 to %539#1 : $*IndexingGenerator<Array<Optional<Int>>> // id: %547
dealloc_stack %544#0 : $*@local_storage IndexingGenerator<Array<Optional<Int>>> // id: %548
dealloc_stack %542#0 : $*@local_storage Array<Optional<Int>> // id: %549
br bb29 // id: %550
bb29: // Preds: bb28 bb30
// function_ref Swift.IndexingGenerator.next <A where A: Swift.Indexable> (inout Swift.IndexingGenerator<A>)() -> Swift.Optional<A._Element>
%551 = function_ref @_TFVSs17IndexingGenerator4nextuRq_Ss9Indexable_fRGS_q__FT_GSqqq_S0_8_Element_ : $@convention(method) <τ_0_0 where τ_0_0 : Indexable, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0._Element>, @inout IndexingGenerator<τ_0_0>) -> () // user: %553
%552 = alloc_stack $Optional<Optional<Int>> // users: %553, %554, %555
%553 = apply %551<Array<Optional<Int>>, Int, Int, Int, Int, Optional<Int>>(%552#1, %539#1) : $@convention(method) <τ_0_0 where τ_0_0 : Indexable, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0._Element>, @inout IndexingGenerator<τ_0_0>) -> ()
%554 = load %552#1 : $*Optional<Optional<Int>> // users: %558, %560
dealloc_stack %552#0 : $*@local_storage Optional<Optional<Int>> // id: %555
%556 = integer_literal $Builtin.Int1, -1 // user: %558
%557 = integer_literal $Builtin.Int1, 0 // user: %558
%558 = select_enum %554 : $Optional<Optional<Int>>, case #Optional.Some!enumelt.1: %556, default %557 : $Builtin.Int1 // user: %559
cond_br %558, bb30, bb31 // id: %559
bb30: // Preds: bb29
%560 = unchecked_enum_data %554 : $Optional<Optional<Int>>, #Optional.Some!enumelt.1 // user: %561
debug_value %560 : $Optional<Int> // let maybeInt // id: %561
br bb29 // id: %562
bb31: // Preds: bb29
strong_release %539#0 : $@box IndexingGenerator<Array<Optional<Int>>> // id: %563
%564 = alloc_box $IndexingGenerator<Array<Optional<Int>>> // var $generator // users: %572, %578, %590
// function_ref ext.Swift.Swift.CollectionType<A where A: Swift.CollectionType, A.Generator == Swift.IndexingGenerator<A>, A._Element == A.Generator.Element>.generate <A where A: Swift.CollectionType, A.Generator == Swift.IndexingGenerator<A>, A._Element == A.Generator.Element> (A)() -> Swift.IndexingGenerator<A>
%565 = function_ref @_TFeRq_Ss14CollectionTypezqq_S_9GeneratorGVSs17IndexingGeneratorq__zqq_Ss9Indexable8_Elementqqq_S_9GeneratorSs13GeneratorType7Element_SsS_8generateuRq_S_zqq_S_9GeneratorGS0_q__zqq_S1_8_Elementqqq_S_9GeneratorS2_7Element_fq_FT_GS0_q__ : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.Generator == IndexingGenerator<τ_0_0>, τ_0_0.Generator.Element == τ_0_0._Element> (@out IndexingGenerator<τ_0_0>, @in_guaranteed τ_0_0) -> () // user: %570
%566 = load %527 : $*Array<Optional<Int>> // user: %568
%567 = alloc_stack $Array<Optional<Int>> // users: %568, %570, %574
store %566 to %567#1 : $*Array<Optional<Int>> // id: %568
%569 = alloc_stack $IndexingGenerator<Array<Optional<Int>>> // users: %570, %571, %573
%570 = apply %565<[Int?], Int, Int, Int, Int, ArraySlice<Optional<Int>>, IndexingGenerator<ArraySlice<Optional<Int>>>, Optional<Int>, Int, Int, Int, Int, ArraySlice<Optional<Int>>, Optional<Int>, Optional<Int>>(%569#1, %567#1) : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.Generator == IndexingGenerator<τ_0_0>, τ_0_0.Generator.Element == τ_0_0._Element> (@out IndexingGenerator<τ_0_0>, @in_guaranteed τ_0_0) -> ()
%571 = load %569#1 : $*IndexingGenerator<Array<Optional<Int>>> // user: %572
store %571 to %564#1 : $*IndexingGenerator<Array<Optional<Int>>> // id: %572
dealloc_stack %569#0 : $*@local_storage IndexingGenerator<Array<Optional<Int>>> // id: %573
dealloc_stack %567#0 : $*@local_storage Array<Optional<Int>> // id: %574
br bb32 // id: %575
bb32: // Preds: bb31 bb33 bb34
// function_ref Swift.IndexingGenerator.next <A where A: Swift.Indexable> (inout Swift.IndexingGenerator<A>)() -> Swift.Optional<A._Element>
%576 = function_ref @_TFVSs17IndexingGenerator4nextuRq_Ss9Indexable_fRGS_q__FT_GSqqq_S0_8_Element_ : $@convention(method) <τ_0_0 where τ_0_0 : Indexable, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0._Element>, @inout IndexingGenerator<τ_0_0>) -> () // user: %578
%577 = alloc_stack $Optional<Optional<Int>> // users: %578, %579, %580
%578 = apply %576<Array<Optional<Int>>, Int, Int, Int, Int, Optional<Int>>(%577#1, %564#1) : $@convention(method) <τ_0_0 where τ_0_0 : Indexable, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0._Element>, @inout IndexingGenerator<τ_0_0>) -> ()
%579 = load %577#1 : $*Optional<Optional<Int>> // users: %583, %585
dealloc_stack %577#0 : $*@local_storage Optional<Optional<Int>> // id: %580
%581 = integer_literal $Builtin.Int1, -1 // user: %583
%582 = integer_literal $Builtin.Int1, 0 // user: %583
%583 = select_enum %579 : $Optional<Optional<Int>>, case #Optional.Some!enumelt.1: %581, default %582 : $Builtin.Int1 // user: %584
cond_br %583, bb33, bb35 // id: %584
bb33: // Preds: bb32
%585 = unchecked_enum_data %579 : $Optional<Optional<Int>>, #Optional.Some!enumelt.1 // user: %586
switch_enum %585 : $Optional<Int>, case #Optional.Some!enumelt.1: bb34, default bb32 // id: %586
bb34(%587 : $Int): // Preds: bb33
debug_value %587 : $Int // let i // id: %588
br bb32 // id: %589
bb35: // Preds: bb32
strong_release %564#0 : $@box IndexingGenerator<Array<Optional<Int>>> // id: %590
%591 = alloc_box $IndexingGenerator<Array<Optional<Int>>> // var $generator // users: %599, %605, %615
// function_ref ext.Swift.Swift.CollectionType<A where A: Swift.CollectionType, A.Generator == Swift.IndexingGenerator<A>, A._Element == A.Generator.Element>.generate <A where A: Swift.CollectionType, A.Generator == Swift.IndexingGenerator<A>, A._Element == A.Generator.Element> (A)() -> Swift.IndexingGenerator<A>
%592 = function_ref @_TFeRq_Ss14CollectionTypezqq_S_9GeneratorGVSs17IndexingGeneratorq__zqq_Ss9Indexable8_Elementqqq_S_9GeneratorSs13GeneratorType7Element_SsS_8generateuRq_S_zqq_S_9GeneratorGS0_q__zqq_S1_8_Elementqqq_S_9GeneratorS2_7Element_fq_FT_GS0_q__ : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.Generator == IndexingGenerator<τ_0_0>, τ_0_0.Generator.Element == τ_0_0._Element> (@out IndexingGenerator<τ_0_0>, @in_guaranteed τ_0_0) -> () // user: %597
%593 = load %527 : $*Array<Optional<Int>> // user: %595
%594 = alloc_stack $Array<Optional<Int>> // users: %595, %597, %601
store %593 to %594#1 : $*Array<Optional<Int>> // id: %595
%596 = alloc_stack $IndexingGenerator<Array<Optional<Int>>> // users: %597, %598, %600
%597 = apply %592<[Int?], Int, Int, Int, Int, ArraySlice<Optional<Int>>, IndexingGenerator<ArraySlice<Optional<Int>>>, Optional<Int>, Int, Int, Int, Int, ArraySlice<Optional<Int>>, Optional<Int>, Optional<Int>>(%596#1, %594#1) : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.Generator == IndexingGenerator<τ_0_0>, τ_0_0.Generator.Element == τ_0_0._Element> (@out IndexingGenerator<τ_0_0>, @in_guaranteed τ_0_0) -> ()
%598 = load %596#1 : $*IndexingGenerator<Array<Optional<Int>>> // user: %599
store %598 to %591#1 : $*IndexingGenerator<Array<Optional<Int>>> // id: %599
dealloc_stack %596#0 : $*@local_storage IndexingGenerator<Array<Optional<Int>>> // id: %600
dealloc_stack %594#0 : $*@local_storage Array<Optional<Int>> // id: %601
br bb36 // id: %602
bb36: // Preds: bb35 bb37 bb38
// function_ref Swift.IndexingGenerator.next <A where A: Swift.Indexable> (inout Swift.IndexingGenerator<A>)() -> Swift.Optional<A._Element>
%603 = function_ref @_TFVSs17IndexingGenerator4nextuRq_Ss9Indexable_fRGS_q__FT_GSqqq_S0_8_Element_ : $@convention(method) <τ_0_0 where τ_0_0 : Indexable, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0._Element>, @inout IndexingGenerator<τ_0_0>) -> () // user: %605
%604 = alloc_stack $Optional<Optional<Int>> // users: %605, %606, %607
%605 = apply %603<Array<Optional<Int>>, Int, Int, Int, Int, Optional<Int>>(%604#1, %591#1) : $@convention(method) <τ_0_0 where τ_0_0 : Indexable, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0._Element>, @inout IndexingGenerator<τ_0_0>) -> ()
%606 = load %604#1 : $*Optional<Optional<Int>> // users: %610, %612
dealloc_stack %604#0 : $*@local_storage Optional<Optional<Int>> // id: %607
%608 = integer_literal $Builtin.Int1, -1 // user: %610
%609 = integer_literal $Builtin.Int1, 0 // user: %610
%610 = select_enum %606 : $Optional<Optional<Int>>, case #Optional.Some!enumelt.1: %608, default %609 : $Builtin.Int1 // user: %611
cond_br %610, bb37, bb39 // id: %611
bb37: // Preds: bb36
%612 = unchecked_enum_data %606 : $Optional<Optional<Int>>, #Optional.Some!enumelt.1 // user: %613
switch_enum %612 : $Optional<Int>, case #Optional.None!enumelt: bb38, default bb36 // id: %613
bb38: // Preds: bb37
br bb36 // id: %614
bb39: // Preds: bb36
strong_release %591#0 : $@box IndexingGenerator<Array<Optional<Int>>> // id: %615
%616 = alloc_box $IndexingGenerator<Array<Optional<Int>>> // var $generator // users: %624, %630, %642
// function_ref ext.Swift.Swift.CollectionType<A where A: Swift.CollectionType, A.Generator == Swift.IndexingGenerator<A>, A._Element == A.Generator.Element>.generate <A where A: Swift.CollectionType, A.Generator == Swift.IndexingGenerator<A>, A._Element == A.Generator.Element> (A)() -> Swift.IndexingGenerator<A>
%617 = function_ref @_TFeRq_Ss14CollectionTypezqq_S_9GeneratorGVSs17IndexingGeneratorq__zqq_Ss9Indexable8_Elementqqq_S_9GeneratorSs13GeneratorType7Element_SsS_8generateuRq_S_zqq_S_9GeneratorGS0_q__zqq_S1_8_Elementqqq_S_9GeneratorS2_7Element_fq_FT_GS0_q__ : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.Generator == IndexingGenerator<τ_0_0>, τ_0_0.Generator.Element == τ_0_0._Element> (@out IndexingGenerator<τ_0_0>, @in_guaranteed τ_0_0) -> () // user: %622
%618 = load %527 : $*Array<Optional<Int>> // user: %620
%619 = alloc_stack $Array<Optional<Int>> // users: %620, %622, %626
store %618 to %619#1 : $*Array<Optional<Int>> // id: %620
%621 = alloc_stack $IndexingGenerator<Array<Optional<Int>>> // users: %622, %623, %625
%622 = apply %617<[Int?], Int, Int, Int, Int, ArraySlice<Optional<Int>>, IndexingGenerator<ArraySlice<Optional<Int>>>, Optional<Int>, Int, Int, Int, Int, ArraySlice<Optional<Int>>, Optional<Int>, Optional<Int>>(%621#1, %619#1) : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.Generator == IndexingGenerator<τ_0_0>, τ_0_0.Generator.Element == τ_0_0._Element> (@out IndexingGenerator<τ_0_0>, @in_guaranteed τ_0_0) -> ()
%623 = load %621#1 : $*IndexingGenerator<Array<Optional<Int>>> // user: %624
store %623 to %616#1 : $*IndexingGenerator<Array<Optional<Int>>> // id: %624
dealloc_stack %621#0 : $*@local_storage IndexingGenerator<Array<Optional<Int>>> // id: %625
dealloc_stack %619#0 : $*@local_storage Array<Optional<Int>> // id: %626
br bb40 // id: %627
bb40: // Preds: bb39 bb41 bb42
// function_ref Swift.IndexingGenerator.next <A where A: Swift.Indexable> (inout Swift.IndexingGenerator<A>)() -> Swift.Optional<A._Element>
%628 = function_ref @_TFVSs17IndexingGenerator4nextuRq_Ss9Indexable_fRGS_q__FT_GSqqq_S0_8_Element_ : $@convention(method) <τ_0_0 where τ_0_0 : Indexable, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0._Element>, @inout IndexingGenerator<τ_0_0>) -> () // user: %630
%629 = alloc_stack $Optional<Optional<Int>> // users: %630, %631, %632
%630 = apply %628<Array<Optional<Int>>, Int, Int, Int, Int, Optional<Int>>(%629#1, %616#1) : $@convention(method) <τ_0_0 where τ_0_0 : Indexable, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0._Element>, @inout IndexingGenerator<τ_0_0>) -> ()
%631 = load %629#1 : $*Optional<Optional<Int>> // users: %635, %637
dealloc_stack %629#0 : $*@local_storage Optional<Optional<Int>> // id: %632
%633 = integer_literal $Builtin.Int1, -1 // user: %635
%634 = integer_literal $Builtin.Int1, 0 // user: %635
%635 = select_enum %631 : $Optional<Optional<Int>>, case #Optional.Some!enumelt.1: %633, default %634 : $Builtin.Int1 // user: %636
cond_br %635, bb41, bb43 // id: %636
bb41: // Preds: bb40
%637 = unchecked_enum_data %631 : $Optional<Optional<Int>>, #Optional.Some!enumelt.1 // user: %638
switch_enum %637 : $Optional<Int>, case #Optional.Some!enumelt.1: bb42, default bb40 // id: %638
bb42(%639 : $Int): // Preds: bb41
debug_value %639 : $Int // let i // id: %640
br bb40 // id: %641
bb43: // Preds: bb40
strong_release %616#0 : $@box IndexingGenerator<Array<Optional<Int>>> // id: %642
%643 = global_addr @_Tv4Test1iSi : $*Int // user: %648
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%644 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %647
%645 = metatype $@thin Int.Type // user: %647
%646 = integer_literal $Builtin.Int2048, 5 // user: %647
%647 = apply %644(%646, %645) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %648
store %647 to %643 : $*Int // id: %648
debug_value %110 : $Int // let $match // id: %649
// function_ref Swift.Bool._getBuiltinLogicValue (Swift.Bool)() -> Builtin.Int1
%650 = function_ref @_TFSb21_getBuiltinLogicValuefSbFT_Bi1_ : $@convention(method) (Bool) -> Builtin.Int1 // user: %673
// function_ref static Swift.~= infix <A where A: Swift.Comparable, A: Swift.ForwardIndexType> (Swift.Range<A>, A) -> Swift.Bool
%651 = function_ref @_TZFSsoi2teuRq_Ss10Comparableq_Ss16ForwardIndexType_FTGVSs5Rangeq__q__Sb : $@convention(thin) <τ_0_0 where τ_0_0 : Comparable, τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@in Range<τ_0_0>, @in τ_0_0) -> Bool // user: %672
// function_ref static Swift...< infix <A where A: Swift.Comparable, A: Swift.ForwardIndexType> (A, A) -> Swift.Range<A>
%652 = function_ref @_TZFSsoi3zzluRq_Ss10Comparableq_Ss16ForwardIndexType_FTq_q__GVSs5Rangeq__ : $@convention(thin) <τ_0_0 where τ_0_0 : Comparable, τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Range<τ_0_0>, @in τ_0_0, @in τ_0_0) -> () // user: %666
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%653 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %656
%654 = metatype $@thin Int.Type // user: %656
%655 = integer_literal $Builtin.Int2048, 0 // user: %656
%656 = apply %653(%655, %654) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %658
%657 = alloc_stack $Int // users: %658, %666, %678
store %656 to %657#1 : $*Int // id: %658
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%659 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %662
%660 = metatype $@thin Int.Type // user: %662
%661 = integer_literal $Builtin.Int2048, 10 // user: %662
%662 = apply %659(%661, %660) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %664
%663 = alloc_stack $Int // users: %664, %666, %677
store %662 to %663#1 : $*Int // id: %664
%665 = alloc_stack $Range<Int> // users: %666, %667, %676
%666 = apply %652<Int, Int, Int, Int>(%665#1, %657#1, %663#1) : $@convention(thin) <τ_0_0 where τ_0_0 : Comparable, τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Range<τ_0_0>, @in τ_0_0, @in τ_0_0) -> ()
%667 = load %665#1 : $*Range<Int> // user: %669
%668 = alloc_stack $Range<Int> // users: %669, %672, %675
store %667 to %668#1 : $*Range<Int> // id: %669
%670 = alloc_stack $Int // users: %671, %672, %674
store %110 to %670#1 : $*Int // id: %671
%672 = apply %651<Int, Int, Int, Int>(%668#1, %670#1) : $@convention(thin) <τ_0_0 where τ_0_0 : Comparable, τ_0_0 : ForwardIndexType, τ_0_0.Distance : _SignedIntegerType, τ_0_0.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@in Range<τ_0_0>, @in τ_0_0) -> Bool // user: %673
%673 = apply %650(%672) : $@convention(method) (Bool) -> Builtin.Int1 // user: %679
dealloc_stack %670#0 : $*@local_storage Int // id: %674
dealloc_stack %668#0 : $*@local_storage Range<Int> // id: %675
dealloc_stack %665#0 : $*@local_storage Range<Int> // id: %676
dealloc_stack %663#0 : $*@local_storage Int // id: %677
dealloc_stack %657#0 : $*@local_storage Int // id: %678
cond_br %673, bb44, bb45 // id: %679
bb44: // Preds: bb43
// function_ref Swift.print <A> (A) -> ()
%680 = function_ref @_TFSs5printurFq_T_ : $@convention(thin) <τ_0_0> (@in τ_0_0) -> () // user: %720
// function_ref Swift.String.init (Swift.String.Type)(stringInterpolation : Swift.Array<Swift.String>...) -> Swift.String
%681 = function_ref @_TFSSCfMSSFt19stringInterpolationGSaSS__SS : $@convention(thin) (@owned Array<String>, @thin String.Type) -> @owned String // user: %717
%682 = metatype $@thin String.Type // user: %717
%683 = integer_literal $Builtin.Word, 3 // user: %685
// function_ref Swift._allocateUninitializedArray <A> (Builtin.Word) -> (Swift.Array<A>, Builtin.RawPointer)
%684 = function_ref @_TFSs27_allocateUninitializedArrayurFBwTGSaq__Bp_ : $@convention(thin) <τ_0_0> (Builtin.Word) -> @owned (Array<τ_0_0>, Builtin.RawPointer) // user: %685
%685 = apply %684<String>(%683) : $@convention(thin) <τ_0_0> (Builtin.Word) -> @owned (Array<τ_0_0>, Builtin.RawPointer) // users: %686, %687
%686 = tuple_extract %685 : $(Array<String>, Builtin.RawPointer), 0 // user: %717
%687 = tuple_extract %685 : $(Array<String>, Builtin.RawPointer), 1 // user: %688
%688 = pointer_to_address %687 : $Builtin.RawPointer to $*String // users: %698, %700, %706
// function_ref Swift.String.init (Swift.String.Type)(stringInterpolationSegment : Swift.String) -> Swift.String
%689 = function_ref @_TFSSCfMSSFT26stringInterpolationSegmentSS_SS : $@convention(thin) (@owned String, @thin String.Type) -> @owned String // user: %697
%690 = metatype $@thin String.Type // user: %697
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%691 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %696
%692 = metatype $@thin String.Type // user: %696
%693 = string_literal utf8 "" // user: %696
%694 = integer_literal $Builtin.Word, 0 // user: %696
%695 = integer_literal $Builtin.Int1, -1 // user: %696
%696 = apply %691(%693, %694, %695, %692) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %697
%697 = apply %689(%696, %690) : $@convention(thin) (@owned String, @thin String.Type) -> @owned String // user: %698
store %697 to %688 : $*String // id: %698
%699 = integer_literal $Builtin.Word, 1 // user: %700
%700 = index_addr %688 : $*String, %699 : $Builtin.Word // user: %704
// function_ref Swift.String.init (Swift.String.Type)(stringInterpolationSegment : Swift.Int) -> Swift.String
%701 = function_ref @_TFSSCfMSSFT26stringInterpolationSegmentSi_SS : $@convention(thin) (Int, @thin String.Type) -> @owned String // user: %703
%702 = metatype $@thin String.Type // user: %703
%703 = apply %701(%110, %702) : $@convention(thin) (Int, @thin String.Type) -> @owned String // user: %704
store %703 to %700 : $*String // id: %704
%705 = integer_literal $Builtin.Word, 2 // user: %706
%706 = index_addr %688 : $*String, %705 : $Builtin.Word // user: %716
// function_ref Swift.String.init (Swift.String.Type)(stringInterpolationSegment : Swift.String) -> Swift.String
%707 = function_ref @_TFSSCfMSSFT26stringInterpolationSegmentSS_SS : $@convention(thin) (@owned String, @thin String.Type) -> @owned String // user: %715
%708 = metatype $@thin String.Type // user: %715
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%709 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %714
%710 = metatype $@thin String.Type // user: %714
%711 = string_literal utf8 " within range" // user: %714
%712 = integer_literal $Builtin.Word, 13 // user: %714
%713 = integer_literal $Builtin.Int1, -1 // user: %714
%714 = apply %709(%711, %712, %713, %710) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %715
%715 = apply %707(%714, %708) : $@convention(thin) (@owned String, @thin String.Type) -> @owned String // user: %716
store %715 to %706 : $*String // id: %716
%717 = apply %681(%686, %682) : $@convention(thin) (@owned Array<String>, @thin String.Type) -> @owned String // user: %719
%718 = alloc_stack $String // users: %719, %720, %721
store %717 to %718#1 : $*String // id: %719
%720 = apply %680<String>(%718#1) : $@convention(thin) <τ_0_0> (@in τ_0_0) -> ()
dealloc_stack %718#0 : $*@local_storage String // id: %721
br bb45 // id: %722
bb45: // Preds: bb43 bb44
%723 = global_addr @_Tv4Test1sSS : $*String // users: %730, %731, %767
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%724 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %729
%725 = metatype $@thin String.Type // user: %729
%726 = string_literal utf8 "bar" // user: %729
%727 = integer_literal $Builtin.Word, 3 // user: %729
%728 = integer_literal $Builtin.Int1, -1 // user: %729
%729 = apply %724(%726, %727, %728, %725) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %730
store %729 to %723 : $*String // id: %730
%731 = load %723 : $*String // users: %732, %733, %745, %746, %749, %751
retain_value %731 : $String // id: %732
debug_value %731 : $String // let $match // id: %733
// function_ref Swift.Bool._getBuiltinLogicValue (Swift.Bool)() -> Builtin.Int1
%734 = function_ref @_TFSb21_getBuiltinLogicValuefSbFT_Bi1_ : $@convention(method) (Bool) -> Builtin.Int1 // user: %747
// function_ref static Test.~= infix (Test.Substring, Swift.String) -> Swift.Bool
%735 = function_ref @_TZF4Testoi2teFTVS_9SubstringSS_Sb : $@convention(thin) (@owned Substring, @owned String) -> Bool // user: %746
// function_ref Test.Substring.init (Test.Substring.Type)(Swift.String) -> Test.Substring
%736 = function_ref @_TFV4Test9SubstringCfMS0_FSSS0_ : $@convention(thin) (@owned String, @thin Substring.Type) -> @owned Substring // user: %744
%737 = metatype $@thin Substring.Type // user: %744
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%738 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %743
%739 = metatype $@thin String.Type // user: %743
%740 = string_literal utf8 "foo" // user: %743
%741 = integer_literal $Builtin.Word, 3 // user: %743
%742 = integer_literal $Builtin.Int1, -1 // user: %743
%743 = apply %738(%740, %741, %742, %739) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %744
%744 = apply %736(%743, %737) : $@convention(thin) (@owned String, @thin Substring.Type) -> @owned Substring // user: %746
retain_value %731 : $String // id: %745
%746 = apply %735(%744, %731) : $@convention(thin) (@owned Substring, @owned String) -> Bool // user: %747
%747 = apply %734(%746) : $@convention(method) (Bool) -> Builtin.Int1 // user: %748
cond_br %747, bb47, bb46 // id: %748
bb46: // Preds: bb45
release_value %731 : $String // id: %749
br bb48 // id: %750
bb47: // Preds: bb45
release_value %731 : $String // id: %751
// function_ref Swift.print <A> (A) -> ()
%752 = function_ref @_TFSs5printurFq_T_ : $@convention(thin) <τ_0_0> (@in τ_0_0) -> () // user: %761
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%753 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %758
%754 = metatype $@thin String.Type // user: %758
%755 = string_literal utf8 "has substring \"foo\")" // user: %758
%756 = integer_literal $Builtin.Word, 20 // user: %758
%757 = integer_literal $Builtin.Int1, -1 // user: %758
%758 = apply %753(%755, %756, %757, %754) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %760
%759 = alloc_stack $String // users: %760, %761, %762
store %758 to %759#1 : $*String // id: %760
%761 = apply %752<String>(%759#1) : $@convention(thin) <τ_0_0> (@in τ_0_0) -> ()
dealloc_stack %759#0 : $*@local_storage String // id: %762
br bb48 // id: %763
bb48: // Preds: bb46 bb47
%764 = alloc_box $Int // var i // users: %773, %776, %779, %784
// function_ref Swift.Int.init (Swift.Int.Type)(Swift.String, radix : Swift.Int) -> Swift.Optional<Swift.Int>
%765 = function_ref @_TFSiCfMSiFTSS5radixSi_GSqSi_ : $@convention(thin) (@owned String, Int, @thin Int.Type) -> Optional<Int> // user: %771
%766 = metatype $@thin Int.Type // user: %771
%767 = load %723 : $*String // users: %768, %771
retain_value %767 : $String // id: %768
// function_ref Swift.Int.(init (Swift.Int.Type) -> (Swift.String, radix : Swift.Int) -> Swift.Optional<Swift.Int>).(default argument 1)
%769 = function_ref @_TIFSicFMSiFTSS5radixSi_GSqSi_A0_ : $@convention(thin) () -> Int // user: %770
%770 = apply %769() : $@convention(thin) () -> Int // user: %771
%771 = apply %765(%767, %770, %766) : $@convention(thin) (@owned String, Int, @thin Int.Type) -> Optional<Int> // user: %772
switch_enum %771 : $Optional<Int>, case #Optional.Some!enumelt.1: bb50, default bb49 // id: %772
bb49: // Preds: bb48
dealloc_box %764#0 : $@box Int // id: %773
br bb51 // id: %774
bb50(%775 : $Int): // Preds: bb48
store %775 to %764#1 : $*Int // id: %776
// function_ref Swift.print <A> (A) -> ()
%777 = function_ref @_TFSs5printurFq_T_ : $@convention(thin) <τ_0_0> (@in τ_0_0) -> () // user: %782
// function_ref static Swift.++ prefix (inout Swift.Int) -> Swift.Int
%778 = function_ref @_TZFSsop2ppFRSiSi : $@convention(thin) (@inout Int) -> Int // user: %779
%779 = apply %778(%764#1) : $@convention(thin) (@inout Int) -> Int // user: %781
%780 = alloc_stack $Int // users: %781, %782, %783
store %779 to %780#1 : $*Int // id: %781
%782 = apply %777<Int>(%780#1) : $@convention(thin) <τ_0_0> (@in τ_0_0) -> ()
dealloc_stack %780#0 : $*@local_storage Int // id: %783
strong_release %764#0 : $@box Int // id: %784
br bb51 // id: %785
bb51: // Preds: bb49 bb50
// function_ref Swift.Bool._getBuiltinLogicValue (Swift.Bool)() -> Builtin.Int1
%786 = function_ref @_TFSb21_getBuiltinLogicValuefSbFT_Bi1_ : $@convention(method) (Bool) -> Builtin.Int1 // user: %797
// function_ref static Swift.! prefix (Swift.Bool) -> Swift.Bool
%787 = function_ref @_TZFSsop1nFSbSb : $@convention(thin) (Bool) -> Bool // user: %796
%788 = load %183 : $*Array<() -> Int> // users: %789, %792
retain_value %788 : $Array<() -> Int> // id: %789
// function_ref ext.Swift.Swift.CollectionType<A where A: Swift.CollectionType>.isEmpty.getter : Swift.Bool
%790 = function_ref @_TFeRq_Ss14CollectionType_SsS_g7isEmptySb : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Generator : GeneratorType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@in_guaranteed τ_0_0) -> Bool // user: %793
%791 = alloc_stack $Array<() -> Int> // users: %792, %793, %794, %798
store %788 to %791#1 : $*Array<() -> Int> // id: %792
%793 = apply %790<[() -> Int], IndexingGenerator<Array<() -> Int>>, () -> Int, Int, Int, Int, Int, ArraySlice<() -> Int>, IndexingGenerator<ArraySlice<() -> Int>>, () -> Int, Int, Int, Int, Int, ArraySlice<() -> Int>, () -> Int, () -> Int>(%791#1) : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Generator : GeneratorType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@in_guaranteed τ_0_0) -> Bool // user: %796
%794 = load %791#1 : $*Array<() -> Int> // user: %795
release_value %794 : $Array<() -> Int> // id: %795
%796 = apply %787(%793) : $@convention(thin) (Bool) -> Bool // user: %797
%797 = apply %786(%796) : $@convention(method) (Bool) -> Builtin.Int1 // user: %799
dealloc_stack %791#0 : $*@local_storage Array<() -> Int> // id: %798
cond_br %797, bb52, bb53 // id: %799
bb52: // Preds: bb51
br bb53 // id: %800
bb53: // Preds: bb51 bb52
%801 = load %183 : $*Array<() -> Int> // users: %802, %805
retain_value %801 : $Array<() -> Int> // id: %802
// function_ref ext.Swift.Swift.CollectionType<A where A: Swift.CollectionType>.first.getter : Swift.Optional<A.Generator.Element>
%803 = function_ref @_TFeRq_Ss14CollectionType_SsS_g5firstGSqqqq_S_9GeneratorSs13GeneratorType7Element_ : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Generator : GeneratorType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0.Generator.Element>, @in_guaranteed τ_0_0) -> () // user: %807
%804 = alloc_stack $Array<() -> Int> // users: %805, %807, %808, %813, %820
store %801 to %804#1 : $*Array<() -> Int> // id: %805
%806 = alloc_stack $Optional<() -> Int> // users: %807, %810, %812, %819
%807 = apply %803<[() -> Int], IndexingGenerator<Array<() -> Int>>, () -> Int, Int, Int, Int, Int, ArraySlice<() -> Int>, IndexingGenerator<ArraySlice<() -> Int>>, () -> Int, Int, Int, Int, Int, ArraySlice<() -> Int>, () -> Int, () -> Int>(%806#1, %804#1) : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Generator : GeneratorType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0.Generator.Element>, @in_guaranteed τ_0_0) -> ()
%808 = load %804#1 : $*Array<() -> Int> // user: %809
release_value %808 : $Array<() -> Int> // id: %809
%810 = load %806#1 : $*Optional<() -> Int> // user: %811
switch_enum %810 : $Optional<() -> Int>, case #Optional.Some!enumelt.1: bb55, default bb54 // id: %811
bb54: // Preds: bb53
dealloc_stack %806#0 : $*@local_storage Optional<() -> Int> // id: %812
dealloc_stack %804#0 : $*@local_storage Array<() -> Int> // id: %813
br bb56 // id: %814
bb55(%815 : $@callee_owned (@out Int, @in ()) -> ()): // Preds: bb53
// function_ref reabstraction thunk helper from @callee_owned (@in ()) -> (@out Swift.Int) to @callee_owned () -> (@unowned Swift.Int)
%816 = function_ref @_TTRXFo_iT__iSi_XFo__dSi_ : $@convention(thin) (@owned @callee_owned (@out Int, @in ()) -> ()) -> Int // user: %817
%817 = partial_apply %816(%815) : $@convention(thin) (@owned @callee_owned (@out Int, @in ()) -> ()) -> Int // users: %818, %821
debug_value %817 : $@callee_owned () -> Int // let firstElement // id: %818
dealloc_stack %806#0 : $*@local_storage Optional<() -> Int> // id: %819
dealloc_stack %804#0 : $*@local_storage Array<() -> Int> // id: %820
strong_release %817 : $@callee_owned () -> Int // id: %821
br bb56 // id: %822
bb56: // Preds: bb54 bb55
%823 = global_addr @_Tv4Test12dictOfArraysGVSs10DictionarySSGSaSi__ : $*Dictionary<String, Array<Int>> // users: %906, %908
// function_ref Swift.Dictionary.init <A, B where A: Swift.Hashable> (Swift.Dictionary<A, B>.Type)(dictionaryLiteral : Swift.Array<(A, B)>...) -> Swift.Dictionary<A, B>
%824 = function_ref @_TFVSs10DictionaryCu0_Rq_Ss8Hashable_fMGS_q_q0__Ft17dictionaryLiteralGSaTq_q0____GS_q_q0__ : $@convention(thin) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@owned Array<(τ_0_0, τ_0_1)>, @thin Dictionary<τ_0_0, τ_0_1>.Type) -> @owned Dictionary<τ_0_0, τ_0_1> // user: %905
%825 = metatype $@thin Dictionary<String, Array<Int>>.Type // user: %905
%826 = integer_literal $Builtin.Word, 1 // user: %828
// function_ref Swift._allocateUninitializedArray <A> (Builtin.Word) -> (Swift.Array<A>, Builtin.RawPointer)
%827 = function_ref @_TFSs27_allocateUninitializedArrayurFBwTGSaq__Bp_ : $@convention(thin) <τ_0_0> (Builtin.Word) -> @owned (Array<τ_0_0>, Builtin.RawPointer) // user: %828
%828 = apply %827<(String, Array<Int>)>(%826) : $@convention(thin) <τ_0_0> (Builtin.Word) -> @owned (Array<τ_0_0>, Builtin.RawPointer) // users: %829, %830
%829 = tuple_extract %828 : $(Array<(String, Array<Int>)>, Builtin.RawPointer), 0 // user: %905
%830 = tuple_extract %828 : $(Array<(String, Array<Int>)>, Builtin.RawPointer), 1 // user: %831
%831 = pointer_to_address %830 : $Builtin.RawPointer to $*(String, Array<Int>) // users: %832, %833
%832 = tuple_element_addr %831 : $*(String, Array<Int>), 0 // user: %840
%833 = tuple_element_addr %831 : $*(String, Array<Int>), 1 // user: %904
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%834 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %839
%835 = metatype $@thin String.Type // user: %839
%836 = string_literal utf8 "nine" // user: %839
%837 = integer_literal $Builtin.Word, 4 // user: %839
%838 = integer_literal $Builtin.Int1, -1 // user: %839
%839 = apply %834(%836, %837, %838, %835) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %840
store %839 to %832 : $*String // id: %840
// function_ref Swift.Array.init <A> (Swift.Array<A>.Type)(arrayLiteral : Swift.Array<A>...) -> Swift.Array<A>
%841 = function_ref @_TFSaCurfMGSaq__Ft12arrayLiteralGSaq___GSaq__ : $@convention(thin) <τ_0_0> (@owned Array<τ_0_0>, @thin Array<τ_0_0>.Type) -> @owned Array<τ_0_0> // user: %903
%842 = metatype $@thin Array<Int>.Type // user: %903
%843 = integer_literal $Builtin.Word, 8 // user: %845
// function_ref Swift._allocateUninitializedArray <A> (Builtin.Word) -> (Swift.Array<A>, Builtin.RawPointer)
%844 = function_ref @_TFSs27_allocateUninitializedArrayurFBwTGSaq__Bp_ : $@convention(thin) <τ_0_0> (Builtin.Word) -> @owned (Array<τ_0_0>, Builtin.RawPointer) // user: %845
%845 = apply %844<Int>(%843) : $@convention(thin) <τ_0_0> (Builtin.Word) -> @owned (Array<τ_0_0>, Builtin.RawPointer) // users: %846, %847
%846 = tuple_extract %845 : $(Array<Int>, Builtin.RawPointer), 0 // user: %903
%847 = tuple_extract %845 : $(Array<Int>, Builtin.RawPointer), 1 // user: %848
%848 = pointer_to_address %847 : $Builtin.RawPointer to $*Int // users: %853, %855, %862, %869, %876, %883, %890, %897
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%849 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %852
%850 = metatype $@thin Int.Type // user: %852
%851 = integer_literal $Builtin.Int2048, 0 // user: %852
%852 = apply %849(%851, %850) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %853
store %852 to %848 : $*Int // id: %853
%854 = integer_literal $Builtin.Word, 1 // user: %855
%855 = index_addr %848 : $*Int, %854 : $Builtin.Word // user: %860
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%856 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %859
%857 = metatype $@thin Int.Type // user: %859
%858 = integer_literal $Builtin.Int2048, 1 // user: %859
%859 = apply %856(%858, %857) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %860
store %859 to %855 : $*Int // id: %860
%861 = integer_literal $Builtin.Word, 2 // user: %862
%862 = index_addr %848 : $*Int, %861 : $Builtin.Word // user: %867
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%863 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %866
%864 = metatype $@thin Int.Type // user: %866
%865 = integer_literal $Builtin.Int2048, 2 // user: %866
%866 = apply %863(%865, %864) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %867
store %866 to %862 : $*Int // id: %867
%868 = integer_literal $Builtin.Word, 3 // user: %869
%869 = index_addr %848 : $*Int, %868 : $Builtin.Word // user: %874
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%870 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %873
%871 = metatype $@thin Int.Type // user: %873
%872 = integer_literal $Builtin.Int2048, 3 // user: %873
%873 = apply %870(%872, %871) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %874
store %873 to %869 : $*Int // id: %874
%875 = integer_literal $Builtin.Word, 4 // user: %876
%876 = index_addr %848 : $*Int, %875 : $Builtin.Word // user: %881
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%877 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %880
%878 = metatype $@thin Int.Type // user: %880
%879 = integer_literal $Builtin.Int2048, 4 // user: %880
%880 = apply %877(%879, %878) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %881
store %880 to %876 : $*Int // id: %881
%882 = integer_literal $Builtin.Word, 5 // user: %883
%883 = index_addr %848 : $*Int, %882 : $Builtin.Word // user: %888
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%884 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %887
%885 = metatype $@thin Int.Type // user: %887
%886 = integer_literal $Builtin.Int2048, 5 // user: %887
%887 = apply %884(%886, %885) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %888
store %887 to %883 : $*Int // id: %888
%889 = integer_literal $Builtin.Word, 6 // user: %890
%890 = index_addr %848 : $*Int, %889 : $Builtin.Word // user: %895
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%891 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %894
%892 = metatype $@thin Int.Type // user: %894
%893 = integer_literal $Builtin.Int2048, 6 // user: %894
%894 = apply %891(%893, %892) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %895
store %894 to %890 : $*Int // id: %895
%896 = integer_literal $Builtin.Word, 7 // user: %897
%897 = index_addr %848 : $*Int, %896 : $Builtin.Word // user: %902
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%898 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %901
%899 = metatype $@thin Int.Type // user: %901
%900 = integer_literal $Builtin.Int2048, 7 // user: %901
%901 = apply %898(%900, %899) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %902
store %901 to %897 : $*Int // id: %902
%903 = apply %841<Int>(%846, %842) : $@convention(thin) <τ_0_0> (@owned Array<τ_0_0>, @thin Array<τ_0_0>.Type) -> @owned Array<τ_0_0> // user: %904
store %903 to %833 : $*Array<Int> // id: %904
%905 = apply %824<String, [Int]>(%829, %825) : $@convention(thin) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@owned Array<(τ_0_0, τ_0_1)>, @thin Dictionary<τ_0_0, τ_0_1>.Type) -> @owned Dictionary<τ_0_0, τ_0_1> // user: %906
store %905 to %823 : $*Dictionary<String, Array<Int>> // id: %906
%907 = global_addr @_Tv4Test11sevenOfNineGSqSi_ : $*Optional<Int> // users: %939, %1881
%908 = load %823 : $*Dictionary<String, Array<Int>> // user: %919
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%909 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %914
%910 = metatype $@thin String.Type // user: %914
%911 = string_literal utf8 "nine" // user: %914
%912 = integer_literal $Builtin.Word, 4 // user: %914
%913 = integer_literal $Builtin.Int1, -1 // user: %914
%914 = apply %909(%911, %912, %913, %910) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %917
// function_ref Swift.Dictionary.subscript.getter : (A) -> Swift.Optional<B>
%915 = function_ref @_TFVSs10Dictionaryg9subscriptFq_GSqq0__ : $@convention(method) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@out Optional<τ_0_1>, @in τ_0_0, @guaranteed Dictionary<τ_0_0, τ_0_1>) -> () // user: %919
%916 = alloc_stack $String // users: %917, %919, %926, %942
store %914 to %916#1 : $*String // id: %917
%918 = alloc_stack $Optional<Array<Int>> // users: %919, %920, %925, %941
%919 = apply %915<String, [Int]>(%918#1, %916#1, %908) : $@convention(method) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@out Optional<τ_0_1>, @in τ_0_0, @guaranteed Dictionary<τ_0_0, τ_0_1>) -> ()
%920 = load %918#1 : $*Optional<Array<Int>> // users: %923, %928
%921 = integer_literal $Builtin.Int1, -1 // user: %923
%922 = integer_literal $Builtin.Int1, 0 // user: %923
%923 = select_enum %920 : $Optional<Array<Int>>, case #Optional.Some!enumelt.1: %921, default %922 : $Builtin.Int1 // user: %924
cond_br %923, bb58, bb57 // id: %924
bb57: // Preds: bb56
dealloc_stack %918#0 : $*@local_storage Optional<Array<Int>> // id: %925
dealloc_stack %916#0 : $*@local_storage String // id: %926
br bb100 // id: %927
bb58: // Preds: bb56
%928 = unchecked_enum_data %920 : $Optional<Array<Int>>, #Optional.Some!enumelt.1 // users: %935, %936
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%929 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %932
%930 = metatype $@thin Int.Type // user: %932
%931 = integer_literal $Builtin.Int2048, 7 // user: %932
%932 = apply %929(%931, %930) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %935
// function_ref Swift.Array.subscript.getter : (Swift.Int) -> A
%933 = function_ref @_TFSag9subscriptFSiq_ : $@convention(method) <τ_0_0> (@out τ_0_0, Int, @guaranteed Array<τ_0_0>) -> () // user: %935
%934 = alloc_stack $Int // users: %935, %937, %940
%935 = apply %933<Int>(%934#1, %932, %928) : $@convention(method) <τ_0_0> (@out τ_0_0, Int, @guaranteed Array<τ_0_0>) -> ()
release_value %928 : $Array<Int> // id: %936
%937 = load %934#1 : $*Int // user: %938
%938 = enum $Optional<Int>, #Optional.Some!enumelt.1, %937 : $Int // user: %939
store %938 to %907 : $*Optional<Int> // id: %939
dealloc_stack %934#0 : $*@local_storage Int // id: %940
dealloc_stack %918#0 : $*@local_storage Optional<Array<Int>> // id: %941
dealloc_stack %916#0 : $*@local_storage String // id: %942
br bb59 // id: %943
bb59: // Preds: bb58 bb100
%944 = global_addr @_Tv4Test11dictOfFuncsGVSs10DictionarySSFTSiSi_Si_ : $*Dictionary<String, (Int, Int) -> Int> // users: %996, %997
// function_ref Swift.Dictionary.init <A, B where A: Swift.Hashable> (Swift.Dictionary<A, B>.Type)(dictionaryLiteral : Swift.Array<(A, B)>...) -> Swift.Dictionary<A, B>
%945 = function_ref @_TFVSs10DictionaryCu0_Rq_Ss8Hashable_fMGS_q_q0__Ft17dictionaryLiteralGSaTq_q0____GS_q_q0__ : $@convention(thin) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@owned Array<(τ_0_0, τ_0_1)>, @thin Dictionary<τ_0_0, τ_0_1>.Type) -> @owned Dictionary<τ_0_0, τ_0_1> // user: %995
%946 = metatype $@thin Dictionary<String, (Int, Int) -> Int>.Type // user: %995
%947 = integer_literal $Builtin.Word, 2 // user: %949
// function_ref Swift._allocateUninitializedArray <A> (Builtin.Word) -> (Swift.Array<A>, Builtin.RawPointer)
%948 = function_ref @_TFSs27_allocateUninitializedArrayurFBwTGSaq__Bp_ : $@convention(thin) <τ_0_0> (Builtin.Word) -> @owned (Array<τ_0_0>, Builtin.RawPointer) // user: %949
%949 = apply %948<(String, (Int, Int) -> Int)>(%947) : $@convention(thin) <τ_0_0> (Builtin.Word) -> @owned (Array<τ_0_0>, Builtin.RawPointer) // users: %950, %951
%950 = tuple_extract %949 : $(Array<(String, (Int, Int) -> Int)>, Builtin.RawPointer), 0 // user: %995
%951 = tuple_extract %949 : $(Array<(String, (Int, Int) -> Int)>, Builtin.RawPointer), 1 // user: %952
%952 = pointer_to_address %951 : $Builtin.RawPointer to $*(String, @callee_owned (@out Int, @in (Int, Int)) -> ()) // users: %969, %970, %974
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%953 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %958
%954 = metatype $@thin String.Type // user: %958
%955 = string_literal utf8 "add" // user: %958
%956 = integer_literal $Builtin.Word, 3 // user: %958
%957 = integer_literal $Builtin.Int1, -1 // user: %958
%958 = apply %953(%955, %956, %957, %954) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %961
// function_ref static Swift.+ infix (Swift.Int, Swift.Int) -> Swift.Int
%959 = function_ref @_TZFSsoi1pFTSiSi_Si : $@convention(thin) (Int, Int) -> Int // user: %960
%960 = thin_to_thick_function %959 : $@convention(thin) (Int, Int) -> Int to $@callee_owned (Int, Int) -> Int // user: %961
%961 = tuple (%958 : $String, %960 : $@callee_owned (Int, Int) -> Int) // users: %962, %963
%962 = tuple_extract %961 : $(String, @callee_owned (Int, Int) -> Int), 0 // user: %966
%963 = tuple_extract %961 : $(String, @callee_owned (Int, Int) -> Int), 1 // user: %965
// function_ref reabstraction thunk helper from @callee_owned (@unowned Swift.Int, @unowned Swift.Int) -> (@unowned Swift.Int) to @callee_owned (@in (Swift.Int, Swift.Int)) -> (@out Swift.Int)
%964 = function_ref @_TTRXFo_dSidSi_dSi_XFo_iTSiSi__iSi_ : $@convention(thin) (@out Int, @in (Int, Int), @owned @callee_owned (Int, Int) -> Int) -> () // user: %965
%965 = partial_apply %964(%963) : $@convention(thin) (@out Int, @in (Int, Int), @owned @callee_owned (Int, Int) -> Int) -> () // user: %966
%966 = tuple (%962 : $String, %965 : $@callee_owned (@out Int, @in (Int, Int)) -> ()) // users: %967, %968
%967 = tuple_extract %966 : $(String, @callee_owned (@out Int, @in (Int, Int)) -> ()), 0 // user: %971
%968 = tuple_extract %966 : $(String, @callee_owned (@out Int, @in (Int, Int)) -> ()), 1 // user: %972
%969 = tuple_element_addr %952 : $*(String, @callee_owned (@out Int, @in (Int, Int)) -> ()), 0 // user: %971
%970 = tuple_element_addr %952 : $*(String, @callee_owned (@out Int, @in (Int, Int)) -> ()), 1 // user: %972
store %967 to %969 : $*String // id: %971
store %968 to %970 : $*@callee_owned (@out Int, @in (Int, Int)) -> () // id: %972
%973 = integer_literal $Builtin.Word, 1 // user: %974
%974 = index_addr %952 : $*(String, @callee_owned (@out Int, @in (Int, Int)) -> ()), %973 : $Builtin.Word // users: %991, %992
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%975 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %980
%976 = metatype $@thin String.Type // user: %980
%977 = string_literal utf8 "subtract" // user: %980
%978 = integer_literal $Builtin.Word, 8 // user: %980
%979 = integer_literal $Builtin.Int1, -1 // user: %980
%980 = apply %975(%977, %978, %979, %976) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %983
// function_ref static Swift.- infix (Swift.Int, Swift.Int) -> Swift.Int
%981 = function_ref @_TZFSsoi1sFTSiSi_Si : $@convention(thin) (Int, Int) -> Int // user: %982
%982 = thin_to_thick_function %981 : $@convention(thin) (Int, Int) -> Int to $@callee_owned (Int, Int) -> Int // user: %983
%983 = tuple (%980 : $String, %982 : $@callee_owned (Int, Int) -> Int) // users: %984, %985
%984 = tuple_extract %983 : $(String, @callee_owned (Int, Int) -> Int), 0 // user: %988
%985 = tuple_extract %983 : $(String, @callee_owned (Int, Int) -> Int), 1 // user: %987
// function_ref reabstraction thunk helper from @callee_owned (@unowned Swift.Int, @unowned Swift.Int) -> (@unowned Swift.Int) to @callee_owned (@in (Swift.Int, Swift.Int)) -> (@out Swift.Int)
%986 = function_ref @_TTRXFo_dSidSi_dSi_XFo_iTSiSi__iSi_ : $@convention(thin) (@out Int, @in (Int, Int), @owned @callee_owned (Int, Int) -> Int) -> () // user: %987
%987 = partial_apply %986(%985) : $@convention(thin) (@out Int, @in (Int, Int), @owned @callee_owned (Int, Int) -> Int) -> () // user: %988
%988 = tuple (%984 : $String, %987 : $@callee_owned (@out Int, @in (Int, Int)) -> ()) // users: %989, %990
%989 = tuple_extract %988 : $(String, @callee_owned (@out Int, @in (Int, Int)) -> ()), 0 // user: %993
%990 = tuple_extract %988 : $(String, @callee_owned (@out Int, @in (Int, Int)) -> ()), 1 // user: %994
%991 = tuple_element_addr %974 : $*(String, @callee_owned (@out Int, @in (Int, Int)) -> ()), 0 // user: %993
%992 = tuple_element_addr %974 : $*(String, @callee_owned (@out Int, @in (Int, Int)) -> ()), 1 // user: %994
store %989 to %991 : $*String // id: %993
store %990 to %992 : $*@callee_owned (@out Int, @in (Int, Int)) -> () // id: %994
%995 = apply %945<String, (Int, Int) -> Int>(%950, %946) : $@convention(thin) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@owned Array<(τ_0_0, τ_0_1)>, @thin Dictionary<τ_0_0, τ_0_1>.Type) -> @owned Dictionary<τ_0_0, τ_0_1> // user: %996
store %995 to %944 : $*Dictionary<String, (Int, Int) -> Int> // id: %996
%997 = load %944 : $*Dictionary<String, (Int, Int) -> Int> // user: %1008
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%998 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1003
%999 = metatype $@thin String.Type // user: %1003
%1000 = string_literal utf8 "add" // user: %1003
%1001 = integer_literal $Builtin.Word, 3 // user: %1003
%1002 = integer_literal $Builtin.Int1, -1 // user: %1003
%1003 = apply %998(%1000, %1001, %1002, %999) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1006
// function_ref Swift.Dictionary.subscript.getter : (A) -> Swift.Optional<B>
%1004 = function_ref @_TFVSs10Dictionaryg9subscriptFq_GSqq0__ : $@convention(method) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@out Optional<τ_0_1>, @in τ_0_0, @guaranteed Dictionary<τ_0_0, τ_0_1>) -> () // user: %1008
%1005 = alloc_stack $String // users: %1006, %1008, %1015, %1031
store %1003 to %1005#1 : $*String // id: %1006
%1007 = alloc_stack $Optional<(Int, Int) -> Int> // users: %1008, %1009, %1014, %1030
%1008 = apply %1004<String, (Int, Int) -> Int>(%1007#1, %1005#1, %997) : $@convention(method) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@out Optional<τ_0_1>, @in τ_0_0, @guaranteed Dictionary<τ_0_0, τ_0_1>) -> ()
%1009 = load %1007#1 : $*Optional<(Int, Int) -> Int> // users: %1012, %1017
%1010 = integer_literal $Builtin.Int1, -1 // user: %1012
%1011 = integer_literal $Builtin.Int1, 0 // user: %1012
%1012 = select_enum %1009 : $Optional<(Int, Int) -> Int>, case #Optional.Some!enumelt.1: %1010, default %1011 : $Builtin.Int1 // user: %1013
cond_br %1012, bb61, bb60 // id: %1013
bb60: // Preds: bb59
dealloc_stack %1007#0 : $*@local_storage Optional<(Int, Int) -> Int> // id: %1014
dealloc_stack %1005#0 : $*@local_storage String // id: %1015
br bb99 // id: %1016
bb61: // Preds: bb59
%1017 = unchecked_enum_data %1009 : $Optional<(Int, Int) -> Int>, #Optional.Some!enumelt.1 // user: %1019
// function_ref reabstraction thunk helper from @callee_owned (@in (Swift.Int, Swift.Int)) -> (@out Swift.Int) to @callee_owned (@unowned Swift.Int, @unowned Swift.Int) -> (@unowned Swift.Int)
%1018 = function_ref @_TTRXFo_iTSiSi__iSi_XFo_dSidSi_dSi_ : $@convention(thin) (Int, Int, @owned @callee_owned (@out Int, @in (Int, Int)) -> ()) -> Int // user: %1019
%1019 = partial_apply %1018(%1017) : $@convention(thin) (Int, Int, @owned @callee_owned (@out Int, @in (Int, Int)) -> ()) -> Int // user: %1028
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%1020 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %1023
%1021 = metatype $@thin Int.Type // user: %1023
%1022 = integer_literal $Builtin.Int2048, 1 // user: %1023
%1023 = apply %1020(%1022, %1021) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %1028
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%1024 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %1027
%1025 = metatype $@thin Int.Type // user: %1027
%1026 = integer_literal $Builtin.Int2048, 1 // user: %1027
%1027 = apply %1024(%1026, %1025) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %1028
%1028 = apply %1019(%1023, %1027) : $@callee_owned (Int, Int) -> Int // user: %1029
%1029 = enum $Optional<Int>, #Optional.Some!enumelt.1, %1028 : $Int // user: %1032
dealloc_stack %1007#0 : $*@local_storage Optional<(Int, Int) -> Int> // id: %1030
dealloc_stack %1005#0 : $*@local_storage String // id: %1031
br bb62(%1029 : $Optional<Int>) // id: %1032
bb62(%1033 : $Optional<Int>): // Preds: bb61 bb99
%1034 = global_addr @_Tv4Test2s1GSqGSqSS__ : $*Optional<Optional<String>> // users: %1040, %1044
// function_ref Swift.Optional.init <A> (Swift.Optional<A>.Type)(nilLiteral : ()) -> Swift.Optional<A>
%1035 = function_ref @_TFSqCurfMGSqq__FT10nilLiteralT__GSqq__ : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @thin Optional<τ_0_0>.Type) -> () // user: %1038
%1036 = metatype $@thin Optional<Optional<String>>.Type // user: %1038
%1037 = alloc_stack $Optional<Optional<String>> // users: %1038, %1039, %1041
%1038 = apply %1035<String?>(%1037#1, %1036) : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @thin Optional<τ_0_0>.Type) -> ()
%1039 = load %1037#1 : $*Optional<Optional<String>> // user: %1040
store %1039 to %1034 : $*Optional<Optional<String>> // id: %1040
dealloc_stack %1037#0 : $*@local_storage Optional<Optional<String>> // id: %1041
// function_ref static Swift.?? infix <A> (Swift.Optional<A>, @autoclosure () -> A) -> A
%1042 = function_ref @_TZFSsoi2qqurFTGSqq__KT_q__q_ : $@convention(thin) <τ_0_0> (@out τ_0_0, @in Optional<τ_0_0>, @owned @callee_owned (@out τ_0_0) -> ()) -> () // user: %1062
// function_ref static Swift.?? infix <A> (Swift.Optional<A>, @autoclosure () -> A) -> A
%1043 = function_ref @_TZFSsoi2qqurFTGSqq__KT_q__q_ : $@convention(thin) <τ_0_0> (@out τ_0_0, @in Optional<τ_0_0>, @owned @callee_owned (@out τ_0_0) -> ()) -> () // user: %1053
%1044 = load %1034 : $*Optional<Optional<String>> // users: %1045, %1047
retain_value %1044 : $Optional<Optional<String>> // id: %1045
%1046 = alloc_stack $Optional<Optional<String>> // users: %1047, %1053, %1068
store %1044 to %1046#1 : $*Optional<Optional<String>> // id: %1047
// function_ref Test.(implicit closure #1)
%1048 = function_ref @_TF4Testu_KT_GSqSS_ : $@convention(thin) () -> @owned Optional<String> // user: %1049
%1049 = thin_to_thick_function %1048 : $@convention(thin) () -> @owned Optional<String> to $@callee_owned () -> @owned Optional<String> // user: %1051
// function_ref reabstraction thunk helper from @callee_owned () -> (@owned Swift.Optional<Swift.String>) to @callee_owned () -> (@out Swift.Optional<Swift.String>)
%1050 = function_ref @_TTRXFo__oGSqSS__XFo__iGSqSS__ : $@convention(thin) (@out Optional<String>, @owned @callee_owned () -> @owned Optional<String>) -> () // user: %1051
%1051 = partial_apply %1050(%1049) : $@convention(thin) (@out Optional<String>, @owned @callee_owned () -> @owned Optional<String>) -> () // user: %1053
%1052 = alloc_stack $Optional<String> // users: %1053, %1054, %1067
%1053 = apply %1043<String?>(%1052#1, %1046#1, %1051) : $@convention(thin) <τ_0_0> (@out τ_0_0, @in Optional<τ_0_0>, @owned @callee_owned (@out τ_0_0) -> ()) -> ()
%1054 = load %1052#1 : $*Optional<String> // user: %1056
%1055 = alloc_stack $Optional<String> // users: %1056, %1062, %1066
store %1054 to %1055#1 : $*Optional<String> // id: %1056
// function_ref Test.(implicit closure #2)
%1057 = function_ref @_TF4Testu0_KT_SS : $@convention(thin) () -> @owned String // user: %1058
%1058 = thin_to_thick_function %1057 : $@convention(thin) () -> @owned String to $@callee_owned () -> @owned String // user: %1060
// function_ref reabstraction thunk helper from @callee_owned () -> (@owned Swift.String) to @callee_owned () -> (@out Swift.String)
%1059 = function_ref @_TTRXFo__oSS_XFo__iSS_ : $@convention(thin) (@out String, @owned @callee_owned () -> @owned String) -> () // user: %1060
%1060 = partial_apply %1059(%1058) : $@convention(thin) (@out String, @owned @callee_owned () -> @owned String) -> () // user: %1062
%1061 = alloc_stack $String // users: %1062, %1063, %1065
%1062 = apply %1042<String>(%1061#1, %1055#1, %1060) : $@convention(thin) <τ_0_0> (@out τ_0_0, @in Optional<τ_0_0>, @owned @callee_owned (@out τ_0_0) -> ()) -> ()
%1063 = load %1061#1 : $*String // user: %1064
release_value %1063 : $String // id: %1064
dealloc_stack %1061#0 : $*@local_storage String // id: %1065
dealloc_stack %1055#0 : $*@local_storage Optional<String> // id: %1066
dealloc_stack %1052#0 : $*@local_storage Optional<String> // id: %1067
dealloc_stack %1046#0 : $*@local_storage Optional<Optional<String>> // id: %1068
%1069 = global_addr @_Tv4Test2s2GSqGSqSS__ : $*Optional<Optional<String>> // users: %1082, %1088
// function_ref Swift.Optional.Some <A> (Swift.Optional<A>.Type)(A) -> Swift.Optional<A>
%1070 = function_ref @_TFSq4SomeurfMGSqq__Fq_GSqq__ : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @in τ_0_0, @thin Optional<τ_0_0>.Type) -> () // user: %1080
%1071 = metatype $@thin Optional<Optional<String>>.Type // user: %1080
// function_ref Swift.Optional.init <A> (Swift.Optional<A>.Type)(nilLiteral : ()) -> Swift.Optional<A>
%1072 = function_ref @_TFSqCurfMGSqq__FT10nilLiteralT__GSqq__ : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @thin Optional<τ_0_0>.Type) -> () // user: %1075
%1073 = metatype $@thin Optional<String>.Type // user: %1075
%1074 = alloc_stack $Optional<String> // users: %1075, %1076, %1085
%1075 = apply %1072<String>(%1074#1, %1073) : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @thin Optional<τ_0_0>.Type) -> ()
%1076 = load %1074#1 : $*Optional<String> // user: %1078
%1077 = alloc_stack $Optional<String> // users: %1078, %1080, %1084
store %1076 to %1077#1 : $*Optional<String> // id: %1078
%1079 = alloc_stack $Optional<Optional<String>> // users: %1080, %1081, %1083
%1080 = apply %1070<String?>(%1079#1, %1077#1, %1071) : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @in τ_0_0, @thin Optional<τ_0_0>.Type) -> ()
%1081 = load %1079#1 : $*Optional<Optional<String>> // user: %1082
store %1081 to %1069 : $*Optional<Optional<String>> // id: %1082
dealloc_stack %1079#0 : $*@local_storage Optional<Optional<String>> // id: %1083
dealloc_stack %1077#0 : $*@local_storage Optional<String> // id: %1084
dealloc_stack %1074#0 : $*@local_storage Optional<String> // id: %1085
// function_ref static Swift.?? infix <A> (Swift.Optional<A>, @autoclosure () -> A) -> A
%1086 = function_ref @_TZFSsoi2qqurFTGSqq__KT_q__q_ : $@convention(thin) <τ_0_0> (@out τ_0_0, @in Optional<τ_0_0>, @owned @callee_owned (@out τ_0_0) -> ()) -> () // user: %1106
// function_ref static Swift.?? infix <A> (Swift.Optional<A>, @autoclosure () -> A) -> A
%1087 = function_ref @_TZFSsoi2qqurFTGSqq__KT_q__q_ : $@convention(thin) <τ_0_0> (@out τ_0_0, @in Optional<τ_0_0>, @owned @callee_owned (@out τ_0_0) -> ()) -> () // user: %1097
%1088 = load %1069 : $*Optional<Optional<String>> // users: %1089, %1091
retain_value %1088 : $Optional<Optional<String>> // id: %1089
%1090 = alloc_stack $Optional<Optional<String>> // users: %1091, %1097, %1112
store %1088 to %1090#1 : $*Optional<Optional<String>> // id: %1091
// function_ref Test.(implicit closure #3)
%1092 = function_ref @_TF4Testu1_KT_GSqSS_ : $@convention(thin) () -> @owned Optional<String> // user: %1093
%1093 = thin_to_thick_function %1092 : $@convention(thin) () -> @owned Optional<String> to $@callee_owned () -> @owned Optional<String> // user: %1095
// function_ref reabstraction thunk helper from @callee_owned () -> (@owned Swift.Optional<Swift.String>) to @callee_owned () -> (@out Swift.Optional<Swift.String>)
%1094 = function_ref @_TTRXFo__oGSqSS__XFo__iGSqSS__ : $@convention(thin) (@out Optional<String>, @owned @callee_owned () -> @owned Optional<String>) -> () // user: %1095
%1095 = partial_apply %1094(%1093) : $@convention(thin) (@out Optional<String>, @owned @callee_owned () -> @owned Optional<String>) -> () // user: %1097
%1096 = alloc_stack $Optional<String> // users: %1097, %1098, %1111
%1097 = apply %1087<String?>(%1096#1, %1090#1, %1095) : $@convention(thin) <τ_0_0> (@out τ_0_0, @in Optional<τ_0_0>, @owned @callee_owned (@out τ_0_0) -> ()) -> ()
%1098 = load %1096#1 : $*Optional<String> // user: %1100
%1099 = alloc_stack $Optional<String> // users: %1100, %1106, %1110
store %1098 to %1099#1 : $*Optional<String> // id: %1100
// function_ref Test.(implicit closure #4)
%1101 = function_ref @_TF4Testu2_KT_SS : $@convention(thin) () -> @owned String // user: %1102
%1102 = thin_to_thick_function %1101 : $@convention(thin) () -> @owned String to $@callee_owned () -> @owned String // user: %1104
// function_ref reabstraction thunk helper from @callee_owned () -> (@owned Swift.String) to @callee_owned () -> (@out Swift.String)
%1103 = function_ref @_TTRXFo__oSS_XFo__iSS_ : $@convention(thin) (@out String, @owned @callee_owned () -> @owned String) -> () // user: %1104
%1104 = partial_apply %1103(%1102) : $@convention(thin) (@out String, @owned @callee_owned () -> @owned String) -> () // user: %1106
%1105 = alloc_stack $String // users: %1106, %1107, %1109
%1106 = apply %1086<String>(%1105#1, %1099#1, %1104) : $@convention(thin) <τ_0_0> (@out τ_0_0, @in Optional<τ_0_0>, @owned @callee_owned (@out τ_0_0) -> ()) -> ()
%1107 = load %1105#1 : $*String // user: %1108
release_value %1107 : $String // id: %1108
dealloc_stack %1105#0 : $*@local_storage String // id: %1109
dealloc_stack %1099#0 : $*@local_storage Optional<String> // id: %1110
dealloc_stack %1096#0 : $*@local_storage Optional<String> // id: %1111
dealloc_stack %1090#0 : $*@local_storage Optional<Optional<String>> // id: %1112
%1113 = load %482 : $*Array<String> // user: %1115
%1114 = alloc_stack $Array<String> // users: %1115, %1118, %1122, %1127
store %1113 to %1114#1 : $*Array<String> // id: %1115
// function_ref ext.Swift.Swift.CollectionType<A where A: Swift.CollectionType>.first.getter : Swift.Optional<A.Generator.Element>
%1116 = function_ref @_TFeRq_Ss14CollectionType_SsS_g5firstGSqqqq_S_9GeneratorSs13GeneratorType7Element_ : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Generator : GeneratorType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0.Generator.Element>, @in_guaranteed τ_0_0) -> () // user: %1118
%1117 = alloc_stack $Optional<String> // users: %1118, %1119, %1121, %1126
%1118 = apply %1116<[String], IndexingGenerator<Array<String>>, String, Int, Int, Int, Int, ArraySlice<String>, IndexingGenerator<ArraySlice<String>>, String, Int, Int, Int, Int, ArraySlice<String>, String, String>(%1117#1, %1114#1) : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Generator : GeneratorType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0.Generator.Element>, @in_guaranteed τ_0_0) -> ()
%1119 = load %1117#1 : $*Optional<String> // user: %1120
switch_enum %1119 : $Optional<String>, case #Optional.Some!enumelt.1: bb64, default bb63 // id: %1120
bb63: // Preds: bb62
dealloc_stack %1117#0 : $*@local_storage Optional<String> // id: %1121
dealloc_stack %1114#0 : $*@local_storage Array<String> // id: %1122
br bb67 // id: %1123
bb64(%1124 : $String): // Preds: bb62
debug_value %1124 : $String // let a // id: %1125
dealloc_stack %1117#0 : $*@local_storage Optional<String> // id: %1126
dealloc_stack %1114#0 : $*@local_storage Array<String> // id: %1127
// function_ref Swift.Int.init (Swift.Int.Type)(Swift.String, radix : Swift.Int) -> Swift.Optional<Swift.Int>
%1128 = function_ref @_TFSiCfMSiFTSS5radixSi_GSqSi_ : $@convention(thin) (@owned String, Int, @thin Int.Type) -> Optional<Int> // user: %1133
%1129 = metatype $@thin Int.Type // user: %1133
retain_value %1124 : $String // id: %1130
// function_ref Swift.Int.(init (Swift.Int.Type) -> (Swift.String, radix : Swift.Int) -> Swift.Optional<Swift.Int>).(default argument 1)
%1131 = function_ref @_TIFSicFMSiFTSS5radixSi_GSqSi_A0_ : $@convention(thin) () -> Int // user: %1132
%1132 = apply %1131() : $@convention(thin) () -> Int // user: %1133
%1133 = apply %1128(%1124, %1132, %1129) : $@convention(thin) (@owned String, Int, @thin Int.Type) -> Optional<Int> // user: %1134
switch_enum %1133 : $Optional<Int>, case #Optional.Some!enumelt.1: bb66, default bb65 // id: %1134
bb65: // Preds: bb64
release_value %1124 : $String // id: %1135
br bb67 // id: %1136
bb66(%1137 : $Int): // Preds: bb64
debug_value %1137 : $Int // let b // id: %1138
// function_ref Swift.print <A> (A) -> ()
%1139 = function_ref @_TFSs5printurFq_T_ : $@convention(thin) <τ_0_0> (@in τ_0_0) -> () // user: %1142
%1140 = alloc_stack $Int // users: %1141, %1142, %1143
store %1137 to %1140#1 : $*Int // id: %1141
%1142 = apply %1139<Int>(%1140#1) : $@convention(thin) <τ_0_0> (@in τ_0_0) -> ()
dealloc_stack %1140#0 : $*@local_storage Int // id: %1143
release_value %1124 : $String // id: %1144
br bb67 // id: %1145
bb67: // Preds: bb63 bb65 bb66
%1146 = global_addr @_Tv4Test7numbersGSaSS_ : $*Array<String> // users: %1190, %1200, %1239, %1270
// function_ref Swift.Array.init <A> (Swift.Array<A>.Type)(arrayLiteral : Swift.Array<A>...) -> Swift.Array<A>
%1147 = function_ref @_TFSaCurfMGSaq__Ft12arrayLiteralGSaq___GSaq__ : $@convention(thin) <τ_0_0> (@owned Array<τ_0_0>, @thin Array<τ_0_0>.Type) -> @owned Array<τ_0_0> // user: %1189
%1148 = metatype $@thin Array<String>.Type // user: %1189
%1149 = integer_literal $Builtin.Word, 4 // user: %1151
// function_ref Swift._allocateUninitializedArray <A> (Builtin.Word) -> (Swift.Array<A>, Builtin.RawPointer)
%1150 = function_ref @_TFSs27_allocateUninitializedArrayurFBwTGSaq__Bp_ : $@convention(thin) <τ_0_0> (Builtin.Word) -> @owned (Array<τ_0_0>, Builtin.RawPointer) // user: %1151
%1151 = apply %1150<String>(%1149) : $@convention(thin) <τ_0_0> (Builtin.Word) -> @owned (Array<τ_0_0>, Builtin.RawPointer) // users: %1152, %1153
%1152 = tuple_extract %1151 : $(Array<String>, Builtin.RawPointer), 0 // user: %1189
%1153 = tuple_extract %1151 : $(Array<String>, Builtin.RawPointer), 1 // user: %1154
%1154 = pointer_to_address %1153 : $Builtin.RawPointer to $*String // users: %1161, %1163, %1172, %1181
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%1155 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1160
%1156 = metatype $@thin String.Type // user: %1160
%1157 = string_literal utf8 "1" // user: %1160
%1158 = integer_literal $Builtin.Word, 1 // user: %1160
%1159 = integer_literal $Builtin.Int1, -1 // user: %1160
%1160 = apply %1155(%1157, %1158, %1159, %1156) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1161
store %1160 to %1154 : $*String // id: %1161
%1162 = integer_literal $Builtin.Word, 1 // user: %1163
%1163 = index_addr %1154 : $*String, %1162 : $Builtin.Word // user: %1170
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%1164 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1169
%1165 = metatype $@thin String.Type // user: %1169
%1166 = string_literal utf8 "2" // user: %1169
%1167 = integer_literal $Builtin.Word, 1 // user: %1169
%1168 = integer_literal $Builtin.Int1, -1 // user: %1169
%1169 = apply %1164(%1166, %1167, %1168, %1165) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1170
store %1169 to %1163 : $*String // id: %1170
%1171 = integer_literal $Builtin.Word, 2 // user: %1172
%1172 = index_addr %1154 : $*String, %1171 : $Builtin.Word // user: %1179
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%1173 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1178
%1174 = metatype $@thin String.Type // user: %1178
%1175 = string_literal utf8 "3" // user: %1178
%1176 = integer_literal $Builtin.Word, 1 // user: %1178
%1177 = integer_literal $Builtin.Int1, -1 // user: %1178
%1178 = apply %1173(%1175, %1176, %1177, %1174) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1179
store %1178 to %1172 : $*String // id: %1179
%1180 = integer_literal $Builtin.Word, 3 // user: %1181
%1181 = index_addr %1154 : $*String, %1180 : $Builtin.Word // user: %1188
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%1182 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1187
%1183 = metatype $@thin String.Type // user: %1187
%1184 = string_literal utf8 "foo" // user: %1187
%1185 = integer_literal $Builtin.Word, 3 // user: %1187
%1186 = integer_literal $Builtin.Int1, -1 // user: %1187
%1187 = apply %1182(%1184, %1185, %1186, %1183) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1188
store %1187 to %1181 : $*String // id: %1188
%1189 = apply %1147<String>(%1152, %1148) : $@convention(thin) <τ_0_0> (@owned Array<τ_0_0>, @thin Array<τ_0_0>.Type) -> @owned Array<τ_0_0> // user: %1190
store %1189 to %1146 : $*Array<String> // id: %1190
%1191 = global_addr @_Tv4Test3sumSi : $*Int // users: %1196, %1234
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%1192 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %1195
%1193 = metatype $@thin Int.Type // user: %1195
%1194 = integer_literal $Builtin.Int2048, 0 // user: %1195
%1195 = apply %1192(%1194, %1193) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %1196
store %1195 to %1191 : $*Int // id: %1196
%1197 = alloc_box $IndexingGenerator<Array<Optional<Int>>> // var $generator // users: %1215, %1222, %1236
// function_ref ext.Swift.Swift.CollectionType<A where A: Swift.CollectionType, A.Generator == Swift.IndexingGenerator<A>, A._Element == A.Generator.Element>.generate <A where A: Swift.CollectionType, A.Generator == Swift.IndexingGenerator<A>, A._Element == A.Generator.Element> (A)() -> Swift.IndexingGenerator<A>
%1198 = function_ref @_TFeRq_Ss14CollectionTypezqq_S_9GeneratorGVSs17IndexingGeneratorq__zqq_Ss9Indexable8_Elementqqq_S_9GeneratorSs13GeneratorType7Element_SsS_8generateuRq_S_zqq_S_9GeneratorGS0_q__zqq_S1_8_Elementqqq_S_9GeneratorS2_7Element_fq_FT_GS0_q__ : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.Generator == IndexingGenerator<τ_0_0>, τ_0_0.Generator.Element == τ_0_0._Element> (@out IndexingGenerator<τ_0_0>, @in_guaranteed τ_0_0) -> () // user: %1211
// function_ref ext.Swift.Swift.CollectionType<A where A: Swift.CollectionType>.map <A><B where A: Swift.CollectionType> (A)((A.Generator.Element) -> B) -> Swift.Array<B>
%1199 = function_ref @_TFeRq_Ss14CollectionType_SsS_3mapu__Rq_S__fq_FFqqq_S_9GeneratorSs13GeneratorType7Elementqd__GSaqd___ : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Generator : GeneratorType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible><τ_1_0> (@owned @callee_owned (@out τ_1_0, @in τ_0_0.Generator.Element) -> (), @in_guaranteed τ_0_0) -> @owned Array<τ_1_0> // user: %1207
%1200 = load %1146 : $*Array<String> // user: %1202
%1201 = alloc_stack $Array<String> // users: %1202, %1207, %1218
store %1200 to %1201#1 : $*Array<String> // id: %1202
// function_ref Test.(closure #5)
%1203 = function_ref @_TF4TestU3_FSSGSqSi_ : $@convention(thin) (@owned String) -> Optional<Int> // user: %1204
%1204 = thin_to_thick_function %1203 : $@convention(thin) (@owned String) -> Optional<Int> to $@callee_owned (@owned String) -> Optional<Int> // user: %1206
// function_ref reabstraction thunk helper from @callee_owned (@owned Swift.String) -> (@unowned Swift.Optional<Swift.Int>) to @callee_owned (@in Swift.String) -> (@out Swift.Optional<Swift.Int>)
%1205 = function_ref @_TTRXFo_oSS_dGSqSi__XFo_iSS_iGSqSi__ : $@convention(thin) (@out Optional<Int>, @in String, @owned @callee_owned (@owned String) -> Optional<Int>) -> () // user: %1206
%1206 = partial_apply %1205(%1204) : $@convention(thin) (@out Optional<Int>, @in String, @owned @callee_owned (@owned String) -> Optional<Int>) -> () // user: %1207
%1207 = apply %1199<[String], IndexingGenerator<Array<String>>, String, Int, Int, Int, Int, ArraySlice<String>, IndexingGenerator<ArraySlice<String>>, String, Int, Int, Int, Int, ArraySlice<String>, String, String, Int?>(%1206, %1201#1) : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Generator : GeneratorType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible><τ_1_0> (@owned @callee_owned (@out τ_1_0, @in τ_0_0.Generator.Element) -> (), @in_guaranteed τ_0_0) -> @owned Array<τ_1_0> // user: %1209
%1208 = alloc_stack $Array<Optional<Int>> // users: %1209, %1211, %1212, %1217
store %1207 to %1208#1 : $*Array<Optional<Int>> // id: %1209
%1210 = alloc_stack $IndexingGenerator<Array<Optional<Int>>> // users: %1211, %1214, %1216
%1211 = apply %1198<[Int?], Int, Int, Int, Int, ArraySlice<Optional<Int>>, IndexingGenerator<ArraySlice<Optional<Int>>>, Optional<Int>, Int, Int, Int, Int, ArraySlice<Optional<Int>>, Optional<Int>, Optional<Int>>(%1210#1, %1208#1) : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.Generator == IndexingGenerator<τ_0_0>, τ_0_0.Generator.Element == τ_0_0._Element> (@out IndexingGenerator<τ_0_0>, @in_guaranteed τ_0_0) -> ()
%1212 = load %1208#1 : $*Array<Optional<Int>> // user: %1213
release_value %1212 : $Array<Optional<Int>> // id: %1213
%1214 = load %1210#1 : $*IndexingGenerator<Array<Optional<Int>>> // user: %1215
store %1214 to %1197#1 : $*IndexingGenerator<Array<Optional<Int>>> // id: %1215
dealloc_stack %1210#0 : $*@local_storage IndexingGenerator<Array<Optional<Int>>> // id: %1216
dealloc_stack %1208#0 : $*@local_storage Array<Optional<Int>> // id: %1217
dealloc_stack %1201#0 : $*@local_storage Array<String> // id: %1218
br bb68 // id: %1219
bb68: // Preds: bb67 bb69 bb70
// function_ref Swift.IndexingGenerator.next <A where A: Swift.Indexable> (inout Swift.IndexingGenerator<A>)() -> Swift.Optional<A._Element>
%1220 = function_ref @_TFVSs17IndexingGenerator4nextuRq_Ss9Indexable_fRGS_q__FT_GSqqq_S0_8_Element_ : $@convention(method) <τ_0_0 where τ_0_0 : Indexable, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0._Element>, @inout IndexingGenerator<τ_0_0>) -> () // user: %1222
%1221 = alloc_stack $Optional<Optional<Int>> // users: %1222, %1223, %1224
%1222 = apply %1220<Array<Optional<Int>>, Int, Int, Int, Int, Optional<Int>>(%1221#1, %1197#1) : $@convention(method) <τ_0_0 where τ_0_0 : Indexable, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0._Element>, @inout IndexingGenerator<τ_0_0>) -> ()
%1223 = load %1221#1 : $*Optional<Optional<Int>> // users: %1227, %1229
dealloc_stack %1221#0 : $*@local_storage Optional<Optional<Int>> // id: %1224
%1225 = integer_literal $Builtin.Int1, -1 // user: %1227
%1226 = integer_literal $Builtin.Int1, 0 // user: %1227
%1227 = select_enum %1223 : $Optional<Optional<Int>>, case #Optional.Some!enumelt.1: %1225, default %1226 : $Builtin.Int1 // user: %1228
cond_br %1227, bb69, bb71 // id: %1228
bb69: // Preds: bb68
%1229 = unchecked_enum_data %1223 : $Optional<Optional<Int>>, #Optional.Some!enumelt.1 // user: %1230
switch_enum %1229 : $Optional<Int>, case #Optional.Some!enumelt.1: bb70, default bb68 // id: %1230
bb70(%1231 : $Int): // Preds: bb69
debug_value %1231 : $Int // let i // id: %1232
// function_ref static Swift.+= infix (inout Swift.Int, Swift.Int) -> ()
%1233 = function_ref @_TZFSsoi2peFTRSiSi_T_ : $@convention(thin) (@inout Int, Int) -> () // user: %1234
%1234 = apply %1233(%1191, %1231) : $@convention(thin) (@inout Int, Int) -> ()
br bb68 // id: %1235
bb71: // Preds: bb68
strong_release %1197#0 : $@box IndexingGenerator<Array<Optional<Int>>> // id: %1236
// function_ref ext.Swift.Swift.SequenceType<A where A: Swift.SequenceType>.reduce <A><B where A: Swift.SequenceType> (A)(B, combine : (B, A.Generator.Element) -> B) -> B
%1237 = function_ref @_TFeRq_Ss12SequenceType_SsS_6reduceu__Rq_S__fq_FTqd__7combineFTqd__qqq_S_9GeneratorSs13GeneratorType7Element_qd___qd__ : $@convention(method) <τ_0_0 where τ_0_0 : SequenceType, τ_0_0.Generator : GeneratorType><τ_1_0> (@out τ_1_0, @in τ_1_0, @owned @callee_owned (@out τ_1_0, @in τ_1_0, @in τ_0_0.Generator.Element) -> (), @in_guaranteed τ_0_0) -> () // user: %1260
// function_ref ext.Swift.Swift.CollectionType<A where A: Swift.CollectionType>.map <A><B where A: Swift.CollectionType> (A)((A.Generator.Element) -> B) -> Swift.Array<B>
%1238 = function_ref @_TFeRq_Ss14CollectionType_SsS_3mapu__Rq_S__fq_FFqqq_S_9GeneratorSs13GeneratorType7Elementqd__GSaqd___ : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Generator : GeneratorType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible><τ_1_0> (@owned @callee_owned (@out τ_1_0, @in τ_0_0.Generator.Element) -> (), @in_guaranteed τ_0_0) -> @owned Array<τ_1_0> // user: %1246
%1239 = load %1146 : $*Array<String> // user: %1241
%1240 = alloc_stack $Array<String> // users: %1241, %1246, %1267
store %1239 to %1240#1 : $*Array<String> // id: %1241
// function_ref Test.(closure #6)
%1242 = function_ref @_TF4TestU4_FSSGSqSi_ : $@convention(thin) (@owned String) -> Optional<Int> // user: %1243
%1243 = thin_to_thick_function %1242 : $@convention(thin) (@owned String) -> Optional<Int> to $@callee_owned (@owned String) -> Optional<Int> // user: %1245
// function_ref reabstraction thunk helper from @callee_owned (@owned Swift.String) -> (@unowned Swift.Optional<Swift.Int>) to @callee_owned (@in Swift.String) -> (@out Swift.Optional<Swift.Int>)
%1244 = function_ref @_TTRXFo_oSS_dGSqSi__XFo_iSS_iGSqSi__ : $@convention(thin) (@out Optional<Int>, @in String, @owned @callee_owned (@owned String) -> Optional<Int>) -> () // user: %1245
%1245 = partial_apply %1244(%1243) : $@convention(thin) (@out Optional<Int>, @in String, @owned @callee_owned (@owned String) -> Optional<Int>) -> () // user: %1246
%1246 = apply %1238<[String], IndexingGenerator<Array<String>>, String, Int, Int, Int, Int, ArraySlice<String>, IndexingGenerator<ArraySlice<String>>, String, Int, Int, Int, Int, ArraySlice<String>, String, String, Int?>(%1245, %1240#1) : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Generator : GeneratorType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible><τ_1_0> (@owned @callee_owned (@out τ_1_0, @in τ_0_0.Generator.Element) -> (), @in_guaranteed τ_0_0) -> @owned Array<τ_1_0> // user: %1248
%1247 = alloc_stack $Array<Optional<Int>> // users: %1248, %1260, %1261, %1266
store %1246 to %1247#1 : $*Array<Optional<Int>> // id: %1248
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%1249 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %1252
%1250 = metatype $@thin Int.Type // user: %1252
%1251 = integer_literal $Builtin.Int2048, 0 // user: %1252
%1252 = apply %1249(%1251, %1250) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %1254
%1253 = alloc_stack $Int // users: %1254, %1260, %1265
store %1252 to %1253#1 : $*Int // id: %1254
// function_ref Test.(closure #7)
%1255 = function_ref @_TF4TestU5_FTSiGSqSi__Si : $@convention(thin) (Int, Optional<Int>) -> Int // user: %1256
%1256 = thin_to_thick_function %1255 : $@convention(thin) (Int, Optional<Int>) -> Int to $@callee_owned (Int, Optional<Int>) -> Int // user: %1258
// function_ref reabstraction thunk helper from @callee_owned (@unowned Swift.Int, @unowned Swift.Optional<Swift.Int>) -> (@unowned Swift.Int) to @callee_owned (@in Swift.Int, @in Swift.Optional<Swift.Int>) -> (@out Swift.Int)
%1257 = function_ref @_TTRXFo_dSidGSqSi__dSi_XFo_iSiiGSqSi__iSi_ : $@convention(thin) (@out Int, @in Int, @in Optional<Int>, @owned @callee_owned (Int, Optional<Int>) -> Int) -> () // user: %1258
%1258 = partial_apply %1257(%1256) : $@convention(thin) (@out Int, @in Int, @in Optional<Int>, @owned @callee_owned (Int, Optional<Int>) -> Int) -> () // user: %1260
%1259 = alloc_stack $Int // users: %1260, %1263, %1264
%1260 = apply %1237<[Int?], IndexingGenerator<Array<Optional<Int>>>, Optional<Int>, ArraySlice<Optional<Int>>, Int>(%1259#1, %1253#1, %1258, %1247#1) : $@convention(method) <τ_0_0 where τ_0_0 : SequenceType, τ_0_0.Generator : GeneratorType><τ_1_0> (@out τ_1_0, @in τ_1_0, @owned @callee_owned (@out τ_1_0, @in τ_1_0, @in τ_0_0.Generator.Element) -> (), @in_guaranteed τ_0_0) -> ()
%1261 = load %1247#1 : $*Array<Optional<Int>> // user: %1262
release_value %1261 : $Array<Optional<Int>> // id: %1262
%1263 = load %1259#1 : $*Int
dealloc_stack %1259#0 : $*@local_storage Int // id: %1264
dealloc_stack %1253#0 : $*@local_storage Int // id: %1265
dealloc_stack %1247#0 : $*@local_storage Array<Optional<Int>> // id: %1266
dealloc_stack %1240#0 : $*@local_storage Array<String> // id: %1267
// function_ref ext.Swift.Swift.SequenceType<A where A: Swift.SequenceType>.reduce <A><B where A: Swift.SequenceType> (A)(B, combine : (B, A.Generator.Element) -> B) -> B
%1268 = function_ref @_TFeRq_Ss12SequenceType_SsS_6reduceu__Rq_S__fq_FTqd__7combineFTqd__qqq_S_9GeneratorSs13GeneratorType7Element_qd___qd__ : $@convention(method) <τ_0_0 where τ_0_0 : SequenceType, τ_0_0.Generator : GeneratorType><τ_1_0> (@out τ_1_0, @in τ_1_0, @owned @callee_owned (@out τ_1_0, @in τ_1_0, @in τ_0_0.Generator.Element) -> (), @in_guaranteed τ_0_0) -> () // user: %1291
// function_ref ext.Swift.Swift.SequenceType<A where A: Swift.SequenceType>.flatMap <A><B where A: Swift.SequenceType> (A)((A.Generator.Element) -> Swift.Optional<B>) -> Swift.Array<B>
%1269 = function_ref @_TFeRq_Ss12SequenceType_SsS_7flatMapu__Rq_S__fq_FFqqq_S_9GeneratorSs13GeneratorType7ElementGSqqd___GSaqd___ : $@convention(method) <τ_0_0 where τ_0_0 : SequenceType, τ_0_0.Generator : GeneratorType><τ_1_0> (@owned @callee_owned (@out Optional<τ_1_0>, @in τ_0_0.Generator.Element) -> (), @in_guaranteed τ_0_0) -> @owned Array<τ_1_0> // user: %1277
%1270 = load %1146 : $*Array<String> // user: %1272
%1271 = alloc_stack $Array<String> // users: %1272, %1277, %1298
store %1270 to %1271#1 : $*Array<String> // id: %1272
// function_ref Test.(closure #8)
%1273 = function_ref @_TF4TestU6_FSSGSqSi_ : $@convention(thin) (@owned String) -> Optional<Int> // user: %1274
%1274 = thin_to_thick_function %1273 : $@convention(thin) (@owned String) -> Optional<Int> to $@callee_owned (@owned String) -> Optional<Int> // user: %1276
// function_ref reabstraction thunk helper from @callee_owned (@owned Swift.String) -> (@unowned Swift.Optional<Swift.Int>) to @callee_owned (@in Swift.String) -> (@out Swift.Optional<Swift.Int>)
%1275 = function_ref @_TTRXFo_oSS_dGSqSi__XFo_iSS_iGSqSi__ : $@convention(thin) (@out Optional<Int>, @in String, @owned @callee_owned (@owned String) -> Optional<Int>) -> () // user: %1276
%1276 = partial_apply %1275(%1274) : $@convention(thin) (@out Optional<Int>, @in String, @owned @callee_owned (@owned String) -> Optional<Int>) -> () // user: %1277
%1277 = apply %1269<[String], IndexingGenerator<Array<String>>, String, ArraySlice<String>, Int>(%1276, %1271#1) : $@convention(method) <τ_0_0 where τ_0_0 : SequenceType, τ_0_0.Generator : GeneratorType><τ_1_0> (@owned @callee_owned (@out Optional<τ_1_0>, @in τ_0_0.Generator.Element) -> (), @in_guaranteed τ_0_0) -> @owned Array<τ_1_0> // user: %1279
%1278 = alloc_stack $Array<Int> // users: %1279, %1291, %1292, %1297
store %1277 to %1278#1 : $*Array<Int> // id: %1279
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%1280 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %1283
%1281 = metatype $@thin Int.Type // user: %1283
%1282 = integer_literal $Builtin.Int2048, 0 // user: %1283
%1283 = apply %1280(%1282, %1281) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %1285
%1284 = alloc_stack $Int // users: %1285, %1291, %1296
store %1283 to %1284#1 : $*Int // id: %1285
// function_ref static Swift.+ infix (Swift.Int, Swift.Int) -> Swift.Int
%1286 = function_ref @_TZFSsoi1pFTSiSi_Si : $@convention(thin) (Int, Int) -> Int // user: %1287
%1287 = thin_to_thick_function %1286 : $@convention(thin) (Int, Int) -> Int to $@callee_owned (Int, Int) -> Int // user: %1289
// function_ref reabstraction thunk helper from @callee_owned (@unowned Swift.Int, @unowned Swift.Int) -> (@unowned Swift.Int) to @callee_owned (@in Swift.Int, @in Swift.Int) -> (@out Swift.Int)
%1288 = function_ref @_TTRXFo_dSidSi_dSi_XFo_iSiiSi_iSi_ : $@convention(thin) (@out Int, @in Int, @in Int, @owned @callee_owned (Int, Int) -> Int) -> () // user: %1289
%1289 = partial_apply %1288(%1287) : $@convention(thin) (@out Int, @in Int, @in Int, @owned @callee_owned (Int, Int) -> Int) -> () // user: %1291
%1290 = alloc_stack $Int // users: %1291, %1294, %1295
%1291 = apply %1268<[Int], IndexingGenerator<Array<Int>>, Int, ArraySlice<Int>, Int>(%1290#1, %1284#1, %1289, %1278#1) : $@convention(method) <τ_0_0 where τ_0_0 : SequenceType, τ_0_0.Generator : GeneratorType><τ_1_0> (@out τ_1_0, @in τ_1_0, @owned @callee_owned (@out τ_1_0, @in τ_1_0, @in τ_0_0.Generator.Element) -> (), @in_guaranteed τ_0_0) -> ()
%1292 = load %1278#1 : $*Array<Int> // user: %1293
release_value %1292 : $Array<Int> // id: %1293
%1294 = load %1290#1 : $*Int
dealloc_stack %1290#0 : $*@local_storage Int // id: %1295
dealloc_stack %1284#0 : $*@local_storage Int // id: %1296
dealloc_stack %1278#0 : $*@local_storage Array<Int> // id: %1297
dealloc_stack %1271#0 : $*@local_storage Array<String> // id: %1298
%1299 = global_addr @_Tv4Test12dictWithNilsGVSs10DictionarySSGSqSi__ : $*Dictionary<String, Optional<Int>> // users: %1358, %1376, %1403, %1432, %1446, %1467, %1488, %1507, %1528, %1549, %1561
// function_ref Swift.Dictionary.init <A, B where A: Swift.Hashable> (Swift.Dictionary<A, B>.Type)(dictionaryLiteral : Swift.Array<(A, B)>...) -> Swift.Dictionary<A, B>
%1300 = function_ref @_TFVSs10DictionaryCu0_Rq_Ss8Hashable_fMGS_q_q0__Ft17dictionaryLiteralGSaTq_q0____GS_q_q0__ : $@convention(thin) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@owned Array<(τ_0_0, τ_0_1)>, @thin Dictionary<τ_0_0, τ_0_1>.Type) -> @owned Dictionary<τ_0_0, τ_0_1> // user: %1357
%1301 = metatype $@thin Dictionary<String, Optional<Int>>.Type // user: %1357
%1302 = integer_literal $Builtin.Word, 3 // user: %1304
// function_ref Swift._allocateUninitializedArray <A> (Builtin.Word) -> (Swift.Array<A>, Builtin.RawPointer)
%1303 = function_ref @_TFSs27_allocateUninitializedArrayurFBwTGSaq__Bp_ : $@convention(thin) <τ_0_0> (Builtin.Word) -> @owned (Array<τ_0_0>, Builtin.RawPointer) // user: %1304
%1304 = apply %1303<(String, Optional<Int>)>(%1302) : $@convention(thin) <τ_0_0> (Builtin.Word) -> @owned (Array<τ_0_0>, Builtin.RawPointer) // users: %1305, %1306
%1305 = tuple_extract %1304 : $(Array<(String, Optional<Int>)>, Builtin.RawPointer), 0 // user: %1357
%1306 = tuple_extract %1304 : $(Array<(String, Optional<Int>)>, Builtin.RawPointer), 1 // user: %1307
%1307 = pointer_to_address %1306 : $Builtin.RawPointer to $*(String, Optional<Int>) // users: %1308, %1309, %1324, %1341
%1308 = tuple_element_addr %1307 : $*(String, Optional<Int>), 0 // user: %1316
%1309 = tuple_element_addr %1307 : $*(String, Optional<Int>), 1 // user: %1322
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%1310 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1315
%1311 = metatype $@thin String.Type // user: %1315
%1312 = string_literal utf8 "one" // user: %1315
%1313 = integer_literal $Builtin.Word, 3 // user: %1315
%1314 = integer_literal $Builtin.Int1, -1 // user: %1315
%1315 = apply %1310(%1312, %1313, %1314, %1311) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1316
store %1315 to %1308 : $*String // id: %1316
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%1317 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %1320
%1318 = metatype $@thin Int.Type // user: %1320
%1319 = integer_literal $Builtin.Int2048, 1 // user: %1320
%1320 = apply %1317(%1319, %1318) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %1321
%1321 = enum $Optional<Int>, #Optional.Some!enumelt.1, %1320 : $Int // user: %1322
store %1321 to %1309 : $*Optional<Int> // id: %1322
%1323 = integer_literal $Builtin.Word, 1 // user: %1324
%1324 = index_addr %1307 : $*(String, Optional<Int>), %1323 : $Builtin.Word // users: %1325, %1326
%1325 = tuple_element_addr %1324 : $*(String, Optional<Int>), 0 // user: %1333
%1326 = tuple_element_addr %1324 : $*(String, Optional<Int>), 1 // user: %1339
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%1327 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1332
%1328 = metatype $@thin String.Type // user: %1332
%1329 = string_literal utf8 "two" // user: %1332
%1330 = integer_literal $Builtin.Word, 3 // user: %1332
%1331 = integer_literal $Builtin.Int1, -1 // user: %1332
%1332 = apply %1327(%1329, %1330, %1331, %1328) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1333
store %1332 to %1325 : $*String // id: %1333
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%1334 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %1337
%1335 = metatype $@thin Int.Type // user: %1337
%1336 = integer_literal $Builtin.Int2048, 2 // user: %1337
%1337 = apply %1334(%1336, %1335) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %1338
%1338 = enum $Optional<Int>, #Optional.Some!enumelt.1, %1337 : $Int // user: %1339
store %1338 to %1326 : $*Optional<Int> // id: %1339
%1340 = integer_literal $Builtin.Word, 2 // user: %1341
%1341 = index_addr %1307 : $*(String, Optional<Int>), %1340 : $Builtin.Word // users: %1342, %1343
%1342 = tuple_element_addr %1341 : $*(String, Optional<Int>), 0 // user: %1350
%1343 = tuple_element_addr %1341 : $*(String, Optional<Int>), 1 // user: %1356
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%1344 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1349
%1345 = metatype $@thin String.Type // user: %1349
%1346 = string_literal utf8 "none" // user: %1349
%1347 = integer_literal $Builtin.Word, 4 // user: %1349
%1348 = integer_literal $Builtin.Int1, -1 // user: %1349
%1349 = apply %1344(%1346, %1347, %1348, %1345) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1350
store %1349 to %1342 : $*String // id: %1350
// function_ref Swift.Optional.init <A> (Swift.Optional<A>.Type)(nilLiteral : ()) -> Swift.Optional<A>
%1351 = function_ref @_TFSqCurfMGSqq__FT10nilLiteralT__GSqq__ : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @thin Optional<τ_0_0>.Type) -> () // user: %1354
%1352 = metatype $@thin Optional<Int>.Type // user: %1354
%1353 = alloc_stack $Optional<Int> // users: %1354, %1355, %1359
%1354 = apply %1351<Int>(%1353#1, %1352) : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @thin Optional<τ_0_0>.Type) -> ()
%1355 = load %1353#1 : $*Optional<Int> // user: %1356
store %1355 to %1343 : $*Optional<Int> // id: %1356
%1357 = apply %1300<String, Int?>(%1305, %1301) : $@convention(thin) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@owned Array<(τ_0_0, τ_0_1)>, @thin Dictionary<τ_0_0, τ_0_1>.Type) -> @owned Dictionary<τ_0_0, τ_0_1> // user: %1358
store %1357 to %1299 : $*Dictionary<String, Optional<Int>> // id: %1358
dealloc_stack %1353#0 : $*@local_storage Optional<Int> // id: %1359
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%1360 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1365
%1361 = metatype $@thin String.Type // user: %1365
%1362 = string_literal utf8 "two" // user: %1365
%1363 = integer_literal $Builtin.Word, 3 // user: %1365
%1364 = integer_literal $Builtin.Int1, -1 // user: %1365
%1365 = apply %1360(%1362, %1363, %1364, %1361) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1375
// function_ref Swift.Optional.init <A> (Swift.Optional<A>.Type)(nilLiteral : ()) -> Swift.Optional<A>
%1366 = function_ref @_TFSqCurfMGSqq__FT10nilLiteralT__GSqq__ : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @thin Optional<τ_0_0>.Type) -> () // user: %1369
%1367 = metatype $@thin Optional<Optional<Int>>.Type // user: %1369
%1368 = alloc_stack $Optional<Optional<Int>> // users: %1369, %1370, %1379
%1369 = apply %1366<Int?>(%1368#1, %1367) : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @thin Optional<τ_0_0>.Type) -> ()
%1370 = load %1368#1 : $*Optional<Optional<Int>> // user: %1373
// function_ref Swift.Dictionary.subscript.setter : (A) -> Swift.Optional<B>
%1371 = function_ref @_TFVSs10Dictionarys9subscriptFq_GSqq0__ : $@convention(method) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@in Optional<τ_0_1>, @in τ_0_0, @inout Dictionary<τ_0_0, τ_0_1>) -> () // user: %1376
%1372 = alloc_stack $Optional<Optional<Int>> // users: %1373, %1376, %1378
store %1370 to %1372#1 : $*Optional<Optional<Int>> // id: %1373
%1374 = alloc_stack $String // users: %1375, %1376, %1377
store %1365 to %1374#1 : $*String // id: %1375
%1376 = apply %1371<String, Int?>(%1372#1, %1374#1, %1299) : $@convention(method) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@in Optional<τ_0_1>, @in τ_0_0, @inout Dictionary<τ_0_0, τ_0_1>) -> ()
dealloc_stack %1374#0 : $*@local_storage String // id: %1377
dealloc_stack %1372#0 : $*@local_storage Optional<Optional<Int>> // id: %1378
dealloc_stack %1368#0 : $*@local_storage Optional<Optional<Int>> // id: %1379
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%1380 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1385
%1381 = metatype $@thin String.Type // user: %1385
%1382 = string_literal utf8 "two" // user: %1385
%1383 = integer_literal $Builtin.Word, 3 // user: %1385
%1384 = integer_literal $Builtin.Int1, -1 // user: %1385
%1385 = apply %1380(%1382, %1383, %1384, %1381) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1402
// function_ref Swift.Optional.init <A> (Swift.Optional<A>.Type)(A) -> Swift.Optional<A>
%1386 = function_ref @_TFSqCurfMGSqq__Fq_GSqq__ : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @in τ_0_0, @thin Optional<τ_0_0>.Type) -> () // user: %1396
%1387 = metatype $@thin Optional<Optional<Int>>.Type // user: %1396
// function_ref Swift.Optional.init <A> (Swift.Optional<A>.Type)(nilLiteral : ()) -> Swift.Optional<A>
%1388 = function_ref @_TFSqCurfMGSqq__FT10nilLiteralT__GSqq__ : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @thin Optional<τ_0_0>.Type) -> () // user: %1391
%1389 = metatype $@thin Optional<Int>.Type // user: %1391
%1390 = alloc_stack $Optional<Int> // users: %1391, %1392, %1408
%1391 = apply %1388<Int>(%1390#1, %1389) : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @thin Optional<τ_0_0>.Type) -> ()
%1392 = load %1390#1 : $*Optional<Int> // user: %1394
%1393 = alloc_stack $Optional<Int> // users: %1394, %1396, %1407
store %1392 to %1393#1 : $*Optional<Int> // id: %1394
%1395 = alloc_stack $Optional<Optional<Int>> // users: %1396, %1397, %1406
%1396 = apply %1386<Int?>(%1395#1, %1393#1, %1387) : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @in τ_0_0, @thin Optional<τ_0_0>.Type) -> ()
%1397 = load %1395#1 : $*Optional<Optional<Int>> // user: %1400
// function_ref Swift.Dictionary.subscript.setter : (A) -> Swift.Optional<B>
%1398 = function_ref @_TFVSs10Dictionarys9subscriptFq_GSqq0__ : $@convention(method) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@in Optional<τ_0_1>, @in τ_0_0, @inout Dictionary<τ_0_0, τ_0_1>) -> () // user: %1403
%1399 = alloc_stack $Optional<Optional<Int>> // users: %1400, %1403, %1405
store %1397 to %1399#1 : $*Optional<Optional<Int>> // id: %1400
%1401 = alloc_stack $String // users: %1402, %1403, %1404
store %1385 to %1401#1 : $*String // id: %1402
%1403 = apply %1398<String, Int?>(%1399#1, %1401#1, %1299) : $@convention(method) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@in Optional<τ_0_1>, @in τ_0_0, @inout Dictionary<τ_0_0, τ_0_1>) -> ()
dealloc_stack %1401#0 : $*@local_storage String // id: %1404
dealloc_stack %1399#0 : $*@local_storage Optional<Optional<Int>> // id: %1405
dealloc_stack %1395#0 : $*@local_storage Optional<Optional<Int>> // id: %1406
dealloc_stack %1393#0 : $*@local_storage Optional<Int> // id: %1407
dealloc_stack %1390#0 : $*@local_storage Optional<Int> // id: %1408
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%1409 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1414
%1410 = metatype $@thin String.Type // user: %1414
%1411 = string_literal utf8 "two" // user: %1414
%1412 = integer_literal $Builtin.Word, 3 // user: %1414
%1413 = integer_literal $Builtin.Int1, -1 // user: %1414
%1414 = apply %1409(%1411, %1412, %1413, %1410) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1431
// function_ref Swift.Optional.Some <A> (Swift.Optional<A>.Type)(A) -> Swift.Optional<A>
%1415 = function_ref @_TFSq4SomeurfMGSqq__Fq_GSqq__ : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @in τ_0_0, @thin Optional<τ_0_0>.Type) -> () // user: %1425
%1416 = metatype $@thin Optional<Optional<Int>>.Type // user: %1425
// function_ref Swift.Optional.init <A> (Swift.Optional<A>.Type)(nilLiteral : ()) -> Swift.Optional<A>
%1417 = function_ref @_TFSqCurfMGSqq__FT10nilLiteralT__GSqq__ : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @thin Optional<τ_0_0>.Type) -> () // user: %1420
%1418 = metatype $@thin Optional<Int>.Type // user: %1420
%1419 = alloc_stack $Optional<Int> // users: %1420, %1421, %1437
%1420 = apply %1417<Int>(%1419#1, %1418) : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @thin Optional<τ_0_0>.Type) -> ()
%1421 = load %1419#1 : $*Optional<Int> // user: %1423
%1422 = alloc_stack $Optional<Int> // users: %1423, %1425, %1436
store %1421 to %1422#1 : $*Optional<Int> // id: %1423
%1424 = alloc_stack $Optional<Optional<Int>> // users: %1425, %1426, %1435
%1425 = apply %1415<Int?>(%1424#1, %1422#1, %1416) : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @in τ_0_0, @thin Optional<τ_0_0>.Type) -> ()
%1426 = load %1424#1 : $*Optional<Optional<Int>> // user: %1429
// function_ref Swift.Dictionary.subscript.setter : (A) -> Swift.Optional<B>
%1427 = function_ref @_TFVSs10Dictionarys9subscriptFq_GSqq0__ : $@convention(method) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@in Optional<τ_0_1>, @in τ_0_0, @inout Dictionary<τ_0_0, τ_0_1>) -> () // user: %1432
%1428 = alloc_stack $Optional<Optional<Int>> // users: %1429, %1432, %1434
store %1426 to %1428#1 : $*Optional<Optional<Int>> // id: %1429
%1430 = alloc_stack $String // users: %1431, %1432, %1433
store %1414 to %1430#1 : $*String // id: %1431
%1432 = apply %1427<String, Int?>(%1428#1, %1430#1, %1299) : $@convention(method) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@in Optional<τ_0_1>, @in τ_0_0, @inout Dictionary<τ_0_0, τ_0_1>) -> ()
dealloc_stack %1430#0 : $*@local_storage String // id: %1433
dealloc_stack %1428#0 : $*@local_storage Optional<Optional<Int>> // id: %1434
dealloc_stack %1424#0 : $*@local_storage Optional<Optional<Int>> // id: %1435
dealloc_stack %1422#0 : $*@local_storage Optional<Int> // id: %1436
dealloc_stack %1419#0 : $*@local_storage Optional<Int> // id: %1437
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%1438 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1443
%1439 = metatype $@thin String.Type // user: %1443
%1440 = string_literal utf8 "two" // user: %1443
%1441 = integer_literal $Builtin.Word, 3 // user: %1443
%1442 = integer_literal $Builtin.Int1, -1 // user: %1443
%1443 = apply %1438(%1440, %1441, %1442, %1439) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // users: %1444, %1450, %1461, %1466, %1473, %1487
retain_value %1443 : $String // id: %1444
%1445 = alloc_stack $Optional<Optional<Int>> // users: %1455, %1458, %1460, %1472, %1475, %1482, %1494
%1446 = load %1299 : $*Dictionary<String, Optional<Int>> // users: %1447, %1452, %1453
retain_value %1446 : $Dictionary<String, Optional<Int>> // id: %1447
// function_ref Swift.Dictionary.subscript.getter : (A) -> Swift.Optional<B>
%1448 = function_ref @_TFVSs10Dictionaryg9subscriptFq_GSqq0__ : $@convention(method) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@out Optional<τ_0_1>, @in τ_0_0, @guaranteed Dictionary<τ_0_0, τ_0_1>) -> () // user: %1452
%1449 = alloc_stack $String // users: %1450, %1452, %1471, %1493
store %1443 to %1449#1 : $*String // id: %1450
%1451 = alloc_stack $Optional<Optional<Int>> // users: %1452, %1454, %1470, %1492
%1452 = apply %1448<String, Int?>(%1451#1, %1449#1, %1446) : $@convention(method) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@out Optional<τ_0_1>, @in τ_0_0, @guaranteed Dictionary<τ_0_0, τ_0_1>) -> ()
release_value %1446 : $Dictionary<String, Optional<Int>> // id: %1453
%1454 = load %1451#1 : $*Optional<Optional<Int>> // user: %1455
store %1454 to %1445#1 : $*Optional<Optional<Int>> // id: %1455
%1456 = integer_literal $Builtin.Int1, -1 // user: %1458
%1457 = integer_literal $Builtin.Int1, 0 // user: %1458
%1458 = select_enum_addr %1445#1 : $*Optional<Optional<Int>>, case #Optional.Some!enumelt.1: %1456, default %1457 : $Builtin.Int1 // user: %1459
cond_br %1458, bb73, bb72 // id: %1459
bb72: // Preds: bb71
%1460 = load %1445#1 : $*Optional<Optional<Int>> // user: %1464
retain_value %1443 : $String // id: %1461
// function_ref Swift.Dictionary.subscript.setter : (A) -> Swift.Optional<B>
%1462 = function_ref @_TFVSs10Dictionarys9subscriptFq_GSqq0__ : $@convention(method) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@in Optional<τ_0_1>, @in τ_0_0, @inout Dictionary<τ_0_0, τ_0_1>) -> () // user: %1467
%1463 = alloc_stack $Optional<Optional<Int>> // users: %1464, %1467, %1469
store %1460 to %1463#1 : $*Optional<Optional<Int>> // id: %1464
%1465 = alloc_stack $String // users: %1466, %1467, %1468
store %1443 to %1465#1 : $*String // id: %1466
%1467 = apply %1462<String, Int?>(%1463#1, %1465#1, %1299) : $@convention(method) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@in Optional<τ_0_1>, @in τ_0_0, @inout Dictionary<τ_0_0, τ_0_1>) -> ()
dealloc_stack %1465#0 : $*@local_storage String // id: %1468
dealloc_stack %1463#0 : $*@local_storage Optional<Optional<Int>> // id: %1469
dealloc_stack %1451#0 : $*@local_storage Optional<Optional<Int>> // id: %1470
dealloc_stack %1449#0 : $*@local_storage String // id: %1471
dealloc_stack %1445#0 : $*@local_storage Optional<Optional<Int>> // id: %1472
release_value %1443 : $String // id: %1473
br bb98 // id: %1474
bb73: // Preds: bb71
%1475 = unchecked_take_enum_data_addr %1445#1 : $*Optional<Optional<Int>>, #Optional.Some!enumelt.1 // user: %1481
// function_ref Swift.Optional.init <A> (Swift.Optional<A>.Type)(nilLiteral : ()) -> Swift.Optional<A>
%1476 = function_ref @_TFSqCurfMGSqq__FT10nilLiteralT__GSqq__ : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @thin Optional<τ_0_0>.Type) -> () // user: %1479
%1477 = metatype $@thin Optional<Int>.Type // user: %1479
%1478 = alloc_stack $Optional<Int> // users: %1479, %1480, %1491
%1479 = apply %1476<Int>(%1478#1, %1477) : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @thin Optional<τ_0_0>.Type) -> ()
%1480 = load %1478#1 : $*Optional<Int> // user: %1481
assign %1480 to %1475 : $*Optional<Int> // id: %1481
%1482 = load %1445#1 : $*Optional<Optional<Int>> // user: %1485
// function_ref Swift.Dictionary.subscript.setter : (A) -> Swift.Optional<B>
%1483 = function_ref @_TFVSs10Dictionarys9subscriptFq_GSqq0__ : $@convention(method) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@in Optional<τ_0_1>, @in τ_0_0, @inout Dictionary<τ_0_0, τ_0_1>) -> () // user: %1488
%1484 = alloc_stack $Optional<Optional<Int>> // users: %1485, %1488, %1490
store %1482 to %1484#1 : $*Optional<Optional<Int>> // id: %1485
%1486 = alloc_stack $String // users: %1487, %1488, %1489
store %1443 to %1486#1 : $*String // id: %1487
%1488 = apply %1483<String, Int?>(%1484#1, %1486#1, %1299) : $@convention(method) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@in Optional<τ_0_1>, @in τ_0_0, @inout Dictionary<τ_0_0, τ_0_1>) -> ()
dealloc_stack %1486#0 : $*@local_storage String // id: %1489
dealloc_stack %1484#0 : $*@local_storage Optional<Optional<Int>> // id: %1490
dealloc_stack %1478#0 : $*@local_storage Optional<Int> // id: %1491
dealloc_stack %1451#0 : $*@local_storage Optional<Optional<Int>> // id: %1492
dealloc_stack %1449#0 : $*@local_storage String // id: %1493
dealloc_stack %1445#0 : $*@local_storage Optional<Optional<Int>> // id: %1494
%1495 = tuple () // user: %1496
%1496 = enum $Optional<()>, #Optional.Some!enumelt.1, %1495 : $() // user: %1497
br bb74(%1496 : $Optional<()>) // id: %1497
bb74(%1498 : $Optional<()>): // Preds: bb73 bb98
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%1499 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1504
%1500 = metatype $@thin String.Type // user: %1504
%1501 = string_literal utf8 "three" // user: %1504
%1502 = integer_literal $Builtin.Word, 5 // user: %1504
%1503 = integer_literal $Builtin.Int1, -1 // user: %1504
%1504 = apply %1499(%1501, %1502, %1503, %1500) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // users: %1505, %1511, %1522, %1527, %1534, %1548
retain_value %1504 : $String // id: %1505
%1506 = alloc_stack $Optional<Optional<Int>> // users: %1516, %1519, %1521, %1533, %1536, %1543, %1555
%1507 = load %1299 : $*Dictionary<String, Optional<Int>> // users: %1508, %1513, %1514
retain_value %1507 : $Dictionary<String, Optional<Int>> // id: %1508
// function_ref Swift.Dictionary.subscript.getter : (A) -> Swift.Optional<B>
%1509 = function_ref @_TFVSs10Dictionaryg9subscriptFq_GSqq0__ : $@convention(method) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@out Optional<τ_0_1>, @in τ_0_0, @guaranteed Dictionary<τ_0_0, τ_0_1>) -> () // user: %1513
%1510 = alloc_stack $String // users: %1511, %1513, %1532, %1554
store %1504 to %1510#1 : $*String // id: %1511
%1512 = alloc_stack $Optional<Optional<Int>> // users: %1513, %1515, %1531, %1553
%1513 = apply %1509<String, Int?>(%1512#1, %1510#1, %1507) : $@convention(method) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@out Optional<τ_0_1>, @in τ_0_0, @guaranteed Dictionary<τ_0_0, τ_0_1>) -> ()
release_value %1507 : $Dictionary<String, Optional<Int>> // id: %1514
%1515 = load %1512#1 : $*Optional<Optional<Int>> // user: %1516
store %1515 to %1506#1 : $*Optional<Optional<Int>> // id: %1516
%1517 = integer_literal $Builtin.Int1, -1 // user: %1519
%1518 = integer_literal $Builtin.Int1, 0 // user: %1519
%1519 = select_enum_addr %1506#1 : $*Optional<Optional<Int>>, case #Optional.Some!enumelt.1: %1517, default %1518 : $Builtin.Int1 // user: %1520
cond_br %1519, bb76, bb75 // id: %1520
bb75: // Preds: bb74
%1521 = load %1506#1 : $*Optional<Optional<Int>> // user: %1525
retain_value %1504 : $String // id: %1522
// function_ref Swift.Dictionary.subscript.setter : (A) -> Swift.Optional<B>
%1523 = function_ref @_TFVSs10Dictionarys9subscriptFq_GSqq0__ : $@convention(method) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@in Optional<τ_0_1>, @in τ_0_0, @inout Dictionary<τ_0_0, τ_0_1>) -> () // user: %1528
%1524 = alloc_stack $Optional<Optional<Int>> // users: %1525, %1528, %1530
store %1521 to %1524#1 : $*Optional<Optional<Int>> // id: %1525
%1526 = alloc_stack $String // users: %1527, %1528, %1529
store %1504 to %1526#1 : $*String // id: %1527
%1528 = apply %1523<String, Int?>(%1524#1, %1526#1, %1299) : $@convention(method) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@in Optional<τ_0_1>, @in τ_0_0, @inout Dictionary<τ_0_0, τ_0_1>) -> ()
dealloc_stack %1526#0 : $*@local_storage String // id: %1529
dealloc_stack %1524#0 : $*@local_storage Optional<Optional<Int>> // id: %1530
dealloc_stack %1512#0 : $*@local_storage Optional<Optional<Int>> // id: %1531
dealloc_stack %1510#0 : $*@local_storage String // id: %1532
dealloc_stack %1506#0 : $*@local_storage Optional<Optional<Int>> // id: %1533
release_value %1504 : $String // id: %1534
br bb97 // id: %1535
bb76: // Preds: bb74
%1536 = unchecked_take_enum_data_addr %1506#1 : $*Optional<Optional<Int>>, #Optional.Some!enumelt.1 // user: %1542
// function_ref Swift.Optional.init <A> (Swift.Optional<A>.Type)(nilLiteral : ()) -> Swift.Optional<A>
%1537 = function_ref @_TFSqCurfMGSqq__FT10nilLiteralT__GSqq__ : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @thin Optional<τ_0_0>.Type) -> () // user: %1540
%1538 = metatype $@thin Optional<Int>.Type // user: %1540
%1539 = alloc_stack $Optional<Int> // users: %1540, %1541, %1552
%1540 = apply %1537<Int>(%1539#1, %1538) : $@convention(thin) <τ_0_0> (@out Optional<τ_0_0>, @thin Optional<τ_0_0>.Type) -> ()
%1541 = load %1539#1 : $*Optional<Int> // user: %1542
assign %1541 to %1536 : $*Optional<Int> // id: %1542
%1543 = load %1506#1 : $*Optional<Optional<Int>> // user: %1546
// function_ref Swift.Dictionary.subscript.setter : (A) -> Swift.Optional<B>
%1544 = function_ref @_TFVSs10Dictionarys9subscriptFq_GSqq0__ : $@convention(method) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@in Optional<τ_0_1>, @in τ_0_0, @inout Dictionary<τ_0_0, τ_0_1>) -> () // user: %1549
%1545 = alloc_stack $Optional<Optional<Int>> // users: %1546, %1549, %1551
store %1543 to %1545#1 : $*Optional<Optional<Int>> // id: %1546
%1547 = alloc_stack $String // users: %1548, %1549, %1550
store %1504 to %1547#1 : $*String // id: %1548
%1549 = apply %1544<String, Int?>(%1545#1, %1547#1, %1299) : $@convention(method) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@in Optional<τ_0_1>, @in τ_0_0, @inout Dictionary<τ_0_0, τ_0_1>) -> ()
dealloc_stack %1547#0 : $*@local_storage String // id: %1550
dealloc_stack %1545#0 : $*@local_storage Optional<Optional<Int>> // id: %1551
dealloc_stack %1539#0 : $*@local_storage Optional<Int> // id: %1552
dealloc_stack %1512#0 : $*@local_storage Optional<Optional<Int>> // id: %1553
dealloc_stack %1510#0 : $*@local_storage String // id: %1554
dealloc_stack %1506#0 : $*@local_storage Optional<Optional<Int>> // id: %1555
%1556 = tuple () // user: %1557
%1557 = enum $Optional<()>, #Optional.Some!enumelt.1, %1556 : $() // user: %1558
br bb77(%1557 : $Optional<()>) // id: %1558
bb77(%1559 : $Optional<()>): // Preds: bb76 bb97
// function_ref Swift.Dictionary.indexForKey <A, B where A: Swift.Hashable> (Swift.Dictionary<A, B>)(A) -> Swift.Optional<Swift.DictionaryIndex<A, B>>
%1560 = function_ref @_TFVSs10Dictionary11indexForKeyu0_Rq_Ss8Hashable_fGS_q_q0__Fq_GSqGVSs15DictionaryIndexq_q0___ : $@convention(method) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@in τ_0_0, @guaranteed Dictionary<τ_0_0, τ_0_1>) -> @owned Optional<DictionaryIndex<τ_0_0, τ_0_1>> // user: %1571
%1561 = load %1299 : $*Dictionary<String, Optional<Int>> // users: %1562, %1571, %1572
retain_value %1561 : $Dictionary<String, Optional<Int>> // id: %1562
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%1563 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1568
%1564 = metatype $@thin String.Type // user: %1568
%1565 = string_literal utf8 "three" // user: %1568
%1566 = integer_literal $Builtin.Word, 5 // user: %1568
%1567 = integer_literal $Builtin.Int1, -1 // user: %1568
%1568 = apply %1563(%1565, %1566, %1567, %1564) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1570
%1569 = alloc_stack $String // users: %1570, %1571, %1574
store %1568 to %1569#1 : $*String // id: %1570
%1571 = apply %1560<String, Int?>(%1569#1, %1561) : $@convention(method) <τ_0_0, τ_0_1 where τ_0_0 : Hashable> (@in τ_0_0, @guaranteed Dictionary<τ_0_0, τ_0_1>) -> @owned Optional<DictionaryIndex<τ_0_0, τ_0_1>> // user: %1573
release_value %1561 : $Dictionary<String, Optional<Int>> // id: %1572
release_value %1571 : $Optional<DictionaryIndex<String, Optional<Int>>> // id: %1573
dealloc_stack %1569#0 : $*@local_storage String // id: %1574
%1575 = alloc_box $IndexingGenerator<Array<String>> // var $i$generator // users: %1627, %1633, %1750
// function_ref ext.Swift.Swift.CollectionType<A where A: Swift.CollectionType, A.Generator == Swift.IndexingGenerator<A>, A._Element == A.Generator.Element>.generate <A where A: Swift.CollectionType, A.Generator == Swift.IndexingGenerator<A>, A._Element == A.Generator.Element> (A)() -> Swift.IndexingGenerator<A>
%1576 = function_ref @_TFeRq_Ss14CollectionTypezqq_S_9GeneratorGVSs17IndexingGeneratorq__zqq_Ss9Indexable8_Elementqqq_S_9GeneratorSs13GeneratorType7Element_SsS_8generateuRq_S_zqq_S_9GeneratorGS0_q__zqq_S1_8_Elementqqq_S_9GeneratorS2_7Element_fq_FT_GS0_q__ : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.Generator == IndexingGenerator<τ_0_0>, τ_0_0.Generator.Element == τ_0_0._Element> (@out IndexingGenerator<τ_0_0>, @in_guaranteed τ_0_0) -> () // user: %1623
// function_ref Swift.Array.init <A> (Swift.Array<A>.Type)(arrayLiteral : Swift.Array<A>...) -> Swift.Array<A>
%1577 = function_ref @_TFSaCurfMGSaq__Ft12arrayLiteralGSaq___GSaq__ : $@convention(thin) <τ_0_0> (@owned Array<τ_0_0>, @thin Array<τ_0_0>.Type) -> @owned Array<τ_0_0> // user: %1619
%1578 = metatype $@thin Array<String>.Type // user: %1619
%1579 = integer_literal $Builtin.Word, 4 // user: %1581
// function_ref Swift._allocateUninitializedArray <A> (Builtin.Word) -> (Swift.Array<A>, Builtin.RawPointer)
%1580 = function_ref @_TFSs27_allocateUninitializedArrayurFBwTGSaq__Bp_ : $@convention(thin) <τ_0_0> (Builtin.Word) -> @owned (Array<τ_0_0>, Builtin.RawPointer) // user: %1581
%1581 = apply %1580<String>(%1579) : $@convention(thin) <τ_0_0> (Builtin.Word) -> @owned (Array<τ_0_0>, Builtin.RawPointer) // users: %1582, %1583
%1582 = tuple_extract %1581 : $(Array<String>, Builtin.RawPointer), 0 // user: %1619
%1583 = tuple_extract %1581 : $(Array<String>, Builtin.RawPointer), 1 // user: %1584
%1584 = pointer_to_address %1583 : $Builtin.RawPointer to $*String // users: %1591, %1593, %1602, %1611
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%1585 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1590
%1586 = metatype $@thin String.Type // user: %1590
%1587 = string_literal utf8 "2" // user: %1590
%1588 = integer_literal $Builtin.Word, 1 // user: %1590
%1589 = integer_literal $Builtin.Int1, -1 // user: %1590
%1590 = apply %1585(%1587, %1588, %1589, %1586) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1591
store %1590 to %1584 : $*String // id: %1591
%1592 = integer_literal $Builtin.Word, 1 // user: %1593
%1593 = index_addr %1584 : $*String, %1592 : $Builtin.Word // user: %1600
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%1594 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1599
%1595 = metatype $@thin String.Type // user: %1599
%1596 = string_literal utf8 "foo" // user: %1599
%1597 = integer_literal $Builtin.Word, 3 // user: %1599
%1598 = integer_literal $Builtin.Int1, -1 // user: %1599
%1599 = apply %1594(%1596, %1597, %1598, %1595) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1600
store %1599 to %1593 : $*String // id: %1600
%1601 = integer_literal $Builtin.Word, 2 // user: %1602
%1602 = index_addr %1584 : $*String, %1601 : $Builtin.Word // user: %1609
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%1603 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1608
%1604 = metatype $@thin String.Type // user: %1608
%1605 = string_literal utf8 "42" // user: %1608
%1606 = integer_literal $Builtin.Word, 2 // user: %1608
%1607 = integer_literal $Builtin.Int1, -1 // user: %1608
%1608 = apply %1603(%1605, %1606, %1607, %1604) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1609
store %1608 to %1602 : $*String // id: %1609
%1610 = integer_literal $Builtin.Word, 3 // user: %1611
%1611 = index_addr %1584 : $*String, %1610 : $Builtin.Word // user: %1618
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%1612 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1617
%1613 = metatype $@thin String.Type // user: %1617
%1614 = string_literal utf8 "100" // user: %1617
%1615 = integer_literal $Builtin.Word, 3 // user: %1617
%1616 = integer_literal $Builtin.Int1, -1 // user: %1617
%1617 = apply %1612(%1614, %1615, %1616, %1613) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1618
store %1617 to %1611 : $*String // id: %1618
%1619 = apply %1577<String>(%1582, %1578) : $@convention(thin) <τ_0_0> (@owned Array<τ_0_0>, @thin Array<τ_0_0>.Type) -> @owned Array<τ_0_0> // user: %1621
%1620 = alloc_stack $Array<String> // users: %1621, %1623, %1624, %1629
store %1619 to %1620#1 : $*Array<String> // id: %1621
%1622 = alloc_stack $IndexingGenerator<Array<String>> // users: %1623, %1626, %1628
%1623 = apply %1576<[String], Int, Int, Int, Int, ArraySlice<String>, IndexingGenerator<ArraySlice<String>>, String, Int, Int, Int, Int, ArraySlice<String>, String, String>(%1622#1, %1620#1) : $@convention(method) <τ_0_0 where τ_0_0 : CollectionType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.Generator == IndexingGenerator<τ_0_0>, τ_0_0.Generator.Element == τ_0_0._Element> (@out IndexingGenerator<τ_0_0>, @in_guaranteed τ_0_0) -> ()
%1624 = load %1620#1 : $*Array<String> // user: %1625
release_value %1624 : $Array<String> // id: %1625
%1626 = load %1622#1 : $*IndexingGenerator<Array<String>> // user: %1627
store %1626 to %1575#1 : $*IndexingGenerator<Array<String>> // id: %1627
dealloc_stack %1622#0 : $*@local_storage IndexingGenerator<Array<String>> // id: %1628
dealloc_stack %1620#0 : $*@local_storage Array<String> // id: %1629
br bb78 // id: %1630
bb78: // Preds: bb77 bb89
// function_ref Swift.IndexingGenerator.next <A where A: Swift.Indexable> (inout Swift.IndexingGenerator<A>)() -> Swift.Optional<A._Element>
%1631 = function_ref @_TFVSs17IndexingGenerator4nextuRq_Ss9Indexable_fRGS_q__FT_GSqqq_S0_8_Element_ : $@convention(method) <τ_0_0 where τ_0_0 : Indexable, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0._Element>, @inout IndexingGenerator<τ_0_0>) -> () // user: %1633
%1632 = alloc_stack $Optional<String> // users: %1633, %1634, %1635
%1633 = apply %1631<Array<String>, Int, Int, Int, Int, String>(%1632#1, %1575#1) : $@convention(method) <τ_0_0 where τ_0_0 : Indexable, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@out Optional<τ_0_0._Element>, @inout IndexingGenerator<τ_0_0>) -> ()
%1634 = load %1632#1 : $*Optional<String> // users: %1638, %1640
dealloc_stack %1632#0 : $*@local_storage Optional<String> // id: %1635
%1636 = integer_literal $Builtin.Int1, -1 // user: %1638
%1637 = integer_literal $Builtin.Int1, 0 // user: %1638
%1638 = select_enum %1634 : $Optional<String>, case #Optional.Some!enumelt.1: %1636, default %1637 : $Builtin.Int1 // user: %1639
cond_br %1638, bb79, bb90 // id: %1639
bb79: // Preds: bb78
%1640 = unchecked_enum_data %1634 : $Optional<String>, #Optional.Some!enumelt.1 // users: %1641, %1644, %1647, %1748
debug_value %1640 : $String // let i // id: %1641
// function_ref Swift.Int.init (Swift.Int.Type)(Swift.String, radix : Swift.Int) -> Swift.Optional<Swift.Int>
%1642 = function_ref @_TFSiCfMSiFTSS5radixSi_GSqSi_ : $@convention(thin) (@owned String, Int, @thin Int.Type) -> Optional<Int> // user: %1647
%1643 = metatype $@thin Int.Type // user: %1647
retain_value %1640 : $String // id: %1644
// function_ref Swift.Int.(init (Swift.Int.Type) -> (Swift.String, radix : Swift.Int) -> Swift.Optional<Swift.Int>).(default argument 1)
%1645 = function_ref @_TIFSicFMSiFTSS5radixSi_GSqSi_A0_ : $@convention(thin) () -> Int // user: %1646
%1646 = apply %1645() : $@convention(thin) () -> Int // user: %1647
%1647 = apply %1642(%1640, %1646, %1643) : $@convention(thin) (@owned String, Int, @thin Int.Type) -> Optional<Int> // users: %1648, %1659, %1678, %1700, %1722
debug_value %1647 : $Optional<Int> // let $match // id: %1648
// function_ref Swift.Bool._getBuiltinLogicValue (Swift.Bool)() -> Builtin.Int1
%1649 = function_ref @_TFSb21_getBuiltinLogicValuefSbFT_Bi1_ : $@convention(method) (Bool) -> Builtin.Int1 // user: %1661
// function_ref static Test.~= infix <A where A: Swift.Equatable> (Swift.Optional<A>, Swift.Optional<A>) -> Swift.Bool
%1650 = function_ref @_TZF4Testoi2teuRq_Ss9Equatable_FTGSqq__GSqq___Sb : $@convention(thin) <τ_0_0 where τ_0_0 : Equatable> (@in Optional<τ_0_0>, @in Optional<τ_0_0>) -> Bool // user: %1660
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%1651 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %1654
%1652 = metatype $@thin Int.Type // user: %1654
%1653 = integer_literal $Builtin.Int2048, 42 // user: %1654
%1654 = apply %1651(%1653, %1652) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %1655
%1655 = enum $Optional<Int>, #Optional.Some!enumelt.1, %1654 : $Int // user: %1657
%1656 = alloc_stack $Optional<Int> // users: %1657, %1660, %1663
store %1655 to %1656#1 : $*Optional<Int> // id: %1657
%1658 = alloc_stack $Optional<Int> // users: %1659, %1660, %1662
store %1647 to %1658#1 : $*Optional<Int> // id: %1659
%1660 = apply %1650<Int>(%1656#1, %1658#1) : $@convention(thin) <τ_0_0 where τ_0_0 : Equatable> (@in Optional<τ_0_0>, @in Optional<τ_0_0>) -> Bool // user: %1661
%1661 = apply %1649(%1660) : $@convention(method) (Bool) -> Builtin.Int1 // user: %1664
dealloc_stack %1658#0 : $*@local_storage Optional<Int> // id: %1662
dealloc_stack %1656#0 : $*@local_storage Optional<Int> // id: %1663
cond_br %1661, bb80, bb81 // id: %1664
bb80: // Preds: bb79
// function_ref Swift.print <A> (A) -> ()
%1665 = function_ref @_TFSs5printurFq_T_ : $@convention(thin) <τ_0_0> (@in τ_0_0) -> () // user: %1674
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%1666 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1671
%1667 = metatype $@thin String.Type // user: %1671
%1668 = string_literal utf8 "The meaning of life" // user: %1671
%1669 = integer_literal $Builtin.Word, 19 // user: %1671
%1670 = integer_literal $Builtin.Int1, -1 // user: %1671
%1671 = apply %1666(%1668, %1669, %1670, %1667) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1673
%1672 = alloc_stack $String // users: %1673, %1674, %1675
store %1671 to %1672#1 : $*String // id: %1673
%1674 = apply %1665<String>(%1672#1) : $@convention(thin) <τ_0_0> (@in τ_0_0) -> ()
dealloc_stack %1672#0 : $*@local_storage String // id: %1675
br bb89 // id: %1676
bb81: // Preds: bb79
br bb82 // id: %1677
bb82: // Preds: bb81
debug_value %1647 : $Optional<Int> // let $match // id: %1678
// function_ref Swift.Bool._getBuiltinLogicValue (Swift.Bool)() -> Builtin.Int1
%1679 = function_ref @_TFSb21_getBuiltinLogicValuefSbFT_Bi1_ : $@convention(method) (Bool) -> Builtin.Int1 // user: %1702
// function_ref static Test.~= infix <A where A: Swift.IntervalType> (A, Swift.Optional<A.Bound>) -> Swift.Bool
%1680 = function_ref @_TZF4Testoi2teuRq_Ss12IntervalType_FTq_GSqqq_S0_5Bound__Sb : $@convention(thin) <τ_0_0 where τ_0_0 : IntervalType, τ_0_0.Bound : Comparable> (@in τ_0_0, @in Optional<τ_0_0.Bound>) -> Bool // user: %1701
// function_ref static Swift...< infix <A where A: Swift.Comparable> (A, A) -> Swift.HalfOpenInterval<A>
%1681 = function_ref @_TZFSsoi3zzluRq_Ss10Comparable_FTq_q__GVSs16HalfOpenIntervalq__ : $@convention(thin) <τ_0_0 where τ_0_0 : Comparable> (@out HalfOpenInterval<τ_0_0>, @in τ_0_0, @in τ_0_0) -> () // user: %1695
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%1682 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %1685
%1683 = metatype $@thin Int.Type // user: %1685
%1684 = integer_literal $Builtin.Int2048, 0 // user: %1685
%1685 = apply %1682(%1684, %1683) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %1687
%1686 = alloc_stack $Int // users: %1687, %1695, %1707
store %1685 to %1686#1 : $*Int // id: %1687
// function_ref Swift.Int.init (Swift.Int.Type)(_builtinIntegerLiteral : Builtin.Int2048) -> Swift.Int
%1688 = function_ref @_TFSiCfMSiFT22_builtinIntegerLiteralBi2048__Si : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %1691
%1689 = metatype $@thin Int.Type // user: %1691
%1690 = integer_literal $Builtin.Int2048, 10 // user: %1691
%1691 = apply %1688(%1690, %1689) : $@convention(thin) (Builtin.Int2048, @thin Int.Type) -> Int // user: %1693
%1692 = alloc_stack $Int // users: %1693, %1695, %1706
store %1691 to %1692#1 : $*Int // id: %1693
%1694 = alloc_stack $HalfOpenInterval<Int> // users: %1695, %1696, %1705
%1695 = apply %1681<Int>(%1694#1, %1686#1, %1692#1) : $@convention(thin) <τ_0_0 where τ_0_0 : Comparable> (@out HalfOpenInterval<τ_0_0>, @in τ_0_0, @in τ_0_0) -> ()
%1696 = load %1694#1 : $*HalfOpenInterval<Int> // user: %1698
%1697 = alloc_stack $HalfOpenInterval<Int> // users: %1698, %1701, %1704
store %1696 to %1697#1 : $*HalfOpenInterval<Int> // id: %1698
%1699 = alloc_stack $Optional<Int> // users: %1700, %1701, %1703
store %1647 to %1699#1 : $*Optional<Int> // id: %1700
%1701 = apply %1680<HalfOpenInterval<Int>, Int>(%1697#1, %1699#1) : $@convention(thin) <τ_0_0 where τ_0_0 : IntervalType, τ_0_0.Bound : Comparable> (@in τ_0_0, @in Optional<τ_0_0.Bound>) -> Bool // user: %1702
%1702 = apply %1679(%1701) : $@convention(method) (Bool) -> Builtin.Int1 // user: %1708
dealloc_stack %1699#0 : $*@local_storage Optional<Int> // id: %1703
dealloc_stack %1697#0 : $*@local_storage HalfOpenInterval<Int> // id: %1704
dealloc_stack %1694#0 : $*@local_storage HalfOpenInterval<Int> // id: %1705
dealloc_stack %1692#0 : $*@local_storage Int // id: %1706
dealloc_stack %1686#0 : $*@local_storage Int // id: %1707
cond_br %1702, bb83, bb84 // id: %1708
bb83: // Preds: bb82
// function_ref Swift.print <A> (A) -> ()
%1709 = function_ref @_TFSs5printurFq_T_ : $@convention(thin) <τ_0_0> (@in τ_0_0) -> () // user: %1718
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%1710 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1715
%1711 = metatype $@thin String.Type // user: %1715
%1712 = string_literal utf8 "A single digit" // user: %1715
%1713 = integer_literal $Builtin.Word, 14 // user: %1715
%1714 = integer_literal $Builtin.Int1, -1 // user: %1715
%1715 = apply %1710(%1712, %1713, %1714, %1711) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1717
%1716 = alloc_stack $String // users: %1717, %1718, %1719
store %1715 to %1716#1 : $*String // id: %1717
%1718 = apply %1709<String>(%1716#1) : $@convention(thin) <τ_0_0> (@in τ_0_0) -> ()
dealloc_stack %1716#0 : $*@local_storage String // id: %1719
br bb89 // id: %1720
bb84: // Preds: bb82
br bb85 // id: %1721
bb85: // Preds: bb84
switch_enum %1647 : $Optional<Int>, case #Optional.None!enumelt: bb86, default bb87 // id: %1722
bb86: // Preds: bb85
// function_ref Swift.print <A> (A) -> ()
%1723 = function_ref @_TFSs5printurFq_T_ : $@convention(thin) <τ_0_0> (@in τ_0_0) -> () // user: %1732
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%1724 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1729
%1725 = metatype $@thin String.Type // user: %1729
%1726 = string_literal utf8 "Not a number" // user: %1729
%1727 = integer_literal $Builtin.Word, 12 // user: %1729
%1728 = integer_literal $Builtin.Int1, -1 // user: %1729
%1729 = apply %1724(%1726, %1727, %1728, %1725) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1731
%1730 = alloc_stack $String // users: %1731, %1732, %1733
store %1729 to %1730#1 : $*String // id: %1731
%1732 = apply %1723<String>(%1730#1) : $@convention(thin) <τ_0_0> (@in τ_0_0) -> ()
dealloc_stack %1730#0 : $*@local_storage String // id: %1733
br bb89 // id: %1734
bb87: // Preds: bb85
br bb88 // id: %1735
bb88: // Preds: bb87
// function_ref Swift.print <A> (A) -> ()
%1736 = function_ref @_TFSs5printurFq_T_ : $@convention(thin) <τ_0_0> (@in τ_0_0) -> () // user: %1745
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%1737 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1742
%1738 = metatype $@thin String.Type // user: %1742
%1739 = string_literal utf8 "A mystery number" // user: %1742
%1740 = integer_literal $Builtin.Word, 16 // user: %1742
%1741 = integer_literal $Builtin.Int1, -1 // user: %1742
%1742 = apply %1737(%1739, %1740, %1741, %1738) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1744
%1743 = alloc_stack $String // users: %1744, %1745, %1746
store %1742 to %1743#1 : $*String // id: %1744
%1745 = apply %1736<String>(%1743#1) : $@convention(thin) <τ_0_0> (@in τ_0_0) -> ()
dealloc_stack %1743#0 : $*@local_storage String // id: %1746
br bb89 // id: %1747
bb89: // Preds: bb80 bb83 bb86 bb88
release_value %1640 : $String // id: %1748
br bb78 // id: %1749
bb90: // Preds: bb78
strong_release %1575#0 : $@box IndexingGenerator<Array<String>> // id: %1750
%1751 = global_addr @_Tv4Test5tempsGSaSS_ : $*Array<String> // users: %1795, %1798, %1810
// function_ref Swift.Array.init <A> (Swift.Array<A>.Type)(arrayLiteral : Swift.Array<A>...) -> Swift.Array<A>
%1752 = function_ref @_TFSaCurfMGSaq__Ft12arrayLiteralGSaq___GSaq__ : $@convention(thin) <τ_0_0> (@owned Array<τ_0_0>, @thin Array<τ_0_0>.Type) -> @owned Array<τ_0_0> // user: %1794
%1753 = metatype $@thin Array<String>.Type // user: %1794
%1754 = integer_literal $Builtin.Word, 4 // user: %1756
// function_ref Swift._allocateUninitializedArray <A> (Builtin.Word) -> (Swift.Array<A>, Builtin.RawPointer)
%1755 = function_ref @_TFSs27_allocateUninitializedArrayurFBwTGSaq__Bp_ : $@convention(thin) <τ_0_0> (Builtin.Word) -> @owned (Array<τ_0_0>, Builtin.RawPointer) // user: %1756
%1756 = apply %1755<String>(%1754) : $@convention(thin) <τ_0_0> (Builtin.Word) -> @owned (Array<τ_0_0>, Builtin.RawPointer) // users: %1757, %1758
%1757 = tuple_extract %1756 : $(Array<String>, Builtin.RawPointer), 0 // user: %1794
%1758 = tuple_extract %1756 : $(Array<String>, Builtin.RawPointer), 1 // user: %1759
%1759 = pointer_to_address %1758 : $Builtin.RawPointer to $*String // users: %1766, %1768, %1777, %1786
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%1760 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1765
%1761 = metatype $@thin String.Type // user: %1765
%1762 = string_literal utf8 "-459.67" // user: %1765
%1763 = integer_literal $Builtin.Word, 7 // user: %1765
%1764 = integer_literal $Builtin.Int1, -1 // user: %1765
%1765 = apply %1760(%1762, %1763, %1764, %1761) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1766
store %1765 to %1759 : $*String // id: %1766
%1767 = integer_literal $Builtin.Word, 1 // user: %1768
%1768 = index_addr %1759 : $*String, %1767 : $Builtin.Word // user: %1775
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%1769 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1774
%1770 = metatype $@thin String.Type // user: %1774
%1771 = string_literal utf8 "98.6" // user: %1774
%1772 = integer_literal $Builtin.Word, 4 // user: %1774
%1773 = integer_literal $Builtin.Int1, -1 // user: %1774
%1774 = apply %1769(%1771, %1772, %1773, %1770) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1775
store %1774 to %1768 : $*String // id: %1775
%1776 = integer_literal $Builtin.Word, 2 // user: %1777
%1777 = index_addr %1759 : $*String, %1776 : $Builtin.Word // user: %1784
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%1778 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1783
%1779 = metatype $@thin String.Type // user: %1783
%1780 = string_literal utf8 "0" // user: %1783
%1781 = integer_literal $Builtin.Word, 1 // user: %1783
%1782 = integer_literal $Builtin.Int1, -1 // user: %1783
%1783 = apply %1778(%1780, %1781, %1782, %1779) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1784
store %1783 to %1777 : $*String // id: %1784
%1785 = integer_literal $Builtin.Word, 3 // user: %1786
%1786 = index_addr %1759 : $*String, %1785 : $Builtin.Word // user: %1793
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%1787 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1792
%1788 = metatype $@thin String.Type // user: %1792
%1789 = string_literal utf8 "warm" // user: %1792
%1790 = integer_literal $Builtin.Word, 4 // user: %1792
%1791 = integer_literal $Builtin.Int1, -1 // user: %1792
%1792 = apply %1787(%1789, %1790, %1791, %1788) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1793
store %1792 to %1786 : $*String // id: %1793
%1794 = apply %1752<String>(%1757, %1753) : $@convention(thin) <τ_0_0> (@owned Array<τ_0_0>, @thin Array<τ_0_0>.Type) -> @owned Array<τ_0_0> // user: %1795
store %1794 to %1751 : $*Array<String> // id: %1795
%1796 = global_addr @_Tv4Test6sortedGSaSS_ : $*Array<String> // user: %1806
// function_ref ext.Swift.Swift.MutableCollectionType<A where A: Swift.MutableCollectionType>.sort <A where A: Swift.MutableCollectionType> (A)((A.Generator.Element, A.Generator.Element) -> Swift.Bool) -> Swift.Array<A.Generator.Element>
%1797 = function_ref @_TFeRq_Ss21MutableCollectionType_SsS_4sortuRq_S__fq_FFTqqq_Ss14CollectionType9GeneratorSs13GeneratorType7Elementqqq_S0_9GeneratorS1_7Element_SbGSaqqq_S0_9GeneratorS1_7Element_ : $@convention(method) <τ_0_0 where τ_0_0 : MutableCollectionType, τ_0_0.Generator : GeneratorType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@owned @callee_owned (@in τ_0_0.Generator.Element, @in τ_0_0.Generator.Element) -> Bool, @in_guaranteed τ_0_0) -> @owned Array<τ_0_0.Generator.Element> // user: %1805
%1798 = load %1751 : $*Array<String> // user: %1800
%1799 = alloc_stack $Array<String> // users: %1800, %1805, %1807
store %1798 to %1799#1 : $*Array<String> // id: %1800
// function_ref Test.(closure #9)
%1801 = function_ref @_TF4TestU7_FTSSSS_Sb : $@convention(thin) (@owned String, @owned String) -> Bool // user: %1802
%1802 = thin_to_thick_function %1801 : $@convention(thin) (@owned String, @owned String) -> Bool to $@callee_owned (@owned String, @owned String) -> Bool // user: %1804
// function_ref reabstraction thunk helper from @callee_owned (@owned Swift.String, @owned Swift.String) -> (@unowned Swift.Bool) to @callee_owned (@in Swift.String, @in Swift.String) -> (@unowned Swift.Bool)
%1803 = function_ref @_TTRXFo_oSSoSS_dSb_XFo_iSSiSS_dSb_ : $@convention(thin) (@in String, @in String, @owned @callee_owned (@owned String, @owned String) -> Bool) -> Bool // user: %1804
%1804 = partial_apply %1803(%1802) : $@convention(thin) (@in String, @in String, @owned @callee_owned (@owned String, @owned String) -> Bool) -> Bool // user: %1805
%1805 = apply %1797<[String], IndexingGenerator<Array<String>>, String, Int, Int, Int, Int, ArraySlice<String>, IndexingGenerator<ArraySlice<String>>, String, Int, Int, Int, Int, ArraySlice<String>, String, String>(%1804, %1799#1) : $@convention(method) <τ_0_0 where τ_0_0 : MutableCollectionType, τ_0_0.Generator : GeneratorType, τ_0_0.Index : ForwardIndexType, τ_0_0.Index.Distance : _SignedIntegerType, τ_0_0.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible, τ_0_0.SubSequence : Indexable, τ_0_0.SubSequence : SequenceType, τ_0_0.SubSequence.Generator : GeneratorType, τ_0_0.SubSequence.Index : ForwardIndexType, τ_0_0.SubSequence.Index.Distance : _SignedIntegerType, τ_0_0.SubSequence.Index.Distance.IntegerLiteralType : _BuiltinIntegerLiteralConvertible> (@owned @callee_owned (@in τ_0_0.Generator.Element, @in τ_0_0.Generator.Element) -> Bool, @in_guaranteed τ_0_0) -> @owned Array<τ_0_0.Generator.Element> // user: %1806
store %1805 to %1796 : $*Array<String> // id: %1806
dealloc_stack %1799#0 : $*@local_storage Array<String> // id: %1807
%1808 = global_addr @_Tv4Test13belowFreezingGSaSS_ : $*Array<String> // user: %1818
// function_ref ext.Swift.Swift.SequenceType<A where A: Swift.SequenceType>.filter <A where A: Swift.SequenceType> (A)((A.Generator.Element) -> Swift.Bool) -> Swift.Array<A.Generator.Element>
%1809 = function_ref @_TFeRq_Ss12SequenceType_SsS_6filteruRq_S__fq_FFqqq_S_9GeneratorSs13GeneratorType7ElementSbGSaqqq_S_9GeneratorS0_7Element_ : $@convention(method) <τ_0_0 where τ_0_0 : SequenceType, τ_0_0.Generator : GeneratorType> (@owned @callee_owned (@in τ_0_0.Generator.Element) -> Bool, @in_guaranteed τ_0_0) -> @owned Array<τ_0_0.Generator.Element> // user: %1817
%1810 = load %1751 : $*Array<String> // user: %1812
%1811 = alloc_stack $Array<String> // users: %1812, %1817, %1819
store %1810 to %1811#1 : $*Array<String> // id: %1812
// function_ref Test.(closure #10)
%1813 = function_ref @_TF4TestU8_FSSSb : $@convention(thin) (@owned String) -> Bool // user: %1814
%1814 = thin_to_thick_function %1813 : $@convention(thin) (@owned String) -> Bool to $@callee_owned (@owned String) -> Bool // user: %1816
// function_ref reabstraction thunk helper from @callee_owned (@owned Swift.String) -> (@unowned Swift.Bool) to @callee_owned (@in Swift.String) -> (@unowned Swift.Bool)
%1815 = function_ref @_TTRXFo_oSS_dSb_XFo_iSS_dSb_ : $@convention(thin) (@in String, @owned @callee_owned (@owned String) -> Bool) -> Bool // user: %1816
%1816 = partial_apply %1815(%1814) : $@convention(thin) (@in String, @owned @callee_owned (@owned String) -> Bool) -> Bool // user: %1817
%1817 = apply %1809<[String], IndexingGenerator<Array<String>>, String, ArraySlice<String>>(%1816, %1811#1) : $@convention(method) <τ_0_0 where τ_0_0 : SequenceType, τ_0_0.Generator : GeneratorType> (@owned @callee_owned (@in τ_0_0.Generator.Element) -> Bool, @in_guaranteed τ_0_0) -> @owned Array<τ_0_0.Generator.Element> // user: %1818
store %1817 to %1808 : $*Array<String> // id: %1818
dealloc_stack %1811#0 : $*@local_storage Array<String> // id: %1819
%1820 = global_addr @_Tv4Test6anyOneP_ : $*protocol<> // users: %1821, %1840
%1821 = init_existential_addr %1820 : $*protocol<>, $String // user: %1828
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%1822 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1827
%1823 = metatype $@thin String.Type // user: %1827
%1824 = string_literal utf8 "1" // user: %1827
%1825 = integer_literal $Builtin.Word, 1 // user: %1827
%1826 = integer_literal $Builtin.Int1, -1 // user: %1827
%1827 = apply %1822(%1824, %1825, %1826, %1823) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1828
store %1827 to %1821 : $*String // id: %1828
%1829 = global_addr @_Tv4Test6anyTwoP_ : $*protocol<> // users: %1830, %1854
%1830 = init_existential_addr %1829 : $*protocol<>, $String // user: %1837
// function_ref Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
%1831 = function_ref @_TFSSCfMSSFT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1836
%1832 = metatype $@thin String.Type // user: %1836
%1833 = string_literal utf8 "99" // user: %1836
%1834 = integer_literal $Builtin.Word, 2 // user: %1836
%1835 = integer_literal $Builtin.Int1, -1 // user: %1836
%1836 = apply %1831(%1833, %1834, %1835, %1832) : $@convention(thin) (Builtin.RawPointer, Builtin.Word, Builtin.Int1, @thin String.Type) -> @owned String // user: %1837
store %1836 to %1830 : $*String // id: %1837
// function_ref static Swift.== infix <A where A: Swift.Equatable> (Swift.Optional<A>, Swift.Optional<A>) -> Swift.Bool
%1838 = function_ref @_TZFSsoi2eeuRq_Ss9Equatable_FTGSqq__GSqq___Sb : $@convention(thin) <τ_0_0 where τ_0_0 : Equatable> (@in Optional<τ_0_0>, @in Optional<τ_0_0>) -> Bool // user: %1867
%1839 = alloc_stack $protocol<> // users: %1840, %1842, %1871
copy_addr %1820 to [initialization] %1839#1 : $*protocol<> // id: %1840
%1841 = alloc_stack $Int // users: %1842, %1843, %1845, %1848
checked_cast_addr_br take_always protocol<> in %1839#1 : $*protocol<> to Int in %1841#1 : $*Int, bb91, bb92 // id: %1842
bb91: // Preds: bb90
%1843 = load %1841#1 : $*Int // user: %1844
%1844 = enum $Optional<Int>, #Optional.Some!enumelt.1, %1843 : $Int // user: %1846
dealloc_stack %1841#0 : $*@local_storage Int // id: %1845
br bb93(%1844 : $Optional<Int>) // id: %1846
bb92: // Preds: bb90
%1847 = enum $Optional<Int>, #Optional.None!enumelt // user: %1849
dealloc_stack %1841#0 : $*@local_storage Int // id: %1848
br bb93(%1847 : $Optional<Int>) // id: %1849
bb93(%1850 : $Optional<Int>): // Preds: bb91 bb92
%1851 = alloc_stack $Optional<Int> // users: %1852, %1867, %1870
store %1850 to %1851#1 : $*Optional<Int> // id: %1852
%1853 = alloc_stack $protocol<> // users: %1854, %1856, %1869
copy_addr %1829 to [initialization] %1853#1 : $*protocol<> // id: %1854
%1855 = alloc_stack $Int // users: %1856, %1857, %1859, %1862
checked_cast_addr_br take_always protocol<> in %1853#1 : $*protocol<> to Int in %1855#1 : $*Int, bb94, bb95 // id: %1856
bb94: // Preds: bb93
%1857 = load %1855#1 : $*Int // user: %1858
%1858 = enum $Optional<Int>, #Optional.Some!enumelt.1, %1857 : $Int // user: %1860
dealloc_stack %1855#0 : $*@local_storage Int // id: %1859
br bb96(%1858 : $Optional<Int>) // id: %1860
bb95: // Preds: bb93
%1861 = enum $Optional<Int>, #Optional.None!enumelt // user: %1863
dealloc_stack %1855#0 : $*@local_storage Int // id: %1862
br bb96(%1861 : $Optional<Int>) // id: %1863
bb96(%1864 : $Optional<Int>): // Preds: bb94 bb95
%1865 = alloc_stack $Optional<Int> // users: %1866, %1867, %1868
store %1864 to %1865#1 : $*Optional<Int> // id: %1866
%1867 = apply %1838<Int>(%1851#1, %1865#1) : $@convention(thin) <τ_0_0 where τ_0_0 : Equatable> (@in Optional<τ_0_0>, @in Optional<τ_0_0>) -> Bool
dealloc_stack %1865#0 : $*@local_storage Optional<Int> // id: %1868
dealloc_stack %1853#0 : $*@local_storage protocol<> // id: %1869
dealloc_stack %1851#0 : $*@local_storage Optional<Int> // id: %1870
dealloc_stack %1839#0 : $*@local_storage protocol<> // id: %1871
%1872 = integer_literal $Builtin.Int32, 0 // user: %1873
%1873 = struct $Int32 (%1872 : $Builtin.Int32) // user: %1874
return %1873 : $Int32 // id: %1874
bb97: // Preds: bb75
%1875 = enum $Optional<()>, #Optional.None!enumelt // user: %1876
br bb77(%1875 : $Optional<()>) // id: %1876
bb98: // Preds: bb72
%1877 = enum $Optional<()>, #Optional.None!enumelt // user: %1878
br bb74(%1877 : $Optional<()>) // id: %1878
bb99: // Preds: bb60
%1879 = enum $Optional<Int>, #Optional.None!enumelt // user: %1880
br bb62(%1879 : $Optional<Int>) // id: %1880
bb100: // Preds: bb57
inject_enum_addr %907 : $*Optional<Int>, #Optional.None!enumelt // id: %1881
br bb59 // id: %1882
}
0 swift 0x0000000109a0cbbb llvm::sys::PrintStackTrace(__sFILE*) + 43
1 swift 0x0000000109a0d2fb SignalHandler(int) + 379
2 libsystem_platform.dylib 0x00007fff87549f1a _sigtramp + 26
3 swift 0x0000000109ff2ac6 FirstTarget + 63582
4 swift 0x0000000109a0d0f6 abort + 22
5 swift 0x0000000107b9c079 (anonymous namespace)::SILVerifier::_require(bool, llvm::Twine const&, std::__1::function<void ()> const&) + 425
6 swift 0x0000000107bae407 (anonymous namespace)::SILVerifier::visitSILInstruction(swift::SILInstruction*) + 2135
7 swift 0x0000000107b99f9b swift::SILFunction::verify() const + 6059
8 swift 0x0000000107bddd9e swift::Lowering::SILGenModule::emitSourceFile(swift::SourceFile*, unsigned int) + 2526
9 swift 0x0000000107bde4af swift::SILModule::constructSIL(swift::ModuleDecl*, swift::SILOptions&, swift::FileUnit*, llvm::Optional<unsigned int>, bool, bool) + 991
10 swift 0x0000000107bde90b swift::performSILGeneration(swift::FileUnit&, swift::SILOptions&, llvm::Optional<unsigned int>, bool) + 123
11 swift 0x00000001079d036e performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&) + 12622
12 swift 0x00000001079ccfc8 frontend_main(llvm::ArrayRef<char const*>, char const*, void*) + 2728
13 swift 0x00000001079c902f main + 2015
14 libdyld.dylib 0x00007fff91e045c9 start + 1
Stack dump:
0. Program arguments: /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c -primary-file /Users/chris/Desktop/Test/Test/main.swift -target x86_64-apple-macosx10.10 -enable-objc-interop -sdk /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -I /Users/chris/Library/Developer/Xcode/DerivedData/Test-ewmbmifxdcvlwkbdipgafgavikju/Build/Products/Debug -F /Users/chris/Library/Developer/Xcode/DerivedData/Test-ewmbmifxdcvlwkbdipgafgavikju/Build/Products/Debug -enable-testing -g -module-cache-path /Users/chris/Library/Developer/Xcode/DerivedData/ModuleCache -serialize-debugging-options -Xcc -I/Users/chris/Library/Developer/Xcode/DerivedData/Test-ewmbmifxdcvlwkbdipgafgavikju/Build/Intermediates/Test.build/Debug/Test.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/chris/Library/Developer/Xcode/DerivedData/Test-ewmbmifxdcvlwkbdipgafgavikju/Build/Intermediates/Test.build/Debug/Test.build/Test-generated-files.hmap -Xcc -I/Users/chris/Library/Developer/Xcode/DerivedData/Test-ewmbmifxdcvlwkbdipgafgavikju/Build/Intermediates/Test.build/Debug/Test.build/Test-own-target-headers.hmap -Xcc -I/Users/chris/Library/Developer/Xcode/DerivedData/Test-ewmbmifxdcvlwkbdipgafgavikju/Build/Intermediates/Test.build/Debug/Test.build/Test-all-target-headers.hmap -Xcc -iquote -Xcc /Users/chris/Library/Developer/Xcode/DerivedData/Test-ewmbmifxdcvlwkbdipgafgavikju/Build/Intermediates/Test.build/Debug/Test.build/Test-project-headers.hmap -Xcc -I/Users/chris/Library/Developer/Xcode/DerivedData/Test-ewmbmifxdcvlwkbdipgafgavikju/Build/Products/Debug/include -Xcc -I/Users/chris/Library/Developer/Xcode/DerivedData/Test-ewmbmifxdcvlwkbdipgafgavikju/Build/Intermediates/Test.build/Debug/Test.build/DerivedSources/x86_64 -Xcc -I/Users/chris/Library/Developer/Xcode/DerivedData/Test-ewmbmifxdcvlwkbdipgafgavikju/Build/Intermediates/Test.build/Debug/Test.build/DerivedSources -Xcc -DDEBUG=1 -Xcc -working-directory/Users/chris/Desktop/Test -emit-module-doc-path /Users/chris/Library/Developer/Xcode/DerivedData/Test-ewmbmifxdcvlwkbdipgafgavikju/Build/Intermediates/Test.build/Debug/Test.build/Objects-normal/x86_64/main~partial.swiftdoc -Onone -module-name Test -emit-module-path /Users/chris/Library/Developer/Xcode/DerivedData/Test-ewmbmifxdcvlwkbdipgafgavikju/Build/Intermediates/Test.build/Debug/Test.build/Objects-normal/x86_64/main~partial.swiftmodule -serialize-diagnostics-path /Users/chris/Library/Developer/Xcode/DerivedData/Test-ewmbmifxdcvlwkbdipgafgavikju/Build/Intermediates/Test.build/Debug/Test.build/Objects-normal/x86_64/main.dia -emit-dependencies-path /Users/chris/Library/Developer/Xcode/DerivedData/Test-ewmbmifxdcvlwkbdipgafgavikju/Build/Intermediates/Test.build/Debug/Test.build/Objects-normal/x86_64/main.d -emit-reference-dependencies-path /Users/chris/Library/Developer/Xcode/DerivedData/Test-ewmbmifxdcvlwkbdipgafgavikju/Build/Intermediates/Test.build/Debug/Test.build/Objects-normal/x86_64/main.swiftdeps -o /Users/chris/Library/Developer/Xcode/DerivedData/Test-ewmbmifxdcvlwkbdipgafgavikju/Build/Intermediates/Test.build/Debug/Test.build/Objects-normal/x86_64/main.o
1. While verifying SIL function @main
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment