Files
swift-mirror/test/AutoDiff/IRGen/runtime.swift
Kavon Farvardin b8a04f63e7 Test: prefer -enable-builtin-module
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.
2024-02-01 10:39:02 -08:00

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)