2007-11-04-CoalescerCrash.ll
4.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc-unknown-linux-gnu
%struct.HDescriptor = type <{ i32, i32 }>
declare void @bcopy(i8*, i8*, i32)
define i32 @main(i32 %argc, i8** %argv) {
entry:
br i1 false, label %bb31, label %bb
bb: ; preds = %entry
ret i32 -6
bb31: ; preds = %entry
switch i32 0, label %bb189 [
i32 73, label %cond_next209
i32 74, label %bb74
i32 77, label %bb57
i32 78, label %cond_next209
i32 85, label %cond_next209
i32 97, label %cond_next209
i32 100, label %cond_next209
i32 107, label %cond_next209
i32 109, label %bb57
i32 112, label %bb43
i32 115, label %cond_next209
i32 117, label %bb51
]
bb43: ; preds = %bb31
br i1 false, label %cond_true48, label %cond_true200.critedge2117
cond_true48: ; preds = %bb43
br i1 false, label %cond_next372, label %AllDone
bb51: ; preds = %bb31
ret i32 0
bb57: ; preds = %bb31, %bb31
ret i32 0
bb74: ; preds = %bb31
ret i32 0
bb189: ; preds = %bb31
ret i32 0
cond_true200.critedge2117: ; preds = %bb43
ret i32 0
cond_next209: ; preds = %bb31, %bb31, %bb31, %bb31, %bb31, %bb31, %bb31
ret i32 0
cond_next372: ; preds = %cond_true48
switch i32 0, label %bb1728 [
i32 73, label %bb1723
i32 74, label %cond_true1700
i32 78, label %bb1718
i32 85, label %bb1713
i32 97, label %bb1620
i32 107, label %AllDone
i32 112, label %cond_next423
i32 117, label %cond_next1453
]
cond_next423: ; preds = %cond_next372
switch i16 0, label %cond_next691 [
i16 18475, label %cond_next807
i16 18520, label %cond_next807
]
cond_next691: ; preds = %cond_next423
ret i32 0
cond_next807: ; preds = %cond_next423, %cond_next423
switch i16 0, label %cond_true1192 [
i16 18475, label %cond_next21.i
i16 18520, label %cond_next21.i
]
cond_next21.i: ; preds = %cond_next807, %cond_next807
br i1 false, label %cond_next934, label %free.i
free.i: ; preds = %cond_next21.i
ret i32 0
cond_next934: ; preds = %bb1005, %cond_next21.i
%listsize.1 = phi i32 [ 0, %bb1005 ], [ 64, %cond_next21.i ] ; <i32> [#uses=1]
%catalogExtents.2 = phi %struct.HDescriptor* [ %catalogExtents.1.reg2mem.1, %bb1005 ], [ null, %cond_next21.i ] ; <%struct.HDescriptor*> [#uses=3]
br i1 false, label %cond_next942, label %Return1020
cond_next942: ; preds = %cond_next934
br i1 false, label %bb1005, label %bb947
bb947: ; preds = %cond_next971, %cond_next942
%indvar = phi i32 [ 0, %cond_next942 ], [ %indvar.next2140, %cond_next971 ] ; <i32> [#uses=2]
%catalogExtents.1.reg2mem.0 = phi %struct.HDescriptor* [ %catalogExtents.2, %cond_next942 ], [ %tmp977978, %cond_next971 ] ; <%struct.HDescriptor*> [#uses=1]
%extents.0.reg2mem.0 = phi %struct.HDescriptor* [ null, %cond_next942 ], [ %tmp977978, %cond_next971 ] ; <%struct.HDescriptor*> [#uses=1]
br i1 false, label %cond_next971, label %Return1020
cond_next971: ; preds = %bb947
%tmp = shl i32 %indvar, 6 ; <i32> [#uses=1]
%listsize.0.reg2mem.0 = add i32 %tmp, %listsize.1 ; <i32> [#uses=1]
%tmp973 = add i32 %listsize.0.reg2mem.0, 64 ; <i32> [#uses=1]
%tmp974975 = bitcast %struct.HDescriptor* %extents.0.reg2mem.0 to i8* ; <i8*> [#uses=1]
%tmp977 = call i8* @realloc( i8* %tmp974975, i32 %tmp973 ) ; <i8*> [#uses=1]
%tmp977978 = bitcast i8* %tmp977 to %struct.HDescriptor* ; <%struct.HDescriptor*> [#uses=3]
call void @bcopy( i8* null, i8* null, i32 64 )
%indvar.next2140 = add i32 %indvar, 1 ; <i32> [#uses=1]
br i1 false, label %bb1005, label %bb947
bb1005: ; preds = %cond_next971, %cond_next942
%catalogExtents.1.reg2mem.1 = phi %struct.HDescriptor* [ %catalogExtents.2, %cond_next942 ], [ %tmp977978, %cond_next971 ] ; <%struct.HDescriptor*> [#uses=2]
br i1 false, label %Return1020, label %cond_next934
Return1020: ; preds = %bb1005, %bb947, %cond_next934
%catalogExtents.3 = phi %struct.HDescriptor* [ %catalogExtents.1.reg2mem.0, %bb947 ], [ %catalogExtents.2, %cond_next934 ], [ %catalogExtents.1.reg2mem.1, %bb1005 ] ; <%struct.HDescriptor*> [#uses=0]
ret i32 0
cond_true1192: ; preds = %cond_next807
ret i32 0
cond_next1453: ; preds = %cond_next372
ret i32 0
bb1620: ; preds = %cond_next372
ret i32 0
cond_true1700: ; preds = %cond_next372
ret i32 0
bb1713: ; preds = %cond_next372
ret i32 0
bb1718: ; preds = %cond_next372
ret i32 0
bb1723: ; preds = %cond_next372
ret i32 0
bb1728: ; preds = %cond_next372
ret i32 -6
AllDone: ; preds = %cond_next372, %cond_true48
ret i32 0
}
declare i8* @realloc(i8*, i32)