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