Skip to content

Commit a24ea90

Browse files
authored
[AutoDiff] NFC: garden tests. (swiftlang#30598)
* Move muliti-functionality SIL tests to test/AutoDiff/SIL. * Add `with_derivative` clause to `differentiable_function` instructions. Otherwise, IRGen for test/AutoDiff/SIL/differentiable_function_inst.sil fails on tensorflow branch because the differentiation transform cannot differentiate external functions.
1 parent e1cb1a2 commit a24ea90

4 files changed

+4
-4
lines changed

test/AutoDiff/differentiable_function_inst.sil renamed to test/AutoDiff/SIL/differentiable_function_inst.sil

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,20 +57,20 @@ sil @examplemethod : $@convention(method) (Float, Float, Float) -> Float
5757
sil @test_roundtrip_parse : $@convention(thin) () -> () {
5858
bb0:
5959
%0 = function_ref @examplefunc : $@convention(thin) (Float, Float, Float) -> Float
60-
%1 = differentiable_function [parameters 0 1 2] %0 : $@convention(thin) (Float, Float, Float) -> Float
60+
%1 = differentiable_function [parameters 0 1 2] %0 : $@convention(thin) (Float, Float, Float) -> Float with_derivative {undef : $@convention(thin) (Float, Float, Float) -> (Float, @owned @callee_guaranteed (Float, Float, Float) -> Float), undef : $@convention(thin) (Float, Float, Float) -> (Float, @owned @callee_guaranteed (Float) -> (Float, Float, Float))}
6161

6262
// CHECK-SIL: %2 = differentiable_function_extract [vjp] %1 : $@differentiable @convention(thin) (Float, Float, Float) -> Float
6363
%2 = differentiable_function_extract [vjp] %1 : $@differentiable @convention(thin) (Float, Float, Float) -> Float
64-
%3 = differentiable_function [parameters 0] %0 : $@convention(thin) (Float, Float, Float) -> Float
64+
%3 = differentiable_function [parameters 0] %0 : $@convention(thin) (Float, Float, Float) -> Float with_derivative {undef : $@convention(thin) (Float, Float, Float) -> (Float, @owned @callee_guaranteed (Float) -> Float), undef : $@convention(thin) (Float, Float, Float) -> (Float, @owned @callee_guaranteed (Float) -> Float)}
6565

6666
// CHECK-SIL: %4 = differentiable_function_extract [vjp] %3 : $@differentiable @convention(thin) (Float, @noDerivative Float, @noDerivative Float) -> Float
6767
%4 = differentiable_function_extract [vjp] %3 : $@differentiable @convention(thin) (Float, @noDerivative Float, @noDerivative Float) -> Float
6868
%5 = function_ref @examplemethod : $@convention(method) (Float, Float, Float) -> Float
69-
%6 = differentiable_function [parameters 0 1 2] %5 : $@convention(method) (Float, Float, Float) -> Float
69+
%6 = differentiable_function [parameters 0 1 2] %5 : $@convention(method) (Float, Float, Float) -> Float with_derivative {undef : $@convention(method) (Float, Float, Float) -> (Float, @owned @callee_guaranteed (Float, Float, Float) -> Float), undef : $@convention(method) (Float, Float, Float) -> (Float, @owned @callee_guaranteed (Float) -> (Float, Float, Float))}
7070

7171
// CHECK-SIL: %7 = differentiable_function_extract [vjp] %6 : $@differentiable @convention(method) (Float, Float, Float) -> Float
7272
%7 = differentiable_function_extract [vjp] %6 : $@differentiable @convention(method) (Float, Float, Float) -> Float
73-
%8 = differentiable_function [parameters 0] %5 : $@convention(method) (Float, Float, Float) -> Float
73+
%8 = differentiable_function [parameters 0] %5 : $@convention(method) (Float, Float, Float) -> Float with_derivative {undef : $@convention(method) (Float, Float, Float) -> (Float, @owned @callee_guaranteed (Float) -> Float), undef : $@convention(method) (Float, Float, Float) -> (Float, @owned @callee_guaranteed (Float) -> Float)}
7474

7575
// CHECK-SIL: %9 = differentiable_function_extract [vjp] %8 : $@differentiable @convention(method) (Float, @noDerivative Float, @noDerivative Float) -> Float
7676
%9 = differentiable_function_extract [vjp] %8 : $@differentiable @convention(method) (Float, @noDerivative Float, @noDerivative Float) -> Float

0 commit comments

Comments
 (0)