From 2ade22835e99b10681142e3b35653c1d586e3058 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 12 Jul 2006 18:27:13 +0000 Subject: testcase for PR827 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29119 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../Inline/2006-07-12-InlinePruneCGUpdate.ll | 843 +++++++++++++++++++++ 1 file changed, 843 insertions(+) create mode 100644 test/Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll (limited to 'test') diff --git a/test/Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll b/test/Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll new file mode 100644 index 0000000000..2baa6e5096 --- /dev/null +++ b/test/Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll @@ -0,0 +1,843 @@ +; RUN: llvm-as < %s | opt -inline -prune-eh -disable-output +; PR827 + +%_ZTV8CRjii = internal global [1 x int (...)*] [ int (...)* %_ZN8CRjii12NlFeeEPN5Jr7sE ] ; <[1 x int (...)*]*> [#uses=0] + +implementation ; Functions: + +internal int %_ZN8CRjii12NlFeeEPN5Jr7sE(...) { +entry: + br bool false, label %cond_true, label %cond_false179 + +cond_true: ; preds = %entry + br label %bb9 + +bb: ; preds = %cond_true14 + br label %bb9 + +bb9: ; preds = %bb, %cond_true + br bool false, label %cond_true14, label %cond_false + +cond_true14: ; preds = %bb9 + br label %bb + +cond_false: ; preds = %bb9 + br label %bb15 + +cond_next: ; No predecessors! + br label %bb15 + +bb15: ; preds = %cond_next, %cond_false + br label %bb24 + +bb17: ; preds = %cond_true29 + br label %bb24 + +bb24: ; preds = %bb17, %bb15 + br bool false, label %cond_true29, label %cond_false30 + +cond_true29: ; preds = %bb24 + br label %bb17 + +cond_false30: ; preds = %bb24 + br label %bb32 + +cond_next31: ; No predecessors! + br label %bb32 + +bb32: ; preds = %cond_next31, %cond_false30 + br label %bb41 + +bb34: ; preds = %cond_true46 + br label %bb41 + +bb41: ; preds = %bb34, %bb32 + br bool false, label %cond_true46, label %cond_false47 + +cond_true46: ; preds = %bb41 + br label %bb34 + +cond_false47: ; preds = %bb41 + br label %bb49 + +cond_next48: ; No predecessors! + br label %bb49 + +bb49: ; preds = %cond_next48, %cond_false47 + br label %bb58 + +bb51: ; preds = %cond_true63 + br label %bb58 + +bb58: ; preds = %bb51, %bb49 + br bool false, label %cond_true63, label %cond_false64 + +cond_true63: ; preds = %bb58 + br label %bb51 + +cond_false64: ; preds = %bb58 + br label %bb66 + +cond_next65: ; No predecessors! + br label %bb66 + +bb66: ; preds = %cond_next65, %cond_false64 + br label %bb76 + +bb68: ; preds = %cond_true81 + br label %bb76 + +bb76: ; preds = %bb68, %bb66 + br bool false, label %cond_true81, label %cond_false82 + +cond_true81: ; preds = %bb76 + br label %bb68 + +cond_false82: ; preds = %bb76 + br label %bb84 + +cond_next83: ; No predecessors! + br label %bb84 + +bb84: ; preds = %cond_next83, %cond_false82 + br label %bb94 + +bb86: ; preds = %cond_true99 + br label %bb94 + +bb94: ; preds = %bb86, %bb84 + br bool false, label %cond_true99, label %cond_false100 + +cond_true99: ; preds = %bb94 + br label %bb86 + +cond_false100: ; preds = %bb94 + br label %bb102 + +cond_next101: ; No predecessors! + br label %bb102 + +bb102: ; preds = %cond_next101, %cond_false100 + br label %bb112 + +bb104: ; preds = %cond_true117 + br label %bb112 + +bb112: ; preds = %bb104, %bb102 + br bool false, label %cond_true117, label %cond_false118 + +cond_true117: ; preds = %bb112 + br label %bb104 + +cond_false118: ; preds = %bb112 + br label %bb120 + +cond_next119: ; No predecessors! + br label %bb120 + +bb120: ; preds = %cond_next119, %cond_false118 + br label %bb130 + +bb122: ; preds = %cond_true135 + br label %bb130 + +bb130: ; preds = %bb122, %bb120 + br bool false, label %cond_true135, label %cond_false136 + +cond_true135: ; preds = %bb130 + br label %bb122 + +cond_false136: ; preds = %bb130 + br label %bb138 + +cond_next137: ; No predecessors! + br label %bb138 + +bb138: ; preds = %cond_next137, %cond_false136 + br label %bb148 + +bb140: ; preds = %cond_true153 + call fastcc void %_Zjrf1( ) + br label %bb148 + +bb148: ; preds = %bb140, %bb138 + br bool false, label %cond_true153, label %cond_false154 + +cond_true153: ; preds = %bb148 + br label %bb140 + +cond_false154: ; preds = %bb148 + br label %bb156 + +cond_next155: ; No predecessors! + br label %bb156 + +bb156: ; preds = %cond_next155, %cond_false154 + br label %bb166 + +bb158: ; preds = %cond_true171 + br label %bb166 + +bb166: ; preds = %bb158, %bb156 + br bool false, label %cond_true171, label %cond_false172 + +cond_true171: ; preds = %bb166 + br label %bb158 + +cond_false172: ; preds = %bb166 + br label %bb174 + +cond_next173: ; No predecessors! + br label %bb174 + +bb174: ; preds = %cond_next173, %cond_false172 + br label %cleanup + +cleanup: ; preds = %bb174 + br label %finally + +finally: ; preds = %cleanup + br label %cond_next180 + +cond_false179: ; preds = %entry + br label %cond_next180 + +cond_next180: ; preds = %cond_false179, %finally + br label %return + +return: ; preds = %cond_next180 + ret int 0 +} + +internal fastcc void %_Zjrf2() { +entry: + br label %bb3 + +bb: ; preds = %cond_true + br label %bb3 + +bb3: ; preds = %bb, %entry + %tmp5 = load ubyte** null ; [#uses=1] + %tmp = setne ubyte* null, %tmp5 ; [#uses=1] + br bool %tmp, label %cond_true, label %cond_false + +cond_true: ; preds = %bb3 + br label %bb + +cond_false: ; preds = %bb3 + br label %bb6 + +cond_next: ; No predecessors! + br label %bb6 + +bb6: ; preds = %cond_next, %cond_false + br label %return + +return: ; preds = %bb6 + ret void +} + +internal fastcc void %_Zjrf3() { +entry: + call fastcc void %_Zjrf2( ) + br label %return + +return: ; preds = %entry + ret void +} + +internal fastcc void %_Zjrf4() { +entry: + br label %bb6 + +bb: ; preds = %cond_true + br label %bb6 + +bb6: ; preds = %bb, %entry + br bool false, label %cond_true, label %cond_false + +cond_true: ; preds = %bb6 + br label %bb + +cond_false: ; preds = %bb6 + br label %bb8 + +cond_next: ; No predecessors! + br label %bb8 + +bb8: ; preds = %cond_next, %cond_false + br bool false, label %cond_true9, label %cond_false12 + +cond_true9: ; preds = %bb8 + call fastcc void %_Zjrf3( ) + br label %cond_next13 + +cond_false12: ; preds = %bb8 + br label %cond_next13 + +cond_next13: ; preds = %cond_false12, %cond_true9 + br label %return + +return: ; preds = %cond_next13 + ret void +} + +internal fastcc void %_Zjrf5() { +entry: + call fastcc void %_Zjrf4( ) + br label %return + +return: ; preds = %entry + ret void +} + +internal fastcc void %_Zjrf6() { +entry: + call fastcc void %_Zjrf5( ) + br label %return + +return: ; preds = %entry + ret void +} + +internal fastcc void %_Zjrf7() { +entry: + br label %cleanup + +cleanup: ; preds = %entry + br label %finally + +finally: ; preds = %cleanup + call fastcc void %_Zjrf6( ) + br label %cleanup9 + +cleanup9: ; preds = %finally + br label %finally8 + +finally8: ; preds = %cleanup9 + br label %cleanup11 + +cleanup11: ; preds = %finally8 + br label %finally10 + +finally10: ; preds = %cleanup11 + br label %finally23 + +finally23: ; preds = %finally10 + br label %return + +return: ; preds = %finally23 + ret void +} + +internal fastcc void %_Zjrf11() { +entry: + br label %bb7 + +bb: ; preds = %cond_true + br label %bb7 + +bb7: ; preds = %bb, %entry + br bool false, label %cond_true, label %cond_false + +cond_true: ; preds = %bb7 + br label %bb + +cond_false: ; preds = %bb7 + br label %bb9 + +cond_next: ; No predecessors! + br label %bb9 + +bb9: ; preds = %cond_next, %cond_false + br label %return + ; No predecessors! + br bool false, label %cond_true12, label %cond_false15 + +cond_true12: ; preds = %0 + call fastcc void %_Zjrf3( ) + br label %cond_next16 + +cond_false15: ; preds = %0 + br label %cond_next16 + +cond_next16: ; preds = %cond_false15, %cond_true12 + br label %return + +return: ; preds = %cond_next16, %bb9 + ret void +} + +internal fastcc void %_Zjrf9() { +entry: + call fastcc void %_Zjrf11( ) + br label %return + +return: ; preds = %entry + ret void +} + +internal fastcc void %_Zjrf10() { +entry: + call fastcc void %_Zjrf9( ) + br label %return + +return: ; preds = %entry + ret void +} + +internal fastcc void %_Zjrf8() { +entry: + br bool false, label %cond_true, label %cond_false201 + +cond_true: ; preds = %entry + br bool false, label %cond_true36, label %cond_false + +cond_true36: ; preds = %cond_true + br label %cleanup + +cleanup: ; preds = %cond_true36 + br label %finally + +finally: ; preds = %cleanup + br label %cond_next189 + +cond_false: ; preds = %cond_true + br bool false, label %cond_true99, label %cond_false137 + +cond_true99: ; preds = %cond_false + br label %cleanup136 + +cleanup136: ; preds = %cond_true99 + br label %finally135 + +finally135: ; preds = %cleanup136 + br label %cond_next + +cond_false137: ; preds = %cond_false + call fastcc void %_Zjrf10( ) + br label %cleanup188 + +cleanup188: ; preds = %cond_false137 + br label %finally187 + +finally187: ; preds = %cleanup188 + br label %cond_next + +cond_next: ; preds = %finally187, %finally135 + br label %cond_next189 + +cond_next189: ; preds = %cond_next, %finally + br label %cond_next202 + +cond_false201: ; preds = %entry + br label %cond_next202 + +cond_next202: ; preds = %cond_false201, %cond_next189 + br label %return + +return: ; preds = %cond_next202 + ret void +} + +internal fastcc void %_Zjrf1() { +entry: + br label %bb492 + +bb: ; preds = %cond_true499 + br label %cleanup + +cleanup: ; preds = %bb + br label %finally + +finally: ; preds = %cleanup + br label %cleanup11 + +cleanup11: ; preds = %finally + br label %finally10 + +finally10: ; preds = %cleanup11 + br bool false, label %cond_true, label %cond_false286 + +cond_true: ; preds = %finally10 + br label %cleanup26 + +cleanup26: ; preds = %cond_true + br label %finally25 + +finally25: ; preds = %cleanup26 + br label %bb30 + +bb27: ; preds = %cond_true37 + br label %bb30 + +bb30: ; preds = %bb27, %finally25 + br bool false, label %cond_true37, label %cond_false + +cond_true37: ; preds = %bb30 + br label %bb27 + +cond_false: ; preds = %bb30 + br label %bb38 + +cond_next: ; No predecessors! + br label %bb38 + +bb38: ; preds = %cond_next, %cond_false + br label %bb148 + +bb40: ; preds = %cond_true156 + br label %bb139 + +bb41: ; preds = %cond_true142 + call fastcc void %_Zjrf7( ) + br label %bb105 + +bb44: ; preds = %cond_true112 + br label %bb74 + +bb66: ; preds = %cond_true80 + br label %bb74 + +bb74: ; preds = %bb66, %bb44 + br bool false, label %cond_true80, label %cond_false81 + +cond_true80: ; preds = %bb74 + br label %bb66 + +cond_false81: ; preds = %bb74 + br label %bb83 + +cond_next82: ; No predecessors! + br label %bb83 + +bb83: ; preds = %cond_next82, %cond_false81 + br label %cleanup97 + +cleanup97: ; preds = %bb83 + br label %finally96 + +finally96: ; preds = %cleanup97 + br label %cleanup99 + +cleanup99: ; preds = %finally96 + br label %finally98 + +finally98: ; preds = %cleanup99 + br label %bb105 + +bb105: ; preds = %finally98, %bb41 + br bool false, label %cond_true112, label %cond_false113 + +cond_true112: ; preds = %bb105 + br label %bb44 + +cond_false113: ; preds = %bb105 + br label %bb115 + +cond_next114: ; No predecessors! + br label %bb115 + +bb115: ; preds = %cond_next114, %cond_false113 + br bool false, label %cond_true119, label %cond_false123 + +cond_true119: ; preds = %bb115 + call fastcc void %_Zjrf8( ) + br label %cond_next124 + +cond_false123: ; preds = %bb115 + br label %cond_next124 + +cond_next124: ; preds = %cond_false123, %cond_true119 + br bool false, label %cond_true131, label %cond_false132 + +cond_true131: ; preds = %cond_next124 + br label %cleanup135 + +cond_false132: ; preds = %cond_next124 + br label %cond_next133 + +cond_next133: ; preds = %cond_false132 + br label %cleanup136 + +cleanup135: ; preds = %cond_true131 + br label %done + +cleanup136: ; preds = %cond_next133 + br label %finally134 + +finally134: ; preds = %cleanup136 + br label %bb139 + +bb139: ; preds = %finally134, %bb40 + br bool false, label %cond_true142, label %cond_false143 + +cond_true142: ; preds = %bb139 + br label %bb41 + +cond_false143: ; preds = %bb139 + br label %bb145 + +cond_next144: ; No predecessors! + br label %bb145 + +bb145: ; preds = %cond_next144, %cond_false143 + br label %bb148 + +bb148: ; preds = %bb145, %bb38 + br bool false, label %cond_true156, label %cond_false157 + +cond_true156: ; preds = %bb148 + br label %bb40 + +cond_false157: ; preds = %bb148 + br label %bb159 + +cond_next158: ; No predecessors! + br label %bb159 + +bb159: ; preds = %cond_next158, %cond_false157 + br label %done + +done: ; preds = %bb159, %cleanup135 + br label %bb214 + +bb185: ; preds = %cond_true218 + br bool false, label %cond_true193, label %cond_false206 + +cond_true193: ; preds = %bb185 + br label %cond_next211 + +cond_false206: ; preds = %bb185 + br label %cond_next211 + +cond_next211: ; preds = %cond_false206, %cond_true193 + br label %bb214 + +bb214: ; preds = %cond_next211, %done + br bool false, label %cond_true218, label %cond_false219 + +cond_true218: ; preds = %bb214 + br label %bb185 + +cond_false219: ; preds = %bb214 + br label %bb221 + +cond_next220: ; No predecessors! + br label %bb221 + +bb221: ; preds = %cond_next220, %cond_false219 + br bool false, label %cond_true236, label %cond_false245 + +cond_true236: ; preds = %bb221 + br label %cond_next249 + +cond_false245: ; preds = %bb221 + br label %cond_next249 + +cond_next249: ; preds = %cond_false245, %cond_true236 + br bool false, label %cond_true272, label %cond_false277 + +cond_true272: ; preds = %cond_next249 + br label %cond_next278 + +cond_false277: ; preds = %cond_next249 + br label %cond_next278 + +cond_next278: ; preds = %cond_false277, %cond_true272 + br label %cleanup285 + +cleanup285: ; preds = %cond_next278 + br label %finally284 + +finally284: ; preds = %cleanup285 + br label %cond_next287 + +cond_false286: ; preds = %finally10 + br label %cond_next287 + +cond_next287: ; preds = %cond_false286, %finally284 + br bool false, label %cond_true317, label %cond_false319 + +cond_true317: ; preds = %cond_next287 + br label %cond_next321 + +cond_false319: ; preds = %cond_next287 + br label %cond_next321 + +cond_next321: ; preds = %cond_false319, %cond_true317 + br label %bb348 + +bb335: ; preds = %cond_true355 + br label %bb348 + +bb348: ; preds = %bb335, %cond_next321 + br bool false, label %cond_true355, label %cond_false356 + +cond_true355: ; preds = %bb348 + br label %bb335 + +cond_false356: ; preds = %bb348 + br label %bb358 + +cond_next357: ; No predecessors! + br label %bb358 + +bb358: ; preds = %cond_next357, %cond_false356 + br bool false, label %cond_true363, label %cond_false364 + +cond_true363: ; preds = %bb358 + br label %bb388 + +cond_false364: ; preds = %bb358 + br label %cond_next365 + +cond_next365: ; preds = %cond_false364 + br bool false, label %cond_true370, label %cond_false371 + +cond_true370: ; preds = %cond_next365 + br label %bb388 + +cond_false371: ; preds = %cond_next365 + br label %cond_next372 + +cond_next372: ; preds = %cond_false371 + br bool false, label %cond_true385, label %cond_false386 + +cond_true385: ; preds = %cond_next372 + br label %bb388 + +cond_false386: ; preds = %cond_next372 + br label %cond_next387 + +cond_next387: ; preds = %cond_false386 + br label %bb389 + +bb388: ; preds = %cond_true385, %cond_true370, %cond_true363 + br label %bb389 + +bb389: ; preds = %bb388, %cond_next387 + br bool false, label %cond_true392, label %cond_false443 + +cond_true392: ; preds = %bb389 + br label %bb419 + +bb402: ; preds = %cond_true425 + br bool false, label %cond_true406, label %cond_false412 + +cond_true406: ; preds = %bb402 + br label %cond_next416 + +cond_false412: ; preds = %bb402 + br label %cond_next416 + +cond_next416: ; preds = %cond_false412, %cond_true406 + br label %bb419 + +bb419: ; preds = %cond_next416, %cond_true392 + br bool false, label %cond_true425, label %cond_false426 + +cond_true425: ; preds = %bb419 + br label %bb402 + +cond_false426: ; preds = %bb419 + br label %bb428 + +cond_next427: ; No predecessors! + br label %bb428 + +bb428: ; preds = %cond_next427, %cond_false426 + br label %cond_next478 + +cond_false443: ; preds = %bb389 + br label %bb460 + +bb450: ; preds = %cond_true466 + br label %bb460 + +bb460: ; preds = %bb450, %cond_false443 + br bool false, label %cond_true466, label %cond_false467 + +cond_true466: ; preds = %bb460 + br label %bb450 + +cond_false467: ; preds = %bb460 + br label %bb469 + +cond_next468: ; No predecessors! + br label %bb469 + +bb469: ; preds = %cond_next468, %cond_false467 + br label %cond_next478 + +cond_next478: ; preds = %bb469, %bb428 + br label %cleanup485 + +cleanup485: ; preds = %cond_next478 + br label %finally484 + +finally484: ; preds = %cleanup485 + br label %cleanup487 + +cleanup487: ; preds = %finally484 + br label %finally486 + +finally486: ; preds = %cleanup487 + br label %cleanup489 + +cleanup489: ; preds = %finally486 + br label %finally488 + +finally488: ; preds = %cleanup489 + br label %bb492 + +bb492: ; preds = %finally488, %entry + br bool false, label %cond_true499, label %cond_false500 + +cond_true499: ; preds = %bb492 + br label %bb + +cond_false500: ; preds = %bb492 + br label %bb502 + +cond_next501: ; No predecessors! + br label %bb502 + +bb502: ; preds = %cond_next501, %cond_false500 + br label %return + +return: ; preds = %bb502 + ret void +} + +internal fastcc void %_ZSt26__unguarded_insertion_sortIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEEEvT_S7_() { +entry: + br label %bb12 + +bb: ; preds = %cond_true + br label %cleanup + +cleanup: ; preds = %bb + br label %finally + +finally: ; preds = %cleanup + br label %bb12 + +bb12: ; preds = %finally, %entry + br bool false, label %cond_true, label %cond_false + +cond_true: ; preds = %bb12 + br label %bb + +cond_false: ; preds = %bb12 + br label %bb14 + +cond_next: ; No predecessors! + br label %bb14 + +bb14: ; preds = %cond_next, %cond_false + br label %return + +return: ; preds = %bb14 + ret void +} -- cgit v1.2.3