Created
July 28, 2018 01:28
-
-
Save dan-zheng/df35f867c471a61ec74cc69612487426 to your computer and use it in GitHub Desktop.
Unexpected send/receive, scalar promotion deficiency
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import TensorFlow | |
| func test() { | |
| for _ in 0...10 { | |
| let x = Tensor<Float>(ones: [2, 2]) | |
| _ = x.reshaped(toShape: Tensor<Int32>([4, Int32(1 * 1)])) | |
| // Alternative 1: literal `1` avoids send/receive. | |
| // _ = x.reshaped(toShape: Tensor<Int32>([4, 1])) | |
| // Alternative 2: avoiding `Int32` avoids send/receive. | |
| // let index: Int32 = 1 * 1 | |
| // _ = x.reshaped(toShape: Tensor<Int32>([4, index])) | |
| } | |
| } | |
| test() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| $ swiftc -O -Xllvm -tf-dump-intermediates unexpected-send-recv.swift | |
| --- TFDeabstraction Input: $S4main4testyyF | |
| // test() | |
| sil hidden @$S4main4testyyF : $@convention(thin) () -> () { | |
| bb0: | |
| %0 = alloc_stack $IndexingIterator<ClosedRange<Int>>, var, name "$generator" // users: %92, %24, %29 | |
| %1 = alloc_stack $ClosedRange<Int> // users: %14, %20, %26 | |
| %2 = metatype $@thin Int.Type | |
| %3 = integer_literal $Builtin.Int64, 0 // user: %4 | |
| %4 = struct $Int (%3 : $Builtin.Int64) // user: %10 | |
| %5 = integer_literal $Builtin.Int64, 10 // user: %6 | |
| %6 = struct $Int (%5 : $Builtin.Int64) // user: %12 | |
| br bb2 // id: %7 | |
| bb1: // Preds: bb3 | |
| %8 = metatype $@thin ClosedRange<Int>.Type // user: %14 | |
| %9 = alloc_stack $Int // users: %10, %16, %14 | |
| store %4 to %9 : $*Int // id: %10 | |
| %11 = alloc_stack $Int // users: %12, %15, %14 | |
| store %6 to %11 : $*Int // id: %12 | |
| // function_ref ClosedRange.init(uncheckedBounds:) | |
| %13 = function_ref @$SSN15uncheckedBoundsSNyxGx5lower_x5uppert_tcfC : $@convention(method) <τ_0_0 where τ_0_0 : Comparable> (@in τ_0_0, @in τ_0_0, @thin ClosedRange<τ_0_0>.Type) -> @out ClosedRange<τ_0_0> // user: %14 | |
| %14 = apply %13<Int>(%1, %9, %11, %8) : $@convention(method) <τ_0_0 where τ_0_0 : Comparable> (@in τ_0_0, @in τ_0_0, @thin ClosedRange<τ_0_0>.Type) -> @out ClosedRange<τ_0_0> | |
| dealloc_stack %11 : $*Int // id: %15 | |
| dealloc_stack %9 : $*Int // id: %16 | |
| br bb4 // id: %17 | |
| bb2: // Preds: bb0 | |
| br bb3 // id: %18 | |
| bb3: // Preds: bb2 | |
| br bb1 // id: %19 | |
| bb4: // Preds: bb1 | |
| %20 = load %1 : $*ClosedRange<Int> // user: %22 | |
| %21 = alloc_stack $ClosedRange<Int> // users: %22, %25, %24 | |
| store %20 to %21 : $*ClosedRange<Int> // id: %22 | |
| // function_ref Collection<>.makeIterator() | |
| %23 = function_ref @$SSlss16IndexingIteratorVyxG0B0RtzrlE04makeB0ACyF : $@convention(method) <τ_0_0 where τ_0_0 : Collection, τ_0_0.Iterator == IndexingIterator<τ_0_0>> (@in_guaranteed τ_0_0) -> @out IndexingIterator<τ_0_0> // user: %24 | |
| %24 = apply %23<ClosedRange<Int>>(%0, %21) : $@convention(method) <τ_0_0 where τ_0_0 : Collection, τ_0_0.Iterator == IndexingIterator<τ_0_0>> (@in_guaranteed τ_0_0) -> @out IndexingIterator<τ_0_0> | |
| dealloc_stack %21 : $*ClosedRange<Int> // id: %25 | |
| dealloc_stack %1 : $*ClosedRange<Int> // id: %26 | |
| br bb5 // id: %27 | |
| bb5: // Preds: bb7 bb4 | |
| %28 = alloc_stack $Optional<Int> // users: %33, %34, %31 | |
| %29 = begin_access [modify] [static] %0 : $*IndexingIterator<ClosedRange<Int>> // users: %32, %31 | |
| // function_ref IndexingIterator.next() | |
| %30 = function_ref @$Ss16IndexingIteratorV4next7ElementQzSgyF : $@convention(method) <τ_0_0 where τ_0_0 : Collection> (@inout IndexingIterator<τ_0_0>) -> @out Optional<τ_0_0.Element> // user: %31 | |
| %31 = apply %30<ClosedRange<Int>>(%28, %29) : $@convention(method) <τ_0_0 where τ_0_0 : Collection> (@inout IndexingIterator<τ_0_0>) -> @out Optional<τ_0_0.Element> | |
| end_access %29 : $*IndexingIterator<ClosedRange<Int>> // id: %32 | |
| %33 = load %28 : $*Optional<Int> // user: %35 | |
| dealloc_stack %28 : $*Optional<Int> // id: %34 | |
| switch_enum %33 : $Optional<Int>, case #Optional.some!enumelt.1: bb7, case #Optional.none!enumelt: bb6 // id: %35 | |
| bb6: // Preds: bb5 | |
| br bb8 // id: %36 | |
| bb7(%37 : $Int): // Preds: bb5 | |
| %38 = metatype $@thin Tensor<Float>.Type // user: %59 | |
| %39 = metatype $@thin TensorShape.Type // user: %57 | |
| %40 = integer_literal $Builtin.Word, 2 // user: %42 | |
| // function_ref _allocateUninitializedArray<A>(_:) | |
| %41 = function_ref @$Ss27_allocateUninitializedArrayySayxG_BptBwlF : $@convention(thin) <τ_0_0> (Builtin.Word) -> (@owned Array<τ_0_0>, Builtin.RawPointer) // user: %42 | |
| %42 = apply %41<Int32>(%40) : $@convention(thin) <τ_0_0> (Builtin.Word) -> (@owned Array<τ_0_0>, Builtin.RawPointer) // users: %46, %43, %45 | |
| %43 = tuple_extract %42 : $(Array<Int32>, Builtin.RawPointer), 0 // users: %57, %44 | |
| retain_value %43 : $Array<Int32> // id: %44 | |
| %45 = tuple_extract %42 : $(Array<Int32>, Builtin.RawPointer), 1 // user: %47 | |
| release_value %42 : $(Array<Int32>, Builtin.RawPointer) // id: %46 | |
| %47 = pointer_to_address %45 : $Builtin.RawPointer to [strict] $*Int32 // users: %50, %52 | |
| %48 = integer_literal $Builtin.Int32, 2 // user: %49 | |
| %49 = struct $Int32 (%48 : $Builtin.Int32) // user: %50 | |
| store %49 to %47 : $*Int32 // id: %50 | |
| %51 = integer_literal $Builtin.Word, 1 // user: %52 | |
| %52 = index_addr %47 : $*Int32, %51 : $Builtin.Word // user: %55 | |
| %53 = integer_literal $Builtin.Int32, 2 // user: %54 | |
| %54 = struct $Int32 (%53 : $Builtin.Int32) // user: %55 | |
| store %54 to %52 : $*Int32 // id: %55 | |
| // function_ref TensorShape.init(arrayLiteral:) | |
| %56 = function_ref @$S10TensorFlow0A5ShapeV12arrayLiteralACs5Int32Vd_tcfC : $@convention(method) (@owned Array<Int32>, @thin TensorShape.Type) -> @owned TensorShape // user: %57 | |
| %57 = apply %56(%43, %39) : $@convention(method) (@owned Array<Int32>, @thin TensorShape.Type) -> @owned TensorShape // user: %59 | |
| // function_ref Tensor<>.init(ones:) | |
| %58 = function_ref @$S10TensorFlow0A0VAASjRzrlE4onesACyxGAA0A5ShapeV_tcfC : $@convention(method) <τ_0_0 where τ_0_0 : Numeric, τ_0_0 : AccelerableByTensorFlow> (@owned TensorShape, @thin Tensor<τ_0_0>.Type) -> @owned Tensor<τ_0_0> // user: %59 | |
| %59 = apply %58<Float>(%57, %38) : $@convention(method) <τ_0_0 where τ_0_0 : Numeric, τ_0_0 : AccelerableByTensorFlow> (@owned TensorShape, @thin Tensor<τ_0_0>.Type) -> @owned Tensor<τ_0_0> // users: %90, %87, %60 | |
| debug_value %59 : $Tensor<Float>, let, name "x" // id: %60 | |
| %61 = metatype $@thin Tensor<Int32>.Type // user: %85 | |
| %62 = integer_literal $Builtin.Word, 2 // user: %64 | |
| // function_ref _allocateUninitializedArray<A>(_:) | |
| %63 = function_ref @$Ss27_allocateUninitializedArrayySayxG_BptBwlF : $@convention(thin) <τ_0_0> (Builtin.Word) -> (@owned Array<τ_0_0>, Builtin.RawPointer) // user: %64 | |
| %64 = apply %63<Int32>(%62) : $@convention(thin) <τ_0_0> (Builtin.Word) -> (@owned Array<τ_0_0>, Builtin.RawPointer) // users: %68, %65, %67 | |
| %65 = tuple_extract %64 : $(Array<Int32>, Builtin.RawPointer), 0 // users: %85, %66 | |
| retain_value %65 : $Array<Int32> // id: %66 | |
| %67 = tuple_extract %64 : $(Array<Int32>, Builtin.RawPointer), 1 // user: %69 | |
| release_value %64 : $(Array<Int32>, Builtin.RawPointer) // id: %68 | |
| %69 = pointer_to_address %67 : $Builtin.RawPointer to [strict] $*Int32 // users: %72, %74 | |
| %70 = integer_literal $Builtin.Int32, 4 // user: %71 | |
| %71 = struct $Int32 (%70 : $Builtin.Int32) // user: %72 | |
| store %71 to %69 : $*Int32 // id: %72 | |
| %73 = integer_literal $Builtin.Word, 1 // user: %74 | |
| %74 = index_addr %69 : $*Int32, %73 : $Builtin.Word // user: %82 | |
| %75 = metatype $@thin Int32.Type | |
| %76 = metatype $@thick Int32.Type // user: %82 | |
| %77 = integer_literal $Builtin.Int64, 1 // user: %78 | |
| %78 = struct $Int (%77 : $Builtin.Int64) // user: %80 | |
| %79 = alloc_stack $Int // users: %80, %83, %82 | |
| store %78 to %79 : $*Int // id: %80 | |
| // function_ref SignedInteger<>.init<A>(_:) | |
| %81 = function_ref @$SSZss17FixedWidthIntegerRzrlEyxqd__cSzRd__lufC : $@convention(method) <τ_0_0 where τ_0_0 : FixedWidthInteger, τ_0_0 : SignedInteger><τ_1_0 where τ_1_0 : BinaryInteger> (@in τ_1_0, @thick τ_0_0.Type) -> @out τ_0_0 // user: %82 | |
| %82 = apply %81<Int32, Int>(%74, %79, %76) : $@convention(method) <τ_0_0 where τ_0_0 : FixedWidthInteger, τ_0_0 : SignedInteger><τ_1_0 where τ_1_0 : BinaryInteger> (@in τ_1_0, @thick τ_0_0.Type) -> @out τ_0_0 | |
| dealloc_stack %79 : $*Int // id: %83 | |
| // function_ref Tensor.init(_:) | |
| %84 = function_ref @$S10TensorFlow0A0VyACyxGSayxGcfC : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@owned Array<τ_0_0>, @thin Tensor<τ_0_0>.Type) -> @owned Tensor<τ_0_0> // user: %85 | |
| %85 = apply %84<Int32>(%65, %61) : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@owned Array<τ_0_0>, @thin Tensor<τ_0_0>.Type) -> @owned Tensor<τ_0_0> // users: %88, %87 | |
| // function_ref Tensor.reshaped(toShape:) | |
| %86 = function_ref @$S10TensorFlow0A0V8reshaped7toShapeACyxGACys5Int32VG_tF : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Tensor<Int32>, @guaranteed Tensor<τ_0_0>) -> @owned Tensor<τ_0_0> // user: %87 | |
| %87 = apply %86<Float>(%85, %59) : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Tensor<Int32>, @guaranteed Tensor<τ_0_0>) -> @owned Tensor<τ_0_0> // user: %89 | |
| release_value %85 : $Tensor<Int32> // id: %88 | |
| release_value %87 : $Tensor<Float> // id: %89 | |
| release_value %59 : $Tensor<Float> // id: %90 | |
| br bb5 // id: %91 | |
| bb8: // Preds: bb6 | |
| dealloc_stack %0 : $*IndexingIterator<ClosedRange<Int>> // id: %92 | |
| %93 = tuple () // user: %94 | |
| return %93 : $() // id: %94 | |
| } // end sil function '$S4main4testyyF' | |
| ---- | |
| --- TFDeabstraction Result: $S4main4testyyF | |
| // test() | |
| sil hidden @$S4main4testyyF : $@convention(thin) () -> () { | |
| bb0: | |
| %0 = alloc_stack $IndexingIterator<ClosedRange<Int>>, var, name "$generator" // users: %171, %23, %28 | |
| %1 = alloc_stack $ClosedRange<Int> // users: %13, %19, %25 | |
| %2 = integer_literal $Builtin.Int64, 0 // user: %3 | |
| %3 = struct $Int (%2 : $Builtin.Int64) // user: %9 | |
| %4 = integer_literal $Builtin.Int64, 10 // user: %5 | |
| %5 = struct $Int (%4 : $Builtin.Int64) // user: %11 | |
| br bb2 // id: %6 | |
| bb1: // Preds: bb3 | |
| %7 = metatype $@thin ClosedRange<Int>.Type // user: %13 | |
| %8 = alloc_stack $Int // users: %9, %15, %13 | |
| store %3 to %8 : $*Int // id: %9 | |
| %10 = alloc_stack $Int // users: %11, %14, %13 | |
| store %5 to %10 : $*Int // id: %11 | |
| // function_ref ClosedRange.init(uncheckedBounds:) | |
| %12 = function_ref @$SSN15uncheckedBoundsSNyxGx5lower_x5uppert_tcfC : $@convention(method) <τ_0_0 where τ_0_0 : Comparable> (@in τ_0_0, @in τ_0_0, @thin ClosedRange<τ_0_0>.Type) -> @out ClosedRange<τ_0_0> // user: %13 | |
| %13 = apply %12<Int>(%1, %8, %10, %7) : $@convention(method) <τ_0_0 where τ_0_0 : Comparable> (@in τ_0_0, @in τ_0_0, @thin ClosedRange<τ_0_0>.Type) -> @out ClosedRange<τ_0_0> | |
| dealloc_stack %10 : $*Int // id: %14 | |
| dealloc_stack %8 : $*Int // id: %15 | |
| br bb4 // id: %16 | |
| bb2: // Preds: bb0 | |
| br bb3 // id: %17 | |
| bb3: // Preds: bb2 | |
| br bb1 // id: %18 | |
| bb4: // Preds: bb1 | |
| %19 = load %1 : $*ClosedRange<Int> // user: %21 | |
| %20 = alloc_stack $ClosedRange<Int> // users: %21, %24, %23 | |
| store %19 to %20 : $*ClosedRange<Int> // id: %21 | |
| // function_ref Collection<>.makeIterator() | |
| %22 = function_ref @$SSlss16IndexingIteratorVyxG0B0RtzrlE04makeB0ACyF : $@convention(method) <τ_0_0 where τ_0_0 : Collection, τ_0_0.Iterator == IndexingIterator<τ_0_0>> (@in_guaranteed τ_0_0) -> @out IndexingIterator<τ_0_0> // user: %23 | |
| %23 = apply %22<ClosedRange<Int>>(%0, %20) : $@convention(method) <τ_0_0 where τ_0_0 : Collection, τ_0_0.Iterator == IndexingIterator<τ_0_0>> (@in_guaranteed τ_0_0) -> @out IndexingIterator<τ_0_0> | |
| dealloc_stack %20 : $*ClosedRange<Int> // id: %24 | |
| dealloc_stack %1 : $*ClosedRange<Int> // id: %25 | |
| br bb5 // id: %26 | |
| bb5: // Preds: bb7 bb4 | |
| %27 = alloc_stack $Optional<Int> // users: %32, %33, %30 | |
| %28 = begin_access [modify] [static] %0 : $*IndexingIterator<ClosedRange<Int>> // users: %31, %30 | |
| // function_ref IndexingIterator.next() | |
| %29 = function_ref @$Ss16IndexingIteratorV4next7ElementQzSgyF : $@convention(method) <τ_0_0 where τ_0_0 : Collection> (@inout IndexingIterator<τ_0_0>) -> @out Optional<τ_0_0.Element> // user: %30 | |
| %30 = apply %29<ClosedRange<Int>>(%27, %28) : $@convention(method) <τ_0_0 where τ_0_0 : Collection> (@inout IndexingIterator<τ_0_0>) -> @out Optional<τ_0_0.Element> | |
| end_access %28 : $*IndexingIterator<ClosedRange<Int>> // id: %31 | |
| %32 = load %27 : $*Optional<Int> // user: %34 | |
| dealloc_stack %27 : $*Optional<Int> // id: %33 | |
| switch_enum %32 : $Optional<Int>, case #Optional.some!enumelt.1: bb7, case #Optional.none!enumelt: bb6 // id: %34 | |
| bb6: // Preds: bb5 | |
| br bb8 // id: %35 | |
| bb7(%36 : $Int): // Preds: bb5 | |
| %37 = metatype $@thin TensorShape.Type // user: %55 | |
| %38 = integer_literal $Builtin.Word, 2 // user: %40 | |
| // function_ref _allocateUninitializedArray<A>(_:) | |
| %39 = function_ref @$Ss27_allocateUninitializedArrayySayxG_BptBwlF : $@convention(thin) <τ_0_0> (Builtin.Word) -> (@owned Array<τ_0_0>, Builtin.RawPointer) // user: %40 | |
| %40 = apply %39<Int32>(%38) : $@convention(thin) <τ_0_0> (Builtin.Word) -> (@owned Array<τ_0_0>, Builtin.RawPointer) // users: %44, %41, %43 | |
| %41 = tuple_extract %40 : $(Array<Int32>, Builtin.RawPointer), 0 // users: %55, %42 | |
| retain_value %41 : $Array<Int32> // id: %42 | |
| %43 = tuple_extract %40 : $(Array<Int32>, Builtin.RawPointer), 1 // user: %45 | |
| release_value %40 : $(Array<Int32>, Builtin.RawPointer) // id: %44 | |
| %45 = pointer_to_address %43 : $Builtin.RawPointer to [strict] $*Int32 // users: %48, %50 | |
| %46 = integer_literal $Builtin.Int32, 2 // user: %47 | |
| %47 = struct $Int32 (%46 : $Builtin.Int32) // user: %48 | |
| store %47 to %45 : $*Int32 // id: %48 | |
| %49 = integer_literal $Builtin.Word, 1 // user: %50 | |
| %50 = index_addr %45 : $*Int32, %49 : $Builtin.Word // user: %53 | |
| %51 = integer_literal $Builtin.Int32, 2 // user: %52 | |
| %52 = struct $Int32 (%51 : $Builtin.Int32) // user: %53 | |
| store %52 to %50 : $*Int32 // id: %53 | |
| // function_ref TensorShape.init(arrayLiteral:) | |
| %54 = function_ref @$S10TensorFlow0A5ShapeV12arrayLiteralACs5Int32Vd_tcfC : $@convention(method) (@owned Array<Int32>, @thin TensorShape.Type) -> @owned TensorShape // user: %55 | |
| %55 = apply %54(%41, %37) : $@convention(method) (@owned Array<Int32>, @thin TensorShape.Type) -> @owned TensorShape // users: %116, %112, %67, %56 | |
| retain_value %55 : $TensorShape // id: %56 | |
| %57 = alloc_stack $Float // users: %81, %65, %114 | |
| %58 = metatype $@thick Float.Type // user: %65 | |
| %59 = alloc_stack $Int64 // users: %65, %63, %66 | |
| %60 = metatype $@thick Int64.Type // user: %63 | |
| %61 = integer_literal $Builtin.Int2048, 1 // user: %63 | |
| // function_ref protocol witness for _ExpressibleByBuiltinIntegerLiteral.init(_builtinIntegerLiteral:) in conformance Int64 | |
| %62 = function_ref @$Ss5Int64Vs35_ExpressibleByBuiltinIntegerLiteralssACP08_builtineF0xBi2048__tcfCTW : $@convention(witness_method: _ExpressibleByBuiltinIntegerLiteral) (Builtin.Int2048, @thick Int64.Type) -> @out Int64 // user: %63 | |
| %63 = apply %62(%59, %61, %60) : $@convention(witness_method: _ExpressibleByBuiltinIntegerLiteral) (Builtin.Int2048, @thick Int64.Type) -> @out Int64 | |
| // function_ref protocol witness for ExpressibleByIntegerLiteral.init(integerLiteral:) in conformance Float | |
| %64 = function_ref @$SSfs27ExpressibleByIntegerLiteralssAAP07integerD0x0cD4TypeQz_tcfCTW : $@convention(witness_method: ExpressibleByIntegerLiteral) (@in Int64, @thick Float.Type) -> @out Float // user: %65 | |
| %65 = apply %64(%57, %59, %58) : $@convention(witness_method: ExpressibleByIntegerLiteral) (@in Int64, @thick Float.Type) -> @out Float | |
| dealloc_stack %59 : $*Int64 // id: %66 | |
| %67 = struct_extract %55 : $TensorShape, #TensorShape.dimensions // users: %79, %68 | |
| retain_value %67 : $Array<Int32> // id: %68 | |
| %69 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // users: %96, %72, %73, %78, %80, %94, %98, %110 | |
| %70 = alloc_stack $Tensor<Int32> // users: %71, %74, %77 | |
| %71 = struct_element_addr %70 : $*Tensor<Int32>, #Tensor.handle // user: %72 | |
| store %69 to %71 : $*TensorHandle<Int32> // id: %72 | |
| strong_retain %69 : $TensorHandle<Int32> // id: %73 | |
| %74 = load %70 : $*Tensor<Int32> // user: %75 | |
| %75 = struct_extract %74 : $Tensor<Int32>, #Tensor.handle // user: %76 | |
| strong_release %75 : $TensorHandle<Int32> // id: %76 | |
| dealloc_stack %70 : $*Tensor<Int32> // id: %77 | |
| strong_retain %69 : $TensorHandle<Int32> // id: %78 | |
| release_value %67 : $Array<Int32> // id: %79 | |
| strong_release %69 : $TensorHandle<Int32> // id: %80 | |
| %81 = load %57 : $*Float // user: %82 | |
| %82 = struct_extract %81 : $Float, #Float._value // user: %83 | |
| %83 = graph_op "tfc.scalarToTensor,s"(%82 : $Builtin.FPIEEE32) {__device: "/device:CPU:0"} : $TensorHandle<Float> // users: %96, %86, %87, %92, %93, %95, %97, %109 | |
| %84 = alloc_stack $Tensor<Float> // users: %85, %88, %91 | |
| %85 = struct_element_addr %84 : $*Tensor<Float>, #Tensor.handle // user: %86 | |
| store %83 to %85 : $*TensorHandle<Float> // id: %86 | |
| strong_retain %83 : $TensorHandle<Float> // id: %87 | |
| %88 = load %84 : $*Tensor<Float> // user: %89 | |
| %89 = struct_extract %88 : $Tensor<Float>, #Tensor.handle // user: %90 | |
| strong_release %89 : $TensorHandle<Float> // id: %90 | |
| dealloc_stack %84 : $*Tensor<Float> // id: %91 | |
| strong_retain %83 : $TensorHandle<Float> // id: %92 | |
| strong_release %83 : $TensorHandle<Float> // id: %93 | |
| strong_retain %69 : $TensorHandle<Int32> // id: %94 | |
| strong_retain %83 : $TensorHandle<Float> // id: %95 | |
| %96 = graph_op "Fill,i,i"(%69 : $TensorHandle<Int32>, %83 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // users: %154, %102, %99, %103, %108, %111, %113, %115, %117, %152, %156, %169 | |
| strong_release %83 : $TensorHandle<Float> // id: %97 | |
| strong_release %69 : $TensorHandle<Int32> // id: %98 | |
| strong_retain %96 : $TensorHandle<Float> // id: %99 | |
| %100 = alloc_stack $Tensor<Float> // users: %101, %104, %107 | |
| %101 = struct_element_addr %100 : $*Tensor<Float>, #Tensor.handle // user: %102 | |
| store %96 to %101 : $*TensorHandle<Float> // id: %102 | |
| strong_retain %96 : $TensorHandle<Float> // id: %103 | |
| %104 = load %100 : $*Tensor<Float> // user: %105 | |
| %105 = struct_extract %104 : $Tensor<Float>, #Tensor.handle // user: %106 | |
| strong_release %105 : $TensorHandle<Float> // id: %106 | |
| dealloc_stack %100 : $*Tensor<Float> // id: %107 | |
| strong_release %96 : $TensorHandle<Float> // id: %108 | |
| strong_release %83 : $TensorHandle<Float> // id: %109 | |
| strong_release %69 : $TensorHandle<Int32> // id: %110 | |
| strong_retain %96 : $TensorHandle<Float> // id: %111 | |
| release_value %55 : $TensorShape // id: %112 | |
| strong_release %96 : $TensorHandle<Float> // id: %113 | |
| dealloc_stack %57 : $*Float // id: %114 | |
| strong_retain %96 : $TensorHandle<Float> // id: %115 | |
| release_value %55 : $TensorShape // id: %116 | |
| strong_release %96 : $TensorHandle<Float> // id: %117 | |
| %118 = integer_literal $Builtin.Word, 2 // user: %120 | |
| // function_ref _allocateUninitializedArray<A>(_:) | |
| %119 = function_ref @$Ss27_allocateUninitializedArrayySayxG_BptBwlF : $@convention(thin) <τ_0_0> (Builtin.Word) -> (@owned Array<τ_0_0>, Builtin.RawPointer) // user: %120 | |
| %120 = apply %119<Int32>(%118) : $@convention(thin) <τ_0_0> (Builtin.Word) -> (@owned Array<τ_0_0>, Builtin.RawPointer) // users: %124, %121, %123 | |
| %121 = tuple_extract %120 : $(Array<Int32>, Builtin.RawPointer), 0 // users: %140, %150, %122 | |
| retain_value %121 : $Array<Int32> // id: %122 | |
| %123 = tuple_extract %120 : $(Array<Int32>, Builtin.RawPointer), 1 // user: %125 | |
| release_value %120 : $(Array<Int32>, Builtin.RawPointer) // id: %124 | |
| %125 = pointer_to_address %123 : $Builtin.RawPointer to [strict] $*Int32 // users: %128, %130 | |
| %126 = integer_literal $Builtin.Int32, 4 // user: %127 | |
| %127 = struct $Int32 (%126 : $Builtin.Int32) // user: %128 | |
| store %127 to %125 : $*Int32 // id: %128 | |
| %129 = integer_literal $Builtin.Word, 1 // user: %130 | |
| %130 = index_addr %125 : $*Int32, %129 : $Builtin.Word // user: %137 | |
| %131 = metatype $@thick Int32.Type // user: %137 | |
| %132 = integer_literal $Builtin.Int64, 1 // user: %133 | |
| %133 = struct $Int (%132 : $Builtin.Int64) // user: %135 | |
| %134 = alloc_stack $Int // users: %135, %138, %137 | |
| store %133 to %134 : $*Int // id: %135 | |
| // function_ref SignedInteger<>.init<A>(_:) | |
| %136 = function_ref @$SSZss17FixedWidthIntegerRzrlEyxqd__cSzRd__lufC : $@convention(method) <τ_0_0 where τ_0_0 : FixedWidthInteger, τ_0_0 : SignedInteger><τ_1_0 where τ_1_0 : BinaryInteger> (@in τ_1_0, @thick τ_0_0.Type) -> @out τ_0_0 // user: %137 | |
| %137 = apply %136<Int32, Int>(%130, %134, %131) : $@convention(method) <τ_0_0 where τ_0_0 : FixedWidthInteger, τ_0_0 : SignedInteger><τ_1_0 where τ_1_0 : BinaryInteger> (@in τ_1_0, @thick τ_0_0.Type) -> @out τ_0_0 | |
| dealloc_stack %134 : $*Int // id: %138 | |
| // function_ref __tf_tensor_from_scalars_1d | |
| %139 = function_ref @__tf_tensor_from_scalars_1d : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // user: %140 | |
| %140 = apply %139<Int32>(%121) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %154, %167, %155, %153, %151, %149, %144, %143 | |
| %141 = alloc_stack $Tensor<Int32> // users: %142, %145, %148 | |
| %142 = struct_element_addr %141 : $*Tensor<Int32>, #Tensor.handle // user: %143 | |
| store %140 to %142 : $*TensorHandle<Int32> // id: %143 | |
| strong_retain %140 : $TensorHandle<Int32> // id: %144 | |
| %145 = load %141 : $*Tensor<Int32> // user: %146 | |
| %146 = struct_extract %145 : $Tensor<Int32>, #Tensor.handle // user: %147 | |
| strong_release %146 : $TensorHandle<Int32> // id: %147 | |
| dealloc_stack %141 : $*Tensor<Int32> // id: %148 | |
| strong_retain %140 : $TensorHandle<Int32> // id: %149 | |
| release_value %121 : $Array<Int32> // id: %150 | |
| strong_release %140 : $TensorHandle<Int32> // id: %151 | |
| strong_retain %96 : $TensorHandle<Float> // id: %152 | |
| strong_retain %140 : $TensorHandle<Int32> // id: %153 | |
| %154 = graph_op "Reshape,i,i"(%96 : $TensorHandle<Float>, %140 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // users: %160, %157, %161, %166, %168 | |
| strong_release %140 : $TensorHandle<Int32> // id: %155 | |
| strong_release %96 : $TensorHandle<Float> // id: %156 | |
| strong_retain %154 : $TensorHandle<Float> // id: %157 | |
| %158 = alloc_stack $Tensor<Float> // users: %159, %162, %165 | |
| %159 = struct_element_addr %158 : $*Tensor<Float>, #Tensor.handle // user: %160 | |
| store %154 to %159 : $*TensorHandle<Float> // id: %160 | |
| strong_retain %154 : $TensorHandle<Float> // id: %161 | |
| %162 = load %158 : $*Tensor<Float> // user: %163 | |
| %163 = struct_extract %162 : $Tensor<Float>, #Tensor.handle // user: %164 | |
| strong_release %163 : $TensorHandle<Float> // id: %164 | |
| dealloc_stack %158 : $*Tensor<Float> // id: %165 | |
| strong_release %154 : $TensorHandle<Float> // id: %166 | |
| strong_release %140 : $TensorHandle<Int32> // id: %167 | |
| strong_release %154 : $TensorHandle<Float> // id: %168 | |
| strong_release %96 : $TensorHandle<Float> // id: %169 | |
| br bb5 // id: %170 | |
| bb8: // Preds: bb6 | |
| dealloc_stack %0 : $*IndexingIterator<ClosedRange<Int>> // id: %171 | |
| %172 = tuple () // user: %173 | |
| return %172 : $() // id: %173 | |
| } // end sil function '$S4main4testyyF' | |
| ---- | |
| ---- INPUT FUNCTION $S4main4testyyF ---------- | |
| // test() | |
| sil hidden @$S4main4testyyF : $@convention(thin) () -> () { | |
| bb0: | |
| %0 = integer_literal $Builtin.Int64, 1 // user: %1 | |
| %1 = builtin "sitofp_Int64_FPIEEE32"(%0 : $Builtin.Int64) : $Builtin.FPIEEE32 // users: %174, %157, %140, %123, %106, %89, %72, %55, %38, %4, %21 | |
| // function_ref __tf_tensor_from_scalars_1d | |
| %2 = function_ref @__tf_tensor_from_scalars_1d : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %184, %167, %150, %133, %116, %99, %82, %65, %48, %14, %31 | |
| %3 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // users: %7, %5 | |
| %4 = graph_op "tfc.scalarToTensor,s"(%1 : $Builtin.FPIEEE32) {__device: "/device:CPU:0"} : $TensorHandle<Float> // users: %6, %5 | |
| %5 = graph_op "Fill,i,i"(%3 : $TensorHandle<Int32>, %4 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // users: %19, %16 | |
| strong_release %4 : $TensorHandle<Float> // id: %6 | |
| strong_release %3 : $TensorHandle<Int32> // id: %7 | |
| %8 = global_value @$S4main4testyyFTv_ : $_ContiguousArrayStorage<Int32> // users: %15, %10, %9 | |
| strong_retain %8 : $_ContiguousArrayStorage<Int32> // id: %9 | |
| %10 = unchecked_ref_cast %8 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %11 | |
| %11 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%10 : $Builtin.BridgeObject) // user: %12 | |
| %12 = struct $_ArrayBuffer<Int32> (%11 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %13 | |
| %13 = struct $Array<Int32> (%12 : $_ArrayBuffer<Int32>) // user: %14 | |
| %14 = apply %2<Int32>(%13) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %17, %16 | |
| strong_release %8 : $_ContiguousArrayStorage<Int32> // id: %15 | |
| %16 = graph_op "Reshape,i,i"(%5 : $TensorHandle<Float>, %14 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %18 | |
| strong_release %14 : $TensorHandle<Int32> // id: %17 | |
| strong_release %16 : $TensorHandle<Float> // id: %18 | |
| strong_release %5 : $TensorHandle<Float> // id: %19 | |
| %20 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // users: %24, %22 | |
| %21 = graph_op "tfc.scalarToTensor,s"(%1 : $Builtin.FPIEEE32) {__device: "/device:CPU:0"} : $TensorHandle<Float> // users: %23, %22 | |
| %22 = graph_op "Fill,i,i"(%20 : $TensorHandle<Int32>, %21 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // users: %36, %33 | |
| strong_release %21 : $TensorHandle<Float> // id: %23 | |
| strong_release %20 : $TensorHandle<Int32> // id: %24 | |
| %25 = global_value @$S4main4testyyFTv0_ : $_ContiguousArrayStorage<Int32> // users: %32, %27, %26 | |
| strong_retain %25 : $_ContiguousArrayStorage<Int32> // id: %26 | |
| %27 = unchecked_ref_cast %25 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %28 | |
| %28 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%27 : $Builtin.BridgeObject) // user: %29 | |
| %29 = struct $_ArrayBuffer<Int32> (%28 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %30 | |
| %30 = struct $Array<Int32> (%29 : $_ArrayBuffer<Int32>) // user: %31 | |
| %31 = apply %2<Int32>(%30) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %34, %33 | |
| strong_release %25 : $_ContiguousArrayStorage<Int32> // id: %32 | |
| %33 = graph_op "Reshape,i,i"(%22 : $TensorHandle<Float>, %31 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %35 | |
| strong_release %31 : $TensorHandle<Int32> // id: %34 | |
| strong_release %33 : $TensorHandle<Float> // id: %35 | |
| strong_release %22 : $TensorHandle<Float> // id: %36 | |
| %37 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // users: %41, %39 | |
| %38 = graph_op "tfc.scalarToTensor,s"(%1 : $Builtin.FPIEEE32) {__device: "/device:CPU:0"} : $TensorHandle<Float> // users: %40, %39 | |
| %39 = graph_op "Fill,i,i"(%37 : $TensorHandle<Int32>, %38 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // users: %53, %50 | |
| strong_release %38 : $TensorHandle<Float> // id: %40 | |
| strong_release %37 : $TensorHandle<Int32> // id: %41 | |
| %42 = global_value @$S4main4testyyFTv1_ : $_ContiguousArrayStorage<Int32> // users: %49, %44, %43 | |
| strong_retain %42 : $_ContiguousArrayStorage<Int32> // id: %43 | |
| %44 = unchecked_ref_cast %42 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %45 | |
| %45 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%44 : $Builtin.BridgeObject) // user: %46 | |
| %46 = struct $_ArrayBuffer<Int32> (%45 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %47 | |
| %47 = struct $Array<Int32> (%46 : $_ArrayBuffer<Int32>) // user: %48 | |
| %48 = apply %2<Int32>(%47) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %51, %50 | |
| strong_release %42 : $_ContiguousArrayStorage<Int32> // id: %49 | |
| %50 = graph_op "Reshape,i,i"(%39 : $TensorHandle<Float>, %48 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %52 | |
| strong_release %48 : $TensorHandle<Int32> // id: %51 | |
| strong_release %50 : $TensorHandle<Float> // id: %52 | |
| strong_release %39 : $TensorHandle<Float> // id: %53 | |
| %54 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // users: %58, %56 | |
| %55 = graph_op "tfc.scalarToTensor,s"(%1 : $Builtin.FPIEEE32) {__device: "/device:CPU:0"} : $TensorHandle<Float> // users: %57, %56 | |
| %56 = graph_op "Fill,i,i"(%54 : $TensorHandle<Int32>, %55 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // users: %70, %67 | |
| strong_release %55 : $TensorHandle<Float> // id: %57 | |
| strong_release %54 : $TensorHandle<Int32> // id: %58 | |
| %59 = global_value @$S4main4testyyFTv2_ : $_ContiguousArrayStorage<Int32> // users: %66, %61, %60 | |
| strong_retain %59 : $_ContiguousArrayStorage<Int32> // id: %60 | |
| %61 = unchecked_ref_cast %59 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %62 | |
| %62 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%61 : $Builtin.BridgeObject) // user: %63 | |
| %63 = struct $_ArrayBuffer<Int32> (%62 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %64 | |
| %64 = struct $Array<Int32> (%63 : $_ArrayBuffer<Int32>) // user: %65 | |
| %65 = apply %2<Int32>(%64) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %68, %67 | |
| strong_release %59 : $_ContiguousArrayStorage<Int32> // id: %66 | |
| %67 = graph_op "Reshape,i,i"(%56 : $TensorHandle<Float>, %65 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %69 | |
| strong_release %65 : $TensorHandle<Int32> // id: %68 | |
| strong_release %67 : $TensorHandle<Float> // id: %69 | |
| strong_release %56 : $TensorHandle<Float> // id: %70 | |
| %71 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // users: %75, %73 | |
| %72 = graph_op "tfc.scalarToTensor,s"(%1 : $Builtin.FPIEEE32) {__device: "/device:CPU:0"} : $TensorHandle<Float> // users: %74, %73 | |
| %73 = graph_op "Fill,i,i"(%71 : $TensorHandle<Int32>, %72 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // users: %87, %84 | |
| strong_release %72 : $TensorHandle<Float> // id: %74 | |
| strong_release %71 : $TensorHandle<Int32> // id: %75 | |
| %76 = global_value @$S4main4testyyFTv3_ : $_ContiguousArrayStorage<Int32> // users: %83, %78, %77 | |
| strong_retain %76 : $_ContiguousArrayStorage<Int32> // id: %77 | |
| %78 = unchecked_ref_cast %76 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %79 | |
| %79 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%78 : $Builtin.BridgeObject) // user: %80 | |
| %80 = struct $_ArrayBuffer<Int32> (%79 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %81 | |
| %81 = struct $Array<Int32> (%80 : $_ArrayBuffer<Int32>) // user: %82 | |
| %82 = apply %2<Int32>(%81) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %85, %84 | |
| strong_release %76 : $_ContiguousArrayStorage<Int32> // id: %83 | |
| %84 = graph_op "Reshape,i,i"(%73 : $TensorHandle<Float>, %82 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %86 | |
| strong_release %82 : $TensorHandle<Int32> // id: %85 | |
| strong_release %84 : $TensorHandle<Float> // id: %86 | |
| strong_release %73 : $TensorHandle<Float> // id: %87 | |
| %88 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // users: %92, %90 | |
| %89 = graph_op "tfc.scalarToTensor,s"(%1 : $Builtin.FPIEEE32) {__device: "/device:CPU:0"} : $TensorHandle<Float> // users: %91, %90 | |
| %90 = graph_op "Fill,i,i"(%88 : $TensorHandle<Int32>, %89 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // users: %104, %101 | |
| strong_release %89 : $TensorHandle<Float> // id: %91 | |
| strong_release %88 : $TensorHandle<Int32> // id: %92 | |
| %93 = global_value @$S4main4testyyFTv4_ : $_ContiguousArrayStorage<Int32> // users: %100, %95, %94 | |
| strong_retain %93 : $_ContiguousArrayStorage<Int32> // id: %94 | |
| %95 = unchecked_ref_cast %93 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %96 | |
| %96 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%95 : $Builtin.BridgeObject) // user: %97 | |
| %97 = struct $_ArrayBuffer<Int32> (%96 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %98 | |
| %98 = struct $Array<Int32> (%97 : $_ArrayBuffer<Int32>) // user: %99 | |
| %99 = apply %2<Int32>(%98) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %102, %101 | |
| strong_release %93 : $_ContiguousArrayStorage<Int32> // id: %100 | |
| %101 = graph_op "Reshape,i,i"(%90 : $TensorHandle<Float>, %99 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %103 | |
| strong_release %99 : $TensorHandle<Int32> // id: %102 | |
| strong_release %101 : $TensorHandle<Float> // id: %103 | |
| strong_release %90 : $TensorHandle<Float> // id: %104 | |
| %105 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // users: %109, %107 | |
| %106 = graph_op "tfc.scalarToTensor,s"(%1 : $Builtin.FPIEEE32) {__device: "/device:CPU:0"} : $TensorHandle<Float> // users: %108, %107 | |
| %107 = graph_op "Fill,i,i"(%105 : $TensorHandle<Int32>, %106 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // users: %121, %118 | |
| strong_release %106 : $TensorHandle<Float> // id: %108 | |
| strong_release %105 : $TensorHandle<Int32> // id: %109 | |
| %110 = global_value @$S4main4testyyFTv5_ : $_ContiguousArrayStorage<Int32> // users: %117, %112, %111 | |
| strong_retain %110 : $_ContiguousArrayStorage<Int32> // id: %111 | |
| %112 = unchecked_ref_cast %110 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %113 | |
| %113 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%112 : $Builtin.BridgeObject) // user: %114 | |
| %114 = struct $_ArrayBuffer<Int32> (%113 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %115 | |
| %115 = struct $Array<Int32> (%114 : $_ArrayBuffer<Int32>) // user: %116 | |
| %116 = apply %2<Int32>(%115) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %119, %118 | |
| strong_release %110 : $_ContiguousArrayStorage<Int32> // id: %117 | |
| %118 = graph_op "Reshape,i,i"(%107 : $TensorHandle<Float>, %116 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %120 | |
| strong_release %116 : $TensorHandle<Int32> // id: %119 | |
| strong_release %118 : $TensorHandle<Float> // id: %120 | |
| strong_release %107 : $TensorHandle<Float> // id: %121 | |
| %122 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // users: %126, %124 | |
| %123 = graph_op "tfc.scalarToTensor,s"(%1 : $Builtin.FPIEEE32) {__device: "/device:CPU:0"} : $TensorHandle<Float> // users: %125, %124 | |
| %124 = graph_op "Fill,i,i"(%122 : $TensorHandle<Int32>, %123 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // users: %138, %135 | |
| strong_release %123 : $TensorHandle<Float> // id: %125 | |
| strong_release %122 : $TensorHandle<Int32> // id: %126 | |
| %127 = global_value @$S4main4testyyFTv6_ : $_ContiguousArrayStorage<Int32> // users: %134, %129, %128 | |
| strong_retain %127 : $_ContiguousArrayStorage<Int32> // id: %128 | |
| %129 = unchecked_ref_cast %127 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %130 | |
| %130 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%129 : $Builtin.BridgeObject) // user: %131 | |
| %131 = struct $_ArrayBuffer<Int32> (%130 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %132 | |
| %132 = struct $Array<Int32> (%131 : $_ArrayBuffer<Int32>) // user: %133 | |
| %133 = apply %2<Int32>(%132) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %136, %135 | |
| strong_release %127 : $_ContiguousArrayStorage<Int32> // id: %134 | |
| %135 = graph_op "Reshape,i,i"(%124 : $TensorHandle<Float>, %133 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %137 | |
| strong_release %133 : $TensorHandle<Int32> // id: %136 | |
| strong_release %135 : $TensorHandle<Float> // id: %137 | |
| strong_release %124 : $TensorHandle<Float> // id: %138 | |
| %139 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // users: %143, %141 | |
| %140 = graph_op "tfc.scalarToTensor,s"(%1 : $Builtin.FPIEEE32) {__device: "/device:CPU:0"} : $TensorHandle<Float> // users: %142, %141 | |
| %141 = graph_op "Fill,i,i"(%139 : $TensorHandle<Int32>, %140 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // users: %155, %152 | |
| strong_release %140 : $TensorHandle<Float> // id: %142 | |
| strong_release %139 : $TensorHandle<Int32> // id: %143 | |
| %144 = global_value @$S4main4testyyFTv7_ : $_ContiguousArrayStorage<Int32> // users: %151, %146, %145 | |
| strong_retain %144 : $_ContiguousArrayStorage<Int32> // id: %145 | |
| %146 = unchecked_ref_cast %144 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %147 | |
| %147 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%146 : $Builtin.BridgeObject) // user: %148 | |
| %148 = struct $_ArrayBuffer<Int32> (%147 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %149 | |
| %149 = struct $Array<Int32> (%148 : $_ArrayBuffer<Int32>) // user: %150 | |
| %150 = apply %2<Int32>(%149) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %153, %152 | |
| strong_release %144 : $_ContiguousArrayStorage<Int32> // id: %151 | |
| %152 = graph_op "Reshape,i,i"(%141 : $TensorHandle<Float>, %150 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %154 | |
| strong_release %150 : $TensorHandle<Int32> // id: %153 | |
| strong_release %152 : $TensorHandle<Float> // id: %154 | |
| strong_release %141 : $TensorHandle<Float> // id: %155 | |
| %156 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // users: %160, %158 | |
| %157 = graph_op "tfc.scalarToTensor,s"(%1 : $Builtin.FPIEEE32) {__device: "/device:CPU:0"} : $TensorHandle<Float> // users: %159, %158 | |
| %158 = graph_op "Fill,i,i"(%156 : $TensorHandle<Int32>, %157 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // users: %172, %169 | |
| strong_release %157 : $TensorHandle<Float> // id: %159 | |
| strong_release %156 : $TensorHandle<Int32> // id: %160 | |
| %161 = global_value @$S4main4testyyFTv8_ : $_ContiguousArrayStorage<Int32> // users: %168, %163, %162 | |
| strong_retain %161 : $_ContiguousArrayStorage<Int32> // id: %162 | |
| %163 = unchecked_ref_cast %161 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %164 | |
| %164 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%163 : $Builtin.BridgeObject) // user: %165 | |
| %165 = struct $_ArrayBuffer<Int32> (%164 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %166 | |
| %166 = struct $Array<Int32> (%165 : $_ArrayBuffer<Int32>) // user: %167 | |
| %167 = apply %2<Int32>(%166) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %170, %169 | |
| strong_release %161 : $_ContiguousArrayStorage<Int32> // id: %168 | |
| %169 = graph_op "Reshape,i,i"(%158 : $TensorHandle<Float>, %167 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %171 | |
| strong_release %167 : $TensorHandle<Int32> // id: %170 | |
| strong_release %169 : $TensorHandle<Float> // id: %171 | |
| strong_release %158 : $TensorHandle<Float> // id: %172 | |
| %173 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // users: %177, %175 | |
| %174 = graph_op "tfc.scalarToTensor,s"(%1 : $Builtin.FPIEEE32) {__device: "/device:CPU:0"} : $TensorHandle<Float> // users: %176, %175 | |
| %175 = graph_op "Fill,i,i"(%173 : $TensorHandle<Int32>, %174 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // users: %189, %186 | |
| strong_release %174 : $TensorHandle<Float> // id: %176 | |
| strong_release %173 : $TensorHandle<Int32> // id: %177 | |
| %178 = global_value @$S4main4testyyFTv9_ : $_ContiguousArrayStorage<Int32> // users: %185, %180, %179 | |
| strong_retain %178 : $_ContiguousArrayStorage<Int32> // id: %179 | |
| %180 = unchecked_ref_cast %178 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %181 | |
| %181 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%180 : $Builtin.BridgeObject) // user: %182 | |
| %182 = struct $_ArrayBuffer<Int32> (%181 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %183 | |
| %183 = struct $Array<Int32> (%182 : $_ArrayBuffer<Int32>) // user: %184 | |
| %184 = apply %2<Int32>(%183) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %187, %186 | |
| strong_release %178 : $_ContiguousArrayStorage<Int32> // id: %185 | |
| %186 = graph_op "Reshape,i,i"(%175 : $TensorHandle<Float>, %184 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %188 | |
| strong_release %184 : $TensorHandle<Int32> // id: %187 | |
| strong_release %186 : $TensorHandle<Float> // id: %188 | |
| strong_release %175 : $TensorHandle<Float> // id: %189 | |
| %190 = tuple () // user: %191 | |
| return %190 : $() // id: %191 | |
| } // end sil function '$S4main4testyyF' | |
| ---- END OF INPUT FUNCTION ---------- | |
| IMPLICIT COPY TO ACCEL OF: %14 = apply %0<Int32>(%13) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %17, %16 | |
| IMPLICIT COPY TO ACCEL BY: %16 = graph_op "Reshape,i,i"(%5 : $TensorHandle<Float>, %14 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %18 | |
| /Users/danielzheng/swift-models/unexpected-send-recv.swift:5:41: warning: 'Tensor<Int32>' implicitly copied to the accelerator, use .toAccelerator() to make transfer explicit | |
| _ = x.reshaped(toShape: Tensor<Int32>([4, Int32(1 * 1)])) | |
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ | |
| IMPLICIT COPY TO ACCEL OF: %31 = apply %0<Int32>(%30) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %34, %33 | |
| IMPLICIT COPY TO ACCEL BY: %33 = graph_op "Reshape,i,i"(%22 : $TensorHandle<Float>, %31 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %35 | |
| /Users/danielzheng/swift-models/unexpected-send-recv.swift:5:41: warning: 'Tensor<Int32>' implicitly copied to the accelerator, use .toAccelerator() to make transfer explicit | |
| _ = x.reshaped(toShape: Tensor<Int32>([4, Int32(1 * 1)])) | |
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ | |
| IMPLICIT COPY TO ACCEL OF: %48 = apply %0<Int32>(%47) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %51, %50 | |
| IMPLICIT COPY TO ACCEL BY: %50 = graph_op "Reshape,i,i"(%39 : $TensorHandle<Float>, %48 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %52 | |
| /Users/danielzheng/swift-models/unexpected-send-recv.swift:5:41: warning: 'Tensor<Int32>' implicitly copied to the accelerator, use .toAccelerator() to make transfer explicit | |
| _ = x.reshaped(toShape: Tensor<Int32>([4, Int32(1 * 1)])) | |
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ | |
| IMPLICIT COPY TO ACCEL OF: %65 = apply %0<Int32>(%64) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %68, %67 | |
| IMPLICIT COPY TO ACCEL BY: %67 = graph_op "Reshape,i,i"(%56 : $TensorHandle<Float>, %65 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %69 | |
| /Users/danielzheng/swift-models/unexpected-send-recv.swift:5:41: warning: 'Tensor<Int32>' implicitly copied to the accelerator, use .toAccelerator() to make transfer explicit | |
| _ = x.reshaped(toShape: Tensor<Int32>([4, Int32(1 * 1)])) | |
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ | |
| IMPLICIT COPY TO ACCEL OF: %82 = apply %0<Int32>(%81) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %85, %84 | |
| IMPLICIT COPY TO ACCEL BY: %84 = graph_op "Reshape,i,i"(%73 : $TensorHandle<Float>, %82 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %86 | |
| /Users/danielzheng/swift-models/unexpected-send-recv.swift:5:41: warning: 'Tensor<Int32>' implicitly copied to the accelerator, use .toAccelerator() to make transfer explicit | |
| _ = x.reshaped(toShape: Tensor<Int32>([4, Int32(1 * 1)])) | |
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ | |
| IMPLICIT COPY TO ACCEL OF: %99 = apply %0<Int32>(%98) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %102, %101 | |
| IMPLICIT COPY TO ACCEL BY: %101 = graph_op "Reshape,i,i"(%90 : $TensorHandle<Float>, %99 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %103 | |
| /Users/danielzheng/swift-models/unexpected-send-recv.swift:5:41: warning: 'Tensor<Int32>' implicitly copied to the accelerator, use .toAccelerator() to make transfer explicit | |
| _ = x.reshaped(toShape: Tensor<Int32>([4, Int32(1 * 1)])) | |
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ | |
| IMPLICIT COPY TO ACCEL OF: %116 = apply %0<Int32>(%115) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %119, %118 | |
| IMPLICIT COPY TO ACCEL BY: %118 = graph_op "Reshape,i,i"(%107 : $TensorHandle<Float>, %116 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %120 | |
| /Users/danielzheng/swift-models/unexpected-send-recv.swift:5:41: warning: 'Tensor<Int32>' implicitly copied to the accelerator, use .toAccelerator() to make transfer explicit | |
| _ = x.reshaped(toShape: Tensor<Int32>([4, Int32(1 * 1)])) | |
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ | |
| IMPLICIT COPY TO ACCEL OF: %133 = apply %0<Int32>(%132) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %136, %135 | |
| IMPLICIT COPY TO ACCEL BY: %135 = graph_op "Reshape,i,i"(%124 : $TensorHandle<Float>, %133 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %137 | |
| /Users/danielzheng/swift-models/unexpected-send-recv.swift:5:41: warning: 'Tensor<Int32>' implicitly copied to the accelerator, use .toAccelerator() to make transfer explicit | |
| _ = x.reshaped(toShape: Tensor<Int32>([4, Int32(1 * 1)])) | |
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ | |
| IMPLICIT COPY TO ACCEL OF: %150 = apply %0<Int32>(%149) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %153, %152 | |
| IMPLICIT COPY TO ACCEL BY: %152 = graph_op "Reshape,i,i"(%141 : $TensorHandle<Float>, %150 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %154 | |
| /Users/danielzheng/swift-models/unexpected-send-recv.swift:5:41: warning: 'Tensor<Int32>' implicitly copied to the accelerator, use .toAccelerator() to make transfer explicit | |
| _ = x.reshaped(toShape: Tensor<Int32>([4, Int32(1 * 1)])) | |
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ | |
| IMPLICIT COPY TO ACCEL OF: %167 = apply %0<Int32>(%166) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %170, %169 | |
| IMPLICIT COPY TO ACCEL BY: %169 = graph_op "Reshape,i,i"(%158 : $TensorHandle<Float>, %167 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %171 | |
| /Users/danielzheng/swift-models/unexpected-send-recv.swift:5:41: warning: 'Tensor<Int32>' implicitly copied to the accelerator, use .toAccelerator() to make transfer explicit | |
| _ = x.reshaped(toShape: Tensor<Int32>([4, Int32(1 * 1)])) | |
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ | |
| IMPLICIT COPY TO ACCEL OF: %184 = apply %0<Int32>(%183) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %187, %186 | |
| IMPLICIT COPY TO ACCEL BY: %186 = graph_op "Reshape,i,i"(%175 : $TensorHandle<Float>, %184 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %188 | |
| /Users/danielzheng/swift-models/unexpected-send-recv.swift:5:41: warning: 'Tensor<Int32>' implicitly copied to the accelerator, use .toAccelerator() to make transfer explicit | |
| _ = x.reshaped(toShape: Tensor<Int32>([4, Int32(1 * 1)])) | |
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ | |
| ---- ANALYSIS STATE FOR FUNCTION $S4main4testyyF ---------- | |
| Tensor start point: %1 = integer_literal $Builtin.Int64, 1 // user: %2 | |
| Tensor end point: strong_release %184 : $TensorHandle<Int32> // id: %187 | |
| SIL with markings: | |
| bb0: | |
| // function_ref __tf_tensor_from_scalars_1d | |
| %0 = function_ref @__tf_tensor_from_scalars_1d : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %184, %167, %150, %133, %116, %99, %82, %65, %48, %14, %31 | |
| [Move] %1 = integer_literal $Builtin.Int64, 1 // user: %2 | |
| [Move] %2 = builtin "sitofp_Int64_FPIEEE32"(%1 : $Builtin.Int64) : $Builtin.FPIEEE32 // users: %174, %157, %140, %123, %106, %89, %72, %55, %38, %4, %21 | |
| [Move] %3 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // users: %7, %5 | |
| [Move] %4 = graph_op "tfc.scalarToTensor,s"(%2 : $Builtin.FPIEEE32) {__device: "/device:CPU:0"} : $TensorHandle<Float> // users: %6, %5 | |
| [Move] %5 = graph_op "Fill,i,i"(%3 : $TensorHandle<Int32>, %4 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // users: %19, %16 | |
| strong_release %4 : $TensorHandle<Float> // id: %6 | |
| strong_release %3 : $TensorHandle<Int32> // id: %7 | |
| %8 = global_value @$S4main4testyyFTv_ : $_ContiguousArrayStorage<Int32> // users: %15, %10, %9 | |
| strong_retain %8 : $_ContiguousArrayStorage<Int32> // id: %9 | |
| %10 = unchecked_ref_cast %8 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %11 | |
| %11 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%10 : $Builtin.BridgeObject) // user: %12 | |
| %12 = struct $_ArrayBuffer<Int32> (%11 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %13 | |
| %13 = struct $Array<Int32> (%12 : $_ArrayBuffer<Int32>) // user: %14 | |
| [Send] %14 = apply %0<Int32>(%13) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %17, %16 | |
| strong_release %8 : $_ContiguousArrayStorage<Int32> // id: %15 | |
| [Move] %16 = graph_op "Reshape,i,i"(%5 : $TensorHandle<Float>, %14 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %18 | |
| strong_release %14 : $TensorHandle<Int32> // id: %17 | |
| strong_release %16 : $TensorHandle<Float> // id: %18 | |
| strong_release %5 : $TensorHandle<Float> // id: %19 | |
| [Move] %20 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // users: %24, %22 | |
| [Move] %21 = graph_op "tfc.scalarToTensor,s"(%2 : $Builtin.FPIEEE32) {__device: "/device:CPU:0"} : $TensorHandle<Float> // users: %23, %22 | |
| [Move] %22 = graph_op "Fill,i,i"(%20 : $TensorHandle<Int32>, %21 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // users: %36, %33 | |
| strong_release %21 : $TensorHandle<Float> // id: %23 | |
| strong_release %20 : $TensorHandle<Int32> // id: %24 | |
| %25 = global_value @$S4main4testyyFTv0_ : $_ContiguousArrayStorage<Int32> // users: %32, %27, %26 | |
| strong_retain %25 : $_ContiguousArrayStorage<Int32> // id: %26 | |
| %27 = unchecked_ref_cast %25 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %28 | |
| %28 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%27 : $Builtin.BridgeObject) // user: %29 | |
| %29 = struct $_ArrayBuffer<Int32> (%28 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %30 | |
| %30 = struct $Array<Int32> (%29 : $_ArrayBuffer<Int32>) // user: %31 | |
| [Send] %31 = apply %0<Int32>(%30) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %34, %33 | |
| strong_release %25 : $_ContiguousArrayStorage<Int32> // id: %32 | |
| [Move] %33 = graph_op "Reshape,i,i"(%22 : $TensorHandle<Float>, %31 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %35 | |
| strong_release %31 : $TensorHandle<Int32> // id: %34 | |
| strong_release %33 : $TensorHandle<Float> // id: %35 | |
| strong_release %22 : $TensorHandle<Float> // id: %36 | |
| [Move] %37 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // users: %41, %39 | |
| [Move] %38 = graph_op "tfc.scalarToTensor,s"(%2 : $Builtin.FPIEEE32) {__device: "/device:CPU:0"} : $TensorHandle<Float> // users: %40, %39 | |
| [Move] %39 = graph_op "Fill,i,i"(%37 : $TensorHandle<Int32>, %38 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // users: %53, %50 | |
| strong_release %38 : $TensorHandle<Float> // id: %40 | |
| strong_release %37 : $TensorHandle<Int32> // id: %41 | |
| %42 = global_value @$S4main4testyyFTv1_ : $_ContiguousArrayStorage<Int32> // users: %49, %44, %43 | |
| strong_retain %42 : $_ContiguousArrayStorage<Int32> // id: %43 | |
| %44 = unchecked_ref_cast %42 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %45 | |
| %45 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%44 : $Builtin.BridgeObject) // user: %46 | |
| %46 = struct $_ArrayBuffer<Int32> (%45 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %47 | |
| %47 = struct $Array<Int32> (%46 : $_ArrayBuffer<Int32>) // user: %48 | |
| [Send] %48 = apply %0<Int32>(%47) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %51, %50 | |
| strong_release %42 : $_ContiguousArrayStorage<Int32> // id: %49 | |
| [Move] %50 = graph_op "Reshape,i,i"(%39 : $TensorHandle<Float>, %48 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %52 | |
| strong_release %48 : $TensorHandle<Int32> // id: %51 | |
| strong_release %50 : $TensorHandle<Float> // id: %52 | |
| strong_release %39 : $TensorHandle<Float> // id: %53 | |
| [Move] %54 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // users: %58, %56 | |
| [Move] %55 = graph_op "tfc.scalarToTensor,s"(%2 : $Builtin.FPIEEE32) {__device: "/device:CPU:0"} : $TensorHandle<Float> // users: %57, %56 | |
| [Move] %56 = graph_op "Fill,i,i"(%54 : $TensorHandle<Int32>, %55 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // users: %70, %67 | |
| strong_release %55 : $TensorHandle<Float> // id: %57 | |
| strong_release %54 : $TensorHandle<Int32> // id: %58 | |
| %59 = global_value @$S4main4testyyFTv2_ : $_ContiguousArrayStorage<Int32> // users: %66, %61, %60 | |
| strong_retain %59 : $_ContiguousArrayStorage<Int32> // id: %60 | |
| %61 = unchecked_ref_cast %59 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %62 | |
| %62 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%61 : $Builtin.BridgeObject) // user: %63 | |
| %63 = struct $_ArrayBuffer<Int32> (%62 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %64 | |
| %64 = struct $Array<Int32> (%63 : $_ArrayBuffer<Int32>) // user: %65 | |
| [Send] %65 = apply %0<Int32>(%64) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %68, %67 | |
| strong_release %59 : $_ContiguousArrayStorage<Int32> // id: %66 | |
| [Move] %67 = graph_op "Reshape,i,i"(%56 : $TensorHandle<Float>, %65 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %69 | |
| strong_release %65 : $TensorHandle<Int32> // id: %68 | |
| strong_release %67 : $TensorHandle<Float> // id: %69 | |
| strong_release %56 : $TensorHandle<Float> // id: %70 | |
| [Move] %71 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // users: %75, %73 | |
| [Move] %72 = graph_op "tfc.scalarToTensor,s"(%2 : $Builtin.FPIEEE32) {__device: "/device:CPU:0"} : $TensorHandle<Float> // users: %74, %73 | |
| [Move] %73 = graph_op "Fill,i,i"(%71 : $TensorHandle<Int32>, %72 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // users: %87, %84 | |
| strong_release %72 : $TensorHandle<Float> // id: %74 | |
| strong_release %71 : $TensorHandle<Int32> // id: %75 | |
| %76 = global_value @$S4main4testyyFTv3_ : $_ContiguousArrayStorage<Int32> // users: %83, %78, %77 | |
| strong_retain %76 : $_ContiguousArrayStorage<Int32> // id: %77 | |
| %78 = unchecked_ref_cast %76 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %79 | |
| %79 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%78 : $Builtin.BridgeObject) // user: %80 | |
| %80 = struct $_ArrayBuffer<Int32> (%79 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %81 | |
| %81 = struct $Array<Int32> (%80 : $_ArrayBuffer<Int32>) // user: %82 | |
| [Send] %82 = apply %0<Int32>(%81) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %85, %84 | |
| strong_release %76 : $_ContiguousArrayStorage<Int32> // id: %83 | |
| [Move] %84 = graph_op "Reshape,i,i"(%73 : $TensorHandle<Float>, %82 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %86 | |
| strong_release %82 : $TensorHandle<Int32> // id: %85 | |
| strong_release %84 : $TensorHandle<Float> // id: %86 | |
| strong_release %73 : $TensorHandle<Float> // id: %87 | |
| [Move] %88 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // users: %92, %90 | |
| [Move] %89 = graph_op "tfc.scalarToTensor,s"(%2 : $Builtin.FPIEEE32) {__device: "/device:CPU:0"} : $TensorHandle<Float> // users: %91, %90 | |
| [Move] %90 = graph_op "Fill,i,i"(%88 : $TensorHandle<Int32>, %89 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // users: %104, %101 | |
| strong_release %89 : $TensorHandle<Float> // id: %91 | |
| strong_release %88 : $TensorHandle<Int32> // id: %92 | |
| %93 = global_value @$S4main4testyyFTv4_ : $_ContiguousArrayStorage<Int32> // users: %100, %95, %94 | |
| strong_retain %93 : $_ContiguousArrayStorage<Int32> // id: %94 | |
| %95 = unchecked_ref_cast %93 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %96 | |
| %96 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%95 : $Builtin.BridgeObject) // user: %97 | |
| %97 = struct $_ArrayBuffer<Int32> (%96 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %98 | |
| %98 = struct $Array<Int32> (%97 : $_ArrayBuffer<Int32>) // user: %99 | |
| [Send] %99 = apply %0<Int32>(%98) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %102, %101 | |
| strong_release %93 : $_ContiguousArrayStorage<Int32> // id: %100 | |
| [Move] %101 = graph_op "Reshape,i,i"(%90 : $TensorHandle<Float>, %99 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %103 | |
| strong_release %99 : $TensorHandle<Int32> // id: %102 | |
| strong_release %101 : $TensorHandle<Float> // id: %103 | |
| strong_release %90 : $TensorHandle<Float> // id: %104 | |
| [Move] %105 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // users: %109, %107 | |
| [Move] %106 = graph_op "tfc.scalarToTensor,s"(%2 : $Builtin.FPIEEE32) {__device: "/device:CPU:0"} : $TensorHandle<Float> // users: %108, %107 | |
| [Move] %107 = graph_op "Fill,i,i"(%105 : $TensorHandle<Int32>, %106 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // users: %121, %118 | |
| strong_release %106 : $TensorHandle<Float> // id: %108 | |
| strong_release %105 : $TensorHandle<Int32> // id: %109 | |
| %110 = global_value @$S4main4testyyFTv5_ : $_ContiguousArrayStorage<Int32> // users: %117, %112, %111 | |
| strong_retain %110 : $_ContiguousArrayStorage<Int32> // id: %111 | |
| %112 = unchecked_ref_cast %110 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %113 | |
| %113 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%112 : $Builtin.BridgeObject) // user: %114 | |
| %114 = struct $_ArrayBuffer<Int32> (%113 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %115 | |
| %115 = struct $Array<Int32> (%114 : $_ArrayBuffer<Int32>) // user: %116 | |
| [Send] %116 = apply %0<Int32>(%115) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %119, %118 | |
| strong_release %110 : $_ContiguousArrayStorage<Int32> // id: %117 | |
| [Move] %118 = graph_op "Reshape,i,i"(%107 : $TensorHandle<Float>, %116 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %120 | |
| strong_release %116 : $TensorHandle<Int32> // id: %119 | |
| strong_release %118 : $TensorHandle<Float> // id: %120 | |
| strong_release %107 : $TensorHandle<Float> // id: %121 | |
| [Move] %122 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // users: %126, %124 | |
| [Move] %123 = graph_op "tfc.scalarToTensor,s"(%2 : $Builtin.FPIEEE32) {__device: "/device:CPU:0"} : $TensorHandle<Float> // users: %125, %124 | |
| [Move] %124 = graph_op "Fill,i,i"(%122 : $TensorHandle<Int32>, %123 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // users: %138, %135 | |
| strong_release %123 : $TensorHandle<Float> // id: %125 | |
| strong_release %122 : $TensorHandle<Int32> // id: %126 | |
| %127 = global_value @$S4main4testyyFTv6_ : $_ContiguousArrayStorage<Int32> // users: %134, %129, %128 | |
| strong_retain %127 : $_ContiguousArrayStorage<Int32> // id: %128 | |
| %129 = unchecked_ref_cast %127 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %130 | |
| %130 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%129 : $Builtin.BridgeObject) // user: %131 | |
| %131 = struct $_ArrayBuffer<Int32> (%130 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %132 | |
| %132 = struct $Array<Int32> (%131 : $_ArrayBuffer<Int32>) // user: %133 | |
| [Send] %133 = apply %0<Int32>(%132) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %136, %135 | |
| strong_release %127 : $_ContiguousArrayStorage<Int32> // id: %134 | |
| [Move] %135 = graph_op "Reshape,i,i"(%124 : $TensorHandle<Float>, %133 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %137 | |
| strong_release %133 : $TensorHandle<Int32> // id: %136 | |
| strong_release %135 : $TensorHandle<Float> // id: %137 | |
| strong_release %124 : $TensorHandle<Float> // id: %138 | |
| [Move] %139 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // users: %143, %141 | |
| [Move] %140 = graph_op "tfc.scalarToTensor,s"(%2 : $Builtin.FPIEEE32) {__device: "/device:CPU:0"} : $TensorHandle<Float> // users: %142, %141 | |
| [Move] %141 = graph_op "Fill,i,i"(%139 : $TensorHandle<Int32>, %140 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // users: %155, %152 | |
| strong_release %140 : $TensorHandle<Float> // id: %142 | |
| strong_release %139 : $TensorHandle<Int32> // id: %143 | |
| %144 = global_value @$S4main4testyyFTv7_ : $_ContiguousArrayStorage<Int32> // users: %151, %146, %145 | |
| strong_retain %144 : $_ContiguousArrayStorage<Int32> // id: %145 | |
| %146 = unchecked_ref_cast %144 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %147 | |
| %147 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%146 : $Builtin.BridgeObject) // user: %148 | |
| %148 = struct $_ArrayBuffer<Int32> (%147 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %149 | |
| %149 = struct $Array<Int32> (%148 : $_ArrayBuffer<Int32>) // user: %150 | |
| [Send] %150 = apply %0<Int32>(%149) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %153, %152 | |
| strong_release %144 : $_ContiguousArrayStorage<Int32> // id: %151 | |
| [Move] %152 = graph_op "Reshape,i,i"(%141 : $TensorHandle<Float>, %150 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %154 | |
| strong_release %150 : $TensorHandle<Int32> // id: %153 | |
| strong_release %152 : $TensorHandle<Float> // id: %154 | |
| strong_release %141 : $TensorHandle<Float> // id: %155 | |
| [Move] %156 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // users: %160, %158 | |
| [Move] %157 = graph_op "tfc.scalarToTensor,s"(%2 : $Builtin.FPIEEE32) {__device: "/device:CPU:0"} : $TensorHandle<Float> // users: %159, %158 | |
| [Move] %158 = graph_op "Fill,i,i"(%156 : $TensorHandle<Int32>, %157 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // users: %172, %169 | |
| strong_release %157 : $TensorHandle<Float> // id: %159 | |
| strong_release %156 : $TensorHandle<Int32> // id: %160 | |
| %161 = global_value @$S4main4testyyFTv8_ : $_ContiguousArrayStorage<Int32> // users: %168, %163, %162 | |
| strong_retain %161 : $_ContiguousArrayStorage<Int32> // id: %162 | |
| %163 = unchecked_ref_cast %161 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %164 | |
| %164 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%163 : $Builtin.BridgeObject) // user: %165 | |
| %165 = struct $_ArrayBuffer<Int32> (%164 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %166 | |
| %166 = struct $Array<Int32> (%165 : $_ArrayBuffer<Int32>) // user: %167 | |
| [Send] %167 = apply %0<Int32>(%166) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %170, %169 | |
| strong_release %161 : $_ContiguousArrayStorage<Int32> // id: %168 | |
| [Move] %169 = graph_op "Reshape,i,i"(%158 : $TensorHandle<Float>, %167 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %171 | |
| strong_release %167 : $TensorHandle<Int32> // id: %170 | |
| strong_release %169 : $TensorHandle<Float> // id: %171 | |
| strong_release %158 : $TensorHandle<Float> // id: %172 | |
| [Move] %173 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // users: %177, %175 | |
| [Move] %174 = graph_op "tfc.scalarToTensor,s"(%2 : $Builtin.FPIEEE32) {__device: "/device:CPU:0"} : $TensorHandle<Float> // users: %176, %175 | |
| [Move] %175 = graph_op "Fill,i,i"(%173 : $TensorHandle<Int32>, %174 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // users: %189, %186 | |
| strong_release %174 : $TensorHandle<Float> // id: %176 | |
| strong_release %173 : $TensorHandle<Int32> // id: %177 | |
| %178 = global_value @$S4main4testyyFTv9_ : $_ContiguousArrayStorage<Int32> // users: %185, %180, %179 | |
| strong_retain %178 : $_ContiguousArrayStorage<Int32> // id: %179 | |
| %180 = unchecked_ref_cast %178 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %181 | |
| %181 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%180 : $Builtin.BridgeObject) // user: %182 | |
| %182 = struct $_ArrayBuffer<Int32> (%181 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %183 | |
| %183 = struct $Array<Int32> (%182 : $_ArrayBuffer<Int32>) // user: %184 | |
| [Send] %184 = apply %0<Int32>(%183) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %187, %186 | |
| strong_release %178 : $_ContiguousArrayStorage<Int32> // id: %185 | |
| [Move] %186 = graph_op "Reshape,i,i"(%175 : $TensorHandle<Float>, %184 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %188 | |
| strong_release %184 : $TensorHandle<Int32> // id: %187 | |
| strong_release %186 : $TensorHandle<Float> // id: %188 | |
| strong_release %175 : $TensorHandle<Float> // id: %189 | |
| %190 = tuple () // user: %191 | |
| return %190 : $() // id: %191 | |
| ---- END OF ANALYSIS STATE FOR FUNCTION ---------- | |
| ---- PARTITION STATE FOR FUNCTION $S4main4testyyF ---------- | |
| (Possibly updated) tensor end point: strong_release %184 : $TensorHandle<Int32> // id: %187 | |
| There are 0 result values: | |
| ---- END OF PARTITION STATE FOR FUNCTION ---------- | |
| --- TFPartition Accelerator Result: $S4main4testyyF.tf | |
| // test() | |
| sil private @$S4main4testyyF.tf : $@callee_owned () -> () { | |
| bb0: | |
| %0 = graph_op "Const"() {dtype$dtype: $Builtin.Int64, value$tensor: i64 1, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int64> // user: %1 | |
| %1 = graph_op "Cast,i"(%0 : $TensorHandle<Builtin.Int64>) {DstT$dtype: $Builtin.FPIEEE32, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.FPIEEE32> // users: %53, %48, %43, %38, %33, %28, %23, %18, %13, %8, %3 | |
| %2 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %4 | |
| %3 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %4 | |
| %4 = graph_op "Fill,i,i"(%2 : $TensorHandle<Int32>, %3 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %6 | |
| %5 = graph_op "tfc.RecvFromHost"() {tensorId: i32 0, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %6 | |
| %6 = graph_op "Reshape,i,i"(%4 : $TensorHandle<Float>, %5 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %7 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %9 | |
| %8 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %9 | |
| %9 = graph_op "Fill,i,i"(%7 : $TensorHandle<Int32>, %8 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %11 | |
| %10 = graph_op "tfc.RecvFromHost"() {tensorId: i32 1, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %11 | |
| %11 = graph_op "Reshape,i,i"(%9 : $TensorHandle<Float>, %10 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %12 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %14 | |
| %13 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %14 | |
| %14 = graph_op "Fill,i,i"(%12 : $TensorHandle<Int32>, %13 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %16 | |
| %15 = graph_op "tfc.RecvFromHost"() {tensorId: i32 2, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %16 | |
| %16 = graph_op "Reshape,i,i"(%14 : $TensorHandle<Float>, %15 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %17 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %19 | |
| %18 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %19 | |
| %19 = graph_op "Fill,i,i"(%17 : $TensorHandle<Int32>, %18 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %21 | |
| %20 = graph_op "tfc.RecvFromHost"() {tensorId: i32 3, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %21 | |
| %21 = graph_op "Reshape,i,i"(%19 : $TensorHandle<Float>, %20 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %22 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %24 | |
| %23 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %24 | |
| %24 = graph_op "Fill,i,i"(%22 : $TensorHandle<Int32>, %23 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %26 | |
| %25 = graph_op "tfc.RecvFromHost"() {tensorId: i32 4, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %26 | |
| %26 = graph_op "Reshape,i,i"(%24 : $TensorHandle<Float>, %25 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %27 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %29 | |
| %28 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %29 | |
| %29 = graph_op "Fill,i,i"(%27 : $TensorHandle<Int32>, %28 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %31 | |
| %30 = graph_op "tfc.RecvFromHost"() {tensorId: i32 5, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %31 | |
| %31 = graph_op "Reshape,i,i"(%29 : $TensorHandle<Float>, %30 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %32 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %34 | |
| %33 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %34 | |
| %34 = graph_op "Fill,i,i"(%32 : $TensorHandle<Int32>, %33 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %36 | |
| %35 = graph_op "tfc.RecvFromHost"() {tensorId: i32 6, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %36 | |
| %36 = graph_op "Reshape,i,i"(%34 : $TensorHandle<Float>, %35 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %37 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %39 | |
| %38 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %39 | |
| %39 = graph_op "Fill,i,i"(%37 : $TensorHandle<Int32>, %38 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %41 | |
| %40 = graph_op "tfc.RecvFromHost"() {tensorId: i32 7, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %41 | |
| %41 = graph_op "Reshape,i,i"(%39 : $TensorHandle<Float>, %40 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %42 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %44 | |
| %43 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %44 | |
| %44 = graph_op "Fill,i,i"(%42 : $TensorHandle<Int32>, %43 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %46 | |
| %45 = graph_op "tfc.RecvFromHost"() {tensorId: i32 8, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %46 | |
| %46 = graph_op "Reshape,i,i"(%44 : $TensorHandle<Float>, %45 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %47 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %49 | |
| %48 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %49 | |
| %49 = graph_op "Fill,i,i"(%47 : $TensorHandle<Int32>, %48 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %51 | |
| %50 = graph_op "tfc.RecvFromHost"() {tensorId: i32 9, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %51 | |
| %51 = graph_op "Reshape,i,i"(%49 : $TensorHandle<Float>, %50 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %52 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %54 | |
| %53 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %54 | |
| %54 = graph_op "Fill,i,i"(%52 : $TensorHandle<Int32>, %53 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %56 | |
| %55 = graph_op "tfc.RecvFromHost"() {tensorId: i32 10, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %56 | |
| %56 = graph_op "Reshape,i,i"(%54 : $TensorHandle<Float>, %55 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %57 = tuple () // user: %58 | |
| return %57 : $() // id: %58 | |
| } // end sil function '$S4main4testyyF.tf' | |
| ---- | |
| --- XLA CFG Canonicalize: $S4main4testyyF.tf | |
| block bb0 | |
| --- XLA CFG Canonicalize end | |
| ---- | |
| --- TFDevicePartition Cross Device Tensor Transfer Annotation Result: $S4main4testyyF.tf | |
| // test() | |
| sil private @$S4main4testyyF.tf : $@callee_owned () -> () { | |
| bb0: | |
| %0 = graph_op "Const"() {dtype$dtype: $Builtin.Int64, value$tensor: i64 1, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int64> // user: %1 | |
| %1 = graph_op "Cast,i"(%0 : $TensorHandle<Builtin.Int64>) {DstT$dtype: $Builtin.FPIEEE32, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.FPIEEE32> // users: %53, %48, %43, %38, %33, %28, %23, %18, %13, %8, %3 | |
| %2 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %4 | |
| %3 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %4 | |
| %4 = graph_op "Fill,i,i"(%2 : $TensorHandle<Int32>, %3 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %6 | |
| %5 = graph_op "tfc.RecvFromHost"() {tensorId: i32 0, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %6 | |
| %6 = graph_op "Reshape,i,i"(%4 : $TensorHandle<Float>, %5 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %7 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %9 | |
| %8 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %9 | |
| %9 = graph_op "Fill,i,i"(%7 : $TensorHandle<Int32>, %8 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %11 | |
| %10 = graph_op "tfc.RecvFromHost"() {tensorId: i32 1, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %11 | |
| %11 = graph_op "Reshape,i,i"(%9 : $TensorHandle<Float>, %10 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %12 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %14 | |
| %13 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %14 | |
| %14 = graph_op "Fill,i,i"(%12 : $TensorHandle<Int32>, %13 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %16 | |
| %15 = graph_op "tfc.RecvFromHost"() {tensorId: i32 2, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %16 | |
| %16 = graph_op "Reshape,i,i"(%14 : $TensorHandle<Float>, %15 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %17 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %19 | |
| %18 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %19 | |
| %19 = graph_op "Fill,i,i"(%17 : $TensorHandle<Int32>, %18 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %21 | |
| %20 = graph_op "tfc.RecvFromHost"() {tensorId: i32 3, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %21 | |
| %21 = graph_op "Reshape,i,i"(%19 : $TensorHandle<Float>, %20 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %22 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %24 | |
| %23 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %24 | |
| %24 = graph_op "Fill,i,i"(%22 : $TensorHandle<Int32>, %23 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %26 | |
| %25 = graph_op "tfc.RecvFromHost"() {tensorId: i32 4, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %26 | |
| %26 = graph_op "Reshape,i,i"(%24 : $TensorHandle<Float>, %25 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %27 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %29 | |
| %28 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %29 | |
| %29 = graph_op "Fill,i,i"(%27 : $TensorHandle<Int32>, %28 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %31 | |
| %30 = graph_op "tfc.RecvFromHost"() {tensorId: i32 5, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %31 | |
| %31 = graph_op "Reshape,i,i"(%29 : $TensorHandle<Float>, %30 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %32 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %34 | |
| %33 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %34 | |
| %34 = graph_op "Fill,i,i"(%32 : $TensorHandle<Int32>, %33 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %36 | |
| %35 = graph_op "tfc.RecvFromHost"() {tensorId: i32 6, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %36 | |
| %36 = graph_op "Reshape,i,i"(%34 : $TensorHandle<Float>, %35 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %37 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %39 | |
| %38 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %39 | |
| %39 = graph_op "Fill,i,i"(%37 : $TensorHandle<Int32>, %38 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %41 | |
| %40 = graph_op "tfc.RecvFromHost"() {tensorId: i32 7, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %41 | |
| %41 = graph_op "Reshape,i,i"(%39 : $TensorHandle<Float>, %40 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %42 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %44 | |
| %43 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %44 | |
| %44 = graph_op "Fill,i,i"(%42 : $TensorHandle<Int32>, %43 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %46 | |
| %45 = graph_op "tfc.RecvFromHost"() {tensorId: i32 8, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %46 | |
| %46 = graph_op "Reshape,i,i"(%44 : $TensorHandle<Float>, %45 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %47 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %49 | |
| %48 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %49 | |
| %49 = graph_op "Fill,i,i"(%47 : $TensorHandle<Int32>, %48 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %51 | |
| %50 = graph_op "tfc.RecvFromHost"() {tensorId: i32 9, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %51 | |
| %51 = graph_op "Reshape,i,i"(%49 : $TensorHandle<Float>, %50 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %52 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %54 | |
| %53 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %54 | |
| %54 = graph_op "Fill,i,i"(%52 : $TensorHandle<Int32>, %53 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %56 | |
| %55 = graph_op "tfc.RecvFromHost"() {tensorId: i32 10, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %56 | |
| %56 = graph_op "Reshape,i,i"(%54 : $TensorHandle<Float>, %55 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %57 = tuple () // user: %58 | |
| return %57 : $() // id: %58 | |
| } // end sil function '$S4main4testyyF.tf' | |
| ---- | |
| --- TFDevicePartition Per-Device Function Extraction Result: $S4main4testyyF.tf_CPU.device_partition | |
| // test() | |
| sil private @$S4main4testyyF.tf_CPU.device_partition : $@callee_owned () -> () { | |
| bb0: | |
| %0 = graph_op "Const"() {dtype$dtype: $Builtin.Int64, value$tensor: i64 1, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.Int64> // user: %1 | |
| %1 = graph_op "Cast,i"(%0 : $TensorHandle<Builtin.Int64>) {DstT$dtype: $Builtin.FPIEEE32, __device: "ALL_DEVICES"} : $TensorHandle<Builtin.FPIEEE32> // users: %53, %48, %43, %38, %33, %28, %23, %18, %13, %8, %3 | |
| %2 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %4 | |
| %3 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %4 | |
| %4 = graph_op "Fill,i,i"(%2 : $TensorHandle<Int32>, %3 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %6 | |
| %5 = graph_op "tfc.RecvFromHost"() {tensorId: i32 0, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %6 | |
| %6 = graph_op "Reshape,i,i"(%4 : $TensorHandle<Float>, %5 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %7 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %9 | |
| %8 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %9 | |
| %9 = graph_op "Fill,i,i"(%7 : $TensorHandle<Int32>, %8 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %11 | |
| %10 = graph_op "tfc.RecvFromHost"() {tensorId: i32 1, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %11 | |
| %11 = graph_op "Reshape,i,i"(%9 : $TensorHandle<Float>, %10 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %12 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %14 | |
| %13 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %14 | |
| %14 = graph_op "Fill,i,i"(%12 : $TensorHandle<Int32>, %13 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %16 | |
| %15 = graph_op "tfc.RecvFromHost"() {tensorId: i32 2, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %16 | |
| %16 = graph_op "Reshape,i,i"(%14 : $TensorHandle<Float>, %15 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %17 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %19 | |
| %18 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %19 | |
| %19 = graph_op "Fill,i,i"(%17 : $TensorHandle<Int32>, %18 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %21 | |
| %20 = graph_op "tfc.RecvFromHost"() {tensorId: i32 3, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %21 | |
| %21 = graph_op "Reshape,i,i"(%19 : $TensorHandle<Float>, %20 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %22 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %24 | |
| %23 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %24 | |
| %24 = graph_op "Fill,i,i"(%22 : $TensorHandle<Int32>, %23 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %26 | |
| %25 = graph_op "tfc.RecvFromHost"() {tensorId: i32 4, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %26 | |
| %26 = graph_op "Reshape,i,i"(%24 : $TensorHandle<Float>, %25 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %27 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %29 | |
| %28 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %29 | |
| %29 = graph_op "Fill,i,i"(%27 : $TensorHandle<Int32>, %28 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %31 | |
| %30 = graph_op "tfc.RecvFromHost"() {tensorId: i32 5, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %31 | |
| %31 = graph_op "Reshape,i,i"(%29 : $TensorHandle<Float>, %30 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %32 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %34 | |
| %33 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %34 | |
| %34 = graph_op "Fill,i,i"(%32 : $TensorHandle<Int32>, %33 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %36 | |
| %35 = graph_op "tfc.RecvFromHost"() {tensorId: i32 6, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %36 | |
| %36 = graph_op "Reshape,i,i"(%34 : $TensorHandle<Float>, %35 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %37 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %39 | |
| %38 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %39 | |
| %39 = graph_op "Fill,i,i"(%37 : $TensorHandle<Int32>, %38 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %41 | |
| %40 = graph_op "tfc.RecvFromHost"() {tensorId: i32 7, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %41 | |
| %41 = graph_op "Reshape,i,i"(%39 : $TensorHandle<Float>, %40 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %42 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %44 | |
| %43 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %44 | |
| %44 = graph_op "Fill,i,i"(%42 : $TensorHandle<Int32>, %43 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %46 | |
| %45 = graph_op "tfc.RecvFromHost"() {tensorId: i32 8, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %46 | |
| %46 = graph_op "Reshape,i,i"(%44 : $TensorHandle<Float>, %45 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %47 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %49 | |
| %48 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %49 | |
| %49 = graph_op "Fill,i,i"(%47 : $TensorHandle<Int32>, %48 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %51 | |
| %50 = graph_op "tfc.RecvFromHost"() {tensorId: i32 9, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %51 | |
| %51 = graph_op "Reshape,i,i"(%49 : $TensorHandle<Float>, %50 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %52 = graph_op "Const"() {dtype: $Int32, value$tensor: [$Int32: (i32 2), (i32 2)], value$shape: [$Int32: i32 2], __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %54 | |
| %53 = unchecked_ref_cast %1 : $TensorHandle<Builtin.FPIEEE32> to $TensorHandle<Float> // user: %54 | |
| %54 = graph_op "Fill,i,i"(%52 : $TensorHandle<Int32>, %53 : $TensorHandle<Float>) {T: $Float, index_type: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> // user: %56 | |
| %55 = graph_op "tfc.RecvFromHost"() {tensorId: i32 10, __device: "/device:CPU:0"} : $TensorHandle<Int32> // user: %56 | |
| %56 = graph_op "Reshape,i,i"(%54 : $TensorHandle<Float>, %55 : $TensorHandle<Int32>) {T: $Float, Tshape: $Int32, __device: "/device:CPU:0"} : $TensorHandle<Float> | |
| %57 = tuple () // user: %58 | |
| return %57 : $() // id: %58 | |
| } // end sil function '$S4main4testyyF.tf_CPU.device_partition' | |
| ---- | |
| --- TFPartition Host Result: $S4main4testyyF | |
| // test() | |
| sil hidden @$S4main4testyyF : $@convention(thin) () -> () { | |
| bb0: | |
| // function_ref __tf_tensor_from_scalars_1d | |
| %0 = function_ref @__tf_tensor_from_scalars_1d : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %157, %144, %131, %118, %105, %92, %79, %66, %53, %27, %40 | |
| %1 = string_literal bytes "0A92010A0C6669666F5F71756575655F30120B4649464F51756575655632220D2F6465766963653A4350553A302A1D0A0B7368617265645F6E616D65120E120C6669666F5F71756575655F302A0E0A086361706163697479120218012A0F0A09636F6E7461696E6572120212002A180A0F636F6D706F6E656E745F747970657312050A033201032A0C0A0673686170657312020A000A3F0A146172675F74656E736F725F656E71756575655F30120B506C616365686F6C6465722A0D0A05736861706512043A0218012A0B0A056474797065120230030A8A010A146669666F5F71756575655F656E71756575655F30120E5175657565456E717565756556321A0C6669666F5F71756575655F301A146172675F74656E736F725F656E71756575655F30220D2F6465766963653A4350553A302A190A0A74696D656F75745F6D73120B18FFFFFFFFFFFFFFFFFF012A140A0B54636F6D706F6E656E747312050A033201030A92010A0C6669666F5F71756575655F31120B4649464F51756575655632220D2F6465766963653A4350553A302A1D0A0B7368617265645F6E616D65120E120C6669666F5F71756575655F312A0E0A086361706163697479120218012A0F0A09636F6E7461696E6572120212002A180A0F636F6D706F6E656E745F747970657312050A033201032A0C0A0673686170657312020A000A3F0A146172675F74656E736F725F656E71756575655F31120B506C616365686F6C6465722A0B0A056474797065120230032A0D0A05736861706512043A0218010A8A010A146669666F5F71756575655F656E71756575655F31120E5175657565456E717565756556321A0C6669666F5F71756575655F311A146172675F74656E736F725F656E71756575655F31220D2F6465766963653A4350553A302A190A0A74696D656F75745F6D73120B18FFFFFFFFFFFFFFFFFF012A140A0B54636F6D706F6E656E747312050A033201030A92010A0C6669666F5F71756575655F32120B4649464F51756575655632220D2F6465766963653A4350553A302A0E0A086361706163697479120218012A0F0A09636F6E7461696E6572120212002A180A0F636F6D706F6E656E745F747970657312050A033201032A0C0A0673686170657312020A002A1D0A0B7368617265645F6E616D65120E120C6669666F5F71756575655F320A3F0A146172675F74656E736F725F656E71756575655F32120B506C616365686F6C6465722A0B0A056474797065120230032A0D0A05736861706512043A0218010A8A010A146669666F5F71756575655F656E71756575655F32120E5175657565456E717565756556321A0C6669666F5F71756575655F321A146172675F74656E736F725F656E71756575655F32220D2F6465766963653A4350553A302A190A0A74696D656F75745F6D73120B18FFFFFFFFFFFFFFFFFF012A140A0B54636F6D706F6E656E747312050A033201030A92010A0C6669666F5F71756575655F33120B4649464F51756575655632220D2F6465766963653A4350553A302A0E0A086361706163697479120218012A0F0A09636F6E7461696E6572120212002A180A0F636F6D706F6E656E745F747970657312050A033201032A0C0A0673686170657312020A002A1D0A0B7368617265645F6E616D65120E120C6669666F5F71756575655F330A3F0A146172675F74656E736F725F656E71756575655F33120B506C616365686F6C6465722A0D0A05736861706512043A0218012A0B0A056474797065120230030A8A010A146669666F5F71756575655F656E71756575655F33120E5175657565456E717565756556321A0C6669666F5F71756575655F331A146172675F74656E736F725F656E71756575655F33220D2F6465766963653A4350553A302A190A0A74696D656F75745F6D73120B18FFFFFFFFFFFFFFFFFF012A140A0B54636F6D706F6E656E747312050A033201030A92010A0C6669666F5F71756575655F34120B4649464F51756575655632220D2F6465766963653A4350553A302A1D0A0B7368617265645F6E616D65120E120C6669666F5F71756575655F342A0E0A086361706163697479120218012A0F0A09636F6E7461696E6572120212002A180A0F636F6D706F6E656E745F747970657312050A033201032A0C0A0673686170657312020A000A3F0A146172675F74656E736F725F656E71756575655F34120B506C616365686F6C6465722A0B0A056474797065120230032A0D0A05736861706512043A0218010A8A010A146669666F5F71756575655F656E71756575655F34120E5175657565456E717565756556321A0C6669666F5F71756575655F341A146172675F74656E736F725F656E71756575655F34220D2F6465766963653A4350553A302A190A0A74696D656F75745F6D73120B18FFFFFFFFFFFFFFFFFF012A140A0B54636F6D706F6E656E747312050A033201030A92010A0C6669666F5F71756575655F35120B4649464F51756575655632220D2F6465766963653A4350553A302A0E0A086361706163697479120218012A0F0A09636F6E7461696E6572120212002A180A0F636F6D706F6E656E745F747970657312050A033201032A0C0A0673686170657312020A002A1D0A0B7368617265645F6E616D65120E120C6669666F5F71756575655F350A3F0A146172675F74656E736F725F656E71756575655F35120B506C616365686F6C6465722A0B0A056474797065120230032A0D0A05736861706512043A0218010A8A010A146669666F5F71756575655F656E71756575655F35120E5175657565456E717565756556321A0C6669666F5F71756575655F351A146172675F74656E736F725F656E71756575655F35220D2F6465766963653A4350553A302A190A0A74696D656F75745F6D73120B18FFFFFFFFFFFFFFFFFF012A140A0B54636F6D706F6E656E747312050A033201030A92010A0C6669666F5F71756575655F36120B4649464F51756575655632220D2F6465766963653A4350553A302A0C0A0673686170657312020A002A1D0A0B7368617265645F6E616D65120E120C6669666F5F71756575655F362A0E0A086361706163697479120218012A0F0A09636F6E7461696E6572120212002A180A0F636F6D706F6E656E745F747970657312050A033201030A3F0A146172675F74656E736F725F656E71756575655F36120B506C616365686F6C6465722A0D0A05736861706512043A0218012A0B0A056474797065120230030A8A010A146669666F5F71756575655F656E71756575655F36120E5175657565456E717565756556321A0C6669666F5F71756575655F361A146172675F74656E736F725F656E71756575655F36220D2F6465766963653A4350553A302A190A0A74696D656F75745F6D73120B18FFFFFFFFFFFFFFFFFF012A140A0B54636F6D706F6E656E747312050A033201030A92010A0C6669666F5F71756575655F37120B4649464F51756575655632220D2F6465766963653A4350553A302A0F0A09636F6E7461696E6572120212002A180A0F636F6D706F6E656E745F747970657312050A033201032A0C0A0673686170657312020A002A1D0A0B7368617265645F6E616D65120E120C6669666F5F71756575655F372A0E0A086361706163697479120218010A3F0A146172675F74656E736F725F656E71756575655F37120B506C616365686F6C6465722A0B0A056474797065120230032A0D0A05736861706512043A0218010A8A010A146669666F5F71756575655F656E71756575655F37120E5175657565456E717565756556321A0C6669666F5F71756575655F371A146172675F74656E736F725F656E71756575655F37220D2F6465766963653A4350553A302A190A0A74696D656F75745F6D73120B18FFFFFFFFFFFFFFFFFF012A140A0B54636F6D706F6E656E747312050A033201030A92010A0C6669666F5F71756575655F38120B4649464F51756575655632220D2F6465766963653A4350553A302A0E0A086361706163697479120218012A0F0A09636F6E7461696E6572120212002A180A0F636F6D706F6E656E745F747970657312050A033201032A0C0A0673686170657312020A002A1D0A0B7368617265645F6E616D65120E120C6669666F5F71756575655F380A3F0A146172675F74656E736F725F656E71756575655F38120B506C616365686F6C6465722A0B0A056474797065120230032A0D0A05736861706512043A0218010A8A010A146669666F5F71756575655F656E71756575655F38120E5175657565456E717565756556321A0C6669666F5F71756575655F381A146172675F74656E736F725F656E71756575655F38220D2F6465766963653A4350553A302A190A0A74696D656F75745F6D73120B18FFFFFFFFFFFFFFFFFF012A140A0B54636F6D706F6E656E747312050A033201030A92010A0C6669666F5F71756575655F39120B4649464F51756575655632220D2F6465766963653A4350553A302A0F0A09636F6E7461696E6572120212002A180A0F636F6D706F6E656E745F747970657312050A033201032A0C0A0673686170657312020A002A1D0A0B7368617265645F6E616D65120E120C6669666F5F71756575655F392A0E0A086361706163697479120218010A3F0A146172675F74656E736F725F656E71756575655F39120B506C616365686F6C6465722A0B0A056474797065120230032A0D0A05736861706512043A0218010A8A010A146669666F5F71756575655F656E71756575655F39120E5175657565456E717565756556321A0C6669666F5F71756575655F391A146172675F74656E736F725F656E71756575655F39220D2F6465766963653A4350553A302A190A0A74696D656F75745F6D73120B18FFFFFFFFFFFFFFFFFF012A140A0B54636F6D706F6E656E747312050A033201030A94010A0D6669666F5F71756575655F3130120B4649464F51756575655632220D2F6465766963653A4350553A302A1E0A0B7368617265645F6E616D65120F120D6669666F5F71756575655F31302A0E0A086361706163697479120218012A0F0A09636F6E7461696E6572120212002A180A0F636F6D706F6E656E745F747970657312050A033201032A0C0A0673686170657312020A000A400A156172675F74656E736F725F656E71756575655F3130120B506C616365686F6C6465722A0B0A056474797065120230032A0D0A05736861706512043A0218010A8D010A156669666F5F71756575655F656E71756575655F3130120E5175657565456E717565756556321A0D6669666F5F71756575655F31301A156172675F74656E736F725F656E71756575655F3130220D2F6465766963653A4350553A302A190A0A74696D656F75745F6D73120B18FFFFFFFFFFFFFFFFFF012A140A0B54636F6D706F6E656E747312050A033201030A530A1A7466635F66756E635F53346D61696E34746573747979462E7466122653346D61696E34746573747979462E74665F4350552E6465766963655F706172746974696F6E220D2F6465766963653A4350553A3012843B0A813B0A2B0A2653346D61696E34746573747979462E74665F4350552E6465766963655F706172746974696F6E8801011A540A1B6F702F746573742E2E2E322E365F2F6465766963655F4350555F301205436F6E7374220D2F6465766963653A4350553A302A120A0576616C756512094207080912005201012A0B0A056474797065120230091A720A1D6F702F746573742E2E5F312E322E365F2F6465766963655F4350555F301204436173741A246F702F746573742E2E2E322E365F2F6465766963655F4350555F303A6F75747075743A30220D2F6465766963653A4350553A302A0A0A0453726354120230092A0A0A0444737454120230011A610A1D6F702F746573742E2E5F322E322E365F2F6465766963655F4350555F301205436F6E7374220D2F6465766963653A4350553A302A1D0A0576616C7565121442120803120412020802220802000000020000002A0B0A056474797065120230031A8D010A106F705F2F6465766963655F4350555F30120446696C6C1A266F702F746573742E2E5F322E322E365F2F6465766963655F4350555F303A6F75747075743A301A216F702F746573742E2E5F312E322E365F2F6465766963655F4350555F303A793A30220D2F6465766963653A4350553A302A070A0154120230012A100A0A696E6465785F74797065120230031A92010A0C6669666F5F71756575655F30120B4649464F51756575655632220D2F6465766963653A4350553A302A1D0A0B7368617265645F6E616D65120E120C6669666F5F71756575655F302A0E0A086361706163697479120218012A180A0F636F6D706F6E656E745F747970657312050A033201032A0F0A09636F6E7461696E6572120212002A0C0A0673686170657312020A001A81010A146669666F5F71756575655F646571756575655F30120E51756575654465717565756556321A156669666F5F71756575655F303A68616E646C653A30220D2F6465766963653A4350553A302A180A0F636F6D706F6E656E745F747970657312050A033201032A190A0A74696D656F75745F6D73120B18FFFFFFFFFFFFFFFFFF011A81010A126F705F2F6465766963655F4350555F305F301207526573686170651A196F705F2F6465766963655F4350555F303A6F75747075743A301A216669666F5F71756575655F646571756575655F303A636F6D706F6E656E74733A30220D2F6465766963653A4350553A302A070A0154120230012A0C0A06547368617065120230031A560A126F705F2F6465766963655F4350555F305F311205436F6E7374220D2F6465766963653A4350553A302A1D0A0576616C7565121442120803120412020802220802000000020000002A0B0A056474797065120230031A84010A126F705F2F6465766963655F4350555F305F32120446696C6C1A1B6F705F2F6465766963655F4350555F305F313A6F75747075743A301A216F702F746573742E2E5F312E322E365F2F6465766963655F4350555F303A793A30220D2F6465766963653A4350553A302A070A0154120230012A100A0A696E6465785F74797065120230031A92010A0C6669666F5F71756575655F31120B4649464F51756575655632220D2F6465766963653A4350553A302A0E0A086361706163697479120218012A180A0F636F6D706F6E656E745F747970657312050A033201032A0F0A09636F6E7461696E6572120212002A0C0A0673686170657312020A002A1D0A0B7368617265645F6E616D65120E120C6669666F5F71756575655F311A98010A146669666F5F71756575655F646571756575655F31120E51756575654465717565756556321A156669666F5F71756575655F313A68616E646C653A301A155E6669666F5F71756575655F646571756575655F30220D2F6465766963653A4350553A302A180A0F636F6D706F6E656E745F747970657312050A033201032A190A0A74696D656F75745F6D73120B18FFFFFFFFFFFFFFFFFF011A83010A126F705F2F6465766963655F4350555F305F331207526573686170651A1B6F705F2F6465766963655F4350555F305F323A6F75747075743A301A216669666F5F71756575655F646571756575655F313A636F6D706F6E656E74733A30220D2F6465766963653A4350553A302A070A0154120230012A0C0A06547368617065120230031A560A126F705F2F6465766963655F4350555F305F341205436F6E7374220D2F6465766963653A4350553A302A1D0A0576616C7565121442120803120412020802220802000000020000002A0B0A056474797065120230031A84010A126F705F2F6465766963655F4350555F305F35120446696C6C1A1B6F705F2F6465766963655F4350555F305F343A6F75747075743A301A216F702F746573742E2E5F312E322E365F2F6465766963655F4350555F303A793A30220D2F6465766963653A4350553A302A070A0154120230012A100A0A696E6465785F74797065120230031A92010A0C6669666F5F71756575655F32120B4649464F51756575655632220D2F6465766963653A4350553A302A1D0A0B7368617265645F6E616D65120E120C6669666F5F71756575655F322A0E0A086361706163697479120218012A180A0F636F6D706F6E656E745F747970657312050A033201032A0F0A09636F6E7461696E6572120212002A0C0A0673686170657312020A001A98010A146669666F5F71756575655F646571756575655F32120E51756575654465717565756556321A156669666F5F71756575655F323A68616E646C653A301A155E6669666F5F71756575655F646571756575655F31220D2F6465766963653A4350553A302A190A0A74696D656F75745F6D73120B18FFFFFFFFFFFFFFFFFF012A180A0F636F6D706F6E656E745F747970657312050A033201031A83010A126F705F2F6465766963655F4350555F305F361207526573686170651A1B6F705F2F6465766963655F4350555F305F353A6F75747075743A301A216669666F5F71756575655F646571756575655F323A636F6D706F6E656E74733A30220D2F6465766963653A4350553A302A0C0A06547368617065120230032A070A0154120230011A560A126F705F2F6465766963655F4350555F305F371205436F6E7374220D2F6465766963653A4350553A302A1D0A0576616C7565121442120803120412020802220802000000020000002A0B0A056474797065120230031A84010A126F705F2F6465766963655F4350555F305F38120446696C6C1A1B6F705F2F6465766963655F4350555F305F373A6F75747075743A301A216F702F746573742E2E5F312E322E365F2F6465766963655F4350555F303A793A30220D2F6465766963653A4350553A302A070A0154120230012A100A0A696E6465785F74797065120230031A92010A0C6669666F5F71756575655F33120B4649464F51756575655632220D2F6465766963653A4350553A302A0E0A086361706163697479120218012A180A0F636F6D706F6E656E745F747970657312050A033201032A0F0A09636F6E7461696E6572120212002A0C0A0673686170657312020A002A1D0A0B7368617265645F6E616D65120E120C6669666F5F71756575655F331A98010A146669666F5F71756575655F646571756575655F33120E51756575654465717565756556321A156669666F5F71756575655F333A68616E646C653A301A155E6669666F5F71756575655F646571756575655F32220D2F6465766963653A4350553A302A180A0F636F6D706F6E656E745F747970657312050A033201032A190A0A74696D656F75745F6D73120B18FFFFFFFFFFFFFFFFFF011A83010A126F705F2F6465766963655F4350555F305F391207526573686170651A1B6F705F2F6465766963655F4350555F305F383A6F75747075743A301A216669666F5F71756575655F646571756575655F333A636F6D706F6E656E74733A30220D2F6465766963653A4350553A302A070A0154120230012A0C0A06547368617065120230031A570A136F705F2F6465766963655F4350555F305F31301205436F6E7374220D2F6465766963653A4350553A302A1D0A0576616C7565121442120803120412020802220802000000020000002A0B0A056474797065120230031A86010A136F705F2F6465766963655F4350555F305F3131120446696C6C1A1C6F705F2F6465766963655F4350555F305F31303A6F75747075743A301A216F702F746573742E2E5F312E322E365F2F6465766963655F4350555F303A793A30220D2F6465766963653A4350553A302A070A0154120230012A100A0A696E6465785F74797065120230031A92010A0C6669666F5F71756575655F34120B4649464F51756575655632220D2F6465766963653A4350553A302A0C0A0673686170657312020A002A1D0A0B7368617265645F6E616D65120E120C6669666F5F71756575655F342A0E0A086361706163697479120218012A180A0F636F6D706F6E656E745F747970657312050A033201032A0F0A09636F6E7461696E6572120212001A98010A146669666F5F71756575655F646571756575655F34120E51756575654465717565756556321A156669666F5F71756575655F343A68616E646C653A301A155E6669666F5F71756575655F646571756575655F33220D2F6465766963653A4350553A302A180A0F636F6D706F6E656E745F747970657312050A033201032A190A0A74696D656F75745F6D73120B18FFFFFFFFFFFFFFFFFF011A85010A136F705F2F6465766963655F4350555F305F31321207526573686170651A1C6F705F2F6465766963655F4350555F305F31313A6F75747075743A301A216669666F5F71756575655F646571756575655F343A636F6D706F6E656E74733A30220D2F6465766963653A4350553A302A070A0154120230012A0C0A06547368617065120230031A570A136F705F2F6465766963655F4350555F305F31331205436F6E7374220D2F6465766963653A4350553A302A1D0A0576616C7565121442120803120412020802220802000000020000002A0B0A056474797065120230031A86010A136F705F2F6465766963655F4350555F305F3134120446696C6C1A1C6F705F2F6465766963655F4350555F305F31333A6F75747075743A301A216F702F746573742E2E5F312E322E365F2F6465766963655F4350555F303A793A30220D2F6465766963653A4350553A302A070A0154120230012A100A0A696E6465785F74797065120230031A92010A0C6669666F5F71756575655F35120B4649464F51756575655632220D2F6465766963653A4350553A302A180A0F636F6D706F6E656E745F747970657312050A033201032A0F0A09636F6E7461696E6572120212002A0C0A0673686170657312020A002A1D0A0B7368617265645F6E616D65120E120C6669666F5F71756575655F352A0E0A086361706163697479120218011A98010A146669666F5F71756575655F646571756575655F35120E51756575654465717565756556321A156669666F5F71756575655F353A68616E646C653A301A155E6669666F5F71756575655F646571756575655F34220D2F6465766963653A4350553A302A180A0F636F6D706F6E656E745F747970657312050A033201032A190A0A74696D656F75745F6D73120B18FFFFFFFFFFFFFFFFFF011A85010A136F705F2F6465766963655F4350555F305F31351207526573686170651A1C6F705F2F6465766963655F4350555F305F31343A6F75747075743A301A216669666F5F71756575655F646571756575655F353A636F6D706F6E656E74733A30220D2F6465766963653A4350553A302A070A0154120230012A0C0A06547368617065120230031A570A136F705F2F6465766963655F4350555F305F31361205436F6E7374220D2F6465766963653A4350553A302A1D0A0576616C7565121442120803120412020802220802000000020000002A0B0A056474797065120230031A86010A136F705F2F6465766963655F4350555F305F3137120446696C6C1A1C6F705F2F6465766963655F4350555F305F31363A6F75747075743A301A216F702F746573742E2E5F312E322E365F2F6465766963655F4350555F303A793A30220D2F6465766963653A4350553A302A100A0A696E6465785F74797065120230032A070A0154120230011A92010A0C6669666F5F71756575655F36120B4649464F51756575655632220D2F6465766963653A4350553A302A0E0A086361706163697479120218012A180A0F636F6D706F6E656E745F747970657312050A033201032A0F0A09636F6E7461696E6572120212002A0C0A0673686170657312020A002A1D0A0B7368617265645F6E616D65120E120C6669666F5F71756575655F361A98010A146669666F5F71756575655F646571756575655F36120E51756575654465717565756556321A156669666F5F71756575655F363A68616E646C653A301A155E6669666F5F71756575655F646571756575655F35220D2F6465766963653A4350553A302A180A0F636F6D706F6E656E745F747970657312050A033201032A190A0A74696D656F75745F6D73120B18FFFFFFFFFFFFFFFFFF011A85010A136F705F2F6465766963655F4350555F305F31381207526573686170651A1C6F705F2F6465766963655F4350555F305F31373A6F75747075743A301A216669666F5F71756575655F646571756575655F363A636F6D706F6E656E74733A30220D2F6465766963653A4350553A302A070A0154120230012A0C0A06547368617065120230031A570A136F705F2F6465766963655F4350555F305F31391205436F6E7374220D2F6465766963653A4350553A302A1D0A0576616C7565121442120803120412020802220802000000020000002A0B0A056474797065120230031A86010A136F705F2F6465766963655F4350555F305F3230120446696C6C1A1C6F705F2F6465766963655F4350555F305F31393A6F75747075743A301A216F702F746573742E2E5F312E322E365F2F6465766963655F4350555F303A793A30220D2F6465766963653A4350553A302A070A0154120230012A100A0A696E6465785F74797065120230031A92010A0C6669666F5F71756575655F37120B4649464F51756575655632220D2F6465766963653A4350553A302A1D0A0B7368617265645F6E616D65120E120C6669666F5F71756575655F372A0E0A086361706163697479120218012A180A0F636F6D706F6E656E745F747970657312050A033201032A0F0A09636F6E7461696E6572120212002A0C0A0673686170657312020A001A98010A146669666F5F71756575655F646571756575655F37120E51756575654465717565756556321A156669666F5F71756575655F373A68616E646C653A301A155E6669666F5F71756575655F646571756575655F36220D2F6465766963653A4350553A302A180A0F636F6D706F6E656E745F747970657312050A033201032A190A0A74696D656F75745F6D73120B18FFFFFFFFFFFFFFFFFF011A85010A136F705F2F6465766963655F4350555F305F32311207526573686170651A1C6F705F2F6465766963655F4350555F305F32303A6F75747075743A301A216669666F5F71756575655F646571756575655F373A636F6D706F6E656E74733A30220D2F6465766963653A4350553A302A070A0154120230012A0C0A06547368617065120230031A570A136F705F2F6465766963655F4350555F305F32321205436F6E7374220D2F6465766963653A4350553A302A1D0A0576616C7565121442120803120412020802220802000000020000002A0B0A056474797065120230031A86010A136F705F2F6465766963655F4350555F305F3233120446696C6C1A1C6F705F2F6465766963655F4350555F305F32323A6F75747075743A301A216F702F746573742E2E5F312E322E365F2F6465766963655F4350555F303A793A30220D2F6465766963653A4350553A302A070A0154120230012A100A0A696E6465785F74797065120230031A92010A0C6669666F5F71756575655F38120B4649464F51756575655632220D2F6465766963653A4350553A302A1D0A0B7368617265645F6E616D65120E120C6669666F5F71756575655F382A0E0A086361706163697479120218012A180A0F636F6D706F6E656E745F747970657312050A033201032A0F0A09636F6E7461696E6572120212002A0C0A0673686170657312020A001A98010A146669666F5F71756575655F646571756575655F38120E51756575654465717565756556321A156669666F5F71756575655F383A68616E646C653A301A155E6669666F5F71756575655F646571756575655F37220D2F6465766963653A4350553A302A180A0F636F6D706F6E656E745F747970657312050A033201032A190A0A74696D656F75745F6D73120B18FFFFFFFFFFFFFFFFFF011A85010A136F705F2F6465766963655F4350555F305F32341207526573686170651A1C6F705F2F6465766963655F4350555F305F32333A6F75747075743A301A216669666F5F71756575655F646571756575655F383A636F6D706F6E656E74733A30220D2F6465766963653A4350553A302A070A0154120230012A0C0A06547368617065120230031A570A136F705F2F6465766963655F4350555F305F32351205436F6E7374220D2F6465766963653A4350553A302A1D0A0576616C7565121442120803120412020802220802000000020000002A0B0A056474797065120230031A86010A136F705F2F6465766963655F4350555F305F3236120446696C6C1A1C6F705F2F6465766963655F4350555F305F32353A6F75747075743A301A216F702F746573742E2E5F312E322E365F2F6465766963655F4350555F303A793A30220D2F6465766963653A4350553A302A070A0154120230012A100A0A696E6465785F74797065120230031A92010A0C6669666F5F71756575655F39120B4649464F51756575655632220D2F6465766963653A4350553A302A180A0F636F6D706F6E656E745F747970657312050A033201032A0F0A09636F6E7461696E6572120212002A0C0A0673686170657312020A002A1D0A0B7368617265645F6E616D65120E120C6669666F5F71756575655F392A0E0A086361706163697479120218011A98010A146669666F5F71756575655F646571756575655F39120E51756575654465717565756556321A156669666F5F71756575655F393A68616E646C653A301A155E6669666F5F71756575655F646571756575655F38220D2F6465766963653A4350553A302A180A0F636F6D706F6E656E745F747970657312050A033201032A190A0A74696D656F75745F6D73120B18FFFFFFFFFFFFFFFFFF011A85010A136F705F2F6465766963655F4350555F305F32371207526573686170651A1C6F705F2F6465766963655F4350555F305F32363A6F75747075743A301A216669666F5F71756575655F646571756575655F393A636F6D706F6E656E74733A30220D2F6465766963653A4350553A302A0C0A06547368617065120230032A070A0154120230011A570A136F705F2F6465766963655F4350555F305F32381205436F6E7374220D2F6465766963653A4350553A302A1D0A0576616C7565121442120803120412020802220802000000020000002A0B0A056474797065120230031A86010A136F705F2F6465766963655F4350555F305F3239120446696C6C1A1C6F705F2F6465766963655F4350555F305F32383A6F75747075743A301A216F702F746573742E2E5F312E322E365F2F6465766963655F4350555F303A793A30220D2F6465766963653A4350553A302A070A0154120230012A100A0A696E6465785F74797065120230031A94010A0D6669666F5F71756575655F3130120B4649464F51756575655632220D2F6465766963653A4350553A302A1E0A0B7368617265645F6E616D65120F120D6669666F5F71756575655F31302A0E0A086361706163697479120218012A180A0F636F6D706F6E656E745F747970657312050A033201032A0F0A09636F6E7461696E6572120212002A0C0A0673686170657312020A001A9A010A156669666F5F71756575655F646571756575655F3130120E51756575654465717565756556321A166669666F5F71756575655F31303A68616E646C653A301A155E6669666F5F71756575655F646571756575655F39220D2F6465766963653A4350553A302A180A0F636F6D706F6E656E745F747970657312050A033201032A190A0A74696D656F75745F6D73120B18FFFFFFFFFFFFFFFFFF011A86010A136F705F2F6465766963655F4350555F305F33301207526573686170651A1C6F705F2F6465766963655F4350555F305F32393A6F75747075743A301A226669666F5F71756575655F646571756575655F31303A636F6D706F6E656E74733A30220D2F6465766963653A4350553A302A070A0154120230012A0C0A06547368617065120230032204081A100C" // user: %5 | |
| %2 = integer_literal $Builtin.Int64, 11561 // user: %7 | |
| %3 = string_literal utf8 "S4main4testyyF.tf" // user: %6 | |
| %4 = integer_literal $Builtin.Int64, 0 // user: %8 | |
| %5 = struct $UnsafeRawPointer (%1 : $Builtin.RawPointer) // user: %18 | |
| %6 = struct $UnsafePointer<Int8> (%3 : $Builtin.RawPointer) // user: %18 | |
| %7 = struct $Int (%2 : $Builtin.Int64) // user: %18 | |
| %8 = struct $Int (%4 : $Builtin.Int64) // user: %18 | |
| %9 = alloc_stack $OpaquePointer // users: %20, %10 | |
| %10 = begin_access [read] [static] %9 : $*OpaquePointer // users: %19, %11 | |
| %11 = address_to_pointer %10 : $*OpaquePointer to $Builtin.RawPointer // user: %12 | |
| %12 = struct $UnsafePointer<OpaquePointer> (%11 : $Builtin.RawPointer) // user: %18 | |
| %13 = integer_literal $Builtin.Int64, 0 // user: %14 | |
| %14 = struct $Int (%13 : $Builtin.Int64) // user: %18 | |
| %15 = integer_literal $Builtin.Int64, 0 // user: %16 | |
| %16 = struct $Int (%15 : $Builtin.Int64) // users: %168, %18 | |
| // function_ref _swift_tfc_StartTensorComputation | |
| %17 = function_ref @_swift_tfc_StartTensorComputation : $@convention(thin) (UnsafeRawPointer, Int, UnsafePointer<Int8>, UnsafePointer<OpaquePointer>, Int, Int, Int) -> @owned _TensorComputation // user: %18 | |
| %18 = apply %17(%5, %7, %6, %12, %14, %8, %16) : $@convention(thin) (UnsafeRawPointer, Int, UnsafePointer<Int8>, UnsafePointer<OpaquePointer>, Int, Int, Int) -> @owned _TensorComputation // users: %161, %148, %135, %122, %109, %96, %83, %70, %57, %44, %31, %168 | |
| end_access %10 : $*OpaquePointer // id: %19 | |
| dealloc_stack %9 : $*OpaquePointer // id: %20 | |
| %21 = global_value @$S4main4testyyFTv_ : $_ContiguousArrayStorage<Int32> // users: %32, %23, %22 | |
| strong_retain %21 : $_ContiguousArrayStorage<Int32> // id: %22 | |
| %23 = unchecked_ref_cast %21 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %24 | |
| %24 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%23 : $Builtin.BridgeObject) // user: %25 | |
| %25 = struct $_ArrayBuffer<Int32> (%24 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %26 | |
| %26 = struct $Array<Int32> (%25 : $_ArrayBuffer<Int32>) // user: %27 | |
| %27 = apply %0<Int32>(%26) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %31, %33 | |
| %28 = integer_literal $Builtin.Int64, 0 // user: %29 | |
| %29 = struct $Int (%28 : $Builtin.Int64) // user: %31 | |
| // function_ref TensorHandle.sendToAccelerator(_:_:) | |
| %30 = function_ref @$S10TensorFlow0A6HandleC17sendToAcceleratoryyAA01_A11ComputationC_SitF : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed _TensorComputation, Int, @guaranteed TensorHandle<τ_0_0>) -> () // user: %31 | |
| %31 = apply %30<Int32>(%18, %29, %27) : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed _TensorComputation, Int, @guaranteed TensorHandle<τ_0_0>) -> () | |
| strong_release %21 : $_ContiguousArrayStorage<Int32> // id: %32 | |
| strong_release %27 : $TensorHandle<Int32> // id: %33 | |
| %34 = global_value @$S4main4testyyFTv0_ : $_ContiguousArrayStorage<Int32> // users: %45, %36, %35 | |
| strong_retain %34 : $_ContiguousArrayStorage<Int32> // id: %35 | |
| %36 = unchecked_ref_cast %34 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %37 | |
| %37 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%36 : $Builtin.BridgeObject) // user: %38 | |
| %38 = struct $_ArrayBuffer<Int32> (%37 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %39 | |
| %39 = struct $Array<Int32> (%38 : $_ArrayBuffer<Int32>) // user: %40 | |
| %40 = apply %0<Int32>(%39) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %44, %46 | |
| %41 = integer_literal $Builtin.Int64, 1 // user: %42 | |
| %42 = struct $Int (%41 : $Builtin.Int64) // user: %44 | |
| // function_ref TensorHandle.sendToAccelerator(_:_:) | |
| %43 = function_ref @$S10TensorFlow0A6HandleC17sendToAcceleratoryyAA01_A11ComputationC_SitF : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed _TensorComputation, Int, @guaranteed TensorHandle<τ_0_0>) -> () // user: %44 | |
| %44 = apply %43<Int32>(%18, %42, %40) : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed _TensorComputation, Int, @guaranteed TensorHandle<τ_0_0>) -> () | |
| strong_release %34 : $_ContiguousArrayStorage<Int32> // id: %45 | |
| strong_release %40 : $TensorHandle<Int32> // id: %46 | |
| %47 = global_value @$S4main4testyyFTv1_ : $_ContiguousArrayStorage<Int32> // users: %58, %49, %48 | |
| strong_retain %47 : $_ContiguousArrayStorage<Int32> // id: %48 | |
| %49 = unchecked_ref_cast %47 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %50 | |
| %50 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%49 : $Builtin.BridgeObject) // user: %51 | |
| %51 = struct $_ArrayBuffer<Int32> (%50 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %52 | |
| %52 = struct $Array<Int32> (%51 : $_ArrayBuffer<Int32>) // user: %53 | |
| %53 = apply %0<Int32>(%52) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %57, %59 | |
| %54 = integer_literal $Builtin.Int64, 2 // user: %55 | |
| %55 = struct $Int (%54 : $Builtin.Int64) // user: %57 | |
| // function_ref TensorHandle.sendToAccelerator(_:_:) | |
| %56 = function_ref @$S10TensorFlow0A6HandleC17sendToAcceleratoryyAA01_A11ComputationC_SitF : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed _TensorComputation, Int, @guaranteed TensorHandle<τ_0_0>) -> () // user: %57 | |
| %57 = apply %56<Int32>(%18, %55, %53) : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed _TensorComputation, Int, @guaranteed TensorHandle<τ_0_0>) -> () | |
| strong_release %47 : $_ContiguousArrayStorage<Int32> // id: %58 | |
| strong_release %53 : $TensorHandle<Int32> // id: %59 | |
| %60 = global_value @$S4main4testyyFTv2_ : $_ContiguousArrayStorage<Int32> // users: %71, %62, %61 | |
| strong_retain %60 : $_ContiguousArrayStorage<Int32> // id: %61 | |
| %62 = unchecked_ref_cast %60 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %63 | |
| %63 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%62 : $Builtin.BridgeObject) // user: %64 | |
| %64 = struct $_ArrayBuffer<Int32> (%63 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %65 | |
| %65 = struct $Array<Int32> (%64 : $_ArrayBuffer<Int32>) // user: %66 | |
| %66 = apply %0<Int32>(%65) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %70, %72 | |
| %67 = integer_literal $Builtin.Int64, 3 // user: %68 | |
| %68 = struct $Int (%67 : $Builtin.Int64) // user: %70 | |
| // function_ref TensorHandle.sendToAccelerator(_:_:) | |
| %69 = function_ref @$S10TensorFlow0A6HandleC17sendToAcceleratoryyAA01_A11ComputationC_SitF : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed _TensorComputation, Int, @guaranteed TensorHandle<τ_0_0>) -> () // user: %70 | |
| %70 = apply %69<Int32>(%18, %68, %66) : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed _TensorComputation, Int, @guaranteed TensorHandle<τ_0_0>) -> () | |
| strong_release %60 : $_ContiguousArrayStorage<Int32> // id: %71 | |
| strong_release %66 : $TensorHandle<Int32> // id: %72 | |
| %73 = global_value @$S4main4testyyFTv3_ : $_ContiguousArrayStorage<Int32> // users: %84, %75, %74 | |
| strong_retain %73 : $_ContiguousArrayStorage<Int32> // id: %74 | |
| %75 = unchecked_ref_cast %73 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %76 | |
| %76 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%75 : $Builtin.BridgeObject) // user: %77 | |
| %77 = struct $_ArrayBuffer<Int32> (%76 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %78 | |
| %78 = struct $Array<Int32> (%77 : $_ArrayBuffer<Int32>) // user: %79 | |
| %79 = apply %0<Int32>(%78) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %83, %85 | |
| %80 = integer_literal $Builtin.Int64, 4 // user: %81 | |
| %81 = struct $Int (%80 : $Builtin.Int64) // user: %83 | |
| // function_ref TensorHandle.sendToAccelerator(_:_:) | |
| %82 = function_ref @$S10TensorFlow0A6HandleC17sendToAcceleratoryyAA01_A11ComputationC_SitF : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed _TensorComputation, Int, @guaranteed TensorHandle<τ_0_0>) -> () // user: %83 | |
| %83 = apply %82<Int32>(%18, %81, %79) : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed _TensorComputation, Int, @guaranteed TensorHandle<τ_0_0>) -> () | |
| strong_release %73 : $_ContiguousArrayStorage<Int32> // id: %84 | |
| strong_release %79 : $TensorHandle<Int32> // id: %85 | |
| %86 = global_value @$S4main4testyyFTv4_ : $_ContiguousArrayStorage<Int32> // users: %97, %88, %87 | |
| strong_retain %86 : $_ContiguousArrayStorage<Int32> // id: %87 | |
| %88 = unchecked_ref_cast %86 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %89 | |
| %89 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%88 : $Builtin.BridgeObject) // user: %90 | |
| %90 = struct $_ArrayBuffer<Int32> (%89 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %91 | |
| %91 = struct $Array<Int32> (%90 : $_ArrayBuffer<Int32>) // user: %92 | |
| %92 = apply %0<Int32>(%91) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %96, %98 | |
| %93 = integer_literal $Builtin.Int64, 5 // user: %94 | |
| %94 = struct $Int (%93 : $Builtin.Int64) // user: %96 | |
| // function_ref TensorHandle.sendToAccelerator(_:_:) | |
| %95 = function_ref @$S10TensorFlow0A6HandleC17sendToAcceleratoryyAA01_A11ComputationC_SitF : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed _TensorComputation, Int, @guaranteed TensorHandle<τ_0_0>) -> () // user: %96 | |
| %96 = apply %95<Int32>(%18, %94, %92) : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed _TensorComputation, Int, @guaranteed TensorHandle<τ_0_0>) -> () | |
| strong_release %86 : $_ContiguousArrayStorage<Int32> // id: %97 | |
| strong_release %92 : $TensorHandle<Int32> // id: %98 | |
| %99 = global_value @$S4main4testyyFTv5_ : $_ContiguousArrayStorage<Int32> // users: %110, %101, %100 | |
| strong_retain %99 : $_ContiguousArrayStorage<Int32> // id: %100 | |
| %101 = unchecked_ref_cast %99 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %102 | |
| %102 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%101 : $Builtin.BridgeObject) // user: %103 | |
| %103 = struct $_ArrayBuffer<Int32> (%102 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %104 | |
| %104 = struct $Array<Int32> (%103 : $_ArrayBuffer<Int32>) // user: %105 | |
| %105 = apply %0<Int32>(%104) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %109, %111 | |
| %106 = integer_literal $Builtin.Int64, 6 // user: %107 | |
| %107 = struct $Int (%106 : $Builtin.Int64) // user: %109 | |
| // function_ref TensorHandle.sendToAccelerator(_:_:) | |
| %108 = function_ref @$S10TensorFlow0A6HandleC17sendToAcceleratoryyAA01_A11ComputationC_SitF : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed _TensorComputation, Int, @guaranteed TensorHandle<τ_0_0>) -> () // user: %109 | |
| %109 = apply %108<Int32>(%18, %107, %105) : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed _TensorComputation, Int, @guaranteed TensorHandle<τ_0_0>) -> () | |
| strong_release %99 : $_ContiguousArrayStorage<Int32> // id: %110 | |
| strong_release %105 : $TensorHandle<Int32> // id: %111 | |
| %112 = global_value @$S4main4testyyFTv6_ : $_ContiguousArrayStorage<Int32> // users: %123, %114, %113 | |
| strong_retain %112 : $_ContiguousArrayStorage<Int32> // id: %113 | |
| %114 = unchecked_ref_cast %112 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %115 | |
| %115 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%114 : $Builtin.BridgeObject) // user: %116 | |
| %116 = struct $_ArrayBuffer<Int32> (%115 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %117 | |
| %117 = struct $Array<Int32> (%116 : $_ArrayBuffer<Int32>) // user: %118 | |
| %118 = apply %0<Int32>(%117) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %122, %124 | |
| %119 = integer_literal $Builtin.Int64, 7 // user: %120 | |
| %120 = struct $Int (%119 : $Builtin.Int64) // user: %122 | |
| // function_ref TensorHandle.sendToAccelerator(_:_:) | |
| %121 = function_ref @$S10TensorFlow0A6HandleC17sendToAcceleratoryyAA01_A11ComputationC_SitF : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed _TensorComputation, Int, @guaranteed TensorHandle<τ_0_0>) -> () // user: %122 | |
| %122 = apply %121<Int32>(%18, %120, %118) : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed _TensorComputation, Int, @guaranteed TensorHandle<τ_0_0>) -> () | |
| strong_release %112 : $_ContiguousArrayStorage<Int32> // id: %123 | |
| strong_release %118 : $TensorHandle<Int32> // id: %124 | |
| %125 = global_value @$S4main4testyyFTv7_ : $_ContiguousArrayStorage<Int32> // users: %136, %127, %126 | |
| strong_retain %125 : $_ContiguousArrayStorage<Int32> // id: %126 | |
| %127 = unchecked_ref_cast %125 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %128 | |
| %128 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%127 : $Builtin.BridgeObject) // user: %129 | |
| %129 = struct $_ArrayBuffer<Int32> (%128 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %130 | |
| %130 = struct $Array<Int32> (%129 : $_ArrayBuffer<Int32>) // user: %131 | |
| %131 = apply %0<Int32>(%130) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %135, %137 | |
| %132 = integer_literal $Builtin.Int64, 8 // user: %133 | |
| %133 = struct $Int (%132 : $Builtin.Int64) // user: %135 | |
| // function_ref TensorHandle.sendToAccelerator(_:_:) | |
| %134 = function_ref @$S10TensorFlow0A6HandleC17sendToAcceleratoryyAA01_A11ComputationC_SitF : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed _TensorComputation, Int, @guaranteed TensorHandle<τ_0_0>) -> () // user: %135 | |
| %135 = apply %134<Int32>(%18, %133, %131) : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed _TensorComputation, Int, @guaranteed TensorHandle<τ_0_0>) -> () | |
| strong_release %125 : $_ContiguousArrayStorage<Int32> // id: %136 | |
| strong_release %131 : $TensorHandle<Int32> // id: %137 | |
| %138 = global_value @$S4main4testyyFTv8_ : $_ContiguousArrayStorage<Int32> // users: %149, %140, %139 | |
| strong_retain %138 : $_ContiguousArrayStorage<Int32> // id: %139 | |
| %140 = unchecked_ref_cast %138 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %141 | |
| %141 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%140 : $Builtin.BridgeObject) // user: %142 | |
| %142 = struct $_ArrayBuffer<Int32> (%141 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %143 | |
| %143 = struct $Array<Int32> (%142 : $_ArrayBuffer<Int32>) // user: %144 | |
| %144 = apply %0<Int32>(%143) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %148, %150 | |
| %145 = integer_literal $Builtin.Int64, 9 // user: %146 | |
| %146 = struct $Int (%145 : $Builtin.Int64) // user: %148 | |
| // function_ref TensorHandle.sendToAccelerator(_:_:) | |
| %147 = function_ref @$S10TensorFlow0A6HandleC17sendToAcceleratoryyAA01_A11ComputationC_SitF : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed _TensorComputation, Int, @guaranteed TensorHandle<τ_0_0>) -> () // user: %148 | |
| %148 = apply %147<Int32>(%18, %146, %144) : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed _TensorComputation, Int, @guaranteed TensorHandle<τ_0_0>) -> () | |
| strong_release %138 : $_ContiguousArrayStorage<Int32> // id: %149 | |
| strong_release %144 : $TensorHandle<Int32> // id: %150 | |
| %151 = global_value @$S4main4testyyFTv9_ : $_ContiguousArrayStorage<Int32> // users: %162, %153, %152 | |
| strong_retain %151 : $_ContiguousArrayStorage<Int32> // id: %152 | |
| %153 = unchecked_ref_cast %151 : $_ContiguousArrayStorage<Int32> to $Builtin.BridgeObject // user: %154 | |
| %154 = struct $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore> (%153 : $Builtin.BridgeObject) // user: %155 | |
| %155 = struct $_ArrayBuffer<Int32> (%154 : $_BridgeStorage<_ContiguousArrayStorageBase, _NSArrayCore>) // user: %156 | |
| %156 = struct $Array<Int32> (%155 : $_ArrayBuffer<Int32>) // user: %157 | |
| %157 = apply %0<Int32>(%156) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed Array<τ_0_0>) -> @owned TensorHandle<τ_0_0> // users: %161, %171 | |
| %158 = integer_literal $Builtin.Int64, 10 // user: %159 | |
| %159 = struct $Int (%158 : $Builtin.Int64) // user: %161 | |
| // function_ref TensorHandle.sendToAccelerator(_:_:) | |
| %160 = function_ref @$S10TensorFlow0A6HandleC17sendToAcceleratoryyAA01_A11ComputationC_SitF : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed _TensorComputation, Int, @guaranteed TensorHandle<τ_0_0>) -> () // user: %161 | |
| %161 = apply %160<Int32>(%18, %159, %157) : $@convention(method) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed _TensorComputation, Int, @guaranteed TensorHandle<τ_0_0>) -> () | |
| strong_release %151 : $_ContiguousArrayStorage<Int32> // id: %162 | |
| %163 = alloc_stack $OpaquePointer // users: %170, %164 | |
| %164 = begin_access [modify] [static] %163 : $*OpaquePointer // users: %169, %165 | |
| %165 = address_to_pointer %164 : $*OpaquePointer to $Builtin.RawPointer // user: %166 | |
| %166 = struct $UnsafeMutablePointer<OpaquePointer> (%165 : $Builtin.RawPointer) // user: %168 | |
| // function_ref _swift_tfc_FinishTensorComputation | |
| %167 = function_ref @_swift_tfc_FinishTensorComputation : $@convention(thin) (@guaranteed _TensorComputation, UnsafeMutablePointer<OpaquePointer>, Int) -> () // user: %168 | |
| %168 = apply %167(%18, %166, %16) : $@convention(thin) (@guaranteed _TensorComputation, UnsafeMutablePointer<OpaquePointer>, Int) -> () | |
| end_access %164 : $*OpaquePointer // id: %169 | |
| dealloc_stack %163 : $*OpaquePointer // id: %170 | |
| strong_release %157 : $TensorHandle<Int32> // id: %171 | |
| %172 = tuple () // user: %173 | |
| return %172 : $() // id: %173 | |
| } // end sil function '$S4main4testyyF' | |
| --- |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment