summaryrefslogtreecommitdiff
path: root/test/CodeGen/PowerPC/2007-11-04-CoalescerCrash.ll
blob: 8e342585111a167e558d1712c1465c67bee48e09 (plain)
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-apple-darwin

	%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)