OLD | NEW |
1 ; Bugpoint-reduced example that demonstrated a bug (assertion failure) | 1 ; Bugpoint-reduced example that demonstrated a bug (assertion failure) |
2 ; in register allocation. See | 2 ; in register allocation. See |
3 ; https://code.google.com/p/nativeclient/issues/detail?id=3903 . | 3 ; https://code.google.com/p/nativeclient/issues/detail?id=3903 . |
4 ; | 4 ; |
5 ; TODO(kschimpf) Find out why lc2i is needed. | 5 ; TODO(kschimpf) Find out why lc2i is needed. |
6 ; RUN: %lc2i -i %s --args -O2 --verbose regalloc | 6 ; RUN: %lc2i -i %s --args -O2 --verbose regalloc |
7 | 7 |
8 define void @foo() { | 8 define void @foo() { |
9 bb: | 9 bb: |
10 br i1 undef, label %bb13, label %bb14 | 10 br i1 undef, label %bb13, label %bb14 |
(...skipping 14 matching lines...) Expand all Loading... |
25 bb17: ; preds = %bb48, %bb16 | 25 bb17: ; preds = %bb48, %bb16 |
26 %tmp18 = phi i32 [ undef, %bb16 ], [ undef, %bb48 ] | 26 %tmp18 = phi i32 [ undef, %bb16 ], [ undef, %bb48 ] |
27 %tmp19 = add i32 %tmp18, 4 | 27 %tmp19 = add i32 %tmp18, 4 |
28 br i1 undef, label %bb21, label %bb46 | 28 br i1 undef, label %bb21, label %bb46 |
29 | 29 |
30 bb21: ; preds = %bb27, %bb17 | 30 bb21: ; preds = %bb27, %bb17 |
31 %tmp22 = phi i32 [ undef, %bb17 ], [ %tmp30, %bb27 ] | 31 %tmp22 = phi i32 [ undef, %bb17 ], [ %tmp30, %bb27 ] |
32 %tmp23 = add i32 undef, -1 | 32 %tmp23 = add i32 undef, -1 |
33 %tmp24 = add i32 undef, undef | 33 %tmp24 = add i32 undef, undef |
34 %undef.ptr = inttoptr i32 undef to i32* | 34 %undef.ptr = inttoptr i32 undef to i32* |
35 %tmp25 = load i32* %undef.ptr, align 1 | 35 %tmp25 = load i32, i32* %undef.ptr, align 1 |
36 %tmp26 = icmp eq i32 undef, %tmp22 | 36 %tmp26 = icmp eq i32 undef, %tmp22 |
37 br i1 %tmp26, label %bb34, label %bb32 | 37 br i1 %tmp26, label %bb34, label %bb32 |
38 | 38 |
39 bb27: ; preds = %bb42, %bb34 | 39 bb27: ; preds = %bb42, %bb34 |
40 %tmp28 = icmp sgt i32 %tmp23, 0 | 40 %tmp28 = icmp sgt i32 %tmp23, 0 |
41 %tmp29 = inttoptr i32 %tmp19 to i32* | 41 %tmp29 = inttoptr i32 %tmp19 to i32* |
42 %tmp30 = load i32* %tmp29, align 1 | 42 %tmp30 = load i32, i32* %tmp29, align 1 |
43 br i1 %tmp28, label %bb21, label %bb46 | 43 br i1 %tmp28, label %bb21, label %bb46 |
44 | 44 |
45 bb32: ; preds = %bb21 | 45 bb32: ; preds = %bb21 |
46 %tmp33 = inttoptr i32 %tmp24 to i32* | 46 %tmp33 = inttoptr i32 %tmp24 to i32* |
47 store i32 0, i32* %tmp33, align 1 | 47 store i32 0, i32* %tmp33, align 1 |
48 br label %bb34 | 48 br label %bb34 |
49 | 49 |
50 bb34: ; preds = %bb32, %bb31 | 50 bb34: ; preds = %bb32, %bb31 |
51 br i1 undef, label %bb27, label %bb35 | 51 br i1 undef, label %bb27, label %bb35 |
52 | 52 |
53 bb35: ; preds = %bb34 | 53 bb35: ; preds = %bb34 |
54 %tmp40 = inttoptr i32 %tmp25 to void (i32)* | 54 %tmp40 = inttoptr i32 %tmp25 to void (i32)* |
55 call void %tmp40(i32 undef) | 55 call void %tmp40(i32 undef) |
56 br i1 undef, label %bb42, label %bb15 | 56 br i1 undef, label %bb42, label %bb15 |
57 | 57 |
58 bb42: ; preds = %bb35 | 58 bb42: ; preds = %bb35 |
59 %tmp43 = inttoptr i32 %tmp to i32* | 59 %tmp43 = inttoptr i32 %tmp to i32* |
60 %tmp44 = load i32* %tmp43, align 1 | 60 %tmp44 = load i32, i32* %tmp43, align 1 |
61 %tmp45 = icmp eq i32 %tmp44, %tmp18 | 61 %tmp45 = icmp eq i32 %tmp44, %tmp18 |
62 br i1 %tmp45, label %bb27, label %bb15 | 62 br i1 %tmp45, label %bb27, label %bb15 |
63 | 63 |
64 bb46: ; preds = %bb27, %bb17 | 64 bb46: ; preds = %bb27, %bb17 |
65 br i1 undef, label %bb47, label %bb49 | 65 br i1 undef, label %bb47, label %bb49 |
66 | 66 |
67 bb47: ; preds = %bb46 | 67 bb47: ; preds = %bb46 |
68 br i1 undef, label %bb50, label %bb48 | 68 br i1 undef, label %bb50, label %bb48 |
69 | 69 |
70 bb48: ; preds = %bb47 | 70 bb48: ; preds = %bb47 |
71 br i1 undef, label %bb50, label %bb17 | 71 br i1 undef, label %bb50, label %bb17 |
72 | 72 |
73 bb49: ; preds = %bb46 | 73 bb49: ; preds = %bb46 |
74 br i1 undef, label %bb50, label %bb16 | 74 br i1 undef, label %bb50, label %bb16 |
75 | 75 |
76 bb50: ; preds = %bb49, %bb48, %bb47,
%bb15, %bb14 | 76 bb50: ; preds = %bb49, %bb48, %bb47,
%bb15, %bb14 |
77 unreachable | 77 unreachable |
78 } | 78 } |
OLD | NEW |