diff --git a/lib/SIL/SILFunctionBuilder.cpp b/lib/SIL/SILFunctionBuilder.cpp index f1f18ae695341..624a5dc1707a5 100644 --- a/lib/SIL/SILFunctionBuilder.cpp +++ b/lib/SIL/SILFunctionBuilder.cpp @@ -88,6 +88,8 @@ void SILFunctionBuilder::addFunctionAttributes(SILFunction *F, vjpName = SILDeclRef(vjpFn).mangle(); // Get lowered argument indices. auto paramIndices = A->getParameterIndices(); + if (!paramIndices) + continue; auto loweredParamIndices = paramIndices->getLowered( F->getASTContext(), decl->getInterfaceType()->castTo()); diff --git a/stdlib/public/TensorFlow/TensorHandle.swift b/stdlib/public/TensorFlow/TensorHandle.swift index 352b0ae2ecb5a..0c8bee7872685 100644 --- a/stdlib/public/TensorFlow/TensorHandle.swift +++ b/stdlib/public/TensorFlow/TensorHandle.swift @@ -143,9 +143,8 @@ internal extension TensorHandle { } } -internal extension ShapedArray where Scalar : _TensorFlowDataTypeCompatible { - @usableFromInline - @inline(never) +public extension ShapedArray where Scalar : _TensorFlowDataTypeCompatible { + @inlinable init(cTensorHandle: CTensorHandle) { internalConsistencyCheck(TFE_TensorHandleIsConcrete(cTensorHandle) != 0) let status = TF_NewStatus() @@ -162,10 +161,11 @@ internal extension ShapedArray where Scalar : _TensorFlowDataTypeCompatible { /// `ResourceHandle` is the type used by ops to represent TensorFlow "resource" /// values. public struct ResourceHandle { + @usableFromInline let handle: _AnyTensorHandle - @usableFromInline - var _cTensorHandle: CTensorHandle { handle._cTensorHandle } + @inlinable + public var _cTensorHandle: CTensorHandle { handle._cTensorHandle } @usableFromInline init(owning cTensorHandle: CTensorHandle) { @@ -176,10 +176,11 @@ public struct ResourceHandle { /// `VariantHandle` is the type used by ops to represent TensorFlow "variant" /// values. public struct VariantHandle { + @usableFromInline let handle: _AnyTensorHandle - @usableFromInline - var _cTensorHandle: CTensorHandle { handle._cTensorHandle } + @inlinable + public var _cTensorHandle: CTensorHandle { handle._cTensorHandle } @usableFromInline init(owning cTensorHandle: CTensorHandle) {