| ; RUN: opt < %s -passes=newgvn | llvm-dis |
| |
| %"struct.Block::$_16" = type { i32 } |
| %struct.Exp = type { ptr, i32, i32, i32, ptr, ptr, %"struct.Exp::$_10", %"struct.Block::$_16", %"struct.Exp::$_12" } |
| %"struct.Exp::$_10" = type { ptr } |
| %"struct.Exp::$_12" = type { ptr } |
| %struct.Exp_ = type { i32, i32, i32, i32, ptr } |
| %struct.Id = type { ptr, i32, i32, i32, %"struct.Id::$_13" } |
| %"struct.Id::$_13" = type { double } |
| |
| define ptr @_ZN3Exp8toStringEj(ptr %this, i32 %nextpc) { |
| entry: |
| switch i32 0, label %bb970 [ |
| i32 1, label %bb |
| i32 2, label %bb39 |
| i32 3, label %bb195 |
| i32 4, label %bb270 |
| i32 5, label %bb418 |
| i32 6, label %bb633 |
| i32 7, label %bb810 |
| i32 8, label %bb882 |
| i32 9, label %bb925 |
| ] |
| |
| bb: ; preds = %entry |
| store ptr null, ptr null |
| br label %return |
| |
| bb39: ; preds = %entry |
| br i1 false, label %cond_true, label %cond_false132 |
| |
| cond_true: ; preds = %bb39 |
| br i1 false, label %cond_true73, label %cond_false |
| |
| cond_true73: ; preds = %cond_true |
| br i1 false, label %cond_true108, label %cond_next |
| |
| cond_true108: ; preds = %cond_true73 |
| br label %cond_next |
| |
| cond_next: ; preds = %cond_true108, %cond_true73 |
| br label %cond_next131 |
| |
| cond_false: ; preds = %cond_true |
| br label %cond_next131 |
| |
| cond_next131: ; preds = %cond_false, %cond_next |
| br label %cond_next141 |
| |
| cond_false132: ; preds = %bb39 |
| br label %cond_next141 |
| |
| cond_next141: ; preds = %cond_false132, %cond_next131 |
| br i1 false, label %cond_true169, label %cond_false175 |
| |
| cond_true169: ; preds = %cond_next141 |
| br label %cond_next181 |
| |
| cond_false175: ; preds = %cond_next141 |
| br label %cond_next181 |
| |
| cond_next181: ; preds = %cond_false175, %cond_true169 |
| br i1 false, label %cond_true189, label %cond_next191 |
| |
| cond_true189: ; preds = %cond_next181 |
| br label %cond_next191 |
| |
| cond_next191: ; preds = %cond_true189, %cond_next181 |
| store ptr null, ptr null |
| br label %return |
| |
| bb195: ; preds = %entry |
| br i1 false, label %cond_true248, label %cond_false250 |
| |
| cond_true248: ; preds = %bb195 |
| br label %cond_next252 |
| |
| cond_false250: ; preds = %bb195 |
| br label %cond_next252 |
| |
| cond_next252: ; preds = %cond_false250, %cond_true248 |
| br i1 false, label %cond_true265, label %cond_next267 |
| |
| cond_true265: ; preds = %cond_next252 |
| br label %cond_next267 |
| |
| cond_next267: ; preds = %cond_true265, %cond_next252 |
| store ptr null, ptr null |
| br label %return |
| |
| bb270: ; preds = %entry |
| br i1 false, label %cond_true338, label %cond_false340 |
| |
| cond_true338: ; preds = %bb270 |
| br label %cond_next342 |
| |
| cond_false340: ; preds = %bb270 |
| br label %cond_next342 |
| |
| cond_next342: ; preds = %cond_false340, %cond_true338 |
| br i1 false, label %cond_true362, label %cond_false364 |
| |
| cond_true362: ; preds = %cond_next342 |
| br label %cond_next366 |
| |
| cond_false364: ; preds = %cond_next342 |
| br label %cond_next366 |
| |
| cond_next366: ; preds = %cond_false364, %cond_true362 |
| br i1 false, label %cond_true393, label %cond_next395 |
| |
| cond_true393: ; preds = %cond_next366 |
| br label %cond_next395 |
| |
| cond_next395: ; preds = %cond_true393, %cond_next366 |
| br i1 false, label %cond_true406, label %cond_next408 |
| |
| cond_true406: ; preds = %cond_next395 |
| br label %cond_next408 |
| |
| cond_next408: ; preds = %cond_true406, %cond_next395 |
| br i1 false, label %cond_true413, label %cond_next415 |
| |
| cond_true413: ; preds = %cond_next408 |
| br label %cond_next415 |
| |
| cond_next415: ; preds = %cond_true413, %cond_next408 |
| store ptr null, ptr null |
| br label %return |
| |
| bb418: ; preds = %entry |
| br i1 false, label %cond_true512, label %cond_false514 |
| |
| cond_true512: ; preds = %bb418 |
| br label %cond_next516 |
| |
| cond_false514: ; preds = %bb418 |
| br label %cond_next516 |
| |
| cond_next516: ; preds = %cond_false514, %cond_true512 |
| br i1 false, label %cond_true536, label %cond_false538 |
| |
| cond_true536: ; preds = %cond_next516 |
| br label %cond_next540 |
| |
| cond_false538: ; preds = %cond_next516 |
| br label %cond_next540 |
| |
| cond_next540: ; preds = %cond_false538, %cond_true536 |
| br i1 false, label %cond_true560, label %cond_false562 |
| |
| cond_true560: ; preds = %cond_next540 |
| br label %cond_next564 |
| |
| cond_false562: ; preds = %cond_next540 |
| br label %cond_next564 |
| |
| cond_next564: ; preds = %cond_false562, %cond_true560 |
| br i1 false, label %cond_true597, label %cond_next599 |
| |
| cond_true597: ; preds = %cond_next564 |
| br label %cond_next599 |
| |
| cond_next599: ; preds = %cond_true597, %cond_next564 |
| br i1 false, label %cond_true614, label %cond_next616 |
| |
| cond_true614: ; preds = %cond_next599 |
| br label %cond_next616 |
| |
| cond_next616: ; preds = %cond_true614, %cond_next599 |
| br i1 false, label %cond_true621, label %cond_next623 |
| |
| cond_true621: ; preds = %cond_next616 |
| br label %cond_next623 |
| |
| cond_next623: ; preds = %cond_true621, %cond_next616 |
| br i1 false, label %cond_true628, label %cond_next630 |
| |
| cond_true628: ; preds = %cond_next623 |
| br label %cond_next630 |
| |
| cond_next630: ; preds = %cond_true628, %cond_next623 |
| store ptr null, ptr null |
| br label %return |
| |
| bb633: ; preds = %entry |
| br i1 false, label %cond_true667, label %cond_next669 |
| |
| cond_true667: ; preds = %bb633 |
| br label %cond_next669 |
| |
| cond_next669: ; preds = %cond_true667, %bb633 |
| br i1 false, label %cond_true678, label %cond_next791 |
| |
| cond_true678: ; preds = %cond_next669 |
| br label %bb735 |
| |
| bb679: ; preds = %bb735 |
| br i1 false, label %cond_true729, label %cond_next731 |
| |
| cond_true729: ; preds = %bb679 |
| br label %cond_next731 |
| |
| cond_next731: ; preds = %cond_true729, %bb679 |
| br label %bb735 |
| |
| bb735: ; preds = %cond_next731, %cond_true678 |
| br i1 false, label %bb679, label %bb743 |
| |
| bb743: ; preds = %bb735 |
| br i1 false, label %cond_true788, label %cond_next790 |
| |
| cond_true788: ; preds = %bb743 |
| br label %cond_next790 |
| |
| cond_next790: ; preds = %cond_true788, %bb743 |
| br label %cond_next791 |
| |
| cond_next791: ; preds = %cond_next790, %cond_next669 |
| br i1 false, label %cond_true805, label %cond_next807 |
| |
| cond_true805: ; preds = %cond_next791 |
| br label %cond_next807 |
| |
| cond_next807: ; preds = %cond_true805, %cond_next791 |
| store ptr null, ptr null |
| br label %return |
| |
| bb810: ; preds = %entry |
| br i1 false, label %cond_true870, label %cond_next872 |
| |
| cond_true870: ; preds = %bb810 |
| br label %cond_next872 |
| |
| cond_next872: ; preds = %cond_true870, %bb810 |
| br i1 false, label %cond_true877, label %cond_next879 |
| |
| cond_true877: ; preds = %cond_next872 |
| br label %cond_next879 |
| |
| cond_next879: ; preds = %cond_true877, %cond_next872 |
| store ptr null, ptr null |
| br label %return |
| |
| bb882: ; preds = %entry |
| br i1 false, label %cond_true920, label %cond_next922 |
| |
| cond_true920: ; preds = %bb882 |
| br label %cond_next922 |
| |
| cond_next922: ; preds = %cond_true920, %bb882 |
| store ptr null, ptr null |
| br label %return |
| |
| bb925: ; preds = %entry |
| br i1 false, label %cond_true965, label %cond_next967 |
| |
| cond_true965: ; preds = %bb925 |
| br label %cond_next967 |
| |
| cond_next967: ; preds = %cond_true965, %bb925 |
| store ptr null, ptr null |
| br label %return |
| |
| bb970: ; preds = %entry |
| unreachable |
| ; No predecessors! |
| store ptr null, ptr null |
| br label %return |
| |
| return: ; preds = %0, %cond_next967, %cond_next922, %cond_next879, %cond_next807, %cond_next630, %cond_next415, %cond_next267, %cond_next191, %bb |
| %retval980 = load ptr, ptr null ; <ptr> [#uses=1] |
| ret ptr %retval980 |
| } |