diff options
48 files changed, 2209 insertions, 2357 deletions
diff --git a/test/Transforms/LoopStrengthReduce/2005-08-15-AddRecIV.ll b/test/Transforms/LoopStrengthReduce/2005-08-15-AddRecIV.ll index b210405..75574c0 100644 --- a/test/Transforms/LoopStrengthReduce/2005-08-15-AddRecIV.ll +++ b/test/Transforms/LoopStrengthReduce/2005-08-15-AddRecIV.ll @@ -1,77 +1,57 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce -disable-output +; RUN: llvm-as < %s | opt -loop-reduce -disable-output -void %try_swap() { +define void @try_swap() { entry: - br bool false, label %cond_continue.0.i, label %cond_false.0.i - + br i1 false, label %cond_continue.0.i, label %cond_false.0.i cond_false.0.i: ; preds = %entry ret void - cond_continue.0.i: ; preds = %entry - br bool false, label %cond_continue.1.i, label %cond_false.1.i - + br i1 false, label %cond_continue.1.i, label %cond_false.1.i cond_false.1.i: ; preds = %cond_continue.0.i ret void - cond_continue.1.i: ; preds = %cond_continue.0.i - br bool false, label %endif.3.i, label %else.0.i - + br i1 false, label %endif.3.i, label %else.0.i endif.3.i: ; preds = %cond_continue.1.i - br bool false, label %my_irand.exit82, label %endif.0.i62 - + br i1 false, label %my_irand.exit82, label %endif.0.i62 else.0.i: ; preds = %cond_continue.1.i ret void - endif.0.i62: ; preds = %endif.3.i ret void - my_irand.exit82: ; preds = %endif.3.i - br bool false, label %else.2, label %then.4 - + br i1 false, label %else.2, label %then.4 then.4: ; preds = %my_irand.exit82 ret void - else.2: ; preds = %my_irand.exit82 - br bool false, label %find_affected_nets.exit, label %loopentry.1.i107.outer.preheader - + br i1 false, label %find_affected_nets.exit, label %loopentry.1.i107.outer.preheader loopentry.1.i107.outer.preheader: ; preds = %else.2 ret void - find_affected_nets.exit: ; preds = %else.2 - br bool false, label %save_region_occ.exit, label %loopentry.1 - + br i1 false, label %save_region_occ.exit, label %loopentry.1 save_region_occ.exit: ; preds = %find_affected_nets.exit - br bool false, label %no_exit.1.preheader, label %loopexit.1 - + br i1 false, label %no_exit.1.preheader, label %loopexit.1 loopentry.1: ; preds = %find_affected_nets.exit ret void - no_exit.1.preheader: ; preds = %save_region_occ.exit ret void - loopexit.1: ; preds = %save_region_occ.exit - br bool false, label %then.10, label %loopentry.3 - + br i1 false, label %then.10, label %loopentry.3 then.10: ; preds = %loopexit.1 ret void - loopentry.3: ; preds = %endif.16, %loopexit.1 - %indvar342 = phi uint [ %indvar.next343, %endif.16 ], [ 0, %loopexit.1 ] ; <uint> [#uses=2] - br bool false, label %loopexit.3, label %endif.16 - + %indvar342 = phi i32 [ %indvar.next343, %endif.16 ], [ 0, %loopexit.1 ] ; <i32> [#uses=2] + br i1 false, label %loopexit.3, label %endif.16 endif.16: ; preds = %loopentry.3 - %indvar.next343 = add uint %indvar342, 1 ; <uint> [#uses=1] + %indvar.next343 = add i32 %indvar342, 1 ; <i32> [#uses=1] br label %loopentry.3 - loopexit.3: ; preds = %loopentry.3 br label %loopentry.4 - loopentry.4: ; preds = %loopentry.4, %loopexit.3 - %indvar340 = phi uint [ 0, %loopexit.3 ], [ %indvar.next341, %loopentry.4 ] ; <uint> [#uses=2] - %tmp. = add uint %indvar340, %indvar342 ; <uint> [#uses=1] - %tmp.526 = load int** null ; <int*> [#uses=1] - %tmp.528 = getelementptr int* %tmp.526, uint %tmp. ; <int*> [#uses=1] - store int 0, int* %tmp.528 - %indvar.next341 = add uint %indvar340, 1 ; <uint> [#uses=1] + %indvar340 = phi i32 [ 0, %loopexit.3 ], [ %indvar.next341, %loopentry.4 ] ; <i32> [#uses=2] + %tmp. = add i32 %indvar340, %indvar342 ; <i32> [#uses=1] + %tmp.526 = load i32** null ; <i32*> [#uses=1] + %gep.upgrd.1 = zext i32 %tmp. to i64 ; <i64> [#uses=1] + %tmp.528 = getelementptr i32* %tmp.526, i64 %gep.upgrd.1 ; <i32*> [#uses=1] + store i32 0, i32* %tmp.528 + %indvar.next341 = add i32 %indvar340, 1 ; <i32> [#uses=1] br label %loopentry.4 } diff --git a/test/Transforms/LoopStrengthReduce/2005-08-17-OutOfLoopVariant.ll b/test/Transforms/LoopStrengthReduce/2005-08-17-OutOfLoopVariant.ll index 5724bad..83d4696 100644 --- a/test/Transforms/LoopStrengthReduce/2005-08-17-OutOfLoopVariant.ll +++ b/test/Transforms/LoopStrengthReduce/2005-08-17-OutOfLoopVariant.ll @@ -1,18 +1,17 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce -disable-output +; RUN: llvm-as < %s | opt -loop-reduce -disable-output -int %image_to_texture(uint %indvar454) { +define i32 @image_to_texture(i32 %indvar454) { loopentry.1.outer: - %j.2.1.ph = cast uint %indvar454 to int ; <int> [#uses=1] + %j.2.1.ph = bitcast i32 %indvar454 to i32 ; <i32> [#uses=1] br label %loopentry.1 - -loopentry.1: ; preds = %label.5, %loopentry.1.outer - %i.3 = phi int [ 0, %loopentry.1.outer ], [ %i.3.be, %loopentry.1 ] - %tmp.390 = load int* null ; <int> [#uses=1] - %tmp.392 = mul int %tmp.390, %j.2.1.ph ; <int> [#uses=1] - %tmp.394 = add int %tmp.392, %i.3 ; <int> [#uses=1] - %i.3.be = add int %i.3, 1 ; <int> [#uses=1] - br bool false, label %loopentry.1, label %label.6 - -label.6: ; preds = %no_exit.1 - ret int %tmp.394 +loopentry.1: ; preds = %loopentry.1, %loopentry.1.outer + %i.3 = phi i32 [ 0, %loopentry.1.outer ], [ %i.3.be, %loopentry.1 ] ; <i32> [#uses=2] + %tmp.390 = load i32* null ; <i32> [#uses=1] + %tmp.392 = mul i32 %tmp.390, %j.2.1.ph ; <i32> [#uses=1] + %tmp.394 = add i32 %tmp.392, %i.3 ; <i32> [#uses=1] + %i.3.be = add i32 %i.3, 1 ; <i32> [#uses=1] + br i1 false, label %loopentry.1, label %label.6 +label.6: ; preds = %loopentry.1 + ret i32 %tmp.394 } + diff --git a/test/Transforms/LoopStrengthReduce/2005-09-12-UsesOutOutsideOfLoop.ll b/test/Transforms/LoopStrengthReduce/2005-09-12-UsesOutOutsideOfLoop.ll index 81d3c25..145551b 100644 --- a/test/Transforms/LoopStrengthReduce/2005-09-12-UsesOutOutsideOfLoop.ll +++ b/test/Transforms/LoopStrengthReduce/2005-09-12-UsesOutOutsideOfLoop.ll @@ -1,43 +1,32 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce -disable-output +; RUN: llvm-as < %s | opt -loop-reduce -disable-output -void %main() { +define void @main() { entry: br label %loopentry.0 - loopentry.0: ; preds = %then.5, %entry - %arg_index.1.ph = phi int [ 1, %entry ], [ %arg_index.1.ph.be, %then.5 ] ; <int> [#uses=1] - br bool false, label %no_exit.0, label %loopexit.0 - + %arg_index.1.ph = phi i32 [ 1, %entry ], [ %arg_index.1.ph.be, %then.5 ] ; <i32> [#uses=1] + br i1 false, label %no_exit.0, label %loopexit.0 no_exit.0: ; preds = %loopentry.0 - %arg_index.1.1 = add int 0, %arg_index.1.ph ; <int> [#uses=2] - br bool false, label %then.i55, label %endif.i61 - + %arg_index.1.1 = add i32 0, %arg_index.1.ph ; <i32> [#uses=2] + br i1 false, label %then.i55, label %endif.i61 then.i55: ; preds = %no_exit.0 - br bool false, label %then.4, label %else.1 - + br i1 false, label %then.4, label %else.1 endif.i61: ; preds = %no_exit.0 ret void - then.4: ; preds = %then.i55 - %tmp.19993 = add int %arg_index.1.1, 2 ; <int> [#uses=0] + %tmp.19993 = add i32 %arg_index.1.1, 2 ; <i32> [#uses=0] ret void - else.1: ; preds = %then.i55 - br bool false, label %then.i86, label %loopexit.i97 - + br i1 false, label %then.i86, label %loopexit.i97 then.i86: ; preds = %else.1 ret void - loopexit.i97: ; preds = %else.1 - br bool false, label %then.5, label %else.2 - + br i1 false, label %then.5, label %else.2 then.5: ; preds = %loopexit.i97 - %arg_index.1.ph.be = add int %arg_index.1.1, 2 ; <int> [#uses=1] + %arg_index.1.ph.be = add i32 %arg_index.1.1, 2 ; <i32> [#uses=1] br label %loopentry.0 - else.2: ; preds = %loopexit.i97 ret void - loopexit.0: ; preds = %loopentry.0 ret void } diff --git a/test/Transforms/LoopStrengthReduce/different-type-ivs.ll b/test/Transforms/LoopStrengthReduce/different-type-ivs.ll index 1383fd6..e5225da 100644 --- a/test/Transforms/LoopStrengthReduce/different-type-ivs.ll +++ b/test/Transforms/LoopStrengthReduce/different-type-ivs.ll @@ -1,26 +1,25 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce -disable-output +; RUN: llvm-as < %s | opt -loop-reduce -disable-output ; Test to make sure that loop-reduce never crashes on IV's ; with different types but identical strides. -void %foo() { +define void @foo() { entry: br label %no_exit - no_exit: ; preds = %no_exit, %entry - %indvar = phi uint [ 0, %entry ], [ %indvar.next, %no_exit ] ; <uint> [#uses=3] - %indvar = cast uint %indvar to short ; <short> [#uses=1] - %X.0.0 = mul short %indvar, 1234 ; <short> [#uses=1] - %tmp. = mul uint %indvar, 1234 ; <uint> [#uses=1] - %tmp.5 = cast short %X.0.0 to int ; <int> [#uses=1] - %tmp.3 = call int (...)* %bar( int %tmp.5, uint %tmp. ) ; <int> [#uses=0] - %tmp.0 = call bool %pred( ) ; <int> [#uses=1] - %indvar.next = add uint %indvar, 1 ; <uint> [#uses=1] - br bool %tmp.0, label %return, label %no_exit - -return: + %indvar = phi i32 [ 0, %entry ], [ %indvar.next, %no_exit ] ; <i32> [#uses=3] + %indvar.upgrd.1 = trunc i32 %indvar to i16 ; <i16> [#uses=1] + %X.0.0 = mul i16 %indvar.upgrd.1, 1234 ; <i16> [#uses=1] + %tmp. = mul i32 %indvar, 1234 ; <i32> [#uses=1] + %tmp.5 = sext i16 %X.0.0 to i32 ; <i32> [#uses=1] + %tmp.3 = call i32 (...)* @bar( i32 %tmp.5, i32 %tmp. ) ; <i32> [#uses=0] + %tmp.0 = call i1 @pred( ) ; <i1> [#uses=1] + %indvar.next = add i32 %indvar, 1 ; <i32> [#uses=1] + br i1 %tmp.0, label %return, label %no_exit +return: ; preds = %no_exit ret void } -declare bool %pred() +declare i1 @pred() + +declare i32 @bar(...) -declare int %bar(...) diff --git a/test/Transforms/LoopStrengthReduce/dont-hoist-simple-loop-constants.ll b/test/Transforms/LoopStrengthReduce/dont-hoist-simple-loop-constants.ll index 3c1003b..56773ac 100644 --- a/test/Transforms/LoopStrengthReduce/dont-hoist-simple-loop-constants.ll +++ b/test/Transforms/LoopStrengthReduce/dont-hoist-simple-loop-constants.ll @@ -1,26 +1,23 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | \ +; RUN: llvm-as < %s | opt -loop-reduce | llvm-dis | \ ; RUN: not grep {cast uint 1 to uint} ; END. ; The setlt wants to use a value that is incremented one more than the dominant ; IV. Don't insert the 1 outside the loop, preventing folding it into the add. -implementation ; Functions: - -void %test([700 x int]* %nbeaux_.0__558, int* %i_.16574) { +define void @test([700 x i32]* %nbeaux_.0__558, i32* %i_.16574) { then.0: - br label %no_exit.2 - -no_exit.2: ; preds = %no_exit.2, %then.0 - %indvar630 = phi uint [ 0, %then.0 ], [ %indvar.next631, %no_exit.2 ] ; <uint> [#uses=3] - %indvar630 = cast uint %indvar630 to int ; <int> [#uses=1] - %tmp.38 = getelementptr [700 x int]* %nbeaux_.0__558, int 0, uint %indvar630 ; <int*> [#uses=1] - store int 0, int* %tmp.38 - %inc.2 = add int %indvar630, 2 ; <int> [#uses=2] - %tmp.34 = setlt int %inc.2, 701 ; <bool> [#uses=1] - %indvar.next631 = add uint %indvar630, 1 ; <uint> [#uses=1] - br bool %tmp.34, label %no_exit.2, label %loopexit.2.loopexit - -loopexit.2.loopexit: ; preds = %no_exit.2 - store int %inc.2, int* %i_.16574 - ret void + br label %no_exit.2 +no_exit.2: ; preds = %no_exit.2, %then.0 + %indvar630 = phi i32 [ 0, %then.0 ], [ %indvar.next631, %no_exit.2 ] ; <i32> [#uses=4] + %gep.upgrd.1 = zext i32 %indvar630 to i64 ; <i64> [#uses=1] + %tmp.38 = getelementptr [700 x i32]* %nbeaux_.0__558, i32 0, i64 %gep.upgrd.1 ; <i32*> [#uses=1] + store i32 0, i32* %tmp.38 + %inc.2 = add i32 %indvar630, 2 ; <i32> [#uses=2] + %tmp.34 = icmp slt i32 %inc.2, 701 ; <i1> [#uses=1] + %indvar.next631 = add i32 %indvar630, 1 ; <i32> [#uses=1] + br i1 %tmp.34, label %no_exit.2, label %loopexit.2.loopexit +loopexit.2.loopexit: ; preds = %no_exit.2 + store i32 %inc.2, i32* %i_.16574 + ret void } + diff --git a/test/Transforms/LoopStrengthReduce/dont_insert_redundant_ops.ll b/test/Transforms/LoopStrengthReduce/dont_insert_redundant_ops.ll index 1954a20..68eb107 100644 --- a/test/Transforms/LoopStrengthReduce/dont_insert_redundant_ops.ll +++ b/test/Transforms/LoopStrengthReduce/dont_insert_redundant_ops.ll @@ -1,40 +1,36 @@ ; Check that this test makes INDVAR and related stuff dead. -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | grep phi | count 2 +; RUN: llvm-as < %s | opt -loop-reduce | llvm-dis | grep phi | count 2 -declare bool %pred() +declare i1 @pred() -void %test1({ int, int }* %P) { +define void @test1({ i32, i32 }* %P) { +; <label>:0 br label %Loop -Loop: - %INDVAR = phi int [0, %0], [%INDVAR2, %Loop] - - %gep1 = getelementptr { int, int}* %P, int %INDVAR, uint 0 - store int 0, int* %gep1 - - %gep2 = getelementptr { int, int}* %P, int %INDVAR, uint 1 - store int 0, int* %gep2 - - %INDVAR2 = add int %INDVAR, 1 - %cond = call bool %pred() - br bool %cond, label %Loop, label %Out -Out: +Loop: ; preds = %Loop, %0 + %INDVAR = phi i32 [ 0, %0 ], [ %INDVAR2, %Loop ] ; <i32> [#uses=3] + %gep1 = getelementptr { i32, i32 }* %P, i32 %INDVAR, i32 0 ; <i32*> [#uses=1] + store i32 0, i32* %gep1 + %gep2 = getelementptr { i32, i32 }* %P, i32 %INDVAR, i32 1 ; <i32*> [#uses=1] + store i32 0, i32* %gep2 + %INDVAR2 = add i32 %INDVAR, 1 ; <i32> [#uses=1] + %cond = call i1 @pred( ) ; <i1> [#uses=1] + br i1 %cond, label %Loop, label %Out +Out: ; preds = %Loop ret void } -void %test2([2 x int]* %P) { +define void @test2([2 x i32]* %P) { +; <label>:0 br label %Loop -Loop: - %INDVAR = phi int [0, %0], [%INDVAR2, %Loop] - - %gep1 = getelementptr [2 x int]* %P, int %INDVAR, uint 0 - store int 0, int* %gep1 - - %gep2 = getelementptr [2 x int]* %P, int %INDVAR, uint 1 - store int 0, int* %gep2 - - %INDVAR2 = add int %INDVAR, 1 - %cond = call bool %pred() - br bool %cond, label %Loop, label %Out -Out: +Loop: ; preds = %Loop, %0 + %INDVAR = phi i32 [ 0, %0 ], [ %INDVAR2, %Loop ] ; <i32> [#uses=3] + %gep1 = getelementptr [2 x i32]* %P, i32 %INDVAR, i64 0 ; <i32*> [#uses=1] + store i32 0, i32* %gep1 + %gep2 = getelementptr [2 x i32]* %P, i32 %INDVAR, i64 1 ; <i32*> [#uses=1] + store i32 0, i32* %gep2 + %INDVAR2 = add i32 %INDVAR, 1 ; <i32> [#uses=1] + %cond = call i1 @pred( ) ; <i1> [#uses=1] + br i1 %cond, label %Loop, label %Out +Out: ; preds = %Loop ret void } diff --git a/test/Transforms/LoopStrengthReduce/dont_reduce_bytes.ll b/test/Transforms/LoopStrengthReduce/dont_reduce_bytes.ll index 2c67980..bfbbecf 100644 --- a/test/Transforms/LoopStrengthReduce/dont_reduce_bytes.ll +++ b/test/Transforms/LoopStrengthReduce/dont_reduce_bytes.ll @@ -1,21 +1,22 @@ ; Don't reduce the byte access to P[i], at least not on targets that ; support an efficient 'mem[r1+r2]' addressing mode. -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce -disable-output +; RUN: llvm-as < %s | opt -loop-reduce -disable-output -declare bool %pred(int) -void %test(sbyte* %PTR) { - br label %Loop -Loop: - %INDVAR = phi int [0, %0], [%INDVAR2, %Loop] - - %STRRED = getelementptr sbyte* %PTR, int %INDVAR - store sbyte 0, sbyte* %STRRED +declare i1 @pred(i32) - %INDVAR2 = add int %INDVAR, 1 - %cond = call bool %pred(int %INDVAR2) ;; cannot eliminate indvar - br bool %cond, label %Loop, label %Out -Out: +define void @test(i8* %PTR) { +; <label>:0 + br label %Loop +Loop: ; preds = %Loop, %0 + %INDVAR = phi i32 [ 0, %0 ], [ %INDVAR2, %Loop ] ; <i32> [#uses=2] + %STRRED = getelementptr i8* %PTR, i32 %INDVAR ; <i8*> [#uses=1] + store i8 0, i8* %STRRED + %INDVAR2 = add i32 %INDVAR, 1 ; <i32> [#uses=2] + ;; cannot eliminate indvar + %cond = call i1 @pred( i32 %INDVAR2 ) ; <i1> [#uses=1] + br i1 %cond, label %Loop, label %Out +Out: ; preds = %Loop ret void } diff --git a/test/Transforms/LoopStrengthReduce/exit_compare_live_range.ll b/test/Transforms/LoopStrengthReduce/exit_compare_live_range.ll index 4c31a98..d21498b 100644 --- a/test/Transforms/LoopStrengthReduce/exit_compare_live_range.ll +++ b/test/Transforms/LoopStrengthReduce/exit_compare_live_range.ll @@ -2,20 +2,19 @@ ; having overlapping live ranges that result in copies. We want the setcc ; instruction immediately before the conditional branch. ; -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | \ +; RUN: llvm-as < %s | opt -loop-reduce | llvm-dis | \ ; RUN: %prcontext {br i1} 1 | grep icmp -void %foo(float* %D, uint %E) { +define void @foo(float* %D, i32 %E) { entry: br label %no_exit - -no_exit: - %indvar = phi uint [ 0, %entry ], [ %indvar.next, %no_exit ] - volatile store float 0.0, float* %D - %indvar.next = add uint %indvar, 1 ; <uint> [#uses=2] - %exitcond = seteq uint %indvar.next, %E ; <bool> [#uses=1] - br bool %exitcond, label %loopexit, label %no_exit - -loopexit: +no_exit: ; preds = %no_exit, %entry + %indvar = phi i32 [ 0, %entry ], [ %indvar.next, %no_exit ] ; <i32> [#uses=1] + volatile store float 0.000000e+00, float* %D + %indvar.next = add i32 %indvar, 1 ; <i32> [#uses=2] + %exitcond = icmp eq i32 %indvar.next, %E ; <i1> [#uses=1] + br i1 %exitcond, label %loopexit, label %no_exit +loopexit: ; preds = %no_exit ret void } + diff --git a/test/Transforms/LoopStrengthReduce/invariant_value_first.ll b/test/Transforms/LoopStrengthReduce/invariant_value_first.ll index f2b75a2..86a1c25 100644 --- a/test/Transforms/LoopStrengthReduce/invariant_value_first.ll +++ b/test/Transforms/LoopStrengthReduce/invariant_value_first.ll @@ -1,22 +1,23 @@ ; Check that the index of 'P[outer]' is pulled out of the loop. -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | \ +; RUN: llvm-as < %s | opt -loop-reduce | llvm-dis | \ ; RUN: not grep {getelementptr.*%outer.*%INDVAR} -declare bool %pred() -declare int %foo() +declare i1 @pred() -void %test([10000 x int]* %P) { - %outer = call int %foo() - br label %Loop -Loop: - %INDVAR = phi int [0, %0], [%INDVAR2, %Loop] - - %STRRED = getelementptr [10000 x int]* %P, int %outer, int %INDVAR - store int 0, int* %STRRED +declare i32 @foo() - %INDVAR2 = add int %INDVAR, 1 - %cond = call bool %pred() - br bool %cond, label %Loop, label %Out -Out: +define void @test([10000 x i32]* %P) { +; <label>:0 + %outer = call i32 @foo( ) ; <i32> [#uses=1] + br label %Loop +Loop: ; preds = %Loop, %0 + %INDVAR = phi i32 [ 0, %0 ], [ %INDVAR2, %Loop ] ; <i32> [#uses=2] + %STRRED = getelementptr [10000 x i32]* %P, i32 %outer, i32 %INDVAR ; <i32*> [#uses=1] + store i32 0, i32* %STRRED + %INDVAR2 = add i32 %INDVAR, 1 ; <i32> [#uses=1] + %cond = call i1 @pred( ) ; <i1> [#uses=1] + br i1 %cond, label %Loop, label %Out +Out: ; preds = %Loop ret void } + diff --git a/test/Transforms/LoopStrengthReduce/invariant_value_first_arg.ll b/test/Transforms/LoopStrengthReduce/invariant_value_first_arg.ll index 6e90512..8e9cbc4 100644 --- a/test/Transforms/LoopStrengthReduce/invariant_value_first_arg.ll +++ b/test/Transforms/LoopStrengthReduce/invariant_value_first_arg.ll @@ -1,20 +1,20 @@ ; Check that the index of 'P[outer]' is pulled out of the loop. -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | \ +; RUN: llvm-as < %s | opt -loop-reduce | llvm-dis | \ ; RUN: not grep {getelementptr.*%outer.*%INDVAR} -declare bool %pred() +declare i1 @pred() -void %test([10000 x int]* %P, int %outer) { +define void @test([10000 x i32]* %P, i32 %outer) { +; <label>:0 br label %Loop -Loop: - %INDVAR = phi int [0, %0], [%INDVAR2, %Loop] - - %STRRED = getelementptr [10000 x int]* %P, int %outer, int %INDVAR - store int 0, int* %STRRED - - %INDVAR2 = add int %INDVAR, 1 - %cond = call bool %pred() - br bool %cond, label %Loop, label %Out -Out: +Loop: ; preds = %Loop, %0 + %INDVAR = phi i32 [ 0, %0 ], [ %INDVAR2, %Loop ] ; <i32> [#uses=2] + %STRRED = getelementptr [10000 x i32]* %P, i32 %outer, i32 %INDVAR ; <i32*> [#uses=1] + store i32 0, i32* %STRRED + %INDVAR2 = add i32 %INDVAR, 1 ; <i32> [#uses=1] + %cond = call i1 @pred( ) ; <i1> [#uses=1] + br i1 %cond, label %Loop, label %Out +Out: ; preds = %Loop ret void } + diff --git a/test/Transforms/LoopStrengthReduce/nested-reduce.ll b/test/Transforms/LoopStrengthReduce/nested-reduce.ll index 6f709e3..c19e844 100644 --- a/test/Transforms/LoopStrengthReduce/nested-reduce.ll +++ b/test/Transforms/LoopStrengthReduce/nested-reduce.ll @@ -1,56 +1,49 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | not grep mul +; RUN: llvm-as < %s | opt -loop-reduce | llvm-dis | not grep mul ; Make sure we don't get a multiply by 6 in this loop. -int %foo(int %A, int %B, int %C, int %D) { +define i32 @foo(i32 %A, i32 %B, i32 %C, i32 %D) { entry: - %tmp.5 = setgt int %C, 0 ; <bool> [#uses=1] - %tmp.25 = and int %A, 1 ; <int> [#uses=1] + %tmp.5 = icmp sgt i32 %C, 0 ; <i1> [#uses=1] + %tmp.25 = and i32 %A, 1 ; <i32> [#uses=1] br label %loopentry.1 - loopentry.1: ; preds = %loopexit.1, %entry - %indvar20 = phi uint [ 0, %entry ], [ %indvar.next21, %loopexit.1 ] ; <uint> [#uses=2] - %k.1 = phi int [ 0, %entry ], [ %k.1.3, %loopexit.1 ] ; <int> [#uses=2] - br bool %tmp.5, label %no_exit.1.preheader, label %loopexit.1 - + %indvar20 = phi i32 [ 0, %entry ], [ %indvar.next21, %loopexit.1 ] ; <i32> [#uses=2] + %k.1 = phi i32 [ 0, %entry ], [ %k.1.3, %loopexit.1 ] ; <i32> [#uses=2] + br i1 %tmp.5, label %no_exit.1.preheader, label %loopexit.1 no_exit.1.preheader: ; preds = %loopentry.1 - %i.0.0 = cast uint %indvar20 to int ; <int> [#uses=1] - %tmp.9 = mul int %i.0.0, 6 ; <int> [#uses=1] + %i.0.0 = bitcast i32 %indvar20 to i32 ; <i32> [#uses=1] + %tmp.9 = mul i32 %i.0.0, 6 ; <i32> [#uses=1] br label %no_exit.1.outer - no_exit.1.outer: ; preds = %cond_true, %no_exit.1.preheader - %k.1.2.ph = phi int [ %k.1, %no_exit.1.preheader ], [ %k.09, %cond_true ] ; <int> [#uses=2] - %j.1.2.ph = phi int [ 0, %no_exit.1.preheader ], [ %inc.1, %cond_true ] ; <int> [#uses=1] + %k.1.2.ph = phi i32 [ %k.1, %no_exit.1.preheader ], [ %k.09, %cond_true ] ; <i32> [#uses=2] + %j.1.2.ph = phi i32 [ 0, %no_exit.1.preheader ], [ %inc.1, %cond_true ] ; <i32> [#uses=1] br label %no_exit.1 - no_exit.1: ; preds = %cond_continue, %no_exit.1.outer - %indvar.ui = phi uint [ 0, %no_exit.1.outer ], [ %indvar.next, %cond_continue ] ; <uint> [#uses=2] - %indvar = cast uint %indvar.ui to int ; <int> [#uses=1] - %j.1.2 = add int %indvar, %j.1.2.ph ; <int> [#uses=2] - %tmp.11 = add int %j.1.2, %tmp.9 ; <int> [#uses=1] - %tmp.12 = cast int %tmp.11 to ubyte ; <ubyte> [#uses=1] - %tmp.13 = shl int %D, ubyte %tmp.12 ; <int> [#uses=2] - %tmp.15 = seteq int %tmp.13, %B ; <bool> [#uses=1] - %inc.1 = add int %j.1.2, 1 ; <int> [#uses=3] - br bool %tmp.15, label %cond_true, label %cond_continue - + %indvar.ui = phi i32 [ 0, %no_exit.1.outer ], [ %indvar.next, %cond_continue ] ; <i32> [#uses=2] + %indvar = bitcast i32 %indvar.ui to i32 ; <i32> [#uses=1] + %j.1.2 = add i32 %indvar, %j.1.2.ph ; <i32> [#uses=2] + %tmp.11 = add i32 %j.1.2, %tmp.9 ; <i32> [#uses=1] + %tmp.12 = trunc i32 %tmp.11 to i8 ; <i8> [#uses=1] + %shift.upgrd.1 = zext i8 %tmp.12 to i32 ; <i32> [#uses=1] + %tmp.13 = shl i32 %D, %shift.upgrd.1 ; <i32> [#uses=2] + %tmp.15 = icmp eq i32 %tmp.13, %B ; <i1> [#uses=1] + %inc.1 = add i32 %j.1.2, 1 ; <i32> [#uses=3] + br i1 %tmp.15, label %cond_true, label %cond_continue cond_true: ; preds = %no_exit.1 - %tmp.26 = and int %tmp.25, %tmp.13 ; <int> [#uses=1] - %k.09 = add int %tmp.26, %k.1.2.ph ; <int> [#uses=2] - %tmp.517 = setlt int %inc.1, %C ; <bool> [#uses=1] - br bool %tmp.517, label %no_exit.1.outer, label %loopexit.1 - + %tmp.26 = and i32 %tmp.25, %tmp.13 ; <i32> [#uses=1] + %k.09 = add i32 %tmp.26, %k.1.2.ph ; <i32> [#uses=2] + %tmp.517 = icmp slt i32 %inc.1, %C ; <i1> [#uses=1] + br i1 %tmp.517, label %no_exit.1.outer, label %loopexit.1 cond_continue: ; preds = %no_exit.1 - %tmp.519 = setlt int %inc.1, %C ; <bool> [#uses=1] - %indvar.next = add uint %indvar.ui, 1 ; <uint> [#uses=1] - br bool %tmp.519, label %no_exit.1, label %loopexit.1 - + %tmp.519 = icmp slt i32 %inc.1, %C ; <i1> [#uses=1] + %indvar.next = add i32 %indvar.ui, 1 ; <i32> [#uses=1] + br i1 %tmp.519, label %no_exit.1, label %loopexit.1 loopexit.1: ; preds = %cond_continue, %cond_true, %loopentry.1 - %k.1.3 = phi int [ %k.1, %loopentry.1 ], [ %k.09, %cond_true ], [ %k.1.2.ph, %cond_continue ] ; <int> [#uses=2] - %indvar.next21 = add uint %indvar20, 1 ; <uint> [#uses=2] - %exitcond = seteq uint %indvar.next21, 4 ; <bool> [#uses=1] - br bool %exitcond, label %loopexit.0, label %loopentry.1 - + %k.1.3 = phi i32 [ %k.1, %loopentry.1 ], [ %k.09, %cond_true ], [ %k.1.2.ph, %cond_continue ] ; <i32> [#uses=2] + %indvar.next21 = add i32 %indvar20, 1 ; <i32> [#uses=2] + %exitcond = icmp eq i32 %indvar.next21, 4 ; <i1> [#uses=1] + br i1 %exitcond, label %loopexit.0, label %loopentry.1 loopexit.0: ; preds = %loopexit.1 - ret int %k.1.3 + ret i32 %k.1.3 } diff --git a/test/Transforms/LoopStrengthReduce/ops_after_indvar.ll b/test/Transforms/LoopStrengthReduce/ops_after_indvar.ll index 59da48b..5880dc1 100644 --- a/test/Transforms/LoopStrengthReduce/ops_after_indvar.ll +++ b/test/Transforms/LoopStrengthReduce/ops_after_indvar.ll @@ -1,22 +1,24 @@ ; Check that this test makes INDVAR and related stuff dead, because P[indvar] ; gets reduced, making INDVAR dead. -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | not grep INDVAR +; RUN: llvm-as < %s | opt -loop-reduce | llvm-dis | not grep INDVAR -declare bool %pred() -declare int %getidx() +declare i1 @pred() -void %test([10000 x int]* %P) { - br label %Loop -Loop: - %INDVAR = phi int [0, %0], [%INDVAR2, %Loop] - %idx = call int %getidx() - %STRRED = getelementptr [10000 x int]* %P, int %INDVAR, int %idx - store int 0, int* %STRRED +declare i32 @getidx() - %INDVAR2 = add int %INDVAR, 1 - %cond = call bool %pred() - br bool %cond, label %Loop, label %Out -Out: +define void @test([10000 x i32]* %P) { +; <label>:0 + br label %Loop +Loop: ; preds = %Loop, %0 + %INDVAR = phi i32 [ 0, %0 ], [ %INDVAR2, %Loop ] ; <i32> [#uses=2] + %idx = call i32 @getidx( ) ; <i32> [#uses=1] + %STRRED = getelementptr [10000 x i32]* %P, i32 %INDVAR, i32 %idx ; <i32*> [#uses=1] + store i32 0, i32* %STRRED + %INDVAR2 = add i32 %INDVAR, 1 ; <i32> [#uses=1] + %cond = call i1 @pred( ) ; <i1> [#uses=1] + br i1 %cond, label %Loop, label %Out +Out: ; preds = %Loop ret void } + diff --git a/test/Transforms/LoopStrengthReduce/phi_node_update_multiple_preds.ll b/test/Transforms/LoopStrengthReduce/phi_node_update_multiple_preds.ll index cd0afe1..64d387a 100644 --- a/test/Transforms/LoopStrengthReduce/phi_node_update_multiple_preds.ll +++ b/test/Transforms/LoopStrengthReduce/phi_node_update_multiple_preds.ll @@ -1,29 +1,28 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce -disable-output +; RUN: llvm-as < %s | opt -loop-reduce -disable-output ; LSR should not crash on this. -fastcc void %loadloop() { +define fastcc void @loadloop() { entry: - switch sbyte 0, label %shortcirc_next [ - sbyte 32, label %loopexit.2 - sbyte 59, label %loopexit.2 + switch i8 0, label %shortcirc_next [ + i8 32, label %loopexit.2 + i8 59, label %loopexit.2 ] - shortcirc_next: ; preds = %no_exit.2, %entry - %indvar37 = phi uint [ 0, %entry ], [ %indvar.next38, %no_exit.2 ] ; <uint> [#uses=3] - %wp.2.4 = getelementptr sbyte* null, uint %indvar37 ; <sbyte*> [#uses=1] - br bool false, label %loopexit.2, label %no_exit.2 - + %indvar37 = phi i32 [ 0, %entry ], [ %indvar.next38, %no_exit.2 ] ; <i32> [#uses=3] + %gep.upgrd.1 = zext i32 %indvar37 to i64 ; <i64> [#uses=1] + %wp.2.4 = getelementptr i8* null, i64 %gep.upgrd.1 ; <i8*> [#uses=1] + br i1 false, label %loopexit.2, label %no_exit.2 no_exit.2: ; preds = %shortcirc_next - %wp.2.4.rec = cast uint %indvar37 to int ; <int> [#uses=1] - %inc.1.rec = add int %wp.2.4.rec, 1 ; <int> [#uses=1] - %inc.1 = getelementptr sbyte* null, int %inc.1.rec ; <sbyte*> [#uses=2] - %indvar.next38 = add uint %indvar37, 1 ; <uint> [#uses=1] - switch sbyte 0, label %shortcirc_next [ - sbyte 32, label %loopexit.2 - sbyte 59, label %loopexit.2 + %wp.2.4.rec = bitcast i32 %indvar37 to i32 ; <i32> [#uses=1] + %inc.1.rec = add i32 %wp.2.4.rec, 1 ; <i32> [#uses=1] + %inc.1 = getelementptr i8* null, i32 %inc.1.rec ; <i8*> [#uses=2] + %indvar.next38 = add i32 %indvar37, 1 ; <i32> [#uses=1] + switch i8 0, label %shortcirc_next [ + i8 32, label %loopexit.2 + i8 59, label %loopexit.2 ] - loopexit.2: ; preds = %no_exit.2, %no_exit.2, %shortcirc_next, %entry, %entry - %wp.2.7 = phi sbyte* [ null, %entry ], [ null, %entry ], [ %wp.2.4, %shortcirc_next ], [ %inc.1, %no_exit.2 ], [ %inc.1, %no_exit.2 ] ; <sbyte*> [#uses=0] + %wp.2.7 = phi i8* [ null, %entry ], [ null, %entry ], [ %wp.2.4, %shortcirc_next ], [ %inc.1, %no_exit.2 ], [ %inc.1, %no_exit.2 ] ; <i8*> [#uses=0] ret void } + diff --git a/test/Transforms/LoopStrengthReduce/related_indvars.ll b/test/Transforms/LoopStrengthReduce/related_indvars.ll index c1cd8d2..434da99 100644 --- a/test/Transforms/LoopStrengthReduce/related_indvars.ll +++ b/test/Transforms/LoopStrengthReduce/related_indvars.ll @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | grep phi | count 1 +; RUN: llvm-as < %s | opt -loop-reduce | llvm-dis | grep phi | count 1 ; This should only result in one PHI node! @@ -7,22 +7,21 @@ ; *D++ = F; ; } -void %foo(double* %D, double* %E, double %F) { +define void @foo(double* %D, double* %E, double %F) { entry: - %tmp.24 = seteq double* %D, %E ; <bool> [#uses=1] - br bool %tmp.24, label %return, label %no_exit - + %tmp.24 = icmp eq double* %D, %E ; <i1> [#uses=1] + br i1 %tmp.24, label %return, label %no_exit no_exit: ; preds = %no_exit, %entry - %indvar = phi uint [ 0, %entry ], [ %indvar.next, %no_exit ] ; <uint> [#uses=3] - %D_addr.0.0.rec = cast uint %indvar to int ; <int> [#uses=1] - %D_addr.0.0 = getelementptr double* %D, int %D_addr.0.0.rec ; <double*> [#uses=1] - %inc.rec = add int %D_addr.0.0.rec, 1 ; <int> [#uses=1] - %inc = getelementptr double* %D, int %inc.rec ; <double*> [#uses=1] + %indvar = phi i32 [ 0, %entry ], [ %indvar.next, %no_exit ] ; <i32> [#uses=2] + %D_addr.0.0.rec = bitcast i32 %indvar to i32 ; <i32> [#uses=2] + %D_addr.0.0 = getelementptr double* %D, i32 %D_addr.0.0.rec ; <double*> [#uses=1] + %inc.rec = add i32 %D_addr.0.0.rec, 1 ; <i32> [#uses=1] + %inc = getelementptr double* %D, i32 %inc.rec ; <double*> [#uses=1] store double %F, double* %D_addr.0.0 - %tmp.2 = seteq double* %inc, %E ; <bool> [#uses=1] - %indvar.next = add uint %indvar, 1 ; <uint> [#uses=1] - br bool %tmp.2, label %return, label %no_exit - + %tmp.2 = icmp eq double* %inc, %E ; <i1> [#uses=1] + %indvar.next = add i32 %indvar, 1 ; <i32> [#uses=1] + br i1 %tmp.2, label %return, label %no_exit return: ; preds = %no_exit, %entry ret void } + diff --git a/test/Transforms/LoopStrengthReduce/remove_indvar.ll b/test/Transforms/LoopStrengthReduce/remove_indvar.ll index 517180b..623c0b5 100644 --- a/test/Transforms/LoopStrengthReduce/remove_indvar.ll +++ b/test/Transforms/LoopStrengthReduce/remove_indvar.ll @@ -1,19 +1,19 @@ ; Check that this test makes INDVAR and related stuff dead. -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | not grep INDVAR +; RUN: llvm-as < %s | opt -loop-reduce | llvm-dis | not grep INDVAR -declare bool %pred() +declare i1 @pred() -void %test(int* %P) { +define void @test(i32* %P) { +; <label>:0 br label %Loop -Loop: - %INDVAR = phi int [0, %0], [%INDVAR2, %Loop] - - %STRRED = getelementptr int* %P, int %INDVAR - store int 0, int* %STRRED - - %INDVAR2 = add int %INDVAR, 1 - %cond = call bool %pred() - br bool %cond, label %Loop, label %Out -Out: +Loop: ; preds = %Loop, %0 + %INDVAR = phi i32 [ 0, %0 ], [ %INDVAR2, %Loop ] ; <i32> [#uses=2] + %STRRED = getelementptr i32* %P, i32 %INDVAR ; <i32*> [#uses=1] + store i32 0, i32* %STRRED + %INDVAR2 = add i32 %INDVAR, 1 ; <i32> [#uses=1] + %cond = call i1 @pred( ) ; <i1> [#uses=1] + br i1 %cond, label %Loop, label %Out +Out: ; preds = %Loop ret void } + diff --git a/test/Transforms/LoopStrengthReduce/share_code_in_preheader.ll b/test/Transforms/LoopStrengthReduce/share_code_in_preheader.ll index 27c72d2..a78fa5f 100644 --- a/test/Transforms/LoopStrengthReduce/share_code_in_preheader.ll +++ b/test/Transforms/LoopStrengthReduce/share_code_in_preheader.ll @@ -1,28 +1,27 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | grep mul | count 1 +; RUN: llvm-as < %s | opt -loop-reduce | llvm-dis | grep mul | count 1 ; LSR should not make two copies of the Q*L expression in the preheader! -sbyte %test(sbyte* %A, sbyte* %B, int %L, int %Q, int %N.s) { +define i8 @test(i8* %A, i8* %B, i32 %L, i32 %Q, i32 %N.s) { entry: - %tmp.6 = mul int %Q, %L ; <int> [#uses=1] - %N = cast int %N.s to uint ; <uint> [#uses=1] + %tmp.6 = mul i32 %Q, %L ; <i32> [#uses=1] + %N = bitcast i32 %N.s to i32 ; <i32> [#uses=1] br label %no_exit - -no_exit: ; preds = %no_exit, %no_exit.preheader - %indvar.ui = phi uint [ 0, %entry], [ %indvar.next, %no_exit ] ; <uint> [#uses=2] - %Sum.0.0 = phi sbyte [ 0, %entry], [ %tmp.21, %no_exit ] ; <sbyte> [#uses=1] - %indvar = cast uint %indvar.ui to int ; <int> [#uses=1] - %N_addr.0.0 = sub int %N.s, %indvar ; <int> [#uses=1] - %tmp.8 = add int %N_addr.0.0, %tmp.6 ; <int> [#uses=2] - %tmp.9 = getelementptr sbyte* %A, int %tmp.8 ; <sbyte*> [#uses=1] - %tmp.10 = load sbyte* %tmp.9 ; <sbyte> [#uses=1] - %tmp.17 = getelementptr sbyte* %B, int %tmp.8 ; <sbyte*> [#uses=1] - %tmp.18 = load sbyte* %tmp.17 ; <sbyte> [#uses=1] - %tmp.19 = sub sbyte %tmp.10, %tmp.18 ; <sbyte> [#uses=1] - %tmp.21 = add sbyte %tmp.19, %Sum.0.0 ; <sbyte> [#uses=2] - %indvar.next = add uint %indvar.ui, 1 ; <uint> [#uses=2] - %exitcond = seteq uint %indvar.next, %N ; <bool> [#uses=1] - br bool %exitcond, label %loopexit, label %no_exit - -loopexit: - ret sbyte %tmp.21 +no_exit: ; preds = %no_exit, %entry + %indvar.ui = phi i32 [ 0, %entry ], [ %indvar.next, %no_exit ] ; <i32> [#uses=2] + %Sum.0.0 = phi i8 [ 0, %entry ], [ %tmp.21, %no_exit ] ; <i8> [#uses=1] + %indvar = bitcast i32 %indvar.ui to i32 ; <i32> [#uses=1] + %N_addr.0.0 = sub i32 %N.s, %indvar ; <i32> [#uses=1] + %tmp.8 = add i32 %N_addr.0.0, %tmp.6 ; <i32> [#uses=2] + %tmp.9 = getelementptr i8* %A, i32 %tmp.8 ; <i8*> [#uses=1] + %tmp.10 = load i8* %tmp.9 ; <i8> [#uses=1] + %tmp.17 = getelementptr i8* %B, i32 %tmp.8 ; <i8*> [#uses=1] + %tmp.18 = load i8* %tmp.17 ; <i8> [#uses=1] + %tmp.19 = sub i8 %tmp.10, %tmp.18 ; <i8> [#uses=1] + %tmp.21 = add i8 %tmp.19, %Sum.0.0 ; <i8> [#uses=2] + %indvar.next = add i32 %indvar.ui, 1 ; <i32> [#uses=2] + %exitcond = icmp eq i32 %indvar.next, %N ; <i1> [#uses=1] + br i1 %exitcond, label %loopexit, label %no_exit +loopexit: ; preds = %no_exit + ret i8 %tmp.21 } + diff --git a/test/Transforms/LoopStrengthReduce/share_ivs.ll b/test/Transforms/LoopStrengthReduce/share_ivs.ll index edc29b7..b52d571 100644 --- a/test/Transforms/LoopStrengthReduce/share_ivs.ll +++ b/test/Transforms/LoopStrengthReduce/share_ivs.ll @@ -1,24 +1,24 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | grep phi | count 1 +; RUN: llvm-as < %s | opt -loop-reduce | llvm-dis | grep phi | count 1 ; This testcase should have ONE stride 18 indvar, the other use should have a ; loop invariant value (B) added to it inside of the loop, instead of having ; a whole indvar based on B for it. -declare bool %cond(uint) +declare i1 @cond(i32) -void %test(uint %B) { +define void @test(i32 %B) { +; <label>:0 br label %Loop -Loop: - %IV = phi uint [0, %0], [%IVn, %Loop] - - %C = mul uint %IV, 18 - %D = mul uint %IV, 18 - %E = add uint %D, %B - - %cnd = call bool %cond(uint %E) - call bool %cond(uint %C) - %IVn = add uint %IV, 1 - br bool %cnd, label %Loop, label %Out -Out: +Loop: ; preds = %Loop, %0 + %IV = phi i32 [ 0, %0 ], [ %IVn, %Loop ] ; <i32> [#uses=3] + %C = mul i32 %IV, 18 ; <i32> [#uses=1] + %D = mul i32 %IV, 18 ; <i32> [#uses=1] + %E = add i32 %D, %B ; <i32> [#uses=1] + %cnd = call i1 @cond( i32 %E ) ; <i1> [#uses=1] + call i1 @cond( i32 %C ) ; <i1>:1 [#uses=0] + %IVn = add i32 %IV, 1 ; <i32> [#uses=1] + br i1 %cnd, label %Loop, label %Out +Out: ; preds = %Loop ret void } + diff --git a/test/Transforms/LoopStrengthReduce/use_postinc_value_outside_loop.ll b/test/Transforms/LoopStrengthReduce/use_postinc_value_outside_loop.ll index 195f0b2..a521ba4 100644 --- a/test/Transforms/LoopStrengthReduce/use_postinc_value_outside_loop.ll +++ b/test/Transforms/LoopStrengthReduce/use_postinc_value_outside_loop.ll @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | \ +; RUN: llvm-as < %s | opt -loop-reduce | llvm-dis | \ ; RUN: grep {add i32 %iv.*inc, 1} ; ; Make sure that the use of the IV outside of the loop (the store) uses the @@ -7,23 +7,23 @@ ; around for the duration of the loop, adding a copy and an extra register ; to the loop. -declare bool %pred(int %X) +declare i1 @pred(i32) -void %test([700 x int]* %nbeaux_.0__558, int* %i_.16574) { +define void @test([700 x i32]* %nbeaux_.0__558, i32* %i_.16574) { then.0: - br label %no_exit.2 - -no_exit.2: ; preds = %no_exit.2, %then.0 - %indvar630.ui = phi uint [ 0, %then.0 ], [ %indvar.next631, %no_exit.2 ] ; <uint> [#uses=3] - %indvar630 = cast uint %indvar630.ui to int ; <int> [#uses=1] - %tmp.38 = getelementptr [700 x int]* %nbeaux_.0__558, int 0, uint %indvar630.ui ; <int*> [#uses=1] - store int 0, int* %tmp.38 - %inc.2 = add int %indvar630, 2 ; <int> [#uses=2] - %tmp.34 = call bool %pred(int %indvar630) - %indvar.next631 = add uint %indvar630.ui, 1 ; <uint> [#uses=1] - br bool %tmp.34, label %no_exit.2, label %loopexit.2.loopexit - -loopexit.2.loopexit: ; preds = %no_exit.2 - store int %inc.2, int* %i_.16574 - ret void + br label %no_exit.2 +no_exit.2: ; preds = %no_exit.2, %then.0 + %indvar630.ui = phi i32 [ 0, %then.0 ], [ %indvar.next631, %no_exit.2 ] ; <i32> [#uses=3] + %indvar630 = bitcast i32 %indvar630.ui to i32 ; <i32> [#uses=2] + %gep.upgrd.1 = zext i32 %indvar630.ui to i64 ; <i64> [#uses=1] + %tmp.38 = getelementptr [700 x i32]* %nbeaux_.0__558, i32 0, i64 %gep.upgrd.1 ; <i32*> [#uses=1] + store i32 0, i32* %tmp.38 + %inc.2 = add i32 %indvar630, 2 ; <i32> [#uses=1] + %tmp.34 = call i1 @pred( i32 %indvar630 ) ; <i1> [#uses=1] + %indvar.next631 = add i32 %indvar630.ui, 1 ; <i32> [#uses=1] + br i1 %tmp.34, label %no_exit.2, label %loopexit.2.loopexit +loopexit.2.loopexit: ; preds = %no_exit.2 + store i32 %inc.2, i32* %i_.16574 + ret void } + diff --git a/test/Transforms/LoopStrengthReduce/var_stride_used_by_compare.ll b/test/Transforms/LoopStrengthReduce/var_stride_used_by_compare.ll index 1daa403..53eedd6 100644 --- a/test/Transforms/LoopStrengthReduce/var_stride_used_by_compare.ll +++ b/test/Transforms/LoopStrengthReduce/var_stride_used_by_compare.ll @@ -1,49 +1,41 @@ ; Base should not be i*3, it should be i*2. -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | \ -; RUN: not grep {mul.*%i, 3} +; RUN: llvm-as < %s | opt -loop-reduce | llvm-dis | \ +; RUN: not grep {mul.*%i, 3} ; Indvar should not start at zero: -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | \ -; RUN: not grep {phi uint .* 0} +; RUN: llvm-as < %s | opt -loop-reduce | llvm-dis | \ +; RUN: not grep {phi i32 .* 0} ; END. ; mul uint %i, 3 -; ModuleID = 't.bc' target datalayout = "e-p:32:32" -target endian = little -target pointersize = 32 target triple = "i686-apple-darwin8" -%flags2 = external global [8193 x sbyte], align 32 ; <[8193 x sbyte]*> [#uses=1] +@flags2 = external global [8193 x i8], align 32 ; <[8193 x i8]*> [#uses=1] -implementation ; Functions: - -void %foo(int %k, int %i.s) { +define void @foo(i32 %k, i32 %i.s) { entry: - %i = cast int %i.s to uint ; <uint> [#uses=2] - %k_addr.012 = shl int %i.s, ubyte 1 ; <int> [#uses=1] - %tmp14 = setgt int %k_addr.012, 8192 ; <bool> [#uses=1] - br bool %tmp14, label %return, label %bb.preheader - + %i = bitcast i32 %i.s to i32 ; <i32> [#uses=2] + %k_addr.012 = shl i32 %i.s, 1 ; <i32> [#uses=1] + %tmp14 = icmp sgt i32 %k_addr.012, 8192 ; <i1> [#uses=1] + br i1 %tmp14, label %return, label %bb.preheader bb.preheader: ; preds = %entry - %tmp. = shl uint %i, ubyte 1 ; <uint> [#uses=1] + %tmp. = shl i32 %i, 1 ; <i32> [#uses=1] br label %bb - bb: ; preds = %bb, %bb.preheader - %indvar = phi uint [ %indvar.next, %bb ], [ 0, %bb.preheader ] ; <uint> [#uses=2] - %tmp.15 = mul uint %indvar, %i ; <uint> [#uses=1] - %tmp.16 = add uint %tmp.15, %tmp. ; <uint> [#uses=2] - %k_addr.0.0 = cast uint %tmp.16 to int ; <int> [#uses=1] - %tmp = getelementptr [8193 x sbyte]* %flags2, int 0, uint %tmp.16 ; <sbyte*> [#uses=1] - store sbyte 0, sbyte* %tmp - %k_addr.0 = add int %k_addr.0.0, %i.s ; <int> [#uses=1] - %tmp = setgt int %k_addr.0, 8192 ; <bool> [#uses=1] - %indvar.next = add uint %indvar, 1 ; <uint> [#uses=1] - br bool %tmp, label %return.loopexit, label %bb - + %indvar = phi i32 [ %indvar.next, %bb ], [ 0, %bb.preheader ] ; <i32> [#uses=2] + %tmp.15 = mul i32 %indvar, %i ; <i32> [#uses=1] + %tmp.16 = add i32 %tmp.15, %tmp. ; <i32> [#uses=2] + %k_addr.0.0 = bitcast i32 %tmp.16 to i32 ; <i32> [#uses=1] + %gep.upgrd.1 = zext i32 %tmp.16 to i64 ; <i64> [#uses=1] + %tmp = getelementptr [8193 x i8]* @flags2, i32 0, i64 %gep.upgrd.1 ; <i8*> [#uses=1] + store i8 0, i8* %tmp + %k_addr.0 = add i32 %k_addr.0.0, %i.s ; <i32> [#uses=1] + %tmp.upgrd.2 = icmp sgt i32 %k_addr.0, 8192 ; <i1> [#uses=1] + %indvar.next = add i32 %indvar, 1 ; <i32> [#uses=1] + br i1 %tmp.upgrd.2, label %return.loopexit, label %bb return.loopexit: ; preds = %bb br label %return - return: ; preds = %return.loopexit, %entry ret void } diff --git a/test/Transforms/LoopStrengthReduce/variable_stride.ll b/test/Transforms/LoopStrengthReduce/variable_stride.ll index 1af2a12..90d3947 100644 --- a/test/Transforms/LoopStrengthReduce/variable_stride.ll +++ b/test/Transforms/LoopStrengthReduce/variable_stride.ll @@ -1,17 +1,18 @@ ; Check that variable strides are reduced to adds instead of multiplies. -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | not grep mul +; RUN: llvm-as < %s | opt -loop-reduce | llvm-dis | not grep mul -declare bool %pred(int) +declare i1 @pred(i32) -void %test([10000 x int]* %P, int %STRIDE) { +define void @test([10000 x i32]* %P, i32 %STRIDE) { +; <label>:0 br label %Loop -Loop: - %INDVAR = phi int [0, %0], [%INDVAR2, %Loop] - %Idx = mul int %INDVAR, %STRIDE - - %cond = call bool %pred(int %Idx) - %INDVAR2 = add int %INDVAR, 1 - br bool %cond, label %Loop, label %Out -Out: +Loop: ; preds = %Loop, %0 + %INDVAR = phi i32 [ 0, %0 ], [ %INDVAR2, %Loop ] ; <i32> [#uses=2] + %Idx = mul i32 %INDVAR, %STRIDE ; <i32> [#uses=1] + %cond = call i1 @pred( i32 %Idx ) ; <i1> [#uses=1] + %INDVAR2 = add i32 %INDVAR, 1 ; <i32> [#uses=1] + br i1 %cond, label %Loop, label %Out +Out: ; preds = %Loop ret void } + diff --git a/test/Transforms/LoopUnroll/2004-05-13-DontUnrollTooMuch.ll b/test/Transforms/LoopUnroll/2004-05-13-DontUnrollTooMuch.ll index 8c3e697..13a26a2 100644 --- a/test/Transforms/LoopUnroll/2004-05-13-DontUnrollTooMuch.ll +++ b/test/Transforms/LoopUnroll/2004-05-13-DontUnrollTooMuch.ll @@ -1,15 +1,14 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-unroll -disable-output +; RUN: llvm-as < %s | opt -loop-unroll -disable-output -int %main() { +define i32 @main() { entry: - br label %no_exit - -no_exit: ; preds = %entry, %no_exit - %indvar = phi uint [ 0, %entry ], [ %indvar.next, %no_exit ] ; <uint> [#uses=1] - %indvar.next = add uint %indvar, 1 ; <uint> [#uses=2] - %exitcond = setne uint %indvar.next, 2147483648 ; <bool> [#uses=1] - br bool %exitcond, label %no_exit, label %loopexit - -loopexit: ; preds = %no_exit - ret int 0 + br label %no_exit +no_exit: ; preds = %no_exit, %entry + %indvar = phi i32 [ 0, %entry ], [ %indvar.next, %no_exit ] ; <i32> [#uses=1] + %indvar.next = add i32 %indvar, 1 ; <i32> [#uses=2] + %exitcond = icmp ne i32 %indvar.next, -2147483648 ; <i1> [#uses=1] + br i1 %exitcond, label %no_exit, label %loopexit +loopexit: ; preds = %no_exit + ret i32 0 } + diff --git a/test/Transforms/LoopUnroll/2005-03-06-BadLoopInfoUpdate.ll b/test/Transforms/LoopUnroll/2005-03-06-BadLoopInfoUpdate.ll index 1681506..db107fd 100644 --- a/test/Transforms/LoopUnroll/2005-03-06-BadLoopInfoUpdate.ll +++ b/test/Transforms/LoopUnroll/2005-03-06-BadLoopInfoUpdate.ll @@ -1,29 +1,22 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-unroll -loopsimplify -disable-output +; RUN: llvm-as < %s | opt -loop-unroll -loopsimplify -disable-output -implementation ; Functions: - -void %print_board() { +define void @print_board() { entry: br label %no_exit.1 - no_exit.1: ; preds = %cond_false.2, %entry br label %no_exit.2 - no_exit.2: ; preds = %no_exit.2, %no_exit.1 - %indvar1 = phi uint [ 0, %no_exit.1 ], [ %indvar.next2, %no_exit.2 ] ; <uint> [#uses=1] - %indvar.next2 = add uint %indvar1, 1 ; <uint> [#uses=2] - %exitcond3 = setne uint %indvar.next2, 7 ; <bool> [#uses=1] - br bool %exitcond3, label %no_exit.2, label %loopexit.2 - + %indvar1 = phi i32 [ 0, %no_exit.1 ], [ %indvar.next2, %no_exit.2 ] ; <i32> [#uses=1] + %indvar.next2 = add i32 %indvar1, 1 ; <i32> [#uses=2] + %exitcond3 = icmp ne i32 %indvar.next2, 7 ; <i1> [#uses=1] + br i1 %exitcond3, label %no_exit.2, label %loopexit.2 loopexit.2: ; preds = %no_exit.2 - br bool false, label %cond_true.2, label %cond_false.2 - + br i1 false, label %cond_true.2, label %cond_false.2 cond_true.2: ; preds = %loopexit.2 ret void - cond_false.2: ; preds = %loopexit.2 - br bool false, label %no_exit.1, label %loopexit.1 - + br i1 false, label %no_exit.1, label %loopexit.1 loopexit.1: ; preds = %cond_false.2 ret void } + diff --git a/test/Transforms/LoopUnroll/2006-08-24-MultiBlockLoop.ll b/test/Transforms/LoopUnroll/2006-08-24-MultiBlockLoop.ll index 42ff3fa..16419ca 100644 --- a/test/Transforms/LoopUnroll/2006-08-24-MultiBlockLoop.ll +++ b/test/Transforms/LoopUnroll/2006-08-24-MultiBlockLoop.ll @@ -1,18 +1,16 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-unroll | llvm-dis | grep bb72.2 +; RUN: llvm-as < %s | opt -loop-unroll | llvm-dis | grep bb72.2 -void %vorbis_encode_noisebias_setup() { +define void @vorbis_encode_noisebias_setup() { entry: br label %cond_true.outer - -cond_true.outer: - %indvar1.ph = phi uint [ 0, %entry ], [ %indvar.next2, %bb72 ] +cond_true.outer: ; preds = %bb72, %entry + %indvar1.ph = phi i32 [ 0, %entry ], [ %indvar.next2, %bb72 ] ; <i32> [#uses=1] br label %bb72 - -bb72: - %indvar.next2 = add uint %indvar1.ph, 1 - %exitcond3 = seteq uint %indvar.next2, 3 - br bool %exitcond3, label %cond_true138, label %cond_true.outer - -cond_true138: +bb72: ; preds = %cond_true.outer + %indvar.next2 = add i32 %indvar1.ph, 1 ; <i32> [#uses=2] + %exitcond3 = icmp eq i32 %indvar.next2, 3 ; <i1> [#uses=1] + br i1 %exitcond3, label %cond_true138, label %cond_true.outer +cond_true138: ; preds = %bb72 ret void } + diff --git a/test/Transforms/LoopUnroll/2007-04-16-PhiUpdate.ll b/test/Transforms/LoopUnroll/2007-04-16-PhiUpdate.ll index c30d838..26fa60a 100644 --- a/test/Transforms/LoopUnroll/2007-04-16-PhiUpdate.ll +++ b/test/Transforms/LoopUnroll/2007-04-16-PhiUpdate.ll @@ -1,18 +1,17 @@ ; PR 1334 -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-unroll -disable-output +; RUN: llvm-as < %s | opt -loop-unroll -disable-output -void @sal__math_float_manipulator_7__math__joint_array_dcv_ops__Omultiply__3([6 x float]* %agg.result) { +define void @sal__math_float_manipulator_7__math__joint_array_dcv_ops__Omultiply__3([6 x float]* %agg.result) { entry: %tmp282911 = zext i8 0 to i32 ; <i32> [#uses=1] br label %cond_next - cond_next: ; preds = %cond_next, %entry %indvar = phi i8 [ 0, %entry ], [ %indvar.next, %cond_next ] ; <i8> [#uses=1] %indvar.next = add i8 %indvar, 1 ; <i8> [#uses=2] %exitcond = icmp eq i8 %indvar.next, 7 ; <i1> [#uses=1] br i1 %exitcond, label %bb27, label %cond_next - bb27: ; preds = %cond_next %tmp282911.lcssa = phi i32 [ %tmp282911, %cond_next ] ; <i32> [#uses=0] ret void } + diff --git a/test/Transforms/LoopUnswitch/2006-02-14-LoopSimplifyCrash.ll b/test/Transforms/LoopUnswitch/2006-02-14-LoopSimplifyCrash.ll index 38df259..b80220a 100644 --- a/test/Transforms/LoopUnswitch/2006-02-14-LoopSimplifyCrash.ll +++ b/test/Transforms/LoopUnswitch/2006-02-14-LoopSimplifyCrash.ll @@ -1,1705 +1,1697 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-unswitch -disable-output +; RUN: llvm-as < %s | opt -loop-unswitch -disable-output +; END. -target endian = big -target pointersize = 32 +target datalayout = "E-p:32:32" target triple = "powerpc-apple-darwin8.2.0" deplibs = [ "c", "crtend" ] - %struct.__sFILE = type { ubyte*, int, int, short, short, %struct.__sbuf, int, sbyte*, int (sbyte*)*, int (sbyte*, sbyte*, int)*, long (sbyte*, long, int)*, int (sbyte*, sbyte*, int)*, %struct.__sbuf, %struct.__sFILEX*, int, [3 x ubyte], [1 x ubyte], %struct.__sbuf, int, long } + %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 { ubyte*, int } - %struct.fd_set = type { [32 x int] } - %struct.timeval = type { int, int } - %struct.tm = type { int, int, int, int, int, int, int, int, int, int, sbyte* } - %typedef.CHESS_PATH = type { [65 x int], ubyte, ubyte, ubyte } - %typedef.CHESS_POSITION = type { ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, uint, int, sbyte, sbyte, [64 x sbyte], sbyte, sbyte, sbyte, sbyte, sbyte } - %typedef.HASH_ENTRY = type { ulong, ulong } - %typedef.NEXT_MOVE = type { int, int, int* } - %typedef.PAWN_HASH_ENTRY = type { uint, short, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte } - %typedef.SEARCH_POSITION = type { ubyte, sbyte, sbyte, ubyte } - %union.doub0. = type { ulong } -%search = external global %typedef.CHESS_POSITION ; <%typedef.CHESS_POSITION*> [#uses=1] -%w_pawn_attacks = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%b_pawn_attacks = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%knight_attacks = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%bishop_attacks_rl45 = external global [64 x [256 x ulong]] ; <[64 x [256 x ulong]]*> [#uses=0] -%bishop_shift_rl45 = external global [64 x int] ; <[64 x int]*> [#uses=0] -%bishop_attacks_rr45 = external global [64 x [256 x ulong]] ; <[64 x [256 x ulong]]*> [#uses=0] -%bishop_shift_rr45 = external global [64 x int] ; <[64 x int]*> [#uses=0] -%rook_attacks_r0 = external global [64 x [256 x ulong]] ; <[64 x [256 x ulong]]*> [#uses=0] -%rook_attacks_rl90 = external global [64 x [256 x ulong]] ; <[64 x [256 x ulong]]*> [#uses=0] -%king_attacks = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%set_mask = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%first_ones = external global [65536 x ubyte] ; <[65536 x ubyte]*> [#uses=0] -%last_ones = external global [65536 x ubyte] ; <[65536 x ubyte]*> [#uses=0] -%draw_score_is_zero = external global int ; <int*> [#uses=0] -%default_draw_score = external global int ; <int*> [#uses=0] -%opening = external global int ; <int*> [#uses=0] -%middle_game = external global int ; <int*> [#uses=0] -%tc_increment = external global int ; <int*> [#uses=0] -%tc_time_remaining_opponent = external global int ; <int*> [#uses=0] -%.ctor_1 = external global [17 x sbyte] ; <[17 x sbyte]*> [#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 int ; <int*> [#uses=0] -%.str_1 = external global [14 x sbyte] ; <[14 x sbyte]*> [#uses=0] -%.str_2 = external global [14 x sbyte] ; <[14 x sbyte]*> [#uses=0] -%buffer = external global [512 x sbyte] ; <[512 x sbyte]*> [#uses=0] -%nargs = external global int ; <int*> [#uses=0] -%args = external global [32 x sbyte*] ; <[32 x sbyte*]*> [#uses=0] -%.str_3 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_4 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.str_5 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_6 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_7 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_8 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_9 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_10 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_11 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_12 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] -%.str_14 = external global [23 x sbyte] ; <[23 x sbyte]*> [#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 int ; <int*> [#uses=0] -%rephead_b = external global ulong* ; <ulong**> [#uses=0] -%replist_b = external global [82 x ulong] ; <[82 x ulong]*> [#uses=0] -%rephead_w = external global ulong* ; <ulong**> [#uses=0] -%replist_w = external global [82 x ulong] ; <[82 x ulong]*> [#uses=0] -%moves_out_of_book = external global int ; <int*> [#uses=0] -%largest_positional_score = external global int ; <int*> [#uses=0] -%end_game = external global int ; <int*> [#uses=0] -%p_values = external global [15 x int] ; <[15 x int]*> [#uses=0] -%clear_mask = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%directions = external global [64 x [64 x sbyte]] ; <[64 x [64 x sbyte]]*> [#uses=0] -%root_wtm = external global int ; <int*> [#uses=0] -%all_pawns = external global ulong ; <ulong*> [#uses=0] -%pawn_score = external global %typedef.PAWN_HASH_ENTRY ; <%typedef.PAWN_HASH_ENTRY*> [#uses=0] -%pawn_probes = external global int ; <int*> [#uses=0] -%pawn_hits = external global int ; <int*> [#uses=0] -%outside_passed = external global [128 x int] ; <[128 x int]*> [#uses=0] -%root_total_black_pieces = external global int ; <int*> [#uses=0] -%root_total_white_pawns = external global int ; <int*> [#uses=0] -%root_total_white_pieces = external global int ; <int*> [#uses=0] -%root_total_black_pawns = external global int ; <int*> [#uses=0] -%mask_A7H7 = external global ulong ; <ulong*> [#uses=0] -%mask_B6B7 = external global ulong ; <ulong*> [#uses=0] -%mask_G6G7 = external global ulong ; <ulong*> [#uses=0] -%mask_A2H2 = external global ulong ; <ulong*> [#uses=0] -%mask_B2B3 = external global ulong ; <ulong*> [#uses=0] -%mask_G2G3 = external global ulong ; <ulong*> [#uses=0] -%king_defects_w = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%good_bishop_kw = external global ulong ; <ulong*> [#uses=0] -%mask_F3H3 = external global ulong ; <ulong*> [#uses=0] -%file_mask = external global [8 x ulong] ; <[8 x ulong]*> [#uses=0] -%good_bishop_qw = external global ulong ; <ulong*> [#uses=0] -%mask_A3C3 = external global ulong ; <ulong*> [#uses=0] -%king_defects_b = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%good_bishop_kb = external global ulong ; <ulong*> [#uses=0] -%mask_F6H6 = external global ulong ; <ulong*> [#uses=0] -%good_bishop_qb = external global ulong ; <ulong*> [#uses=0] -%mask_A6C6 = external global ulong ; <ulong*> [#uses=0] -%square_color = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%evaluations = external global uint ; <uint*> [#uses=0] -%king_value_w = external global [64 x int] ; <[64 x int]*> [#uses=0] -%rank_mask = external global [8 x ulong] ; <[8 x ulong]*> [#uses=0] -%mask_kr_trapped_w = external global [3 x ulong] ; <[3 x ulong]*> [#uses=0] -%mask_qr_trapped_w = external global [3 x ulong] ; <[3 x ulong]*> [#uses=0] -%king_value_b = external global [64 x int] ; <[64 x int]*> [#uses=0] -%mask_kr_trapped_b = external global [3 x ulong] ; <[3 x ulong]*> [#uses=0] -%mask_qr_trapped_b = external global [3 x ulong] ; <[3 x ulong]*> [#uses=0] -%white_outpost = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%mask_no_pawn_attacks_b = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%knight_value_w = external global [64 x int] ; <[64 x int]*> [#uses=0] -%black_outpost = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%mask_no_pawn_attacks_w = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%knight_value_b = external global [64 x int] ; <[64 x int]*> [#uses=0] -%bishop_value_w = external global [64 x int] ; <[64 x int]*> [#uses=0] -%bishop_mobility_rl45 = external global [64 x [256 x int]] ; <[64 x [256 x int]]*> [#uses=0] -%bishop_mobility_rr45 = external global [64 x [256 x int]] ; <[64 x [256 x int]]*> [#uses=0] -%bishop_value_b = external global [64 x int] ; <[64 x int]*> [#uses=0] -%rook_value_w = external global [64 x int] ; <[64 x int]*> [#uses=0] -%plus8dir = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%mask_abs7_w = external global ulong ; <ulong*> [#uses=0] -%rook_value_b = external global [64 x int] ; <[64 x int]*> [#uses=0] -%minus8dir = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%mask_abs7_b = external global ulong ; <ulong*> [#uses=0] -%queen_value_w = external global [64 x int] ; <[64 x int]*> [#uses=0] -%queen_value_b = external global [64 x int] ; <[64 x int]*> [#uses=0] -%white_minor_pieces = external global ulong ; <ulong*> [#uses=0] -%black_minor_pieces = external global ulong ; <ulong*> [#uses=0] -%not_rook_pawns = external global ulong ; <ulong*> [#uses=0] -%dark_squares = external global ulong ; <ulong*> [#uses=0] -%b_n_mate_dark_squares = external global [64 x int] ; <[64 x int]*> [#uses=0] -%b_n_mate_light_squares = external global [64 x int] ; <[64 x int]*> [#uses=0] -%mate = external global [64 x int] ; <[64 x int]*> [#uses=0] -%first_ones_8bit = external global [256 x ubyte] ; <[256 x ubyte]*> [#uses=0] -%reduced_material_passer = external global [20 x int] ; <[20 x int]*> [#uses=0] -%supported_passer = external global [8 x int] ; <[8 x int]*> [#uses=0] -%passed_pawn_value = external global [8 x int] ; <[8 x int]*> [#uses=0] -%connected_passed = external global [256 x ubyte] ; <[256 x ubyte]*> [#uses=0] -%black_pawn_race_btm = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%white_pawn_race_wtm = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%black_pawn_race_wtm = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%white_pawn_race_btm = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%obstructed = external global [64 x [64 x ulong]] ; <[64 x [64 x ulong]]*> [#uses=0] -%pawn_hash_table = external global %typedef.PAWN_HASH_ENTRY* ; <%typedef.PAWN_HASH_ENTRY**> [#uses=0] -%pawn_hash_mask = external global uint ; <uint*> [#uses=0] -%pawn_value_w = external global [64 x int] ; <[64 x int]*> [#uses=0] -%mask_pawn_isolated = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%mask_pawn_passed_w = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%mask_pawn_protected_w = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%pawn_value_b = external global [64 x int] ; <[64 x int]*> [#uses=0] -%mask_pawn_passed_b = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%mask_pawn_protected_b = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%unblocked_pawns = external global [9 x int] ; <[9 x int]*> [#uses=0] -%mask_wk_4th = external global ulong ; <ulong*> [#uses=0] -%mask_wk_5th = external global ulong ; <ulong*> [#uses=0] -%mask_wq_4th = external global ulong ; <ulong*> [#uses=0] -%mask_wq_5th = external global ulong ; <ulong*> [#uses=0] -%stonewall_white = external global ulong ; <ulong*> [#uses=0] -%mask_bk_4th = external global ulong ; <ulong*> [#uses=0] -%mask_bk_5th = external global ulong ; <ulong*> [#uses=0] -%mask_bq_5th = external global ulong ; <ulong*> [#uses=0] -%mask_bq_4th = external global ulong ; <ulong*> [#uses=0] -%stonewall_black = external global ulong ; <ulong*> [#uses=0] -%last_ones_8bit = external global [256 x ubyte] ; <[256 x ubyte]*> [#uses=0] -%right_side_mask = external global [8 x ulong] ; <[8 x ulong]*> [#uses=0] -%left_side_empty_mask = external global [8 x ulong] ; <[8 x ulong]*> [#uses=0] -%left_side_mask = external global [8 x ulong] ; <[8 x ulong]*> [#uses=0] -%right_side_empty_mask = external global [8 x ulong] ; <[8 x ulong]*> [#uses=0] -%pv = external global [65 x %typedef.CHESS_PATH] ; <[65 x %typedef.CHESS_PATH]*> [#uses=0] -%history_w = external global [4096 x int] ; <[4096 x int]*> [#uses=0] -%history_b = external global [4096 x int] ; <[4096 x int]*> [#uses=0] -%killer_move1 = external global [65 x int] ; <[65 x int]*> [#uses=0] -%killer_count1 = external global [65 x int] ; <[65 x int]*> [#uses=0] -%killer_move2 = external global [65 x int] ; <[65 x int]*> [#uses=0] -%killer_count2 = external global [65 x int] ; <[65 x int]*> [#uses=0] -%current_move = external global [65 x int] ; <[65 x int]*> [#uses=0] -%init_r90 = external global [64 x int] ; <[64 x int]*> [#uses=0] -%init_l90 = external global [64 x int] ; <[64 x int]*> [#uses=0] -%init_l45 = external global [64 x int] ; <[64 x int]*> [#uses=0] -%init_ul45 = external global [64 x int] ; <[64 x int]*> [#uses=0] -%init_r45 = external global [64 x int] ; <[64 x int]*> [#uses=0] -%init_ur45 = external global [64 x int] ; <[64 x int]*> [#uses=0] -%diagonal_length = external global [64 x int] ; <[64 x int]*> [#uses=0] -%last = external global [65 x int*] ; <[65 x int*]*> [#uses=0] -%move_list = external global [5120 x int] ; <[5120 x int]*> [#uses=0] -%history_file = external global %struct.__sFILE* ; <%struct.__sFILE**> [#uses=0] -%.str_1 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_2 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_3 = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%.str_5 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_6 = external global [14 x sbyte] ; <[14 x sbyte]*> [#uses=0] -%trans_ref_wa = external global %typedef.HASH_ENTRY* ; <%typedef.HASH_ENTRY**> [#uses=0] -%hash_table_size = external global int ; <int*> [#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 int ; <int*> [#uses=0] -%.str_9 = external global [37 x sbyte] ; <[37 x sbyte]*> [#uses=0] -%log_hash = external global int ; <int*> [#uses=0] -%log_pawn_hash = external global int ; <int*> [#uses=0] -%hash_maska = external global int ; <int*> [#uses=0] -%hash_maskb = external global int ; <int*> [#uses=0] -%mask_1 = external global ulong ; <ulong*> [#uses=0] -%bishop_attacks = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%queen_attacks = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%plus7dir = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%plus9dir = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%minus7dir = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%minus9dir = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%plus1dir = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%minus1dir = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%rook_attacks = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%king_attacks_1 = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%king_attacks_2 = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%.ctor_1 = external global [64 x int] ; <[64 x int]*> [#uses=0] -%.ctor_2 = external global [64 x int] ; <[64 x int]*> [#uses=0] -%rook_mobility_r0 = external global [64 x [256 x int]] ; <[64 x [256 x int]]*> [#uses=0] -%rook_mobility_rl90 = external global [64 x [256 x int]] ; <[64 x [256 x int]]*> [#uses=0] -%initial_position = external global [80 x sbyte] ; <[80 x sbyte]*> [#uses=5] -"a1.0__" = external global [80 x sbyte] ; <[80 x sbyte]*> [#uses=0] -"a2.1__" = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -"a3.2__" = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -"a4.3__" = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -"a5.4__" = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -"args.5__" = external global [16 x sbyte*] ; <[16 x sbyte*]*> [#uses=0] -%.str_10 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%w_pawn_random = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%w_pawn_random32 = external global [64 x uint] ; <[64 x uint]*> [#uses=0] -%b_pawn_random = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%b_pawn_random32 = external global [64 x uint] ; <[64 x uint]*> [#uses=0] -%w_knight_random = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%b_knight_random = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%w_bishop_random = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%b_bishop_random = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%w_rook_random = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%b_rook_random = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%w_queen_random = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%b_queen_random = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%w_king_random = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%b_king_random = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%enpassant_random = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%castle_random_w = external global [2 x ulong] ; <[2 x ulong]*> [#uses=0] -%castle_random_b = external global [2 x ulong] ; <[2 x ulong]*> [#uses=0] -%set_mask_rl90 = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%set_mask_rl45 = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%set_mask_rr45 = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%transposition_id = external global sbyte ; <sbyte*> [#uses=0] -%mask_2 = external global ulong ; <ulong*> [#uses=0] -%mask_3 = external global ulong ; <ulong*> [#uses=0] -%mask_4 = external global ulong ; <ulong*> [#uses=0] -%mask_8 = external global ulong ; <ulong*> [#uses=0] -%mask_16 = external global ulong ; <ulong*> [#uses=0] -%mask_32 = external global ulong ; <ulong*> [#uses=0] -%mask_72 = external global ulong ; <ulong*> [#uses=0] -%mask_80 = external global ulong ; <ulong*> [#uses=0] -%mask_85 = external global ulong ; <ulong*> [#uses=0] -%mask_96 = external global ulong ; <ulong*> [#uses=0] -%mask_107 = external global ulong ; <ulong*> [#uses=0] -%mask_108 = external global ulong ; <ulong*> [#uses=0] -%mask_112 = external global ulong ; <ulong*> [#uses=0] -%mask_118 = external global ulong ; <ulong*> [#uses=0] -%mask_120 = external global ulong ; <ulong*> [#uses=0] -%mask_121 = external global ulong ; <ulong*> [#uses=0] -%mask_127 = external global ulong ; <ulong*> [#uses=0] -%mask_clear_entry = external global ulong ; <ulong*> [#uses=0] -%clear_mask_rl45 = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%clear_mask_rr45 = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%clear_mask_rl90 = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%right_half_mask = external global ulong ; <ulong*> [#uses=0] -%left_half_mask = external global ulong ; <ulong*> [#uses=0] -%mask_not_rank8 = external global ulong ; <ulong*> [#uses=0] -%mask_not_rank1 = external global ulong ; <ulong*> [#uses=0] -%center = external global ulong ; <ulong*> [#uses=0] -%mask_pawn_connected = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%mask_eptest = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%mask_kingside_attack_w1 = external global ulong ; <ulong*> [#uses=0] -%mask_kingside_attack_w2 = external global ulong ; <ulong*> [#uses=0] -%mask_queenside_attack_w1 = external global ulong ; <ulong*> [#uses=0] -%mask_queenside_attack_w2 = external global ulong ; <ulong*> [#uses=0] -%mask_kingside_attack_b1 = external global ulong ; <ulong*> [#uses=0] -%mask_kingside_attack_b2 = external global ulong ; <ulong*> [#uses=0] -%mask_queenside_attack_b1 = external global ulong ; <ulong*> [#uses=0] -%mask_queenside_attack_b2 = external global ulong ; <ulong*> [#uses=0] -%pawns_cramp_black = external global ulong ; <ulong*> [#uses=0] -%pawns_cramp_white = external global ulong ; <ulong*> [#uses=0] -%light_squares = external global ulong ; <ulong*> [#uses=0] -%mask_left_edge = external global ulong ; <ulong*> [#uses=0] -%mask_right_edge = external global ulong ; <ulong*> [#uses=0] -%mask_advance_2_w = external global ulong ; <ulong*> [#uses=0] -%mask_advance_2_b = external global ulong ; <ulong*> [#uses=0] -%mask_corner_squares = external global ulong ; <ulong*> [#uses=0] -%mask_promotion_threat_w = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%mask_promotion_threat_b = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%promote_mask_w = external global ulong ; <ulong*> [#uses=0] -%promote_mask_b = external global ulong ; <ulong*> [#uses=0] -%mask_a1_corner = external global ulong ; <ulong*> [#uses=0] -%mask_h1_corner = external global ulong ; <ulong*> [#uses=0] -%mask_a8_corner = external global ulong ; <ulong*> [#uses=0] -%mask_h8_corner = external global ulong ; <ulong*> [#uses=0] -%white_center_pawns = external global ulong ; <ulong*> [#uses=0] -%black_center_pawns = external global ulong ; <ulong*> [#uses=0] -%wtm_random = external global [2 x ulong] ; <[2 x ulong]*> [#uses=0] -%endgame_random_w = external global ulong ; <ulong*> [#uses=0] -%endgame_random_b = external global ulong ; <ulong*> [#uses=0] -%w_rooks_random = external global ulong ; <ulong*> [#uses=0] -%b_rooks_random = external global ulong ; <ulong*> [#uses=0] -%.ctor_11 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.ctor_2 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.str_1 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_2 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_32 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_4 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_5 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_6 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_7 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_8 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_9 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_10 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_11 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_12 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_13 = external global [15 x sbyte] ; <[15 x sbyte]*> [#uses=0] -%num_ponder_moves = external global int ; <int*> [#uses=0] -%ponder_moves = external global [220 x int] ; <[220 x int]*> [#uses=0] -%.str_14 = external global [15 x sbyte] ; <[15 x sbyte]*> [#uses=0] -%.str_15 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_16 = external global [20 x sbyte] ; <[20 x sbyte]*> [#uses=0] -%auto232 = external global int ; <int*> [#uses=0] -%puzzling = external global sbyte ; <sbyte*> [#uses=0] -%abort_search = external global sbyte ; <sbyte*> [#uses=0] -%.str_24 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%wtm = external global int ; <int*> [#uses=0] -%.str_3 = external global [15 x sbyte] ; <[15 x sbyte]*> [#uses=0] -%.str_4 = external global [15 x sbyte] ; <[15 x sbyte]*> [#uses=0] -%end_time = external global uint ; <uint*> [#uses=0] -%time_type = external global uint ; <uint*> [#uses=0] -%start_time = external global uint ; <uint*> [#uses=0] -%.str_6 = external global [12 x sbyte] ; <[12 x sbyte]*> [#uses=0] -%.str_7 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%nodes_searched = external global uint ; <uint*> [#uses=0] -%iteration_depth = external global int ; <int*> [#uses=0] -%searched_this_root_move = external global [256 x sbyte] ; <[256 x sbyte]*> [#uses=0] -%.str_9 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_10 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_11 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_12 = external global [12 x sbyte] ; <[12 x sbyte]*> [#uses=0] -%.str_14 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_16 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%thinking = external global sbyte ; <sbyte*> [#uses=0] -%time_abort = external global int ; <int*> [#uses=0] -%.str_17 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] -%analyze_move_read = external global int ; <int*> [#uses=0] -%analyze_mode = external global int ; <int*> [#uses=0] -%pondering = external global sbyte ; <sbyte*> [#uses=0] -%auto232_delay = external global int ; <int*> [#uses=0] -%auto_file = external global %struct.__sFILE* ; <%struct.__sFILE**> [#uses=0] -%.str_19 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_20 = external global [11 x sbyte] ; <[11 x sbyte]*> [#uses=0] -%.str_21 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%ponder_move = external global int ; <int*> [#uses=0] -%predicted = external global int ; <int*> [#uses=0] -%made_predicted_move = external global int ; <int*> [#uses=0] -%opponent_end_time = external global uint ; <uint*> [#uses=0] -%program_start_time = external global uint ; <uint*> [#uses=0] -%.str_23 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_24 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_25 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_26 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_28 = external global [31 x sbyte] ; <[31 x sbyte]*> [#uses=0] -%book_move = external global int ; <int*> [#uses=0] -%elapsed_start = external global uint ; <uint*> [#uses=0] -%burp = external global int ; <int*> [#uses=0] -%cpu_percent = external global int ; <int*> [#uses=0] -%next_time_check = external global int ; <int*> [#uses=0] -%nodes_between_time_checks = external global int ; <int*> [#uses=0] -%transposition_hits = external global int ; <int*> [#uses=0] -%transposition_probes = external global int ; <int*> [#uses=0] -%tb_probes = external global int ; <int*> [#uses=0] -%tb_probes_successful = external global int ; <int*> [#uses=0] -%check_extensions_done = external global int ; <int*> [#uses=0] -%recapture_extensions_done = external global int ; <int*> [#uses=0] -%passed_pawn_extensions_done = external global int ; <int*> [#uses=0] -%one_reply_extensions_done = external global int ; <int*> [#uses=0] -%program_end_time = external global uint ; <uint*> [#uses=0] -%root_value = external global int ; <int*> [#uses=0] -%last_search_value = external global int ; <int*> [#uses=0] -%.str_1 = external global [48 x sbyte] ; <[48 x sbyte]*> [#uses=0] -%.str_2 = external global [48 x sbyte] ; <[48 x sbyte]*> [#uses=0] -%booking = external global sbyte ; <sbyte*> [#uses=0] -%annotate_mode = external global int ; <int*> [#uses=0] -%.str_4 = external global [38 x sbyte] ; <[38 x sbyte]*> [#uses=0] -%.str_5 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%last_pv = external global %typedef.CHESS_PATH ; <%typedef.CHESS_PATH*> [#uses=0] -%.str_8 = external global [53 x sbyte] ; <[53 x sbyte]*> [#uses=0] -%root_alpha = external global int ; <int*> [#uses=0] -%last_value = external global int ; <int*> [#uses=0] -%root_beta = external global int ; <int*> [#uses=0] -%root_nodes = external global [256 x uint] ; <[256 x uint]*> [#uses=0] -%trace_level = external global int ; <int*> [#uses=0] -%.str_9 = external global [36 x sbyte] ; <[36 x sbyte]*> [#uses=0] -%.str_10 = external global [37 x sbyte] ; <[37 x sbyte]*> [#uses=0] -%search_failed_high = external global int ; <int*> [#uses=0] -%search_failed_low = external global int ; <int*> [#uses=0] -%nodes_per_second = external global int ; <int*> [#uses=0] -%time_limit = external global int ; <int*> [#uses=0] -%easy_move = external global int ; <int*> [#uses=0] -%noise_level = external global uint ; <uint*> [#uses=0] -%.str_12 = external global [34 x sbyte] ; <[34 x sbyte]*> [#uses=0] -%.str_136 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%solution_type = external global int ; <int*> [#uses=0] -%number_of_solutions = external global int ; <int*> [#uses=0] -%solutions = external global [10 x int] ; <[10 x int]*> [#uses=0] -%early_exit = external global int ; <int*> [#uses=0] -%.str_14 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_15 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_16 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%whisper_value = external global int ; <int*> [#uses=0] -%.str_17 = external global [29 x sbyte] ; <[29 x sbyte]*> [#uses=0] -%.str_19 = external global [37 x sbyte] ; <[37 x sbyte]*> [#uses=0] -%last_mate_score = external global int ; <int*> [#uses=0] -%search_depth = external global int ; <int*> [#uses=0] -%elapsed_end = external global uint ; <uint*> [#uses=0] -%.str_20 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_21 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_22 = external global [13 x sbyte] ; <[13 x sbyte]*> [#uses=0] -%.str_23 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_24 = external global [48 x sbyte] ; <[48 x sbyte]*> [#uses=0] -%.str_25 = external global [67 x sbyte] ; <[67 x sbyte]*> [#uses=0] -%.str_26 = external global [69 x sbyte] ; <[69 x sbyte]*> [#uses=0] -%hash_move = external global [65 x int] ; <[65 x int]*> [#uses=0] -%version = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%mode = external global uint ; <uint*> [#uses=0] -%batch_mode = external global int ; <int*> [#uses=0] -%crafty_rating = external global int ; <int*> [#uses=0] -%opponent_rating = external global int ; <int*> [#uses=0] -%pgn_event = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%pgn_site = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%pgn_date = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%pgn_round = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%pgn_white = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%pgn_white_elo = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%pgn_black = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%pgn_black_elo = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%pgn_result = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%number_auto_kibitzers = external global int ; <int*> [#uses=0] -%auto_kibitz_list = external global [100 x [20 x sbyte]] ; <[100 x [20 x sbyte]]*> [#uses=0] -%number_of_computers = external global int ; <int*> [#uses=0] -%computer_list = external global [100 x [20 x sbyte]] ; <[100 x [20 x sbyte]]*> [#uses=0] -%number_of_GMs = external global int ; <int*> [#uses=0] -%GM_list = external global [100 x [20 x sbyte]] ; <[100 x [20 x sbyte]]*> [#uses=0] -%number_of_IMs = external global int ; <int*> [#uses=0] -%IM_list = external global [100 x [20 x sbyte]] ; <[100 x [20 x sbyte]]*> [#uses=0] -%ics = external global int ; <int*> [#uses=0] -%output_format = external global int ; <int*> [#uses=0] -%EGTBlimit = external global int ; <int*> [#uses=0] -%whisper = external global int ; <int*> [#uses=0] -%channel = external global int ; <int*> [#uses=0] -%new_game = external global int ; <int*> [#uses=0] -%channel_title = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%initialized = external global int ; <int*> [#uses=0] -%kibitz = external global int ; <int*> [#uses=0] -%post = external global int ; <int*> [#uses=0] -%log_id = external global int ; <int*> [#uses=0] -%crafty_is_white = external global int ; <int*> [#uses=0] -%last_opponent_move = external global int ; <int*> [#uses=0] -%search_move = external global int ; <int*> [#uses=0] -%time_used = external global int ; <int*> [#uses=0] -%time_used_opponent = external global int ; <int*> [#uses=0] -%auto_kibitzing = external global int ; <int*> [#uses=0] -%test_mode = external global int ; <int*> [#uses=0] -%resign = external global sbyte ; <sbyte*> [#uses=0] -%resign_counter = external global sbyte ; <sbyte*> [#uses=0] -%resign_count = external global sbyte ; <sbyte*> [#uses=0] -%draw_counter = external global sbyte ; <sbyte*> [#uses=0] -%draw_count = external global sbyte ; <sbyte*> [#uses=0] -%tc_moves = external global int ; <int*> [#uses=0] -%tc_time = external global int ; <int*> [#uses=0] -%tc_time_remaining = external global int ; <int*> [#uses=0] -%tc_moves_remaining = external global int ; <int*> [#uses=0] -%tc_secondary_moves = external global int ; <int*> [#uses=0] -%tc_secondary_time = external global int ; <int*> [#uses=0] -%tc_sudden_death = external global int ; <int*> [#uses=0] -%tc_operator_time = external global int ; <int*> [#uses=0] -%tc_safety_margin = external global int ; <int*> [#uses=0] -%force = external global int ; <int*> [#uses=0] -%over = external global int ; <int*> [#uses=0] -%usage_level = external global int ; <int*> [#uses=0] -%audible_alarm = external global sbyte ; <sbyte*> [#uses=0] -%ansi = external global int ; <int*> [#uses=0] -%book_accept_mask = external global int ; <int*> [#uses=0] -%book_reject_mask = external global int ; <int*> [#uses=0] -%book_random = external global int ; <int*> [#uses=0] -%book_search_trigger = external global int ; <int*> [#uses=0] -%learning = external global int ; <int*> [#uses=0] -%show_book = external global int ; <int*> [#uses=0] -%book_selection_width = external global int ; <int*> [#uses=0] -%ponder = external global int ; <int*> [#uses=0] -%verbosity_level = external global int ; <int*> [#uses=0] -%push_extensions = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%.str_28 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_3 = external global [43 x sbyte] ; <[43 x sbyte]*> [#uses=0] -%display = external global %typedef.CHESS_POSITION ; <%typedef.CHESS_POSITION*> [#uses=0] -%.str_4 = external global [14 x sbyte] ; <[14 x sbyte]*> [#uses=0] -%opponent_start_time = external global uint ; <uint*> [#uses=0] -%.str_8 = external global [12 x sbyte] ; <[12 x sbyte]*> [#uses=0] -%.str_9 = external global [12 x sbyte] ; <[12 x sbyte]*> [#uses=0] -%.str_18 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_19 = external global [35 x sbyte] ; <[35 x sbyte]*> [#uses=0] -%.str_2013 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_21 = external global [41 x sbyte] ; <[41 x sbyte]*> [#uses=0] -%.str_22 = external global [29 x sbyte] ; <[29 x sbyte]*> [#uses=0] -%.str_23 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%whisper_text = external global [500 x sbyte] ; <[500 x sbyte]*> [#uses=0] -%.str_24 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_25 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_26 = external global [11 x sbyte] ; <[11 x sbyte]*> [#uses=0] -%.str_28 = external global [13 x sbyte] ; <[13 x sbyte]*> [#uses=0] -%.str_29 = external global [13 x sbyte] ; <[13 x sbyte]*> [#uses=0] -%.str_30 = external global [33 x sbyte] ; <[33 x sbyte]*> [#uses=0] -%.str_31 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_32 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_36 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=1] -%.str_37 = external global [15 x sbyte] ; <[15 x sbyte]*> [#uses=0] -%.str_44 = external global [12 x sbyte] ; <[12 x sbyte]*> [#uses=0] -%.str_45 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_49 = external global [15 x sbyte] ; <[15 x sbyte]*> [#uses=0] -%.str_52 = external global [12 x sbyte] ; <[12 x sbyte]*> [#uses=0] -%previous_search_value = external global int ; <int*> [#uses=0] -%.str_64 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%whisper_depth = external global int ; <int*> [#uses=0] -%.str_65 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_66 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%total_moves = external global int ; <int*> [#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 sbyte] ; <[64 x sbyte]*> [#uses=0] -%history_filename = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%book_path = external global [128 x sbyte] ; <[128 x sbyte]*> [#uses=0] -%log_path = external global [128 x sbyte] ; <[128 x sbyte]*> [#uses=0] -%tb_path = external global [128 x sbyte] ; <[128 x sbyte]*> [#uses=0] -%cmd_buffer = external global [512 x sbyte] ; <[512 x sbyte]*> [#uses=0] -%root_move = external global int ; <int*> [#uses=0] -%hint = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -%absolute_time_limit = external global int ; <int*> [#uses=0] -%search_time_limit = external global int ; <int*> [#uses=0] -%in_check = external global [65 x sbyte] ; <[65 x sbyte]*> [#uses=0] -%extended_reason = external global [65 x sbyte] ; <[65 x sbyte]*> [#uses=0] -%current_phase = external global [65 x sbyte] ; <[65 x sbyte]*> [#uses=0] -%sort_value = external global [256 x int] ; <[256 x int]*> [#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 ulong] ; <[67 x ulong]*> [#uses=0] -%save_pawn_hash_key = external global [67 x uint] ; <[67 x uint]*> [#uses=0] -%pawn_advance = external global [8 x int] ; <[8 x int]*> [#uses=0] -%bit_move = external global ulong ; <ulong*> [#uses=0] -%.str_1 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.str_2 = external global [36 x sbyte] ; <[36 x sbyte]*> [#uses=0] -%.str_3 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_1 = external global [34 x sbyte] ; <[34 x sbyte]*> [#uses=0] -%.str_2 = external global [46 x sbyte] ; <[46 x sbyte]*> [#uses=0] -%.str_2 = external global [47 x sbyte] ; <[47 x sbyte]*> [#uses=0] -%.str_1 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_2 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_3 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_4 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_5 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_615 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_7 = external global [21 x sbyte] ; <[21 x sbyte]*> [#uses=0] -%.str_10 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_11 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_12 = external global [18 x sbyte] ; <[18 x sbyte]*> [#uses=0] -%.str_1318 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_1419 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_15 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.str_16 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_19 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_20 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_2222 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_2323 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_25 = external global [29 x sbyte] ; <[29 x sbyte]*> [#uses=0] -%.str_27 = external global [48 x sbyte] ; <[48 x sbyte]*> [#uses=0] -%.str_28 = external global [42 x sbyte] ; <[42 x sbyte]*> [#uses=0] -%.str_29 = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%.str_30 = external global [27 x sbyte] ; <[27 x sbyte]*> [#uses=0] -%.str_31 = external global [18 x sbyte] ; <[18 x sbyte]*> [#uses=0] -%.str_32 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_33 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_34 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_35 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_36 = external global [46 x sbyte] ; <[46 x sbyte]*> [#uses=0] -%.str_37 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_38 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_41 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_42 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_43 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_44 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_4525 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_46 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_47 = external global [19 x sbyte] ; <[19 x sbyte]*> [#uses=0] -%.str_48 = external global [35 x sbyte] ; <[35 x sbyte]*> [#uses=0] -%.str_49 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_50 = external global [19 x sbyte] ; <[19 x sbyte]*> [#uses=0] -%.str_51 = external global [25 x sbyte] ; <[25 x sbyte]*> [#uses=0] -%.str_52 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_53 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_54 = external global [23 x sbyte] ; <[23 x sbyte]*> [#uses=0] -%.str_55 = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%.str_56 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_57 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_58 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_59 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_60 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_61 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_62 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_63 = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -%.str_64 = external global [37 x sbyte] ; <[37 x sbyte]*> [#uses=0] -%.str_66 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_67 = external global [21 x sbyte] ; <[21 x sbyte]*> [#uses=0] -%.str_68 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_69 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_71 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_72 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_73 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_74 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_75 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_81 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_83 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_84 = external global [23 x sbyte] ; <[23 x sbyte]*> [#uses=0] -%.str_86 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_87 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_89 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_90 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_91 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_92 = external global [47 x sbyte] ; <[47 x sbyte]*> [#uses=0] -%.str_94 = external global [37 x sbyte] ; <[37 x sbyte]*> [#uses=0] -%.str_95 = external global [33 x sbyte] ; <[33 x sbyte]*> [#uses=0] -%.str_96 = external global [34 x sbyte] ; <[34 x sbyte]*> [#uses=0] -%.str_97 = external global [33 x sbyte] ; <[33 x sbyte]*> [#uses=0] -%.str_98 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_100 = external global [42 x sbyte] ; <[42 x sbyte]*> [#uses=0] -%.str_101 = external global [38 x sbyte] ; <[38 x sbyte]*> [#uses=0] -%.str_102 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_103 = external global [38 x sbyte] ; <[38 x sbyte]*> [#uses=0] -%.str_104 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_105 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_106 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_107 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_108 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_109 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_110 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_111 = external global [54 x sbyte] ; <[54 x sbyte]*> [#uses=0] -%.str_112 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_113 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_114 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_115 = external global [48 x sbyte] ; <[48 x sbyte]*> [#uses=0] -%.str_116 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_117 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_118 = external global [63 x sbyte] ; <[63 x sbyte]*> [#uses=0] -%.str_119 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_120 = external global [63 x sbyte] ; <[63 x sbyte]*> [#uses=0] -%.str_121 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_122 = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%.str_123 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_124 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_125 = external global [65 x sbyte] ; <[65 x sbyte]*> [#uses=0] -%.str_126 = external global [65 x sbyte] ; <[65 x sbyte]*> [#uses=0] -%.str_127 = external global [69 x sbyte] ; <[69 x sbyte]*> [#uses=0] -%.str_128 = external global [66 x sbyte] ; <[66 x sbyte]*> [#uses=0] -%.str_129 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_130 = external global [63 x sbyte] ; <[63 x sbyte]*> [#uses=0] -%.str_131 = external global [67 x sbyte] ; <[67 x sbyte]*> [#uses=0] -%.str_132 = external global [63 x sbyte] ; <[63 x sbyte]*> [#uses=0] -%.str_133 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_134 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_135 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_136 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_137 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_138 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_139 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_140 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_141 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_142 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_143 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_144 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_145 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_146 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_147 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_148 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_149 = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%.str_150 = external global [65 x sbyte] ; <[65 x sbyte]*> [#uses=0] -%.str_151 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_152 = external global [46 x sbyte] ; <[46 x sbyte]*> [#uses=0] -%.str_153 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_154 = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%.str_156 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_157 = external global [31 x sbyte] ; <[31 x sbyte]*> [#uses=0] -%.str_158 = external global [71 x sbyte] ; <[71 x sbyte]*> [#uses=0] -%.str_159 = external global [72 x sbyte] ; <[72 x sbyte]*> [#uses=0] -%.str_160 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_161 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_162 = external global [63 x sbyte] ; <[63 x sbyte]*> [#uses=0] -%.str_163 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_164 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_165 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_166 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_167 = external global [63 x sbyte] ; <[63 x sbyte]*> [#uses=0] -%.str_168 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_169 = external global [65 x sbyte] ; <[65 x sbyte]*> [#uses=0] -%.str_170 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_171 = external global [63 x sbyte] ; <[63 x sbyte]*> [#uses=0] -%.str_172 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_173 = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%.str_174 = external global [51 x sbyte] ; <[51 x sbyte]*> [#uses=0] -%.str_175 = external global [70 x sbyte] ; <[70 x sbyte]*> [#uses=0] -%.str_176 = external global [67 x sbyte] ; <[67 x sbyte]*> [#uses=0] -%.str_177 = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%.str_178 = external global [48 x sbyte] ; <[48 x sbyte]*> [#uses=0] -%.str_180 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_181 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_182 = external global [53 x sbyte] ; <[53 x sbyte]*> [#uses=0] -%.str_183 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_184 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_185 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_186 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_187 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_188 = external global [35 x sbyte] ; <[35 x sbyte]*> [#uses=0] -%.str_189 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_190 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_191 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_192 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_193 = external global [55 x sbyte] ; <[55 x sbyte]*> [#uses=0] -%.str_194 = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%.str_195 = external global [33 x sbyte] ; <[33 x sbyte]*> [#uses=0] -%.str_196 = external global [46 x sbyte] ; <[46 x sbyte]*> [#uses=0] -%.str_197 = external global [11 x sbyte] ; <[11 x sbyte]*> [#uses=0] -%.str_198 = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -%.str_201 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_202 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_203 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_204 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_206 = external global [48 x sbyte] ; <[48 x sbyte]*> [#uses=0] -%.str_207 = external global [46 x sbyte] ; <[46 x sbyte]*> [#uses=0] -%.str_208 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_209 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_210 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_211 = external global [43 x sbyte] ; <[43 x sbyte]*> [#uses=0] -%.str_213 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_214 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_215 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_216 = external global [14 x sbyte] ; <[14 x sbyte]*> [#uses=0] -%.str_218 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_219 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_220 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_221 = external global [37 x sbyte] ; <[37 x sbyte]*> [#uses=0] -%.str_222 = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%.str_223 = external global [66 x sbyte] ; <[66 x sbyte]*> [#uses=0] -%.str_224 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_225 = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%.str_226 = external global [63 x sbyte] ; <[63 x sbyte]*> [#uses=0] -%.str_227 = external global [46 x sbyte] ; <[46 x sbyte]*> [#uses=0] -%.str_228 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_229 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_230 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_231 = external global [19 x sbyte] ; <[19 x sbyte]*> [#uses=0] -%.str_232 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_233 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_234 = external global [54 x sbyte] ; <[54 x sbyte]*> [#uses=0] -%.str_235 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_236 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.str_237 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_238 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_239 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_240 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.str_241 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_242 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_243 = external global [35 x sbyte] ; <[35 x sbyte]*> [#uses=0] -%.str_245 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_246 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_247 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_248 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_249 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_250 = external global [45 x sbyte] ; <[45 x sbyte]*> [#uses=0] -%.str_253 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_254 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.str_256 = external global [43 x sbyte] ; <[43 x sbyte]*> [#uses=0] -%.str_258 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_259 = external global [27 x sbyte] ; <[27 x sbyte]*> [#uses=0] -%.str_261 = external global [43 x sbyte] ; <[43 x sbyte]*> [#uses=0] -%.str_262 = external global [43 x sbyte] ; <[43 x sbyte]*> [#uses=0] -%.str_263 = external global [43 x sbyte] ; <[43 x sbyte]*> [#uses=0] -%.str_266 = external global [43 x sbyte] ; <[43 x sbyte]*> [#uses=0] -%.str_267 = external global [43 x sbyte] ; <[43 x sbyte]*> [#uses=0] -%.str_268 = external global [43 x sbyte] ; <[43 x sbyte]*> [#uses=0] -%.str_270 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_271 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_272 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_273 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_274 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_275 = external global [44 x sbyte] ; <[44 x sbyte]*> [#uses=0] -%.str_276 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_277 = external global [21 x sbyte] ; <[21 x sbyte]*> [#uses=0] -%.str_278 = external global [48 x sbyte] ; <[48 x sbyte]*> [#uses=0] -%.str_279 = external global [51 x sbyte] ; <[51 x sbyte]*> [#uses=0] -%.str_280 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_281 = external global [53 x sbyte] ; <[53 x sbyte]*> [#uses=0] -%.str_282 = external global [50 x sbyte] ; <[50 x sbyte]*> [#uses=0] -%.str_283 = external global [53 x sbyte] ; <[53 x sbyte]*> [#uses=0] -%.str_284 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_285 = external global [55 x sbyte] ; <[55 x sbyte]*> [#uses=0] -%.str_286 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_287 = external global [54 x sbyte] ; <[54 x sbyte]*> [#uses=0] -%.str_288 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_289 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_290 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_291 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_292 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_293 = external global [54 x sbyte] ; <[54 x sbyte]*> [#uses=0] -%.str_294 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_295 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_296 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_297 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_298 = external global [51 x sbyte] ; <[51 x sbyte]*> [#uses=0] -%.str_299 = external global [54 x sbyte] ; <[54 x sbyte]*> [#uses=0] -%.str_300 = external global [49 x sbyte] ; <[49 x sbyte]*> [#uses=0] -%.str_301 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_302 = external global [18 x sbyte] ; <[18 x sbyte]*> [#uses=0] -%.str_304 = external global [50 x sbyte] ; <[50 x sbyte]*> [#uses=0] -%.str_305 = external global [50 x sbyte] ; <[50 x sbyte]*> [#uses=0] -%.str_306 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_308 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_310 = external global [50 x sbyte] ; <[50 x sbyte]*> [#uses=0] -%.str_311 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_312 = external global [53 x sbyte] ; <[53 x sbyte]*> [#uses=0] -%.str_313 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_314 = external global [53 x sbyte] ; <[53 x sbyte]*> [#uses=0] -%.str_315 = external global [54 x sbyte] ; <[54 x sbyte]*> [#uses=0] -%.str_316 = external global [51 x sbyte] ; <[51 x sbyte]*> [#uses=0] -%.str_317 = external global [26 x sbyte] ; <[26 x sbyte]*> [#uses=0] -%.str_319 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_320 = external global [53 x sbyte] ; <[53 x sbyte]*> [#uses=0] -%.str_321 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_322 = external global [55 x sbyte] ; <[55 x sbyte]*> [#uses=0] -%.str_323 = external global [20 x sbyte] ; <[20 x sbyte]*> [#uses=0] -%.str_325 = external global [26 x sbyte] ; <[26 x sbyte]*> [#uses=0] -%.str_327 = external global [51 x sbyte] ; <[51 x sbyte]*> [#uses=0] -%.str_328 = external global [51 x sbyte] ; <[51 x sbyte]*> [#uses=0] -%.str_329 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_330 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_331 = external global [53 x sbyte] ; <[53 x sbyte]*> [#uses=0] -%.str_332 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_333 = external global [50 x sbyte] ; <[50 x sbyte]*> [#uses=0] -%.str_334 = external global [54 x sbyte] ; <[54 x sbyte]*> [#uses=0] -%.str_335 = external global [48 x sbyte] ; <[48 x sbyte]*> [#uses=0] -%.str_336 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_337 = external global [50 x sbyte] ; <[50 x sbyte]*> [#uses=0] -%.str_338 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_339 = external global [36 x sbyte] ; <[36 x sbyte]*> [#uses=0] -%.str_340 = external global [55 x sbyte] ; <[55 x sbyte]*> [#uses=0] -%.str_341 = external global [54 x sbyte] ; <[54 x sbyte]*> [#uses=0] -%.str_342 = external global [49 x sbyte] ; <[49 x sbyte]*> [#uses=0] -%.str_343 = external global [63 x sbyte] ; <[63 x sbyte]*> [#uses=0] -%.str_344 = external global [49 x sbyte] ; <[49 x sbyte]*> [#uses=0] -%.str_345 = external global [47 x sbyte] ; <[47 x sbyte]*> [#uses=0] -%.str_346 = external global [49 x sbyte] ; <[49 x sbyte]*> [#uses=0] -%.str_347 = external global [43 x sbyte] ; <[43 x sbyte]*> [#uses=0] -%.str_348 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_349 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_350 = external global [55 x sbyte] ; <[55 x sbyte]*> [#uses=0] -%.str_351 = external global [47 x sbyte] ; <[47 x sbyte]*> [#uses=0] -%.str_352 = external global [49 x sbyte] ; <[49 x sbyte]*> [#uses=0] -%.str_353 = external global [49 x sbyte] ; <[49 x sbyte]*> [#uses=0] -%.str_354 = external global [42 x sbyte] ; <[42 x sbyte]*> [#uses=0] -%.str_355 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_356 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_357 = external global [53 x sbyte] ; <[53 x sbyte]*> [#uses=0] -%.str_358 = external global [47 x sbyte] ; <[47 x sbyte]*> [#uses=0] -%.str_359 = external global [63 x sbyte] ; <[63 x sbyte]*> [#uses=0] -%.str_360 = external global [54 x sbyte] ; <[54 x sbyte]*> [#uses=0] -%.str_362 = external global [53 x sbyte] ; <[53 x sbyte]*> [#uses=0] -%.str_363 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_364 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_365 = external global [51 x sbyte] ; <[51 x sbyte]*> [#uses=0] -%.str_366 = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%.str_367 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_368 = external global [48 x sbyte] ; <[48 x sbyte]*> [#uses=0] -%.str_369 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_370 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_371 = external global [49 x sbyte] ; <[49 x sbyte]*> [#uses=0] -%.str_372 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_373 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_374 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_375 = external global [63 x sbyte] ; <[63 x sbyte]*> [#uses=0] -%.str_376 = external global [63 x sbyte] ; <[63 x sbyte]*> [#uses=0] -%.str_377 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_378 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_379 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_380 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_381 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_382 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_383 = external global [49 x sbyte] ; <[49 x sbyte]*> [#uses=0] -%.str_384 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_385 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_387 = external global [53 x sbyte] ; <[53 x sbyte]*> [#uses=0] -%.str_388 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_389 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_390 = external global [55 x sbyte] ; <[55 x sbyte]*> [#uses=0] -%.str_391 = external global [55 x sbyte] ; <[55 x sbyte]*> [#uses=0] -%.str_392 = external global [71 x sbyte] ; <[71 x sbyte]*> [#uses=0] -%.str_393 = external global [46 x sbyte] ; <[46 x sbyte]*> [#uses=0] -%.str_394 = external global [51 x sbyte] ; <[51 x sbyte]*> [#uses=0] -%.str_395 = external global [54 x sbyte] ; <[54 x sbyte]*> [#uses=0] -%.str_396 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_397 = external global [49 x sbyte] ; <[49 x sbyte]*> [#uses=0] -%.str_398 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_399 = external global [67 x sbyte] ; <[67 x sbyte]*> [#uses=0] -%.str_400 = external global [55 x sbyte] ; <[55 x sbyte]*> [#uses=0] -%.str_401 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_402 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_403 = external global [47 x sbyte] ; <[47 x sbyte]*> [#uses=0] -%.str_404 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_405 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_406 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_407 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_408 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_409 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_410 = external global [26 x sbyte] ; <[26 x sbyte]*> [#uses=0] -%.str_411 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_412 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_413 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_414 = external global [19 x sbyte] ; <[19 x sbyte]*> [#uses=0] -%.str_421 = external global [53 x sbyte] ; <[53 x sbyte]*> [#uses=0] -%.str_422 = external global [55 x sbyte] ; <[55 x sbyte]*> [#uses=0] -%.str_423 = external global [23 x sbyte] ; <[23 x sbyte]*> [#uses=0] -%.str_424 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_426 = external global [42 x sbyte] ; <[42 x sbyte]*> [#uses=0] -%.str_427 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_429 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_430 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] -%.str_431 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_432 = external global [23 x sbyte] ; <[23 x sbyte]*> [#uses=0] -%.str_433 = external global [23 x sbyte] ; <[23 x sbyte]*> [#uses=0] -%.str_434 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] -%.str_435 = external global [27 x sbyte] ; <[27 x sbyte]*> [#uses=0] -%.str_436 = external global [28 x sbyte] ; <[28 x sbyte]*> [#uses=0] -%.str_437 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_438 = external global [38 x sbyte] ; <[38 x sbyte]*> [#uses=0] -%.str_440 = external global [44 x sbyte] ; <[44 x sbyte]*> [#uses=0] -%.str_445 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_446 = external global [26 x sbyte] ; <[26 x sbyte]*> [#uses=0] -%.str_447 = external global [36 x sbyte] ; <[36 x sbyte]*> [#uses=0] -%.str_448 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_449 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_450 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_451 = external global [44 x sbyte] ; <[44 x sbyte]*> [#uses=0] -%.str_452 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_453 = external global [26 x sbyte] ; <[26 x sbyte]*> [#uses=0] -%.str_454 = external global [36 x sbyte] ; <[36 x sbyte]*> [#uses=0] -%.str_455 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_456 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_459 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_460 = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%.str_461 = external global [42 x sbyte] ; <[42 x sbyte]*> [#uses=0] -%.str_462 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_463 = external global [28 x sbyte] ; <[28 x sbyte]*> [#uses=0] -%.str_466 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_467 = external global [35 x sbyte] ; <[35 x sbyte]*> [#uses=0] -%.str_468 = external global [45 x sbyte] ; <[45 x sbyte]*> [#uses=0] -%.str_469 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_470 = external global [31 x sbyte] ; <[31 x sbyte]*> [#uses=0] -%.str_474 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_477 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_480 = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -%.str_483 = external global [19 x sbyte] ; <[19 x sbyte]*> [#uses=0] -%.str_485 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_487 = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%.str_490 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_494 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_495 = external global [33 x sbyte] ; <[33 x sbyte]*> [#uses=0] -%.str_497 = external global [12 x sbyte] ; <[12 x sbyte]*> [#uses=0] -%.str_498 = external global [13 x sbyte] ; <[13 x sbyte]*> [#uses=0] -%.str_507 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_508 = external global [11 x sbyte] ; <[11 x sbyte]*> [#uses=0] -%.str_509 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_510 = external global [37 x sbyte] ; <[37 x sbyte]*> [#uses=0] -%.str_511 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_512 = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%.str_513 = external global [18 x sbyte] ; <[18 x sbyte]*> [#uses=0] -%.str_514 = external global [14 x sbyte] ; <[14 x sbyte]*> [#uses=0] -%.str_515 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_516 = external global [21 x sbyte] ; <[21 x sbyte]*> [#uses=0] -%.str_517 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_519 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.str_520 = external global [21 x sbyte] ; <[21 x sbyte]*> [#uses=0] -%.str_521 = external global [15 x sbyte] ; <[15 x sbyte]*> [#uses=0] -%.str_522 = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -%.str_523 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_524 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_525 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_526 = external global [19 x sbyte] ; <[19 x sbyte]*> [#uses=0] -%.str_527 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] -%.str_528 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_529 = external global [28 x sbyte] ; <[28 x sbyte]*> [#uses=0] -%.str_530 = external global [54 x sbyte] ; <[54 x sbyte]*> [#uses=0] -%.str_531 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_532 = external global [38 x sbyte] ; <[38 x sbyte]*> [#uses=0] -%.str_533 = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%.str_534 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_535 = external global [27 x sbyte] ; <[27 x sbyte]*> [#uses=0] -%.str_536 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_537 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_539 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_540 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_541 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_542 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_543 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_544 = external global [49 x sbyte] ; <[49 x sbyte]*> [#uses=0] -%.str_546 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_550 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_551 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_552 = external global [31 x sbyte] ; <[31 x sbyte]*> [#uses=0] -%.str_553 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_554 = external global [43 x sbyte] ; <[43 x sbyte]*> [#uses=0] -%.str_555 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_556 = external global [26 x sbyte] ; <[26 x sbyte]*> [#uses=0] -%.str_557 = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -%.str_559 = external global [27 x sbyte] ; <[27 x sbyte]*> [#uses=0] -%.str_560 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_562 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_564 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_565 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_567 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_568 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_570 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_571 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_572 = external global [30 x sbyte] ; <[30 x sbyte]*> [#uses=0] -%.str_574 = external global [20 x sbyte] ; <[20 x sbyte]*> [#uses=0] -%.str_576 = external global [21 x sbyte] ; <[21 x sbyte]*> [#uses=0] -%.str_577 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_578 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_579 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_580 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_581 = external global [36 x sbyte] ; <[36 x sbyte]*> [#uses=0] -%.str_582 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_583 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] -%.str_584 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_586 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_587 = external global [28 x sbyte] ; <[28 x sbyte]*> [#uses=0] -%.str_589 = external global [28 x sbyte] ; <[28 x sbyte]*> [#uses=0] -%.str_590 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_591 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_592 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_596 = external global [25 x sbyte] ; <[25 x sbyte]*> [#uses=0] -%.str_597 = external global [27 x sbyte] ; <[27 x sbyte]*> [#uses=0] -%.str_598 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.str_599 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.str_605 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_610 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_613 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_616 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_621 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_622 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] -%.str_623 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_624 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] -%.str_625 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_626 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_628 = external global [30 x sbyte] ; <[30 x sbyte]*> [#uses=0] -%.str_629 = external global [14 x sbyte] ; <[14 x sbyte]*> [#uses=0] -%.str_630 = external global [13 x sbyte] ; <[13 x sbyte]*> [#uses=0] -%.str_631 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] -%.str_632 = external global [14 x sbyte] ; <[14 x sbyte]*> [#uses=0] -%.str_633 = external global [14 x sbyte] ; <[14 x sbyte]*> [#uses=0] -%.str_634 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.str_635 = external global [14 x sbyte] ; <[14 x sbyte]*> [#uses=0] -%.str_636 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.str_637 = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -%.str_639 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_643 = external global [20 x sbyte] ; <[20 x sbyte]*> [#uses=0] -%.str_644 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_645 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_646 = external global [1 x sbyte] ; <[1 x sbyte]*> [#uses=0] -%.str_649 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_654 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=1] -%.str_656 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_658 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_660 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_662 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_664 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_666 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_667 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_669 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_670 = external global [20 x sbyte] ; <[20 x sbyte]*> [#uses=0] -%.str_671 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_672 = external global [23 x sbyte] ; <[23 x sbyte]*> [#uses=0] -%.str_674 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_675 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_676 = external global [30 x sbyte] ; <[30 x sbyte]*> [#uses=0] -%.str_680 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_682 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_683 = external global [37 x sbyte] ; <[37 x sbyte]*> [#uses=0] -%.str_684 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_685 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_686 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_687 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_688 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_689 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_690 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_691 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_692 = external global [20 x sbyte] ; <[20 x sbyte]*> [#uses=0] -%.str_694 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_695 = external global [19 x sbyte] ; <[19 x sbyte]*> [#uses=0] -%.str_697 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_698 = external global [28 x sbyte] ; <[28 x sbyte]*> [#uses=0] -%.str_700 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_701 = external global [19 x sbyte] ; <[19 x sbyte]*> [#uses=0] -%.str_702 = external global [26 x sbyte] ; <[26 x sbyte]*> [#uses=0] -%.str_703 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_704 = external global [25 x sbyte] ; <[25 x sbyte]*> [#uses=0] -%.str_707 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_708 = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -%.str_709 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_710 = external global [20 x sbyte] ; <[20 x sbyte]*> [#uses=0] -%.str_711 = external global [37 x sbyte] ; <[37 x sbyte]*> [#uses=0] -%.str_722 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_723 = external global [34 x sbyte] ; <[34 x sbyte]*> [#uses=0] -%.str_726 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_727 = external global [23 x sbyte] ; <[23 x sbyte]*> [#uses=0] -%.str_728 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_729 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_730 = external global [12 x sbyte] ; <[12 x sbyte]*> [#uses=0] -%.str_732 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_734 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_735 = external global [28 x sbyte] ; <[28 x sbyte]*> [#uses=0] -%.str_736 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_738 = external global [25 x sbyte] ; <[25 x sbyte]*> [#uses=0] -%.str_739 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_740 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_741 = external global [25 x sbyte] ; <[25 x sbyte]*> [#uses=0] -%.str_742 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_743 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_744 = external global [31 x sbyte] ; <[31 x sbyte]*> [#uses=0] -%.str_745 = external global [42 x sbyte] ; <[42 x sbyte]*> [#uses=0] -%.str_747 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_748 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_750 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -"text_move.0__" = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -"new_text.1__" = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_1 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -"text_move.2__" = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_1 = external global [15 x sbyte] ; <[15 x sbyte]*> [#uses=0] -%.str_2 = external global [19 x sbyte] ; <[19 x sbyte]*> [#uses=0] -%.str_3 = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -%.str_130 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_231 = external global [47 x sbyte] ; <[47 x sbyte]*> [#uses=0] -%.str_3 = external global [27 x sbyte] ; <[27 x sbyte]*> [#uses=0] -%.str_4 = external global [27 x sbyte] ; <[27 x sbyte]*> [#uses=0] -%.str_7 = external global [30 x sbyte] ; <[30 x sbyte]*> [#uses=0] -"hashing_pawns.0__" = external global int ; <int*> [#uses=0] -"hashing_opening.1__" = external global int ; <int*> [#uses=0] -"hashing_middle_game.2__" = external global int ; <int*> [#uses=0] -"hashing_end_game.3__" = external global int ; <int*> [#uses=0] -"last_wtm.4__" = external global int ; <int*> [#uses=0] -%.str_1 = external global [37 x sbyte] ; <[37 x sbyte]*> [#uses=0] -%.str_1 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_1 = external global [19 x sbyte] ; <[19 x sbyte]*> [#uses=0] -%.str_2 = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -%.str_3 = external global [30 x sbyte] ; <[30 x sbyte]*> [#uses=0] -%.str_4 = external global [30 x sbyte] ; <[30 x sbyte]*> [#uses=0] -%.str_5 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_6 = external global [25 x sbyte] ; <[25 x sbyte]*> [#uses=0] -%.str_7 = external global [14 x sbyte] ; <[14 x sbyte]*> [#uses=0] -%.str_934 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_1 = external global [28 x sbyte] ; <[28 x sbyte]*> [#uses=0] -%.str_3 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_1 = external global [38 x sbyte] ; <[38 x sbyte]*> [#uses=0] -%.str_2 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_4 = external global [28 x sbyte] ; <[28 x sbyte]*> [#uses=0] -%.str_5 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_1 = external global [11 x sbyte] ; <[11 x sbyte]*> [#uses=0] -%.str_2 = external global [27 x sbyte] ; <[27 x sbyte]*> [#uses=0] -%.str_7 = external global [29 x sbyte] ; <[29 x sbyte]*> [#uses=0] -%.str_10 = external global [34 x sbyte] ; <[34 x sbyte]*> [#uses=0] -%.str_1141 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_12 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_14 = external global [20 x sbyte] ; <[20 x sbyte]*> [#uses=0] -%.str_1542 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.ctor_1 = external global [25 x sbyte] ; <[25 x sbyte]*> [#uses=0] -%.str_1 = external global [33 x sbyte] ; <[33 x sbyte]*> [#uses=0] -%.str_3 = external global [21 x sbyte] ; <[21 x sbyte]*> [#uses=0] -%.str_4 = external global [25 x sbyte] ; <[25 x sbyte]*> [#uses=0] -%.str_5 = external global [26 x sbyte] ; <[26 x sbyte]*> [#uses=0] -%.str_6 = external global [55 x sbyte] ; <[55 x sbyte]*> [#uses=0] -%.str_143 = external global [33 x sbyte] ; <[33 x sbyte]*> [#uses=0] -%.str_2 = external global [15 x sbyte] ; <[15 x sbyte]*> [#uses=0] -%.str_1 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_2 = external global [51 x sbyte] ; <[51 x sbyte]*> [#uses=0] -%bit_move44 = external global ulong ; <ulong*> [#uses=0] -%.str_1 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_248 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_349 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.ctor_1 = external global [46 x sbyte] ; <[46 x sbyte]*> [#uses=0] -%.str_5 = external global [43 x sbyte] ; <[43 x sbyte]*> [#uses=0] -%.str_6 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_751 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_852 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_9 = external global [42 x sbyte] ; <[42 x sbyte]*> [#uses=0] -%.str_10 = external global [41 x sbyte] ; <[41 x sbyte]*> [#uses=0] -"out.0__" = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_1153 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_12 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_13 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_14 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_15 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_16 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_17 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -"out.1__" = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_18 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_19 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_20 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_21 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_2254 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_2355 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_24 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_25 = external global [45 x sbyte] ; <[45 x sbyte]*> [#uses=0] -%.str_26 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] -"out.2__" = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_31 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -"out.3__" = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -"out.4__" = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_3457 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_35 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_36 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_37 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_41 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_45 = external global [55 x sbyte] ; <[55 x sbyte]*> [#uses=0] -"save_book_selection_width.5__" = external global int ; <int*> [#uses=0] -"save_book_random.6__" = external global int ; <int*> [#uses=0] -"save_whisper.7__" = external global int ; <int*> [#uses=0] -"save_kibitz.8__" = external global int ; <int*> [#uses=0] -"save_channel.9__" = external global int ; <int*> [#uses=0] -"save_resign.10" = external global int ; <int*> [#uses=0] -"save_resign_count.11" = external global int ; <int*> [#uses=0] -"save_draw_count.12" = external global int ; <int*> [#uses=0] -"save_learning.13" = external global int ; <int*> [#uses=0] -%.str_49 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_51 = external global [44 x sbyte] ; <[44 x sbyte]*> [#uses=0] -"x.14" = external global [55 x uint] ; <[55 x uint]*> [#uses=0] -"init.15.b" = external global bool ; <bool*> [#uses=0] -"y.16" = external global [55 x uint] ; <[55 x uint]*> [#uses=0] -"j.17" = external global int ; <int*> [#uses=0] -"k.18" = external global int ; <int*> [#uses=0] -%.str_52 = external global [50 x sbyte] ; <[50 x sbyte]*> [#uses=0] -"text.19" = external global [128 x sbyte] ; <[128 x sbyte]*> [#uses=0] -%.str_5659 = external global [12 x sbyte] ; <[12 x sbyte]*> [#uses=0] -%.str_62 = external global [14 x sbyte] ; <[14 x sbyte]*> [#uses=0] -%.str_6662 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_68 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_69 = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -%.str_70 = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -%.str_72 = external global [35 x sbyte] ; <[35 x sbyte]*> [#uses=0] -%.str_74 = external global [23 x sbyte] ; <[23 x sbyte]*> [#uses=0] -%.str_76 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] -%.str_78 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_80 = external global [45 x sbyte] ; <[45 x sbyte]*> [#uses=0] -%.str_82 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_84 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_86 = external global [19 x sbyte] ; <[19 x sbyte]*> [#uses=0] -%.str_88 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_90 = external global [31 x sbyte] ; <[31 x sbyte]*> [#uses=0] -%.str_92 = external global [19 x sbyte] ; <[19 x sbyte]*> [#uses=0] -%.str_94 = external global [30 x sbyte] ; <[30 x sbyte]*> [#uses=0] -%.str_95 = external global [48 x sbyte] ; <[48 x sbyte]*> [#uses=0] -%.str_97 = external global [18 x sbyte] ; <[18 x sbyte]*> [#uses=0] -%.str_98 = external global [36 x sbyte] ; <[36 x sbyte]*> [#uses=0] -%.str_100 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_163 = external global [38 x sbyte] ; <[38 x sbyte]*> [#uses=0] -%.str_2 = external global [38 x sbyte] ; <[38 x sbyte]*> [#uses=0] -%.str_3 = external global [50 x sbyte] ; <[50 x sbyte]*> [#uses=0] -%.str_4 = external global [50 x sbyte] ; <[50 x sbyte]*> [#uses=0] -%.str_5 = external global [51 x sbyte] ; <[51 x sbyte]*> [#uses=0] -%.str_6 = external global [30 x sbyte] ; <[30 x sbyte]*> [#uses=0] -%.str_7 = external global [28 x sbyte] ; <[28 x sbyte]*> [#uses=0] -%.str_8 = external global [33 x sbyte] ; <[33 x sbyte]*> [#uses=0] -%.str_9 = external global [54 x sbyte] ; <[54 x sbyte]*> [#uses=0] -%.str_10 = external global [47 x sbyte] ; <[47 x sbyte]*> [#uses=0] -%.str_11 = external global [46 x sbyte] ; <[46 x sbyte]*> [#uses=0] -%.str_12 = external global [47 x sbyte] ; <[47 x sbyte]*> [#uses=0] -%.str_13 = external global [46 x sbyte] ; <[46 x sbyte]*> [#uses=0] -%.str_14 = external global [35 x sbyte] ; <[35 x sbyte]*> [#uses=0] -%.str_15 = external global [36 x sbyte] ; <[36 x sbyte]*> [#uses=0] -%.str_16 = external global [35 x sbyte] ; <[35 x sbyte]*> [#uses=0] -%.str_17 = external global [36 x sbyte] ; <[36 x sbyte]*> [#uses=0] -%.str_18 = external global [35 x sbyte] ; <[35 x sbyte]*> [#uses=0] -%.str_19 = external global [41 x sbyte] ; <[41 x sbyte]*> [#uses=0] -%.str_20 = external global [36 x sbyte] ; <[36 x sbyte]*> [#uses=0] -%.str_22 = external global [35 x sbyte] ; <[35 x sbyte]*> [#uses=0] -%.str_23 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_24 = external global [36 x sbyte] ; <[36 x sbyte]*> [#uses=0] -%.str_26 = external global [35 x sbyte] ; <[35 x sbyte]*> [#uses=0] -%.str_27 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_28 = external global [36 x sbyte] ; <[36 x sbyte]*> [#uses=0] -%.str_30 = external global [35 x sbyte] ; <[35 x sbyte]*> [#uses=0] -%.str_31 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_32 = external global [36 x sbyte] ; <[36 x sbyte]*> [#uses=0] -%.str_33 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_34 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_3565 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_36 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_37 = external global [41 x sbyte] ; <[41 x sbyte]*> [#uses=0] -%.str_38 = external global [41 x sbyte] ; <[41 x sbyte]*> [#uses=0] -%.str_39 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_40 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_41 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_42 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_43 = external global [41 x sbyte] ; <[41 x sbyte]*> [#uses=0] -%.str_44 = external global [41 x sbyte] ; <[41 x sbyte]*> [#uses=0] -%.str_45 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_46 = external global [35 x sbyte] ; <[35 x sbyte]*> [#uses=0] -%.str_47 = external global [50 x sbyte] ; <[50 x sbyte]*> [#uses=0] -%.str_48 = external global [26 x sbyte] ; <[26 x sbyte]*> [#uses=0] -%.str_49 = external global [31 x sbyte] ; <[31 x sbyte]*> [#uses=0] -%.str_50 = external global [15 x sbyte] ; <[15 x sbyte]*> [#uses=0] -%.str_51 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_52 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] -%.str_53 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] - -implementation ; Functions: - -declare ulong %AttacksFrom(int, int) - -declare ulong %AttacksTo(int) - -declare int %Attacked(int, int) + %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 ulong %Mask(int) +declare i32 @FirstOne(i64) -declare int %PopCnt(ulong) +declare i32 @LastOne(i64) -declare int %FirstOne(ulong) +declare i32 @DrawScore() -declare int %LastOne(ulong) +declare i32 @Drawn(i32) -declare int %DrawScore() +declare i8* @strchr(i8*, i32) -declare int %Drawn(int) +declare i32 @strcmp(i8*, i8*) -declare sbyte* %strchr(sbyte*, int) +declare i32 @strlen(i8*) -declare int %strcmp(sbyte*, sbyte*) +declare i32 @printf(i8*, ...) -declare uint %strlen(sbyte*) +declare void @Edit() -declare int %printf(sbyte*, ...) +declare void @llvm.memcpy(i8*, i8*, i32, i32) -declare void %Edit() +declare i32 @fflush(%struct.__sFILE*) -declare void %llvm.memcpy(sbyte*, sbyte*, uint, uint) +declare i32 @Read(i32, i8*) -declare int %fflush(%struct.__sFILE*) +declare i32 @ReadParse(i8*, i8**, i8*) -declare int %Read(int, sbyte*) +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 int %ReadParse(sbyte*, sbyte**, sbyte*) +declare void @SetChessBitBoards(%typedef.SEARCH_POSITION*) -declare void %DisplayChessBoard(%struct.__sFILE*, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, uint, int, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte) +declare i32 @EnPrise(i32, i32) -declare void %SetChessBitBoards(%typedef.SEARCH_POSITION*) +declare i64 @SwapXray(i64, i32, i32) -declare int %EnPrise(int, int) +declare i32 @Evaluate(i32, i32, i32, i32) -declare ulong %SwapXray(ulong, int, int) +declare i32 @EvaluateMate() -declare int %Evaluate(int, int, int, int) +declare i32 @EvaluatePawns() -declare int %EvaluateMate() +declare i32 @EvaluatePassedPawns() -declare int %EvaluatePawns() +declare i32 @EvaluatePassedPawnRaces(i32) -declare int %EvaluatePassedPawns() +declare i32 @Swap(i32, i32, i32) -declare int %EvaluatePassedPawnRaces(int) +declare i32 @EvaluateDevelopment(i32) -declare int %Swap(int, int, int) +declare i32 @EvaluateDraws() -declare int %EvaluateDevelopment(int) +declare i32 @HasOpposition(i32, i32, i32) -declare int %EvaluateDraws() +declare void @HistoryBest(i32, i32, i32) -declare int %HasOpposition(int, int, int) +declare void @HistoryRefutation(i32, i32, i32) -declare void %HistoryBest(int, int, int) +declare i32 @sprintf(i8*, i8*, ...) -declare void %HistoryRefutation(int, int, int) +declare void @Initialize(i32) -declare int %sprintf(sbyte*, sbyte*, ...) +declare void @InitializeZeroMasks() -declare void %Initialize(int) +declare void @InitializeMasks() -declare void %InitializeZeroMasks() +declare void @InitializeRandomHash() -declare void %InitializeMasks() +declare void @InitializeAttackBoards() -declare void %InitializeRandomHash() +declare void @InitializePawnMasks() -declare void %InitializeAttackBoards() +declare void @InitializePieceMasks() -declare void %InitializePawnMasks() +declare void @InitializeChessBoard(%typedef.SEARCH_POSITION*) -declare void %InitializePieceMasks() +declare %struct.__sFILE* @fopen(i8*, i8*) -declare void %InitializeChessBoard(%typedef.SEARCH_POSITION*) - -declare %struct.__sFILE* %fopen(sbyte*, sbyte*) - -int %Option() { +define i32 @Option() { no_exit.53.outer: - %tmp.4747 = shl int 7, ubyte 3 ; <int> [#uses=1] - %tmp.4779 = seteq %struct.__sFILE* getelementptr ([0 x %struct.__sFILE]* %__sF, int 0, int 1), null ; <bool> [#uses=2] + %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 int [ 0, %no_exit.53.outer ], [ %inc.551688, %then.360 ], [ %inc.551701, %else.168 ], [ %file.2.3.3.ph, %else.166 ] ; <int> [#uses=2] - %nempty.5.3.ph = phi int [ 0, %no_exit.53.outer ], [ %nempty.5.3, %then.360 ], [ %nempty.5.3, %else.168 ], [ %nempty.5.3.ph, %else.166 ] ; <int> [#uses=2] - %indvar2053.ui = phi uint [ 0, %no_exit.53.outer ], [ 0, %then.360 ], [ 0, %else.168 ], [ %indvar.next2054, %else.166 ] ; <uint> [#uses=2] - %indvar2053 = cast uint %indvar2053.ui to int ; <int> [#uses=2] - %file.2.3.3 = add int %indvar2053, %file.2.3.3.ph ; <int> [#uses=4] - %nempty.5.3 = add int %indvar2053, %nempty.5.3.ph ; <int> [#uses=3] - %tmp.4749 = add int %file.2.3.3, %tmp.4747 ; <int> [#uses=1] - %tmp.4750 = getelementptr %typedef.CHESS_POSITION* %search, int 0, uint 22, int %tmp.4749 ; <sbyte*> [#uses=3] - %tmp.4751 = load sbyte* %tmp.4750 ; <sbyte> [#uses=1] - %tmp.4752 = seteq sbyte %tmp.4751, 0 ; <bool> [#uses=1] - br bool %tmp.4752, label %else.166, label %then.357 - + %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 = seteq int %nempty.5.3, 0 ; <bool> [#uses=1] - br bool %tmp.4755, label %endif.358, label %then.358 - + %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 int 0 - + ret i32 0 endif.358: ; preds = %then.357 - br bool %tmp.4779, label %else.168, label %then.360 - + br i1 %tmp.4779, label %else.168, label %then.360 then.360: ; preds = %endif.358 - %tmp.4791 = load sbyte* %tmp.4750 ; <sbyte> [#uses=1] - %tmp.4792 = cast sbyte %tmp.4791 to int ; <int> [#uses=1] - %tmp.4793 = add int %tmp.4792, 7 ; <int> [#uses=1] - %tmp.4794 = getelementptr [15 x sbyte]* null, int 0, int %tmp.4793 ; <sbyte*> [#uses=1] - %tmp.4795 = load sbyte* %tmp.4794 ; <sbyte> [#uses=1] - %tmp.4796 = cast sbyte %tmp.4795 to int ; <int> [#uses=1] - %tmp.4781 = call int (%struct.__sFILE*, sbyte*, ...)* %fprintf( %struct.__sFILE* getelementptr ([0 x %struct.__sFILE]* %__sF, int 0, int 1), sbyte* getelementptr ([3 x sbyte]* %.str_36, int 0, int 0), int %tmp.4796 ) ; <int> [#uses=0] - %inc.551688 = add int %file.2.3.3, 1 ; <int> [#uses=2] - %tmp.47421699 = setlt int %inc.551688, 8 ; <bool> [#uses=1] - br bool %tmp.47421699, label %no_exit.53, label %loopexit.56 - + %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 uint %strlen( sbyte* getelementptr ([80 x sbyte]* %initial_position, int 0, int 0) ) ; <uint> [#uses=2] - %tmp.4802 = getelementptr [80 x sbyte]* %initial_position, int 0, uint %tmp.4799 ; <sbyte*> [#uses=1] - %tmp.4811 = load sbyte* %tmp.4750 ; <sbyte> [#uses=1] - %tmp.4812 = cast sbyte %tmp.4811 to int ; <int> [#uses=1] - %tmp.4813 = add int %tmp.4812, 7 ; <int> [#uses=1] - %tmp.4814 = getelementptr [15 x sbyte]* null, int 0, int %tmp.4813 ; <sbyte*> [#uses=1] - %tmp.4815 = load sbyte* %tmp.4814 ; <sbyte> [#uses=1] - store sbyte %tmp.4815, sbyte* %tmp.4802 - %tmp.4802.sum = add uint %tmp.4799, 1 ; <uint> [#uses=1] - %tmp.4802.end = getelementptr [80 x sbyte]* %initial_position, int 0, uint %tmp.4802.sum ; <sbyte*> [#uses=1] - store sbyte 0, sbyte* %tmp.4802.end - %inc.551701 = add int %file.2.3.3, 1 ; <int> [#uses=2] - %tmp.47421703 = setlt int %inc.551701, 8 ; <bool> [#uses=1] - br bool %tmp.47421703, label %no_exit.53, label %loopexit.56 - + %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 int %file.2.3.3, 1 ; <int> [#uses=1] - %tmp.47421705 = setlt int %inc.55, 8 ; <bool> [#uses=1] - %indvar.next2054 = add uint %indvar2053.ui, 1 ; <uint> [#uses=1] - br bool %tmp.47421705, label %no_exit.53, label %loopexit.56 - + %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 bool %tmp.4779, label %else.169, label %then.361 - + br i1 %tmp.4779, label %else.169, label %then.361 then.361: ; preds = %loopexit.56 - %tmp.4822 = call uint %fwrite( sbyte* getelementptr ([2 x sbyte]* %.str_654, int 0, int 0), uint 1, uint 1, %struct.__sFILE* getelementptr ([0 x %struct.__sFILE]* %__sF, int 0, int 1) ) ; <uint> [#uses=0] - %dec.101707 = add int 7, -1 ; <int> [#uses=1] - %tmp.47391709 = setgt int %dec.101707, -1 ; <bool> [#uses=0] - ret int 0 - + %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 uint %strlen( sbyte* getelementptr ([80 x sbyte]* %initial_position, int 0, int 0) ) ; <uint> [#uses=2] - %tmp.4830 = getelementptr [80 x sbyte]* %initial_position, int 0, uint %tmp.4827 ; <sbyte*> [#uses=1] - store sbyte 47, sbyte* %tmp.4830 - %tmp.4830.sum = add uint %tmp.4827, 1 ; <uint> [#uses=1] - %tmp.4830.end = getelementptr [80 x sbyte]* %initial_position, int 0, uint %tmp.4830.sum ; <sbyte*> [#uses=1] - store sbyte 0, sbyte* %tmp.4830.end - %dec.10 = add int 7, -1 ; <int> [#uses=1] - %tmp.47391711 = setgt int %dec.10, -1 ; <bool> [#uses=0] - ret int 0 + %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 void @InitializeHashTables() -declare int %InitializeFindAttacks(int, int, int) +declare i32 @InitializeFindAttacks(i32, i32, i32) -declare void %SetBoard(int, sbyte**, int) +declare void @SetBoard(i32, i8**, i32) -declare int %KingPawnSquare(int, int, int, int) +declare i32 @KingPawnSquare(i32, i32, i32, i32) -declare ulong %Random64() +declare i64 @Random64() -declare uint %Random32() +declare i32 @Random32() -declare sbyte* %strcpy(sbyte*, sbyte*) +declare i8* @strcpy(i8*, i8*) -declare int %InputMove(sbyte*, int, int, int, int) +declare i32 @InputMove(i8*, i32, i32, i32, i32) -declare int %InputMoveICS(sbyte*, int, int, int, int) +declare i32 @InputMoveICS(i8*, i32, i32, i32, i32) -declare int* %GenerateCaptures(int, int, int*) +declare i32* @GenerateCaptures(i32, i32, i32*) -declare int* %GenerateNonCaptures(int, int, int*) +declare i32* @GenerateNonCaptures(i32, i32, i32*) -declare void %MakeMove(int, int, int) +declare void @MakeMove(i32, i32, i32) -declare void %UnMakeMove(int, int, int) +declare void @UnMakeMove(i32, i32, i32) -declare void %Interrupt(int) +declare void @Interrupt(i32) -declare uint %GetTime(uint) +declare i32 @GetTime(i32) -declare sbyte* %DisplayTime(uint) +declare i8* @DisplayTime(i32) -declare sbyte* %OutputMoveICS(int*) +declare i8* @OutputMoveICS(i32*) -declare void %Delay(int) +declare void @Delay(i32) -declare int %fprintf(%struct.__sFILE*, sbyte*, ...) +declare i32 @fprintf(%struct.__sFILE*, i8*, ...) -declare void %SignalInterrupt(int) +declare void @SignalInterrupt(i32) -declare void (int)* %signal(int, void (int)*) +declare void (i32)* @signal(i32, void (i32)*) -declare int %Iterate(int, int, int) +declare i32 @Iterate(i32, i32, i32) -declare void %PreEvaluate(int) +declare void @PreEvaluate(i32) -declare void %RootMoveList(int) +declare void @RootMoveList(i32) -declare sbyte* %OutputMove(int*, int, int) +declare i8* @OutputMove(i32*, i32, i32) -declare void %TimeSet(int) +declare void @TimeSet(i32) -declare void %StorePV(int, int) +declare void @StorePV(i32, i32) -declare int %SearchRoot(int, int, int, int) +declare i32 @SearchRoot(i32, i32, i32, i32) -declare void %Whisper(int, int, int, int, uint, int, sbyte*) +declare void @Whisper(i32, i32, i32, i32, i32, i32, i8*) -declare sbyte* %DisplayEvaluation(int) +declare i8* @DisplayEvaluation(i32) -declare int %LookUp(int, int, int, int*, int*) +declare i32 @LookUp(i32, i32, i32, i32*, i32*) -declare sbyte* %strstr(sbyte*, sbyte*) +declare i8* @strstr(i8*, i8*) -declare int %main(int, sbyte**) +declare i32 @main(i32, i8**) -declare void %__main() +declare void @__main() -declare int %atoi(sbyte*) +declare i32 @atoi(i8*) -declare void %NewGame(int) +declare void @NewGame(i32) -declare int %Ponder(int) +declare i32 @Ponder(i32) -declare int %fseek(%struct.__sFILE*, int, int) +declare i32 @fseek(%struct.__sFILE*, i32, i32) -declare void %MakeMoveRoot(int, int) +declare void @MakeMoveRoot(i32, i32) -declare int %RepetitionDraw(int) +declare i32 @RepetitionDraw(i32) -declare sbyte* %Reverse() +declare i8* @Reverse() -declare sbyte* %Normal() +declare i8* @Normal() -declare void %TimeAdjust(int, uint) +declare void @TimeAdjust(i32, i32) -declare void %ValidatePosition(int, int, sbyte*) +declare void @ValidatePosition(i32, i32, i8*) -declare int %ValidMove(int, int, int) +declare i32 @ValidMove(i32, i32, i32) -declare int* %GenerateCheckEvasions(int, int, int*) +declare i32* @GenerateCheckEvasions(i32, i32, i32*) -declare ulong %InterposeSquares(int, int, int) +declare i64 @InterposeSquares(i32, i32, i32) -declare int %PinnedOnKing(int, int) +declare i32 @PinnedOnKing(i32, i32) -declare int %NextMove(int, int) +declare i32 @NextMove(i32, i32) -declare int %NextEvasion(int, int) +declare i32 @NextEvasion(i32, i32) -declare int %NextRootMove(int) +declare i32 @NextRootMove(i32) -declare int %TimeCheck(int) +declare i32 @TimeCheck(i32) -declare int %strncmp(sbyte*, sbyte*, uint) +declare i32 @strncmp(i8*, i8*, i32) -declare void %exit(int) +declare void @exit(i32) -declare int %OptionMatch(sbyte*, sbyte*) +declare i32 @OptionMatch(i8*, i8*) -declare int %fclose(%struct.__sFILE*) +declare i32 @fclose(%struct.__sFILE*) -declare int %ParseTime(sbyte*) +declare i32 @ParseTime(i8*) -declare sbyte* %DisplayHHMM(uint) +declare i8* @DisplayHHMM(i32) -declare void %DisplayPieceBoards(int*, int*) +declare void @DisplayPieceBoards(i32*, i32*) -declare int %fscanf(%struct.__sFILE*, sbyte*, ...) +declare i32 @fscanf(%struct.__sFILE*, i8*, ...) -declare int %feof(%struct.__sFILE*) +declare i32 @feof(%struct.__sFILE*) -declare sbyte* %fgets(sbyte*, int, %struct.__sFILE*) +declare i8* @fgets(i8*, i32, %struct.__sFILE*) -declare int %remove(sbyte*) +declare i32 @remove(i8*) -declare int %__tolower(int) +declare i32 @__tolower(i32) -declare uint %clock() +declare i32 @clock() -declare void %OptionPerft(int, int, int) +declare void @OptionPerft(i32, i32, i32) -declare void %Phase() +declare void @Phase() -declare int %ReadNextMove(sbyte*, int, int) +declare i32 @ReadNextMove(i8*, i32, i32) -declare int %time(int*) +declare i32 @time(i32*) -declare %struct.tm* %localtime(int*) +declare %struct.tm* @localtime(i32*) -declare sbyte* %gets(sbyte*) +declare i8* @gets(i8*) -declare int %OutputGood(sbyte*, int, int) +declare i32 @OutputGood(i8*, i32, i32) -declare int %CheckInput() +declare i32 @CheckInput() -declare void %ClearHashTables() +declare void @ClearHashTables() -declare int %Quiesce(int, int, int, int) +declare i32 @Quiesce(i32, i32, i32, i32) -declare void %SearchTrace(int, int, int, int, int, sbyte*, int) +declare void @SearchTrace(i32, i32, i32, i32, i32, i8*, i32) -declare int %RepetitionCheck(int, int) +declare i32 @RepetitionCheck(i32, i32) -declare void %ResignOrDraw(int, int) +declare void @ResignOrDraw(i32, i32) -declare int %Search(int, int, int, int, int, int) +declare i32 @Search(i32, i32, i32, i32, i32, i32) -declare void %StoreRefutation(int, int, int, int) +declare void @StoreRefutation(i32, i32, i32, i32) -declare void %StoreBest(int, int, int, int, int) +declare void @StoreBest(i32, i32, i32, i32, i32) -declare void %SearchOutput(int, int) +declare void @SearchOutput(i32, i32) -declare uint %strspn(sbyte*, sbyte*) +declare i32 @strspn(i8*, i8*) -declare int %isatty(int) +declare i32 @isatty(i32) -declare int %fileno(%struct.__sFILE*) +declare i32 @fileno(%struct.__sFILE*) -declare void %llvm.memset(sbyte*, ubyte, uint, uint) +declare void @llvm.memset(i8*, i8, i32, i32) -declare int %select(int, %struct.fd_set*, %struct.fd_set*, %struct.fd_set*, %struct.timeval*) +declare i32 @select(i32, %struct.fd_set*, %struct.fd_set*, %struct.fd_set*, %struct.timeval*) -declare void %DisplayBitBoard(ulong) +declare void @DisplayBitBoard(i64) -declare sbyte* %DisplayEvaluationWhisper(int) +declare i8* @DisplayEvaluationWhisper(i32) -declare sbyte* %DisplayTimeWhisper(uint) +declare i8* @DisplayTimeWhisper(i32) -declare void %Display64bitWord(ulong) +declare void @Display64bitWord(i64) -declare void %Display2BitBoards(ulong, ulong) +declare void @Display2BitBoards(i64, i64) -declare void %DisplayChessMove(sbyte*, int) +declare void @DisplayChessMove(i8*, i32) -declare void %llvm.memmove(sbyte*, sbyte*, uint, uint) +declare void @llvm.memmove(i8*, i8*, i32, i32) -declare void %ReadClear() +declare void @ReadClear() -declare sbyte* %strtok(sbyte*, sbyte*) +declare i8* @strtok(i8*, i8*) -declare int %SpecReadRaw() +declare i32 @SpecReadRaw() -declare int %read(int, sbyte*, uint) +declare i32 @read(i32, i8*, i32) -declare int* %__error() +declare i32* @__error() -declare int %ReadChessMove(%struct.__sFILE*, int, int) +declare i32 @ReadChessMove(%struct.__sFILE*, i32, i32) -declare ulong %ValidateComputeBishopAttacks(int) +declare i64 @ValidateComputeBishopAttacks(i32) -declare ulong %ValidateComputeRookAttacks(int) +declare i64 @ValidateComputeRookAttacks(i32) -declare sbyte* %memchr(sbyte*, int, uint) +declare i8* @memchr(i8*, i32, i32) -declare uint %fwrite(sbyte*, uint, uint, %struct.__sFILE*) +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 index 469c6d7..916cba2 100644 --- a/test/Transforms/LoopUnswitch/2006-02-22-UnswitchCrash.ll +++ b/test/Transforms/LoopUnswitch/2006-02-22-UnswitchCrash.ll @@ -1,42 +1,32 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-unswitch -disable-output +; RUN: llvm-as < %s | opt -loop-unswitch -disable-output -void %sort_Eq(int * %S2) { +define void @sort_Eq(i32* %S2) { entry: - br bool false, label %list_Length.exit, label %cond_true.i - + br i1 false, label %list_Length.exit, label %cond_true.i cond_true.i: ; preds = %entry ret void - list_Length.exit: ; preds = %entry - br bool false, label %list_Length.exit9, label %cond_true.i5 - + 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 bool false, label %bb78, label %return - + br i1 false, label %bb78, label %return bb44: ; preds = %bb78, %cond_next68 - br bool %tmp49.not, label %bb62, label %bb62.loopexit - + br i1 %tmp49.not, label %bb62, label %bb62.loopexit bb62.loopexit: ; preds = %bb44 br label %bb62 - bb62: ; preds = %bb62.loopexit, %bb44 - br bool false, label %return.loopexit, label %cond_next68 - + br i1 false, label %return.loopexit, label %cond_next68 cond_next68: ; preds = %bb62 - br bool false, label %return.loopexit, label %bb44 - + br i1 false, label %return.loopexit, label %bb44 bb78: ; preds = %list_Length.exit9 - %tmp49.not = seteq int* %S2, null ; <bool> [#uses=1] + %tmp49.not = icmp eq i32* %S2, null ; <i1> [#uses=1] br label %bb44 - return.loopexit: ; preds = %cond_next68, %bb62 - %retval.0.ph = phi uint [ 1, %cond_next68 ], [ 0, %bb62 ] ; <uint> [#uses=1] + %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 uint [ 0, %list_Length.exit9 ], [ %retval.0.ph, %return.loopexit ] ; <uint> [#uses=0] + %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 index 072ad20..60e464f 100644 --- a/test/Transforms/LoopUnswitch/2006-06-13-SingleEntryPHI.ll +++ b/test/Transforms/LoopUnswitch/2006-06-13-SingleEntryPHI.ll @@ -1,43 +1,34 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-unswitch -disable-output +; RUN: llvm-as < %s | opt -loop-unswitch -disable-output - %struct.BLEND_MAP = type { short, short, short, int, %struct.BLEND_MAP_ENTRY* } - %struct.BLEND_MAP_ENTRY = type { float, ubyte, { [5 x float], [4 x ubyte] } } - %struct.TPATTERN = type { ushort, ushort, ushort, int, float, float, float, %struct.WARP*, %struct.TPATTERN*, %struct.BLEND_MAP*, { %struct.anon, [4 x ubyte] } } - %struct.TURB = type { ushort, %struct.WARP*, [3 x double], int, float, float } - %struct.WARP = type { ushort, %struct.WARP* } + %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] } -implementation ; Functions: - -void %Parse_Pattern() { +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 = seteq int 0, 0 ; <bool> [#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 bool %tmp1098, label %cond_true1099, label %bb1102 - + br i1 %tmp1098, label %cond_true1099, label %bb1102 cond_true1099: ; preds = %bb1096 - switch int 0, label %bb1096.outer20.loopexit [ - int 161, label %bb671 - int 359, label %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 index 0d5a452..67da9ff 100644 --- a/test/Transforms/LoopUnswitch/2006-06-27-DeadSwitchCase.ll +++ b/test/Transforms/LoopUnswitch/2006-06-27-DeadSwitchCase.ll @@ -1,31 +1,25 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-unswitch -disable-output -implementation ; Functions: +; RUN: llvm-as < %s | opt -loop-unswitch -disable-output -void %init_caller_save() { +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 uint [ 0, %cond_next20 ], [ 0, %cond_true64 ], [ 0, %cond_true64 ] ; <uint> [#uses=0] + %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 bool false, label %bb75, label %cond_true64 - + br i1 false, label %bb75, label %cond_true64 cond_true64: ; preds = %bb54 - switch int %i.0.0, label %cond_next20 [ - int 17, label %bb31 - int 18, label %bb31 + switch i32 %i.0.0, label %cond_next20 [ + i32 17, label %bb31 + i32 18, label %bb31 ] - bb75: ; preds = %bb54 - %tmp74.0 = add int %i.0.0, 1 ; <int> [#uses=1] + %tmp74.0 = add i32 %i.0.0, 1 ; <i32> [#uses=1] br label %cond_true78 - cond_true78: ; preds = %bb75, %entry - %i.0.0 = phi int [ 0, %entry ], [ %tmp74.0, %bb75 ] ; <int> [#uses=2] + %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 index fc3e206..08cb9b6 100644 --- a/test/Transforms/LoopUnswitch/2007-05-09-Unreachable.ll +++ b/test/Transforms/LoopUnswitch/2007-05-09-Unreachable.ll @@ -1,5 +1,6 @@ ; PR1333 -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-unswitch -disable-output +; 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* } @@ -7,26 +8,21 @@ target triple = "i686-pc-linux-gnu" %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]] } -void @quotes__write_quote() { +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/basictest.ll b/test/Transforms/LoopUnswitch/basictest.ll index c0c14b9..eeaf08d 100644 --- a/test/Transforms/LoopUnswitch/basictest.ll +++ b/test/Transforms/LoopUnswitch/basictest.ll @@ -1,35 +1,31 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-unswitch -disable-output -implementation ; Functions: +; RUN: llvm-as < %s | opt -loop-unswitch -disable-output -int %test(int* %A, bool %C) { +define i32 @test(i32* %A, i1 %C) { entry: br label %no_exit - -no_exit: ; preds = %entry, %no_exit.backedge - %i.0.0 = phi uint [ 0, %entry ], [ %i.0.0.be, %no_exit.backedge ] ; <uint> [#uses=3] - %tmp.7 = getelementptr int* %A, uint %i.0.0 ; <int*> [#uses=4] - %tmp.13 = load int* %tmp.7 ; <int> [#uses=1] - %tmp.14 = add int %tmp.13, 1 ; <int> [#uses=1] - store int %tmp.14, int* %tmp.7 - br bool %C, label %then, label %endif - +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 int* %tmp.7 ; <int> [#uses=1] - %tmp.30 = add int %tmp.29, 2 ; <int> [#uses=1] - store int %tmp.30, int* %tmp.7 - %inc9 = add uint %i.0.0, 1 ; <uint> [#uses=2] - %tmp.112 = setlt uint %inc9, 100000 ; <bool> [#uses=1] - br bool %tmp.112, label %no_exit.backedge, label %return - -no_exit.backedge: ; preds = %then, %endif - %i.0.0.be = phi uint [ %inc9, %then ], [ %inc, %endif ] ; <uint> [#uses=1] + %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 uint %i.0.0, 1 ; <uint> [#uses=2] - %tmp.1 = setlt uint %inc, 100000 ; <bool> [#uses=1] - br bool %tmp.1, label %no_exit.backedge, label %return - -return: ; preds = %then, %endif - ret int %tmp.13 + %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/LowerInvoke/2003-12-10-Crash.llx b/test/Transforms/LowerInvoke/2003-12-10-Crash.llx index 495099a..1e8b880 100644 --- a/test/Transforms/LowerInvoke/2003-12-10-Crash.llx +++ b/test/Transforms/LowerInvoke/2003-12-10-Crash.llx @@ -1,24 +1,22 @@ ; This testcase was reduced from Shootout-C++/reversefile.cpp by bugpoint -; RUN: llvm-upgrade < %s | llvm-as | opt -lowerinvoke -disable-output +; RUN: llvm-as < %s | opt -lowerinvoke -disable-output -declare void %baz() +declare void @baz() -declare void %bar() - -void %foo() { -then: ; preds = %entry - invoke void %baz( ) - to label %invoke_cont.0 except label %try_catch +declare void @bar() +define void @foo() { +then: + invoke void @baz( ) + to label %invoke_cont.0 unwind label %try_catch invoke_cont.0: ; preds = %then - invoke void %bar( ) - to label %try_exit except label %try_catch - -try_catch: ; preds = %then, %invoke_cont.0 - %__tmp.0 = phi int* [ null, %invoke_cont.0 ], [ null, %then ] + invoke void @bar( ) + to label %try_exit unwind label %try_catch +try_catch: ; preds = %invoke_cont.0, %then + %__tmp.0 = phi i32* [ null, %invoke_cont.0 ], [ null, %then ] ; <i32*> [#uses=0] ret void - try_exit: ; preds = %invoke_cont.0 ret void } + diff --git a/test/Transforms/LowerInvoke/2004-02-29-PHICrash.llx b/test/Transforms/LowerInvoke/2004-02-29-PHICrash.llx index 9018257..0777013 100644 --- a/test/Transforms/LowerInvoke/2004-02-29-PHICrash.llx +++ b/test/Transforms/LowerInvoke/2004-02-29-PHICrash.llx @@ -1,16 +1,15 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -lowerinvoke -enable-correct-eh-support -disable-output +; RUN: llvm-as < %s | opt -lowerinvoke -enable-correct-eh-support -disable-output -void %_ZNKSt11__use_cacheISt16__numpunct_cacheIcEEclERKSt6locale() { +define void @_ZNKSt11__use_cacheISt16__numpunct_cacheIcEEclERKSt6locale() { entry: - br bool false, label %then, label %UnifiedReturnBlock - + br i1 false, label %then, label %UnifiedReturnBlock then: ; preds = %entry - invoke void %_Znwj( ) + invoke void @_Znwj( ) to label %UnifiedReturnBlock unwind label %UnifiedReturnBlock - -UnifiedReturnBlock: ; preds = %entry, %then, %then - %UnifiedRetVal = phi int* [ null, %entry ], [ null, %then ], [ null, %then ] +UnifiedReturnBlock: ; preds = %then, %then, %entry + %UnifiedRetVal = phi i32* [ null, %entry ], [ null, %then ], [ null, %then ] ; <i32*> [#uses=0] ret void } -declare void %_Znwj() +declare void @_Znwj() + diff --git a/test/Transforms/LowerInvoke/2005-08-03-InvokeWithPHI.ll b/test/Transforms/LowerInvoke/2005-08-03-InvokeWithPHI.ll index 51f3fb2..10c8785 100644 --- a/test/Transforms/LowerInvoke/2005-08-03-InvokeWithPHI.ll +++ b/test/Transforms/LowerInvoke/2005-08-03-InvokeWithPHI.ll @@ -1,20 +1,17 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -lowerinvoke -enable-correct-eh-support -disable-output +; RUN: llvm-as < %s | opt -lowerinvoke -enable-correct-eh-support -disable-output -implementation ; Functions: +declare void @ll_listnext__listiterPtr() -declare void %ll_listnext__listiterPtr() - -void %WorkTask.fn() { +define void @WorkTask.fn() { block0: - invoke void %ll_listnext__listiterPtr( ) + invoke void @ll_listnext__listiterPtr( ) to label %block9 unwind label %block8_exception_handling - block8_exception_handling: ; preds = %block0 ret void - block9: ; preds = %block0 - %w_2690 = phi { int, int }* [ null, %block0 ] ; <{ int, int }*> [#uses=1] - %tmp.129 = getelementptr { int, int }* %w_2690, int 0, uint 1 ; <int*> [#uses=1] - %v2769 = load int* %tmp.129 ; <int> [#uses=0] + %w_2690 = phi { i32, i32 }* [ null, %block0 ] ; <{ i32, i32 }*> [#uses=1] + %tmp.129 = getelementptr { i32, i32 }* %w_2690, i32 0, i32 1 ; <i32*> [#uses=1] + %v2769 = load i32* %tmp.129 ; <i32> [#uses=0] ret void } + diff --git a/test/Transforms/LowerInvoke/2005-08-03-InvokeWithPHIUse.ll b/test/Transforms/LowerInvoke/2005-08-03-InvokeWithPHIUse.ll index 6366257..0a8ccbe 100644 --- a/test/Transforms/LowerInvoke/2005-08-03-InvokeWithPHIUse.ll +++ b/test/Transforms/LowerInvoke/2005-08-03-InvokeWithPHIUse.ll @@ -1,16 +1,15 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -lowerinvoke -enable-correct-eh-support -disable-output +; RUN: llvm-as < %s | opt -lowerinvoke -enable-correct-eh-support -disable-output -declare fastcc int %ll_listnext__listiterPtr() +declare fastcc i32 @ll_listnext__listiterPtr() -fastcc int %WorkTask.fn() { +define fastcc i32 @WorkTask.fn() { block0: - %v2679 = invoke fastcc int %ll_listnext__listiterPtr( ) - to label %block9 unwind label %block8_exception_handling ; <int> [#uses=1] - + %v2679 = invoke fastcc i32 @ll_listnext__listiterPtr( ) + to label %block9 unwind label %block8_exception_handling ; <i32> [#uses=1] block8_exception_handling: ; preds = %block0 - ret int 0 - + ret i32 0 block9: ; preds = %block0 - %i_2689 = phi int [ %v2679, %block0 ] ; <int> [#uses=0] - ret int %i_2689 + %i_2689 = phi i32 [ %v2679, %block0 ] ; <i32> [#uses=1] + ret i32 %i_2689 } + diff --git a/test/Transforms/LowerInvoke/basictest.ll b/test/Transforms/LowerInvoke/basictest.ll index 8c38b89..a9c19f2 100644 --- a/test/Transforms/LowerInvoke/basictest.ll +++ b/test/Transforms/LowerInvoke/basictest.ll @@ -1,27 +1,30 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -lowerinvoke -disable-output -enable-correct-eh-support +; RUN: llvm-as < %s | opt -lowerinvoke -disable-output -enable-correct-eh-support -implementation -int %foo() { - invoke int %foo() to label %Ok unwind label %Crap -Ok: - invoke int %foo() to label %Ok2 unwind label %Crap -Ok2: - ret int 2 -Crap: - ret int 1 +define i32 @foo() { + invoke i32 @foo( ) + to label %Ok unwind label %Crap ; <i32>:1 [#uses=0] +Ok: ; preds = %0 + invoke i32 @foo( ) + to label %Ok2 unwind label %Crap ; <i32>:2 [#uses=0] +Ok2: ; preds = %Ok + ret i32 2 +Crap: ; preds = %Ok, %0 + ret i32 1 } -int %bar(int %blah) { +define i32 @bar(i32 %blah) { br label %doit -doit: - ;; Value live across an unwind edge. - %B2 = add int %blah, 1 - invoke int %foo() to label %Ok unwind label %Crap -Ok: - invoke int %foo() to label %Ok2 unwind label %Crap -Ok2: - ret int 2 -Crap: - ret int %B2 +doit: ; preds = %0 + ;; Value live across an unwind edge. + %B2 = add i32 %blah, 1 ; <i32> [#uses=1] + invoke i32 @foo( ) + to label %Ok unwind label %Crap ; <i32>:1 [#uses=0] +Ok: ; preds = %doit + invoke i32 @foo( ) + to label %Ok2 unwind label %Crap ; <i32>:2 [#uses=0] +Ok2: ; preds = %Ok + ret i32 2 +Crap: ; preds = %Ok, %doit + ret i32 %B2 } diff --git a/test/Transforms/LowerSetJmp/2003-11-05-DominanceProperties.ll b/test/Transforms/LowerSetJmp/2003-11-05-DominanceProperties.ll index 4eb2133..3be2163 100644 --- a/test/Transforms/LowerSetJmp/2003-11-05-DominanceProperties.ll +++ b/test/Transforms/LowerSetJmp/2003-11-05-DominanceProperties.ll @@ -1,16 +1,16 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -lowersetjmp -disable-output - %struct.jmpenv = type { int, sbyte } +; RUN: llvm-as < %s | opt -lowersetjmp -disable-output -implementation + %struct.jmpenv = type { i32, i8 } -declare void %Perl_sv_setpv() -declare int %llvm.setjmp(int *) +declare void @Perl_sv_setpv() -void %perl_call_sv() { - call void %Perl_sv_setpv( ) - %tmp.335 = getelementptr %struct.jmpenv* null, long 0, uint 0 - %tmp.336 = call int %llvm.setjmp( int* null ) - store int %tmp.336, int* %tmp.335 +declare i32 @llvm.setjmp(i32*) + +define void @perl_call_sv() { + call void @Perl_sv_setpv( ) + %tmp.335 = getelementptr %struct.jmpenv* null, i64 0, i32 0 ; <i32*> [#uses=1] + %tmp.336 = call i32 @llvm.setjmp( i32* null ) ; <i32> [#uses=1] + store i32 %tmp.336, i32* %tmp.335 ret void } diff --git a/test/Transforms/LowerSetJmp/simpletest.ll b/test/Transforms/LowerSetJmp/simpletest.ll index d749d5f..9ff5f29 100644 --- a/test/Transforms/LowerSetJmp/simpletest.ll +++ b/test/Transforms/LowerSetJmp/simpletest.ll @@ -1,32 +1,32 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -lowersetjmp | llvm-dis | grep invoke +; RUN: llvm-as < %s | opt -lowersetjmp | llvm-dis | grep invoke -%JmpBuf = type int -%.str_1 = internal constant [13 x sbyte] c"returned %d\0A\00" + %JmpBuf = type i32 +@.str_1 = internal constant [13 x i8] c"returned %d\0A\00" ; <[13 x i8]*> [#uses=1] -implementation +declare void @llvm.longjmp(i32*, i32) -declare void %llvm.longjmp(%JmpBuf *%B, int %Val) -declare int %llvm.setjmp(%JmpBuf *%B) +declare i32 @llvm.setjmp(i32*) -declare void %foo() +declare void @foo() -int %simpletest() { - %B = alloca %JmpBuf - %Val = call int %llvm.setjmp(%JmpBuf* %B) - %V = cast int %Val to bool - br bool %V, label %LongJumped, label %Normal -Normal: - call void %foo() - call void %llvm.longjmp(%JmpBuf* %B, int 42) - ret int 0 ;; not reached -LongJumped: - ret int %Val +define i32 @simpletest() { + %B = alloca i32 ; <i32*> [#uses=2] + %Val = call i32 @llvm.setjmp( i32* %B ) ; <i32> [#uses=2] + %V = icmp ne i32 %Val, 0 ; <i1> [#uses=1] + br i1 %V, label %LongJumped, label %Normal +Normal: ; preds = %0 + call void @foo( ) + call void @llvm.longjmp( i32* %B, i32 42 ) + ret i32 0 +LongJumped: ; preds = %0 + ret i32 %Val } -declare int %printf(sbyte*, ...) +declare i32 @printf(i8*, ...) -int %main() { - %V = call int %simpletest() - call int(sbyte*, ...)* %printf(sbyte* getelementptr ([13 x sbyte]* %.str_1, long 0, long 0), int %V) - ret int 0 +define i32 @main() { + %V = call i32 @simpletest( ) ; <i32> [#uses=1] + call i32 (i8*, ...)* @printf( i8* getelementptr ([13 x i8]* @.str_1, i64 0, i64 0), i32 %V ) ; <i32>:1 [#uses=0] + ret i32 0 } + diff --git a/test/Transforms/LowerSwitch/2003-05-01-PHIProblem.ll b/test/Transforms/LowerSwitch/2003-05-01-PHIProblem.ll index 0ff1f5c..cb5f090 100644 --- a/test/Transforms/LowerSwitch/2003-05-01-PHIProblem.ll +++ b/test/Transforms/LowerSwitch/2003-05-01-PHIProblem.ll @@ -1,17 +1,15 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -lowerswitch - -void %child(int %ct.1) { -entry: ; No predecessors! - switch uint 0, label %return [ - uint 3, label %UnifiedExitNode - uint 0, label %return - ] - -return: ; preds = %entry, %entry - %result.0 = phi int* [ null, %entry ], [ null, %entry ] ; <%struct.quad_struct*> [#uses=0] - br label %UnifiedExitNode - -UnifiedExitNode: ; preds = %entry, %return, %entry, %entry - ret void +; RUN: llvm-as < %s | opt -lowerswitch + +define void @child(i32 %ct.1) { +entry: + switch i32 0, label %return [ + i32 3, label %UnifiedExitNode + i32 0, label %return + ] +return: ; preds = %entry, %entry + %result.0 = phi i32* [ null, %entry ], [ null, %entry ] ; <i32*> [#uses=0] + br label %UnifiedExitNode +UnifiedExitNode: ; preds = %return, %entry + ret void } diff --git a/test/Transforms/LowerSwitch/2003-08-23-EmptySwitch.ll b/test/Transforms/LowerSwitch/2003-08-23-EmptySwitch.ll index a193cd4..71e5a4b 100644 --- a/test/Transforms/LowerSwitch/2003-08-23-EmptySwitch.ll +++ b/test/Transforms/LowerSwitch/2003-08-23-EmptySwitch.ll @@ -1,7 +1,9 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -lowerswitch +; RUN: llvm-as < %s | opt -lowerswitch -void %test() { - switch uint 0, label %Next [] -Next: +define void @test() { + switch i32 0, label %Next [ + ] +Next: ; preds = %0 ret void } + diff --git a/test/Transforms/LowerSwitch/2004-03-13-SwitchIsDefaultCrash.ll b/test/Transforms/LowerSwitch/2004-03-13-SwitchIsDefaultCrash.ll index 1cbe853..2fc1c98 100644 --- a/test/Transforms/LowerSwitch/2004-03-13-SwitchIsDefaultCrash.ll +++ b/test/Transforms/LowerSwitch/2004-03-13-SwitchIsDefaultCrash.ll @@ -1,21 +1,19 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -lowerswitch -disable-output +; RUN: llvm-as < %s | opt -lowerswitch -disable-output -void %solve() { +define void @solve() { entry: - %targetBlock = call ushort %solve_code( ) ; <ushort> [#uses=1] + %targetBlock = call i16 @solve_code( ) ; <i16> [#uses=1] br label %codeReplTail - then.1: ; preds = %codeReplTail ret void - loopexit.0: ; preds = %codeReplTail ret void - -codeReplTail: ; preds = %entry, %codeReplTail - switch ushort %targetBlock, label %codeReplTail [ - ushort 0, label %loopexit.0 - ushort 1, label %then.1 +codeReplTail: ; preds = %codeReplTail, %entry + switch i16 %targetBlock, label %codeReplTail [ + i16 0, label %loopexit.0 + i16 1, label %then.1 ] } -declare ushort %solve_code() +declare i16 @solve_code() + diff --git a/test/Transforms/Mem2Reg/2003-04-18-DeadBlockProblem.ll b/test/Transforms/Mem2Reg/2003-04-18-DeadBlockProblem.ll index d6f1b77..78bfcb4 100644 --- a/test/Transforms/Mem2Reg/2003-04-18-DeadBlockProblem.ll +++ b/test/Transforms/Mem2Reg/2003-04-18-DeadBlockProblem.ll @@ -1,17 +1,16 @@ ; This testcases makes sure that mem2reg can handle unreachable blocks. -; RUN: llvm-upgrade < %s | llvm-as | opt -mem2reg +; RUN: llvm-as < %s | opt -mem2reg -int %test() { - %X = alloca int - - store int 6, int* %X +define i32 @test() { + %X = alloca i32 ; <i32*> [#uses=2] + store i32 6, i32* %X br label %Loop -Loop: - store int 5, int* %X +Loop: ; preds = %EndOfLoop, %0 + store i32 5, i32* %X br label %EndOfLoop -Unreachable: +Unreachable: ; No predecessors! br label %EndOfLoop - -EndOfLoop: +EndOfLoop: ; preds = %Unreachable, %Loop br label %Loop } + diff --git a/test/Transforms/Mem2Reg/2003-04-24-MultipleIdenticalSuccessors.ll b/test/Transforms/Mem2Reg/2003-04-24-MultipleIdenticalSuccessors.ll index 7cd38c2..04e8db3 100644 --- a/test/Transforms/Mem2Reg/2003-04-24-MultipleIdenticalSuccessors.ll +++ b/test/Transforms/Mem2Reg/2003-04-24-MultipleIdenticalSuccessors.ll @@ -1,15 +1,16 @@ ; Mem2reg used to only add one incoming value to a PHI node, even if it had ; multiple incoming edges from a block. ; -; RUN: llvm-upgrade < %s | llvm-as | opt -mem2reg -disable-output +; RUN: llvm-as < %s | opt -mem2reg -disable-output -int %test(bool %c1, bool %c2) { - %X = alloca int - br bool %c1, label %Exit, label %B2 -B2: - store int 2, int* %X - br bool %c2, label %Exit, label %Exit -Exit: - %Y = load int *%X - ret int %Y +define i32 @test(i1 %c1, i1 %c2) { + %X = alloca i32 ; <i32*> [#uses=2] + br i1 %c1, label %Exit, label %B2 +B2: ; preds = %0 + store i32 2, i32* %X + br i1 %c2, label %Exit, label %Exit +Exit: ; preds = %B2, %B2, %0 + %Y = load i32* %X ; <i32> [#uses=1] + ret i32 %Y } + diff --git a/test/Transforms/Mem2Reg/2003-06-26-IterativePromote.ll b/test/Transforms/Mem2Reg/2003-06-26-IterativePromote.ll index ce274fa..27d0015 100644 --- a/test/Transforms/Mem2Reg/2003-06-26-IterativePromote.ll +++ b/test/Transforms/Mem2Reg/2003-06-26-IterativePromote.ll @@ -1,16 +1,16 @@ ; Promoting some values allows promotion of other values. -; RUN: llvm-upgrade < %s | llvm-as | opt -mem2reg | llvm-dis | not grep alloca +; RUN: llvm-as < %s | opt -mem2reg | llvm-dis | not grep alloca -int %test2() { - %result = alloca int ; ty=int* - %a = alloca int ; ty=int* - %p = alloca int* ; ty=int** - store int 0, int* %a - store int* %a, int** %p - %tmp.0 = load int** %p ; ty=int* - %tmp.1 = load int* %tmp.0 ; ty=int - store int %tmp.1, int* %result - %tmp.2 = load int* %result ; ty=int - ret int %tmp.2 +define i32 @test2() { + %result = alloca i32 ; <i32*> [#uses=2] + %a = alloca i32 ; <i32*> [#uses=2] + %p = alloca i32* ; <i32**> [#uses=2] + store i32 0, i32* %a + store i32* %a, i32** %p + %tmp.0 = load i32** %p ; <i32*> [#uses=1] + %tmp.1 = load i32* %tmp.0 ; <i32> [#uses=1] + store i32 %tmp.1, i32* %result + %tmp.2 = load i32* %result ; <i32> [#uses=1] + ret i32 %tmp.2 } diff --git a/test/Transforms/Mem2Reg/2003-10-05-DeadPHIInsertion.ll b/test/Transforms/Mem2Reg/2003-10-05-DeadPHIInsertion.ll index ab4b661..5a27b20 100644 --- a/test/Transforms/Mem2Reg/2003-10-05-DeadPHIInsertion.ll +++ b/test/Transforms/Mem2Reg/2003-10-05-DeadPHIInsertion.ll @@ -1,21 +1,22 @@ ; Mem2reg should not insert dead PHI nodes! The naive algorithm inserts a PHI ; node in L3, even though there is no load of %A in anything dominated by L3. -; RUN: llvm-upgrade < %s | llvm-as | opt -mem2reg | llvm-dis | not grep phi +; RUN: llvm-as < %s | opt -mem2reg | llvm-dis | not grep phi -void %test(int %B, bool %C) { - %A = alloca int - store int %B, int* %A - br bool %C, label %L1, label %L2 -L1: - store int %B, int* %A - %D = load int* %A - call void %test(int %D, bool false) +define void @test(i32 %B, i1 %C) { + %A = alloca i32 ; <i32*> [#uses=4] + store i32 %B, i32* %A + br i1 %C, label %L1, label %L2 +L1: ; preds = %0 + store i32 %B, i32* %A + %D = load i32* %A ; <i32> [#uses=1] + call void @test( i32 %D, i1 false ) br label %L3 -L2: - %E = load int* %A - call void %test(int %E, bool true) +L2: ; preds = %0 + %E = load i32* %A ; <i32> [#uses=1] + call void @test( i32 %E, i1 true ) br label %L3 -L3: +L3: ; preds = %L2, %L1 ret void } + diff --git a/test/Transforms/Mem2Reg/2005-06-30-ReadBeforeWrite.ll b/test/Transforms/Mem2Reg/2005-06-30-ReadBeforeWrite.ll index c64d848..b053aa1 100644 --- a/test/Transforms/Mem2Reg/2005-06-30-ReadBeforeWrite.ll +++ b/test/Transforms/Mem2Reg/2005-06-30-ReadBeforeWrite.ll @@ -1,51 +1,47 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -mem2reg -instcombine | llvm-dis | grep store +; RUN: llvm-as < %s | opt -mem2reg -instcombine | llvm-dis | grep store ; PR590 -void %zero(sbyte* %p, int %n) { + +define void @zero(i8* %p, i32 %n) { entry: - %p_addr = alloca sbyte* ; <sbyte**> [#uses=2] - %n_addr = alloca int ; <int*> [#uses=2] - %i = alloca int ; <int*> [#uses=6] - %out = alloca int ; <int*> [#uses=2] - %undef = alloca int ; <int*> [#uses=2] - store sbyte* %p, sbyte** %p_addr - store int %n, int* %n_addr - store int 0, int* %i + %p_addr = alloca i8* ; <i8**> [#uses=2] + %n_addr = alloca i32 ; <i32*> [#uses=2] + %i = alloca i32 ; <i32*> [#uses=6] + %out = alloca i32 ; <i32*> [#uses=2] + %undef = alloca i32 ; <i32*> [#uses=2] + store i8* %p, i8** %p_addr + store i32 %n, i32* %n_addr + store i32 0, i32* %i br label %loopentry - loopentry: ; preds = %endif, %entry - %tmp.0 = load int* %n_addr ; <int> [#uses=1] - %tmp.1 = add int %tmp.0, 1 ; <int> [#uses=1] - %tmp.2 = load int* %i ; <int> [#uses=1] - %tmp.3 = setgt int %tmp.1, %tmp.2 ; <bool> [#uses=2] - %tmp.4 = cast bool %tmp.3 to int ; <int> [#uses=0] - br bool %tmp.3, label %no_exit, label %return - + %tmp.0 = load i32* %n_addr ; <i32> [#uses=1] + %tmp.1 = add i32 %tmp.0, 1 ; <i32> [#uses=1] + %tmp.2 = load i32* %i ; <i32> [#uses=1] + %tmp.3 = icmp sgt i32 %tmp.1, %tmp.2 ; <i1> [#uses=2] + %tmp.4 = zext i1 %tmp.3 to i32 ; <i32> [#uses=0] + br i1 %tmp.3, label %no_exit, label %return no_exit: ; preds = %loopentry - %tmp.5 = load int* %undef ; <int> [#uses=1] - store int %tmp.5, int* %out - store int 0, int* %undef - %tmp.6 = load int* %i ; <int> [#uses=1] - %tmp.7 = setgt int %tmp.6, 0 ; <bool> [#uses=2] - %tmp.8 = cast bool %tmp.7 to int ; <int> [#uses=0] - br bool %tmp.7, label %then, label %endif - + %tmp.5 = load i32* %undef ; <i32> [#uses=1] + store i32 %tmp.5, i32* %out + store i32 0, i32* %undef + %tmp.6 = load i32* %i ; <i32> [#uses=1] + %tmp.7 = icmp sgt i32 %tmp.6, 0 ; <i1> [#uses=2] + %tmp.8 = zext i1 %tmp.7 to i32 ; <i32> [#uses=0] + br i1 %tmp.7, label %then, label %endif then: ; preds = %no_exit - %tmp.9 = load sbyte** %p_addr ; <sbyte*> [#uses=1] - %tmp.10 = load int* %i ; <int> [#uses=1] - %tmp.11 = sub int %tmp.10, 1 ; <int> [#uses=1] - %tmp.12 = getelementptr sbyte* %tmp.9, int %tmp.11 ; <sbyte*> [#uses=1] - %tmp.13 = load int* %out ; <int> [#uses=1] - %tmp.14 = cast int %tmp.13 to sbyte ; <sbyte> [#uses=1] - store sbyte %tmp.14, sbyte* %tmp.12 + %tmp.9 = load i8** %p_addr ; <i8*> [#uses=1] + %tmp.10 = load i32* %i ; <i32> [#uses=1] + %tmp.11 = sub i32 %tmp.10, 1 ; <i32> [#uses=1] + %tmp.12 = getelementptr i8* %tmp.9, i32 %tmp.11 ; <i8*> [#uses=1] + %tmp.13 = load i32* %out ; <i32> [#uses=1] + %tmp.14 = trunc i32 %tmp.13 to i8 ; <i8> [#uses=1] + store i8 %tmp.14, i8* %tmp.12 br label %endif - endif: ; preds = %then, %no_exit - %tmp.15 = load int* %i ; <int> [#uses=1] - %inc = add int %tmp.15, 1 ; <int> [#uses=1] - store int %inc, int* %i + %tmp.15 = load i32* %i ; <i32> [#uses=1] + %inc = add i32 %tmp.15, 1 ; <i32> [#uses=1] + store i32 %inc, i32* %i br label %loopentry - return: ; preds = %loopentry ret void } diff --git a/test/Transforms/Mem2Reg/2005-11-28-Crash.ll b/test/Transforms/Mem2Reg/2005-11-28-Crash.ll index 01e8b85..a985db3 100644 --- a/test/Transforms/Mem2Reg/2005-11-28-Crash.ll +++ b/test/Transforms/Mem2Reg/2005-11-28-Crash.ll @@ -1,88 +1,62 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -mem2reg -disable-output +; RUN: llvm-as < %s | opt -mem2reg -disable-output ; PR670 -void %printk(int, ...) { +define void @printk(i32, ...) { entry: - %flags = alloca uint ; <uint*> [#uses=2] - br bool false, label %then.0, label %endif.0 - + %flags = alloca i32 ; <i32*> [#uses=2] + br i1 false, label %then.0, label %endif.0 then.0: ; preds = %entry br label %endif.0 - endif.0: ; preds = %then.0, %entry - store uint 0, uint* %flags + store i32 0, i32* %flags br label %loopentry - loopentry: ; preds = %endif.3, %endif.0 - br bool false, label %no_exit, label %loopexit - + br i1 false, label %no_exit, label %loopexit no_exit: ; preds = %loopentry - br bool false, label %then.1, label %endif.1 - + br i1 false, label %then.1, label %endif.1 then.1: ; preds = %no_exit - br bool false, label %shortcirc_done.0, label %shortcirc_next.0 - + br i1 false, label %shortcirc_done.0, label %shortcirc_next.0 shortcirc_next.0: ; preds = %then.1 br label %shortcirc_done.0 - shortcirc_done.0: ; preds = %shortcirc_next.0, %then.1 - br bool false, label %shortcirc_done.1, label %shortcirc_next.1 - + br i1 false, label %shortcirc_done.1, label %shortcirc_next.1 shortcirc_next.1: ; preds = %shortcirc_done.0 br label %shortcirc_done.1 - shortcirc_done.1: ; preds = %shortcirc_next.1, %shortcirc_done.0 - br bool false, label %shortcirc_done.2, label %shortcirc_next.2 - + br i1 false, label %shortcirc_done.2, label %shortcirc_next.2 shortcirc_next.2: ; preds = %shortcirc_done.1 br label %shortcirc_done.2 - shortcirc_done.2: ; preds = %shortcirc_next.2, %shortcirc_done.1 - br bool false, label %then.2, label %endif.2 - + br i1 false, label %then.2, label %endif.2 then.2: ; preds = %shortcirc_done.2 br label %endif.2 - endif.2: ; preds = %then.2, %shortcirc_done.2 br label %endif.1 - endif.1: ; preds = %endif.2, %no_exit - br bool false, label %then.3, label %endif.3 - + br i1 false, label %then.3, label %endif.3 then.3: ; preds = %endif.1 br label %endif.3 - endif.3: ; preds = %then.3, %endif.1 br label %loopentry - loopexit: ; preds = %loopentry br label %endif.4 - then.4: ; No predecessors! - %tmp.61 = load uint* %flags ; <uint> [#uses=0] + %tmp.61 = load i32* %flags ; <i32> [#uses=0] br label %out - dead_block_after_goto: ; No predecessors! br label %endif.4 - endif.4: ; preds = %dead_block_after_goto, %loopexit - br bool false, label %then.5, label %else - + br i1 false, label %then.5, label %else then.5: ; preds = %endif.4 br label %endif.5 - else: ; preds = %endif.4 br label %endif.5 - endif.5: ; preds = %else, %then.5 br label %out - out: ; preds = %endif.5, %then.4 br label %return - after_ret: ; No predecessors! br label %return - return: ; preds = %after_ret, %out ret void } diff --git a/test/Transforms/Mem2Reg/PromoteMemToRegister.ll b/test/Transforms/Mem2Reg/PromoteMemToRegister.ll index 8bf7b51..fdc33fb 100644 --- a/test/Transforms/Mem2Reg/PromoteMemToRegister.ll +++ b/test/Transforms/Mem2Reg/PromoteMemToRegister.ll @@ -1,24 +1,18 @@ ; Simple sanity check testcase. Both alloca's should be eliminated. -; RUN: llvm-upgrade < %s | llvm-as | opt -mem2reg | llvm-dis | not grep alloca +; RUN: llvm-as < %s | opt -mem2reg | llvm-dis | not grep alloca -implementation - -double "testfunc"(int %i, double %j) -begin - %I = alloca int - %J = alloca double - - store int %i, int* %I +define double @testfunc(i32 %i, double %j) { + %I = alloca i32 ; <i32*> [#uses=4] + %J = alloca double ; <double*> [#uses=2] + store i32 %i, i32* %I store double %j, double* %J - - %t1 = load int* %I - %t2 = add int %t1, 1 - store int %t2, int* %I - - %t3 = load int* %I - %t4 = cast int %t3 to double - %t5 = load double* %J - %t6 = mul double %t4, %t5 - + %t1 = load i32* %I ; <i32> [#uses=1] + %t2 = add i32 %t1, 1 ; <i32> [#uses=1] + store i32 %t2, i32* %I + %t3 = load i32* %I ; <i32> [#uses=1] + %t4 = sitofp i32 %t3 to double ; <double> [#uses=1] + %t5 = load double* %J ; <double> [#uses=1] + %t6 = mul double %t4, %t5 ; <double> [#uses=1] ret double %t6 -end +} + diff --git a/test/Transforms/Mem2Reg/UndefValuesMerge.ll b/test/Transforms/Mem2Reg/UndefValuesMerge.ll index dc2f011..0d20d7d 100644 --- a/test/Transforms/Mem2Reg/UndefValuesMerge.ll +++ b/test/Transforms/Mem2Reg/UndefValuesMerge.ll @@ -1,14 +1,13 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -mem2reg | llvm-dis | not grep phi +; RUN: llvm-as < %s | opt -mem2reg | llvm-dis | not grep phi -implementation - -int %testfunc(bool %C, int %i, sbyte %j) { - %I = alloca int - br bool %C, label %T, label %Cont -T: - store int %i, int* %I +define i32 @testfunc(i1 %C, i32 %i, i8 %j) { + %I = alloca i32 ; <i32*> [#uses=2] + br i1 %C, label %T, label %Cont +T: ; preds = %0 + store i32 %i, i32* %I br label %Cont -Cont: - %Y = load int* %I ;; %Y = phi %i, undef -> %Y = %i - ret int %Y +Cont: ; preds = %T, %0 + %Y = load i32* %I ; <i32> [#uses=1] + ret i32 %Y } + |