Update test to use llvm-readobj. NFC.
[oota-llvm.git] / test / MC / MachO / x86-data-in-code.ll
1 ; RUN: llc -O0 -mtriple=x86_64-apple-darwin -filetype=obj -o - %s | macho-dump | FileCheck %s
2
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.
5 ; CHECK: 'num_load_commands'
6 ; CHECK-NOT: (('command', 41)
7
8 define void @foo(i32* %ptr) nounwind ssp {
9   %tmp = load i32* %ptr, align 4
10   switch i32 %tmp, label %default [
11     i32 11, label %bb0
12     i32 10, label %bb1
13     i32 8, label %bb2
14     i32 4, label %bb3
15     i32 2, label %bb4
16     i32 6, label %bb5
17     i32 9, label %bb6
18     i32 15, label %bb7
19     i32 1, label %bb8
20     i32 3, label %bb9
21     i32 5, label %bb10
22     i32 30, label %bb11
23     i32 31, label %bb12
24     i32 13, label %bb13
25     i32 14, label %bb14
26     i32 20, label %bb15
27     i32 19, label %bb16
28     i32 17, label %bb17
29     i32 18, label %bb18
30     i32 21, label %bb19
31     i32 22, label %bb20
32     i32 16, label %bb21
33     i32 24, label %bb22
34     i32 25, label %bb23
35     i32 26, label %bb24
36     i32 27, label %bb25
37     i32 28, label %bb26
38     i32 23, label %bb27
39     i32 12, label %bb28
40   ]
41
42 default:
43   br label %exit
44 bb0:
45   br label %exit
46 bb1:
47   br label %exit
48 bb2:
49   br label %exit
50 bb3:
51   br label %exit
52 bb4:
53   br label %exit
54 bb5:
55   br label %exit
56 bb6:
57   br label %exit
58 bb7:
59   br label %exit
60 bb8:
61   br label %exit
62 bb9:
63   br label %exit
64 bb10:
65   br label %exit
66 bb11:
67   br label %exit
68 bb12:
69   br label %exit
70 bb13:
71   br label %exit
72 bb14:
73   br label %exit
74 bb15:
75   br label %exit
76 bb16:
77   br label %exit
78 bb17:
79   br label %exit
80 bb18:
81   br label %exit
82 bb19:
83   br label %exit
84 bb20:
85   br label %exit
86 bb21:
87   br label %exit
88 bb22:
89   br label %exit
90 bb23:
91   br label %exit
92 bb24:
93   br label %exit
94 bb25:
95   br label %exit
96 bb26:
97   br label %exit
98 bb27:
99   br label %exit
100 bb28:
101   br label %exit
102
103
104 exit:
105
106   ret void
107 }
108