aboutsummaryrefslogtreecommitdiff
path: root/test/Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll
blob: 2baa6e5096d3dc74920465db9533a8bd5728b23d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
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		; <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
}