llvm-6502/test/Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll
Chris Lattner 2ade22835e testcase for PR827
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29119 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 18:27:13 +00:00

844 lines
16 KiB
LLVM

; 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 ; <ubyte*> [#uses=1]
%tmp = setne ubyte* null, %tmp5 ; <bool> [#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
}