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