1; RUN: llc -mtriple x86_64-apple-ios -filetype asm -o - %s | FileCheck %s
2; REQUIRES: x86-registered-target
3
4; It checks whether the backend generates IMAGE_INFO from Swift ABI version + major + minor + "Objective-C Garbage Collection".
5
6target triple = "x86_64-apple-macosx10.15.0"
7
8@llvm.used = appending global [1 x i8*] [i8* bitcast (i16* @__swift_reflection_version to i8*)], section "llvm.metadata", align 8
9@__swift_reflection_version = linkonce_odr hidden constant i16 3
10
11define i32 @main(i32 %0, i8** %1) #0 {
12  %3 = bitcast i8** %1 to i8*
13  ret i32 0
14}
15
16attributes #0 = { "frame-pointer"="all" "target-cpu"="penryn" "target-features"="+cx16,+fxsr,+mmx,+sahf,+sse,+sse2,+sse3,+sse4.1,+ssse3,+x87" }
17
18!swift.module.flags = !{!0}
19!llvm.linker.options = !{!1, !2, !3}
20!llvm.asan.globals = !{!4}
21!llvm.module.flags = !{!5, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16}
22!llvm.ident = !{!17}
23
24!0 = !{!"standard-library", i1 false}
25!1 = !{!"-lswiftSwiftOnoneSupport"}
26!2 = !{!"-lswiftCore"}
27!3 = !{!"-lobjc"}
28!4 = !{[1 x i8*]* @llvm.used, null, null, i1 false, i1 true}
29!5 = !{i32 2, !"SDK Version", [2 x i32] [i32 10, i32 15]}
30!6 = !{i32 1, !"Objective-C Version", i32 2}
31!7 = !{i32 1, !"Objective-C Image Info Version", i32 0}
32!8 = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
33!9 = !{i32 1, !"Objective-C Garbage Collection", i8 0}
34!10 = !{i32 1, !"Objective-C Class Properties", i32 64}
35!11 = !{i32 1, !"wchar_size", i32 4}
36!12 = !{i32 7, !"PIC Level", i32 2}
37!13 = !{i32 1, !"Swift Version", i32 7}
38!14 = !{i32 1, !"Swift ABI Version", i32 7}
39!15 = !{i32 1, !"Swift Major Version", i8 5}
40!16 = !{i32 1, !"Swift Minor Version", i8 1}
41!17 = !{!"Apple clang version 11.0.0 (clang-1100.0.33.12)"}
42
43; CHECK: .section	__DATA,__objc_imageinfo,regular,no_dead_strip
44; CHECK: L_OBJC_IMAGE_INFO:
45; CHECK:   .long 0
46; CHECK:   .long 83953472
47