aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorTanya Lattner <tonic@nondot.org>2008-03-19 07:28:33 +0000
committerTanya Lattner <tonic@nondot.org>2008-03-19 07:28:33 +0000
commite6d5d39c072d3b16ff4183c515d7ccf198192958 (patch)
tree57312300a30d0b10726d10d7928aa6f657e9ad28 /test
parentce7d5db4d86b6eef20ffb9e981a1f0d428879e57 (diff)
downloadexternal_llvm-e6d5d39c072d3b16ff4183c515d7ccf198192958.zip
external_llvm-e6d5d39c072d3b16ff4183c515d7ccf198192958.tar.gz
external_llvm-e6d5d39c072d3b16ff4183c515d7ccf198192958.tar.bz2
Upgrade tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48538 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/Transforms/LoopStrengthReduce/2005-08-15-AddRecIV.ll62
-rw-r--r--test/Transforms/LoopStrengthReduce/2005-08-17-OutOfLoopVariant.ll27
-rw-r--r--test/Transforms/LoopStrengthReduce/2005-09-12-UsesOutOutsideOfLoop.ll33
-rw-r--r--test/Transforms/LoopStrengthReduce/different-type-ivs.ll31
-rw-r--r--test/Transforms/LoopStrengthReduce/dont-hoist-simple-loop-constants.ll35
-rw-r--r--test/Transforms/LoopStrengthReduce/dont_insert_redundant_ops.ll56
-rw-r--r--test/Transforms/LoopStrengthReduce/dont_reduce_bytes.ll27
-rw-r--r--test/Transforms/LoopStrengthReduce/exit_compare_live_range.ll21
-rw-r--r--test/Transforms/LoopStrengthReduce/invariant_value_first.ll31
-rw-r--r--test/Transforms/LoopStrengthReduce/invariant_value_first_arg.ll26
-rw-r--r--test/Transforms/LoopStrengthReduce/nested-reduce.ll73
-rw-r--r--test/Transforms/LoopStrengthReduce/ops_after_indvar.ll30
-rw-r--r--test/Transforms/LoopStrengthReduce/phi_node_update_multiple_preds.ll37
-rw-r--r--test/Transforms/LoopStrengthReduce/related_indvars.ll27
-rw-r--r--test/Transforms/LoopStrengthReduce/remove_indvar.ll26
-rw-r--r--test/Transforms/LoopStrengthReduce/share_code_in_preheader.ll45
-rw-r--r--test/Transforms/LoopStrengthReduce/share_ivs.ll30
-rw-r--r--test/Transforms/LoopStrengthReduce/use_postinc_value_outside_loop.ll36
-rw-r--r--test/Transforms/LoopStrengthReduce/var_stride_used_by_compare.ll52
-rw-r--r--test/Transforms/LoopStrengthReduce/variable_stride.ll23
-rw-r--r--test/Transforms/LoopUnroll/2004-05-13-DontUnrollTooMuch.ll23
-rw-r--r--test/Transforms/LoopUnroll/2005-03-06-BadLoopInfoUpdate.ll25
-rw-r--r--test/Transforms/LoopUnroll/2006-08-24-MultiBlockLoop.ll22
-rw-r--r--test/Transforms/LoopUnroll/2007-04-16-PhiUpdate.ll7
-rw-r--r--test/Transforms/LoopUnswitch/2006-02-14-LoopSimplifyCrash.ll3082
-rw-r--r--test/Transforms/LoopUnswitch/2006-02-22-UnswitchCrash.ll34
-rw-r--r--test/Transforms/LoopUnswitch/2006-06-13-SingleEntryPHI.ll33
-rw-r--r--test/Transforms/LoopUnswitch/2006-06-27-DeadSwitchCase.ll26
-rw-r--r--test/Transforms/LoopUnswitch/2007-05-09-Unreachable.ll12
-rw-r--r--test/Transforms/LoopUnswitch/basictest.ll52
-rw-r--r--test/Transforms/LowerInvoke/2003-12-10-Crash.llx26
-rw-r--r--test/Transforms/LowerInvoke/2004-02-29-PHICrash.llx17
-rw-r--r--test/Transforms/LowerInvoke/2005-08-03-InvokeWithPHI.ll19
-rw-r--r--test/Transforms/LowerInvoke/2005-08-03-InvokeWithPHIUse.ll19
-rw-r--r--test/Transforms/LowerInvoke/basictest.ll45
-rw-r--r--test/Transforms/LowerSetJmp/2003-11-05-DominanceProperties.ll20
-rw-r--r--test/Transforms/LowerSetJmp/simpletest.ll46
-rw-r--r--test/Transforms/LowerSwitch/2003-05-01-PHIProblem.ll28
-rw-r--r--test/Transforms/LowerSwitch/2003-08-23-EmptySwitch.ll10
-rw-r--r--test/Transforms/LowerSwitch/2004-03-13-SwitchIsDefaultCrash.ll20
-rw-r--r--test/Transforms/Mem2Reg/2003-04-18-DeadBlockProblem.ll19
-rw-r--r--test/Transforms/Mem2Reg/2003-04-24-MultipleIdenticalSuccessors.ll21
-rw-r--r--test/Transforms/Mem2Reg/2003-06-26-IterativePromote.ll24
-rw-r--r--test/Transforms/Mem2Reg/2003-10-05-DeadPHIInsertion.ll27
-rw-r--r--test/Transforms/Mem2Reg/2005-06-30-ReadBeforeWrite.ll72
-rw-r--r--test/Transforms/Mem2Reg/2005-11-28-Crash.ll54
-rw-r--r--test/Transforms/Mem2Reg/PromoteMemToRegister.ll34
-rw-r--r--test/Transforms/Mem2Reg/UndefValuesMerge.ll21
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
}
+