Home | History | Annotate | Download | only in CodeExtractor
      1 ; RUN: opt < %s -loop-extract -disable-output
      2 
      3 declare i32 @_IO_getc()
      4 
      5 declare void @__errno_location()
      6 
      7 define void @yylex() {
      8 entry:
      9 	switch i32 0, label %label.126 [
     10 		 i32 0, label %return
     11 		 i32 61, label %combine
     12 		 i32 33, label %combine
     13 		 i32 94, label %combine
     14 		 i32 37, label %combine
     15 		 i32 47, label %combine
     16 		 i32 42, label %combine
     17 		 i32 62, label %combine
     18 		 i32 60, label %combine
     19 		 i32 58, label %combine
     20 		 i32 124, label %combine
     21 		 i32 38, label %combine
     22 		 i32 45, label %combine
     23 		 i32 43, label %combine
     24 		 i32 34, label %string_constant
     25 		 i32 39, label %char_constant
     26 		 i32 46, label %loopexit.2
     27 		 i32 57, label %loopexit.2
     28 		 i32 56, label %loopexit.2
     29 		 i32 55, label %loopexit.2
     30 		 i32 54, label %loopexit.2
     31 		 i32 53, label %loopexit.2
     32 		 i32 52, label %loopexit.2
     33 		 i32 51, label %loopexit.2
     34 		 i32 50, label %loopexit.2
     35 		 i32 49, label %loopexit.2
     36 		 i32 48, label %loopexit.2
     37 		 i32 95, label %letter
     38 		 i32 122, label %letter
     39 		 i32 121, label %letter
     40 		 i32 120, label %letter
     41 		 i32 119, label %letter
     42 		 i32 118, label %letter
     43 		 i32 117, label %letter
     44 		 i32 116, label %letter
     45 		 i32 115, label %letter
     46 		 i32 114, label %letter
     47 		 i32 113, label %letter
     48 		 i32 112, label %letter
     49 		 i32 111, label %letter
     50 		 i32 110, label %letter
     51 		 i32 109, label %letter
     52 		 i32 108, label %letter
     53 		 i32 107, label %letter
     54 		 i32 106, label %letter
     55 		 i32 105, label %letter
     56 		 i32 104, label %letter
     57 		 i32 103, label %letter
     58 		 i32 102, label %letter
     59 		 i32 101, label %letter
     60 		 i32 100, label %letter
     61 		 i32 99, label %letter
     62 		 i32 98, label %letter
     63 		 i32 97, label %letter
     64 		 i32 90, label %letter
     65 		 i32 89, label %letter
     66 		 i32 88, label %letter
     67 		 i32 87, label %letter
     68 		 i32 86, label %letter
     69 		 i32 85, label %letter
     70 		 i32 84, label %letter
     71 		 i32 83, label %letter
     72 		 i32 82, label %letter
     73 		 i32 81, label %letter
     74 		 i32 80, label %letter
     75 		 i32 79, label %letter
     76 		 i32 78, label %letter
     77 		 i32 77, label %letter
     78 		 i32 75, label %letter
     79 		 i32 74, label %letter
     80 		 i32 73, label %letter
     81 		 i32 72, label %letter
     82 		 i32 71, label %letter
     83 		 i32 70, label %letter
     84 		 i32 69, label %letter
     85 		 i32 68, label %letter
     86 		 i32 67, label %letter
     87 		 i32 66, label %letter
     88 		 i32 65, label %letter
     89 		 i32 64, label %label.13
     90 		 i32 76, label %label.12
     91 		 i32 36, label %label.11
     92 		 i32 -1, label %label.10
     93 	]
     94 
     95 label.10:		; preds = %entry
     96 	ret void
     97 
     98 label.11:		; preds = %entry
     99 	ret void
    100 
    101 label.12:		; preds = %entry
    102 	ret void
    103 
    104 label.13:		; preds = %entry
    105 	ret void
    106 
    107 letter:		; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry
    108 	ret void
    109 
    110 loopexit.2:		; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry
    111 	switch i32 0, label %shortcirc_next.14 [
    112 		 i32 48, label %then.20
    113 		 i32 46, label %endif.38
    114 	]
    115 
    116 then.20:		; preds = %loopexit.2
    117 	switch i32 0, label %else.4 [
    118 		 i32 120, label %then.21
    119 		 i32 88, label %then.21
    120 	]
    121 
    122 then.21:		; preds = %then.20, %then.20
    123 	ret void
    124 
    125 else.4:		; preds = %then.20
    126 	ret void
    127 
    128 shortcirc_next.14:		; preds = %loopexit.2
    129 	ret void
    130 
    131 endif.38:		; preds = %loopexit.2
    132 	br i1 false, label %then.40, label %then.39
    133 
    134 then.39:		; preds = %endif.38
    135 	ret void
    136 
    137 then.40:		; preds = %endif.38
    138 	invoke void @__errno_location( )
    139 			to label %switchexit.2 unwind label %LongJmpBlkPre
    140 
    141 loopentry.6:		; preds = %endif.52
    142 	switch i32 0, label %switchexit.2 [
    143 		 i32 73, label %label.82
    144 		 i32 105, label %label.82
    145 		 i32 76, label %label.80
    146 		 i32 108, label %label.80
    147 		 i32 70, label %label.78
    148 		 i32 102, label %label.78
    149 	]
    150 
    151 label.78:		; preds = %loopentry.6, %loopentry.6
    152 	ret void
    153 
    154 label.80:		; preds = %loopentry.6, %loopentry.6
    155 	ret void
    156 
    157 label.82:		; preds = %loopentry.6, %loopentry.6
    158 	%c.0.15.5 = phi i32 [ %tmp.79417, %loopentry.6 ], [ %tmp.79417, %loopentry.6 ]		; <i32> [#uses=0]
    159 	ret void
    160 
    161 switchexit.2:		; preds = %loopentry.6, %then.40
    162 	br i1 false, label %endif.51, label %loopexit.6
    163 
    164 endif.51:		; preds = %switchexit.2
    165 	br i1 false, label %endif.52, label %then.52
    166 
    167 then.52:		; preds = %endif.51
    168 	ret void
    169 
    170 endif.52:		; preds = %endif.51
    171 	%tmp.79417 = invoke i32 @_IO_getc( )
    172 			to label %loopentry.6 unwind label %LongJmpBlkPre		; <i32> [#uses=2]
    173 
    174 loopexit.6:		; preds = %switchexit.2
    175 	ret void
    176 
    177 char_constant:		; preds = %entry
    178 	ret void
    179 
    180 string_constant:		; preds = %entry
    181 	ret void
    182 
    183 combine:		; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry
    184 	ret void
    185 
    186 label.126:		; preds = %entry
    187 	ret void
    188 
    189 return:		; preds = %entry
    190 	ret void
    191 
    192 LongJmpBlkPre:		; preds = %endif.52, %then.40
    193 	ret void
    194 }
    195