Fixed some bugs in register stack pass.
[llvm/zpu.git] / test / CodeGen / X86 / 2007-03-26-CoalescerBug.ll
blob9676f143bca6cf0b53d8446cff0e590e4b176b3d
1 ; RUN: llc < %s -march=x86
3 @data = external global [339 x i64]
5 define void @foo(...) {
6 bb1:
7         %t43 = load i64* getelementptr ([339 x i64]* @data, i32 0, i64 212), align 4
8         br i1 false, label %bb80, label %bb6
9 bb6:
10         br i1 false, label %bb38, label %bb265
11 bb265:
12         ret void
13 bb38:
14         br i1 false, label %bb80, label %bb49
15 bb80:
16         br i1 false, label %bb146, label %bb268
17 bb49:
18         ret void
19 bb113:
20         ret void
21 bb268:
22         %t1062 = shl i64 %t43, 3
23         %t1066 = shl i64 0, 3
24         br label %bb85
25 bb85:
26         %t1025 = phi i64 [ 0, %bb268 ], [ %t102.0, %bb234 ]
27         %t1028 = phi i64 [ 0, %bb268 ], [ %t1066, %bb234 ]
28         %t1031 = phi i64 [ 0, %bb268 ], [ %t103.0, %bb234 ]
29         %t1034 = phi i64 [ 0, %bb268 ], [ %t1066, %bb234 ]
30         %t102.0 = add i64 %t1028, %t1025
31         %t103.0 = add i64 %t1034, %t1031
32         br label %bb86
33 bb86:
34         %t108.0 = phi i64 [ %t102.0, %bb85 ], [ %t1139, %bb248 ]
35         %t110.0 = phi i64 [ %t103.0, %bb85 ], [ %t1142, %bb248 ]
36         br label %bb193
37 bb193:
38         %t1081 = add i64 %t110.0, -8
39         %t1087 = add i64 %t108.0, -8
40         br i1 false, label %bb193, label %bb248
41 bb248:
42         %t1139 = add i64 %t108.0, %t1062
43         %t1142 = add i64 %t110.0, %t1062
44         br i1 false, label %bb86, label %bb234
45 bb234:
46         br i1 false, label %bb85, label %bb113
47 bb146:
48         ret void