llvm.org GIT mirror llvm / release_50 test / CodeGen / Generic / 2006-09-02-LocalAllocCrash.ll
release_50

Tree @release_50 (Download .tar.gz)

2006-09-02-LocalAllocCrash.ll @release_50

6660ed5
53a66d1
 
 
 
 
 
 
 
 
 
 
 
6cfca76
53a66d1
6cfca76
 
 
 
 
53a66d1
6cfca76
 
 
 
 
53a66d1
6cfca76
 
53a66d1
6cfca76
 
 
 
 
 
 
 
53a66d1
6cfca76
 
 
 
 
53a66d1
6cfca76
 
 
 
 
53a66d1
6cfca76
 
 
 
 
53a66d1
6cfca76
 
 
 
 
53a66d1
6cfca76
 
53a66d1
6cfca76
 
53a66d1
6cfca76
 
 
 
 
 
 
 
 
 
 
5a70dd1
 
53a66d1
198d8ba
7c9c6ed
53a66d1
 
 
 
 
 
198d8ba
7c9c6ed
198d8ba
7c9c6ed
53a66d1
 
 
 
 
 
198d8ba
7c9c6ed
53a66d1
 
198d8ba
7c9c6ed
53a66d1
 
6cfca76
 
 
 
 
53a66d1
6cfca76
 
; RUN: llc < %s -regalloc=fast -optimize-regalloc=0
	
%struct.CHESS_POSITION = type { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i32, i8, i8, [64 x i8], i8, i8, i8, i8, i8 }
@search = external global %struct.CHESS_POSITION		; <%struct.CHESS_POSITION*> [#uses=2]
@bishop_shift_rl45 = external global [64 x i32]		; <[64 x i32]*> [#uses=1]
@bishop_shift_rr45 = external global [64 x i32]		; <[64 x i32]*> [#uses=1]
@black_outpost = external global [64 x i8]		; <[64 x i8]*> [#uses=1]
@bishop_mobility_rl45 = external global [64 x [256 x i32]]		; <[64 x [256 x i32]]*> [#uses=1]
@bishop_mobility_rr45 = external global [64 x [256 x i32]]		; <[64 x [256 x i32]]*> [#uses=1]

declare fastcc i32 @FirstOne()

define fastcc void @Evaluate() {
entry:
	br i1 false, label %cond_false186, label %cond_true

cond_true:		; preds = %entry
	ret void

cond_false186:		; preds = %entry
	br i1 false, label %cond_true293, label %bb203

bb203:		; preds = %cond_false186
	ret void

cond_true293:		; preds = %cond_false186
	br i1 false, label %cond_true298, label %cond_next317

cond_true298:		; preds = %cond_true293
	br i1 false, label %cond_next518, label %cond_true397.preheader

cond_next317:		; preds = %cond_true293
	ret void

cond_true397.preheader:		; preds = %cond_true298
	ret void

cond_next518:		; preds = %cond_true298
	br i1 false, label %bb1069, label %cond_true522

cond_true522:		; preds = %cond_next518
	ret void

bb1069:		; preds = %cond_next518
	br i1 false, label %cond_next1131, label %bb1096

bb1096:		; preds = %bb1069
	ret void

cond_next1131:		; preds = %bb1069
	br i1 false, label %cond_next1207, label %cond_true1150

cond_true1150:		; preds = %cond_next1131
	ret void

cond_next1207:		; preds = %cond_next1131
	br i1 false, label %cond_next1219, label %cond_true1211

cond_true1211:		; preds = %cond_next1207
	ret void

cond_next1219:		; preds = %cond_next1207
	br i1 false, label %cond_true1223, label %cond_next1283

cond_true1223:		; preds = %cond_next1219
	br i1 false, label %cond_true1254, label %cond_true1264

cond_true1254:		; preds = %cond_true1223
	br i1 false, label %bb1567, label %cond_true1369.preheader

cond_true1264:		; preds = %cond_true1223
	ret void

cond_next1283:		; preds = %cond_next1219
	ret void

cond_true1369.preheader:		; preds = %cond_true1254
	ret void

bb1567:		; preds = %cond_true1254
	%tmp1580 = load i64, i64* getelementptr (%struct.CHESS_POSITION, %struct.CHESS_POSITION* @search, i32 0, i32 3)		; <i64> [#uses=1]
	%tmp1591 = load i64, i64* getelementptr (%struct.CHESS_POSITION, %struct.CHESS_POSITION* @search, i32 0, i32 4)		; <i64> [#uses=1]
	%tmp1572 = tail call fastcc i32 @FirstOne( )		; <i32> [#uses=5]
	%tmp1582 = getelementptr [64 x i32], [64 x i32]* @bishop_shift_rl45, i32 0, i32 %tmp1572		; <i32*> [#uses=1]
	%tmp1583 = load i32, i32* %tmp1582		; <i32> [#uses=1]
	%tmp1583.upgrd.1 = trunc i32 %tmp1583 to i8		; <i8> [#uses=1]
	%shift.upgrd.2 = zext i8 %tmp1583.upgrd.1 to i64		; <i64> [#uses=1]
	%tmp1584 = lshr i64 %tmp1580, %shift.upgrd.2		; <i64> [#uses=1]
	%tmp1584.upgrd.3 = trunc i64 %tmp1584 to i32		; <i32> [#uses=1]
	%tmp1585 = and i32 %tmp1584.upgrd.3, 255		; <i32> [#uses=1]
	%gep.upgrd.4 = zext i32 %tmp1585 to i64		; <i64> [#uses=1]
	%tmp1587 = getelementptr [64 x [256 x i32]], [64 x [256 x i32]]* @bishop_mobility_rl45, i32 0, i32 %tmp1572, i64 %gep.upgrd.4		; <i32*> [#uses=1]
	%tmp1588 = load i32, i32* %tmp1587		; <i32> [#uses=1]
	%tmp1593 = getelementptr [64 x i32], [64 x i32]* @bishop_shift_rr45, i32 0, i32 %tmp1572		; <i32*> [#uses=1]
	%tmp1594 = load i32, i32* %tmp1593		; <i32> [#uses=1]
	%tmp1594.upgrd.5 = trunc i32 %tmp1594 to i8		; <i8> [#uses=1]
	%shift.upgrd.6 = zext i8 %tmp1594.upgrd.5 to i64		; <i64> [#uses=1]
	%tmp1595 = lshr i64 %tmp1591, %shift.upgrd.6		; <i64> [#uses=1]
	%tmp1595.upgrd.7 = trunc i64 %tmp1595 to i32		; <i32> [#uses=1]
	%tmp1596 = and i32 %tmp1595.upgrd.7, 255		; <i32> [#uses=1]
	%gep.upgrd.8 = zext i32 %tmp1596 to i64		; <i64> [#uses=1]
	%tmp1598 = getelementptr [64 x [256 x i32]], [64 x [256 x i32]]* @bishop_mobility_rr45, i32 0, i32 %tmp1572, i64 %gep.upgrd.8		; <i32*> [#uses=1]
	%tmp1599 = load i32, i32* %tmp1598		; <i32> [#uses=1]
	%tmp1600.neg = sub i32 0, %tmp1588		; <i32> [#uses=1]
	%tmp1602 = sub i32 %tmp1600.neg, %tmp1599		; <i32> [#uses=1]
	%tmp1604 = getelementptr [64 x i8], [64 x i8]* @black_outpost, i32 0, i32 %tmp1572		; <i8*> [#uses=1]
	%tmp1605 = load i8, i8* %tmp1604		; <i8> [#uses=1]
	%tmp1606 = icmp eq i8 %tmp1605, 0		; <i1> [#uses=1]
	br i1 %tmp1606, label %cond_next1637, label %cond_true1607

cond_true1607:		; preds = %bb1567
	ret void

cond_next1637:		; preds = %bb1567
	%tmp1662 = sub i32 %tmp1602, 0		; <i32> [#uses=0]
	ret void
}