310 lines
		
	
	
		
			8.3 KiB
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			310 lines
		
	
	
		
			8.3 KiB
		
	
	
	
		
			LLVM
		
	
	
	
;RUN: opt < %s -codegenprepare -disable-output
 | 
						|
 | 
						|
define void @foo() {
 | 
						|
entry:
 | 
						|
	br i1 false, label %cond_next31, label %cond_true
 | 
						|
 | 
						|
cond_true:		; preds = %entry
 | 
						|
	br i1 false, label %cond_true19, label %cond_next31
 | 
						|
 | 
						|
cond_true19:		; preds = %cond_true
 | 
						|
	br i1 false, label %bb510, label %cond_next31
 | 
						|
 | 
						|
cond_next31:		; preds = %cond_true19, %cond_true, %entry
 | 
						|
	br i1 false, label %cond_true61, label %cond_next78
 | 
						|
 | 
						|
cond_true61:		; preds = %cond_next31
 | 
						|
	br label %cond_next78
 | 
						|
 | 
						|
cond_next78:		; preds = %cond_true61, %cond_next31
 | 
						|
	br i1 false, label %cond_true93, label %bb.preheader
 | 
						|
 | 
						|
cond_true93:		; preds = %cond_next78
 | 
						|
	br label %bb.preheader
 | 
						|
 | 
						|
bb.preheader:		; preds = %cond_true93, %cond_next78
 | 
						|
	%iftmp.11.0.ph.ph = phi i16 [ 0, %cond_true93 ], [ 0, %cond_next78 ]		; <i16> [#uses=1]
 | 
						|
	br label %bb
 | 
						|
 | 
						|
bb:		; preds = %cond_next499, %bb.preheader
 | 
						|
	%n.1 = phi i16 [ %iftmp.11.0.ph.ph, %cond_next499 ], [ 0, %bb.preheader ]		; <i16> [#uses=0]
 | 
						|
	br i1 false, label %bb148.preheader, label %bb493
 | 
						|
 | 
						|
bb148.preheader:		; preds = %bb
 | 
						|
	br label %bb148
 | 
						|
 | 
						|
bb148:		; preds = %cond_next475, %bb148.preheader
 | 
						|
	br i1 false, label %cond_next175, label %bb184
 | 
						|
 | 
						|
cond_next175:		; preds = %bb148
 | 
						|
	br i1 false, label %bb184, label %bb185
 | 
						|
 | 
						|
bb184:		; preds = %cond_next175, %bb148
 | 
						|
	br label %bb185
 | 
						|
 | 
						|
bb185:		; preds = %bb184, %cond_next175
 | 
						|
	br i1 false, label %bb420.preheader, label %cond_true198
 | 
						|
 | 
						|
bb420.preheader:		; preds = %bb185
 | 
						|
	br label %bb420
 | 
						|
 | 
						|
cond_true198:		; preds = %bb185
 | 
						|
	br i1 false, label %bb294, label %cond_next208
 | 
						|
 | 
						|
cond_next208:		; preds = %cond_true198
 | 
						|
	br i1 false, label %cond_next249, label %cond_true214
 | 
						|
 | 
						|
cond_true214:		; preds = %cond_next208
 | 
						|
	br i1 false, label %bb294, label %cond_next262
 | 
						|
 | 
						|
cond_next249:		; preds = %cond_next208
 | 
						|
	br i1 false, label %bb294, label %cond_next262
 | 
						|
 | 
						|
cond_next262:		; preds = %cond_next249, %cond_true214
 | 
						|
	br label %bb269
 | 
						|
 | 
						|
bb269:		; preds = %cond_next285, %cond_next262
 | 
						|
	br i1 false, label %cond_next285, label %cond_true279
 | 
						|
 | 
						|
cond_true279:		; preds = %bb269
 | 
						|
	br label %cond_next285
 | 
						|
 | 
						|
cond_next285:		; preds = %cond_true279, %bb269
 | 
						|
	br i1 false, label %bb269, label %cond_next446.loopexit
 | 
						|
 | 
						|
bb294:		; preds = %cond_next249, %cond_true214, %cond_true198
 | 
						|
	br i1 false, label %cond_next336, label %cond_true301
 | 
						|
 | 
						|
cond_true301:		; preds = %bb294
 | 
						|
	br i1 false, label %cond_false398, label %cond_true344
 | 
						|
 | 
						|
cond_next336:		; preds = %bb294
 | 
						|
	br i1 false, label %cond_false398, label %cond_true344
 | 
						|
 | 
						|
cond_true344:		; preds = %cond_next336, %cond_true301
 | 
						|
	br i1 false, label %cond_false381, label %cond_true351
 | 
						|
 | 
						|
cond_true351:		; preds = %cond_true344
 | 
						|
	br label %cond_next387
 | 
						|
 | 
						|
cond_false381:		; preds = %cond_true344
 | 
						|
	br label %cond_next387
 | 
						|
 | 
						|
cond_next387:		; preds = %cond_false381, %cond_true351
 | 
						|
	br label %cond_next401
 | 
						|
 | 
						|
cond_false398:		; preds = %cond_next336, %cond_true301
 | 
						|
	br label %cond_next401
 | 
						|
 | 
						|
cond_next401:		; preds = %cond_false398, %cond_next387
 | 
						|
	br i1 false, label %cond_next475, label %cond_true453
 | 
						|
 | 
						|
bb420:		; preds = %cond_next434, %bb420.preheader
 | 
						|
	br i1 false, label %cond_next434, label %cond_true428
 | 
						|
 | 
						|
cond_true428:		; preds = %bb420
 | 
						|
	br label %cond_next434
 | 
						|
 | 
						|
cond_next434:		; preds = %cond_true428, %bb420
 | 
						|
	br i1 false, label %bb420, label %cond_next446.loopexit1
 | 
						|
 | 
						|
cond_next446.loopexit:		; preds = %cond_next285
 | 
						|
	br label %cond_next446
 | 
						|
 | 
						|
cond_next446.loopexit1:		; preds = %cond_next434
 | 
						|
	br label %cond_next446
 | 
						|
 | 
						|
cond_next446:		; preds = %cond_next446.loopexit1, %cond_next446.loopexit
 | 
						|
	br i1 false, label %cond_next475, label %cond_true453
 | 
						|
 | 
						|
cond_true453:		; preds = %cond_next446, %cond_next401
 | 
						|
	br i1 false, label %cond_true458, label %cond_next475
 | 
						|
 | 
						|
cond_true458:		; preds = %cond_true453
 | 
						|
	br label %cond_next475
 | 
						|
 | 
						|
cond_next475:		; preds = %cond_true458, %cond_true453, %cond_next446, %cond_next401
 | 
						|
	br i1 false, label %bb493.loopexit, label %bb148
 | 
						|
 | 
						|
bb493.loopexit:		; preds = %cond_next475
 | 
						|
	br label %bb493
 | 
						|
 | 
						|
bb493:		; preds = %bb493.loopexit, %bb
 | 
						|
	br i1 false, label %cond_next499, label %bb510.loopexit
 | 
						|
 | 
						|
cond_next499:		; preds = %bb493
 | 
						|
	br label %bb
 | 
						|
 | 
						|
bb510.loopexit:		; preds = %bb493
 | 
						|
	br label %bb510
 | 
						|
 | 
						|
bb510:		; preds = %bb510.loopexit, %cond_true19
 | 
						|
	br i1 false, label %cond_next524, label %cond_true517
 | 
						|
 | 
						|
cond_true517:		; preds = %bb510
 | 
						|
	br label %cond_next524
 | 
						|
 | 
						|
cond_next524:		; preds = %cond_true517, %bb510
 | 
						|
	br i1 false, label %cond_next540, label %cond_true533
 | 
						|
 | 
						|
cond_true533:		; preds = %cond_next524
 | 
						|
	br label %cond_next540
 | 
						|
 | 
						|
cond_next540:		; preds = %cond_true533, %cond_next524
 | 
						|
	br i1 false, label %cond_true554, label %cond_next560
 | 
						|
 | 
						|
cond_true554:		; preds = %cond_next540
 | 
						|
	br label %cond_next560
 | 
						|
 | 
						|
cond_next560:		; preds = %cond_true554, %cond_next540
 | 
						|
	br i1 false, label %cond_true566, label %cond_next572
 | 
						|
 | 
						|
cond_true566:		; preds = %cond_next560
 | 
						|
	br label %cond_next572
 | 
						|
 | 
						|
cond_next572:		; preds = %cond_true566, %cond_next560
 | 
						|
	br i1 false, label %bb608.preheader, label %bb791.preheader
 | 
						|
 | 
						|
bb608.preheader:		; preds = %cond_next797.us, %cond_next572
 | 
						|
	br label %bb608
 | 
						|
 | 
						|
bb608:		; preds = %cond_next771, %bb608.preheader
 | 
						|
	br i1 false, label %cond_false627, label %cond_true613
 | 
						|
 | 
						|
cond_true613:		; preds = %bb608
 | 
						|
	br label %cond_next640
 | 
						|
 | 
						|
cond_false627:		; preds = %bb608
 | 
						|
	br label %cond_next640
 | 
						|
 | 
						|
cond_next640:		; preds = %cond_false627, %cond_true613
 | 
						|
	br i1 false, label %cond_true653, label %cond_next671
 | 
						|
 | 
						|
cond_true653:		; preds = %cond_next640
 | 
						|
	br label %cond_next671
 | 
						|
 | 
						|
cond_next671:		; preds = %cond_true653, %cond_next640
 | 
						|
	br i1 false, label %cond_true683, label %cond_next724
 | 
						|
 | 
						|
cond_true683:		; preds = %cond_next671
 | 
						|
	br i1 false, label %cond_next724, label %L1
 | 
						|
 | 
						|
cond_next724:		; preds = %cond_true683, %cond_next671
 | 
						|
	br i1 false, label %cond_true735, label %L1
 | 
						|
 | 
						|
cond_true735:		; preds = %cond_next724
 | 
						|
	br label %L1
 | 
						|
 | 
						|
L1:		; preds = %cond_true735, %cond_next724, %cond_true683
 | 
						|
	br i1 false, label %cond_true745, label %cond_next771
 | 
						|
 | 
						|
cond_true745:		; preds = %L1
 | 
						|
	br label %cond_next771
 | 
						|
 | 
						|
cond_next771:		; preds = %cond_true745, %L1
 | 
						|
	br i1 false, label %bb608, label %bb791.preheader.loopexit
 | 
						|
 | 
						|
bb791.preheader.loopexit:		; preds = %cond_next771
 | 
						|
	br label %bb791.preheader
 | 
						|
 | 
						|
bb791.preheader:		; preds = %bb791.preheader.loopexit, %cond_next572
 | 
						|
	br i1 false, label %cond_next797.us, label %bb809.split
 | 
						|
 | 
						|
cond_next797.us:		; preds = %bb791.preheader
 | 
						|
	br label %bb608.preheader
 | 
						|
 | 
						|
bb809.split:		; preds = %bb791.preheader
 | 
						|
	br i1 false, label %cond_next827, label %cond_true820
 | 
						|
 | 
						|
cond_true820:		; preds = %bb809.split
 | 
						|
	br label %cond_next827
 | 
						|
 | 
						|
cond_next827:		; preds = %cond_true820, %bb809.split
 | 
						|
	br i1 false, label %cond_true833, label %cond_next840
 | 
						|
 | 
						|
cond_true833:		; preds = %cond_next827
 | 
						|
	br label %cond_next840
 | 
						|
 | 
						|
cond_next840:		; preds = %cond_true833, %cond_next827
 | 
						|
	br i1 false, label %bb866, label %bb1245
 | 
						|
 | 
						|
bb866:		; preds = %bb1239, %cond_next840
 | 
						|
	br i1 false, label %cond_true875, label %bb911
 | 
						|
 | 
						|
cond_true875:		; preds = %bb866
 | 
						|
	br label %cond_next1180
 | 
						|
 | 
						|
bb911:		; preds = %bb866
 | 
						|
	switch i32 0, label %bb1165 [
 | 
						|
		 i32 0, label %bb915
 | 
						|
		 i32 1, label %bb932
 | 
						|
		 i32 2, label %bb941
 | 
						|
		 i32 3, label %bb1029
 | 
						|
		 i32 4, label %bb1036
 | 
						|
		 i32 5, label %bb1069
 | 
						|
		 i32 6, label %L3
 | 
						|
	]
 | 
						|
 | 
						|
bb915:		; preds = %cond_next1171, %bb911
 | 
						|
	br i1 false, label %cond_next1171, label %cond_next1180
 | 
						|
 | 
						|
bb932:		; preds = %cond_next1171, %bb911
 | 
						|
	br label %L1970
 | 
						|
 | 
						|
bb941:		; preds = %cond_next1171, %bb911
 | 
						|
	br label %L1970
 | 
						|
 | 
						|
L1970:		; preds = %bb941, %bb932
 | 
						|
	br label %bb1165
 | 
						|
 | 
						|
bb1029:		; preds = %cond_next1171, %bb911
 | 
						|
	br label %L4
 | 
						|
 | 
						|
bb1036:		; preds = %cond_next1171, %bb911
 | 
						|
	br label %L4
 | 
						|
 | 
						|
bb1069:		; preds = %cond_next1171, %bb911
 | 
						|
	br i1 false, label %cond_next1121, label %cond_true1108
 | 
						|
 | 
						|
L3:		; preds = %cond_next1171, %bb911
 | 
						|
	br i1 false, label %cond_next1121, label %cond_true1108
 | 
						|
 | 
						|
cond_true1108:		; preds = %L3, %bb1069
 | 
						|
	br label %L4
 | 
						|
 | 
						|
cond_next1121:		; preds = %L3, %bb1069
 | 
						|
	br label %L4
 | 
						|
 | 
						|
L4:		; preds = %cond_next1121, %cond_true1108, %bb1036, %bb1029
 | 
						|
	br label %bb1165
 | 
						|
 | 
						|
bb1165:		; preds = %cond_next1171, %L4, %L1970, %bb911
 | 
						|
	br i1 false, label %cond_next1171, label %cond_next1180
 | 
						|
 | 
						|
cond_next1171:		; preds = %bb1165, %bb915
 | 
						|
	switch i32 0, label %bb1165 [
 | 
						|
		 i32 0, label %bb915
 | 
						|
		 i32 1, label %bb932
 | 
						|
		 i32 2, label %bb941
 | 
						|
		 i32 3, label %bb1029
 | 
						|
		 i32 4, label %bb1036
 | 
						|
		 i32 5, label %bb1069
 | 
						|
		 i32 6, label %L3
 | 
						|
	]
 | 
						|
 | 
						|
cond_next1180:		; preds = %bb1165, %bb915, %cond_true875
 | 
						|
	br label %bb1239
 | 
						|
 | 
						|
bb1239:		; preds = %cond_next1251, %cond_next1180
 | 
						|
	br i1 false, label %bb866, label %bb1245
 | 
						|
 | 
						|
bb1245:		; preds = %bb1239, %cond_next840
 | 
						|
	br i1 false, label %cond_next1251, label %bb1257
 | 
						|
 | 
						|
cond_next1251:		; preds = %bb1245
 | 
						|
	br label %bb1239
 | 
						|
 | 
						|
bb1257:		; preds = %bb1245
 | 
						|
	ret void
 | 
						|
}
 |