1 ; RUN: opt < %s -gvn | llvm-dis 2 3 %"struct.Block::$_16" = type { i32 } 4 %struct.Exp = type { %struct.Exp_*, i32, i32, i32, %struct.Exp*, %struct.Exp*, %"struct.Exp::$_10", %"struct.Block::$_16", %"struct.Exp::$_12" } 5 %"struct.Exp::$_10" = type { %struct.Exp* } 6 %"struct.Exp::$_12" = type { %struct.Exp** } 7 %struct.Exp_ = type { i32, i32, i32, i32, %struct.Id* } 8 %struct.Id = type { i8*, i32, i32, i32, %"struct.Id::$_13" } 9 %"struct.Id::$_13" = type { double } 10 11 define i8* @_ZN3Exp8toStringEj(%struct.Exp* %this, i32 %nextpc) { 12 entry: 13 switch i32 0, label %bb970 [ 14 i32 1, label %bb 15 i32 2, label %bb39 16 i32 3, label %bb195 17 i32 4, label %bb270 18 i32 5, label %bb418 19 i32 6, label %bb633 20 i32 7, label %bb810 21 i32 8, label %bb882 22 i32 9, label %bb925 23 ] 24 25 bb: ; preds = %entry 26 store i8* null, i8** null 27 br label %return 28 29 bb39: ; preds = %entry 30 br i1 false, label %cond_true, label %cond_false132 31 32 cond_true: ; preds = %bb39 33 br i1 false, label %cond_true73, label %cond_false 34 35 cond_true73: ; preds = %cond_true 36 br i1 false, label %cond_true108, label %cond_next 37 38 cond_true108: ; preds = %cond_true73 39 br label %cond_next 40 41 cond_next: ; preds = %cond_true108, %cond_true73 42 br label %cond_next131 43 44 cond_false: ; preds = %cond_true 45 br label %cond_next131 46 47 cond_next131: ; preds = %cond_false, %cond_next 48 br label %cond_next141 49 50 cond_false132: ; preds = %bb39 51 br label %cond_next141 52 53 cond_next141: ; preds = %cond_false132, %cond_next131 54 br i1 false, label %cond_true169, label %cond_false175 55 56 cond_true169: ; preds = %cond_next141 57 br label %cond_next181 58 59 cond_false175: ; preds = %cond_next141 60 br label %cond_next181 61 62 cond_next181: ; preds = %cond_false175, %cond_true169 63 br i1 false, label %cond_true189, label %cond_next191 64 65 cond_true189: ; preds = %cond_next181 66 br label %cond_next191 67 68 cond_next191: ; preds = %cond_true189, %cond_next181 69 store i8* null, i8** null 70 br label %return 71 72 bb195: ; preds = %entry 73 br i1 false, label %cond_true248, label %cond_false250 74 75 cond_true248: ; preds = %bb195 76 br label %cond_next252 77 78 cond_false250: ; preds = %bb195 79 br label %cond_next252 80 81 cond_next252: ; preds = %cond_false250, %cond_true248 82 br i1 false, label %cond_true265, label %cond_next267 83 84 cond_true265: ; preds = %cond_next252 85 br label %cond_next267 86 87 cond_next267: ; preds = %cond_true265, %cond_next252 88 store i8* null, i8** null 89 br label %return 90 91 bb270: ; preds = %entry 92 br i1 false, label %cond_true338, label %cond_false340 93 94 cond_true338: ; preds = %bb270 95 br label %cond_next342 96 97 cond_false340: ; preds = %bb270 98 br label %cond_next342 99 100 cond_next342: ; preds = %cond_false340, %cond_true338 101 br i1 false, label %cond_true362, label %cond_false364 102 103 cond_true362: ; preds = %cond_next342 104 br label %cond_next366 105 106 cond_false364: ; preds = %cond_next342 107 br label %cond_next366 108 109 cond_next366: ; preds = %cond_false364, %cond_true362 110 br i1 false, label %cond_true393, label %cond_next395 111 112 cond_true393: ; preds = %cond_next366 113 br label %cond_next395 114 115 cond_next395: ; preds = %cond_true393, %cond_next366 116 br i1 false, label %cond_true406, label %cond_next408 117 118 cond_true406: ; preds = %cond_next395 119 br label %cond_next408 120 121 cond_next408: ; preds = %cond_true406, %cond_next395 122 br i1 false, label %cond_true413, label %cond_next415 123 124 cond_true413: ; preds = %cond_next408 125 br label %cond_next415 126 127 cond_next415: ; preds = %cond_true413, %cond_next408 128 store i8* null, i8** null 129 br label %return 130 131 bb418: ; preds = %entry 132 br i1 false, label %cond_true512, label %cond_false514 133 134 cond_true512: ; preds = %bb418 135 br label %cond_next516 136 137 cond_false514: ; preds = %bb418 138 br label %cond_next516 139 140 cond_next516: ; preds = %cond_false514, %cond_true512 141 br i1 false, label %cond_true536, label %cond_false538 142 143 cond_true536: ; preds = %cond_next516 144 br label %cond_next540 145 146 cond_false538: ; preds = %cond_next516 147 br label %cond_next540 148 149 cond_next540: ; preds = %cond_false538, %cond_true536 150 br i1 false, label %cond_true560, label %cond_false562 151 152 cond_true560: ; preds = %cond_next540 153 br label %cond_next564 154 155 cond_false562: ; preds = %cond_next540 156 br label %cond_next564 157 158 cond_next564: ; preds = %cond_false562, %cond_true560 159 br i1 false, label %cond_true597, label %cond_next599 160 161 cond_true597: ; preds = %cond_next564 162 br label %cond_next599 163 164 cond_next599: ; preds = %cond_true597, %cond_next564 165 br i1 false, label %cond_true614, label %cond_next616 166 167 cond_true614: ; preds = %cond_next599 168 br label %cond_next616 169 170 cond_next616: ; preds = %cond_true614, %cond_next599 171 br i1 false, label %cond_true621, label %cond_next623 172 173 cond_true621: ; preds = %cond_next616 174 br label %cond_next623 175 176 cond_next623: ; preds = %cond_true621, %cond_next616 177 br i1 false, label %cond_true628, label %cond_next630 178 179 cond_true628: ; preds = %cond_next623 180 br label %cond_next630 181 182 cond_next630: ; preds = %cond_true628, %cond_next623 183 store i8* null, i8** null 184 br label %return 185 186 bb633: ; preds = %entry 187 br i1 false, label %cond_true667, label %cond_next669 188 189 cond_true667: ; preds = %bb633 190 br label %cond_next669 191 192 cond_next669: ; preds = %cond_true667, %bb633 193 br i1 false, label %cond_true678, label %cond_next791 194 195 cond_true678: ; preds = %cond_next669 196 br label %bb735 197 198 bb679: ; preds = %bb735 199 br i1 false, label %cond_true729, label %cond_next731 200 201 cond_true729: ; preds = %bb679 202 br label %cond_next731 203 204 cond_next731: ; preds = %cond_true729, %bb679 205 br label %bb735 206 207 bb735: ; preds = %cond_next731, %cond_true678 208 br i1 false, label %bb679, label %bb743 209 210 bb743: ; preds = %bb735 211 br i1 false, label %cond_true788, label %cond_next790 212 213 cond_true788: ; preds = %bb743 214 br label %cond_next790 215 216 cond_next790: ; preds = %cond_true788, %bb743 217 br label %cond_next791 218 219 cond_next791: ; preds = %cond_next790, %cond_next669 220 br i1 false, label %cond_true805, label %cond_next807 221 222 cond_true805: ; preds = %cond_next791 223 br label %cond_next807 224 225 cond_next807: ; preds = %cond_true805, %cond_next791 226 store i8* null, i8** null 227 br label %return 228 229 bb810: ; preds = %entry 230 br i1 false, label %cond_true870, label %cond_next872 231 232 cond_true870: ; preds = %bb810 233 br label %cond_next872 234 235 cond_next872: ; preds = %cond_true870, %bb810 236 br i1 false, label %cond_true877, label %cond_next879 237 238 cond_true877: ; preds = %cond_next872 239 br label %cond_next879 240 241 cond_next879: ; preds = %cond_true877, %cond_next872 242 store i8* null, i8** null 243 br label %return 244 245 bb882: ; preds = %entry 246 br i1 false, label %cond_true920, label %cond_next922 247 248 cond_true920: ; preds = %bb882 249 br label %cond_next922 250 251 cond_next922: ; preds = %cond_true920, %bb882 252 store i8* null, i8** null 253 br label %return 254 255 bb925: ; preds = %entry 256 br i1 false, label %cond_true965, label %cond_next967 257 258 cond_true965: ; preds = %bb925 259 br label %cond_next967 260 261 cond_next967: ; preds = %cond_true965, %bb925 262 store i8* null, i8** null 263 br label %return 264 265 bb970: ; preds = %entry 266 unreachable 267 ; No predecessors! 268 store i8* null, i8** null 269 br label %return 270 271 return: ; preds = %0, %cond_next967, %cond_next922, %cond_next879, %cond_next807, %cond_next630, %cond_next415, %cond_next267, %cond_next191, %bb 272 %retval980 = load i8** null ; <i8*> [#uses=1] 273 ret i8* %retval980 274 } 275