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