mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
I am going to use this in bug reducer for debugging runtime crashes. I just found the branch and cleaned it up, so I fugred I would commit it sooner rather than after I lost the branch again.
35 lines
1.8 KiB
Plaintext
35 lines
1.8 KiB
Plaintext
// RUN: %sil-llvm-gen -output-kind=llvm-as -new-mangling-for-tests -target x86_64-apple-macosx10.9 -module-name main %s -o - | %FileCheck %s
|
|
// RUN: %sil-llvm-gen -output-kind=llvm-as -new-mangling-for-tests -target i386-apple-ios7.0 %s -module-name main -o - | %FileCheck %s
|
|
// RUN: %sil-llvm-gen -output-kind=llvm-as -new-mangling-for-tests -target x86_64-apple-ios7.0 %s -module-name main -o - | %FileCheck %s
|
|
// RUN: %sil-llvm-gen -output-kind=llvm-as -new-mangling-for-tests -target armv7-apple-ios7.0 %s -module-name main -o - | %FileCheck %s
|
|
// RUN: %sil-llvm-gen -output-kind=llvm-as -new-mangling-for-tests -target arm64-apple-ios7.0 %s -module-name main -o - | %FileCheck %s
|
|
// RUN: %sil-llvm-gen -output-kind=llvm-as -new-mangling-for-tests -target x86_64-unknown-linux-gnu %s -module-name main -o - | %FileCheck %s
|
|
|
|
// REQUIRES: CODEGENERATOR=X86
|
|
// REQUIRES: CODEGENERATOR=ARM
|
|
|
|
import Builtin
|
|
|
|
struct Pair<T> {
|
|
var fst: T, snd: T
|
|
}
|
|
|
|
struct Huge {
|
|
var pairs: Pair<Pair<Pair<Pair<Pair<Pair<Pair<Pair<Pair<Builtin.Int64>>>>>>>>>
|
|
var unalign: Builtin.Int8
|
|
}
|
|
|
|
// CHECK: @_swift_slowAlloc = external global i8* ([[SIZE_T:i(32|64)]],
|
|
// CHECK: define linkonce_odr hidden i8* @swift_rt_swift_slowAlloc([[SIZE_T:i(32|64)]],
|
|
|
|
// CHECK: define linkonce_odr hidden void @_T04main4HugeVwde(
|
|
// CHECK: [[T0:%.*]] = bitcast [[BUFFER:.[0-9]+ x i8.]]* {{%.*}} to i8**
|
|
// CHECK-NEXT: [[T1:%.*]] = load i8*, i8** [[T0]]
|
|
// CHECK-NEXT: call void @swift_rt_swift_slowDealloc(i8* [[T1]], [[SIZE_T]] 4097, [[SIZE_T]] 7)
|
|
// CHECK-NEXT: ret void
|
|
|
|
// CHECK: define linkonce_odr hidden [[OPAQUE:%swift.opaque]]* @_T04main4HugeVwal(
|
|
// CHECK: [[T0:%.*]] = call noalias i8* @swift_rt_swift_slowAlloc([[SIZE_T]] 4097, [[SIZE_T]] 7)
|
|
// CHECK-NEXT: [[T1:%.*]] = bitcast [[BUFFER]]* {{%.*}} to i8**
|
|
// CHECK-NEXT: store i8* [[T0]], i8** [[T1]]
|