summaryrefslogtreecommitdiff
path: root/test/Transforms/LoopUnswitch
diff options
context:
space:
mode:
Diffstat (limited to 'test/Transforms/LoopUnswitch')
-rw-r--r--test/Transforms/LoopUnswitch/2006-02-14-LoopSimplifyCrash.ll1697
-rw-r--r--test/Transforms/LoopUnswitch/2006-02-22-UnswitchCrash.ll32
-rw-r--r--test/Transforms/LoopUnswitch/2006-06-13-SingleEntryPHI.ll35
-rw-r--r--test/Transforms/LoopUnswitch/2006-06-27-DeadSwitchCase.ll25
-rw-r--r--test/Transforms/LoopUnswitch/2007-05-09-Unreachable.ll28
-rw-r--r--test/Transforms/LoopUnswitch/2007-05-09-tl.ll95
-rw-r--r--test/Transforms/LoopUnswitch/2007-07-12-ExitDomInfo.ll45
-rw-r--r--test/Transforms/LoopUnswitch/2007-07-13-DomInfo.ll27
-rw-r--r--test/Transforms/LoopUnswitch/2007-07-18-DomInfo.ll66
-rw-r--r--test/Transforms/LoopUnswitch/2007-08-01-Dom.ll30
-rw-r--r--test/Transforms/LoopUnswitch/2007-08-01-LCSSA.ll55
-rw-r--r--test/Transforms/LoopUnswitch/2007-10-04-DomFrontier.ll29
-rw-r--r--test/Transforms/LoopUnswitch/2008-06-02-DomInfo.ll26
-rw-r--r--test/Transforms/LoopUnswitch/2008-06-17-DomFrontier.ll22
-rw-r--r--test/Transforms/LoopUnswitch/2008-11-03-Invariant.ll36
-rw-r--r--test/Transforms/LoopUnswitch/basictest.ll31
-rw-r--r--test/Transforms/LoopUnswitch/dg.exp3
17 files changed, 2282 insertions, 0 deletions
diff --git a/test/Transforms/LoopUnswitch/2006-02-14-LoopSimplifyCrash.ll b/test/Transforms/LoopUnswitch/2006-02-14-LoopSimplifyCrash.ll
new file mode 100644
index 0000000000000..b80220af5003c
--- /dev/null
+++ b/test/Transforms/LoopUnswitch/2006-02-14-LoopSimplifyCrash.ll
@@ -0,0 +1,1697 @@
+; RUN: llvm-as < %s | opt -loop-unswitch -disable-output
+; END.
+
+target datalayout = "E-p:32:32"
+target triple = "powerpc-apple-darwin8.2.0"
+deplibs = [ "c", "crtend" ]
+ %struct.__sFILE = type { i8*, i32, i32, i16, i16, %struct.__sbuf, i32, i8*, i32 (i8*)*, i32 (i8*, i8*, i32)*, i64 (i8*, i64, i32)*, i32 (i8*, i8*, i32)*, %struct.__sbuf, %struct.__sFILEX*, i32, [3 x i8], [1 x i8], %struct.__sbuf, i32, i64 }
+ %struct.__sFILEX = type opaque
+ %struct.__sbuf = type { i8*, i32 }
+ %struct.fd_set = type { [32 x i32] }
+ %struct.timeval = type { i32, i32 }
+ %struct.tm = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i8* }
+ %typedef.CHESS_PATH = type { [65 x i32], i8, i8, i8 }
+ %typedef.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 }
+ %typedef.HASH_ENTRY = type { i64, i64 }
+ %typedef.NEXT_MOVE = type { i32, i32, i32* }
+ %typedef.PAWN_HASH_ENTRY = type { i32, i16, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8 }
+ %typedef.SEARCH_POSITION = type { i8, i8, i8, i8 }
+ %union.doub0. = type { i64 }
+@search = external global %typedef.CHESS_POSITION ; <%typedef.CHESS_POSITION*> [#uses=1]
+@w_pawn_attacks = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@b_pawn_attacks = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@knight_attacks = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@bishop_attacks_rl45 = external global [64 x [256 x i64]] ; <[64 x [256 x i64]]*> [#uses=0]
+@bishop_shift_rl45 = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@bishop_attacks_rr45 = external global [64 x [256 x i64]] ; <[64 x [256 x i64]]*> [#uses=0]
+@bishop_shift_rr45 = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@rook_attacks_r0 = external global [64 x [256 x i64]] ; <[64 x [256 x i64]]*> [#uses=0]
+@rook_attacks_rl90 = external global [64 x [256 x i64]] ; <[64 x [256 x i64]]*> [#uses=0]
+@king_attacks = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@set_mask = external global [65 x i64] ; <[65 x i64]*> [#uses=0]
+@first_ones = external global [65536 x i8] ; <[65536 x i8]*> [#uses=0]
+@last_ones = external global [65536 x i8] ; <[65536 x i8]*> [#uses=0]
+@draw_score_is_zero = external global i32 ; <i32*> [#uses=0]
+@default_draw_score = external global i32 ; <i32*> [#uses=0]
+@opening = external global i32 ; <i32*> [#uses=0]
+@middle_game = external global i32 ; <i32*> [#uses=0]
+@tc_increment = external global i32 ; <i32*> [#uses=0]
+@tc_time_remaining_opponent = external global i32 ; <i32*> [#uses=0]
+@.ctor_1 = external global [17 x i8] ; <[17 x i8]*> [#uses=0]
+@input_stream = external global %struct.__sFILE* ; <%struct.__sFILE**> [#uses=0]
+@__sF = external global [0 x %struct.__sFILE] ; <[0 x %struct.__sFILE]*> [#uses=1]
+@xboard = external global i32 ; <i32*> [#uses=0]
+@.str_1 = external global [14 x i8] ; <[14 x i8]*> [#uses=0]
+@.str_2 = external global [14 x i8] ; <[14 x i8]*> [#uses=0]
+@buffer = external global [512 x i8] ; <[512 x i8]*> [#uses=0]
+@nargs = external global i32 ; <i32*> [#uses=0]
+@args = external global [32 x i8*] ; <[32 x i8*]*> [#uses=0]
+@.str_3 = external global [4 x i8] ; <[4 x i8]*> [#uses=0]
+@.str_4 = external global [17 x i8] ; <[17 x i8]*> [#uses=0]
+@.str_5 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_6 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_7 = external global [2 x i8] ; <[2 x i8]*> [#uses=0]
+@.str_8 = external global [2 x i8] ; <[2 x i8]*> [#uses=0]
+@.str_9 = external global [4 x i8] ; <[4 x i8]*> [#uses=0]
+@.str_10 = external global [2 x i8] ; <[2 x i8]*> [#uses=0]
+@.str_11 = external global [2 x i8] ; <[2 x i8]*> [#uses=0]
+@.str_12 = external global [24 x i8] ; <[24 x i8]*> [#uses=0]
+@.str_14 = external global [23 x i8] ; <[23 x i8]*> [#uses=0]
+@position = external global [67 x %typedef.SEARCH_POSITION] ; <[67 x %typedef.SEARCH_POSITION]*> [#uses=0]
+@log_file = external global %struct.__sFILE* ; <%struct.__sFILE**> [#uses=0]
+@move_number = external global i32 ; <i32*> [#uses=0]
+@rephead_b = external global i64* ; <i64**> [#uses=0]
+@replist_b = external global [82 x i64] ; <[82 x i64]*> [#uses=0]
+@rephead_w = external global i64* ; <i64**> [#uses=0]
+@replist_w = external global [82 x i64] ; <[82 x i64]*> [#uses=0]
+@moves_out_of_book = external global i32 ; <i32*> [#uses=0]
+@largest_positional_score = external global i32 ; <i32*> [#uses=0]
+@end_game = external global i32 ; <i32*> [#uses=0]
+@p_values = external global [15 x i32] ; <[15 x i32]*> [#uses=0]
+@clear_mask = external global [65 x i64] ; <[65 x i64]*> [#uses=0]
+@directions = external global [64 x [64 x i8]] ; <[64 x [64 x i8]]*> [#uses=0]
+@root_wtm = external global i32 ; <i32*> [#uses=0]
+@all_pawns = external global i64 ; <i64*> [#uses=0]
+@pawn_score = external global %typedef.PAWN_HASH_ENTRY ; <%typedef.PAWN_HASH_ENTRY*> [#uses=0]
+@pawn_probes = external global i32 ; <i32*> [#uses=0]
+@pawn_hits = external global i32 ; <i32*> [#uses=0]
+@outside_passed = external global [128 x i32] ; <[128 x i32]*> [#uses=0]
+@root_total_black_pieces = external global i32 ; <i32*> [#uses=0]
+@root_total_white_pawns = external global i32 ; <i32*> [#uses=0]
+@root_total_white_pieces = external global i32 ; <i32*> [#uses=0]
+@root_total_black_pawns = external global i32 ; <i32*> [#uses=0]
+@mask_A7H7 = external global i64 ; <i64*> [#uses=0]
+@mask_B6B7 = external global i64 ; <i64*> [#uses=0]
+@mask_G6G7 = external global i64 ; <i64*> [#uses=0]
+@mask_A2H2 = external global i64 ; <i64*> [#uses=0]
+@mask_B2B3 = external global i64 ; <i64*> [#uses=0]
+@mask_G2G3 = external global i64 ; <i64*> [#uses=0]
+@king_defects_w = external global [64 x i8] ; <[64 x i8]*> [#uses=0]
+@good_bishop_kw = external global i64 ; <i64*> [#uses=0]
+@mask_F3H3 = external global i64 ; <i64*> [#uses=0]
+@file_mask = external global [8 x i64] ; <[8 x i64]*> [#uses=0]
+@good_bishop_qw = external global i64 ; <i64*> [#uses=0]
+@mask_A3C3 = external global i64 ; <i64*> [#uses=0]
+@king_defects_b = external global [64 x i8] ; <[64 x i8]*> [#uses=0]
+@good_bishop_kb = external global i64 ; <i64*> [#uses=0]
+@mask_F6H6 = external global i64 ; <i64*> [#uses=0]
+@good_bishop_qb = external global i64 ; <i64*> [#uses=0]
+@mask_A6C6 = external global i64 ; <i64*> [#uses=0]
+@square_color = external global [64 x i8] ; <[64 x i8]*> [#uses=0]
+@evaluations = external global i32 ; <i32*> [#uses=0]
+@king_value_w = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@rank_mask = external global [8 x i64] ; <[8 x i64]*> [#uses=0]
+@mask_kr_trapped_w = external global [3 x i64] ; <[3 x i64]*> [#uses=0]
+@mask_qr_trapped_w = external global [3 x i64] ; <[3 x i64]*> [#uses=0]
+@king_value_b = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@mask_kr_trapped_b = external global [3 x i64] ; <[3 x i64]*> [#uses=0]
+@mask_qr_trapped_b = external global [3 x i64] ; <[3 x i64]*> [#uses=0]
+@white_outpost = external global [64 x i8] ; <[64 x i8]*> [#uses=0]
+@mask_no_pawn_attacks_b = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@knight_value_w = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@black_outpost = external global [64 x i8] ; <[64 x i8]*> [#uses=0]
+@mask_no_pawn_attacks_w = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@knight_value_b = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@bishop_value_w = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@bishop_mobility_rl45 = external global [64 x [256 x i32]] ; <[64 x [256 x i32]]*> [#uses=0]
+@bishop_mobility_rr45 = external global [64 x [256 x i32]] ; <[64 x [256 x i32]]*> [#uses=0]
+@bishop_value_b = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@rook_value_w = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@plus8dir = external global [65 x i64] ; <[65 x i64]*> [#uses=0]
+@mask_abs7_w = external global i64 ; <i64*> [#uses=0]
+@rook_value_b = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@minus8dir = external global [65 x i64] ; <[65 x i64]*> [#uses=0]
+@mask_abs7_b = external global i64 ; <i64*> [#uses=0]
+@queen_value_w = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@queen_value_b = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@white_minor_pieces = external global i64 ; <i64*> [#uses=0]
+@black_minor_pieces = external global i64 ; <i64*> [#uses=0]
+@not_rook_pawns = external global i64 ; <i64*> [#uses=0]
+@dark_squares = external global i64 ; <i64*> [#uses=0]
+@b_n_mate_dark_squares = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@b_n_mate_light_squares = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@mate = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@first_ones_8bit = external global [256 x i8] ; <[256 x i8]*> [#uses=0]
+@reduced_material_passer = external global [20 x i32] ; <[20 x i32]*> [#uses=0]
+@supported_passer = external global [8 x i32] ; <[8 x i32]*> [#uses=0]
+@passed_pawn_value = external global [8 x i32] ; <[8 x i32]*> [#uses=0]
+@connected_passed = external global [256 x i8] ; <[256 x i8]*> [#uses=0]
+@black_pawn_race_btm = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@white_pawn_race_wtm = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@black_pawn_race_wtm = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@white_pawn_race_btm = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@obstructed = external global [64 x [64 x i64]] ; <[64 x [64 x i64]]*> [#uses=0]
+@pawn_hash_table = external global %typedef.PAWN_HASH_ENTRY* ; <%typedef.PAWN_HASH_ENTRY**> [#uses=0]
+@pawn_hash_mask = external global i32 ; <i32*> [#uses=0]
+@pawn_value_w = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@mask_pawn_isolated = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@mask_pawn_passed_w = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@mask_pawn_protected_w = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@pawn_value_b = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@mask_pawn_passed_b = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@mask_pawn_protected_b = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@unblocked_pawns = external global [9 x i32] ; <[9 x i32]*> [#uses=0]
+@mask_wk_4th = external global i64 ; <i64*> [#uses=0]
+@mask_wk_5th = external global i64 ; <i64*> [#uses=0]
+@mask_wq_4th = external global i64 ; <i64*> [#uses=0]
+@mask_wq_5th = external global i64 ; <i64*> [#uses=0]
+@stonewall_white = external global i64 ; <i64*> [#uses=0]
+@mask_bk_4th = external global i64 ; <i64*> [#uses=0]
+@mask_bk_5th = external global i64 ; <i64*> [#uses=0]
+@mask_bq_5th = external global i64 ; <i64*> [#uses=0]
+@mask_bq_4th = external global i64 ; <i64*> [#uses=0]
+@stonewall_black = external global i64 ; <i64*> [#uses=0]
+@last_ones_8bit = external global [256 x i8] ; <[256 x i8]*> [#uses=0]
+@right_side_mask = external global [8 x i64] ; <[8 x i64]*> [#uses=0]
+@left_side_empty_mask = external global [8 x i64] ; <[8 x i64]*> [#uses=0]
+@left_side_mask = external global [8 x i64] ; <[8 x i64]*> [#uses=0]
+@right_side_empty_mask = external global [8 x i64] ; <[8 x i64]*> [#uses=0]
+@pv = external global [65 x %typedef.CHESS_PATH] ; <[65 x %typedef.CHESS_PATH]*> [#uses=0]
+@history_w = external global [4096 x i32] ; <[4096 x i32]*> [#uses=0]
+@history_b = external global [4096 x i32] ; <[4096 x i32]*> [#uses=0]
+@killer_move1 = external global [65 x i32] ; <[65 x i32]*> [#uses=0]
+@killer_count1 = external global [65 x i32] ; <[65 x i32]*> [#uses=0]
+@killer_move2 = external global [65 x i32] ; <[65 x i32]*> [#uses=0]
+@killer_count2 = external global [65 x i32] ; <[65 x i32]*> [#uses=0]
+@current_move = external global [65 x i32] ; <[65 x i32]*> [#uses=0]
+@init_r90 = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@init_l90 = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@init_l45 = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@init_ul45 = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@init_r45 = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@init_ur45 = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@diagonal_length = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@last = external global [65 x i32*] ; <[65 x i32*]*> [#uses=0]
+@move_list = external global [5120 x i32] ; <[5120 x i32]*> [#uses=0]
+@history_file = external global %struct.__sFILE* ; <%struct.__sFILE**> [#uses=0]
+@.str_1.upgrd.1 = external global [9 x i8] ; <[9 x i8]*> [#uses=0]
+@.str_2.upgrd.2 = external global [3 x i8] ; <[3 x i8]*> [#uses=0]
+@.str_3.upgrd.3 = external global [32 x i8] ; <[32 x i8]*> [#uses=0]
+@.str_5.upgrd.4 = external global [3 x i8] ; <[3 x i8]*> [#uses=0]
+@.str_6.upgrd.5 = external global [14 x i8] ; <[14 x i8]*> [#uses=0]
+@trans_ref_wa = external global %typedef.HASH_ENTRY* ; <%typedef.HASH_ENTRY**> [#uses=0]
+@hash_table_size = external global i32 ; <i32*> [#uses=0]
+@trans_ref_wb = external global %typedef.HASH_ENTRY* ; <%typedef.HASH_ENTRY**> [#uses=0]
+@trans_ref_ba = external global %typedef.HASH_ENTRY* ; <%typedef.HASH_ENTRY**> [#uses=0]
+@trans_ref_bb = external global %typedef.HASH_ENTRY* ; <%typedef.HASH_ENTRY**> [#uses=0]
+@pawn_hash_table_size = external global i32 ; <i32*> [#uses=0]
+@.str_9.upgrd.6 = external global [37 x i8] ; <[37 x i8]*> [#uses=0]
+@log_hash = external global i32 ; <i32*> [#uses=0]
+@log_pawn_hash = external global i32 ; <i32*> [#uses=0]
+@hash_maska = external global i32 ; <i32*> [#uses=0]
+@hash_maskb = external global i32 ; <i32*> [#uses=0]
+@mask_1 = external global i64 ; <i64*> [#uses=0]
+@bishop_attacks = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@queen_attacks = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@plus7dir = external global [65 x i64] ; <[65 x i64]*> [#uses=0]
+@plus9dir = external global [65 x i64] ; <[65 x i64]*> [#uses=0]
+@minus7dir = external global [65 x i64] ; <[65 x i64]*> [#uses=0]
+@minus9dir = external global [65 x i64] ; <[65 x i64]*> [#uses=0]
+@plus1dir = external global [65 x i64] ; <[65 x i64]*> [#uses=0]
+@minus1dir = external global [65 x i64] ; <[65 x i64]*> [#uses=0]
+@rook_attacks = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@king_attacks_1 = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@king_attacks_2 = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@.ctor_1.upgrd.7 = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@.ctor_2 = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@rook_mobility_r0 = external global [64 x [256 x i32]] ; <[64 x [256 x i32]]*> [#uses=0]
+@rook_mobility_rl90 = external global [64 x [256 x i32]] ; <[64 x [256 x i32]]*> [#uses=0]
+@initial_position = external global [80 x i8] ; <[80 x i8]*> [#uses=5]
+@"\01a1.0__" = external global [80 x i8] ; <[80 x i8]*> [#uses=0]
+@"\01a2.1__" = external global [16 x i8] ; <[16 x i8]*> [#uses=0]
+@"\01a3.2__" = external global [16 x i8] ; <[16 x i8]*> [#uses=0]
+@"\01a4.3__" = external global [16 x i8] ; <[16 x i8]*> [#uses=0]
+@"\01a5.4__" = external global [16 x i8] ; <[16 x i8]*> [#uses=0]
+@"\01args.5__" = external global [16 x i8*] ; <[16 x i8*]*> [#uses=0]
+@.str_10.upgrd.8 = external global [3 x i8] ; <[3 x i8]*> [#uses=0]
+@w_pawn_random = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@w_pawn_random32 = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@b_pawn_random = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@b_pawn_random32 = external global [64 x i32] ; <[64 x i32]*> [#uses=0]
+@w_knight_random = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@b_knight_random = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@w_bishop_random = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@b_bishop_random = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@w_rook_random = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@b_rook_random = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@w_queen_random = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@b_queen_random = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@w_king_random = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@b_king_random = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@enpassant_random = external global [65 x i64] ; <[65 x i64]*> [#uses=0]
+@castle_random_w = external global [2 x i64] ; <[2 x i64]*> [#uses=0]
+@castle_random_b = external global [2 x i64] ; <[2 x i64]*> [#uses=0]
+@set_mask_rl90 = external global [65 x i64] ; <[65 x i64]*> [#uses=0]
+@set_mask_rl45 = external global [65 x i64] ; <[65 x i64]*> [#uses=0]
+@set_mask_rr45 = external global [65 x i64] ; <[65 x i64]*> [#uses=0]
+@transposition_id = external global i8 ; <i8*> [#uses=0]
+@mask_2 = external global i64 ; <i64*> [#uses=0]
+@mask_3 = external global i64 ; <i64*> [#uses=0]
+@mask_4 = external global i64 ; <i64*> [#uses=0]
+@mask_8 = external global i64 ; <i64*> [#uses=0]
+@mask_16 = external global i64 ; <i64*> [#uses=0]
+@mask_32 = external global i64 ; <i64*> [#uses=0]
+@mask_72 = external global i64 ; <i64*> [#uses=0]
+@mask_80 = external global i64 ; <i64*> [#uses=0]
+@mask_85 = external global i64 ; <i64*> [#uses=0]
+@mask_96 = external global i64 ; <i64*> [#uses=0]
+@mask_107 = external global i64 ; <i64*> [#uses=0]
+@mask_108 = external global i64 ; <i64*> [#uses=0]
+@mask_112 = external global i64 ; <i64*> [#uses=0]
+@mask_118 = external global i64 ; <i64*> [#uses=0]
+@mask_120 = external global i64 ; <i64*> [#uses=0]
+@mask_121 = external global i64 ; <i64*> [#uses=0]
+@mask_127 = external global i64 ; <i64*> [#uses=0]
+@mask_clear_entry = external global i64 ; <i64*> [#uses=0]
+@clear_mask_rl45 = external global [65 x i64] ; <[65 x i64]*> [#uses=0]
+@clear_mask_rr45 = external global [65 x i64] ; <[65 x i64]*> [#uses=0]
+@clear_mask_rl90 = external global [65 x i64] ; <[65 x i64]*> [#uses=0]
+@right_half_mask = external global i64 ; <i64*> [#uses=0]
+@left_half_mask = external global i64 ; <i64*> [#uses=0]
+@mask_not_rank8 = external global i64 ; <i64*> [#uses=0]
+@mask_not_rank1 = external global i64 ; <i64*> [#uses=0]
+@center = external global i64 ; <i64*> [#uses=0]
+@mask_pawn_connected = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@mask_eptest = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@mask_kingside_attack_w1 = external global i64 ; <i64*> [#uses=0]
+@mask_kingside_attack_w2 = external global i64 ; <i64*> [#uses=0]
+@mask_queenside_attack_w1 = external global i64 ; <i64*> [#uses=0]
+@mask_queenside_attack_w2 = external global i64 ; <i64*> [#uses=0]
+@mask_kingside_attack_b1 = external global i64 ; <i64*> [#uses=0]
+@mask_kingside_attack_b2 = external global i64 ; <i64*> [#uses=0]
+@mask_queenside_attack_b1 = external global i64 ; <i64*> [#uses=0]
+@mask_queenside_attack_b2 = external global i64 ; <i64*> [#uses=0]
+@pawns_cramp_black = external global i64 ; <i64*> [#uses=0]
+@pawns_cramp_white = external global i64 ; <i64*> [#uses=0]
+@light_squares = external global i64 ; <i64*> [#uses=0]
+@mask_left_edge = external global i64 ; <i64*> [#uses=0]
+@mask_right_edge = external global i64 ; <i64*> [#uses=0]
+@mask_advance_2_w = external global i64 ; <i64*> [#uses=0]
+@mask_advance_2_b = external global i64 ; <i64*> [#uses=0]
+@mask_corner_squares = external global i64 ; <i64*> [#uses=0]
+@mask_promotion_threat_w = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@mask_promotion_threat_b = external global [64 x i64] ; <[64 x i64]*> [#uses=0]
+@promote_mask_w = external global i64 ; <i64*> [#uses=0]
+@promote_mask_b = external global i64 ; <i64*> [#uses=0]
+@mask_a1_corner = external global i64 ; <i64*> [#uses=0]
+@mask_h1_corner = external global i64 ; <i64*> [#uses=0]
+@mask_a8_corner = external global i64 ; <i64*> [#uses=0]
+@mask_h8_corner = external global i64 ; <i64*> [#uses=0]
+@white_center_pawns = external global i64 ; <i64*> [#uses=0]
+@black_center_pawns = external global i64 ; <i64*> [#uses=0]
+@wtm_random = external global [2 x i64] ; <[2 x i64]*> [#uses=0]
+@endgame_random_w = external global i64 ; <i64*> [#uses=0]
+@endgame_random_b = external global i64 ; <i64*> [#uses=0]
+@w_rooks_random = external global i64 ; <i64*> [#uses=0]
+@b_rooks_random = external global i64 ; <i64*> [#uses=0]
+@.ctor_11 = external global [17 x i8] ; <[17 x i8]*> [#uses=0]
+@.ctor_2.upgrd.9 = external global [17 x i8] ; <[17 x i8]*> [#uses=0]
+@.str_1.upgrd.10 = external global [4 x i8] ; <[4 x i8]*> [#uses=0]
+@.str_2.upgrd.11 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_32 = external global [4 x i8] ; <[4 x i8]*> [#uses=0]
+@.str_4.upgrd.12 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_5.upgrd.13 = external global [4 x i8] ; <[4 x i8]*> [#uses=0]
+@.str_6.upgrd.14 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_7.upgrd.15 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_8.upgrd.16 = external global [7 x i8] ; <[7 x i8]*> [#uses=0]
+@.str_9.upgrd.17 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_10.upgrd.18 = external global [7 x i8] ; <[7 x i8]*> [#uses=0]
+@.str_11.upgrd.19 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_12.upgrd.20 = external global [7 x i8] ; <[7 x i8]*> [#uses=0]
+@.str_13 = external global [15 x i8] ; <[15 x i8]*> [#uses=0]
+@num_ponder_moves = external global i32 ; <i32*> [#uses=0]
+@ponder_moves = external global [220 x i32] ; <[220 x i32]*> [#uses=0]
+@.str_14.upgrd.21 = external global [15 x i8] ; <[15 x i8]*> [#uses=0]
+@.str_15 = external global [22 x i8] ; <[22 x i8]*> [#uses=0]
+@.str_16 = external global [20 x i8] ; <[20 x i8]*> [#uses=0]
+@auto232 = external global i32 ; <i32*> [#uses=0]
+@puzzling = external global i8 ; <i8*> [#uses=0]
+@abort_search = external global i8 ; <i8*> [#uses=0]
+@.str_24 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@wtm = external global i32 ; <i32*> [#uses=0]
+@.str_3.upgrd.22 = external global [15 x i8] ; <[15 x i8]*> [#uses=0]
+@.str_4.upgrd.23 = external global [15 x i8] ; <[15 x i8]*> [#uses=0]
+@end_time = external global i32 ; <i32*> [#uses=0]
+@time_type = external global i32 ; <i32*> [#uses=0]
+@start_time = external global i32 ; <i32*> [#uses=0]
+@.str_6.upgrd.24 = external global [12 x i8] ; <[12 x i8]*> [#uses=0]
+@.str_7.upgrd.25 = external global [4 x i8] ; <[4 x i8]*> [#uses=0]
+@nodes_searched = external global i32 ; <i32*> [#uses=0]
+@iteration_depth = external global i32 ; <i32*> [#uses=0]
+@searched_this_root_move = external global [256 x i8] ; <[256 x i8]*> [#uses=0]
+@.str_9.upgrd.26 = external global [8 x i8] ; <[8 x i8]*> [#uses=0]
+@.str_10.upgrd.27 = external global [9 x i8] ; <[9 x i8]*> [#uses=0]
+@.str_11.upgrd.28 = external global [10 x i8] ; <[10 x i8]*> [#uses=0]
+@.str_12.upgrd.29 = external global [12 x i8] ; <[12 x i8]*> [#uses=0]
+@.str_14.upgrd.30 = external global [2 x i8] ; <[2 x i8]*> [#uses=0]
+@.str_16.upgrd.31 = external global [2 x i8] ; <[2 x i8]*> [#uses=0]
+@thinking = external global i8 ; <i8*> [#uses=0]
+@time_abort = external global i32 ; <i32*> [#uses=0]
+@.str_17 = external global [24 x i8] ; <[24 x i8]*> [#uses=0]
+@analyze_move_read = external global i32 ; <i32*> [#uses=0]
+@analyze_mode = external global i32 ; <i32*> [#uses=0]
+@pondering = external global i8 ; <i8*> [#uses=0]
+@auto232_delay = external global i32 ; <i32*> [#uses=0]
+@auto_file = external global %struct.__sFILE* ; <%struct.__sFILE**> [#uses=0]
+@.str_19 = external global [2 x i8] ; <[2 x i8]*> [#uses=0]
+@.str_20 = external global [11 x i8] ; <[11 x i8]*> [#uses=0]
+@.str_21 = external global [4 x i8] ; <[4 x i8]*> [#uses=0]
+@ponder_move = external global i32 ; <i32*> [#uses=0]
+@predicted = external global i32 ; <i32*> [#uses=0]
+@made_predicted_move = external global i32 ; <i32*> [#uses=0]
+@opponent_end_time = external global i32 ; <i32*> [#uses=0]
+@program_start_time = external global i32 ; <i32*> [#uses=0]
+@.str_23 = external global [22 x i8] ; <[22 x i8]*> [#uses=0]
+@.str_24.upgrd.32 = external global [3 x i8] ; <[3 x i8]*> [#uses=0]
+@.str_25 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_26 = external global [3 x i8] ; <[3 x i8]*> [#uses=0]
+@.str_28 = external global [31 x i8] ; <[31 x i8]*> [#uses=0]
+@book_move = external global i32 ; <i32*> [#uses=0]
+@elapsed_start = external global i32 ; <i32*> [#uses=0]
+@burp = external global i32 ; <i32*> [#uses=0]
+@cpu_percent = external global i32 ; <i32*> [#uses=0]
+@next_time_check = external global i32 ; <i32*> [#uses=0]
+@nodes_between_time_checks = external global i32 ; <i32*> [#uses=0]
+@transposition_hits = external global i32 ; <i32*> [#uses=0]
+@transposition_probes = external global i32 ; <i32*> [#uses=0]
+@tb_probes = external global i32 ; <i32*> [#uses=0]
+@tb_probes_successful = external global i32 ; <i32*> [#uses=0]
+@check_extensions_done = external global i32 ; <i32*> [#uses=0]
+@recapture_extensions_done = external global i32 ; <i32*> [#uses=0]
+@passed_pawn_extensions_done = external global i32 ; <i32*> [#uses=0]
+@one_reply_extensions_done = external global i32 ; <i32*> [#uses=0]
+@program_end_time = external global i32 ; <i32*> [#uses=0]
+@root_value = external global i32 ; <i32*> [#uses=0]
+@last_search_value = external global i32 ; <i32*> [#uses=0]
+@.str_1.upgrd.33 = external global [48 x i8] ; <[48 x i8]*> [#uses=0]
+@.str_2.upgrd.34 = external global [48 x i8] ; <[48 x i8]*> [#uses=0]
+@booking = external global i8 ; <i8*> [#uses=0]
+@annotate_mode = external global i32 ; <i32*> [#uses=0]
+@.str_4.upgrd.35 = external global [38 x i8] ; <[38 x i8]*> [#uses=0]
+@.str_5.upgrd.36 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@last_pv = external global %typedef.CHESS_PATH ; <%typedef.CHESS_PATH*> [#uses=0]
+@.str_8.upgrd.37 = external global [53 x i8] ; <[53 x i8]*> [#uses=0]
+@root_alpha = external global i32 ; <i32*> [#uses=0]
+@last_value = external global i32 ; <i32*> [#uses=0]
+@root_beta = external global i32 ; <i32*> [#uses=0]
+@root_nodes = external global [256 x i32] ; <[256 x i32]*> [#uses=0]
+@trace_level = external global i32 ; <i32*> [#uses=0]
+@.str_9.upgrd.38 = external global [36 x i8] ; <[36 x i8]*> [#uses=0]
+@.str_10.upgrd.39 = external global [37 x i8] ; <[37 x i8]*> [#uses=0]
+@search_failed_high = external global i32 ; <i32*> [#uses=0]
+@search_failed_low = external global i32 ; <i32*> [#uses=0]
+@nodes_per_second = external global i32 ; <i32*> [#uses=0]
+@time_limit = external global i32 ; <i32*> [#uses=0]
+@easy_move = external global i32 ; <i32*> [#uses=0]
+@noise_level = external global i32 ; <i32*> [#uses=0]
+@.str_12.upgrd.40 = external global [34 x i8] ; <[34 x i8]*> [#uses=0]
+@.str_136 = external global [4 x i8] ; <[4 x i8]*> [#uses=0]
+@solution_type = external global i32 ; <i32*> [#uses=0]
+@number_of_solutions = external global i32 ; <i32*> [#uses=0]
+@solutions = external global [10 x i32] ; <[10 x i32]*> [#uses=0]
+@early_exit = external global i32 ; <i32*> [#uses=0]
+@.str_14.upgrd.41 = external global [4 x i8] ; <[4 x i8]*> [#uses=0]
+@.str_15.upgrd.42 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_16.upgrd.43 = external global [8 x i8] ; <[8 x i8]*> [#uses=0]
+@whisper_value = external global i32 ; <i32*> [#uses=0]
+@.str_17.upgrd.44 = external global [29 x i8] ; <[29 x i8]*> [#uses=0]
+@.str_19.upgrd.45 = external global [37 x i8] ; <[37 x i8]*> [#uses=0]
+@last_mate_score = external global i32 ; <i32*> [#uses=0]
+@search_depth = external global i32 ; <i32*> [#uses=0]
+@elapsed_end = external global i32 ; <i32*> [#uses=0]
+@.str_20.upgrd.46 = external global [40 x i8] ; <[40 x i8]*> [#uses=0]
+@.str_21.upgrd.47 = external global [7 x i8] ; <[7 x i8]*> [#uses=0]
+@.str_22 = external global [13 x i8] ; <[13 x i8]*> [#uses=0]
+@.str_23.upgrd.48 = external global [58 x i8] ; <[58 x i8]*> [#uses=0]
+@.str_24.upgrd.49 = external global [48 x i8] ; <[48 x i8]*> [#uses=0]
+@.str_25.upgrd.50 = external global [67 x i8] ; <[67 x i8]*> [#uses=0]
+@.str_26.upgrd.51 = external global [69 x i8] ; <[69 x i8]*> [#uses=0]
+@hash_move = external global [65 x i32] ; <[65 x i32]*> [#uses=0]
+@version = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@mode = external global i32 ; <i32*> [#uses=0]
+@batch_mode = external global i32 ; <i32*> [#uses=0]
+@crafty_rating = external global i32 ; <i32*> [#uses=0]
+@opponent_rating = external global i32 ; <i32*> [#uses=0]
+@pgn_event = external global [32 x i8] ; <[32 x i8]*> [#uses=0]
+@pgn_site = external global [32 x i8] ; <[32 x i8]*> [#uses=0]
+@pgn_date = external global [32 x i8] ; <[32 x i8]*> [#uses=0]
+@pgn_round = external global [32 x i8] ; <[32 x i8]*> [#uses=0]
+@pgn_white = external global [64 x i8] ; <[64 x i8]*> [#uses=0]
+@pgn_white_elo = external global [32 x i8] ; <[32 x i8]*> [#uses=0]
+@pgn_black = external global [64 x i8] ; <[64 x i8]*> [#uses=0]
+@pgn_black_elo = external global [32 x i8] ; <[32 x i8]*> [#uses=0]
+@pgn_result = external global [32 x i8] ; <[32 x i8]*> [#uses=0]
+@number_auto_kibitzers = external global i32 ; <i32*> [#uses=0]
+@auto_kibitz_list = external global [100 x [20 x i8]] ; <[100 x [20 x i8]]*> [#uses=0]
+@number_of_computers = external global i32 ; <i32*> [#uses=0]
+@computer_list = external global [100 x [20 x i8]] ; <[100 x [20 x i8]]*> [#uses=0]
+@number_of_GMs = external global i32 ; <i32*> [#uses=0]
+@GM_list = external global [100 x [20 x i8]] ; <[100 x [20 x i8]]*> [#uses=0]
+@number_of_IMs = external global i32 ; <i32*> [#uses=0]
+@IM_list = external global [100 x [20 x i8]] ; <[100 x [20 x i8]]*> [#uses=0]
+@ics = external global i32 ; <i32*> [#uses=0]
+@output_format = external global i32 ; <i32*> [#uses=0]
+@EGTBlimit = external global i32 ; <i32*> [#uses=0]
+@whisper = external global i32 ; <i32*> [#uses=0]
+@channel = external global i32 ; <i32*> [#uses=0]
+@new_game = external global i32 ; <i32*> [#uses=0]
+@channel_title = external global [32 x i8] ; <[32 x i8]*> [#uses=0]
+@initialized = external global i32 ; <i32*> [#uses=0]
+@kibitz = external global i32 ; <i32*> [#uses=0]
+@post = external global i32 ; <i32*> [#uses=0]
+@log_id = external global i32 ; <i32*> [#uses=0]
+@crafty_is_white = external global i32 ; <i32*> [#uses=0]
+@last_opponent_move = external global i32 ; <i32*> [#uses=0]
+@search_move = external global i32 ; <i32*> [#uses=0]
+@time_used = external global i32 ; <i32*> [#uses=0]
+@time_used_opponent = external global i32 ; <i32*> [#uses=0]
+@auto_kibitzing = external global i32 ; <i32*> [#uses=0]
+@test_mode = external global i32 ; <i32*> [#uses=0]
+@resign = external global i8 ; <i8*> [#uses=0]
+@resign_counter = external global i8 ; <i8*> [#uses=0]
+@resign_count = external global i8 ; <i8*> [#uses=0]
+@draw_counter = external global i8 ; <i8*> [#uses=0]
+@draw_count = external global i8 ; <i8*> [#uses=0]
+@tc_moves = external global i32 ; <i32*> [#uses=0]
+@tc_time = external global i32 ; <i32*> [#uses=0]
+@tc_time_remaining = external global i32 ; <i32*> [#uses=0]
+@tc_moves_remaining = external global i32 ; <i32*> [#uses=0]
+@tc_secondary_moves = external global i32 ; <i32*> [#uses=0]
+@tc_secondary_time = external global i32 ; <i32*> [#uses=0]
+@tc_sudden_death = external global i32 ; <i32*> [#uses=0]
+@tc_operator_time = external global i32 ; <i32*> [#uses=0]
+@tc_safety_margin = external global i32 ; <i32*> [#uses=0]
+@force = external global i32 ; <i32*> [#uses=0]
+@over = external global i32 ; <i32*> [#uses=0]
+@usage_level = external global i32 ; <i32*> [#uses=0]
+@audible_alarm = external global i8 ; <i8*> [#uses=0]
+@ansi = external global i32 ; <i32*> [#uses=0]
+@book_accept_mask = external global i32 ; <i32*> [#uses=0]
+@book_reject_mask = external global i32 ; <i32*> [#uses=0]
+@book_random = external global i32 ; <i32*> [#uses=0]
+@book_search_trigger = external global i32 ; <i32*> [#uses=0]
+@learning = external global i32 ; <i32*> [#uses=0]
+@show_book = external global i32 ; <i32*> [#uses=0]
+@book_selection_width = external global i32 ; <i32*> [#uses=0]
+@ponder = external global i32 ; <i32*> [#uses=0]
+@verbosity_level = external global i32 ; <i32*> [#uses=0]
+@push_extensions = external global [64 x i8] ; <[64 x i8]*> [#uses=0]
+@.str_28.upgrd.52 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_3.upgrd.53 = external global [43 x i8] ; <[43 x i8]*> [#uses=0]
+@display = external global %typedef.CHESS_POSITION ; <%typedef.CHESS_POSITION*> [#uses=0]
+@.str_4.upgrd.54 = external global [14 x i8] ; <[14 x i8]*> [#uses=0]
+@opponent_start_time = external global i32 ; <i32*> [#uses=0]
+@.str_8.upgrd.55 = external global [12 x i8] ; <[12 x i8]*> [#uses=0]
+@.str_9.upgrd.56 = external global [12 x i8] ; <[12 x i8]*> [#uses=0]
+@.str_18 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_19.upgrd.57 = external global [35 x i8] ; <[35 x i8]*> [#uses=0]
+@.str_2013 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_21.upgrd.58 = external global [41 x i8] ; <[41 x i8]*> [#uses=0]
+@.str_22.upgrd.59 = external global [29 x i8] ; <[29 x i8]*> [#uses=0]
+@.str_23.upgrd.60 = external global [8 x i8] ; <[8 x i8]*> [#uses=0]
+@whisper_text = external global [500 x i8] ; <[500 x i8]*> [#uses=0]
+@.str_24.upgrd.61 = external global [4 x i8] ; <[4 x i8]*> [#uses=0]
+@.str_25.upgrd.62 = external global [3 x i8] ; <[3 x i8]*> [#uses=0]
+@.str_26.upgrd.63 = external global [11 x i8] ; <[11 x i8]*> [#uses=0]
+@.str_28.upgrd.64 = external global [13 x i8] ; <[13 x i8]*> [#uses=0]
+@.str_29 = external global [13 x i8] ; <[13 x i8]*> [#uses=0]
+@.str_30 = external global [33 x i8] ; <[33 x i8]*> [#uses=0]
+@.str_31 = external global [2 x i8] ; <[2 x i8]*> [#uses=0]
+@.str_32.upgrd.65 = external global [22 x i8] ; <[22 x i8]*> [#uses=0]
+@.str_36 = external global [3 x i8] ; <[3 x i8]*> [#uses=1]
+@.str_37 = external global [15 x i8] ; <[15 x i8]*> [#uses=0]
+@.str_44 = external global [12 x i8] ; <[12 x i8]*> [#uses=0]
+@.str_45 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_49 = external global [15 x i8] ; <[15 x i8]*> [#uses=0]
+@.str_52 = external global [12 x i8] ; <[12 x i8]*> [#uses=0]
+@previous_search_value = external global i32 ; <i32*> [#uses=0]
+@.str_64 = external global [8 x i8] ; <[8 x i8]*> [#uses=0]
+@whisper_depth = external global i32 ; <i32*> [#uses=0]
+@.str_65 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_66 = external global [57 x i8] ; <[57 x i8]*> [#uses=0]
+@total_moves = external global i32 ; <i32*> [#uses=0]
+@book_file = external global %struct.__sFILE* ; <%struct.__sFILE**> [#uses=0]
+@books_file = external global %struct.__sFILE* ; <%struct.__sFILE**> [#uses=0]
+@book_lrn_file = external global %struct.__sFILE* ; <%struct.__sFILE**> [#uses=0]
+@position_file = external global %struct.__sFILE* ; <%struct.__sFILE**> [#uses=0]
+@position_lrn_file = external global %struct.__sFILE* ; <%struct.__sFILE**> [#uses=0]
+@log_filename = external global [64 x i8] ; <[64 x i8]*> [#uses=0]
+@history_filename = external global [64 x i8] ; <[64 x i8]*> [#uses=0]
+@book_path = external global [128 x i8] ; <[128 x i8]*> [#uses=0]
+@log_path = external global [128 x i8] ; <[128 x i8]*> [#uses=0]
+@tb_path = external global [128 x i8] ; <[128 x i8]*> [#uses=0]
+@cmd_buffer = external global [512 x i8] ; <[512 x i8]*> [#uses=0]
+@root_move = external global i32 ; <i32*> [#uses=0]
+@hint = external global [16 x i8] ; <[16 x i8]*> [#uses=0]
+@absolute_time_limit = external global i32 ; <i32*> [#uses=0]
+@search_time_limit = external global i32 ; <i32*> [#uses=0]
+@in_check = external global [65 x i8] ; <[65 x i8]*> [#uses=0]
+@extended_reason = external global [65 x i8] ; <[65 x i8]*> [#uses=0]
+@current_phase = external global [65 x i8] ; <[65 x i8]*> [#uses=0]
+@sort_value = external global [256 x i32] ; <[256 x i32]*> [#uses=0]
+@next_status = external global [65 x %typedef.NEXT_MOVE] ; <[65 x %typedef.NEXT_MOVE]*> [#uses=0]
+@save_hash_key = external global [67 x i64] ; <[67 x i64]*> [#uses=0]
+@save_pawn_hash_key = external global [67 x i32] ; <[67 x i32]*> [#uses=0]
+@pawn_advance = external global [8 x i32] ; <[8 x i32]*> [#uses=0]
+@bit_move = external global i64 ; <i64*> [#uses=0]
+@.str_1.upgrd.66 = external global [17 x i8] ; <[17 x i8]*> [#uses=0]
+@.str_2.upgrd.67 = external global [36 x i8] ; <[36 x i8]*> [#uses=0]
+@.str_3.upgrd.68 = external global [8 x i8] ; <[8 x i8]*> [#uses=0]
+@.str_1.upgrd.69 = external global [34 x i8] ; <[34 x i8]*> [#uses=0]
+@.str_2.upgrd.70 = external global [46 x i8] ; <[46 x i8]*> [#uses=0]
+@.str_2.upgrd.71 = external global [47 x i8] ; <[47 x i8]*> [#uses=0]
+@.str_1.upgrd.72 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_2.upgrd.73 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_3.upgrd.74 = external global [3 x i8] ; <[3 x i8]*> [#uses=0]
+@.str_4.upgrd.75 = external global [4 x i8] ; <[4 x i8]*> [#uses=0]
+@.str_5.upgrd.76 = external global [22 x i8] ; <[22 x i8]*> [#uses=0]
+@.str_615 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_7.upgrd.77 = external global [21 x i8] ; <[21 x i8]*> [#uses=0]
+@.str_10.upgrd.78 = external global [8 x i8] ; <[8 x i8]*> [#uses=0]
+@.str_11.upgrd.79 = external global [3 x i8] ; <[3 x i8]*> [#uses=0]
+@.str_12.upgrd.80 = external global [18 x i8] ; <[18 x i8]*> [#uses=0]
+@.str_1318 = external global [4 x i8] ; <[4 x i8]*> [#uses=0]
+@.str_1419 = external global [2 x i8] ; <[2 x i8]*> [#uses=0]
+@.str_15.upgrd.81 = external global [17 x i8] ; <[17 x i8]*> [#uses=0]
+@.str_16.upgrd.82 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_19.upgrd.83 = external global [22 x i8] ; <[22 x i8]*> [#uses=0]
+@.str_20.upgrd.84 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_2222 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_2323 = external global [8 x i8] ; <[8 x i8]*> [#uses=0]
+@.str_25.upgrd.85 = external global [29 x i8] ; <[29 x i8]*> [#uses=0]
+@.str_27 = external global [48 x i8] ; <[48 x i8]*> [#uses=0]
+@.str_28.upgrd.86 = external global [42 x i8] ; <[42 x i8]*> [#uses=0]
+@.str_29.upgrd.87 = external global [64 x i8] ; <[64 x i8]*> [#uses=0]
+@.str_30.upgrd.88 = external global [27 x i8] ; <[27 x i8]*> [#uses=0]
+@.str_31.upgrd.89 = external global [18 x i8] ; <[18 x i8]*> [#uses=0]
+@.str_32.upgrd.90 = external global [40 x i8] ; <[40 x i8]*> [#uses=0]
+@.str_33 = external global [8 x i8] ; <[8 x i8]*> [#uses=0]
+@.str_34 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_35 = external global [40 x i8] ; <[40 x i8]*> [#uses=0]
+@.str_36.upgrd.91 = external global [46 x i8] ; <[46 x i8]*> [#uses=0]
+@.str_37.upgrd.92 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_38 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_41 = external global [7 x i8] ; <[7 x i8]*> [#uses=0]
+@.str_42 = external global [7 x i8] ; <[7 x i8]*> [#uses=0]
+@.str_43 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_44.upgrd.93 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_4525 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_46 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_47 = external global [19 x i8] ; <[19 x i8]*> [#uses=0]
+@.str_48 = external global [35 x i8] ; <[35 x i8]*> [#uses=0]
+@.str_49.upgrd.94 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_50 = external global [19 x i8] ; <[19 x i8]*> [#uses=0]
+@.str_51 = external global [25 x i8] ; <[25 x i8]*> [#uses=0]
+@.str_52.upgrd.95 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_53 = external global [10 x i8] ; <[10 x i8]*> [#uses=0]
+@.str_54 = external global [23 x i8] ; <[23 x i8]*> [#uses=0]
+@.str_55 = external global [32 x i8] ; <[32 x i8]*> [#uses=0]
+@.str_56 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_57 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_58 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_59 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_60 = external global [3 x i8] ; <[3 x i8]*> [#uses=0]
+@.str_61 = external global [10 x i8] ; <[10 x i8]*> [#uses=0]
+@.str_62 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_63 = external global [16 x i8] ; <[16 x i8]*> [#uses=0]
+@.str_64.upgrd.96 = external global [37 x i8] ; <[37 x i8]*> [#uses=0]
+@.str_66.upgrd.97 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_67 = external global [21 x i8] ; <[21 x i8]*> [#uses=0]
+@.str_68 = external global [4 x i8] ; <[4 x i8]*> [#uses=0]
+@.str_69 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_71 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_72 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_73 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_74 = external global [22 x i8] ; <[22 x i8]*> [#uses=0]
+@.str_75 = external global [9 x i8] ; <[9 x i8]*> [#uses=0]
+@.str_81 = external global [7 x i8] ; <[7 x i8]*> [#uses=0]
+@.str_83 = external global [8 x i8] ; <[8 x i8]*> [#uses=0]
+@.str_84 = external global [23 x i8] ; <[23 x i8]*> [#uses=0]
+@.str_86 = external global [4 x i8] ; <[4 x i8]*> [#uses=0]
+@.str_87 = external global [8 x i8] ; <[8 x i8]*> [#uses=0]
+@.str_89 = external global [7 x i8] ; <[7 x i8]*> [#uses=0]
+@.str_90 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_91 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_92 = external global [47 x i8] ; <[47 x i8]*> [#uses=0]
+@.str_94 = external global [37 x i8] ; <[37 x i8]*> [#uses=0]
+@.str_95 = external global [33 x i8] ; <[33 x i8]*> [#uses=0]
+@.str_96 = external global [34 x i8] ; <[34 x i8]*> [#uses=0]
+@.str_97 = external global [33 x i8] ; <[33 x i8]*> [#uses=0]
+@.str_98 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_100 = external global [42 x i8] ; <[42 x i8]*> [#uses=0]
+@.str_101 = external global [38 x i8] ; <[38 x i8]*> [#uses=0]
+@.str_102 = external global [39 x i8] ; <[39 x i8]*> [#uses=0]
+@.str_103 = external global [38 x i8] ; <[38 x i8]*> [#uses=0]
+@.str_104 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_105 = external global [8 x i8] ; <[8 x i8]*> [#uses=0]
+@.str_106 = external global [9 x i8] ; <[9 x i8]*> [#uses=0]
+@.str_107 = external global [59 x i8] ; <[59 x i8]*> [#uses=0]
+@.str_108 = external global [57 x i8] ; <[57 x i8]*> [#uses=0]
+@.str_109 = external global [56 x i8] ; <[56 x i8]*> [#uses=0]
+@.str_110 = external global [59 x i8] ; <[59 x i8]*> [#uses=0]
+@.str_111 = external global [54 x i8] ; <[54 x i8]*> [#uses=0]
+@.str_112 = external global [57 x i8] ; <[57 x i8]*> [#uses=0]
+@.str_113 = external global [58 x i8] ; <[58 x i8]*> [#uses=0]
+@.str_114 = external global [9 x i8] ; <[9 x i8]*> [#uses=0]
+@.str_115 = external global [48 x i8] ; <[48 x i8]*> [#uses=0]
+@.str_116 = external global [61 x i8] ; <[61 x i8]*> [#uses=0]
+@.str_117 = external global [60 x i8] ; <[60 x i8]*> [#uses=0]
+@.str_118 = external global [63 x i8] ; <[63 x i8]*> [#uses=0]
+@.str_119 = external global [62 x i8] ; <[62 x i8]*> [#uses=0]
+@.str_120 = external global [63 x i8] ; <[63 x i8]*> [#uses=0]
+@.str_121 = external global [60 x i8] ; <[60 x i8]*> [#uses=0]
+@.str_122 = external global [64 x i8] ; <[64 x i8]*> [#uses=0]
+@.str_123 = external global [61 x i8] ; <[61 x i8]*> [#uses=0]
+@.str_124 = external global [60 x i8] ; <[60 x i8]*> [#uses=0]
+@.str_125 = external global [65 x i8] ; <[65 x i8]*> [#uses=0]
+@.str_126 = external global [65 x i8] ; <[65 x i8]*> [#uses=0]
+@.str_127 = external global [69 x i8] ; <[69 x i8]*> [#uses=0]
+@.str_128 = external global [66 x i8] ; <[66 x i8]*> [#uses=0]
+@.str_129 = external global [61 x i8] ; <[61 x i8]*> [#uses=0]
+@.str_130 = external global [63 x i8] ; <[63 x i8]*> [#uses=0]
+@.str_131 = external global [67 x i8] ; <[67 x i8]*> [#uses=0]
+@.str_132 = external global [63 x i8] ; <[63 x i8]*> [#uses=0]
+@.str_133 = external global [58 x i8] ; <[58 x i8]*> [#uses=0]
+@.str_134 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_135 = external global [57 x i8] ; <[57 x i8]*> [#uses=0]
+@.str_136.upgrd.98 = external global [56 x i8] ; <[56 x i8]*> [#uses=0]
+@.str_137 = external global [60 x i8] ; <[60 x i8]*> [#uses=0]
+@.str_138 = external global [60 x i8] ; <[60 x i8]*> [#uses=0]
+@.str_139 = external global [58 x i8] ; <[58 x i8]*> [#uses=0]
+@.str_140 = external global [57 x i8] ; <[57 x i8]*> [#uses=0]
+@.str_141 = external global [60 x i8] ; <[60 x i8]*> [#uses=0]
+@.str_142 = external global [59 x i8] ; <[59 x i8]*> [#uses=0]
+@.str_143 = external global [59 x i8] ; <[59 x i8]*> [#uses=0]
+@.str_144 = external global [62 x i8] ; <[62 x i8]*> [#uses=0]
+@.str_145 = external global [62 x i8] ; <[62 x i8]*> [#uses=0]
+@.str_146 = external global [61 x i8] ; <[61 x i8]*> [#uses=0]
+@.str_147 = external global [60 x i8] ; <[60 x i8]*> [#uses=0]
+@.str_148 = external global [62 x i8] ; <[62 x i8]*> [#uses=0]
+@.str_149 = external global [64 x i8] ; <[64 x i8]*> [#uses=0]
+@.str_150 = external global [65 x i8] ; <[65 x i8]*> [#uses=0]
+@.str_151 = external global [61 x i8] ; <[61 x i8]*> [#uses=0]
+@.str_152 = external global [46 x i8] ; <[46 x i8]*> [#uses=0]
+@.str_153 = external global [8 x i8] ; <[8 x i8]*> [#uses=0]
+@.str_154 = external global [64 x i8] ; <[64 x i8]*> [#uses=0]
+@.str_156 = external global [57 x i8] ; <[57 x i8]*> [#uses=0]
+@.str_157 = external global [31 x i8] ; <[31 x i8]*> [#uses=0]
+@.str_158 = external global [71 x i8] ; <[71 x i8]*> [#uses=0]
+@.str_159 = external global [72 x i8] ; <[72 x i8]*> [#uses=0]
+@.str_160 = external global [56 x i8] ; <[56 x i8]*> [#uses=0]
+@.str_161 = external global [59 x i8] ; <[59 x i8]*> [#uses=0]
+@.str_162 = external global [63 x i8] ; <[63 x i8]*> [#uses=0]
+@.str_163 = external global [62 x i8] ; <[62 x i8]*> [#uses=0]
+@.str_164 = external global [58 x i8] ; <[58 x i8]*> [#uses=0]
+@.str_165 = external global [57 x i8] ; <[57 x i8]*> [#uses=0]
+@.str_166 = external global [61 x i8] ; <[61 x i8]*> [#uses=0]
+@.str_167 = external global [63 x i8] ; <[63 x i8]*> [#uses=0]
+@.str_168 = external global [62 x i8] ; <[62 x i8]*> [#uses=0]
+@.str_169 = external global [65 x i8] ; <[65 x i8]*> [#uses=0]
+@.str_170 = external global [62 x i8] ; <[62 x i8]*> [#uses=0]
+@.str_171 = external global [63 x i8] ; <[63 x i8]*> [#uses=0]
+@.str_172 = external global [61 x i8] ; <[61 x i8]*> [#uses=0]
+@.str_173 = external global [64 x i8] ; <[64 x i8]*> [#uses=0]
+@.str_174 = external global [51 x i8] ; <[51 x i8]*> [#uses=0]
+@.str_175 = external global [70 x i8] ; <[70 x i8]*> [#uses=0]
+@.str_176 = external global [67 x i8] ; <[67 x i8]*> [#uses=0]
+@.str_177 = external global [64 x i8] ; <[64 x i8]*> [#uses=0]
+@.str_178 = external global [48 x i8] ; <[48 x i8]*> [#uses=0]
+@.str_180 = external global [57 x i8] ; <[57 x i8]*> [#uses=0]
+@.str_181 = external global [60 x i8] ; <[60 x i8]*> [#uses=0]
+@.str_182 = external global [53 x i8] ; <[53 x i8]*> [#uses=0]
+@.str_183 = external global [61 x i8] ; <[61 x i8]*> [#uses=0]
+@.str_184 = external global [57 x i8] ; <[57 x i8]*> [#uses=0]
+@.str_185 = external global [61 x i8] ; <[61 x i8]*> [#uses=0]
+@.str_186 = external global [59 x i8] ; <[59 x i8]*> [#uses=0]
+@.str_187 = external global [57 x i8] ; <[57 x i8]*> [#uses=0]
+@.str_188 = external global [35 x i8] ; <[35 x i8]*> [#uses=0]
+@.str_189 = external global [58 x i8] ; <[58 x i8]*> [#uses=0]
+@.str_190 = external global [59 x i8] ; <[59 x i8]*> [#uses=0]
+@.str_191 = external global [60 x i8] ; <[60 x i8]*> [#uses=0]
+@.str_192 = external global [39 x i8] ; <[39 x i8]*> [#uses=0]
+@.str_193 = external global [55 x i8] ; <[55 x i8]*> [#uses=0]
+@.str_194 = external global [32 x i8] ; <[32 x i8]*> [#uses=0]
+@.str_195 = external global [33 x i8] ; <[33 x i8]*> [#uses=0]
+@.str_196 = external global [46 x i8] ; <[46 x i8]*> [#uses=0]
+@.str_197 = external global [11 x i8] ; <[11 x i8]*> [#uses=0]
+@.str_198 = external global [16 x i8] ; <[16 x i8]*> [#uses=0]
+@.str_201 = external global [57 x i8] ; <[57 x i8]*> [#uses=0]
+@.str_202 = external global [58 x i8] ; <[58 x i8]*> [#uses=0]
+@.str_203 = external global [60 x i8] ; <[60 x i8]*> [#uses=0]
+@.str_204 = external global [3 x i8] ; <[3 x i8]*> [#uses=0]
+@.str_206 = external global [48 x i8] ; <[48 x i8]*> [#uses=0]
+@.str_207 = external global [46 x i8] ; <[46 x i8]*> [#uses=0]
+@.str_208 = external global [56 x i8] ; <[56 x i8]*> [#uses=0]
+@.str_209 = external global [59 x i8] ; <[59 x i8]*> [#uses=0]
+@.str_210 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_211 = external global [43 x i8] ; <[43 x i8]*> [#uses=0]
+@.str_213 = external global [52 x i8] ; <[52 x i8]*> [#uses=0]
+@.str_214 = external global [59 x i8] ; <[59 x i8]*> [#uses=0]
+@.str_215 = external global [60 x i8] ; <[60 x i8]*> [#uses=0]
+@.str_216 = external global [14 x i8] ; <[14 x i8]*> [#uses=0]
+@.str_218 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_219 = external global [60 x i8] ; <[60 x i8]*> [#uses=0]
+@.str_220 = external global [62 x i8] ; <[62 x i8]*> [#uses=0]
+@.str_221 = external global [37 x i8] ; <[37 x i8]*> [#uses=0]
+@.str_222 = external global [64 x i8] ; <[64 x i8]*> [#uses=0]
+@.str_223 = external global [66 x i8] ; <[66 x i8]*> [#uses=0]
+@.str_224 = external global [62 x i8] ; <[62 x i8]*> [#uses=0]
+@.str_225 = external global [64 x i8] ; <[64 x i8]*> [#uses=0]
+@.str_226 = external global [63 x i8] ; <[63 x i8]*> [#uses=0]
+@.str_227 = external global [46 x i8] ; <[46 x i8]*> [#uses=0]
+@.str_228 = external global [4 x i8] ; <[4 x i8]*> [#uses=0]
+@.str_229 = external global [56 x i8] ; <[56 x i8]*> [#uses=0]
+@.str_230 = external global [60 x i8] ; <[60 x i8]*> [#uses=0]
+@.str_231 = external global [19 x i8] ; <[19 x i8]*> [#uses=0]
+@.str_232 = external global [57 x i8] ; <[57 x i8]*> [#uses=0]
+@.str_233 = external global [60 x i8] ; <[60 x i8]*> [#uses=0]
+@.str_234 = external global [54 x i8] ; <[54 x i8]*> [#uses=0]
+@.str_235 = external global [60 x i8] ; <[60 x i8]*> [#uses=0]
+@.str_236 = external global [17 x i8] ; <[17 x i8]*> [#uses=0]
+@.str_237 = external global [9 x i8] ; <[9 x i8]*> [#uses=0]
+@.str_238 = external global [61 x i8] ; <[61 x i8]*> [#uses=0]
+@.str_239 = external global [59 x i8] ; <[59 x i8]*> [#uses=0]
+@.str_240 = external global [17 x i8] ; <[17 x i8]*> [#uses=0]
+@.str_241 = external global [61 x i8] ; <[61 x i8]*> [#uses=0]
+@.str_242 = external global [61 x i8] ; <[61 x i8]*> [#uses=0]
+@.str_243 = external global [35 x i8] ; <[35 x i8]*> [#uses=0]
+@.str_245 = external global [60 x i8] ; <[60 x i8]*> [#uses=0]
+@.str_246 = external global [58 x i8] ; <[58 x i8]*> [#uses=0]
+@.str_247 = external global [59 x i8] ; <[59 x i8]*> [#uses=0]
+@.str_248 = external global [56 x i8] ; <[56 x i8]*> [#uses=0]
+@.str_249 = external global [58 x i8] ; <[58 x i8]*> [#uses=0]
+@.str_250 = external global [45 x i8] ; <[45 x i8]*> [#uses=0]
+@.str_253 = external global [56 x i8] ; <[56 x i8]*> [#uses=0]
+@.str_254 = external global [17 x i8] ; <[17 x i8]*> [#uses=0]
+@.str_256 = external global [43 x i8] ; <[43 x i8]*> [#uses=0]
+@.str_258 = external global [52 x i8] ; <[52 x i8]*> [#uses=0]
+@.str_259 = external global [27 x i8] ; <[27 x i8]*> [#uses=0]
+@.str_261 = external global [43 x i8] ; <[43 x i8]*> [#uses=0]
+@.str_262 = external global [43 x i8] ; <[43 x i8]*> [#uses=0]
+@.str_263 = external global [43 x i8] ; <[43 x i8]*> [#uses=0]
+@.str_266 = external global [43 x i8] ; <[43 x i8]*> [#uses=0]
+@.str_267 = external global [43 x i8] ; <[43 x i8]*> [#uses=0]
+@.str_268 = external global [43 x i8] ; <[43 x i8]*> [#uses=0]
+@.str_270 = external global [60 x i8] ; <[60 x i8]*> [#uses=0]
+@.str_271 = external global [59 x i8] ; <[59 x i8]*> [#uses=0]
+@.str_272 = external global [60 x i8] ; <[60 x i8]*> [#uses=0]
+@.str_273 = external global [59 x i8] ; <[59 x i8]*> [#uses=0]
+@.str_274 = external global [59 x i8] ; <[59 x i8]*> [#uses=0]
+@.str_275 = external global [44 x i8] ; <[44 x i8]*> [#uses=0]
+@.str_276 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_277 = external global [21 x i8] ; <[21 x i8]*> [#uses=0]
+@.str_278 = external global [48 x i8] ; <[48 x i8]*> [#uses=0]
+@.str_279 = external global [51 x i8] ; <[51 x i8]*> [#uses=0]
+@.str_280 = external global [52 x i8] ; <[52 x i8]*> [#uses=0]
+@.str_281 = external global [53 x i8] ; <[53 x i8]*> [#uses=0]
+@.str_282 = external global [50 x i8] ; <[50 x i8]*> [#uses=0]
+@.str_283 = external global [53 x i8] ; <[53 x i8]*> [#uses=0]
+@.str_284 = external global [56 x i8] ; <[56 x i8]*> [#uses=0]
+@.str_285 = external global [55 x i8] ; <[55 x i8]*> [#uses=0]
+@.str_286 = external global [56 x i8] ; <[56 x i8]*> [#uses=0]
+@.str_287 = external global [54 x i8] ; <[54 x i8]*> [#uses=0]
+@.str_288 = external global [58 x i8] ; <[58 x i8]*> [#uses=0]
+@.str_289 = external global [61 x i8] ; <[61 x i8]*> [#uses=0]
+@.str_290 = external global [56 x i8] ; <[56 x i8]*> [#uses=0]
+@.str_291 = external global [58 x i8] ; <[58 x i8]*> [#uses=0]
+@.str_292 = external global [58 x i8] ; <[58 x i8]*> [#uses=0]
+@.str_293 = external global [54 x i8] ; <[54 x i8]*> [#uses=0]
+@.str_294 = external global [56 x i8] ; <[56 x i8]*> [#uses=0]
+@.str_295 = external global [9 x i8] ; <[9 x i8]*> [#uses=0]
+@.str_296 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_297 = external global [52 x i8] ; <[52 x i8]*> [#uses=0]
+@.str_298 = external global [51 x i8] ; <[51 x i8]*> [#uses=0]
+@.str_299 = external global [54 x i8] ; <[54 x i8]*> [#uses=0]
+@.str_300 = external global [49 x i8] ; <[49 x i8]*> [#uses=0]
+@.str_301 = external global [56 x i8] ; <[56 x i8]*> [#uses=0]
+@.str_302 = external global [18 x i8] ; <[18 x i8]*> [#uses=0]
+@.str_304 = external global [50 x i8] ; <[50 x i8]*> [#uses=0]
+@.str_305 = external global [50 x i8] ; <[50 x i8]*> [#uses=0]
+@.str_306 = external global [10 x i8] ; <[10 x i8]*> [#uses=0]
+@.str_308 = external global [52 x i8] ; <[52 x i8]*> [#uses=0]
+@.str_310 = external global [50 x i8] ; <[50 x i8]*> [#uses=0]
+@.str_311 = external global [52 x i8] ; <[52 x i8]*> [#uses=0]
+@.str_312 = external global [53 x i8] ; <[53 x i8]*> [#uses=0]
+@.str_313 = external global [52 x i8] ; <[52 x i8]*> [#uses=0]
+@.str_314 = external global [53 x i8] ; <[53 x i8]*> [#uses=0]
+@.str_315 = external global [54 x i8] ; <[54 x i8]*> [#uses=0]
+@.str_316 = external global [51 x i8] ; <[51 x i8]*> [#uses=0]
+@.str_317 = external global [26 x i8] ; <[26 x i8]*> [#uses=0]
+@.str_319 = external global [56 x i8] ; <[56 x i8]*> [#uses=0]
+@.str_320 = external global [53 x i8] ; <[53 x i8]*> [#uses=0]
+@.str_321 = external global [52 x i8] ; <[52 x i8]*> [#uses=0]
+@.str_322 = external global [55 x i8] ; <[55 x i8]*> [#uses=0]
+@.str_323 = external global [20 x i8] ; <[20 x i8]*> [#uses=0]
+@.str_325 = external global [26 x i8] ; <[26 x i8]*> [#uses=0]
+@.str_327 = external global [51 x i8] ; <[51 x i8]*> [#uses=0]
+@.str_328 = external global [51 x i8] ; <[51 x i8]*> [#uses=0]
+@.str_329 = external global [10 x i8] ; <[10 x i8]*> [#uses=0]
+@.str_330 = external global [8 x i8] ; <[8 x i8]*> [#uses=0]
+@.str_331 = external global [53 x i8] ; <[53 x i8]*> [#uses=0]
+@.str_332 = external global [39 x i8] ; <[39 x i8]*> [#uses=0]
+@.str_333 = external global [50 x i8] ; <[50 x i8]*> [#uses=0]
+@.str_334 = external global [54 x i8] ; <[54 x i8]*> [#uses=0]
+@.str_335 = external global [48 x i8] ; <[48 x i8]*> [#uses=0]
+@.str_336 = external global [52 x i8] ; <[52 x i8]*> [#uses=0]
+@.str_337 = external global [50 x i8] ; <[50 x i8]*> [#uses=0]
+@.str_338 = external global [56 x i8] ; <[56 x i8]*> [#uses=0]
+@.str_339 = external global [36 x i8] ; <[36 x i8]*> [#uses=0]
+@.str_340 = external global [55 x i8] ; <[55 x i8]*> [#uses=0]
+@.str_341 = external global [54 x i8] ; <[54 x i8]*> [#uses=0]
+@.str_342 = external global [49 x i8] ; <[49 x i8]*> [#uses=0]
+@.str_343 = external global [63 x i8] ; <[63 x i8]*> [#uses=0]
+@.str_344 = external global [49 x i8] ; <[49 x i8]*> [#uses=0]
+@.str_345 = external global [47 x i8] ; <[47 x i8]*> [#uses=0]
+@.str_346 = external global [49 x i8] ; <[49 x i8]*> [#uses=0]
+@.str_347 = external global [43 x i8] ; <[43 x i8]*> [#uses=0]
+@.str_348 = external global [52 x i8] ; <[52 x i8]*> [#uses=0]
+@.str_349 = external global [52 x i8] ; <[52 x i8]*> [#uses=0]
+@.str_350 = external global [55 x i8] ; <[55 x i8]*> [#uses=0]
+@.str_351 = external global [47 x i8] ; <[47 x i8]*> [#uses=0]
+@.str_352 = external global [49 x i8] ; <[49 x i8]*> [#uses=0]
+@.str_353 = external global [49 x i8] ; <[49 x i8]*> [#uses=0]
+@.str_354 = external global [42 x i8] ; <[42 x i8]*> [#uses=0]
+@.str_355 = external global [57 x i8] ; <[57 x i8]*> [#uses=0]
+@.str_356 = external global [59 x i8] ; <[59 x i8]*> [#uses=0]
+@.str_357 = external global [53 x i8] ; <[53 x i8]*> [#uses=0]
+@.str_358 = external global [47 x i8] ; <[47 x i8]*> [#uses=0]
+@.str_359 = external global [63 x i8] ; <[63 x i8]*> [#uses=0]
+@.str_360 = external global [54 x i8] ; <[54 x i8]*> [#uses=0]
+@.str_362 = external global [53 x i8] ; <[53 x i8]*> [#uses=0]
+@.str_363 = external global [62 x i8] ; <[62 x i8]*> [#uses=0]
+@.str_364 = external global [56 x i8] ; <[56 x i8]*> [#uses=0]
+@.str_365 = external global [51 x i8] ; <[51 x i8]*> [#uses=0]
+@.str_366 = external global [64 x i8] ; <[64 x i8]*> [#uses=0]
+@.str_367 = external global [62 x i8] ; <[62 x i8]*> [#uses=0]
+@.str_368 = external global [48 x i8] ; <[48 x i8]*> [#uses=0]
+@.str_369 = external global [52 x i8] ; <[52 x i8]*> [#uses=0]
+@.str_370 = external global [58 x i8] ; <[58 x i8]*> [#uses=0]
+@.str_371 = external global [49 x i8] ; <[49 x i8]*> [#uses=0]
+@.str_372 = external global [58 x i8] ; <[58 x i8]*> [#uses=0]
+@.str_373 = external global [61 x i8] ; <[61 x i8]*> [#uses=0]
+@.str_374 = external global [52 x i8] ; <[52 x i8]*> [#uses=0]
+@.str_375 = external global [63 x i8] ; <[63 x i8]*> [#uses=0]
+@.str_376 = external global [63 x i8] ; <[63 x i8]*> [#uses=0]
+@.str_377 = external global [62 x i8] ; <[62 x i8]*> [#uses=0]
+@.str_378 = external global [52 x i8] ; <[52 x i8]*> [#uses=0]
+@.str_379 = external global [60 x i8] ; <[60 x i8]*> [#uses=0]
+@.str_380 = external global [60 x i8] ; <[60 x i8]*> [#uses=0]
+@.str_381 = external global [60 x i8] ; <[60 x i8]*> [#uses=0]
+@.str_382 = external global [62 x i8] ; <[62 x i8]*> [#uses=0]
+@.str_383 = external global [49 x i8] ; <[49 x i8]*> [#uses=0]
+@.str_384 = external global [62 x i8] ; <[62 x i8]*> [#uses=0]
+@.str_385 = external global [62 x i8] ; <[62 x i8]*> [#uses=0]
+@.str_387 = external global [53 x i8] ; <[53 x i8]*> [#uses=0]
+@.str_388 = external global [57 x i8] ; <[57 x i8]*> [#uses=0]
+@.str_389 = external global [57 x i8] ; <[57 x i8]*> [#uses=0]
+@.str_390 = external global [55 x i8] ; <[55 x i8]*> [#uses=0]
+@.str_391 = external global [55 x i8] ; <[55 x i8]*> [#uses=0]
+@.str_392 = external global [71 x i8] ; <[71 x i8]*> [#uses=0]
+@.str_393 = external global [46 x i8] ; <[46 x i8]*> [#uses=0]
+@.str_394 = external global [51 x i8] ; <[51 x i8]*> [#uses=0]
+@.str_395 = external global [54 x i8] ; <[54 x i8]*> [#uses=0]
+@.str_396 = external global [60 x i8] ; <[60 x i8]*> [#uses=0]
+@.str_397 = external global [49 x i8] ; <[49 x i8]*> [#uses=0]
+@.str_398 = external global [62 x i8] ; <[62 x i8]*> [#uses=0]
+@.str_399 = external global [67 x i8] ; <[67 x i8]*> [#uses=0]
+@.str_400 = external global [55 x i8] ; <[55 x i8]*> [#uses=0]
+@.str_401 = external global [52 x i8] ; <[52 x i8]*> [#uses=0]
+@.str_402 = external global [62 x i8] ; <[62 x i8]*> [#uses=0]
+@.str_403 = external global [47 x i8] ; <[47 x i8]*> [#uses=0]
+@.str_404 = external global [59 x i8] ; <[59 x i8]*> [#uses=0]
+@.str_405 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_406 = external global [10 x i8] ; <[10 x i8]*> [#uses=0]
+@.str_407 = external global [4 x i8] ; <[4 x i8]*> [#uses=0]
+@.str_408 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_409 = external global [4 x i8] ; <[4 x i8]*> [#uses=0]
+@.str_410 = external global [26 x i8] ; <[26 x i8]*> [#uses=0]
+@.str_411 = external global [2 x i8] ; <[2 x i8]*> [#uses=0]
+@.str_412 = external global [22 x i8] ; <[22 x i8]*> [#uses=0]
+@.str_413 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_414 = external global [19 x i8] ; <[19 x i8]*> [#uses=0]
+@.str_421 = external global [53 x i8] ; <[53 x i8]*> [#uses=0]
+@.str_422 = external global [55 x i8] ; <[55 x i8]*> [#uses=0]
+@.str_423 = external global [23 x i8] ; <[23 x i8]*> [#uses=0]
+@.str_424 = external global [39 x i8] ; <[39 x i8]*> [#uses=0]
+@.str_426 = external global [42 x i8] ; <[42 x i8]*> [#uses=0]
+@.str_427 = external global [40 x i8] ; <[40 x i8]*> [#uses=0]
+@.str_429 = external global [7 x i8] ; <[7 x i8]*> [#uses=0]
+@.str_430 = external global [24 x i8] ; <[24 x i8]*> [#uses=0]
+@.str_431 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_432 = external global [23 x i8] ; <[23 x i8]*> [#uses=0]
+@.str_433 = external global [23 x i8] ; <[23 x i8]*> [#uses=0]
+@.str_434 = external global [24 x i8] ; <[24 x i8]*> [#uses=0]
+@.str_435 = external global [27 x i8] ; <[27 x i8]*> [#uses=0]
+@.str_436 = external global [28 x i8] ; <[28 x i8]*> [#uses=0]
+@.str_437 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_438 = external global [38 x i8] ; <[38 x i8]*> [#uses=0]
+@.str_440 = external global [44 x i8] ; <[44 x i8]*> [#uses=0]
+@.str_445 = external global [3 x i8] ; <[3 x i8]*> [#uses=0]
+@.str_446 = external global [26 x i8] ; <[26 x i8]*> [#uses=0]
+@.str_447 = external global [36 x i8] ; <[36 x i8]*> [#uses=0]
+@.str_448 = external global [40 x i8] ; <[40 x i8]*> [#uses=0]
+@.str_449 = external global [22 x i8] ; <[22 x i8]*> [#uses=0]
+@.str_450 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_451 = external global [44 x i8] ; <[44 x i8]*> [#uses=0]
+@.str_452 = external global [3 x i8] ; <[3 x i8]*> [#uses=0]
+@.str_453 = external global [26 x i8] ; <[26 x i8]*> [#uses=0]
+@.str_454 = external global [36 x i8] ; <[36 x i8]*> [#uses=0]
+@.str_455 = external global [40 x i8] ; <[40 x i8]*> [#uses=0]
+@.str_456 = external global [22 x i8] ; <[22 x i8]*> [#uses=0]
+@.str_459 = external global [2 x i8] ; <[2 x i8]*> [#uses=0]
+@.str_460 = external global [32 x i8] ; <[32 x i8]*> [#uses=0]
+@.str_461 = external global [42 x i8] ; <[42 x i8]*> [#uses=0]
+@.str_462 = external global [39 x i8] ; <[39 x i8]*> [#uses=0]
+@.str_463 = external global [28 x i8] ; <[28 x i8]*> [#uses=0]
+@.str_466 = external global [3 x i8] ; <[3 x i8]*> [#uses=0]
+@.str_467 = external global [35 x i8] ; <[35 x i8]*> [#uses=0]
+@.str_468 = external global [45 x i8] ; <[45 x i8]*> [#uses=0]
+@.str_469 = external global [40 x i8] ; <[40 x i8]*> [#uses=0]
+@.str_470 = external global [31 x i8] ; <[31 x i8]*> [#uses=0]
+@.str_474 = external global [10 x i8] ; <[10 x i8]*> [#uses=0]
+@.str_477 = external global [10 x i8] ; <[10 x i8]*> [#uses=0]
+@.str_480 = external global [16 x i8] ; <[16 x i8]*> [#uses=0]
+@.str_483 = external global [19 x i8] ; <[19 x i8]*> [#uses=0]
+@.str_485 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_487 = external global [32 x i8] ; <[32 x i8]*> [#uses=0]
+@.str_490 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_494 = external global [4 x i8] ; <[4 x i8]*> [#uses=0]
+@.str_495 = external global [33 x i8] ; <[33 x i8]*> [#uses=0]
+@.str_497 = external global [12 x i8] ; <[12 x i8]*> [#uses=0]
+@.str_498 = external global [13 x i8] ; <[13 x i8]*> [#uses=0]
+@.str_507 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_508 = external global [11 x i8] ; <[11 x i8]*> [#uses=0]
+@.str_509 = external global [57 x i8] ; <[57 x i8]*> [#uses=0]
+@.str_510 = external global [37 x i8] ; <[37 x i8]*> [#uses=0]
+@.str_511 = external global [7 x i8] ; <[7 x i8]*> [#uses=0]
+@.str_512 = external global [32 x i8] ; <[32 x i8]*> [#uses=0]
+@.str_513 = external global [18 x i8] ; <[18 x i8]*> [#uses=0]
+@.str_514 = external global [14 x i8] ; <[14 x i8]*> [#uses=0]
+@.str_515 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_516 = external global [21 x i8] ; <[21 x i8]*> [#uses=0]
+@.str_517 = external global [10 x i8] ; <[10 x i8]*> [#uses=0]
+@.str_519 = external global [17 x i8] ; <[17 x i8]*> [#uses=0]
+@.str_520 = external global [21 x i8] ; <[21 x i8]*> [#uses=0]
+@.str_521 = external global [15 x i8] ; <[15 x i8]*> [#uses=0]
+@.str_522 = external global [16 x i8] ; <[16 x i8]*> [#uses=0]
+@.str_523 = external global [4 x i8] ; <[4 x i8]*> [#uses=0]
+@.str_524 = external global [3 x i8] ; <[3 x i8]*> [#uses=0]
+@.str_525 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_526 = external global [19 x i8] ; <[19 x i8]*> [#uses=0]
+@.str_527 = external global [24 x i8] ; <[24 x i8]*> [#uses=0]
+@.str_528 = external global [9 x i8] ; <[9 x i8]*> [#uses=0]
+@.str_529 = external global [28 x i8] ; <[28 x i8]*> [#uses=0]
+@.str_530 = external global [54 x i8] ; <[54 x i8]*> [#uses=0]
+@.str_531 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_532 = external global [38 x i8] ; <[38 x i8]*> [#uses=0]
+@.str_533 = external global [32 x i8] ; <[32 x i8]*> [#uses=0]
+@.str_534 = external global [7 x i8] ; <[7 x i8]*> [#uses=0]
+@.str_535 = external global [27 x i8] ; <[27 x i8]*> [#uses=0]
+@.str_536 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_537 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_539 = external global [39 x i8] ; <[39 x i8]*> [#uses=0]
+@.str_540 = external global [40 x i8] ; <[40 x i8]*> [#uses=0]
+@.str_541 = external global [8 x i8] ; <[8 x i8]*> [#uses=0]
+@.str_542 = external global [9 x i8] ; <[9 x i8]*> [#uses=0]
+@.str_543 = external global [7 x i8] ; <[7 x i8]*> [#uses=0]
+@.str_544 = external global [49 x i8] ; <[49 x i8]*> [#uses=0]
+@.str_546 = external global [40 x i8] ; <[40 x i8]*> [#uses=0]
+@.str_550 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_551 = external global [40 x i8] ; <[40 x i8]*> [#uses=0]
+@.str_552 = external global [31 x i8] ; <[31 x i8]*> [#uses=0]
+@.str_553 = external global [52 x i8] ; <[52 x i8]*> [#uses=0]
+@.str_554 = external global [43 x i8] ; <[43 x i8]*> [#uses=0]
+@.str_555 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_556 = external global [26 x i8] ; <[26 x i8]*> [#uses=0]
+@.str_557 = external global [16 x i8] ; <[16 x i8]*> [#uses=0]
+@.str_559 = external global [27 x i8] ; <[27 x i8]*> [#uses=0]
+@.str_560 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_562 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_564 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_565 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_567 = external global [9 x i8] ; <[9 x i8]*> [#uses=0]
+@.str_568 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_570 = external global [9 x i8] ; <[9 x i8]*> [#uses=0]
+@.str_571 = external global [7 x i8] ; <[7 x i8]*> [#uses=0]
+@.str_572 = external global [30 x i8] ; <[30 x i8]*> [#uses=0]
+@.str_574 = external global [20 x i8] ; <[20 x i8]*> [#uses=0]
+@.str_576 = external global [21 x i8] ; <[21 x i8]*> [#uses=0]
+@.str_577 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_578 = external global [7 x i8] ; <[7 x i8]*> [#uses=0]
+@.str_579 = external global [7 x i8] ; <[7 x i8]*> [#uses=0]
+@.str_580 = external global [7 x i8] ; <[7 x i8]*> [#uses=0]
+@.str_581 = external global [36 x i8] ; <[36 x i8]*> [#uses=0]
+@.str_582 = external global [22 x i8] ; <[22 x i8]*> [#uses=0]
+@.str_583 = external global [24 x i8] ; <[24 x i8]*> [#uses=0]
+@.str_584 = external global [7 x i8] ; <[7 x i8]*> [#uses=0]
+@.str_586 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_587 = external global [28 x i8] ; <[28 x i8]*> [#uses=0]
+@.str_589 = external global [28 x i8] ; <[28 x i8]*> [#uses=0]
+@.str_590 = external global [39 x i8] ; <[39 x i8]*> [#uses=0]
+@.str_591 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_592 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_596 = external global [25 x i8] ; <[25 x i8]*> [#uses=0]
+@.str_597 = external global [27 x i8] ; <[27 x i8]*> [#uses=0]
+@.str_598 = external global [17 x i8] ; <[17 x i8]*> [#uses=0]
+@.str_599 = external global [17 x i8] ; <[17 x i8]*> [#uses=0]
+@.str_605 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_610 = external global [7 x i8] ; <[7 x i8]*> [#uses=0]
+@.str_613 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_616 = external global [4 x i8] ; <[4 x i8]*> [#uses=0]
+@.str_621 = external global [7 x i8] ; <[7 x i8]*> [#uses=0]
+@.str_622 = external global [24 x i8] ; <[24 x i8]*> [#uses=0]
+@.str_623 = external global [40 x i8] ; <[40 x i8]*> [#uses=0]
+@.str_624 = external global [24 x i8] ; <[24 x i8]*> [#uses=0]
+@.str_625 = external global [9 x i8] ; <[9 x i8]*> [#uses=0]
+@.str_626 = external global [3 x i8] ; <[3 x i8]*> [#uses=0]
+@.str_628 = external global [30 x i8] ; <[30 x i8]*> [#uses=0]
+@.str_629 = external global [14 x i8] ; <[14 x i8]*> [#uses=0]
+@.str_630 = external global [13 x i8] ; <[13 x i8]*> [#uses=0]
+@.str_631 = external global [24 x i8] ; <[24 x i8]*> [#uses=0]
+@.str_632 = external global [14 x i8] ; <[14 x i8]*> [#uses=0]
+@.str_633 = external global [14 x i8] ; <[14 x i8]*> [#uses=0]
+@.str_634 = external global [17 x i8] ; <[17 x i8]*> [#uses=0]
+@.str_635 = external global [14 x i8] ; <[14 x i8]*> [#uses=0]
+@.str_636 = external global [17 x i8] ; <[17 x i8]*> [#uses=0]
+@.str_637 = external global [16 x i8] ; <[16 x i8]*> [#uses=0]
+@.str_639 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_643 = external global [20 x i8] ; <[20 x i8]*> [#uses=0]
+@.str_644 = external global [8 x i8] ; <[8 x i8]*> [#uses=0]
+@.str_645 = external global [2 x i8] ; <[2 x i8]*> [#uses=0]
+@.str_646 = external global [1 x i8] ; <[1 x i8]*> [#uses=0]
+@.str_649 = external global [10 x i8] ; <[10 x i8]*> [#uses=0]
+@.str_654 = external global [2 x i8] ; <[2 x i8]*> [#uses=1]
+@.str_656 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_658 = external global [2 x i8] ; <[2 x i8]*> [#uses=0]
+@.str_660 = external global [2 x i8] ; <[2 x i8]*> [#uses=0]
+@.str_662 = external global [2 x i8] ; <[2 x i8]*> [#uses=0]
+@.str_664 = external global [2 x i8] ; <[2 x i8]*> [#uses=0]
+@.str_666 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_667 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_669 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_670 = external global [20 x i8] ; <[20 x i8]*> [#uses=0]
+@.str_671 = external global [7 x i8] ; <[7 x i8]*> [#uses=0]
+@.str_672 = external global [23 x i8] ; <[23 x i8]*> [#uses=0]
+@.str_674 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_675 = external global [39 x i8] ; <[39 x i8]*> [#uses=0]
+@.str_676 = external global [30 x i8] ; <[30 x i8]*> [#uses=0]
+@.str_680 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_682 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_683 = external global [37 x i8] ; <[37 x i8]*> [#uses=0]
+@.str_684 = external global [40 x i8] ; <[40 x i8]*> [#uses=0]
+@.str_685 = external global [40 x i8] ; <[40 x i8]*> [#uses=0]
+@.str_686 = external global [40 x i8] ; <[40 x i8]*> [#uses=0]
+@.str_687 = external global [40 x i8] ; <[40 x i8]*> [#uses=0]
+@.str_688 = external global [40 x i8] ; <[40 x i8]*> [#uses=0]
+@.str_689 = external global [40 x i8] ; <[40 x i8]*> [#uses=0]
+@.str_690 = external global [40 x i8] ; <[40 x i8]*> [#uses=0]
+@.str_691 = external global [3 x i8] ; <[3 x i8]*> [#uses=0]
+@.str_692 = external global [20 x i8] ; <[20 x i8]*> [#uses=0]
+@.str_694 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_695 = external global [19 x i8] ; <[19 x i8]*> [#uses=0]
+@.str_697 = external global [22 x i8] ; <[22 x i8]*> [#uses=0]
+@.str_698 = external global [28 x i8] ; <[28 x i8]*> [#uses=0]
+@.str_700 = external global [3 x i8] ; <[3 x i8]*> [#uses=0]
+@.str_701 = external global [19 x i8] ; <[19 x i8]*> [#uses=0]
+@.str_702 = external global [26 x i8] ; <[26 x i8]*> [#uses=0]
+@.str_703 = external global [8 x i8] ; <[8 x i8]*> [#uses=0]
+@.str_704 = external global [25 x i8] ; <[25 x i8]*> [#uses=0]
+@.str_707 = external global [4 x i8] ; <[4 x i8]*> [#uses=0]
+@.str_708 = external global [16 x i8] ; <[16 x i8]*> [#uses=0]
+@.str_709 = external global [8 x i8] ; <[8 x i8]*> [#uses=0]
+@.str_710 = external global [20 x i8] ; <[20 x i8]*> [#uses=0]
+@.str_711 = external global [37 x i8] ; <[37 x i8]*> [#uses=0]
+@.str_722 = external global [9 x i8] ; <[9 x i8]*> [#uses=0]
+@.str_723 = external global [34 x i8] ; <[34 x i8]*> [#uses=0]
+@.str_726 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_727 = external global [23 x i8] ; <[23 x i8]*> [#uses=0]
+@.str_728 = external global [10 x i8] ; <[10 x i8]*> [#uses=0]
+@.str_729 = external global [3 x i8] ; <[3 x i8]*> [#uses=0]
+@.str_730 = external global [12 x i8] ; <[12 x i8]*> [#uses=0]
+@.str_732 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_734 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_735 = external global [28 x i8] ; <[28 x i8]*> [#uses=0]
+@.str_736 = external global [61 x i8] ; <[61 x i8]*> [#uses=0]
+@.str_738 = external global [25 x i8] ; <[25 x i8]*> [#uses=0]
+@.str_739 = external global [22 x i8] ; <[22 x i8]*> [#uses=0]
+@.str_740 = external global [8 x i8] ; <[8 x i8]*> [#uses=0]
+@.str_741 = external global [25 x i8] ; <[25 x i8]*> [#uses=0]
+@.str_742 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_743 = external global [22 x i8] ; <[22 x i8]*> [#uses=0]
+@.str_744 = external global [31 x i8] ; <[31 x i8]*> [#uses=0]
+@.str_745 = external global [42 x i8] ; <[42 x i8]*> [#uses=0]
+@.str_747 = external global [7 x i8] ; <[7 x i8]*> [#uses=0]
+@.str_748 = external global [9 x i8] ; <[9 x i8]*> [#uses=0]
+@.str_750 = external global [3 x i8] ; <[3 x i8]*> [#uses=0]
+@"\01text_move.0__" = external global [10 x i8] ; <[10 x i8]*> [#uses=0]
+@"\01new_text.1__" = external global [10 x i8] ; <[10 x i8]*> [#uses=0]
+@.str_1.upgrd.99 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@"\01text_move.2__" = external global [10 x i8] ; <[10 x i8]*> [#uses=0]
+@.str_1.upgrd.100 = external global [15 x i8] ; <[15 x i8]*> [#uses=0]
+@.str_2.upgrd.101 = external global [19 x i8] ; <[19 x i8]*> [#uses=0]
+@.str_3.upgrd.102 = external global [16 x i8] ; <[16 x i8]*> [#uses=0]
+@.str_130.upgrd.103 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_231.upgrd.104 = external global [47 x i8] ; <[47 x i8]*> [#uses=0]
+@.str_3.upgrd.105 = external global [27 x i8] ; <[27 x i8]*> [#uses=0]
+@.str_4.upgrd.106 = external global [27 x i8] ; <[27 x i8]*> [#uses=0]
+@.str_7.upgrd.107 = external global [30 x i8] ; <[30 x i8]*> [#uses=0]
+@"\01hashing_pawns.0__" = external global i32 ; <i32*> [#uses=0]
+@"\01hashing_opening.1__" = external global i32 ; <i32*> [#uses=0]
+@"\01hashing_middle_game.2__" = external global i32 ; <i32*> [#uses=0]
+@"\01hashing_end_game.3__" = external global i32 ; <i32*> [#uses=0]
+@"\01last_wtm.4__" = external global i32 ; <i32*> [#uses=0]
+@.str_1.upgrd.108 = external global [37 x i8] ; <[37 x i8]*> [#uses=0]
+@.str_1.upgrd.109 = external global [8 x i8] ; <[8 x i8]*> [#uses=0]
+@.str_1.upgrd.110 = external global [19 x i8] ; <[19 x i8]*> [#uses=0]
+@.str_2.upgrd.111 = external global [16 x i8] ; <[16 x i8]*> [#uses=0]
+@.str_3.upgrd.112 = external global [30 x i8] ; <[30 x i8]*> [#uses=0]
+@.str_4.upgrd.113 = external global [30 x i8] ; <[30 x i8]*> [#uses=0]
+@.str_5.upgrd.114 = external global [10 x i8] ; <[10 x i8]*> [#uses=0]
+@.str_6.upgrd.115 = external global [25 x i8] ; <[25 x i8]*> [#uses=0]
+@.str_7.upgrd.116 = external global [14 x i8] ; <[14 x i8]*> [#uses=0]
+@.str_934 = external global [8 x i8] ; <[8 x i8]*> [#uses=0]
+@.str_1.upgrd.117 = external global [28 x i8] ; <[28 x i8]*> [#uses=0]
+@.str_3.upgrd.118 = external global [9 x i8] ; <[9 x i8]*> [#uses=0]
+@.str_1.upgrd.119 = external global [38 x i8] ; <[38 x i8]*> [#uses=0]
+@.str_2.upgrd.120 = external global [7 x i8] ; <[7 x i8]*> [#uses=0]
+@.str_4.upgrd.121 = external global [28 x i8] ; <[28 x i8]*> [#uses=0]
+@.str_5.upgrd.122 = external global [40 x i8] ; <[40 x i8]*> [#uses=0]
+@.str_1.upgrd.123 = external global [11 x i8] ; <[11 x i8]*> [#uses=0]
+@.str_2.upgrd.124 = external global [27 x i8] ; <[27 x i8]*> [#uses=0]
+@.str_7.upgrd.125 = external global [29 x i8] ; <[29 x i8]*> [#uses=0]
+@.str_10.upgrd.126 = external global [34 x i8] ; <[34 x i8]*> [#uses=0]
+@.str_1141 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_12.upgrd.127 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_14.upgrd.128 = external global [20 x i8] ; <[20 x i8]*> [#uses=0]
+@.str_1542 = external global [17 x i8] ; <[17 x i8]*> [#uses=0]
+@.ctor_1.upgrd.129 = external global [25 x i8] ; <[25 x i8]*> [#uses=0]
+@.str_1.upgrd.130 = external global [33 x i8] ; <[33 x i8]*> [#uses=0]
+@.str_3.upgrd.131 = external global [21 x i8] ; <[21 x i8]*> [#uses=0]
+@.str_4.upgrd.132 = external global [25 x i8] ; <[25 x i8]*> [#uses=0]
+@.str_5.upgrd.133 = external global [26 x i8] ; <[26 x i8]*> [#uses=0]
+@.str_6.upgrd.134 = external global [55 x i8] ; <[55 x i8]*> [#uses=0]
+@.str_143.upgrd.135 = external global [33 x i8] ; <[33 x i8]*> [#uses=0]
+@.str_2.upgrd.136 = external global [15 x i8] ; <[15 x i8]*> [#uses=0]
+@.str_1.upgrd.137 = external global [22 x i8] ; <[22 x i8]*> [#uses=0]
+@.str_2.upgrd.138 = external global [51 x i8] ; <[51 x i8]*> [#uses=0]
+@bit_move44 = external global i64 ; <i64*> [#uses=0]
+@.str_1.upgrd.139 = external global [7 x i8] ; <[7 x i8]*> [#uses=0]
+@.str_248.upgrd.140 = external global [3 x i8] ; <[3 x i8]*> [#uses=0]
+@.str_349.upgrd.141 = external global [3 x i8] ; <[3 x i8]*> [#uses=0]
+@.ctor_1.upgrd.142 = external global [46 x i8] ; <[46 x i8]*> [#uses=0]
+@.str_5.upgrd.143 = external global [43 x i8] ; <[43 x i8]*> [#uses=0]
+@.str_6.upgrd.144 = external global [9 x i8] ; <[9 x i8]*> [#uses=0]
+@.str_751 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_852 = external global [3 x i8] ; <[3 x i8]*> [#uses=0]
+@.str_9.upgrd.145 = external global [42 x i8] ; <[42 x i8]*> [#uses=0]
+@.str_10.upgrd.146 = external global [41 x i8] ; <[41 x i8]*> [#uses=0]
+@"\01out.0__" = external global [10 x i8] ; <[10 x i8]*> [#uses=0]
+@.str_1153 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_12.upgrd.147 = external global [9 x i8] ; <[9 x i8]*> [#uses=0]
+@.str_13.upgrd.148 = external global [9 x i8] ; <[9 x i8]*> [#uses=0]
+@.str_14.upgrd.149 = external global [8 x i8] ; <[8 x i8]*> [#uses=0]
+@.str_15.upgrd.150 = external global [8 x i8] ; <[8 x i8]*> [#uses=0]
+@.str_16.upgrd.151 = external global [10 x i8] ; <[10 x i8]*> [#uses=0]
+@.str_17.upgrd.152 = external global [10 x i8] ; <[10 x i8]*> [#uses=0]
+@"\01out.1__" = external global [10 x i8] ; <[10 x i8]*> [#uses=0]
+@.str_18.upgrd.153 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_19.upgrd.154 = external global [8 x i8] ; <[8 x i8]*> [#uses=0]
+@.str_20.upgrd.155 = external global [8 x i8] ; <[8 x i8]*> [#uses=0]
+@.str_21.upgrd.156 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_2254 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_2355 = external global [8 x i8] ; <[8 x i8]*> [#uses=0]
+@.str_24.upgrd.157 = external global [9 x i8] ; <[9 x i8]*> [#uses=0]
+@.str_25.upgrd.158 = external global [45 x i8] ; <[45 x i8]*> [#uses=0]
+@.str_26.upgrd.159 = external global [24 x i8] ; <[24 x i8]*> [#uses=0]
+@"\01out.2__" = external global [10 x i8] ; <[10 x i8]*> [#uses=0]
+@.str_31.upgrd.160 = external global [7 x i8] ; <[7 x i8]*> [#uses=0]
+@"\01out.3__" = external global [10 x i8] ; <[10 x i8]*> [#uses=0]
+@"\01out.4__" = external global [10 x i8] ; <[10 x i8]*> [#uses=0]
+@.str_3457 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_35.upgrd.161 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_36.upgrd.162 = external global [10 x i8] ; <[10 x i8]*> [#uses=0]
+@.str_37.upgrd.163 = external global [40 x i8] ; <[40 x i8]*> [#uses=0]
+@.str_41.upgrd.164 = external global [10 x i8] ; <[10 x i8]*> [#uses=0]
+@.str_45.upgrd.165 = external global [55 x i8] ; <[55 x i8]*> [#uses=0]
+@"\01save_book_selection_width.5__" = external global i32 ; <i32*> [#uses=0]
+@"\01save_book_random.6__" = external global i32 ; <i32*> [#uses=0]
+@"\01save_whisper.7__" = external global i32 ; <i32*> [#uses=0]
+@"\01save_kibitz.8__" = external global i32 ; <i32*> [#uses=0]
+@"\01save_channel.9__" = external global i32 ; <i32*> [#uses=0]
+@"\01save_resign.10" = external global i32 ; <i32*> [#uses=0]
+@"\01save_resign_count.11" = external global i32 ; <i32*> [#uses=0]
+@"\01save_draw_count.12" = external global i32 ; <i32*> [#uses=0]
+@"\01save_learning.13" = external global i32 ; <i32*> [#uses=0]
+@.str_49.upgrd.166 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_51.upgrd.167 = external global [44 x i8] ; <[44 x i8]*> [#uses=0]
+@"\01x.14" = external global [55 x i32] ; <[55 x i32]*> [#uses=0]
+@"\01init.15.b" = external global i1 ; <i1*> [#uses=0]
+@"\01y.16" = external global [55 x i32] ; <[55 x i32]*> [#uses=0]
+@"\01j.17" = external global i32 ; <i32*> [#uses=0]
+@"\01k.18" = external global i32 ; <i32*> [#uses=0]
+@.str_52.upgrd.168 = external global [50 x i8] ; <[50 x i8]*> [#uses=0]
+@"\01text.19" = external global [128 x i8] ; <[128 x i8]*> [#uses=0]
+@.str_5659 = external global [12 x i8] ; <[12 x i8]*> [#uses=0]
+@.str_62.upgrd.169 = external global [14 x i8] ; <[14 x i8]*> [#uses=0]
+@.str_6662 = external global [5 x i8] ; <[5 x i8]*> [#uses=0]
+@.str_68.upgrd.170 = external global [22 x i8] ; <[22 x i8]*> [#uses=0]
+@.str_69.upgrd.171 = external global [16 x i8] ; <[16 x i8]*> [#uses=0]
+@.str_70 = external global [16 x i8] ; <[16 x i8]*> [#uses=0]
+@.str_72.upgrd.172 = external global [35 x i8] ; <[35 x i8]*> [#uses=0]
+@.str_74.upgrd.173 = external global [23 x i8] ; <[23 x i8]*> [#uses=0]
+@.str_76 = external global [24 x i8] ; <[24 x i8]*> [#uses=0]
+@.str_78 = external global [57 x i8] ; <[57 x i8]*> [#uses=0]
+@.str_80 = external global [45 x i8] ; <[45 x i8]*> [#uses=0]
+@.str_82 = external global [22 x i8] ; <[22 x i8]*> [#uses=0]
+@.str_84.upgrd.174 = external global [10 x i8] ; <[10 x i8]*> [#uses=0]
+@.str_86.upgrd.175 = external global [19 x i8] ; <[19 x i8]*> [#uses=0]
+@.str_88 = external global [7 x i8] ; <[7 x i8]*> [#uses=0]
+@.str_90.upgrd.176 = external global [31 x i8] ; <[31 x i8]*> [#uses=0]
+@.str_92.upgrd.177 = external global [19 x i8] ; <[19 x i8]*> [#uses=0]
+@.str_94.upgrd.178 = external global [30 x i8] ; <[30 x i8]*> [#uses=0]
+@.str_95.upgrd.179 = external global [48 x i8] ; <[48 x i8]*> [#uses=0]
+@.str_97.upgrd.180 = external global [18 x i8] ; <[18 x i8]*> [#uses=0]
+@.str_98.upgrd.181 = external global [36 x i8] ; <[36 x i8]*> [#uses=0]
+@.str_100.upgrd.182 = external global [22 x i8] ; <[22 x i8]*> [#uses=0]
+@.str_163.upgrd.183 = external global [38 x i8] ; <[38 x i8]*> [#uses=0]
+@.str_2.upgrd.184 = external global [38 x i8] ; <[38 x i8]*> [#uses=0]
+@.str_3.upgrd.185 = external global [50 x i8] ; <[50 x i8]*> [#uses=0]
+@.str_4.upgrd.186 = external global [50 x i8] ; <[50 x i8]*> [#uses=0]
+@.str_5.upgrd.187 = external global [51 x i8] ; <[51 x i8]*> [#uses=0]
+@.str_6.upgrd.188 = external global [30 x i8] ; <[30 x i8]*> [#uses=0]
+@.str_7.upgrd.189 = external global [28 x i8] ; <[28 x i8]*> [#uses=0]
+@.str_8.upgrd.190 = external global [33 x i8] ; <[33 x i8]*> [#uses=0]
+@.str_9.upgrd.191 = external global [54 x i8] ; <[54 x i8]*> [#uses=0]
+@.str_10.upgrd.192 = external global [47 x i8] ; <[47 x i8]*> [#uses=0]
+@.str_11.upgrd.193 = external global [46 x i8] ; <[46 x i8]*> [#uses=0]
+@.str_12.upgrd.194 = external global [47 x i8] ; <[47 x i8]*> [#uses=0]
+@.str_13.upgrd.195 = external global [46 x i8] ; <[46 x i8]*> [#uses=0]
+@.str_14.upgrd.196 = external global [35 x i8] ; <[35 x i8]*> [#uses=0]
+@.str_15.upgrd.197 = external global [36 x i8] ; <[36 x i8]*> [#uses=0]
+@.str_16.upgrd.198 = external global [35 x i8] ; <[35 x i8]*> [#uses=0]
+@.str_17.upgrd.199 = external global [36 x i8] ; <[36 x i8]*> [#uses=0]
+@.str_18.upgrd.200 = external global [35 x i8] ; <[35 x i8]*> [#uses=0]
+@.str_19.upgrd.201 = external global [41 x i8] ; <[41 x i8]*> [#uses=0]
+@.str_20.upgrd.202 = external global [36 x i8] ; <[36 x i8]*> [#uses=0]
+@.str_22.upgrd.203 = external global [35 x i8] ; <[35 x i8]*> [#uses=0]
+@.str_23.upgrd.204 = external global [39 x i8] ; <[39 x i8]*> [#uses=0]
+@.str_24.upgrd.205 = external global [36 x i8] ; <[36 x i8]*> [#uses=0]
+@.str_26.upgrd.206 = external global [35 x i8] ; <[35 x i8]*> [#uses=0]
+@.str_27.upgrd.207 = external global [40 x i8] ; <[40 x i8]*> [#uses=0]
+@.str_28.upgrd.208 = external global [36 x i8] ; <[36 x i8]*> [#uses=0]
+@.str_30.upgrd.209 = external global [35 x i8] ; <[35 x i8]*> [#uses=0]
+@.str_31.upgrd.210 = external global [40 x i8] ; <[40 x i8]*> [#uses=0]
+@.str_32.upgrd.211 = external global [36 x i8] ; <[36 x i8]*> [#uses=0]
+@.str_33.upgrd.212 = external global [40 x i8] ; <[40 x i8]*> [#uses=0]
+@.str_34.upgrd.213 = external global [39 x i8] ; <[39 x i8]*> [#uses=0]
+@.str_3565 = external global [40 x i8] ; <[40 x i8]*> [#uses=0]
+@.str_36.upgrd.214 = external global [39 x i8] ; <[39 x i8]*> [#uses=0]
+@.str_37.upgrd.215 = external global [41 x i8] ; <[41 x i8]*> [#uses=0]
+@.str_38.upgrd.216 = external global [41 x i8] ; <[41 x i8]*> [#uses=0]
+@.str_39 = external global [39 x i8] ; <[39 x i8]*> [#uses=0]
+@.str_40 = external global [39 x i8] ; <[39 x i8]*> [#uses=0]
+@.str_41.upgrd.217 = external global [40 x i8] ; <[40 x i8]*> [#uses=0]
+@.str_42.upgrd.218 = external global [39 x i8] ; <[39 x i8]*> [#uses=0]
+@.str_43.upgrd.219 = external global [41 x i8] ; <[41 x i8]*> [#uses=0]
+@.str_44.upgrd.220 = external global [41 x i8] ; <[41 x i8]*> [#uses=0]
+@.str_45.upgrd.221 = external global [39 x i8] ; <[39 x i8]*> [#uses=0]
+@.str_46.upgrd.222 = external global [35 x i8] ; <[35 x i8]*> [#uses=0]
+@.str_47.upgrd.223 = external global [50 x i8] ; <[50 x i8]*> [#uses=0]
+@.str_48.upgrd.224 = external global [26 x i8] ; <[26 x i8]*> [#uses=0]
+@.str_49.upgrd.225 = external global [31 x i8] ; <[31 x i8]*> [#uses=0]
+@.str_50.upgrd.226 = external global [15 x i8] ; <[15 x i8]*> [#uses=0]
+@.str_51.upgrd.227 = external global [6 x i8] ; <[6 x i8]*> [#uses=0]
+@.str_52.upgrd.228 = external global [24 x i8] ; <[24 x i8]*> [#uses=0]
+@.str_53.upgrd.229 = external global [9 x i8] ; <[9 x i8]*> [#uses=0]
+
+declare i64 @AttacksFrom(i32, i32)
+
+declare i64 @AttacksTo(i32)
+
+declare i32 @Attacked(i32, i32)
+
+declare i64 @Mask(i32)
+
+declare i32 @PopCnt(i64)
+
+declare i32 @FirstOne(i64)
+
+declare i32 @LastOne(i64)
+
+declare i32 @DrawScore()
+
+declare i32 @Drawn(i32)
+
+declare i8* @strchr(i8*, i32)
+
+declare i32 @strcmp(i8*, i8*)
+
+declare i32 @strlen(i8*)
+
+declare i32 @printf(i8*, ...)
+
+declare void @Edit()
+
+declare void @llvm.memcpy(i8*, i8*, i32, i32)
+
+declare i32 @fflush(%struct.__sFILE*)
+
+declare i32 @Read(i32, i8*)
+
+declare i32 @ReadParse(i8*, i8**, i8*)
+
+declare void @DisplayChessBoard(%struct.__sFILE*, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i32, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8)
+
+declare void @SetChessBitBoards(%typedef.SEARCH_POSITION*)
+
+declare i32 @EnPrise(i32, i32)
+
+declare i64 @SwapXray(i64, i32, i32)
+
+declare i32 @Evaluate(i32, i32, i32, i32)
+
+declare i32 @EvaluateMate()
+
+declare i32 @EvaluatePawns()
+
+declare i32 @EvaluatePassedPawns()
+
+declare i32 @EvaluatePassedPawnRaces(i32)
+
+declare i32 @Swap(i32, i32, i32)
+
+declare i32 @EvaluateDevelopment(i32)
+
+declare i32 @EvaluateDraws()
+
+declare i32 @HasOpposition(i32, i32, i32)
+
+declare void @HistoryBest(i32, i32, i32)
+
+declare void @HistoryRefutation(i32, i32, i32)
+
+declare i32 @sprintf(i8*, i8*, ...)
+
+declare void @Initialize(i32)
+
+declare void @InitializeZeroMasks()
+
+declare void @InitializeMasks()
+
+declare void @InitializeRandomHash()
+
+declare void @InitializeAttackBoards()
+
+declare void @InitializePawnMasks()
+
+declare void @InitializePieceMasks()
+
+declare void @InitializeChessBoard(%typedef.SEARCH_POSITION*)
+
+declare %struct.__sFILE* @fopen(i8*, i8*)
+
+define i32 @Option() {
+no_exit.53.outer:
+ %tmp.4747 = shl i32 7, 3 ; <i32> [#uses=1]
+ %tmp.4779 = icmp eq %struct.__sFILE* getelementptr ([0 x %struct.__sFILE]* @__sF, i32 0, i32 1), null ; <i1> [#uses=2]
+ br label %no_exit.53
+no_exit.53: ; preds = %else.166, %else.168, %then.360, %no_exit.53.outer
+ %file.2.3.3.ph = phi i32 [ 0, %no_exit.53.outer ], [ %inc.551688, %then.360 ], [ %inc.551701, %else.168 ], [ %file.2.3.3.ph, %else.166 ] ; <i32> [#uses=2]
+ %nempty.5.3.ph = phi i32 [ 0, %no_exit.53.outer ], [ %nempty.5.3, %then.360 ], [ %nempty.5.3, %else.168 ], [ %nempty.5.3.ph, %else.166 ] ; <i32> [#uses=2]
+ %indvar2053.ui = phi i32 [ 0, %no_exit.53.outer ], [ 0, %then.360 ], [ 0, %else.168 ], [ %indvar.next2054, %else.166 ] ; <i32> [#uses=2]
+ %indvar2053 = bitcast i32 %indvar2053.ui to i32 ; <i32> [#uses=2]
+ %file.2.3.3 = add i32 %indvar2053, %file.2.3.3.ph ; <i32> [#uses=4]
+ %nempty.5.3 = add i32 %indvar2053, %nempty.5.3.ph ; <i32> [#uses=3]
+ %tmp.4749 = add i32 %file.2.3.3, %tmp.4747 ; <i32> [#uses=1]
+ %tmp.4750 = getelementptr %typedef.CHESS_POSITION* @search, i32 0, i32 22, i32 %tmp.4749 ; <i8*> [#uses=3]
+ %tmp.4751 = load i8* %tmp.4750 ; <i8> [#uses=1]
+ %tmp.4752 = icmp eq i8 %tmp.4751, 0 ; <i1> [#uses=1]
+ br i1 %tmp.4752, label %else.166, label %then.357
+then.357: ; preds = %no_exit.53
+ %tmp.4755 = icmp eq i32 %nempty.5.3, 0 ; <i1> [#uses=1]
+ br i1 %tmp.4755, label %endif.358, label %then.358
+then.358: ; preds = %then.357
+ ret i32 0
+endif.358: ; preds = %then.357
+ br i1 %tmp.4779, label %else.168, label %then.360
+then.360: ; preds = %endif.358
+ %tmp.4791 = load i8* %tmp.4750 ; <i8> [#uses=1]
+ %tmp.4792 = sext i8 %tmp.4791 to i32 ; <i32> [#uses=1]
+ %tmp.4793 = add i32 %tmp.4792, 7 ; <i32> [#uses=1]
+ %tmp.4794 = getelementptr [15 x i8]* null, i32 0, i32 %tmp.4793 ; <i8*> [#uses=1]
+ %tmp.4795 = load i8* %tmp.4794 ; <i8> [#uses=1]
+ %tmp.4796 = sext i8 %tmp.4795 to i32 ; <i32> [#uses=1]
+ %tmp.4781 = call i32 (%struct.__sFILE*, i8*, ...)* @fprintf( %struct.__sFILE* getelementptr ([0 x %struct.__sFILE]* @__sF, i32 0, i32 1), i8* getelementptr ([3 x i8]* @.str_36, i32 0, i32 0), i32 %tmp.4796 ) ; <i32> [#uses=0]
+ %inc.551688 = add i32 %file.2.3.3, 1 ; <i32> [#uses=2]
+ %tmp.47421699 = icmp slt i32 %inc.551688, 8 ; <i1> [#uses=1]
+ br i1 %tmp.47421699, label %no_exit.53, label %loopexit.56
+else.168: ; preds = %endif.358
+ %tmp.4799 = call i32 @strlen( i8* getelementptr ([80 x i8]* @initial_position, i32 0, i32 0) ) ; <i32> [#uses=2]
+ %gep.upgrd.230 = zext i32 %tmp.4799 to i64 ; <i64> [#uses=1]
+ %tmp.4802 = getelementptr [80 x i8]* @initial_position, i32 0, i64 %gep.upgrd.230 ; <i8*> [#uses=1]
+ %tmp.4811 = load i8* %tmp.4750 ; <i8> [#uses=1]
+ %tmp.4812 = sext i8 %tmp.4811 to i32 ; <i32> [#uses=1]
+ %tmp.4813 = add i32 %tmp.4812, 7 ; <i32> [#uses=1]
+ %tmp.4814 = getelementptr [15 x i8]* null, i32 0, i32 %tmp.4813 ; <i8*> [#uses=1]
+ %tmp.4815 = load i8* %tmp.4814 ; <i8> [#uses=1]
+ store i8 %tmp.4815, i8* %tmp.4802
+ %tmp.4802.sum = add i32 %tmp.4799, 1 ; <i32> [#uses=1]
+ %gep.upgrd.231 = zext i32 %tmp.4802.sum to i64 ; <i64> [#uses=1]
+ %tmp.4802.end = getelementptr [80 x i8]* @initial_position, i32 0, i64 %gep.upgrd.231 ; <i8*> [#uses=1]
+ store i8 0, i8* %tmp.4802.end
+ %inc.551701 = add i32 %file.2.3.3, 1 ; <i32> [#uses=2]
+ %tmp.47421703 = icmp slt i32 %inc.551701, 8 ; <i1> [#uses=1]
+ br i1 %tmp.47421703, label %no_exit.53, label %loopexit.56
+else.166: ; preds = %no_exit.53
+ %inc.55 = add i32 %file.2.3.3, 1 ; <i32> [#uses=1]
+ %tmp.47421705 = icmp slt i32 %inc.55, 8 ; <i1> [#uses=1]
+ %indvar.next2054 = add i32 %indvar2053.ui, 1 ; <i32> [#uses=1]
+ br i1 %tmp.47421705, label %no_exit.53, label %loopexit.56
+loopexit.56: ; preds = %else.166, %else.168, %then.360
+ br i1 %tmp.4779, label %else.169, label %then.361
+then.361: ; preds = %loopexit.56
+ %tmp.4822 = call i32 @fwrite( i8* getelementptr ([2 x i8]* @.str_654, i32 0, i32 0), i32 1, i32 1, %struct.__sFILE* getelementptr ([0 x %struct.__sFILE]* @__sF, i32 0, i32 1) ) ; <i32> [#uses=0]
+ %dec.101707 = add i32 7, -1 ; <i32> [#uses=1]
+ %tmp.47391709 = icmp sgt i32 %dec.101707, -1 ; <i1> [#uses=0]
+ ret i32 0
+else.169: ; preds = %loopexit.56
+ %tmp.4827 = call i32 @strlen( i8* getelementptr ([80 x i8]* @initial_position, i32 0, i32 0) ) ; <i32> [#uses=2]
+ %gep.upgrd.232 = zext i32 %tmp.4827 to i64 ; <i64> [#uses=1]
+ %tmp.4830 = getelementptr [80 x i8]* @initial_position, i32 0, i64 %gep.upgrd.232 ; <i8*> [#uses=1]
+ store i8 47, i8* %tmp.4830
+ %tmp.4830.sum = add i32 %tmp.4827, 1 ; <i32> [#uses=1]
+ %gep.upgrd.233 = zext i32 %tmp.4830.sum to i64 ; <i64> [#uses=1]
+ %tmp.4830.end = getelementptr [80 x i8]* @initial_position, i32 0, i64 %gep.upgrd.233 ; <i8*> [#uses=1]
+ store i8 0, i8* %tmp.4830.end
+ %dec.10 = add i32 7, -1 ; <i32> [#uses=1]
+ %tmp.47391711 = icmp sgt i32 %dec.10, -1 ; <i1> [#uses=0]
+ ret i32 0
+}
+
+declare void @InitializeHashTables()
+
+declare i32 @InitializeFindAttacks(i32, i32, i32)
+
+declare void @SetBoard(i32, i8**, i32)
+
+declare i32 @KingPawnSquare(i32, i32, i32, i32)
+
+declare i64 @Random64()
+
+declare i32 @Random32()
+
+declare i8* @strcpy(i8*, i8*)
+
+declare i32 @InputMove(i8*, i32, i32, i32, i32)
+
+declare i32 @InputMoveICS(i8*, i32, i32, i32, i32)
+
+declare i32* @GenerateCaptures(i32, i32, i32*)
+
+declare i32* @GenerateNonCaptures(i32, i32, i32*)
+
+declare void @MakeMove(i32, i32, i32)
+
+declare void @UnMakeMove(i32, i32, i32)
+
+declare void @Interrupt(i32)
+
+declare i32 @GetTime(i32)
+
+declare i8* @DisplayTime(i32)
+
+declare i8* @OutputMoveICS(i32*)
+
+declare void @Delay(i32)
+
+declare i32 @fprintf(%struct.__sFILE*, i8*, ...)
+
+declare void @SignalInterrupt(i32)
+
+declare void (i32)* @signal(i32, void (i32)*)
+
+declare i32 @Iterate(i32, i32, i32)
+
+declare void @PreEvaluate(i32)
+
+declare void @RootMoveList(i32)
+
+declare i8* @OutputMove(i32*, i32, i32)
+
+declare void @TimeSet(i32)
+
+declare void @StorePV(i32, i32)
+
+declare i32 @SearchRoot(i32, i32, i32, i32)
+
+declare void @Whisper(i32, i32, i32, i32, i32, i32, i8*)
+
+declare i8* @DisplayEvaluation(i32)
+
+declare i32 @LookUp(i32, i32, i32, i32*, i32*)
+
+declare i8* @strstr(i8*, i8*)
+
+declare i32 @main(i32, i8**)
+
+declare void @__main()
+
+declare i32 @atoi(i8*)
+
+declare void @NewGame(i32)
+
+declare i32 @Ponder(i32)
+
+declare i32 @fseek(%struct.__sFILE*, i32, i32)
+
+declare void @MakeMoveRoot(i32, i32)
+
+declare i32 @RepetitionDraw(i32)
+
+declare i8* @Reverse()
+
+declare i8* @Normal()
+
+declare void @TimeAdjust(i32, i32)
+
+declare void @ValidatePosition(i32, i32, i8*)
+
+declare i32 @ValidMove(i32, i32, i32)
+
+declare i32* @GenerateCheckEvasions(i32, i32, i32*)
+
+declare i64 @InterposeSquares(i32, i32, i32)
+
+declare i32 @PinnedOnKing(i32, i32)
+
+declare i32 @NextMove(i32, i32)
+
+declare i32 @NextEvasion(i32, i32)
+
+declare i32 @NextRootMove(i32)
+
+declare i32 @TimeCheck(i32)
+
+declare i32 @strncmp(i8*, i8*, i32)
+
+declare void @exit(i32)
+
+declare i32 @OptionMatch(i8*, i8*)
+
+declare i32 @fclose(%struct.__sFILE*)
+
+declare i32 @ParseTime(i8*)
+
+declare i8* @DisplayHHMM(i32)
+
+declare void @DisplayPieceBoards(i32*, i32*)
+
+declare i32 @fscanf(%struct.__sFILE*, i8*, ...)
+
+declare i32 @feof(%struct.__sFILE*)
+
+declare i8* @fgets(i8*, i32, %struct.__sFILE*)
+
+declare i32 @remove(i8*)
+
+declare i32 @__tolower(i32)
+
+declare i32 @clock()
+
+declare void @OptionPerft(i32, i32, i32)
+
+declare void @Phase()
+
+declare i32 @ReadNextMove(i8*, i32, i32)
+
+declare i32 @time(i32*)
+
+declare %struct.tm* @localtime(i32*)
+
+declare i8* @gets(i8*)
+
+declare i32 @OutputGood(i8*, i32, i32)
+
+declare i32 @CheckInput()
+
+declare void @ClearHashTables()
+
+declare i32 @Quiesce(i32, i32, i32, i32)
+
+declare void @SearchTrace(i32, i32, i32, i32, i32, i8*, i32)
+
+declare i32 @RepetitionCheck(i32, i32)
+
+declare void @ResignOrDraw(i32, i32)
+
+declare i32 @Search(i32, i32, i32, i32, i32, i32)
+
+declare void @StoreRefutation(i32, i32, i32, i32)
+
+declare void @StoreBest(i32, i32, i32, i32, i32)
+
+declare void @SearchOutput(i32, i32)
+
+declare i32 @strspn(i8*, i8*)
+
+declare i32 @isatty(i32)
+
+declare i32 @fileno(%struct.__sFILE*)
+
+declare void @llvm.memset(i8*, i8, i32, i32)
+
+declare i32 @select(i32, %struct.fd_set*, %struct.fd_set*, %struct.fd_set*, %struct.timeval*)
+
+declare void @DisplayBitBoard(i64)
+
+declare i8* @DisplayEvaluationWhisper(i32)
+
+declare i8* @DisplayTimeWhisper(i32)
+
+declare void @Display64bitWord(i64)
+
+declare void @Display2BitBoards(i64, i64)
+
+declare void @DisplayChessMove(i8*, i32)
+
+declare void @llvm.memmove(i8*, i8*, i32, i32)
+
+declare void @ReadClear()
+
+declare i8* @strtok(i8*, i8*)
+
+declare i32 @SpecReadRaw()
+
+declare i32 @read(i32, i8*, i32)
+
+declare i32* @__error()
+
+declare i32 @ReadChessMove(%struct.__sFILE*, i32, i32)
+
+declare i64 @ValidateComputeBishopAttacks(i32)
+
+declare i64 @ValidateComputeRookAttacks(i32)
+
+declare i8* @memchr(i8*, i32, i32)
+
+declare i32 @fwrite(i8*, i32, i32, %struct.__sFILE*)
diff --git a/test/Transforms/LoopUnswitch/2006-02-22-UnswitchCrash.ll b/test/Transforms/LoopUnswitch/2006-02-22-UnswitchCrash.ll
new file mode 100644
index 0000000000000..916cba20b5292
--- /dev/null
+++ b/test/Transforms/LoopUnswitch/2006-02-22-UnswitchCrash.ll
@@ -0,0 +1,32 @@
+; RUN: llvm-as < %s | opt -loop-unswitch -disable-output
+
+define void @sort_Eq(i32* %S2) {
+entry:
+ br i1 false, label %list_Length.exit, label %cond_true.i
+cond_true.i: ; preds = %entry
+ ret void
+list_Length.exit: ; preds = %entry
+ br i1 false, label %list_Length.exit9, label %cond_true.i5
+cond_true.i5: ; preds = %list_Length.exit
+ ret void
+list_Length.exit9: ; preds = %list_Length.exit
+ br i1 false, label %bb78, label %return
+bb44: ; preds = %bb78, %cond_next68
+ br i1 %tmp49.not, label %bb62, label %bb62.loopexit
+bb62.loopexit: ; preds = %bb44
+ br label %bb62
+bb62: ; preds = %bb62.loopexit, %bb44
+ br i1 false, label %return.loopexit, label %cond_next68
+cond_next68: ; preds = %bb62
+ br i1 false, label %return.loopexit, label %bb44
+bb78: ; preds = %list_Length.exit9
+ %tmp49.not = icmp eq i32* %S2, null ; <i1> [#uses=1]
+ br label %bb44
+return.loopexit: ; preds = %cond_next68, %bb62
+ %retval.0.ph = phi i32 [ 1, %cond_next68 ], [ 0, %bb62 ] ; <i32> [#uses=1]
+ br label %return
+return: ; preds = %return.loopexit, %list_Length.exit9
+ %retval.0 = phi i32 [ 0, %list_Length.exit9 ], [ %retval.0.ph, %return.loopexit ] ; <i32> [#uses=0]
+ ret void
+}
+
diff --git a/test/Transforms/LoopUnswitch/2006-06-13-SingleEntryPHI.ll b/test/Transforms/LoopUnswitch/2006-06-13-SingleEntryPHI.ll
new file mode 100644
index 0000000000000..60e464f3acb6c
--- /dev/null
+++ b/test/Transforms/LoopUnswitch/2006-06-13-SingleEntryPHI.ll
@@ -0,0 +1,35 @@
+; RUN: llvm-as < %s | opt -loop-unswitch -disable-output
+
+ %struct.BLEND_MAP = type { i16, i16, i16, i32, %struct.BLEND_MAP_ENTRY* }
+ %struct.BLEND_MAP_ENTRY = type { float, i8, { [5 x float], [4 x i8] } }
+ %struct.TPATTERN = type { i16, i16, i16, i32, float, float, float, %struct.WARP*, %struct.TPATTERN*, %struct.BLEND_MAP*, { %struct.anon, [4 x i8] } }
+ %struct.TURB = type { i16, %struct.WARP*, [3 x double], i32, float, float }
+ %struct.WARP = type { i16, %struct.WARP* }
+ %struct.anon = type { float, [3 x double] }
+
+define void @Parse_Pattern() {
+entry:
+ br label %bb1096.outer20
+bb671: ; preds = %cond_true1099
+ br label %bb1096.outer23
+bb1096.outer20.loopexit: ; preds = %cond_true1099
+ %Local_Turb.0.ph24.lcssa = phi %struct.TURB* [ %Local_Turb.0.ph24, %cond_true1099 ] ; <%struct.TURB*> [#uses=1]
+ br label %bb1096.outer20
+bb1096.outer20: ; preds = %bb1096.outer20.loopexit, %entry
+ %Local_Turb.0.ph22 = phi %struct.TURB* [ undef, %entry ], [ %Local_Turb.0.ph24.lcssa, %bb1096.outer20.loopexit ] ; <%struct.TURB*> [#uses=1]
+ %tmp1098 = icmp eq i32 0, 0 ; <i1> [#uses=1]
+ br label %bb1096.outer23
+bb1096.outer23: ; preds = %bb1096.outer20, %bb671
+ %Local_Turb.0.ph24 = phi %struct.TURB* [ %Local_Turb.0.ph22, %bb1096.outer20 ], [ null, %bb671 ] ; <%struct.TURB*> [#uses=2]
+ br label %bb1096
+bb1096: ; preds = %cond_true1099, %bb1096.outer23
+ br i1 %tmp1098, label %cond_true1099, label %bb1102
+cond_true1099: ; preds = %bb1096
+ switch i32 0, label %bb1096.outer20.loopexit [
+ i32 161, label %bb671
+ i32 359, label %bb1096
+ ]
+bb1102: ; preds = %bb1096
+ %Local_Turb.0.ph24.lcssa1 = phi %struct.TURB* [ %Local_Turb.0.ph24, %bb1096 ] ; <%struct.TURB*> [#uses=0]
+ ret void
+}
diff --git a/test/Transforms/LoopUnswitch/2006-06-27-DeadSwitchCase.ll b/test/Transforms/LoopUnswitch/2006-06-27-DeadSwitchCase.ll
new file mode 100644
index 0000000000000..67da9ffad3e29
--- /dev/null
+++ b/test/Transforms/LoopUnswitch/2006-06-27-DeadSwitchCase.ll
@@ -0,0 +1,25 @@
+; RUN: llvm-as < %s | opt -loop-unswitch -disable-output
+
+define void @init_caller_save() {
+entry:
+ br label %cond_true78
+cond_next20: ; preds = %cond_true64
+ br label %bb31
+bb31: ; preds = %cond_true64, %cond_true64, %cond_next20
+ %iftmp.29.1 = phi i32 [ 0, %cond_next20 ], [ 0, %cond_true64 ], [ 0, %cond_true64 ] ; <i32> [#uses=0]
+ br label %bb54
+bb54: ; preds = %cond_true78, %bb31
+ br i1 false, label %bb75, label %cond_true64
+cond_true64: ; preds = %bb54
+ switch i32 %i.0.0, label %cond_next20 [
+ i32 17, label %bb31
+ i32 18, label %bb31
+ ]
+bb75: ; preds = %bb54
+ %tmp74.0 = add i32 %i.0.0, 1 ; <i32> [#uses=1]
+ br label %cond_true78
+cond_true78: ; preds = %bb75, %entry
+ %i.0.0 = phi i32 [ 0, %entry ], [ %tmp74.0, %bb75 ] ; <i32> [#uses=2]
+ br label %bb54
+}
+
diff --git a/test/Transforms/LoopUnswitch/2007-05-09-Unreachable.ll b/test/Transforms/LoopUnswitch/2007-05-09-Unreachable.ll
new file mode 100644
index 0000000000000..08cb9b66bc10c
--- /dev/null
+++ b/test/Transforms/LoopUnswitch/2007-05-09-Unreachable.ll
@@ -0,0 +1,28 @@
+; PR1333
+; RUN: llvm-as < %s | opt -loop-unswitch -disable-output
+
+target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64"
+target triple = "i686-pc-linux-gnu"
+ %struct.ada__streams__root_stream_type = type { %struct.ada__tags__dispatch_table* }
+ %struct.ada__tags__dispatch_table = type { [1 x i8*] }
+ %struct.quotes__T173s = type { i8, %struct.quotes__T173s__T174s, [2 x [1 x double]], [2 x i16], i64, i8 }
+ %struct.quotes__T173s__T174s = type { i8, i8, i8, i16, i16, [2 x [1 x double]] }
+
+define void @quotes__write_quote() {
+entry:
+ %tmp606.i = icmp eq i32 0, 0 ; <i1> [#uses=1]
+ br label %bb
+bb: ; preds = %cond_next73, %bb, %entry
+ br i1 false, label %bb51, label %bb
+bb51: ; preds = %cond_next73, %bb
+ br i1 %tmp606.i, label %quotes__bid_ask_depth_offset_matrices__get_price.exit, label %cond_true.i
+cond_true.i: ; preds = %bb51
+ unreachable
+quotes__bid_ask_depth_offset_matrices__get_price.exit: ; preds = %bb51
+ br i1 false, label %cond_next73, label %cond_true72
+cond_true72: ; preds = %quotes__bid_ask_depth_offset_matrices__get_price.exit
+ unreachable
+cond_next73: ; preds = %quotes__bid_ask_depth_offset_matrices__get_price.exit
+ br i1 false, label %bb, label %bb51
+}
+
diff --git a/test/Transforms/LoopUnswitch/2007-05-09-tl.ll b/test/Transforms/LoopUnswitch/2007-05-09-tl.ll
new file mode 100644
index 0000000000000..c987daec7dbcd
--- /dev/null
+++ b/test/Transforms/LoopUnswitch/2007-05-09-tl.ll
@@ -0,0 +1,95 @@
+; PR1333
+; RUN: llvm-as < %s | opt -loop-unswitch -disable-output
+
+define void @pp_cxx_expression() {
+entry:
+ %tmp6 = lshr i32 0, 24 ; <i32> [#uses=1]
+ br label %tailrecurse
+
+tailrecurse: ; preds = %tailrecurse, %tailrecurse, %entry
+ switch i32 %tmp6, label %bb96 [
+ i32 24, label %bb10
+ i32 25, label %bb10
+ i32 28, label %bb10
+ i32 29, label %bb48
+ i32 31, label %bb48
+ i32 32, label %bb48
+ i32 33, label %bb48
+ i32 34, label %bb48
+ i32 36, label %bb15
+ i32 51, label %bb89
+ i32 52, label %bb89
+ i32 54, label %bb83
+ i32 57, label %bb59
+ i32 63, label %bb80
+ i32 64, label %bb80
+ i32 68, label %bb80
+ i32 169, label %bb75
+ i32 170, label %bb19
+ i32 171, label %bb63
+ i32 172, label %bb63
+ i32 173, label %bb67
+ i32 174, label %bb67
+ i32 175, label %bb19
+ i32 176, label %bb75
+ i32 178, label %bb59
+ i32 179, label %bb89
+ i32 180, label %bb59
+ i32 182, label %bb48
+ i32 183, label %bb48
+ i32 184, label %bb48
+ i32 185, label %bb48
+ i32 186, label %bb48
+ i32 195, label %bb48
+ i32 196, label %bb59
+ i32 197, label %bb89
+ i32 198, label %bb70
+ i32 199, label %bb59
+ i32 200, label %bb59
+ i32 201, label %bb59
+ i32 202, label %bb59
+ i32 203, label %bb75
+ i32 204, label %bb59
+ i32 205, label %tailrecurse
+ i32 210, label %tailrecurse
+ ]
+
+bb10: ; preds = %tailrecurse, %tailrecurse, %tailrecurse
+ ret void
+
+bb15: ; preds = %tailrecurse
+ ret void
+
+bb19: ; preds = %tailrecurse, %tailrecurse
+ ret void
+
+bb48: ; preds = %tailrecurse, %tailrecurse, %tailrecurse, %tailrecurse, %tailrecurse, %tailrecurse, %tailrecurse, %tailrecurse, %tailrecurse, %tailrecurse, %tailrecurse
+ ret void
+
+bb59: ; preds = %tailrecurse, %tailrecurse, %tailrecurse, %tailrecurse, %tailrecurse, %tailrecurse, %tailrecurse, %tailrecurse, %tailrecurse
+ ret void
+
+bb63: ; preds = %tailrecurse, %tailrecurse
+ ret void
+
+bb67: ; preds = %tailrecurse, %tailrecurse
+ ret void
+
+bb70: ; preds = %tailrecurse
+ ret void
+
+bb75: ; preds = %tailrecurse, %tailrecurse, %tailrecurse
+ ret void
+
+bb80: ; preds = %tailrecurse, %tailrecurse, %tailrecurse
+ ret void
+
+bb83: ; preds = %tailrecurse
+ ret void
+
+bb89: ; preds = %tailrecurse, %tailrecurse, %tailrecurse, %tailrecurse
+ ret void
+
+bb96: ; preds = %tailrecurse
+ ret void
+}
diff --git a/test/Transforms/LoopUnswitch/2007-07-12-ExitDomInfo.ll b/test/Transforms/LoopUnswitch/2007-07-12-ExitDomInfo.ll
new file mode 100644
index 0000000000000..c4080c1e3b199
--- /dev/null
+++ b/test/Transforms/LoopUnswitch/2007-07-12-ExitDomInfo.ll
@@ -0,0 +1,45 @@
+; RUN: llvm-as < %s | opt -loop-unswitch -instcombine -disable-output
+
+@str3 = external constant [3 x i8] ; <[3 x i8]*> [#uses=1]
+
+define i32 @stringSearch_Clib(i32 %count) {
+entry:
+ %ttmp25 = icmp sgt i32 %count, 0 ; <i1> [#uses=1]
+ br i1 %ttmp25, label %bb36.preheader, label %bb44
+
+bb36.preheader: ; preds = %entry
+ %ttmp33 = icmp slt i32 0, 250 ; <i1> [#uses=1]
+ br label %bb36.outer
+
+bb36.outer: ; preds = %bb41, %bb36.preheader
+ br i1 %ttmp33, label %bb.nph, label %bb41
+
+bb.nph: ; preds = %bb36.outer
+ %ttmp8 = icmp eq i8* null, null ; <i1> [#uses=1]
+ %ttmp6 = icmp eq i8* null, null ; <i1> [#uses=1]
+ %tmp31 = call i32 @strcspn( i8* null, i8* getelementptr ([3 x i8]* @str3, i64 0, i64 0) ) ; <i32> [#uses=1]
+ br i1 %ttmp8, label %cond_next, label %cond_true
+
+cond_true: ; preds = %bb.nph
+ ret i32 0
+
+cond_next: ; preds = %bb.nph
+ br i1 %ttmp6, label %cond_next28, label %cond_true20
+
+cond_true20: ; preds = %cond_next
+ ret i32 0
+
+cond_next28: ; preds = %cond_next
+ %tmp33 = add i32 %tmp31, 0 ; <i32> [#uses=1]
+ br label %bb41
+
+bb41: ; preds = %cond_next28, %bb36.outer
+ %c.2.lcssa = phi i32 [ 0, %bb36.outer ], [ %tmp33, %cond_next28 ] ; <i32> [#uses=1]
+ br i1 false, label %bb36.outer, label %bb44
+
+bb44: ; preds = %bb41, %entry
+ %c.01.1 = phi i32 [ 0, %entry ], [ %c.2.lcssa, %bb41 ] ; <i32> [#uses=1]
+ ret i32 %c.01.1
+}
+
+declare i32 @strcspn(i8*, i8*)
diff --git a/test/Transforms/LoopUnswitch/2007-07-13-DomInfo.ll b/test/Transforms/LoopUnswitch/2007-07-13-DomInfo.ll
new file mode 100644
index 0000000000000..de3f670f2b952
--- /dev/null
+++ b/test/Transforms/LoopUnswitch/2007-07-13-DomInfo.ll
@@ -0,0 +1,27 @@
+; RUN: llvm-as < %s | opt -loop-unswitch -disable-output
+
+define i32 @main(i32 %argc, i8** %argv) {
+entry:
+ %tmp1785365 = icmp ult i32 0, 100 ; <i1> [#uses=1]
+ br label %bb
+
+bb: ; preds = %cond_true, %entry
+ br i1 false, label %cond_true, label %cond_next
+
+cond_true: ; preds = %bb
+ br i1 %tmp1785365, label %bb, label %bb1788
+
+cond_next: ; preds = %bb
+ %iftmp.1.0 = select i1 false, i32 0, i32 0 ; <i32> [#uses=1]
+ br i1 false, label %cond_true47, label %cond_next74
+
+cond_true47: ; preds = %cond_next
+ %tmp53 = urem i32 %iftmp.1.0, 0 ; <i32> [#uses=0]
+ ret i32 0
+
+cond_next74: ; preds = %cond_next
+ ret i32 0
+
+bb1788: ; preds = %cond_true
+ ret i32 0
+}
diff --git a/test/Transforms/LoopUnswitch/2007-07-18-DomInfo.ll b/test/Transforms/LoopUnswitch/2007-07-18-DomInfo.ll
new file mode 100644
index 0000000000000..edd7d1ff58e7a
--- /dev/null
+++ b/test/Transforms/LoopUnswitch/2007-07-18-DomInfo.ll
@@ -0,0 +1,66 @@
+; RUN: llvm-as < %s | opt -loop-unswitch -disable-output
+; PR1559
+
+target triple = "i686-pc-linux-gnu"
+ %struct.re_pattern_buffer = type { i8*, i32, i32, i32, i8*, i8*, i32, i8 }
+
+define fastcc i32 @byte_regex_compile(i8* %pattern, i32 %size, i32 %syntax, %struct.re_pattern_buffer* %bufp) {
+entry:
+ br i1 false, label %bb147, label %cond_next123
+
+cond_next123: ; preds = %entry
+ ret i32 0
+
+bb147: ; preds = %entry
+ switch i32 0, label %normal_char [
+ i32 91, label %bb1734
+ i32 92, label %bb5700
+ ]
+
+bb1734: ; preds = %bb147
+ br label %bb1855.outer.outer
+
+cond_true1831: ; preds = %bb1855.outer
+ br i1 %tmp1837, label %cond_next1844, label %cond_true1840
+
+cond_true1840: ; preds = %cond_true1831
+ ret i32 0
+
+cond_next1844: ; preds = %cond_true1831
+ br i1 false, label %bb1855.outer, label %cond_true1849
+
+cond_true1849: ; preds = %cond_next1844
+ br label %bb1855.outer.outer
+
+bb1855.outer.outer: ; preds = %cond_true1849, %bb1734
+ %b.10.ph.ph = phi i8* [ null, %cond_true1849 ], [ null, %bb1734 ] ; <i8*> [#uses=1]
+ br label %bb1855.outer
+
+bb1855.outer: ; preds = %bb1855.outer.outer, %cond_next1844
+ %b.10.ph = phi i8* [ null, %cond_next1844 ], [ %b.10.ph.ph, %bb1855.outer.outer ] ; <i8*> [#uses=1]
+ %tmp1837 = icmp eq i8* null, null ; <i1> [#uses=2]
+ br i1 false, label %cond_true1831, label %cond_next1915
+
+cond_next1915: ; preds = %cond_next1961, %bb1855.outer
+ store i8* null, i8** null
+ br i1 %tmp1837, label %cond_next1929, label %cond_true1923
+
+cond_true1923: ; preds = %cond_next1915
+ ret i32 0
+
+cond_next1929: ; preds = %cond_next1915
+ br i1 false, label %cond_next1961, label %cond_next2009
+
+cond_next1961: ; preds = %cond_next1929
+ %tmp1992 = getelementptr i8* %b.10.ph, i32 0 ; <i8*> [#uses=0]
+ br label %cond_next1915
+
+cond_next2009: ; preds = %cond_next1929
+ ret i32 0
+
+bb5700: ; preds = %bb147
+ ret i32 0
+
+normal_char: ; preds = %bb147
+ ret i32 0
+}
diff --git a/test/Transforms/LoopUnswitch/2007-08-01-Dom.ll b/test/Transforms/LoopUnswitch/2007-08-01-Dom.ll
new file mode 100644
index 0000000000000..9673e2e96a961
--- /dev/null
+++ b/test/Transforms/LoopUnswitch/2007-08-01-Dom.ll
@@ -0,0 +1,30 @@
+; RUN: llvm-as < %s | opt -licm -loop-unswitch -disable-output
+; PR 1589
+
+ %struct.QBasicAtomic = type { i32 }
+
+define void @_ZNK5QDate9addMonthsEi(%struct.QBasicAtomic* sret %agg.result, %struct.QBasicAtomic* %this, i32 %nmonths) {
+entry:
+ br label %cond_true90
+
+bb16: ; preds = %cond_true90
+ br i1 false, label %bb93, label %cond_true90
+
+bb45: ; preds = %cond_true90
+ br i1 false, label %bb53, label %bb58
+
+bb53: ; preds = %bb45
+ br i1 false, label %bb93, label %cond_true90
+
+bb58: ; preds = %bb45
+ store i32 0, i32* null, align 4
+ br i1 false, label %cond_true90, label %bb93
+
+cond_true90: ; preds = %bb58, %bb53, %bb16, %entry
+ %nmonths_addr.016.1 = phi i32 [ %nmonths, %entry ], [ 0, %bb16 ], [ 0, %bb53 ], [ %nmonths_addr.016.1, %bb58 ] ; <i32> [#uses=2]
+ %tmp14 = icmp slt i32 %nmonths_addr.016.1, -11 ; <i1> [#uses=1]
+ br i1 %tmp14, label %bb16, label %bb45
+
+bb93: ; preds = %bb58, %bb53, %bb16
+ ret void
+}
diff --git a/test/Transforms/LoopUnswitch/2007-08-01-LCSSA.ll b/test/Transforms/LoopUnswitch/2007-08-01-LCSSA.ll
new file mode 100644
index 0000000000000..139cdbe70a055
--- /dev/null
+++ b/test/Transforms/LoopUnswitch/2007-08-01-LCSSA.ll
@@ -0,0 +1,55 @@
+; RUN: llvm-as < %s | opt -loop-unswitch -instcombine -disable-output
+ %struct.ClassDef = type { %struct.QByteArray, %struct.QByteArray, %"struct.QList<ArgumentDef>", %"struct.QList<ArgumentDef>", i8, i8, %"struct.QList<ArgumentDef>", %"struct.QList<ArgumentDef>", %"struct.QList<ArgumentDef>", %"struct.QList<ArgumentDef>", %"struct.QList<ArgumentDef>", %"struct.QList<ArgumentDef>", %"struct.QMap<QByteArray,QByteArray>", %"struct.QList<ArgumentDef>", %"struct.QMap<QByteArray,QByteArray>", i32, i32 }
+ %struct.FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct.FILE*, i32, i32, i32, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i8*, i8*, i32, i32, [40 x i8] }
+ %struct.Generator = type { %struct.FILE*, %struct.ClassDef*, %"struct.QList<ArgumentDef>", %struct.QByteArray, %"struct.QList<ArgumentDef>" }
+ %struct.QBasicAtomic = type { i32 }
+ %struct.QByteArray = type { %"struct.QByteArray::Data"* }
+ %"struct.QByteArray::Data" = type { %struct.QBasicAtomic, i32, i32, i8*, [1 x i8] }
+ %"struct.QList<ArgumentDef>" = type { %"struct.QList<ArgumentDef>::._19" }
+ %"struct.QList<ArgumentDef>::._19" = type { %struct.QListData }
+ %struct.QListData = type { %"struct.QListData::Data"* }
+ %"struct.QListData::Data" = type { %struct.QBasicAtomic, i32, i32, i32, i8, [1 x i8*] }
+ %"struct.QMap<QByteArray,QByteArray>" = type { %"struct.QMap<QByteArray,QByteArray>::._56" }
+ %"struct.QMap<QByteArray,QByteArray>::._56" = type { %struct.QMapData* }
+ %struct.QMapData = type { %struct.QMapData*, [12 x %struct.QMapData*], %struct.QBasicAtomic, i32, i32, i32, i8 }
+ %struct._IO_marker = type { %struct._IO_marker*, %struct.FILE*, i32 }
+@.str9 = external constant [1 x i8] ; <[1 x i8]*> [#uses=1]
+
+declare i32 @strcmp(i8*, i8*)
+
+define i32 @_ZN9Generator6strregEPKc(%struct.Generator* %this, i8* %s) {
+entry:
+ %s_addr.0 = select i1 false, i8* getelementptr ([1 x i8]* @.str9, i32 0, i32 0), i8* %s ; <i8*> [#uses=2]
+ %tmp122 = icmp eq i8* %s_addr.0, null ; <i1> [#uses=1]
+ br label %bb184
+
+bb55: ; preds = %bb184
+ ret i32 0
+
+bb88: ; preds = %bb184
+ br i1 %tmp122, label %bb154, label %bb128
+
+bb128: ; preds = %bb88
+ %tmp138 = call i32 @strcmp( i8* null, i8* %s_addr.0 ) ; <i32> [#uses=1]
+ %iftmp.37.0.in4 = icmp eq i32 %tmp138, 0 ; <i1> [#uses=1]
+ br i1 %iftmp.37.0.in4, label %bb250, label %bb166
+
+bb154: ; preds = %bb88
+ br i1 false, label %bb250, label %bb166
+
+bb166: ; preds = %bb154, %bb128
+ %tmp175 = add i32 %idx.0, 1 ; <i32> [#uses=1]
+ %tmp177 = add i32 %tmp175, 0 ; <i32> [#uses=1]
+ %tmp181 = add i32 %tmp177, 0 ; <i32> [#uses=1]
+ %tmp183 = add i32 %i33.0, 1 ; <i32> [#uses=1]
+ br label %bb184
+
+bb184: ; preds = %bb166, %entry
+ %i33.0 = phi i32 [ 0, %entry ], [ %tmp183, %bb166 ] ; <i32> [#uses=2]
+ %idx.0 = phi i32 [ 0, %entry ], [ %tmp181, %bb166 ] ; <i32> [#uses=2]
+ %tmp49 = icmp slt i32 %i33.0, 0 ; <i1> [#uses=1]
+ br i1 %tmp49, label %bb88, label %bb55
+
+bb250: ; preds = %bb154, %bb128
+ ret i32 %idx.0
+}
diff --git a/test/Transforms/LoopUnswitch/2007-10-04-DomFrontier.ll b/test/Transforms/LoopUnswitch/2007-10-04-DomFrontier.ll
new file mode 100644
index 0000000000000..b236edcf56c17
--- /dev/null
+++ b/test/Transforms/LoopUnswitch/2007-10-04-DomFrontier.ll
@@ -0,0 +1,29 @@
+; RUN: llvm-as < %s | opt -licm -loop-unroll -disable-output
+
+@resonant = external global i32 ; <i32*> [#uses=2]
+
+define void @weightadj() {
+entry:
+ br label %bb
+
+bb: ; preds = %bb158, %entry
+ store i32 0, i32* @resonant, align 4
+ br i1 false, label %g.exit, label %bb158
+
+g.exit: ; preds = %bb68, %bb
+ br i1 false, label %bb68, label %cond_true
+
+cond_true: ; preds = %g.exit
+ store i32 1, i32* @resonant, align 4
+ br label %bb68
+
+bb68: ; preds = %cond_true, %g.exit
+ %tmp71 = icmp slt i32 0, 0 ; <i1> [#uses=1]
+ br i1 %tmp71, label %g.exit, label %bb158
+
+bb158: ; preds = %bb68, %bb
+ br i1 false, label %bb, label %return
+
+return: ; preds = %bb158
+ ret void
+}
diff --git a/test/Transforms/LoopUnswitch/2008-06-02-DomInfo.ll b/test/Transforms/LoopUnswitch/2008-06-02-DomInfo.ll
new file mode 100644
index 0000000000000..dcf41c34a4862
--- /dev/null
+++ b/test/Transforms/LoopUnswitch/2008-06-02-DomInfo.ll
@@ -0,0 +1,26 @@
+; RUN: llvm-as < %s | opt -loop-unswitch -instcombine -gvn -disable-output
+; PR2372
+target triple = "i386-pc-linux-gnu"
+
+define i32 @func_3(i16 signext %p_5, i16 signext %p_6) nounwind {
+entry:
+ %tmp3 = icmp eq i16 %p_5, 0 ; <i1> [#uses=1]
+ %tmp1314 = sext i16 %p_6 to i32 ; <i32> [#uses=1]
+ %tmp28 = icmp ugt i32 %tmp1314, 3 ; <i1> [#uses=1]
+ %bothcond = or i1 %tmp28, false ; <i1> [#uses=1]
+ br label %bb
+bb: ; preds = %bb54, %entry
+ br i1 %tmp3, label %bb54, label %bb5
+bb5: ; preds = %bb
+ br i1 %bothcond, label %bb54, label %bb31
+bb31: ; preds = %bb5
+ br label %bb54
+bb54: ; preds = %bb31, %bb5, %bb
+ br i1 false, label %bb64, label %bb
+bb64: ; preds = %bb54
+ %tmp6566 = sext i16 %p_6 to i32 ; <i32> [#uses=1]
+ %tmp68 = tail call i32 (...)* @func_18( i32 1, i32 %tmp6566, i32 1 ) nounwind ; <i32> [#uses=0]
+ ret i32 undef
+}
+
+declare i32 @func_18(...)
diff --git a/test/Transforms/LoopUnswitch/2008-06-17-DomFrontier.ll b/test/Transforms/LoopUnswitch/2008-06-17-DomFrontier.ll
new file mode 100644
index 0000000000000..713a0bddb135e
--- /dev/null
+++ b/test/Transforms/LoopUnswitch/2008-06-17-DomFrontier.ll
@@ -0,0 +1,22 @@
+; RUN: llvm-as < %s | opt -licm -loop-unswitch -disable-output
+@g_56 = external global i16 ; <i16*> [#uses=2]
+
+define i32 @func_67(i32 %p_68, i8 signext %p_69, i8 signext %p_71) nounwind {
+entry:
+ br label %bb
+bb: ; preds = %bb44, %entry
+ br label %bb3
+bb3: ; preds = %bb36, %bb
+ %bothcond = or i1 false, false ; <i1> [#uses=1]
+ br i1 %bothcond, label %bb29, label %bb19
+bb19: ; preds = %bb3
+ br i1 false, label %bb36, label %bb29
+bb29: ; preds = %bb19, %bb3
+ ret i32 0
+bb36: ; preds = %bb19
+ store i16 0, i16* @g_56, align 2
+ br i1 false, label %bb44, label %bb3
+bb44: ; preds = %bb44, %bb36
+ %tmp46 = load i16* @g_56, align 2 ; <i16> [#uses=0]
+ br i1 false, label %bb, label %bb44
+}
diff --git a/test/Transforms/LoopUnswitch/2008-11-03-Invariant.ll b/test/Transforms/LoopUnswitch/2008-11-03-Invariant.ll
new file mode 100644
index 0000000000000..383aa5b671c78
--- /dev/null
+++ b/test/Transforms/LoopUnswitch/2008-11-03-Invariant.ll
@@ -0,0 +1,36 @@
+; RUN: llvm-as < %s | opt -loop-unswitch -stats -disable-output |& grep "1 loop-unswitch - Number of branches unswitched" | count 1
+; PR 3170
+define i32 @a(i32 %x, i32 %y) nounwind {
+entry:
+ %0 = icmp ult i32 0, %y ; <i1> [#uses=1]
+ br i1 %0, label %bb.nph, label %bb4
+
+bb.nph: ; preds = %entry
+ %1 = icmp eq i32 %x, 0 ; <i1> [#uses=1]
+ br label %bb
+
+bb: ; preds = %bb.nph, %bb3
+ %i.01 = phi i32 [ %3, %bb3 ], [ 0, %bb.nph ] ; <i32> [#uses=1]
+ br i1 %1, label %bb2, label %bb1
+
+bb1: ; preds = %bb
+ %2 = tail call i32 (...)* @b() nounwind ; <i32> [#uses=0]
+ br label %bb2
+
+bb2: ; preds = %bb, %bb1
+ %3 = add i32 %i.01, 1 ; <i32> [#uses=2]
+ br label %bb3
+
+bb3: ; preds = %bb2
+ %i.0 = phi i32 [ %3, %bb2 ] ; <i32> [#uses=1]
+ %4 = icmp ult i32 %i.0, %y ; <i1> [#uses=1]
+ br i1 %4, label %bb, label %bb3.bb4_crit_edge
+
+bb3.bb4_crit_edge: ; preds = %bb3
+ br label %bb4
+
+bb4: ; preds = %bb3.bb4_crit_edge, %entry
+ ret i32 0
+}
+
+declare i32 @b(...)
diff --git a/test/Transforms/LoopUnswitch/basictest.ll b/test/Transforms/LoopUnswitch/basictest.ll
new file mode 100644
index 0000000000000..eeaf08d7e6507
--- /dev/null
+++ b/test/Transforms/LoopUnswitch/basictest.ll
@@ -0,0 +1,31 @@
+; RUN: llvm-as < %s | opt -loop-unswitch -disable-output
+
+define i32 @test(i32* %A, i1 %C) {
+entry:
+ br label %no_exit
+no_exit: ; preds = %no_exit.backedge, %entry
+ %i.0.0 = phi i32 [ 0, %entry ], [ %i.0.0.be, %no_exit.backedge ] ; <i32> [#uses=3]
+ %gep.upgrd.1 = zext i32 %i.0.0 to i64 ; <i64> [#uses=1]
+ %tmp.7 = getelementptr i32* %A, i64 %gep.upgrd.1 ; <i32*> [#uses=4]
+ %tmp.13 = load i32* %tmp.7 ; <i32> [#uses=2]
+ %tmp.14 = add i32 %tmp.13, 1 ; <i32> [#uses=1]
+ store i32 %tmp.14, i32* %tmp.7
+ br i1 %C, label %then, label %endif
+then: ; preds = %no_exit
+ %tmp.29 = load i32* %tmp.7 ; <i32> [#uses=1]
+ %tmp.30 = add i32 %tmp.29, 2 ; <i32> [#uses=1]
+ store i32 %tmp.30, i32* %tmp.7
+ %inc9 = add i32 %i.0.0, 1 ; <i32> [#uses=2]
+ %tmp.112 = icmp ult i32 %inc9, 100000 ; <i1> [#uses=1]
+ br i1 %tmp.112, label %no_exit.backedge, label %return
+no_exit.backedge: ; preds = %endif, %then
+ %i.0.0.be = phi i32 [ %inc9, %then ], [ %inc, %endif ] ; <i32> [#uses=1]
+ br label %no_exit
+endif: ; preds = %no_exit
+ %inc = add i32 %i.0.0, 1 ; <i32> [#uses=2]
+ %tmp.1 = icmp ult i32 %inc, 100000 ; <i1> [#uses=1]
+ br i1 %tmp.1, label %no_exit.backedge, label %return
+return: ; preds = %endif, %then
+ ret i32 %tmp.13
+}
+
diff --git a/test/Transforms/LoopUnswitch/dg.exp b/test/Transforms/LoopUnswitch/dg.exp
new file mode 100644
index 0000000000000..f2005891a59a8
--- /dev/null
+++ b/test/Transforms/LoopUnswitch/dg.exp
@@ -0,0 +1,3 @@
+load_lib llvm.exp
+
+RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,c,cpp}]]