mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Many tests that use `-parse-stdlib` only do so because they want access to the Builtin module. Now that we have the flag and ability to import it, use that instead.
20 lines
981 B
Swift
20 lines
981 B
Swift
// RUN: %target-swift-frontend -enable-builtin-module %s -emit-ir | %FileCheck %s
|
|
|
|
import Builtin
|
|
import _Differentiation
|
|
|
|
@_silgen_name("test_context_builtins_with_type")
|
|
func test_context_builtins_with_type<T>(t: T) {
|
|
let context = Builtin.autoDiffCreateLinearMapContextWithType(T.self)
|
|
let topLevelSubctxAddr = Builtin.autoDiffProjectTopLevelSubcontext(context)
|
|
UnsafeMutableRawPointer(topLevelSubctxAddr).storeBytes(of: t, as: T.self)
|
|
let newBuffer = Builtin.autoDiffAllocateSubcontextWithType(context, T.self)
|
|
UnsafeMutableRawPointer(newBuffer).storeBytes(of: t, as: T.self)
|
|
}
|
|
|
|
// CHECK-LABEL: define{{.*}}@test_context_builtins_with_type(ptr noalias %0, ptr %T)
|
|
// CHECK: entry:
|
|
// CHECK: [[CTX:%.*]] = call swiftcc ptr @swift_autoDiffCreateLinearMapContextWithType(ptr %T)
|
|
// CHECK: call swiftcc ptr @swift_autoDiffProjectTopLevelSubcontext(ptr [[CTX]])
|
|
// CHECK: [[BUF:%.*]] = call swiftcc ptr @swift_autoDiffAllocateSubcontextWithType(ptr [[CTX]], ptr %T)
|