1 ; RUN: opt < %s -basicaa -slp-vectorizer -dce -S -mtriple=x86_64-apple-macosx10.8.0 -mcpu=corei7 2 3 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" 4 target triple = "x86_64-apple-macosx10.8.0" 5 6 %struct._exon_t.12.103.220.363.480.649.740.857.1039.1065.1078.1091.1117.1130.1156.1169.1195.1221.1234.1286.1299.1312.1338.1429.1455.1468.1494.1520.1884.1897.1975.2066.2105.2170.2171 = type { i32, i32, i32, i32, i32, i32, [8 x i8] } 7 8 define void @SIM4() { 9 entry: 10 br i1 undef, label %return, label %lor.lhs.false 11 12 lor.lhs.false: ; preds = %entry 13 br i1 undef, label %return, label %if.end 14 15 if.end: ; preds = %lor.lhs.false 16 br i1 undef, label %for.end605, label %for.body.lr.ph 17 18 for.body.lr.ph: ; preds = %if.end 19 br label %for.body 20 21 for.body: ; preds = %for.inc603, %for.body.lr.ph 22 br i1 undef, label %for.inc603, label %if.end12 23 24 if.end12: ; preds = %for.body 25 br i1 undef, label %land.lhs.true, label %land.lhs.true167 26 27 land.lhs.true: ; preds = %if.end12 28 br i1 undef, label %if.then17, label %land.lhs.true167 29 30 if.then17: ; preds = %land.lhs.true 31 br i1 undef, label %if.end98, label %land.rhs.lr.ph 32 33 land.rhs.lr.ph: ; preds = %if.then17 34 unreachable 35 36 if.end98: ; preds = %if.then17 37 %from299 = getelementptr inbounds %struct._exon_t.12.103.220.363.480.649.740.857.1039.1065.1078.1091.1117.1130.1156.1169.1195.1221.1234.1286.1299.1312.1338.1429.1455.1468.1494.1520.1884.1897.1975.2066.2105.2170.2171, %struct._exon_t.12.103.220.363.480.649.740.857.1039.1065.1078.1091.1117.1130.1156.1169.1195.1221.1234.1286.1299.1312.1338.1429.1455.1468.1494.1520.1884.1897.1975.2066.2105.2170.2171* undef, i64 0, i32 1 38 br i1 undef, label %land.lhs.true167, label %if.then103 39 40 if.then103: ; preds = %if.end98 41 %.sub100 = select i1 undef, i32 250, i32 undef 42 %mul114 = shl nsw i32 %.sub100, 2 43 %from1115 = getelementptr inbounds %struct._exon_t.12.103.220.363.480.649.740.857.1039.1065.1078.1091.1117.1130.1156.1169.1195.1221.1234.1286.1299.1312.1338.1429.1455.1468.1494.1520.1884.1897.1975.2066.2105.2170.2171, %struct._exon_t.12.103.220.363.480.649.740.857.1039.1065.1078.1091.1117.1130.1156.1169.1195.1221.1234.1286.1299.1312.1338.1429.1455.1468.1494.1520.1884.1897.1975.2066.2105.2170.2171* undef, i64 0, i32 0 44 %cond125 = select i1 undef, i32 undef, i32 %mul114 45 br label %for.cond.i 46 47 for.cond.i: ; preds = %land.rhs.i874, %if.then103 48 %row.0.i = phi i32 [ undef, %land.rhs.i874 ], [ %.sub100, %if.then103 ] 49 %col.0.i = phi i32 [ undef, %land.rhs.i874 ], [ %cond125, %if.then103 ] 50 br i1 undef, label %land.rhs.i874, label %for.end.i 51 52 land.rhs.i874: ; preds = %for.cond.i 53 br i1 undef, label %for.cond.i, label %for.end.i 54 55 for.end.i: ; preds = %land.rhs.i874, %for.cond.i 56 br i1 undef, label %if.then.i, label %if.end.i 57 58 if.then.i: ; preds = %for.end.i 59 %add14.i = add nsw i32 %row.0.i, undef 60 %add15.i = add nsw i32 %col.0.i, undef 61 br label %extend_bw.exit 62 63 if.end.i: ; preds = %for.end.i 64 %add16.i = add i32 %cond125, %.sub100 65 %cmp26514.i = icmp slt i32 %add16.i, 0 66 br i1 %cmp26514.i, label %for.end33.i, label %for.body28.lr.ph.i 67 68 for.body28.lr.ph.i: ; preds = %if.end.i 69 br label %for.end33.i 70 71 for.end33.i: ; preds = %for.body28.lr.ph.i, %if.end.i 72 br i1 undef, label %for.end58.i, label %for.body52.lr.ph.i 73 74 for.body52.lr.ph.i: ; preds = %for.end33.i 75 br label %for.end58.i 76 77 for.end58.i: ; preds = %for.body52.lr.ph.i, %for.end33.i 78 br label %while.cond260.i 79 80 while.cond260.i: ; preds = %land.rhs263.i, %for.end58.i 81 br i1 undef, label %land.rhs263.i, label %while.end275.i 82 83 land.rhs263.i: ; preds = %while.cond260.i 84 br i1 undef, label %while.cond260.i, label %while.end275.i 85 86 while.end275.i: ; preds = %land.rhs263.i, %while.cond260.i 87 br label %extend_bw.exit 88 89 extend_bw.exit: ; preds = %while.end275.i, %if.then.i 90 %add14.i1262 = phi i32 [ %add14.i, %if.then.i ], [ undef, %while.end275.i ] 91 %add15.i1261 = phi i32 [ %add15.i, %if.then.i ], [ undef, %while.end275.i ] 92 br i1 false, label %if.then157, label %land.lhs.true167 93 94 if.then157: ; preds = %extend_bw.exit 95 %add158 = add nsw i32 %add14.i1262, 1 96 store i32 %add158, i32* %from299, align 4 97 %add160 = add nsw i32 %add15.i1261, 1 98 store i32 %add160, i32* %from1115, align 4 99 br label %land.lhs.true167 100 101 land.lhs.true167: ; preds = %if.then157, %extend_bw.exit, %if.end98, %land.lhs.true, %if.end12 102 unreachable 103 104 for.inc603: ; preds = %for.body 105 br i1 undef, label %for.body, label %for.end605 106 107 for.end605: ; preds = %for.inc603, %if.end 108 unreachable 109 110 return: ; preds = %lor.lhs.false, %entry 111 ret void 112 } 113 114