Home | History | Annotate | Download | only in X86
      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