blob: b8d3a185cbd90fd3352bc9d564823a7b12a09520 [file] [log] [blame]
Davide Italianoddedd722015-09-10 01:50:00 +00001; RUN: llc -O0 -mtriple=x86_64-apple-darwin -filetype=obj -o - %s | llvm-readobj -macho-data-in-code | FileCheck %s
Jim Grosbach745c52d2012-10-01 22:20:54 +00002
3; There should not be a data-in-code load command (type 0x29) for x86_64
4; jump tables, even though they are in the text section.
Davide Italianoddedd722015-09-10 01:50:00 +00005; CHECK-NOT: DataInCode {
Jim Grosbach745c52d2012-10-01 22:20:54 +00006
7define void @foo(i32* %ptr) nounwind ssp {
David Blaikiea79ac142015-02-27 21:17:42 +00008 %tmp = load i32, i32* %ptr, align 4
Jim Grosbach745c52d2012-10-01 22:20:54 +00009 switch i32 %tmp, label %default [
10 i32 11, label %bb0
11 i32 10, label %bb1
12 i32 8, label %bb2
13 i32 4, label %bb3
14 i32 2, label %bb4
15 i32 6, label %bb5
16 i32 9, label %bb6
17 i32 15, label %bb7
18 i32 1, label %bb8
19 i32 3, label %bb9
20 i32 5, label %bb10
21 i32 30, label %bb11
22 i32 31, label %bb12
23 i32 13, label %bb13
24 i32 14, label %bb14
25 i32 20, label %bb15
26 i32 19, label %bb16
27 i32 17, label %bb17
28 i32 18, label %bb18
29 i32 21, label %bb19
30 i32 22, label %bb20
31 i32 16, label %bb21
32 i32 24, label %bb22
33 i32 25, label %bb23
34 i32 26, label %bb24
35 i32 27, label %bb25
36 i32 28, label %bb26
37 i32 23, label %bb27
38 i32 12, label %bb28
39 ]
40
41default:
42 br label %exit
43bb0:
44 br label %exit
45bb1:
46 br label %exit
47bb2:
48 br label %exit
49bb3:
50 br label %exit
51bb4:
52 br label %exit
53bb5:
54 br label %exit
55bb6:
56 br label %exit
57bb7:
58 br label %exit
59bb8:
60 br label %exit
61bb9:
62 br label %exit
63bb10:
64 br label %exit
65bb11:
66 br label %exit
67bb12:
68 br label %exit
69bb13:
70 br label %exit
71bb14:
72 br label %exit
73bb15:
74 br label %exit
75bb16:
76 br label %exit
77bb17:
78 br label %exit
79bb18:
80 br label %exit
81bb19:
82 br label %exit
83bb20:
84 br label %exit
85bb21:
86 br label %exit
87bb22:
88 br label %exit
89bb23:
90 br label %exit
91bb24:
92 br label %exit
93bb25:
94 br label %exit
95bb26:
96 br label %exit
97bb27:
98 br label %exit
99bb28:
100 br label %exit
101
102
103exit:
104
105 ret void
106}
107