Home | History | Annotate | Download | only in X86
      1 ; RUN: llc < %s -mtriple=x86_64-apple-darwin10
      2 ; rdar://7059496
      3 
      4 	%struct.brinfo = type <{ %struct.brinfo*, %struct.brinfo*, i8*, i32, i32, i32, i8, i8, i8, i8 }>
      5 	%struct.cadata = type <{ i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i32, i32, %struct.cmatcher*, i8*, i8*, i8*, i8*, i8*, i8*, i32, i8, i8, i8, i8 }>
      6 	%struct.cline = type <{ %struct.cline*, i32, i8, i8, i8, i8, i8*, i32, i8, i8, i8, i8, i8*, i32, i8, i8, i8, i8, i8*, i32, i32, %struct.cline*, %struct.cline*, i32, i32 }>
      7 	%struct.cmatch = type <{ i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i32, i8, i8, i8, i8, i32*, i32*, i8*, i8*, i32, i32, i32, i32, i16, i8, i8, i16, i8, i8 }>
      8 	%struct.cmatcher = type <{ i32, i8, i8, i8, i8, %struct.cmatcher*, i32, i8, i8, i8, i8, %struct.cpattern*, i32, i8, i8, i8, i8, %struct.cpattern*, i32, i8, i8, i8, i8, %struct.cpattern*, i32, i8, i8, i8, i8, %struct.cpattern*, i32, i8, i8, i8, i8 }>
      9 	%struct.cpattern = type <{ %struct.cpattern*, i32, i8, i8, i8, i8, %union.anon }>
     10 	%struct.patprog = type <{ i64, i64, i64, i64, i32, i32, i32, i32, i8, i8, i8, i8, i8, i8, i8, i8 }>
     11 	%union.anon = type <{ [8 x i8] }>
     12 
     13 define i32 @addmatches(%struct.cadata* %dat, i8** nocapture %argv) nounwind ssp {
     14 entry:
     15 	br i1 undef, label %if.else, label %if.then91
     16 
     17 if.then91:		; preds = %entry
     18 	br label %if.end96
     19 
     20 if.else:		; preds = %entry
     21 	br label %if.end96
     22 
     23 if.end96:		; preds = %if.else, %if.then91
     24 	br i1 undef, label %lor.lhs.false, label %if.then105
     25 
     26 lor.lhs.false:		; preds = %if.end96
     27 	br i1 undef, label %if.else139, label %if.then105
     28 
     29 if.then105:		; preds = %lor.lhs.false, %if.end96
     30 	unreachable
     31 
     32 if.else139:		; preds = %lor.lhs.false
     33 	br i1 undef, label %land.end, label %land.rhs
     34 
     35 land.rhs:		; preds = %if.else139
     36 	unreachable
     37 
     38 land.end:		; preds = %if.else139
     39 	br i1 undef, label %land.lhs.true285, label %if.then315
     40 
     41 land.lhs.true285:		; preds = %land.end
     42 	br i1 undef, label %if.end324, label %if.then322
     43 
     44 if.then315:		; preds = %land.end
     45 	unreachable
     46 
     47 if.then322:		; preds = %land.lhs.true285
     48 	unreachable
     49 
     50 if.end324:		; preds = %land.lhs.true285
     51 	br i1 undef, label %if.end384, label %if.then358
     52 
     53 if.then358:		; preds = %if.end324
     54 	unreachable
     55 
     56 if.end384:		; preds = %if.end324
     57 	br i1 undef, label %if.end394, label %land.lhs.true387
     58 
     59 land.lhs.true387:		; preds = %if.end384
     60 	unreachable
     61 
     62 if.end394:		; preds = %if.end384
     63 	br i1 undef, label %if.end498, label %land.lhs.true399
     64 
     65 land.lhs.true399:		; preds = %if.end394
     66 	br i1 undef, label %if.end498, label %if.then406
     67 
     68 if.then406:		; preds = %land.lhs.true399
     69 	unreachable
     70 
     71 if.end498:		; preds = %land.lhs.true399, %if.end394
     72 	br i1 undef, label %if.end514, label %if.then503
     73 
     74 if.then503:		; preds = %if.end498
     75 	unreachable
     76 
     77 if.end514:		; preds = %if.end498
     78 	br i1 undef, label %if.end585, label %if.then520
     79 
     80 if.then520:		; preds = %if.end514
     81 	br i1 undef, label %lor.lhs.false547, label %if.then560
     82 
     83 lor.lhs.false547:		; preds = %if.then520
     84 	unreachable
     85 
     86 if.then560:		; preds = %if.then520
     87 	br i1 undef, label %if.end585, label %land.lhs.true566
     88 
     89 land.lhs.true566:		; preds = %if.then560
     90 	br i1 undef, label %if.end585, label %if.then573
     91 
     92 if.then573:		; preds = %land.lhs.true566
     93 	unreachable
     94 
     95 if.end585:		; preds = %land.lhs.true566, %if.then560, %if.end514
     96 	br i1 undef, label %cond.true593, label %cond.false599
     97 
     98 cond.true593:		; preds = %if.end585
     99 	unreachable
    100 
    101 cond.false599:		; preds = %if.end585
    102 	br i1 undef, label %if.end647, label %if.then621
    103 
    104 if.then621:		; preds = %cond.false599
    105 	br i1 undef, label %cond.true624, label %cond.false630
    106 
    107 cond.true624:		; preds = %if.then621
    108 	br label %if.end647
    109 
    110 cond.false630:		; preds = %if.then621
    111 	unreachable
    112 
    113 if.end647:		; preds = %cond.true624, %cond.false599
    114 	br i1 undef, label %if.end723, label %if.then701
    115 
    116 if.then701:		; preds = %if.end647
    117 	br label %if.end723
    118 
    119 if.end723:		; preds = %if.then701, %if.end647
    120 	br i1 undef, label %if.else1090, label %if.then729
    121 
    122 if.then729:		; preds = %if.end723
    123 	br i1 undef, label %if.end887, label %if.then812
    124 
    125 if.then812:		; preds = %if.then729
    126 	unreachable
    127 
    128 if.end887:		; preds = %if.then729
    129 	br i1 undef, label %if.end972, label %if.then893
    130 
    131 if.then893:		; preds = %if.end887
    132 	br i1 undef, label %if.end919, label %if.then903
    133 
    134 if.then903:		; preds = %if.then893
    135 	unreachable
    136 
    137 if.end919:		; preds = %if.then893
    138 	br label %if.end972
    139 
    140 if.end972:		; preds = %if.end919, %if.end887
    141 	%sline.0 = phi %struct.cline* [ undef, %if.end919 ], [ null, %if.end887 ]		; <%struct.cline*> [#uses=5]
    142 	%bcs.0 = phi i32 [ undef, %if.end919 ], [ 0, %if.end887 ]		; <i32> [#uses=5]
    143 	br i1 undef, label %if.end1146, label %land.lhs.true975
    144 
    145 land.lhs.true975:		; preds = %if.end972
    146 	br i1 undef, label %if.end1146, label %if.then980
    147 
    148 if.then980:		; preds = %land.lhs.true975
    149 	br i1 undef, label %cond.false1025, label %cond.false1004
    150 
    151 cond.false1004:		; preds = %if.then980
    152 	unreachable
    153 
    154 cond.false1025:		; preds = %if.then980
    155 	br i1 undef, label %if.end1146, label %if.then1071
    156 
    157 if.then1071:		; preds = %cond.false1025
    158 	br i1 undef, label %if.then1074, label %if.end1081
    159 
    160 if.then1074:		; preds = %if.then1071
    161 	br label %if.end1081
    162 
    163 if.end1081:		; preds = %if.then1074, %if.then1071
    164 	%call1083 = call %struct.patprog* @patcompile(i8* undef, i32 0, i8** null) nounwind ssp		; <%struct.patprog*> [#uses=2]
    165 	br i1 undef, label %if.end1146, label %if.then1086
    166 
    167 if.then1086:		; preds = %if.end1081
    168 	br label %if.end1146
    169 
    170 if.else1090:		; preds = %if.end723
    171 	br i1 undef, label %if.end1146, label %land.lhs.true1093
    172 
    173 land.lhs.true1093:		; preds = %if.else1090
    174 	br i1 undef, label %if.end1146, label %if.then1098
    175 
    176 if.then1098:		; preds = %land.lhs.true1093
    177 	unreachable
    178 
    179 if.end1146:		; preds = %land.lhs.true1093, %if.else1090, %if.then1086, %if.end1081, %cond.false1025, %land.lhs.true975, %if.end972
    180 	%cp.0 = phi %struct.patprog* [ %call1083, %if.then1086 ], [ null, %if.end972 ], [ null, %land.lhs.true975 ], [ null, %cond.false1025 ], [ %call1083, %if.end1081 ], [ null, %if.else1090 ], [ null, %land.lhs.true1093 ]		; <%struct.patprog*> [#uses=1]
    181 	%sline.1 = phi %struct.cline* [ %sline.0, %if.then1086 ], [ %sline.0, %if.end972 ], [ %sline.0, %land.lhs.true975 ], [ %sline.0, %cond.false1025 ], [ %sline.0, %if.end1081 ], [ null, %if.else1090 ], [ null, %land.lhs.true1093 ]		; <%struct.cline*> [#uses=1]
    182 	%bcs.1 = phi i32 [ %bcs.0, %if.then1086 ], [ %bcs.0, %if.end972 ], [ %bcs.0, %land.lhs.true975 ], [ %bcs.0, %cond.false1025 ], [ %bcs.0, %if.end1081 ], [ 0, %if.else1090 ], [ 0, %land.lhs.true1093 ]		; <i32> [#uses=1]
    183 	br i1 undef, label %if.end1307, label %do.body1270
    184 
    185 do.body1270:		; preds = %if.end1146
    186 	unreachable
    187 
    188 if.end1307:		; preds = %if.end1146
    189 	br i1 undef, label %if.end1318, label %if.then1312
    190 
    191 if.then1312:		; preds = %if.end1307
    192 	unreachable
    193 
    194 if.end1318:		; preds = %if.end1307
    195 	br i1 undef, label %for.cond1330.preheader, label %if.then1323
    196 
    197 if.then1323:		; preds = %if.end1318
    198 	unreachable
    199 
    200 for.cond1330.preheader:		; preds = %if.end1318
    201 	%call1587 = call i8* @comp_match(i8* undef, i8* undef, i8* undef, %struct.patprog* %cp.0, %struct.cline** undef, i32 0, %struct.brinfo** undef, i32 0, %struct.brinfo** undef, i32 %bcs.1, i32* undef) nounwind ssp		; <i8*> [#uses=0]
    202 	%call1667 = call %struct.cmatch* @add_match_data(i32 0, i8* undef, i8* undef, %struct.cline* undef, i8* undef, i8* null, i8* undef, i8* undef, i8* undef, i8* undef, %struct.cline* null, i8* undef, %struct.cline* %sline.1, i8* undef, i32 undef, i32 undef) ssp		; <%struct.cmatch*> [#uses=0]
    203 	unreachable
    204 }
    205 
    206 declare %struct.patprog* @patcompile(i8*, i32, i8**) ssp
    207 
    208 declare i8* @comp_match(i8*, i8*, i8*, %struct.patprog*, %struct.cline**, i32, %struct.brinfo**, i32, %struct.brinfo**, i32, i32*) ssp
    209 
    210 declare %struct.cmatch* @add_match_data(i32, i8*, i8*, %struct.cline*, i8*, i8*, i8*, i8*, i8*, i8*, %struct.cline*, i8*, %struct.cline*, i8*, i32, i32) nounwind ssp
    211