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