Upgrade tests.
authorTanya Lattner <tonic@nondot.org>
Wed, 19 Mar 2008 07:28:33 +0000 (07:28 +0000)
committerTanya Lattner <tonic@nondot.org>
Wed, 19 Mar 2008 07:28:33 +0000 (07:28 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48538 91177308-0d34-0410-b5e6-96231b3b80d8

48 files changed:
test/Transforms/LoopStrengthReduce/2005-08-15-AddRecIV.ll
test/Transforms/LoopStrengthReduce/2005-08-17-OutOfLoopVariant.ll
test/Transforms/LoopStrengthReduce/2005-09-12-UsesOutOutsideOfLoop.ll
test/Transforms/LoopStrengthReduce/different-type-ivs.ll
test/Transforms/LoopStrengthReduce/dont-hoist-simple-loop-constants.ll
test/Transforms/LoopStrengthReduce/dont_insert_redundant_ops.ll
test/Transforms/LoopStrengthReduce/dont_reduce_bytes.ll
test/Transforms/LoopStrengthReduce/exit_compare_live_range.ll
test/Transforms/LoopStrengthReduce/invariant_value_first.ll
test/Transforms/LoopStrengthReduce/invariant_value_first_arg.ll
test/Transforms/LoopStrengthReduce/nested-reduce.ll
test/Transforms/LoopStrengthReduce/ops_after_indvar.ll
test/Transforms/LoopStrengthReduce/phi_node_update_multiple_preds.ll
test/Transforms/LoopStrengthReduce/related_indvars.ll
test/Transforms/LoopStrengthReduce/remove_indvar.ll
test/Transforms/LoopStrengthReduce/share_code_in_preheader.ll
test/Transforms/LoopStrengthReduce/share_ivs.ll
test/Transforms/LoopStrengthReduce/use_postinc_value_outside_loop.ll
test/Transforms/LoopStrengthReduce/var_stride_used_by_compare.ll
test/Transforms/LoopStrengthReduce/variable_stride.ll
test/Transforms/LoopUnroll/2004-05-13-DontUnrollTooMuch.ll
test/Transforms/LoopUnroll/2005-03-06-BadLoopInfoUpdate.ll
test/Transforms/LoopUnroll/2006-08-24-MultiBlockLoop.ll
test/Transforms/LoopUnroll/2007-04-16-PhiUpdate.ll
test/Transforms/LoopUnswitch/2006-02-14-LoopSimplifyCrash.ll
test/Transforms/LoopUnswitch/2006-02-22-UnswitchCrash.ll
test/Transforms/LoopUnswitch/2006-06-13-SingleEntryPHI.ll
test/Transforms/LoopUnswitch/2006-06-27-DeadSwitchCase.ll
test/Transforms/LoopUnswitch/2007-05-09-Unreachable.ll
test/Transforms/LoopUnswitch/basictest.ll
test/Transforms/LowerInvoke/2003-12-10-Crash.llx
test/Transforms/LowerInvoke/2004-02-29-PHICrash.llx
test/Transforms/LowerInvoke/2005-08-03-InvokeWithPHI.ll
test/Transforms/LowerInvoke/2005-08-03-InvokeWithPHIUse.ll
test/Transforms/LowerInvoke/basictest.ll
test/Transforms/LowerSetJmp/2003-11-05-DominanceProperties.ll
test/Transforms/LowerSetJmp/simpletest.ll
test/Transforms/LowerSwitch/2003-05-01-PHIProblem.ll
test/Transforms/LowerSwitch/2003-08-23-EmptySwitch.ll
test/Transforms/LowerSwitch/2004-03-13-SwitchIsDefaultCrash.ll
test/Transforms/Mem2Reg/2003-04-18-DeadBlockProblem.ll
test/Transforms/Mem2Reg/2003-04-24-MultipleIdenticalSuccessors.ll
test/Transforms/Mem2Reg/2003-06-26-IterativePromote.ll
test/Transforms/Mem2Reg/2003-10-05-DeadPHIInsertion.ll
test/Transforms/Mem2Reg/2005-06-30-ReadBeforeWrite.ll
test/Transforms/Mem2Reg/2005-11-28-Crash.ll
test/Transforms/Mem2Reg/PromoteMemToRegister.ll
test/Transforms/Mem2Reg/UndefValuesMerge.ll

index b2104051c9d100edd5be9d1c64c8618764941947..75574c07c0e805fe65d88606f233379c19aa6639 100644 (file)
@@ -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
 }
index 5724bad72c0f0c1a23fbea21826b9044606532c4..83d46967e5f3c62639f9d8fd0e4c8257b5ffb3a7 100644 (file)
@@ -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
 }
+
index 81d3c25128dba69a61290269d49cac4ddf571fb2..145551bded22a719223db14aa97a2003db75fd88 100644 (file)
@@ -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
 }
index 1383fd692f0d5c136b2f76ae15c7c05fab1a7c1e..e5225da56deda0acac906614538bfa266efccb9e 100644 (file)
@@ -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(...)
index 3c1003b49733fc627338b605e9facca58fdbbd0e..56773ac98457665ff7d82df21635eccc0d9c7371 100644 (file)
@@ -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
 }
+
index 1954a20446afe197c0f69f44b40acc9f5e6c59b3..68eb107f1091694dde063a6d906e4a7cd950f3f6 100644 (file)
@@ -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
 }
index 2c679800a7aeeac593f8598b777676539a6205d5..bfbbecfdb2676ea570ee2febb97a9b59bd3554dc 100644 (file)
@@ -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
 }
index 4c31a98540113f57ac8688b097b13e90bbbf64d7..d21498b0a4579c577263ba97d535c7360a9a2f38 100644 (file)
@@ -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
 }
+
index f2b75a2a13c4f17010d601d2f35665ad5d1d7155..86a1c257655bdaa07559fc745c88b96960cb318e 100644 (file)
@@ -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
 }
+
index 6e9051278f4e452174846cdb85e2b46874ca6ccb..8e9cbc4a81ef81aaeba4a7afc9204a47d5d2b8be 100644 (file)
@@ -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
 }
+
index 6f709e34bd59e0a1d08ba358a853e8ff918e9748..c19e844ea2bb56bf3d147fd9b90cc76a53da6b2f 100644 (file)
@@ -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
 }
index 59da48b9e57f9d8b4c638cb83a72122e93071ab2..5880dc15f0d24d7b04c897ec76518861cb369cd0 100644 (file)
@@ -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
 }
+
index cd0afe1936b527c3cf96858566b05b4c31815454..64d387a4a936c774e953f4f6938cce36d826b7f8 100644 (file)
@@ -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
 }
+
index c1cd8d218fc6bd2d85de9786288e1c3d2b7c880a..434da99068c3dbab400850563557d3492730b43f 100644 (file)
@@ -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
 }
+
index 517180b7f025c8daea57f7e3750d2de52805e688..623c0b5338efc4f15a668b00d40b36ac9abf343b 100644 (file)
@@ -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
 }
+
index 27c72d2852e2c6dc1fb30265d3f47e8f04cad595..a78fa5f349fa34a676e3042b7c739b9d373d7d75 100644 (file)
@@ -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
 }
+
index edc29b744229c0aee58e2acfadc814aa1d98181b..b52d571f4276300a99f0703210b10e586eb1c39c 100644 (file)
@@ -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
 }
+
index 195f0b282e5a81ba748021c3f7d0df0460661973..a521ba4e2d9e2a91ab3e1c4cd0ce5cb2cd8c44b3 100644 (file)
@@ -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
 }
+
index 1daa40384ee4785c05b1b2da1a5acdf8cd7cdc72..53eedd67326051bcce86409516a089a8b040247c 100644 (file)
@@ -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
 }
index 1af2a12df24247ead4b86fc116994551fb090309..90d3947101ff5f9c4b31b22d4a395f14c28c0cae 100644 (file)
@@ -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
 }
+
index 8c3e697c89ae282dae1098b39407394b071bd026..13a26a2533257a29f82950e95ffac4aad766bc75 100644 (file)
@@ -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
 }
+
index 1681506acbdf47a7486764f458ce2ac683058bec..db107fdd4bc0f22b8a6307c00dbdedec17ab761b 100644 (file)
@@ -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
 }
+
index 42ff3fafe7f9506ed3d15a9091ac055115ba7ea9..16419cab1abf9afb87571e04398763da20439c63 100644 (file)
@@ -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
 }
+
index c30d8380eed73f316214b6f66427d5572d5a1cb0..26fa60a8216c7caf7fe9fdee991ca70d230b6a16 100644 (file)
@@ -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
 }
+
index 38df259ed81ecb2feb32f16460c8e7809b61375f..b80220af5003c69f438e33d9806b90292f62fa01 100644 (file)
-; 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]
-"\ 1a1.0__" = external global [80 x sbyte]               ; <[80 x sbyte]*> [#uses=0]
-"\ 1a2.1__" = external global [16 x sbyte]               ; <[16 x sbyte]*> [#uses=0]
-"\ 1a3.2__" = external global [16 x sbyte]               ; <[16 x sbyte]*> [#uses=0]
-"\ 1a4.3__" = external global [16 x sbyte]               ; <[16 x sbyte]*> [#uses=0]
-"\ 1a5.4__" = external global [16 x sbyte]               ; <[16 x sbyte]*> [#uses=0]
-"\ 1args.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]
-"\ 1text_move.0__" = external global [10 x sbyte]                ; <[10 x sbyte]*> [#uses=0]
-"\ 1new_text.1__" = external global [10 x sbyte]         ; <[10 x sbyte]*> [#uses=0]
-%.str_1 = external global [5 x sbyte]          ; <[5 x sbyte]*> [#uses=0]
-"\ 1text_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]
-"\ 1hashing_pawns.0__" = external global int             ; <int*> [#uses=0]
-"\ 1hashing_opening.1__" = external global int           ; <int*> [#uses=0]
-"\ 1hashing_middle_game.2__" = external global int               ; <int*> [#uses=0]
-"\ 1hashing_end_game.3__" = external global int          ; <int*> [#uses=0]
-"\ 1last_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]
-"\ 1out.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]
-"\ 1out.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]
-"\ 1out.2__" = external global [10 x sbyte]              ; <[10 x sbyte]*> [#uses=0]
-%.str_31 = external global [7 x sbyte]         ; <[7 x sbyte]*> [#uses=0]
-"\ 1out.3__" = external global [10 x sbyte]              ; <[10 x sbyte]*> [#uses=0]
-"\ 1out.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]
-"\ 1save_book_selection_width.5__" = external global int         ; <int*> [#uses=0]
-"\ 1save_book_random.6__" = external global int          ; <int*> [#uses=0]
-"\ 1save_whisper.7__" = external global int              ; <int*> [#uses=0]
-"\ 1save_kibitz.8__" = external global int               ; <int*> [#uses=0]
-"\ 1save_channel.9__" = external global int              ; <int*> [#uses=0]
-"\ 1save_resign.10" = external global int                ; <int*> [#uses=0]
-"\ 1save_resign_count.11" = external global int          ; <int*> [#uses=0]
-"\ 1save_draw_count.12" = external global int            ; <int*> [#uses=0]
-"\ 1save_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]
-"\ 1x.14" = external global [55 x uint]          ; <[55 x uint]*> [#uses=0]
-"\ 1init.15.b" = external global bool            ; <bool*> [#uses=0]
-"\ 1y.16" = external global [55 x uint]          ; <[55 x uint]*> [#uses=0]
-"\ 1j.17" = external global int          ; <int*> [#uses=0]
-"\ 1k.18" = external global int          ; <int*> [#uses=0]
-%.str_52 = external global [50 x sbyte]                ; <[50 x sbyte]*> [#uses=0]
-"\ 1text.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*)
index 469c6d755a5d4ef161d1f677bdb6d6115b1674ec..916cba20b52921a1635c8576140843d4a11b8575 100644 (file)
@@ -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
 }
+
index 072ad20967d09fcdc68e5a76c68a3c0134dac85a..60e464f3acb6ce1f0a4909b840df016aa20ef413 100644 (file)
@@ -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
index 0d5a452da20db51cf729343229c18413fd64102b..67da9ffad3e2955d8ae446afce9f6c5fdece0c58 100644 (file)
@@ -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
 }
+
index fc3e206b4bf93ec204103d3b72247754eeea7d82..08cb9b66bc10cff93359e47537d5e7adf45f0171 100644 (file)
@@ -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
 }
+
index c0c14b95007a2ad312bc87ba93f4e7adbbf0ecc5..eeaf08d7e650711d0f741445edf61fd15b0b29c1 100644 (file)
@@ -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
 }
+
index 495099ae9449dd7bef6ea1b94cd2c61c915d4dd2..1e8b880485e4e12cf3d1a02a25b0cfc92730a1ca 100644 (file)
@@ -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
 }
+
index 90182574e0bbcfe730b246be65a1f0603e47b628..07770136964ee1547a037ac2a8eb8b2107eea8f7 100644 (file)
@@ -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()
+
index 51f3fb2a029b7d93876ec50fa699ea82ebfa33dc..10c878537289fcbbb606c9f5f0767776d8fdae34 100644 (file)
@@ -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
 }
+
index 636625743a53993db148b2e360488e360ac8882d..0a8ccbe3e61ea06ec5fcf428101987effa603a84 100644 (file)
@@ -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
 }
+
index 8c38b89c4bd0c0c3b1bb02ed5205b738e1043501..a9c19f2790d50ce10de339130583c4716213e20e 100644 (file)
@@ -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
 }
index 4eb21336287639edd2be3a12782ffda348051b2f..3be2163aa469f413a1293466364824798231aa3a 100644 (file)
@@ -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
 }
 
index d749d5ff13458b4be24c6d96a8e8d2f58fedae54..9ff5f29c238e005e0307a4067480656087d57988 100644 (file)
@@ -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
 }
+
index 0ff1f5c6d50df1ff1d46886f0dd66b438ca23129..cb5f090864b7f428652d70138e574a62063d9a10 100644 (file)
@@ -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
 }
 
index a193cd4645ee281114f949c9660919a9711668c1..71e5a4bcc4d75bc74344bcb981b509f7e041792d 100644 (file)
@@ -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
 }
+
index 1cbe85355712c89a1b87cedd5e70aad595604cdc..2fc1c9801914310d929cbd10c5ca081f236a4b8e 100644 (file)
@@ -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()
+
index d6f1b779e194f39dac2e05872553cbbef63deb6d..78bfcb4197b238bdee434cd72297b0b1087bc7e5 100644 (file)
@@ -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
 }
+
index 7cd38c2f0c661a24fab5342fc673f7daede901ea..04e8db3c8de5c92ca89245f78405686df144ae2d 100644 (file)
@@ -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
 }
+
index ce274fa327e92926ecc3ec13dd75cacf90ebfc07..27d00150d685b9f8913e7e0b35397b34ef976f26 100644 (file)
@@ -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
 }
 
index ab4b6619dc8ac516892fc45301676e542d4f91dd..5a27b20ca5099a00c1f53d8f0ae7fd664ae38087 100644 (file)
@@ -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
 }
+
index c64d848a61b083308bd75eed9ef34c41045d1a8c..b053aa162f5bb49c3217c9295ce5c05181cc1669 100644 (file)
@@ -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
 }
index 01e8b851be3a19eeb442eda761d82675f9e743bb..a985db3eb8c71920aadf52468d11813e9e1ce2fc 100644 (file)
@@ -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
 }
index 8bf7b51a39fb579ec538679f98a2e97c8529c019..fdc33fb26897154da952f0976d0a2804b4d66269 100644 (file)
@@ -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
+}
+
index dc2f011e240fba58f08ffb830425a513525f6b8d..0d20d7df3458b9f9ee24b4f1fd64328093cca5ef 100644 (file)
@@ -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
 }
+