Evan Cheng | eadf049 | 2009-07-22 22:03:29 +0000 | [diff] [blame^] | 1 | ; RUN: llvm-as < %s | llc -march=arm |
| 2 | |
| 3 | %struct.cli_ac_alt = type { i8, i8*, i16, i16, %struct.cli_ac_alt* } |
| 4 | %struct.cli_ac_node = type { i8, i8, %struct.cli_ac_patt*, %struct.cli_ac_node**, %struct.cli_ac_node* } |
| 5 | %struct.cli_ac_patt = type { i16*, i16*, i16, i16, i8, i32, i32, i8*, i8*, i32, i16, i16, i16, i16, %struct.cli_ac_alt**, i8, i16, %struct.cli_ac_patt*, %struct.cli_ac_patt* } |
| 6 | %struct.cli_bm_patt = type { i8*, i8*, i16, i16, i8*, i8*, i8, %struct.cli_bm_patt*, i16 } |
| 7 | %struct.cli_matcher = type { i16, i8, i8*, %struct.cli_bm_patt**, i32*, i32, i8, i8, %struct.cli_ac_node*, %struct.cli_ac_node**, %struct.cli_ac_patt**, i32, i32, i32 } |
| 8 | |
| 9 | define arm_apcscc i32 @cli_ac_addsig(%struct.cli_matcher* nocapture %root, i8* %virname, i8* %hexsig, i32 %sigid, i16 zeroext %parts, i16 zeroext %partno, i16 zeroext %type, i32 %mindist, i32 %maxdist, i8* %offset, i8 zeroext %target) nounwind { |
| 10 | entry: |
| 11 | br i1 undef, label %bb126, label %bb1 |
| 12 | |
| 13 | bb1: ; preds = %entry |
| 14 | br i1 undef, label %cli_calloc.exit.thread, label %cli_calloc.exit |
| 15 | |
| 16 | cli_calloc.exit.thread: ; preds = %bb1 |
| 17 | ret i32 -114 |
| 18 | |
| 19 | cli_calloc.exit: ; preds = %bb1 |
| 20 | br i1 undef, label %bb52, label %bb4 |
| 21 | |
| 22 | bb4: ; preds = %cli_calloc.exit |
| 23 | br i1 undef, label %bb.i, label %bb1.i3 |
| 24 | |
| 25 | bb.i: ; preds = %bb4 |
| 26 | unreachable |
| 27 | |
| 28 | bb1.i3: ; preds = %bb4 |
| 29 | br i1 undef, label %bb2.i4, label %cli_strdup.exit |
| 30 | |
| 31 | bb2.i4: ; preds = %bb1.i3 |
| 32 | ret i32 -114 |
| 33 | |
| 34 | cli_strdup.exit: ; preds = %bb1.i3 |
| 35 | br i1 undef, label %cli_calloc.exit54.thread, label %cli_calloc.exit54 |
| 36 | |
| 37 | cli_calloc.exit54.thread: ; preds = %cli_strdup.exit |
| 38 | ret i32 -114 |
| 39 | |
| 40 | cli_calloc.exit54: ; preds = %cli_strdup.exit |
| 41 | br label %bb45 |
| 42 | |
| 43 | cli_calloc.exit70.thread: ; preds = %bb45 |
| 44 | unreachable |
| 45 | |
| 46 | cli_calloc.exit70: ; preds = %bb45 |
| 47 | br i1 undef, label %bb.i83, label %bb1.i84 |
| 48 | |
| 49 | bb.i83: ; preds = %cli_calloc.exit70 |
| 50 | unreachable |
| 51 | |
| 52 | bb1.i84: ; preds = %cli_calloc.exit70 |
| 53 | br i1 undef, label %bb2.i85, label %bb17 |
| 54 | |
| 55 | bb2.i85: ; preds = %bb1.i84 |
| 56 | unreachable |
| 57 | |
| 58 | bb17: ; preds = %bb1.i84 |
| 59 | br i1 undef, label %bb22, label %bb.nph |
| 60 | |
| 61 | bb.nph: ; preds = %bb17 |
| 62 | br label %bb18 |
| 63 | |
| 64 | bb18: ; preds = %bb18, %bb.nph |
| 65 | br i1 undef, label %bb18, label %bb22 |
| 66 | |
| 67 | bb22: ; preds = %bb18, %bb17 |
| 68 | %0 = getelementptr i8* null, i32 10 ; <i8*> [#uses=1] |
| 69 | %1 = bitcast i8* %0 to i16* ; <i16*> [#uses=1] |
| 70 | %2 = load i16* %1, align 2 ; <i16> [#uses=1] |
| 71 | %3 = add i16 %2, 1 ; <i16> [#uses=1] |
| 72 | %4 = zext i16 %3 to i32 ; <i32> [#uses=1] |
| 73 | %5 = mul i32 %4, 3 ; <i32> [#uses=1] |
| 74 | %6 = add i32 %5, -1 ; <i32> [#uses=1] |
| 75 | %7 = icmp eq i32 %6, undef ; <i1> [#uses=1] |
| 76 | br i1 %7, label %bb25, label %bb43.preheader |
| 77 | |
| 78 | bb43.preheader: ; preds = %bb22 |
| 79 | br i1 undef, label %bb28, label %bb45 |
| 80 | |
| 81 | bb25: ; preds = %bb22 |
| 82 | unreachable |
| 83 | |
| 84 | bb28: ; preds = %bb43.preheader |
| 85 | unreachable |
| 86 | |
| 87 | bb45: ; preds = %bb43.preheader, %cli_calloc.exit54 |
| 88 | br i1 undef, label %cli_calloc.exit70.thread, label %cli_calloc.exit70 |
| 89 | |
| 90 | bb52: ; preds = %cli_calloc.exit |
| 91 | unreachable |
| 92 | |
| 93 | bb126: ; preds = %entry |
| 94 | ret i32 -117 |
| 95 | } |