We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
md5: e0729e1a8814f0c9916ce41df6a73a0b
Issue Description:
import _Differentiation import DifferentiationUnittest class Class: Differentiable { var x: Tracked<Float> init(_ x: Tracked<Float>) { self.x = x } } func getter(_ c: Class) -> Tracked<Float> { return c.x } print(gradient(at: Class(10), in: getter))
$ swiftc cls.swift Assertion failed: (conv.isIndirectConvention() && "Expect an indirect convention"), function isConsumingOrMutatingArgumentConvention, file /Users/danielzheng/swift-merge/swift/lib/SIL/Verifier/SILVerifier.cpp, line 453. Stack dump: 0. Program arguments: /Users/danielzheng/swift-merge/build/Ninja-ReleaseAssert/swift-macosx-x86_64/bin/swift -frontend -c -primary-file cls.swift -target x86_64-apple-darwin19.4.0 -enable-objc-interop -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -color-diagnostics -target-sdk-version 10.15.4 -module-name cls -o /var/folders/m_/6f7q8zfs3n9fr0c_4gy8840m00hc_q/T/cls-8f76c1.o 1. Swift version 5.3-dev (LLVM ca0260ddec, Swift b17e1b23fe) 2. While evaluating request SILGenSourceFileRequest(SIL Generation for file "cls.swift") 3. While verifying SIL function "@$s3cls5ClassC13TangentVectorV23DifferentiationUnittest7TrackedVySfGIeggr_AeIIegnr_TR". for <<debugloc at "<compiler-generated>":0:0>>0 swift 0x000000010956a138 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 40 1 swift 0x00000001095690b8 llvm::sys::RunSignalHandlers() + 248 2 swift 0x000000010956a72d SignalHandler(int) + 285 3 libsystem_platform.dylib 0x00007fff718335fd _sigtramp + 29 4 libsystem_platform.dylib 000000000000000000 _sigtramp + 18446603338611739168 5 libsystem_c.dylib 0x00007fff71709808 abort + 120 6 libsystem_c.dylib 0x00007fff71708ac6 err + 0 7 swift 0x00000001098e7c23 (anonymous namespace)::ImmutableAddressUseVerifier::isConsumingOrMutatingApplyUse(swift::Operand*) (.cold.4) + 35 8 swift 0x0000000105b2ad11 (anonymous namespace)::ImmutableAddressUseVerifier::isConsumingOrMutatingApplyUse(swift::Operand*) + 289 9 swift 0x0000000105b29c1d (anonymous namespace)::ImmutableAddressUseVerifier::isMutatingOrConsuming(swift::SILValue) + 157 10 swift 0x0000000105b12ea9 (anonymous namespace)::SILVerifier::visitSILBasicBlock(swift::SILBasicBlock*) + 1161
I believe the issue related to differentiable function reabstraction thunking. Verification fails for this function:
// thunk for @escaping @callee_guaranteed (@guaranteed Class.TangentVector) -> (@out Tracked<Float>) sil shared [transparent] [serializable] [reabstraction_thunk] [ossa] @$s7sr126415ClassC13TangentVectorV23DifferentiationUnittest7TrackedVySfGIeggr_AeIIegnr_TR : $@convention(thin) (@in_guaranteed Class.TangentVector, @guaranteed @callee_guaranteed (@guaranteed Class.TangentVector) -> @out Tracked<Float>) -> @out Tracked<Float> { // %0 // user: %3 // %1 // user: %3 // %2 // user: %3 bb0(%0 : $*Tracked<Float>, %1 : $*Class.TangentVector, %2 : @guaranteed $@callee_guaranteed (@guaranteed Class.TangentVector) -> @out Tracked<Float>): %3 = apply %2(%0, %1) : $@callee_guaranteed (@guaranteed Class.TangentVector) -> @out Tracked<Float> %4 = tuple () // user: %5 return %4 : $() // id: %5 } // end sil function '$s7sr126415ClassC13TangentVectorV23DifferentiationUnittest7TrackedVySfGIeggr_AeIIegnr_TR'
To be further minimized.
The text was updated successfully, but these errors were encountered:
Fixed in #31496
Sorry, something went wrong.
marcrasi
No branches or pull requests
Additional Detail from JIRA
md5: e0729e1a8814f0c9916ce41df6a73a0b
Issue Description:
I believe the issue related to differentiable function reabstraction thunking. Verification fails for this function:
To be further minimized.
The text was updated successfully, but these errors were encountered: