xref: /llvm-project/llvm/test/Bitcode/upgrade-garbage-collection-for-swift.ll (revision a0cacb60549f2346f7addf9205cd32720afc8fb4)
1*a0cacb60SJin Lin; RUN: llvm-as %s -o - | llvm-dis - | FileCheck %s
2*a0cacb60SJin Lin
3*a0cacb60SJin Lin; The IRUpgrader turns a i32 type "Objective-C Garbage Collection"
4*a0cacb60SJin Lin; into i8 value. If the higher bits are set, it adds the module flag for swift info.
5*a0cacb60SJin Lin
6*a0cacb60SJin Lintarget triple = "x86_64-apple-macosx10.15.0"
7*a0cacb60SJin Lin
8*a0cacb60SJin Lin@__swift_reflection_version = linkonce_odr hidden constant i16 3
9*a0cacb60SJin Lin@llvm.used = appending global [1 x i8*] [i8* bitcast (i16* @__swift_reflection_version to i8*)], section "llvm.metadata", align 8
10*a0cacb60SJin Lin
11*a0cacb60SJin Lindefine i32 @main(i32 %0, i8** %1) #0 {
12*a0cacb60SJin Lin  %3 = bitcast i8** %1 to i8*
13*a0cacb60SJin Lin  ret i32 0
14*a0cacb60SJin Lin}
15*a0cacb60SJin Lin
16*a0cacb60SJin Linattributes #0 = { "frame-pointer"="all" "target-cpu"="penryn" "target-features"="+cx16,+fxsr,+mmx,+sahf,+sse,+sse2,+sse3,+sse4.1,+ssse3,+x87" }
17*a0cacb60SJin Lin
18*a0cacb60SJin Lin!llvm.module.flags = !{!0, !1, !2, !3, !4, !5, !6, !7, !8}
19*a0cacb60SJin Lin!swift.module.flags = !{!9}
20*a0cacb60SJin Lin!llvm.linker.options = !{!10, !11, !12}
21*a0cacb60SJin Lin!llvm.asan.globals = !{!13}
22*a0cacb60SJin Lin
23*a0cacb60SJin Lin!0 = !{i32 2, !"SDK Version", [2 x i32] [i32 10, i32 15]}
24*a0cacb60SJin Lin!1 = !{i32 1, !"Objective-C Version", i32 2}
25*a0cacb60SJin Lin!2 = !{i32 1, !"Objective-C Image Info Version", i32 0}
26*a0cacb60SJin Lin!3 = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"}
27*a0cacb60SJin Lin!4 = !{i32 4, !"Objective-C Garbage Collection", i32 83953408}
28*a0cacb60SJin Lin!5 = !{i32 1, !"Objective-C Class Properties", i32 64}
29*a0cacb60SJin Lin!6 = !{i32 1, !"wchar_size", i32 4}
30*a0cacb60SJin Lin!7 = !{i32 7, !"PIC Level", i32 2}
31*a0cacb60SJin Lin!8 = !{i32 1, !"Swift Version", i32 7}
32*a0cacb60SJin Lin!9 = !{!"standard-library", i1 false}
33*a0cacb60SJin Lin!10 = !{!"-lswiftSwiftOnoneSupport"}
34*a0cacb60SJin Lin!11 = !{!"-lswiftCore"}
35*a0cacb60SJin Lin!12 = !{!"-lobjc"}
36*a0cacb60SJin Lin!13 = !{[1 x i8*]* @llvm.used, null, null, i1 false, i1 true}
37*a0cacb60SJin Lin
38*a0cacb60SJin Lin; CHECK: !{{[0-9]+}} = !{i32 1, !"Objective-C Garbage Collection", i8 0}
39*a0cacb60SJin Lin; CHECK: !{{[0-9]+}} = !{i32 1, !"Swift ABI Version", i32 7}
40*a0cacb60SJin Lin; CHECK: !{{[0-9]+}} = !{i32 1, !"Swift Major Version", i8 5}
41*a0cacb60SJin Lin; CHECK: !{{[0-9]+}} = !{i32 1, !"Swift Minor Version", i8 1}
42