@@ -516,10 +516,12 @@ Types
516
516
FUNCTION-KIND ::= 'C' // C function pointer type
517
517
FUNCTION-KIND ::= 'A' // @auto_closure function type (escaping)
518
518
FUNCTION-KIND ::= 'E' // function type (noescape)
519
+ .. SWIFT_ENABLE_TENSORFLOW
519
520
FUNCTION-KIND ::= 'F' // @differentiable function type
520
521
FUNCTION-KIND ::= 'G' // @differentiable function type (escaping)
521
522
FUNCTION-KIND ::= 'H' // @differentiable(linear) function type
522
523
FUNCTION-KIND ::= 'I' // @differentiable(linear) function type (escaping)
524
+ .. SWIFT_ENABLE_TENSORFLOW END
523
525
524
526
function-signature ::= params-type params-type throws? // results and parameters
525
527
@@ -583,15 +585,18 @@ mangled in to disambiguate.
583
585
impl-function-type ::= type* 'I' FUNC-ATTRIBUTES '_'
584
586
impl-function-type ::= type* generic-signature 'I' PSEUDO-GENERIC? FUNC-ATTRIBUTES '_'
585
587
588
+ .. SWIFT_ENABLE_TENSORFLOW
586
589
FUNC-ATTRIBUTES ::= CALLEE-ESCAPE? DIFFERENTIABILITY-KIND? CALLEE-CONVENTION FUNC-REPRESENTATION? PARAM-CONVENTION* RESULT-CONVENTION* ('z' RESULT-CONVENTION)
587
590
588
591
PSEUDO-GENERIC ::= 'P'
589
592
590
593
CALLEE-ESCAPE ::= 'e' // @escaping (inverse of SIL @noescape)
591
594
595
+ .. SWIFT_ENABLE_TENSORFLOW
592
596
DIFFERENTIABILITY-KIND ::= DIFFERENTIABLE | LINEAR
593
597
DIFFERENTIABLE ::= 'd' // @differentiable
594
598
LINEAR ::= 'l' // @differentiable(linear)
599
+ .. SWIFT_ENABLE_TENSORFLOW END
595
600
596
601
CALLEE-CONVENTION ::= 'y' // @callee_unowned
597
602
CALLEE-CONVENTION ::= 'g' // @callee_guaranteed
0 commit comments