diff options
| author | Reid Spencer <rspencer@reidspencer.com> | 2007-01-17 07:59:14 +0000 |
|---|---|---|
| committer | Reid Spencer <rspencer@reidspencer.com> | 2007-01-17 07:59:14 +0000 |
| commit | 83b3d8267225d585678d5d3af9bba5735f4b415d (patch) | |
| tree | 9d6c2ad7bfd568186e83a39e6f03e1c0bf415715 /llvm/test/Regression/Transforms | |
| parent | 100602d7561ca5e245db6194bddae86357d203d4 (diff) | |
| download | bcm5719-llvm-83b3d8267225d585678d5d3af9bba5735f4b415d.tar.gz bcm5719-llvm-83b3d8267225d585678d5d3af9bba5735f4b415d.zip | |
Regression is gone, don't try to find it on clean target.
llvm-svn: 33296
Diffstat (limited to 'llvm/test/Regression/Transforms')
733 files changed, 0 insertions, 27701 deletions
diff --git a/llvm/test/Regression/Transforms/.cvsignore b/llvm/test/Regression/Transforms/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/ADCE/.cvsignore b/llvm/test/Regression/Transforms/ADCE/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/ADCE/2002-01-31-UseStuckAround.ll b/llvm/test/Regression/Transforms/ADCE/2002-01-31-UseStuckAround.ll deleted file mode 100644 index f902bc97b8f..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/2002-01-31-UseStuckAround.ll +++ /dev/null @@ -1,15 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -adce - -implementation - -int "main"(int %argc) -begin - br label %2 - - %retval = phi int [ %argc, %2 ] ; <int> [#uses=2] - %two = add int %retval, %retval ; <int> [#uses=1] - ret int %two - - br label %1 -end - diff --git a/llvm/test/Regression/Transforms/ADCE/2002-05-22-PHITest.ll b/llvm/test/Regression/Transforms/ADCE/2002-05-22-PHITest.ll deleted file mode 100644 index cf9872e2e11..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/2002-05-22-PHITest.ll +++ /dev/null @@ -1,13 +0,0 @@ -; It is illegal to remove BB1 because it will mess up the PHI node! -; -; RUN: llvm-upgrade < %s | llvm-as | opt -adce | llvm-dis | grep BB1 - - -int "test"(bool %C, int %A, int %B) { - br bool %C, label %BB1, label %BB2 -BB1: - br label %BB2 -BB2: - %R = phi int [%A, %0], [%B, %BB1] - ret int %R -} diff --git a/llvm/test/Regression/Transforms/ADCE/2002-05-23-ZeroArgPHITest.ll b/llvm/test/Regression/Transforms/ADCE/2002-05-23-ZeroArgPHITest.ll deleted file mode 100644 index 999675b55af..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/2002-05-23-ZeroArgPHITest.ll +++ /dev/null @@ -1,33 +0,0 @@ -; This testcase contains a entire loop that should be removed. The only thing -; left is the store instruction in BB0. The problem this testcase was running -; into was that when the reg109 PHI was getting zero predecessors, it was -; removed even though there were uses still around. Now the uses are filled -; in with a dummy value before the PHI is deleted. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -adce - -%node_t = type { double*, %node_t*, %node_t**, double**, double*, int, int } - -implementation ; Functions: - -void %localize_local(%node_t* %nodelist) { -bb0: ;[#uses=0] - %nodelist = alloca %node_t* ; <%node_t**> [#uses=2] - store %node_t* %nodelist, %node_t** %nodelist - br label %bb1 - -bb1: ;[#uses=2] - %reg107 = load %node_t** %nodelist ; <%node_t*> [#uses=2] - %cond211 = seteq %node_t* %reg107, null ; <bool> [#uses=1] - br bool %cond211, label %bb3, label %bb2 - -bb2: ;[#uses=3] - %reg109 = phi %node_t* [ %reg110, %bb2 ], [ %reg107, %bb1 ] ; <%node_t*> [#uses=1] - %reg212 = getelementptr %node_t* %reg109, long 0, uint 1 ; <%node_t**> [#uses=1] - %reg110 = load %node_t** %reg212 ; <%node_t*> [#uses=2] - %cond213 = setne %node_t* %reg110, null ; <bool> [#uses=1] - br bool %cond213, label %bb2, label %bb3 - -bb3: ;[#uses=2] - ret void -} diff --git a/llvm/test/Regression/Transforms/ADCE/2002-05-28-Crash-distilled.ll b/llvm/test/Regression/Transforms/ADCE/2002-05-28-Crash-distilled.ll deleted file mode 100644 index 0d5adf907f1..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/2002-05-28-Crash-distilled.ll +++ /dev/null @@ -1,17 +0,0 @@ -; This testcase is a distilled form of: 2002-05-28-Crash.ll - -; RUN: llvm-upgrade < %s | llvm-as | opt -adce - -float "test"(int %i) { - %F = cast int %i to float ; This BB is not dead - %I = cast int %i to uint ; future dead inst - br label %Loop - -Loop: ; This block is dead - %B = cast uint %I to bool - br bool %B, label %Out, label %Loop - -Out: - ret float %F -} - diff --git a/llvm/test/Regression/Transforms/ADCE/2002-05-28-Crash.ll b/llvm/test/Regression/Transforms/ADCE/2002-05-28-Crash.ll deleted file mode 100644 index b6340d540b1..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/2002-05-28-Crash.ll +++ /dev/null @@ -1,56 +0,0 @@ -; This testcase is distilled from the GNU rx package. The loop should be -; removed but causes a problem when ADCE does. The source function is: -; int rx_bitset_empty (int size, rx_Bitset set) { -; int x; -; RX_subset s; -; s = set[0]; -; set[0] = 1; -; for (x = rx_bitset_numb_subsets(size) - 1; !set[x]; --x) -; ; -; set[0] = s; -; return !s; -;} -; -; RUN: llvm-upgrade < %s | llvm-as | opt -adce - -implementation ; Functions: - -int %rx_bitset_empty(int %size, uint* %set) { -bb1: ;[#uses=2] - %reg110 = load uint* %set ; <uint> [#uses=2] - store uint 1, uint* %set - %cast112 = cast int %size to ulong ; <ulong> [#uses=1] - %reg113 = add ulong %cast112, 31 ; <ulong> [#uses=1] - %reg114 = shr ulong %reg113, ubyte 5 ; <ulong> [#uses=2] - %cast109 = cast ulong %reg114 to int ; <int> [#uses=1] - %reg129 = add int %cast109, -1 ; <int> [#uses=1] - %reg114-idxcast = cast ulong %reg114 to uint ; <uint> [#uses=1] - %reg114-idxcast-offset = add uint %reg114-idxcast, 1073741823 ; <uint> [#uses=1] - %reg114-idxcast-offset = cast uint %reg114-idxcast-offset to long - %reg124 = getelementptr uint* %set, long %reg114-idxcast-offset ; <uint*> [#uses=1] - %reg125 = load uint* %reg124 ; <uint> [#uses=1] - %cond232 = setne uint %reg125, 0 ; <bool> [#uses=1] - br bool %cond232, label %bb3, label %bb2 - -bb2: ;[#uses=3] - %cann-indvar = phi int [ 0, %bb1 ], [ %add1-indvar, %bb2 ] ; <int> [#uses=2] - %reg130-scale = mul int %cann-indvar, -1 ; <int> [#uses=1] - %reg130 = add int %reg130-scale, %reg129 ; <int> [#uses=1] - %add1-indvar = add int %cann-indvar, 1 ; <int> [#uses=1] - %reg130-idxcast = cast int %reg130 to uint ; <uint> [#uses=1] - %reg130-idxcast-offset = add uint %reg130-idxcast, 1073741823 ; <uint> [#uses=1] - %reg130-idxcast-offset = cast uint %reg130-idxcast-offset to long - %reg118 = getelementptr uint* %set, long %reg130-idxcast-offset ; <uint*> [#uses=1] - %reg119 = load uint* %reg118 ; <uint> [#uses=1] - %cond233 = seteq uint %reg119, 0 ; <bool> [#uses=1] - br bool %cond233, label %bb2, label %bb3 - -bb3: ;[#uses=2] - store uint %reg110, uint* %set - %cast126 = cast uint %reg110 to ulong ; <ulong> [#uses=1] - %reg127 = add ulong %cast126, 18446744073709551615 ; <ulong> [#uses=1] - %reg128 = shr ulong %reg127, ubyte 63 ; <ulong> [#uses=1] - %cast120 = cast ulong %reg128 to int ; <int> [#uses=1] - ret int %cast120 - -} diff --git a/llvm/test/Regression/Transforms/ADCE/2002-07-17-AssertionFailure.ll b/llvm/test/Regression/Transforms/ADCE/2002-07-17-AssertionFailure.ll deleted file mode 100644 index 61b140233dd..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/2002-07-17-AssertionFailure.ll +++ /dev/null @@ -1,13 +0,0 @@ -; This testcase fails because ADCE does not correctly delete the chain of -; three instructions that are dead here. Ironically there were a dead basic -; block in this function, it would work fine, but that would be the part we -; have to fix now, wouldn't it.... -; -; RUN: llvm-upgrade < %s | llvm-as | opt -adce - -void %foo(sbyte* %reg5481) { - %cast611 = cast sbyte* %reg5481 to sbyte** ; <sbyte**> [#uses=1] - %reg162 = load sbyte** %cast611 ; <sbyte*> [#uses=0] - cast sbyte*%reg162 to int - ret void -} diff --git a/llvm/test/Regression/Transforms/ADCE/2002-07-17-PHIAssertion.ll b/llvm/test/Regression/Transforms/ADCE/2002-07-17-PHIAssertion.ll deleted file mode 100644 index 6d15fae8ef7..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/2002-07-17-PHIAssertion.ll +++ /dev/null @@ -1,49 +0,0 @@ -; This testcase was extracted from the gzip SPEC benchmark -; -; RUN: llvm-upgrade < %s | llvm-as | opt -adce - -%bk = external global uint ; <uint*> [#uses=2] -%hufts = external global uint ; <uint*> [#uses=1] - -implementation ; Functions: - -int %inflate() { -bb0: ;[#uses=1] - br label %bb2 - -bb2: ;[#uses=2] - %reg128 = phi uint [ %reg130, %bb6 ], [ 0, %bb0 ] ; <uint> [#uses=2] - br bool true, label %bb4, label %bb3 - -bb3: ;[#uses=2] - br label %UnifiedExitNode - -bb4: ;[#uses=2] - %reg117 = load uint* %hufts ; <uint> [#uses=2] - %cond241 = setle uint %reg117, %reg128 ; <bool> [#uses=1] - br bool %cond241, label %bb6, label %bb5 - -bb5: ;[#uses=2] - br label %bb6 - -bb6: ;[#uses=3] - %reg130 = phi uint [ %reg117, %bb5 ], [ %reg128, %bb4 ] ; <uint> [#uses=1] - br bool false, label %bb2, label %bb7 - -bb7: ;[#uses=1] - %reg126 = load uint* %bk ; <uint> [#uses=1] - %cond247 = setle uint %reg126, 7 ; <bool> [#uses=1] - br bool %cond247, label %bb9, label %bb8 - -bb8: ;[#uses=2] - %reg119 = load uint* %bk ; <uint> [#uses=1] - %cond256 = setgt uint %reg119, 7 ; <bool> [#uses=1] - br bool %cond256, label %bb8, label %bb9 - -bb9: ;[#uses=3] - br label %UnifiedExitNode - -UnifiedExitNode: ;[#uses=2] - %UnifiedRetVal = phi int [ 7, %bb3 ], [ 0, %bb9 ] ; <int> [#uses=1] - ret int %UnifiedRetVal -} diff --git a/llvm/test/Regression/Transforms/ADCE/2002-07-29-Segfault.ll b/llvm/test/Regression/Transforms/ADCE/2002-07-29-Segfault.ll deleted file mode 100644 index 0c0e2afde44..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/2002-07-29-Segfault.ll +++ /dev/null @@ -1,9 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -adce - -void "test"() -begin - br label %BB3 - -BB3: - br label %BB3 -end diff --git a/llvm/test/Regression/Transforms/ADCE/2003-01-22-PredecessorProblem.ll b/llvm/test/Regression/Transforms/ADCE/2003-01-22-PredecessorProblem.ll deleted file mode 100644 index d8c64485709..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/2003-01-22-PredecessorProblem.ll +++ /dev/null @@ -1,25 +0,0 @@ -; Testcase reduced from 197.parser by bugpoint -; RUN: llvm-upgrade < %s | llvm-as | opt -adce -implementation ; Functions: - -void %conjunction_prune() { -; <label>:0 ; No predecessors! - br label %bb19 - -bb19: ; preds = %bb22, %bb23, %0 - %reg205 = phi sbyte* [ null, %bb22 ], [ null, %bb23 ], [ null, %0 ] ; <sbyte*> [#uses=1] - br bool false, label %bb21, label %bb22 - -bb21: ; preds = %bb19 - %cast455 = cast sbyte* %reg205 to sbyte** ; <sbyte**> [#uses=0] - br label %bb22 - -bb22: ; preds = %bb21, %bb19 - br bool false, label %bb19, label %bb23 - -bb23: ; preds = %bb22 - br bool false, label %bb19, label %bb28 - -bb28: ; preds = %bb23 - ret void -} diff --git a/llvm/test/Regression/Transforms/ADCE/2003-04-25-PHIPostDominateProblem.ll b/llvm/test/Regression/Transforms/ADCE/2003-04-25-PHIPostDominateProblem.ll deleted file mode 100644 index 92d7cad770d..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/2003-04-25-PHIPostDominateProblem.ll +++ /dev/null @@ -1,37 +0,0 @@ -; THis testcase caused an assertion failure because a PHI node did not have -; entries for it's postdominator. But I think this can only happen when the -; PHI node is dead, so we just avoid patching up dead PHI nodes. - -; RUN: llvm-upgrade < %s | llvm-as | opt -adce - -target endian = little -target pointersize = 32 - -implementation ; Functions: - -void %dead_test8() { -entry: ; No predecessors! - br label %loopentry - -loopentry: ; preds = %entry, %endif - %k.1 = phi int [ %k.0, %endif ], [ 0, %entry ] ; <int> [#uses=1] - br bool false, label %no_exit, label %return - -no_exit: ; preds = %loopentry - br bool false, label %then, label %else - -then: ; preds = %no_exit - br label %endif - -else: ; preds = %no_exit - %dec = add int %k.1, -1 ; <int> [#uses=1] - br label %endif - -endif: ; preds = %else, %then - %k.0 = phi int [ %dec, %else ], [ 0, %then ] ; <int> [#uses=1] - store int 2, int* null - br label %loopentry - -return: ; preds = %loopentry - ret void -} diff --git a/llvm/test/Regression/Transforms/ADCE/2003-06-11-InvalidCFG.ll b/llvm/test/Regression/Transforms/ADCE/2003-06-11-InvalidCFG.ll deleted file mode 100644 index 590089d1c9d..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/2003-06-11-InvalidCFG.ll +++ /dev/null @@ -1,28 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -adce -disable-output -%G = external global int* - -implementation ; Functions: - -declare void %Fn(int*) - -int %main(int %argc.1, sbyte** %argv.1) { -entry: ; No predecessors! - br label %endif.42 - -endif.42: ; preds = %entry, %shortcirc_done.12, %then.66, %endif.42 - br bool false, label %endif.65, label %endif.42 - -then.66: ; preds = %shortcirc_done.12 - call void %Fn( int* %tmp.2846) - br label %endif.42 - -endif.65: ; preds = %endif.42 - %tmp.2846 = load int** %G - br bool false, label %shortcirc_next.12, label %shortcirc_done.12 - -shortcirc_next.12: ; preds = %endif.65 - br label %shortcirc_done.12 - -shortcirc_done.12: ; preds = %endif.65, %shortcirc_next.12 - br bool false, label %then.66, label %endif.42 -} diff --git a/llvm/test/Regression/Transforms/ADCE/2003-06-24-BadSuccessor.ll b/llvm/test/Regression/Transforms/ADCE/2003-06-24-BadSuccessor.ll deleted file mode 100644 index 1a730194ffd..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/2003-06-24-BadSuccessor.ll +++ /dev/null @@ -1,94 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -adce -disable-output - -target endian = little -target pointersize = 32 - %struct..CppObjTypeDesc = type { uint, ushort, ushort } - %struct..TypeToken = type { uint, ushort, ushort } - -implementation ; Functions: - -uint %C_ReFaxToDb() { -entry: ; No predecessors! - br bool false, label %endif.0, label %then.0 - -then.0: ; preds = %entry - ret uint 0 - -endif.0: ; preds = %entry - br bool false, label %then.11, label %then.4 - -then.4: ; preds = %endif.0 - ret uint 0 - -then.11: ; preds = %endif.0 - br bool false, label %loopentry.0, label %else.2 - -loopentry.0: ; preds = %then.11, %endif.14, %loopentry.1 - br bool false, label %endif.14, label %loopexit.0 - -endif.14: ; preds = %loopentry.0 - br bool false, label %loopentry.1, label %loopentry.0 - -loopentry.1: ; preds = %endif.14, %then.53, %then.53, %then.53, %then.53, %then.53 - %SubArrays.10 = phi uint* [ %SubArrays.8, %then.53 ] , [ null, %endif.14 ] ; <uint*> [#uses=3] - br bool false, label %no_exit.1, label %loopentry.0 - -no_exit.1: ; preds = %loopentry.1 - switch uint 0, label %label.17 [ - uint 2, label %label.11 - uint 19, label %label.10 - ] - -label.10: ; preds = %no_exit.1 - br bool false, label %then.43, label %endif.43 - -then.43: ; preds = %label.10 - br bool false, label %then.44, label %endif.44 - -then.44: ; preds = %then.43 - br bool false, label %shortcirc_next.4, label %endif.45 - -shortcirc_next.4: ; preds = %then.44 - br bool false, label %no_exit.2, label %loopexit.2 - -no_exit.2: ; preds = %shortcirc_next.4 - %tmp.897 = getelementptr uint* %SubArrays.10, long 0 ; <uint*> [#uses=1] - %tmp.899 = load uint* %tmp.897 ; <uint> [#uses=1] - store uint %tmp.899, uint* null - ret uint 0 - -loopexit.2: ; preds = %shortcirc_next.4 - ret uint 0 - -endif.45: ; preds = %then.44 - ret uint 0 - -endif.44: ; preds = %then.43 - ret uint 0 - -endif.43: ; preds = %label.10 - ret uint 0 - -label.11: ; preds = %no_exit.1 - ret uint 0 - -label.17: ; preds = %no_exit.1, %no_exit.1, %no_exit.1, %no_exit.1, %no_exit.1, %no_exit.1 - br bool false, label %then.53, label %shortcirc_next.7 - -shortcirc_next.7: ; preds = %label.17 - br bool false, label %then.53, label %shortcirc_next.8 - -shortcirc_next.8: ; preds = %shortcirc_next.7 - ret uint 0 - -then.53: ; preds = %shortcirc_next.7, %label.17 - %SubArrays.8 = phi uint* [ %SubArrays.10, %shortcirc_next.7 ], [ %SubArrays.10, %label.17 ] ; <uint*> [#uses=5] - %tmp.1023 = load uint* null ; <uint> [#uses=1] - switch uint %tmp.1023, label %loopentry.1 [] - -loopexit.0: ; preds = %loopentry.0 - ret uint 0 - -else.2: ; preds = %then.11 - ret uint 0 -} diff --git a/llvm/test/Regression/Transforms/ADCE/2003-06-24-BasicFunctionality.ll b/llvm/test/Regression/Transforms/ADCE/2003-06-24-BasicFunctionality.ll deleted file mode 100644 index ac62699863f..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/2003-06-24-BasicFunctionality.ll +++ /dev/null @@ -1,40 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -adce -simplifycfg | llvm-dis | not grep then: - -void %dead_test8(int* %data.1, int %idx.1) { -entry: ; No predecessors! - %tmp.1 = load int* %data.1 ; <int> [#uses=2] - %tmp.41 = setgt int %tmp.1, 0 ; <bool> [#uses=1] - br bool %tmp.41, label %no_exit.preheader, label %return - -no_exit.preheader: ; preds = %entry - %tmp.11 = getelementptr int* %data.1, long 1 ; <int*> [#uses=1] - %tmp.22-idxcast = cast int %idx.1 to long ; <long> [#uses=1] - %tmp.28 = getelementptr int* %data.1, long %tmp.22-idxcast ; <int*> [#uses=1] - br label %no_exit - -no_exit: ; preds = %no_exit.preheader, %endif - %k.1 = phi int [ %k.0, %endif ], [ 0, %no_exit.preheader ] ; <int> [#uses=3] - %i.0 = phi int [ %inc.1, %endif ], [ 0, %no_exit.preheader ] ; <int> [#uses=1] - %tmp.12 = load int* %tmp.11 ; <int> [#uses=1] - %tmp.14 = sub int 0, %tmp.12 ; <int> [#uses=1] - %tmp.161 = setne int %k.1, %tmp.14 ; <bool> [#uses=1] - br bool %tmp.161, label %then, label %else - -then: ; preds = %no_exit - %inc.0 = add int %k.1, 1 ; <int> [#uses=1] - br label %endif - -else: ; preds = %no_exit - %dec = add int %k.1, -1 ; <int> [#uses=1] - br label %endif - -endif: ; preds = %else, %then - %k.0 = phi int [ %dec, %else ], [ %inc.0, %then ] ; <int> [#uses=1] - store int 2, int* %tmp.28 - %inc.1 = add int %i.0, 1 ; <int> [#uses=2] - %tmp.4 = setlt int %inc.1, %tmp.1 ; <bool> [#uses=1] - br bool %tmp.4, label %no_exit, label %return - -return: ; preds = %entry, %endif - ret void -} diff --git a/llvm/test/Regression/Transforms/ADCE/2003-09-10-UnwindInstFail.ll b/llvm/test/Regression/Transforms/ADCE/2003-09-10-UnwindInstFail.ll deleted file mode 100644 index a88e04155bf..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/2003-09-10-UnwindInstFail.ll +++ /dev/null @@ -1,20 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -adce -disable-output - -implementation ; Functions: - -void %test() { - br bool false, label %then, label %endif - -then: - invoke void null( sbyte* null ) - to label %invoke_cont except label %invoke_catch - -invoke_catch: - unwind - -invoke_cont: - ret void - -endif: - ret void -} diff --git a/llvm/test/Regression/Transforms/ADCE/2003-09-15-InfLoopCrash.ll b/llvm/test/Regression/Transforms/ADCE/2003-09-15-InfLoopCrash.ll deleted file mode 100644 index c61bd6d385e..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/2003-09-15-InfLoopCrash.ll +++ /dev/null @@ -1,8 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -adce -disable-output - -int %main() { - br label %loop - -loop: - br label %loop -} diff --git a/llvm/test/Regression/Transforms/ADCE/2003-11-16-MissingPostDominanceInfo.ll b/llvm/test/Regression/Transforms/ADCE/2003-11-16-MissingPostDominanceInfo.ll deleted file mode 100644 index cf7b08835b1..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/2003-11-16-MissingPostDominanceInfo.ll +++ /dev/null @@ -1,17 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -adce -simplifycfg | llvm-dis | grep call -declare void %exit(int) - -int %main(int %argc) { - %C = seteq int %argc, 1 - br bool %C, label %Cond, label %Done - -Cond: - br bool %C, label %Loop, label %Done - -Loop: - call void %exit(int 0) - br label %Loop - -Done: - ret int 1 -} diff --git a/llvm/test/Regression/Transforms/ADCE/2003-12-19-MergeReturn.llx b/llvm/test/Regression/Transforms/ADCE/2003-12-19-MergeReturn.llx deleted file mode 100644 index 6b8b547fc72..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/2003-12-19-MergeReturn.llx +++ /dev/null @@ -1,28 +0,0 @@ -; This testcase was failing because without merging the return blocks, ADCE -; didn't know that it could get rid of the then.0 block. - -; RUN: llvm-upgrade < %s | llvm-as | opt -adce | llvm-dis | not grep load - - -implementation ; Functions: - -void %main(uint %argc, sbyte** %argv) { -entry: - call void %__main( ) - %tmp.1 = setle uint %argc, 5 ; <bool> [#uses=1] - br bool %tmp.1, label %then.0, label %return - -then.0: ; preds = %entry - %tmp.8 = load sbyte** %argv ; <sbyte*> [#uses=1] - %tmp.10 = load sbyte* %tmp.8 ; <sbyte> [#uses=1] - %tmp.11 = seteq sbyte %tmp.10, 98 ; <bool> [#uses=1] - br bool %tmp.11, label %then.1, label %return - -then.1: ; preds = %then.0 - ret void - -return: ; preds = %entry, %then.0 - ret void -} - -declare void %__main() diff --git a/llvm/test/Regression/Transforms/ADCE/2004-05-04-UnreachableBlock.llx b/llvm/test/Regression/Transforms/ADCE/2004-05-04-UnreachableBlock.llx deleted file mode 100644 index 56f2b2b002f..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/2004-05-04-UnreachableBlock.llx +++ /dev/null @@ -1,16 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -adce -disable-output - -void %test() { -entry: - br label %UnifiedReturnBlock - -UnifiedReturnBlock: - ret void - -invoke_catch.0: ; No predecessors! - br bool false, label %UnifiedUnwindBlock, label %UnifiedReturnBlock - -UnifiedUnwindBlock: ; preds = %invoke_catch.0 - unwind - -} diff --git a/llvm/test/Regression/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll b/llvm/test/Regression/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll deleted file mode 100644 index b7965f08787..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll +++ /dev/null @@ -1,44 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -adce -disable-output - -implementation ; Functions: - -declare void %strlen() -declare void %_ZN10QByteArray6resizeEi() -declare void %q_atomic_decrement() - -void %_ZNK10QByteArray13leftJustifiedEicb() { -entry: - invoke void %strlen( ) - to label %tmp.3.i.noexc unwind label %invoke_catch.0 - -tmp.3.i.noexc: ; preds = %entry - br bool false, label %then.0, label %else.0 - -invoke_catch.0: ; preds = %entry - invoke void %q_atomic_decrement( ) - to label %tmp.1.i.i183.noexc unwind label %terminate - -tmp.1.i.i183.noexc: ; preds = %invoke_catch.0 - unwind - -then.0: ; preds = %tmp.3.i.noexc - invoke void %_ZN10QByteArray6resizeEi( ) - to label %invoke_cont.1 unwind label %invoke_catch.1 - -invoke_catch.1: ; preds = %then.0 - invoke void %q_atomic_decrement( ) - to label %tmp.1.i.i162.noexc unwind label %terminate - -tmp.1.i.i162.noexc: ; preds = %invoke_catch.1 - ret void - -invoke_cont.1: ; preds = %then.0 - ret void - -else.0: ; preds = %tmp.3.i.noexc - ret void - -terminate: ; preds = %invoke_catch.1, %invoke_catch.0 - %dbg.0.1 = phi { }* [ null, %invoke_catch.1 ], [ null, %invoke_catch.0 ] ; <{ }*> [#uses=1] - unreachable -} diff --git a/llvm/test/Regression/Transforms/ADCE/adcetest.ll b/llvm/test/Regression/Transforms/ADCE/adcetest.ll deleted file mode 100644 index f0d78433af0..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/adcetest.ll +++ /dev/null @@ -1,34 +0,0 @@ -; This is the test case taken from Appel's book that illustrates a hard case -; that SCCP gets right, and when followed by ADCE, is completely eliminated -; -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp -adce -simplifycfg | llvm-dis | not grep br - -int "test function"(int %i0, int %j0) { -BB1: - br label %BB2 -BB2: - %j2 = phi int [%j4, %BB7], [1, %BB1] - %k2 = phi int [%k4, %BB7], [0, %BB1] - %kcond = setlt int %k2, 100 - br bool %kcond, label %BB3, label %BB4 - -BB3: - %jcond = setlt int %j2, 20 - br bool %jcond, label %BB5, label %BB6 - -BB4: - ret int %j2 - -BB5: - %k3 = add int %k2, 1 - br label %BB7 - -BB6: - %k5 = add int %k2, 1 - br label %BB7 - -BB7: - %j4 = phi int [1, %BB5], [%k2, %BB6] - %k4 = phi int [%k3, %BB5], [%k5, %BB6] - br label %BB2 -} diff --git a/llvm/test/Regression/Transforms/ADCE/basictest.ll b/llvm/test/Regression/Transforms/ADCE/basictest.ll deleted file mode 100644 index 6be744ef5e3..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/basictest.ll +++ /dev/null @@ -1,14 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -adce -simplifycfg | llvm-dis - -int "Test"(int %A, int %B) { -BB1: - br label %BB4 -BB2: - br label %BB3 -BB3: - %ret = phi int [%X, %BB4], [%B, %BB2] - ret int %ret -BB4: - %X = phi int [%A, %BB1] - br label %BB3 -} diff --git a/llvm/test/Regression/Transforms/ADCE/basictest1.ll b/llvm/test/Regression/Transforms/ADCE/basictest1.ll deleted file mode 100644 index 7d511e8f700..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/basictest1.ll +++ /dev/null @@ -1,101 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -adce -simplifycfg | llvm-dis - -%FILE = type { int, ubyte*, ubyte*, ubyte, ubyte, uint, uint, uint } - %spec_fd_t = type { int, int, int, ubyte* } -%__iob = uninitialized global [20 x %FILE] ; <[20 x %FILE]*> [#uses=1] -%dbglvl = global int 4 ; <int*> [#uses=3] -%spec_fd = uninitialized global [3 x %spec_fd_t] ; <[3 x %spec_fd_t]*> [#uses=4] -%.LC9 = internal global [34 x sbyte] c"spec_read: fd=%d, > MAX_SPEC_FD!\0A\00" ; <[34 x sbyte]*> [#uses=1] -%.LC10 = internal global [4 x sbyte] c"EOF\00" ; <[4 x sbyte]*> [#uses=1] -%.LC11 = internal global [4 x sbyte] c"%d\0A\00" ; <[4 x sbyte]*> [#uses=1] -%.LC12 = internal global [17 x sbyte] c"spec_getc: %d = \00" ; <[17 x sbyte]*> [#uses=1] - -implementation ; Functions: - -declare int "fprintf"(%FILE*, sbyte*, ...) - -declare void "exit"(int) - -declare int "remove"(sbyte*) - -declare int "fputc"(int, %FILE*) - -declare uint "fwrite"(sbyte*, uint, uint, %FILE*) - -declare void "perror"(sbyte*) - -int "spec_getc"(int %fd) { -; <label>:0 ;[#uses=0] - %reg109 = load int* %dbglvl ; <int> [#uses=1] - %cond266 = setle int %reg109, 4 ; <bool> [#uses=1] - br bool %cond266, label %bb3, label %bb2 - -bb2: ;[#uses=1] - %cast273 = getelementptr [17 x sbyte]* %.LC12, long 0, long 0 ; <sbyte*> [#uses=0] - br label %bb3 - -bb3: ;[#uses=2] - %cond267 = setle int %fd, 3 ; <bool> [#uses=1] - br bool %cond267, label %bb5, label %bb4 - -bb4: ;[#uses=2] - %reg111 = getelementptr [20 x %FILE]* %__iob, long 0, long 1, uint 3 ; <ubyte*> [#uses=1] - %cast274 = getelementptr [34 x sbyte]* %.LC9, long 0, long 0 ; <sbyte*> [#uses=0] - %cast282 = cast ubyte* %reg111 to %FILE* ; <%FILE*> [#uses=0] - call void %exit( int 1 ) - br label %UnifiedExitNode - -bb5: ;[#uses=1] - %reg107-idxcast1 = cast int %fd to long ; <long> [#uses=2] - %reg107-idxcast2 = cast int %fd to long ; <long> [#uses=1] - %reg1311 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast2 ; <%spec_fd_t*> [#uses=1] - %idx1 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast1, uint 2 ; <int> [#uses=3] - %reg1321 = load int* %idx1 - %idx2 = getelementptr %spec_fd_t* %reg1311, long 0, uint 1 ; <int> [#uses=1] - %reg1331 = load int* %idx2 - %cond270 = setlt int %reg1321, %reg1331 ; <bool> [#uses=1] - br bool %cond270, label %bb9, label %bb6 - -bb6: ;[#uses=1] - %reg134 = load int* %dbglvl ; <int> [#uses=1] - %cond271 = setle int %reg134, 4 ; <bool> [#uses=1] - br bool %cond271, label %bb8, label %bb7 - -bb7: ;[#uses=1] - %cast277 = getelementptr [4 x sbyte]* %.LC10, long 0, long 0 ; <sbyte*> [#uses=0] - br label %bb8 - -bb8: ;[#uses=3] - br label %UnifiedExitNode - -bb9: ;[#uses=1] - %reg107-idxcast3 = cast int %fd to long ; <long> [#uses=1] - %idx3 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast3, uint 3 ; <ubyte*> [#uses=1] - %reg1601 = load ubyte** %idx3 - %reg132-idxcast1 = cast int %reg1321 to long ; <long> [#uses=1] - %idx4 = getelementptr ubyte* %reg1601, long %reg132-idxcast1 ; <ubyte> [#uses=2] - %reg1621 = load ubyte* %idx4 - %cast108 = cast ubyte %reg1621 to long ; <long> [#uses=0] - %reg157 = add int %reg1321, 1 ; <int> [#uses=1] - %idx5 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast1, uint 2 - store int %reg157, int* %idx5 - %reg163 = load int* %dbglvl ; <int> [#uses=1] - %cond272 = setle int %reg163, 4 ; <bool> [#uses=1] - br bool %cond272, label %bb11, label %bb10 - -bb10: ;[#uses=1] - %cast279 = getelementptr [4 x sbyte]* %.LC11, long 0, long 0 ; <sbyte*> [#uses=0] - br label %bb11 - -bb11: ;[#uses=3] - %cast291 = cast ubyte %reg1621 to int ; <int> [#uses=1] - br label %UnifiedExitNode - -UnifiedExitNode: ;[#uses=3] - %UnifiedRetVal = phi int [ 42, %bb4 ], [ -1, %bb8 ], [ %cast291, %bb11 ] ; <int> [#uses=1] - ret int %UnifiedRetVal -} - -declare int "puts"(sbyte*) - -declare int "printf"(sbyte*, ...) diff --git a/llvm/test/Regression/Transforms/ADCE/basictest2.ll b/llvm/test/Regression/Transforms/ADCE/basictest2.ll deleted file mode 100644 index 75b1d952b69..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/basictest2.ll +++ /dev/null @@ -1,102 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -adce -simplifycfg | llvm-dis - -%FILE = type { int, ubyte*, ubyte*, ubyte, ubyte, uint, uint, uint } - %spec_fd_t = type { int, int, int, ubyte* } -%__iob = uninitialized global [20 x %FILE] ; <[20 x %FILE]*> [#uses=1] -%dbglvl = global int 4 ; <int*> [#uses=3] -%spec_fd = uninitialized global [3 x %spec_fd_t] ; <[3 x %spec_fd_t]*> [#uses=4] -%.LC9 = internal global [34 x sbyte] c"spec_read: fd=%d, > MAX_SPEC_FD!\0A\00" ; <[34 x sbyte]*> [#uses=1] -%.LC10 = internal global [4 x sbyte] c"EOF\00" ; <[4 x sbyte]*> [#uses=1] -%.LC11 = internal global [4 x sbyte] c"%d\0A\00" ; <[4 x sbyte]*> [#uses=1] -%.LC12 = internal global [17 x sbyte] c"spec_getc: %d = \00" ; <[17 x sbyte]*> [#uses=1] - -implementation ; Functions: - -declare int "fprintf"(%FILE*, sbyte*, ...) - -declare void "exit"(int) - -declare int "remove"(sbyte*) - -declare int "fputc"(int, %FILE*) - -declare uint "fwrite"(sbyte*, uint, uint, %FILE*) - -declare void "perror"(sbyte*) - -int "spec_getc"(int %fd) { -; <label>:0 ;[#uses=0] - %reg109 = load int* %dbglvl ; <int> [#uses=1] - %cond266 = setle int %reg109, 4 ; <bool> [#uses=1] - br bool %cond266, label %bb3, label %bb2 - -bb2: ;[#uses=1] - %cast273 = getelementptr [17 x sbyte]* %.LC12, long 0, long 0 ; <sbyte*> [#uses=0] - br label %bb3 - -bb3: ;[#uses=2] - %cond267 = setle int %fd, 3 ; <bool> [#uses=1] -; br bool %cond267, label %bb5, label %bb4 - br label %bb5 - -bb4: ;[#uses=2] - %reg111 = getelementptr [20 x %FILE]* %__iob, long 0, long 1, uint 3 ; <ubyte*> [#uses=1] - %cast274 = getelementptr [34 x sbyte]* %.LC9, long 0, long 0 ; <sbyte*> [#uses=0] - %cast282 = cast ubyte* %reg111 to %FILE* ; <%FILE*> [#uses=0] - call void %exit( int 1 ) - br label %UnifiedExitNode - -bb5: ;[#uses=1] - %reg107-idxcast1 = cast int %fd to long ; <long> [#uses=2] - %reg107-idxcast2 = cast int %fd to long ; <long> [#uses=1] - %reg1311 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast2 ; <%spec_fd_t*> [#uses=1] - %idx1 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast1, uint 2 ; <int> [#uses=3] - %reg1321 = load int* %idx1 - %idx2 = getelementptr %spec_fd_t* %reg1311, long 0, uint 1 ; <int> [#uses=1] - %reg1331 = load int* %idx2 - %cond270 = setlt int %reg1321, %reg1331 ; <bool> [#uses=1] - br bool %cond270, label %bb9, label %bb6 - -bb6: ;[#uses=1] - %reg134 = load int* %dbglvl ; <int> [#uses=1] - %cond271 = setle int %reg134, 4 ; <bool> [#uses=1] - br bool %cond271, label %bb8, label %bb7 - -bb7: ;[#uses=1] - %cast277 = getelementptr [4 x sbyte]* %.LC10, long 0, long 0 ; <sbyte*> [#uses=0] - br label %bb8 - -bb8: ;[#uses=3] - br label %UnifiedExitNode - -bb9: ;[#uses=1] - %reg107-idxcast3 = cast int %fd to long ; <uint> [#uses=1] - %idx3 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast3, uint 3 ; <ubyte*> [#uses=1] - %reg1601 = load ubyte** %idx3 - %reg132-idxcast1 = cast int %reg1321 to long ; <long> [#uses=1] - %idx4 = getelementptr ubyte* %reg1601, long %reg132-idxcast1 ; <ubyte> [#uses=2] - %reg1621 = load ubyte* %idx4 - %cast108 = cast ubyte %reg1621 to long ; <long> [#uses=0] - %reg157 = add int %reg1321, 1 ; <int> [#uses=1] - %idx5 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast1, uint 2 - store int %reg157, int* %idx5 - %reg163 = load int* %dbglvl ; <int> [#uses=1] - %cond272 = setle int %reg163, 4 ; <bool> [#uses=1] - br bool %cond272, label %bb11, label %bb10 - -bb10: ;[#uses=1] - %cast279 = getelementptr [4 x sbyte]* %.LC11, long 0, long 0 ; <sbyte*> [#uses=0] - br label %bb11 - -bb11: ;[#uses=3] - %cast291 = cast ubyte %reg1621 to int ; <int> [#uses=1] - br label %UnifiedExitNode - -UnifiedExitNode: ;[#uses=3] - %UnifiedRetVal = phi int [ 42, %bb4 ], [ -1, %bb8 ], [ %cast291, %bb11 ] ; <int> [#uses=1] - ret int %UnifiedRetVal -} - -declare int "puts"(sbyte*) - -declare int "printf"(sbyte*, ...) diff --git a/llvm/test/Regression/Transforms/ADCE/dce_pure_call.ll b/llvm/test/Regression/Transforms/ADCE/dce_pure_call.ll deleted file mode 100644 index 79a360c2680..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/dce_pure_call.ll +++ /dev/null @@ -1,9 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -adce | llvm-dis | not grep call - -declare int %strlen(sbyte*) - -void %test() { - ;; Dead call should be deleted! - call int %strlen(sbyte *null) - ret void -} diff --git a/llvm/test/Regression/Transforms/ADCE/dce_pure_invoke.ll b/llvm/test/Regression/Transforms/ADCE/dce_pure_invoke.ll deleted file mode 100644 index 9604defb3bb..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/dce_pure_invoke.ll +++ /dev/null @@ -1,13 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -adce | llvm-dis | not grep null - -declare int %strlen(sbyte*) - -int %test() { - ;; Dead call should be deleted! - invoke int %strlen(sbyte *null) to label %Cont unwind label %Other -Cont: - ret int 0 -Other: - ret int 1 -} - diff --git a/llvm/test/Regression/Transforms/ADCE/dead-phi-edge.ll b/llvm/test/Regression/Transforms/ADCE/dead-phi-edge.ll deleted file mode 100644 index a0c0705f333..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/dead-phi-edge.ll +++ /dev/null @@ -1,15 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -adce | llvm-dis | not grep call - -; The call is not live just because the PHI uses the call retval! - -int %test(int %X) { - br label %Done - -DeadBlock: - %Y = call int %test(int 0) - br label %Done - -Done: - %Z = phi int [%X, %0], [%Y, %DeadBlock] - ret int %Z -} diff --git a/llvm/test/Regression/Transforms/ADCE/dg.exp b/llvm/test/Regression/Transforms/ADCE/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/ADCE/unreachable-function.ll b/llvm/test/Regression/Transforms/ADCE/unreachable-function.ll deleted file mode 100644 index 0c102533008..00000000000 --- a/llvm/test/Regression/Transforms/ADCE/unreachable-function.ll +++ /dev/null @@ -1,5 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -adce -disable-output - -void %test() { - unreachable -} diff --git a/llvm/test/Regression/Transforms/ArgumentPromotion/.cvsignore b/llvm/test/Regression/Transforms/ArgumentPromotion/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/ArgumentPromotion/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/ArgumentPromotion/aggregate-promote.ll b/llvm/test/Regression/Transforms/ArgumentPromotion/aggregate-promote.ll deleted file mode 100644 index 19cbb6df2d4..00000000000 --- a/llvm/test/Regression/Transforms/ArgumentPromotion/aggregate-promote.ll +++ /dev/null @@ -1,21 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -argpromotion -instcombine | not grep load - -%QuadTy = type {int, int, int, int} - -%G = constant %QuadTy {int 0, int 0, int 17, int 25 } - -implementation - -internal int %test(%QuadTy* %P) { - %A = getelementptr %QuadTy* %P, long 0, uint 3 - %B = getelementptr %QuadTy* %P, long 0, uint 2 - %a = load int* %A - %b = load int* %B - %V = add int %a, %b - ret int %V -} - -int %caller() { - %V = call int %test(%QuadTy* %G) - ret int %V -} diff --git a/llvm/test/Regression/Transforms/ArgumentPromotion/basictest.ll b/llvm/test/Regression/Transforms/ArgumentPromotion/basictest.ll deleted file mode 100644 index 474202727a3..00000000000 --- a/llvm/test/Regression/Transforms/ArgumentPromotion/basictest.ll +++ /dev/null @@ -1,24 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -argpromotion -mem2reg | llvm-dis | not grep alloca - -implementation - -internal int %test(int *%X, int* %Y) { - %A = load int* %X - %B = load int* %Y - %C = add int %A, %B - ret int %C -} - -internal int %caller(int* %B) { - %A = alloca int - store int 1, int* %A - %C = call int %test(int* %A, int* %B) - ret int %C -} - -int %callercaller() { - %B = alloca int - store int 2, int* %B - %X = call int %caller(int* %B) - ret int %X -} diff --git a/llvm/test/Regression/Transforms/ArgumentPromotion/chained.ll b/llvm/test/Regression/Transforms/ArgumentPromotion/chained.ll deleted file mode 100644 index d6055e2768f..00000000000 --- a/llvm/test/Regression/Transforms/ArgumentPromotion/chained.ll +++ /dev/null @@ -1,17 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -argpromotion -instcombine | llvm-dis | not grep load - -%G1 = constant int 0 -%G2 = constant int* %G1 - -implementation - -internal int %test(int **%X) { - %Y = load int** %X - %X = load int* %Y - ret int %X -} - -int %caller(int** %P) { - %X = call int %test(int** %G2) - ret int %X -} diff --git a/llvm/test/Regression/Transforms/ArgumentPromotion/control-flow.ll b/llvm/test/Regression/Transforms/ArgumentPromotion/control-flow.ll deleted file mode 100644 index bff9153a43b..00000000000 --- a/llvm/test/Regression/Transforms/ArgumentPromotion/control-flow.ll +++ /dev/null @@ -1,18 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -argpromotion | llvm-dis | not grep 'load int\* null' - -implementation - -internal int %callee(bool %C, int* %P) { - br bool %C, label %T, label %F -T: - ret int 17 -F: - %X = load int* %P - ret int %X -} - -int %foo() { - %X = call int %callee(bool true, int* null) - ret int %X -} - diff --git a/llvm/test/Regression/Transforms/ArgumentPromotion/control-flow2.ll b/llvm/test/Regression/Transforms/ArgumentPromotion/control-flow2.ll deleted file mode 100644 index d42c9c39daa..00000000000 --- a/llvm/test/Regression/Transforms/ArgumentPromotion/control-flow2.ll +++ /dev/null @@ -1,20 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -argpromotion | llvm-dis | grep 'load i32\* %A' - -implementation - -internal int %callee(bool %C, int* %P) { - br bool %C, label %T, label %F -T: - ret int 17 -F: - %X = load int* %P - ret int %X -} - -int %foo() { - %A = alloca int - store int 17, int* %A - %X = call int %callee(bool false, int* %A) - ret int %X -} - diff --git a/llvm/test/Regression/Transforms/ArgumentPromotion/dg.exp b/llvm/test/Regression/Transforms/ArgumentPromotion/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/ArgumentPromotion/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/ArgumentPromotion/recursion.ll b/llvm/test/Regression/Transforms/ArgumentPromotion/recursion.ll deleted file mode 100644 index 306b969a5dc..00000000000 --- a/llvm/test/Regression/Transforms/ArgumentPromotion/recursion.ll +++ /dev/null @@ -1,17 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -argpromotion | llvm-dis | grep x.val -; XFAIL: * - -implementation ; Functions: - -internal int %foo(int* %x) { -entry: - %tmp = load int* %x - %tmp.foo = call int %foo(int *%x) - ret int %tmp.foo -} - -int %bar(int* %x) { -entry: - %tmp3 = call int %foo( int* %x) ; <int>[#uses=1] - ret int %tmp3 -} diff --git a/llvm/test/Regression/Transforms/BlockPlacement/.cvsignore b/llvm/test/Regression/Transforms/BlockPlacement/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/BlockPlacement/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/BlockPlacement/basictest.ll b/llvm/test/Regression/Transforms/BlockPlacement/basictest.ll deleted file mode 100644 index 4dafa4f0955..00000000000 --- a/llvm/test/Regression/Transforms/BlockPlacement/basictest.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -block-placement -disable-output -print - -int %test() { - - br bool true, label %X, label %Y -A: - ret int 0 -X: - br label %A -Y: - br label %A -} diff --git a/llvm/test/Regression/Transforms/BlockPlacement/dg.exp b/llvm/test/Regression/Transforms/BlockPlacement/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/BlockPlacement/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/CodeExtractor/.cvsignore b/llvm/test/Regression/Transforms/CodeExtractor/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/CodeExtractor/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/CodeExtractor/2004-03-13-LoopExtractorCrash.ll b/llvm/test/Regression/Transforms/CodeExtractor/2004-03-13-LoopExtractorCrash.ll deleted file mode 100644 index 3100d649ba8..00000000000 --- a/llvm/test/Regression/Transforms/CodeExtractor/2004-03-13-LoopExtractorCrash.ll +++ /dev/null @@ -1,75 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-extract -disable-output - -void %solve() { -entry: - br label %loopentry.0 - -loopentry.0: ; preds = %entry, %endif.0 - br bool false, label %no_exit.0, label %loopexit.0 - -no_exit.0: ; preds = %loopentry.0 - br bool false, label %then.0, label %endif.0 - -then.0: ; preds = %no_exit.0 - br bool false, label %shortcirc_done, label %shortcirc_next - -shortcirc_next: ; preds = %then.0 - br label %shortcirc_done - -shortcirc_done: ; preds = %then.0, %shortcirc_next - br bool false, label %then.1, label %endif.1 - -then.1: ; preds = %shortcirc_done - br bool false, label %cond_true, label %cond_false - -cond_true: ; preds = %then.1 - br label %cond_continue - -cond_false: ; preds = %then.1 - br label %cond_continue - -cond_continue: ; preds = %cond_true, %cond_false - br label %return - -after_ret.0: ; No predecessors! - br label %endif.1 - -endif.1: ; preds = %shortcirc_done, %after_ret.0 - br label %endif.0 - -endif.0: ; preds = %no_exit.0, %endif.1 - br label %loopentry.0 - -loopexit.0: ; preds = %loopentry.0 - br bool false, label %then.2, label %endif.2 - -then.2: ; preds = %loopexit.0 - br bool false, label %then.3, label %endif.3 - -then.3: ; preds = %then.2 - br label %return - -after_ret.1: ; No predecessors! - br label %endif.3 - -endif.3: ; preds = %then.2, %after_ret.1 - br label %endif.2 - -endif.2: ; preds = %loopexit.0, %endif.3 - br label %loopentry.1 - -loopentry.1: ; preds = %endif.2, %no_exit.1 - br bool false, label %no_exit.1, label %loopexit.1 - -no_exit.1: ; preds = %loopentry.1 - br label %loopentry.1 - -loopexit.1: ; preds = %loopentry.1 - br label %return - -after_ret.2: ; No predecessors! - br label %return - -return: ; preds = %cond_continue, %then.3, %loopexit.1, %after_ret.2 - ret void -} diff --git a/llvm/test/Regression/Transforms/CodeExtractor/2004-03-14-DominanceProblem.ll b/llvm/test/Regression/Transforms/CodeExtractor/2004-03-14-DominanceProblem.ll deleted file mode 100644 index 186466dc9b2..00000000000 --- a/llvm/test/Regression/Transforms/CodeExtractor/2004-03-14-DominanceProblem.ll +++ /dev/null @@ -1,34 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-extract -disable-output -; This testcase is failing the loop extractor because not all exit blocks -; are dominated by all of the live-outs. - -implementation ; Functions: - -int %ab(int %alpha, int %beta) { -entry: - br label %loopentry.1.preheader - -loopentry.1.preheader: ; preds = %then.1 - br label %loopentry.1 - -loopentry.1: ; preds = %loopentry.1.preheader, %no_exit.1 - br bool false, label %no_exit.1, label %loopexit.0.loopexit1 - -no_exit.1: ; preds = %loopentry.1 - %tmp.53 = load int* null ; <int> [#uses=1] - br bool false, label %shortcirc_next.2, label %loopentry.1 - -shortcirc_next.2: ; preds = %no_exit.1 - %tmp.563 = call int %wins( int 0, int %tmp.53, int 3 ) ; <int> [#uses=0] - ret int 0 - -loopexit.0.loopexit1: ; preds = %loopentry.1 - br label %loopexit.0 - -loopexit.0: ; preds = %loopexit.0.loopexit, %loopexit.0.loopexit1 - ret int 0 -} - -declare int %wins(int, int, int) - -declare ushort %ab_code() diff --git a/llvm/test/Regression/Transforms/CodeExtractor/2004-03-14-NoSwitchSupport.ll b/llvm/test/Regression/Transforms/CodeExtractor/2004-03-14-NoSwitchSupport.ll deleted file mode 100644 index 3efcea56acc..00000000000 --- a/llvm/test/Regression/Transforms/CodeExtractor/2004-03-14-NoSwitchSupport.ll +++ /dev/null @@ -1,27 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-extract-single -disable-output - -void %ab() { -entry: - br label %codeReplTail - -then.1: ; preds = %codeReplTail - br label %loopentry.1 - -loopentry.1: ; preds = %loopentry.1.preheader, %no_exit.1 - br bool false, label %no_exit.1, label %loopexit.0.loopexit1 - -no_exit.1: ; preds = %loopentry.1 - br label %loopentry.1 - -loopexit.0.loopexit: ; preds = %codeReplTail - ret void - -loopexit.0.loopexit1: ; preds = %loopentry.1 - ret void - -codeReplTail: ; preds = %codeRepl, %codeReplTail - switch ushort 0, label %codeReplTail [ - ushort 0, label %loopexit.0.loopexit - ushort 1, label %then.1 - ] -} diff --git a/llvm/test/Regression/Transforms/CodeExtractor/2004-03-17-MissedLiveIns.ll b/llvm/test/Regression/Transforms/CodeExtractor/2004-03-17-MissedLiveIns.ll deleted file mode 100644 index 67756b5ab54..00000000000 --- a/llvm/test/Regression/Transforms/CodeExtractor/2004-03-17-MissedLiveIns.ll +++ /dev/null @@ -1,47 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-extract -disable-output - -void %sendMTFValues() { -entry: - br bool false, label %then.1, label %endif.1 - -then.1: ; preds = %entry - br bool false, label %loopentry.6.preheader, label %else.0 - -endif.1: ; preds = %entry - ret void - -else.0: ; preds = %then.1 - ret void - -loopentry.6.preheader: ; preds = %then.1 - br bool false, label %endif.7.preheader, label %loopexit.9 - -endif.7.preheader: ; preds = %loopentry.6.preheader - %tmp.183 = add int 0, -1 ; <int> [#uses=1] - br label %endif.7 - -endif.7: ; preds = %endif.7.preheader, %loopexit.15 - br bool false, label %loopentry.10, label %loopentry.12 - -loopentry.10: ; preds = %endif.7 - br label %loopentry.12 - -loopentry.12: ; preds = %endif.7, %loopentry.10 - %ge.2.1 = phi int [ 0, %loopentry.10 ], [ %tmp.183, %endif.7 ] ; <int> [#uses=0] - br bool false, label %loopexit.14, label %no_exit.11 - -no_exit.11: ; preds = %loopentry.12 - ret void - -loopexit.14: ; preds = %loopentry.12 - br bool false, label %loopexit.15, label %no_exit.14 - -no_exit.14: ; preds = %loopexit.14 - ret void - -loopexit.15: ; preds = %loopexit.14 - br bool false, label %endif.7, label %loopexit.9 - -loopexit.9: ; preds = %loopentry.6.preheader, %loopexit.15 - ret void -} diff --git a/llvm/test/Regression/Transforms/CodeExtractor/2004-03-17-OutputMismatch.ll b/llvm/test/Regression/Transforms/CodeExtractor/2004-03-17-OutputMismatch.ll deleted file mode 100644 index 23ca986bc7d..00000000000 --- a/llvm/test/Regression/Transforms/CodeExtractor/2004-03-17-OutputMismatch.ll +++ /dev/null @@ -1,21 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-extract -disable-output - - %struct.node_t = type { double*, %struct.node_t*, %struct.node_t**, double**, double*, int, int } - %struct.table_t = type { [1 x %struct.node_t**], [1 x %struct.node_t**] } - -implementation ; Functions: - -void %make_tables() { -entry: - %tmp.0.i = malloc %struct.node_t ; <%struct.node_t*> [#uses=1] - br bool false, label %no_exit.i, label %loopexit.i - -no_exit.i: ; preds = %entry, %no_exit.i - %prev_node.0.i.1 = phi %struct.node_t* [ %tmp.16.i, %no_exit.i ], [ %tmp.0.i, %entry ] ; <%struct.node_t*> [#uses=0] - %tmp.16.i = malloc %struct.node_t ; <%struct.node_t*> [#uses=2] - br bool false, label %no_exit.i, label %loopexit.i - -loopexit.i: ; preds = %entry, %no_exit.i - %cur_node.0.i.0 = phi %struct.node_t* [ null, %entry ], [ %tmp.16.i, %no_exit.i ] ; <%struct.node_t*> [#uses=0] - ret void -} diff --git a/llvm/test/Regression/Transforms/CodeExtractor/2004-03-17-UpdatePHIsOutsideRegion.ll b/llvm/test/Regression/Transforms/CodeExtractor/2004-03-17-UpdatePHIsOutsideRegion.ll deleted file mode 100644 index 0ff309191ad..00000000000 --- a/llvm/test/Regression/Transforms/CodeExtractor/2004-03-17-UpdatePHIsOutsideRegion.ll +++ /dev/null @@ -1,23 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-extract -disable-output - - -void %maketree() { -entry: - br bool false, label %no_exit.1, label %loopexit.0 - -no_exit.1: ; preds = %entry, %expandbox.entry, %endif - br bool false, label %endif, label %expandbox.entry - -expandbox.entry: ; preds = %no_exit.1 - br bool false, label %loopexit.1, label %no_exit.1 - -endif: ; preds = %no_exit.1 - br bool false, label %loopexit.1, label %no_exit.1 - -loopexit.1: ; preds = %expandbox.entry, %endif - %ic.i.0.0.4 = phi int [ 0, %expandbox.entry ], [ 0, %endif ] ; <int> [#uses=0] - ret void - -loopexit.0: ; preds = %entry - ret void -} diff --git a/llvm/test/Regression/Transforms/CodeExtractor/2004-03-18-InvokeHandling.ll b/llvm/test/Regression/Transforms/CodeExtractor/2004-03-18-InvokeHandling.ll deleted file mode 100644 index 70d1e0aa8c1..00000000000 --- a/llvm/test/Regression/Transforms/CodeExtractor/2004-03-18-InvokeHandling.ll +++ /dev/null @@ -1,196 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-extract -disable-output - -implementation ; Functions: - -declare int %_IO_getc() - -declare void %__errno_location() - -void %yylex() { -entry: - switch uint 0, label %label.126 [ - uint 0, label %return - uint 61, label %combine - uint 33, label %combine - uint 94, label %combine - uint 37, label %combine - uint 47, label %combine - uint 42, label %combine - uint 62, label %combine - uint 60, label %combine - uint 58, label %combine - uint 124, label %combine - uint 38, label %combine - uint 45, label %combine - uint 43, label %combine - uint 34, label %string_constant - uint 39, label %char_constant - uint 46, label %loopexit.2 - uint 57, label %loopexit.2 - uint 56, label %loopexit.2 - uint 55, label %loopexit.2 - uint 54, label %loopexit.2 - uint 53, label %loopexit.2 - uint 52, label %loopexit.2 - uint 51, label %loopexit.2 - uint 50, label %loopexit.2 - uint 49, label %loopexit.2 - uint 48, label %loopexit.2 - uint 95, label %letter - uint 122, label %letter - uint 121, label %letter - uint 120, label %letter - uint 119, label %letter - uint 118, label %letter - uint 117, label %letter - uint 116, label %letter - uint 115, label %letter - uint 114, label %letter - uint 113, label %letter - uint 112, label %letter - uint 111, label %letter - uint 110, label %letter - uint 109, label %letter - uint 108, label %letter - uint 107, label %letter - uint 106, label %letter - uint 105, label %letter - uint 104, label %letter - uint 103, label %letter - uint 102, label %letter - uint 101, label %letter - uint 100, label %letter - uint 99, label %letter - uint 98, label %letter - uint 97, label %letter - uint 90, label %letter - uint 89, label %letter - uint 88, label %letter - uint 87, label %letter - uint 86, label %letter - uint 85, label %letter - uint 84, label %letter - uint 83, label %letter - uint 82, label %letter - uint 81, label %letter - uint 80, label %letter - uint 79, label %letter - uint 78, label %letter - uint 77, label %letter - uint 75, label %letter - uint 74, label %letter - uint 73, label %letter - uint 72, label %letter - uint 71, label %letter - uint 70, label %letter - uint 69, label %letter - uint 68, label %letter - uint 67, label %letter - uint 66, label %letter - uint 65, label %letter - uint 64, label %label.13 - uint 76, label %label.12 - uint 36, label %label.11 - uint 4294967295, label %label.10 - ] - -label.10: ; preds = %entry - ret void - -label.11: ; preds = %entry - ret void - -label.12: ; preds = %entry - ret void - -label.13: ; preds = %entry - ret void - -letter: ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry - ret void - -loopexit.2: ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry - switch int 0, label %shortcirc_next.14 [ - int 48, label %then.20 - int 46, label %endif.38 - ] - -then.20: ; preds = %loopexit.2 - switch int 0, label %else.4 [ - int 120, label %then.21 - int 88, label %then.21 - ] - -then.21: ; preds = %then.20, %then.20 - ret void - -else.4: ; preds = %then.20 - ret void - -shortcirc_next.14: ; preds = %loopexit.2 - ret void - -endif.38: ; preds = %loopexit.2 - br bool false, label %then.40, label %then.39 - -then.39: ; preds = %endif.38 - ret void - -then.40: ; preds = %endif.38 - invoke void %__errno_location( ) - to label %switchexit.2 unwind label %LongJmpBlkPre - -loopentry.6: ; preds = %endif.52 - switch uint 0, label %switchexit.2 [ - uint 73, label %label.82 - uint 105, label %label.82 - uint 76, label %label.80 - uint 108, label %label.80 - uint 70, label %label.78 - uint 102, label %label.78 - ] - -label.78: ; preds = %loopentry.6, %loopentry.6 - ret void - -label.80: ; preds = %loopentry.6, %loopentry.6 - ret void - -label.82: ; preds = %loopentry.6, %loopentry.6 - %c.0.15.5 = phi int [ %tmp.79417, %loopentry.6 ], [ %tmp.79417, %loopentry.6 ] ; <int> [#uses=0] - ret void - -switchexit.2: ; preds = %then.40, %loopentry.6 - br bool false, label %endif.51, label %loopexit.6 - -endif.51: ; preds = %switchexit.2 - br bool false, label %endif.52, label %then.52 - -then.52: ; preds = %endif.51 - ret void - -endif.52: ; preds = %endif.51 - %tmp.79417 = invoke int %_IO_getc( ) - to label %loopentry.6 unwind label %LongJmpBlkPre ; <int> [#uses=2] - -loopexit.6: ; preds = %switchexit.2 - ret void - -char_constant: ; preds = %entry - ret void - -string_constant: ; preds = %entry - ret void - -combine: ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry - ret void - -label.126: ; preds = %entry - ret void - -return: ; preds = %entry - ret void - -LongJmpBlkPre: ; preds = %then.40, %endif.52 - ret void -} diff --git a/llvm/test/Regression/Transforms/CodeExtractor/2004-08-12-BlockExtractPHI.ll b/llvm/test/Regression/Transforms/CodeExtractor/2004-08-12-BlockExtractPHI.ll deleted file mode 100644 index c9c23d48e52..00000000000 --- a/llvm/test/Regression/Transforms/CodeExtractor/2004-08-12-BlockExtractPHI.ll +++ /dev/null @@ -1,27 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -extract-blocks -disable-output - -implementation - -void %test1() { -no_exit.0.i: - br bool false, label %yylex.entry, label %yylex.entry - -yylex.entry: - %tmp.1027 = phi int [ 0, %no_exit.0.i ], [ 0, %no_exit.0.i ] - ret void -} - -void %test2() { -no_exit.0.i: - switch uint 0, label %yylex.entry [ - uint 0, label %yylex.entry - uint 1, label %foo - ] - -yylex.entry: - %tmp.1027 = phi int [ 0, %no_exit.0.i ], [ 0, %no_exit.0.i ] - ret void -foo: - ret void -} - diff --git a/llvm/test/Regression/Transforms/CodeExtractor/2004-11-12-InvokeExtract.ll b/llvm/test/Regression/Transforms/CodeExtractor/2004-11-12-InvokeExtract.ll deleted file mode 100644 index 4ada2aeb288..00000000000 --- a/llvm/test/Regression/Transforms/CodeExtractor/2004-11-12-InvokeExtract.ll +++ /dev/null @@ -1,10 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -extract-blocks -disable-output -int %foo() { - br label %EB -EB: - %V = invoke int %foo() to label %Cont unwind label %Unw -Cont: - ret int %V -Unw: - unwind -} diff --git a/llvm/test/Regression/Transforms/CodeExtractor/dg.exp b/llvm/test/Regression/Transforms/CodeExtractor/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/CodeExtractor/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/CondProp/.cvsignore b/llvm/test/Regression/Transforms/CondProp/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/CondProp/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/CondProp/2006-08-14-SingleEntryPhiCrash.ll b/llvm/test/Regression/Transforms/CondProp/2006-08-14-SingleEntryPhiCrash.ll deleted file mode 100644 index e0298313904..00000000000 --- a/llvm/test/Regression/Transforms/CondProp/2006-08-14-SingleEntryPhiCrash.ll +++ /dev/null @@ -1,466 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -condprop -disable-output -; PR877 - -target endian = big -target pointersize = 32 -target triple = "powerpc-apple-darwin9.0.0d1" - "struct.kc::impl_Ccode_option" = type { "struct.kc::impl_abstract_phylum" } - "struct.kc::impl_ID" = type { "struct.kc::impl_abstract_phylum", "struct.kc::impl_Ccode_option"*, "struct.kc::impl_casestring__Str"*, int, "struct.kc::impl_casestring__Str"* } - "struct.kc::impl_abstract_phylum" = type { int (...)** } - "struct.kc::impl_casestring__Str" = type { "struct.kc::impl_abstract_phylum", sbyte* } - "struct.kc::impl_elem_patternrepresentation" = type { "struct.kc::impl_abstract_phylum", int, "struct.kc::impl_casestring__Str"*, "struct.kc::impl_ID"* } - "struct.kc::impl_outmostpatterns" = type { "struct.kc::impl_Ccode_option", "struct.kc::impl_elem_patternrepresentation"*, "struct.kc::impl_outmostpatterns"* } - "struct.kc::impl_patternrepresentations" = type { "struct.kc::impl_Ccode_option", "struct.kc::impl_outmostpatterns"*, "struct.kc::impl_patternrepresentations"* } - -implementation ; Functions: - -void %_ZN2kc16compare_patternsEPNS_26impl_patternrepresentationES1_PNS_27impl_patternrepresentationsE() { -entry: - br label %bb1269.outer.outer.outer.outer - -cond_true: ; preds = %cond_true1298 - br label %bb1269.outer69 - -cond_false: ; preds = %cond_true1298 - br bool false, label %cond_next, label %bb51 - -cond_next: ; preds = %cond_false - br bool false, label %bb52, label %bb51 - -bb51: ; preds = %cond_next, %cond_false - br label %bb52 - -bb52: ; preds = %bb51, %cond_next - br bool false, label %cond_false82, label %cond_true55 - -cond_true55: ; preds = %bb52 - br bool false, label %UnifiedReturnBlock, label %cond_true57 - -cond_true57: ; preds = %cond_true55 - br label %UnifiedReturnBlock - -cond_false82: ; preds = %bb52 - br bool false, label %cond_next97, label %bb113 - -cond_next97: ; preds = %cond_false82 - br bool false, label %bb114, label %bb113 - -bb113: ; preds = %cond_next97, %cond_false82 - br label %bb114 - -bb114: ; preds = %bb113, %cond_next97 - br bool false, label %cond_false151, label %cond_true117 - -cond_true117: ; preds = %bb114 - br bool false, label %UnifiedReturnBlock, label %cond_true120 - -cond_true120: ; preds = %cond_true117 - br label %UnifiedReturnBlock - -cond_false151: ; preds = %bb114 - br bool false, label %cond_next166, label %bb182 - -cond_next166: ; preds = %cond_false151 - br bool false, label %bb183, label %bb182 - -bb182: ; preds = %cond_next166, %cond_false151 - br label %bb183 - -bb183: ; preds = %bb182, %cond_next166 - br bool false, label %cond_false256, label %cond_true186 - -cond_true186: ; preds = %bb183 - br bool false, label %cond_true207, label %cond_false214 - -cond_true207: ; preds = %cond_true186 - br label %bb1269.outer38.backedge - -bb1269.outer38.backedge: ; preds = %cond_true545, %cond_true432, %cond_true320, %cond_true207 - br label %bb1269.outer38 - -cond_false214: ; preds = %cond_true186 - br bool false, label %cond_true228, label %cond_false235 - -cond_true228: ; preds = %cond_false214 - br label %bb1269.outer21.backedge - -bb1269.outer21.backedge: ; preds = %cond_true566, %cond_true453, %cond_true341, %cond_true228 - br label %bb1269.outer21 - -cond_false235: ; preds = %cond_false214 - br bool false, label %UnifiedReturnBlock, label %cond_false250 - -cond_false250: ; preds = %cond_false235 - br label %UnifiedUnreachableBlock - -cond_false256: ; preds = %bb183 - br bool false, label %cond_next271, label %bb287 - -cond_next271: ; preds = %cond_false256 - br bool false, label %bb288, label %bb287 - -bb287: ; preds = %cond_next271, %cond_false256 - br label %bb288 - -bb288: ; preds = %bb287, %cond_next271 - br bool false, label %cond_false369, label %cond_true291 - -cond_true291: ; preds = %bb288 - br bool false, label %cond_true320, label %cond_false327 - -cond_true320: ; preds = %cond_true291 - br label %bb1269.outer38.backedge - -cond_false327: ; preds = %cond_true291 - br bool false, label %cond_true341, label %cond_false348 - -cond_true341: ; preds = %cond_false327 - br label %bb1269.outer21.backedge - -cond_false348: ; preds = %cond_false327 - br bool false, label %UnifiedReturnBlock, label %cond_false363 - -cond_false363: ; preds = %cond_false348 - br label %UnifiedUnreachableBlock - -cond_false369: ; preds = %bb288 - br bool false, label %cond_next384, label %bb400 - -cond_next384: ; preds = %cond_false369 - br bool false, label %bb401, label %bb400 - -bb400: ; preds = %cond_next384, %cond_false369 - br label %bb401 - -bb401: ; preds = %bb400, %cond_next384 - br bool false, label %cond_false481, label %cond_true404 - -cond_true404: ; preds = %bb401 - br bool false, label %cond_true432, label %cond_false439 - -cond_true432: ; preds = %cond_true404 - br label %bb1269.outer38.backedge - -cond_false439: ; preds = %cond_true404 - br bool false, label %cond_true453, label %cond_false460 - -cond_true453: ; preds = %cond_false439 - br label %bb1269.outer21.backedge - -cond_false460: ; preds = %cond_false439 - br bool false, label %UnifiedReturnBlock, label %cond_false475 - -cond_false475: ; preds = %cond_false460 - br label %UnifiedUnreachableBlock - -cond_false481: ; preds = %bb401 - br bool false, label %cond_next496, label %bb512 - -cond_next496: ; preds = %cond_false481 - br bool false, label %bb513, label %bb512 - -bb512: ; preds = %cond_next496, %cond_false481 - br label %bb513 - -bb513: ; preds = %bb512, %cond_next496 - br bool false, label %cond_false594, label %cond_true516 - -cond_true516: ; preds = %bb513 - br bool false, label %cond_true545, label %cond_false552 - -cond_true545: ; preds = %cond_true516 - br label %bb1269.outer38.backedge - -cond_false552: ; preds = %cond_true516 - br bool false, label %cond_true566, label %cond_false573 - -cond_true566: ; preds = %cond_false552 - br label %bb1269.outer21.backedge - -cond_false573: ; preds = %cond_false552 - br bool false, label %UnifiedReturnBlock, label %cond_false588 - -cond_false588: ; preds = %cond_false573 - br label %UnifiedUnreachableBlock - -cond_false594: ; preds = %bb513 - br bool false, label %cond_next609, label %bb625 - -cond_next609: ; preds = %cond_false594 - br bool false, label %bb626, label %bb625 - -bb625: ; preds = %cond_next609, %cond_false594 - br label %bb626 - -bb626: ; preds = %bb625, %cond_next609 - br bool false, label %cond_false707, label %cond_true629 - -cond_true629: ; preds = %bb626 - br bool false, label %cond_true658, label %cond_false665 - -cond_true658: ; preds = %cond_true629 - br label %bb1269.outer2.backedge - -bb1269.outer2.backedge: ; preds = %cond_true679, %cond_true658 - br label %bb1269.outer2 - -cond_false665: ; preds = %cond_true629 - br bool false, label %cond_true679, label %cond_false686 - -cond_true679: ; preds = %cond_false665 - br label %bb1269.outer2.backedge - -cond_false686: ; preds = %cond_false665 - br bool false, label %UnifiedReturnBlock, label %cond_false701 - -cond_false701: ; preds = %cond_false686 - br label %UnifiedUnreachableBlock - -cond_false707: ; preds = %bb626 - br bool false, label %cond_next722, label %bb738 - -cond_next722: ; preds = %cond_false707 - br bool false, label %bb739, label %bb738 - -bb738: ; preds = %cond_next722, %cond_false707 - br label %bb739 - -bb739: ; preds = %bb738, %cond_next722 - br bool false, label %cond_false820, label %cond_true742 - -cond_true742: ; preds = %bb739 - br bool false, label %cond_true771, label %cond_false778 - -cond_true771: ; preds = %cond_true742 - br label %bb1269.outer.backedge - -bb1269.outer.backedge: ; preds = %cond_true792, %cond_true771 - br label %bb1269.outer - -cond_false778: ; preds = %cond_true742 - br bool false, label %cond_true792, label %cond_false799 - -cond_true792: ; preds = %cond_false778 - br label %bb1269.outer.backedge - -cond_false799: ; preds = %cond_false778 - br bool false, label %UnifiedReturnBlock, label %cond_false814 - -cond_false814: ; preds = %cond_false799 - br label %UnifiedUnreachableBlock - -cond_false820: ; preds = %bb739 - br bool false, label %cond_next835, label %bb851 - -cond_next835: ; preds = %cond_false820 - br bool false, label %bb852, label %bb851 - -bb851: ; preds = %cond_next835, %cond_false820 - br label %bb852 - -bb852: ; preds = %bb851, %cond_next835 - br bool false, label %cond_false933, label %cond_true855 - -cond_true855: ; preds = %bb852 - br bool false, label %cond_true884, label %cond_false891 - -cond_true884: ; preds = %cond_true855 - br label %bb1269.outer.outer.backedge - -bb1269.outer.outer.backedge: ; preds = %cond_true905, %cond_true884 - br label %bb1269.outer.outer - -cond_false891: ; preds = %cond_true855 - br bool false, label %cond_true905, label %cond_false912 - -cond_true905: ; preds = %cond_false891 - br label %bb1269.outer.outer.backedge - -cond_false912: ; preds = %cond_false891 - br bool false, label %UnifiedReturnBlock, label %cond_false927 - -cond_false927: ; preds = %cond_false912 - br label %UnifiedUnreachableBlock - -cond_false933: ; preds = %bb852 - br bool false, label %cond_next948, label %bb964 - -cond_next948: ; preds = %cond_false933 - br bool false, label %bb965, label %bb964 - -bb964: ; preds = %cond_next948, %cond_false933 - br label %bb965 - -bb965: ; preds = %bb964, %cond_next948 - br bool false, label %cond_false1046, label %cond_true968 - -cond_true968: ; preds = %bb965 - br bool false, label %cond_true997, label %cond_false1004 - -cond_true997: ; preds = %cond_true968 - br label %bb1269.outer.outer.outer.backedge - -bb1269.outer.outer.outer.backedge: ; preds = %cond_true1018, %cond_true997 - br label %bb1269.outer.outer.outer - -cond_false1004: ; preds = %cond_true968 - br bool false, label %cond_true1018, label %cond_false1025 - -cond_true1018: ; preds = %cond_false1004 - br label %bb1269.outer.outer.outer.backedge - -cond_false1025: ; preds = %cond_false1004 - br bool false, label %UnifiedReturnBlock, label %cond_false1040 - -cond_false1040: ; preds = %cond_false1025 - br label %UnifiedUnreachableBlock - -cond_false1046: ; preds = %bb965 - br bool false, label %cond_next1061, label %bb1077 - -cond_next1061: ; preds = %cond_false1046 - br bool false, label %bb1078, label %bb1077 - -bb1077: ; preds = %cond_next1061, %cond_false1046 - br label %bb1078 - -bb1078: ; preds = %bb1077, %cond_next1061 - %tmp1080 = phi bool [ true, %bb1077 ], [ false, %cond_next1061 ] ; <bool> [#uses=1] - br bool %tmp1080, label %cond_false1159, label %cond_true1081 - -cond_true1081: ; preds = %bb1078 - br bool false, label %cond_true1110, label %cond_false1117 - -cond_true1110: ; preds = %cond_true1081 - br label %bb1269.outer.outer.outer.outer.backedge - -bb1269.outer.outer.outer.outer.backedge: ; preds = %cond_true1131, %cond_true1110 - br label %bb1269.outer.outer.outer.outer - -cond_false1117: ; preds = %cond_true1081 - br bool false, label %cond_true1131, label %cond_false1138 - -cond_true1131: ; preds = %cond_false1117 - br label %bb1269.outer.outer.outer.outer.backedge - -cond_false1138: ; preds = %cond_false1117 - br bool false, label %UnifiedReturnBlock, label %cond_false1153 - -cond_false1153: ; preds = %cond_false1138 - br label %UnifiedUnreachableBlock - -cond_false1159: ; preds = %bb1078 - %tmp.i119.lcssa35.lcssa.lcssa.lcssa.lcssa.lcssa = phi "struct.kc::impl_elem_patternrepresentation"* [ null, %bb1078 ] ; <"struct.kc::impl_elem_patternrepresentation"*> [#uses=0] - br bool false, label %UnifiedReturnBlock, label %cond_false1174 - -cond_false1174: ; preds = %cond_false1159 - br bool false, label %UnifiedReturnBlock, label %cond_false1189 - -cond_false1189: ; preds = %cond_false1174 - br bool false, label %UnifiedReturnBlock, label %cond_false1204 - -cond_false1204: ; preds = %cond_false1189 - br bool false, label %UnifiedReturnBlock, label %cond_false1219 - -cond_false1219: ; preds = %cond_false1204 - br bool false, label %UnifiedReturnBlock, label %cond_true1222 - -cond_true1222: ; preds = %cond_false1219 - br label %UnifiedReturnBlock - -bb1269.outer.outer.outer.outer: ; preds = %bb1269.outer.outer.outer.outer.backedge, %entry - br label %bb1269.outer.outer.outer - -bb1269.outer.outer.outer: ; preds = %bb1269.outer.outer.outer.outer, %bb1269.outer.outer.outer.backedge - br label %bb1269.outer.outer - -bb1269.outer.outer: ; preds = %bb1269.outer.outer.outer, %bb1269.outer.outer.backedge - br label %bb1269.outer - -bb1269.outer: ; preds = %bb1269.outer.outer, %bb1269.outer.backedge - br label %bb1269.outer2 - -bb1269.outer2: ; preds = %bb1269.outer, %bb1269.outer2.backedge - br label %bb1269.outer21 - -bb1269.outer21: ; preds = %bb1269.outer2, %bb1269.outer21.backedge - br label %bb1269.outer38 - -bb1269.outer38: ; preds = %bb1269.outer21, %bb1269.outer38.backedge - br label %bb1269.outer54 - -bb1269.outer54: ; preds = %bb1269.outer38 - br label %bb1269.outer69 - -bb1269.outer69: ; preds = %bb1269.outer54, %cond_true - br label %bb1269 - -bb1269: ; preds = %bb1269.outer69 - br bool false, label %cond_next1281, label %bb1294 - -cond_next1281: ; preds = %bb1269 - br bool false, label %cond_true1298, label %bb1294 - -bb1294: ; preds = %cond_next1281, %bb1269 - br bool false, label %cond_true1331, label %cond_next1313 - -cond_true1298: ; preds = %cond_next1281 - br bool false, label %cond_false, label %cond_true - -cond_next1313: ; preds = %bb1294 - br bool false, label %cond_true1331, label %cond_next1355 - -cond_true1331: ; preds = %cond_next1313, %bb1294 - br bool false, label %cond_false1346, label %cond_true1342 - -cond_true1342: ; preds = %cond_true1331 - br label %cond_next1350 - -cond_false1346: ; preds = %cond_true1331 - br label %cond_next1350 - -cond_next1350: ; preds = %cond_false1346, %cond_true1342 - br label %bb.i - -bb.i: ; preds = %bb.i, %cond_next1350 - br bool false, label %_ZN2kc18impl_abstract_list8freelistEv.exit, label %bb.i - -_ZN2kc18impl_abstract_list8freelistEv.exit: ; preds = %bb.i - br label %cond_next1355 - -cond_next1355: ; preds = %_ZN2kc18impl_abstract_list8freelistEv.exit, %cond_next1313 - br bool false, label %cond_next1363, label %bb1388 - -cond_next1363: ; preds = %cond_next1355 - br bool false, label %UnifiedReturnBlock, label %cond_true1366 - -cond_true1366: ; preds = %cond_next1363 - br label %UnifiedReturnBlock - -bb1388: ; preds = %cond_next1355 - br bool false, label %UnifiedReturnBlock, label %bb1414.preheader - -bb1414.preheader: ; preds = %bb1388 - br label %bb1414 - -bb1414: ; preds = %cond_true1426, %bb1414.preheader - br bool false, label %cond_true1426, label %bb1429 - -cond_true1426: ; preds = %bb1414 - br label %bb1414 - -bb1429: ; preds = %bb1414 - br bool false, label %cond_true1431, label %UnifiedReturnBlock - -cond_true1431: ; preds = %bb1429 - br bool false, label %UnifiedReturnBlock, label %cond_true1434 - -cond_true1434: ; preds = %cond_true1431 - br label %UnifiedReturnBlock - -UnifiedUnreachableBlock: ; preds = %cond_false1153, %cond_false1040, %cond_false927, %cond_false814, %cond_false701, %cond_false588, %cond_false475, %cond_false363, %cond_false250 - unreachable - -UnifiedReturnBlock: ; preds = %cond_true1434, %cond_true1431, %bb1429, %bb1388, %cond_true1366, %cond_next1363, %cond_true1222, %cond_false1219, %cond_false1204, %cond_false1189, %cond_false1174, %cond_false1159, %cond_false1138, %cond_false1025, %cond_false912, %cond_false799, %cond_false686, %cond_false573, %cond_false460, %cond_false348, %cond_false235, %cond_true120, %cond_true117, %cond_true57, %cond_true55 - ret void -} diff --git a/llvm/test/Regression/Transforms/CondProp/2006-11-01-PhiNodeCrash.ll b/llvm/test/Regression/Transforms/CondProp/2006-11-01-PhiNodeCrash.ll deleted file mode 100644 index 5221319f9a2..00000000000 --- a/llvm/test/Regression/Transforms/CondProp/2006-11-01-PhiNodeCrash.ll +++ /dev/null @@ -1,1087 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -condprop -disable-output -; PR979 -target datalayout = "e-p:32:32" -target endian = little -target pointersize = 32 -target triple = "i686-pc-linux-gnu" -deplibs = [ "c", "crtend" ] - %struct.IO_APIC_reg_00 = type { uint } - %struct.Qdisc = type { int (%struct.sk_buff*, %struct.Qdisc*)*, %struct.sk_buff* (%struct.Qdisc*)*, uint, %struct.Qdisc_ops*, %struct.Qdisc*, uint, %struct.bluez_skb_cb, %struct.sk_buff_head, %struct.net_device*, %struct.tc_stats, int (%struct.sk_buff*, %struct.Qdisc*)*, %struct.Qdisc*, [1 x sbyte] } - %struct.Qdisc_class_ops = type { int (%struct.Qdisc*, uint, %struct.Qdisc*, %struct.Qdisc**)*, %struct.Qdisc* (%struct.Qdisc*, uint)*, uint (%struct.Qdisc*, uint)*, void (%struct.Qdisc*, uint)*, int (%struct.Qdisc*, uint, uint, %struct._agp_version**, uint*)*, int (%struct.Qdisc*, uint)*, void (%struct.Qdisc*, %struct.qdisc_walker*)*, %struct.tcf_proto** (%struct.Qdisc*, uint)*, uint (%struct.Qdisc*, uint, uint)*, void (%struct.Qdisc*, uint)*, int (%struct.Qdisc*, uint, %struct.sk_buff*, %struct.tcmsg*)* } - %struct.Qdisc_ops = type { %struct.Qdisc_ops*, %struct.Qdisc_class_ops*, [16 x sbyte], int, int (%struct.sk_buff*, %struct.Qdisc*)*, %struct.sk_buff* (%struct.Qdisc*)*, int (%struct.sk_buff*, %struct.Qdisc*)*, uint (%struct.Qdisc*)*, int (%struct.Qdisc*, %struct._agp_version*)*, void (%struct.Qdisc*)*, void (%struct.Qdisc*)*, int (%struct.Qdisc*, %struct._agp_version*)*, int (%struct.Qdisc*, %struct.sk_buff*)* } - %struct.ViceFid = type { uint, uint, uint } - %struct.__wait_queue = type { uint, %struct.task_struct*, %struct.list_head } - %struct.__wait_queue_head = type { %struct.IO_APIC_reg_00, %struct.list_head } - %struct._agp_version = type { ushort, ushort } - %struct._drm_i810_overlay_t = type { uint, uint } - %struct.address_space = type { %struct.list_head, %struct.list_head, %struct.list_head, uint, %struct.address_space_operations*, %struct.inode*, %struct.vm_area_struct*, %struct.vm_area_struct*, %struct.IO_APIC_reg_00, int } - %struct.address_space_operations = type { int (%struct.page*)*, int (%struct.file*, %struct.page*)*, int (%struct.page*)*, int (%struct.file*, %struct.page*, uint, uint)*, int (%struct.file*, %struct.page*, uint, uint)*, int (%struct.address_space*, int)*, int (%struct.page*, uint)*, int (%struct.page*, int)*, int (int, %struct.inode*, %struct.kiobuf*, uint, int)*, int (int, %struct.file*, %struct.kiobuf*, uint, int)*, void (%struct.page*)* } - %struct.audio_buf_info = type { int, int, int, int } - %struct.autofs_packet_hdr = type { int, int } - %struct.block_device = type { %struct.list_head, %struct.bluez_skb_cb, %struct.inode*, ushort, int, %struct.block_device_operations*, %struct.semaphore, %struct.list_head } - %struct.block_device_operations = type { int (%struct.inode*, %struct.file*)*, int (%struct.inode*, %struct.file*)*, int (%struct.inode*, %struct.file*, uint, uint)*, int (ushort)*, int (ushort)*, %struct.module* } - %struct.bluez_skb_cb = type { int } - %struct.buffer_head = type { %struct.buffer_head*, uint, ushort, ushort, ushort, %struct.bluez_skb_cb, ushort, uint, uint, %struct.buffer_head*, %struct.buffer_head*, %struct.buffer_head*, %struct.buffer_head*, %struct.buffer_head**, sbyte*, %struct.page*, void (%struct.buffer_head*, int)*, sbyte*, uint, %struct.__wait_queue_head, %struct.list_head } - %struct.char_device = type { %struct.list_head, %struct.bluez_skb_cb, ushort, %struct.bluez_skb_cb, %struct.semaphore } - %struct.completion = type { uint, %struct.__wait_queue_head } - %struct.cramfs_info = type { uint, uint, uint, uint } - %struct.dentry = type { %struct.bluez_skb_cb, uint, %struct.inode*, %struct.dentry*, %struct.list_head, %struct.list_head, %struct.list_head, %struct.list_head, %struct.list_head, int, %struct.qstr, uint, %struct.dentry_operations*, %struct.super_block*, uint, sbyte*, [16 x ubyte] } - %struct.dentry_operations = type { int (%struct.dentry*, int)*, int (%struct.dentry*, %struct.qstr*)*, int (%struct.dentry*, %struct.qstr*, %struct.qstr*)*, int (%struct.dentry*)*, void (%struct.dentry*)*, void (%struct.dentry*, %struct.inode*)* } - %struct.dev_mc_list = type { %struct.dev_mc_list*, [8 x ubyte], ubyte, int, int } - %struct.dnotify_struct = type { %struct.dnotify_struct*, uint, int, %struct.file*, %struct.files_struct* } - %struct.dquot = type { %struct.list_head, %struct.list_head, %struct.list_head, %struct.__wait_queue_head, %struct.__wait_queue_head, int, int, %struct.super_block*, uint, ushort, long, short, short, uint, %struct.mem_dqblk } - %struct.dquot_operations = type { void (%struct.inode*, int)*, void (%struct.inode*)*, int (%struct.inode*, ulong, int)*, int (%struct.inode*, uint)*, void (%struct.inode*, ulong)*, void (%struct.inode*, uint)*, int (%struct.inode*, %struct.iattr*)*, int (%struct.dquot*)* } - %struct.drm_clip_rect = type { ushort, ushort, ushort, ushort } - %struct.drm_ctx_priv_map = type { uint, sbyte* } - %struct.drm_mga_indices = type { int, uint, uint, int } - %struct.dst_entry = type { %struct.dst_entry*, %struct.bluez_skb_cb, int, %struct.net_device*, int, int, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, int, %struct.neighbour*, %struct.hh_cache*, int (%struct.sk_buff*)*, int (%struct.sk_buff*)*, %struct.dst_ops*, [0 x sbyte] } - %struct.dst_ops = type { ushort, ushort, uint, int ()*, %struct.dst_entry* (%struct.dst_entry*, uint)*, %struct.dst_entry* (%struct.dst_entry*, %struct.sk_buff*)*, void (%struct.dst_entry*)*, %struct.dst_entry* (%struct.dst_entry*)*, void (%struct.sk_buff*)*, int, %struct.bluez_skb_cb, %struct.kmem_cache_s* } - %struct.e820entry = type { ulong, ulong, uint } - %struct.exec_domain = type { sbyte*, void (int, %struct.pt_regs*)*, ubyte, ubyte, uint*, uint*, %struct.map_segment*, %struct.map_segment*, %struct.map_segment*, %struct.map_segment*, %struct.module*, %struct.exec_domain* } - %struct.ext2_inode_info = type { [15 x uint], uint, uint, ubyte, ubyte, uint, uint, uint, uint, uint, uint, uint, uint, uint, int } - %struct.ext3_inode_info = type { [15 x uint], uint, uint, uint, uint, uint, uint, uint, uint, uint, %struct.list_head, long, %struct.rw_semaphore } - %struct.fasync_struct = type { int, int, %struct.fasync_struct*, %struct.file* } - %struct.file = type { %struct.list_head, %struct.dentry*, %struct.vfsmount*, %struct.file_operations*, %struct.bluez_skb_cb, uint, ushort, long, uint, uint, uint, uint, uint, %struct.drm_mga_indices, uint, uint, int, uint, sbyte*, %struct.kiobuf*, int } - %struct.file_lock = type { %struct.file_lock*, %struct.list_head, %struct.list_head, %struct.files_struct*, uint, %struct.__wait_queue_head, %struct.file*, ubyte, ubyte, long, long, void (%struct.file_lock*)*, void (%struct.file_lock*)*, void (%struct.file_lock*)*, %struct.fasync_struct*, uint, { %struct.nfs_lock_info } } - %struct.file_operations = type { %struct.module*, long (%struct.file*, long, int)*, int (%struct.file*, sbyte*, uint, long*)*, int (%struct.file*, sbyte*, uint, long*)*, int (%struct.file*, sbyte*, int (sbyte*, sbyte*, int, long, uint, uint)*)*, uint (%struct.file*, %struct.poll_table_struct*)*, int (%struct.inode*, %struct.file*, uint, uint)*, int (%struct.file*, %struct.vm_area_struct*)*, int (%struct.inode*, %struct.file*)*, int (%struct.file*)*, int (%struct.inode*, %struct.file*)*, int (%struct.file*, %struct.dentry*, int)*, int (int, %struct.file*, int)*, int (%struct.file*, int, %struct.file_lock*)*, int (%struct.file*, %struct.iovec*, uint, long*)*, int (%struct.file*, %struct.iovec*, uint, long*)*, int (%struct.file*, %struct.page*, int, uint, long*, int)*, uint (%struct.file*, uint, uint, uint, uint)* } - %struct.file_system_type = type { sbyte*, int, %struct.super_block* (%struct.super_block*, sbyte*, int)*, %struct.module*, %struct.file_system_type*, %struct.list_head } - %struct.files_struct = type { %struct.bluez_skb_cb, %typedef.rwlock_t, int, int, int, %struct.file**, %typedef.__kernel_fd_set*, %typedef.__kernel_fd_set*, %typedef.__kernel_fd_set, %typedef.__kernel_fd_set, [32 x %struct.file*] } - %struct.fs_disk_quota = type { sbyte, sbyte, ushort, uint, ulong, ulong, ulong, ulong, ulong, ulong, int, int, ushort, ushort, int, ulong, ulong, ulong, int, ushort, short, [8 x sbyte] } - %struct.fs_quota_stat = type { sbyte, ushort, sbyte, %struct.e820entry, %struct.e820entry, uint, int, int, int, ushort, ushort } - %struct.fs_struct = type { %struct.bluez_skb_cb, %typedef.rwlock_t, int, %struct.dentry*, %struct.dentry*, %struct.dentry*, %struct.vfsmount*, %struct.vfsmount*, %struct.vfsmount* } - %struct.hh_cache = type { %struct.hh_cache*, %struct.bluez_skb_cb, ushort, int, int (%struct.sk_buff*)*, %typedef.rwlock_t, [32 x uint] } - %struct.i387_fxsave_struct = type { ushort, ushort, ushort, ushort, int, int, int, int, int, int, [32 x int], [32 x int], [56 x int] } - %struct.iattr = type { uint, ushort, uint, uint, long, int, int, int, uint } - %struct.if_dqblk = type { ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, uint } - %struct.if_dqinfo = type { ulong, ulong, uint, uint } - %struct.ifmap = type { uint, uint, ushort, ubyte, ubyte, ubyte } - %struct.ifreq = type { { [16 x sbyte] }, %typedef.dvd_authinfo } - %struct.inode = type { %struct.list_head, %struct.list_head, %struct.list_head, %struct.list_head, %struct.list_head, uint, %struct.bluez_skb_cb, ushort, ushort, ushort, uint, uint, ushort, long, int, int, int, uint, uint, uint, uint, ushort, %struct.semaphore, %struct.rw_semaphore, %struct.semaphore, %struct.inode_operations*, %struct.file_operations*, %struct.super_block*, %struct.__wait_queue_head, %struct.file_lock*, %struct.address_space*, %struct.address_space, [2 x %struct.dquot*], %struct.list_head, %struct.pipe_inode_info*, %struct.block_device*, %struct.char_device*, uint, %struct.dnotify_struct*, uint, uint, ubyte, %struct.bluez_skb_cb, uint, uint, { %struct.ext2_inode_info, %struct.ext3_inode_info, %struct.msdos_inode_info, %struct.iso_inode_info, %struct.nfs_inode_info, %struct._drm_i810_overlay_t, %struct.shmem_inode_info, %struct.proc_inode_info, %struct.socket, %struct.usbdev_inode_info, sbyte* } } - %struct.inode_operations = type { int (%struct.inode*, %struct.dentry*, int)*, %struct.dentry* (%struct.inode*, %struct.dentry*)*, int (%struct.dentry*, %struct.inode*, %struct.dentry*)*, int (%struct.inode*, %struct.dentry*)*, int (%struct.inode*, %struct.dentry*, sbyte*)*, int (%struct.inode*, %struct.dentry*, int)*, int (%struct.inode*, %struct.dentry*)*, int (%struct.inode*, %struct.dentry*, int, int)*, int (%struct.inode*, %struct.dentry*, %struct.inode*, %struct.dentry*)*, int (%struct.dentry*, sbyte*, int)*, int (%struct.dentry*, %struct.nameidata*)*, void (%struct.inode*)*, int (%struct.inode*, int)*, int (%struct.dentry*)*, int (%struct.dentry*, %struct.iattr*)*, int (%struct.dentry*, %struct.iattr*)*, int (%struct.dentry*, sbyte*, sbyte*, uint, int)*, int (%struct.dentry*, sbyte*, sbyte*, uint)*, int (%struct.dentry*, sbyte*, uint)*, int (%struct.dentry*, sbyte*)* } - %struct.iovec = type { sbyte*, uint } - %struct.ip_options = type { uint, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, [0 x ubyte] } - %struct.isapnp_dma = type { ubyte, ubyte, %struct.isapnp_resources*, %struct.isapnp_dma* } - %struct.isapnp_irq = type { ushort, ubyte, ubyte, %struct.isapnp_resources*, %struct.isapnp_irq* } - %struct.isapnp_mem = type { uint, uint, uint, uint, ubyte, ubyte, %struct.isapnp_resources*, %struct.isapnp_mem* } - %struct.isapnp_mem32 = type { [17 x ubyte], %struct.isapnp_resources*, %struct.isapnp_mem32* } - %struct.isapnp_port = type { ushort, ushort, ubyte, ubyte, ubyte, ubyte, %struct.isapnp_resources*, %struct.isapnp_port* } - %struct.isapnp_resources = type { ushort, ushort, %struct.isapnp_port*, %struct.isapnp_irq*, %struct.isapnp_dma*, %struct.isapnp_mem*, %struct.isapnp_mem32*, %struct.pci_dev*, %struct.isapnp_resources*, %struct.isapnp_resources* } - %struct.iso_inode_info = type { uint, ubyte, [3 x ubyte], uint, int } - %struct.iw_handler_def = type opaque - %struct.iw_statistics = type opaque - %struct.k_sigaction = type { %struct.sigaction } - %struct.kern_ipc_perm = type { int, uint, uint, uint, uint, ushort, uint } - %struct.kiobuf = type { int, int, int, int, uint, %struct.page**, %struct.buffer_head**, uint*, %struct.bluez_skb_cb, int, void (%struct.kiobuf*)*, %struct.__wait_queue_head } - %struct.kmem_cache_s = type { %struct.list_head, %struct.list_head, %struct.list_head, uint, uint, uint, %struct.IO_APIC_reg_00, uint, uint, uint, uint, uint, uint, %struct.kmem_cache_s*, uint, uint, void (sbyte*, %struct.kmem_cache_s*, uint)*, void (sbyte*, %struct.kmem_cache_s*, uint)*, uint, [20 x sbyte], %struct.list_head, [32 x %struct._drm_i810_overlay_t*], uint } - %struct.linux_binfmt = type { %struct.linux_binfmt*, %struct.module*, int (%struct.linux_binprm*, %struct.pt_regs*)*, int (%struct.file*)*, int (int, %struct.pt_regs*, %struct.file*)*, uint, int (%struct.linux_binprm*, sbyte*)* } - %struct.linux_binprm = type { [128 x sbyte], [32 x %struct.page*], uint, int, %struct.file*, int, int, uint, uint, uint, int, int, sbyte*, uint, uint } - %struct.list_head = type { %struct.list_head*, %struct.list_head* } - %struct.llva_sigcontext = type { %typedef.llva_icontext_t, %typedef.llva_fp_state_t, uint, uint, uint, uint, [1 x uint], sbyte* } - %struct.map_segment = type opaque - %struct.mem_dqblk = type { uint, uint, ulong, uint, uint, uint, int, int } - %struct.mem_dqinfo = type { %struct.quota_format_type*, int, uint, uint, { %struct.ViceFid } } - %struct.mm_struct = type { %struct.vm_area_struct*, %struct.rb_root_s, %struct.vm_area_struct*, %struct.IO_APIC_reg_00*, %struct.bluez_skb_cb, %struct.bluez_skb_cb, int, %struct.rw_semaphore, %struct.IO_APIC_reg_00, %struct.list_head, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, %struct.iovec } - %struct.module = type { uint, %struct.module*, sbyte*, uint, %struct.bluez_skb_cb, uint, uint, uint, %struct.drm_ctx_priv_map*, %struct.module_ref*, %struct.module_ref*, int ()*, void ()*, %struct._drm_i810_overlay_t*, %struct._drm_i810_overlay_t*, %struct.module_persist*, %struct.module_persist*, int ()*, int, sbyte*, sbyte*, sbyte*, sbyte*, sbyte* } - %struct.module_persist = type opaque - %struct.module_ref = type { %struct.module*, %struct.module*, %struct.module_ref* } - %struct.msdos_inode_info = type { uint, int, int, int, int, int, %struct.inode*, %struct.list_head } - %struct.msghdr = type { sbyte*, int, %struct.iovec*, uint, sbyte*, uint, uint } - %struct.msq_setbuf = type { uint, uint, uint, ushort } - %struct.nameidata = type { %struct.dentry*, %struct.vfsmount*, %struct.qstr, uint, int } - %struct.namespace = type { %struct.bluez_skb_cb, %struct.vfsmount*, %struct.list_head, %struct.rw_semaphore } - %struct.neigh_ops = type { int, void (%struct.neighbour*)*, void (%struct.neighbour*, %struct.sk_buff*)*, void (%struct.neighbour*, %struct.sk_buff*)*, int (%struct.sk_buff*)*, int (%struct.sk_buff*)*, int (%struct.sk_buff*)*, int (%struct.sk_buff*)* } - %struct.neigh_parms = type { %struct.neigh_parms*, int (%struct.neighbour*)*, %struct.neigh_table*, int, sbyte*, sbyte*, int, int, int, int, int, int, int, int, int, int, int, int, int } - %struct.neigh_table = type { %struct.neigh_table*, int, int, int, uint (sbyte*, %struct.net_device*)*, int (%struct.neighbour*)*, int (%struct.pneigh_entry*)*, void (%struct.pneigh_entry*)*, void (%struct.sk_buff*)*, sbyte*, %struct.neigh_parms, int, int, int, int, uint, %struct.timer_list, %struct.timer_list, %struct.sk_buff_head, int, %typedef.rwlock_t, uint, %struct.neigh_parms*, %struct.kmem_cache_s*, %struct.tasklet_struct, %struct.cramfs_info, [32 x %struct.neighbour*], [16 x %struct.pneigh_entry*] } - %struct.neighbour = type { %struct.neighbour*, %struct.neigh_table*, %struct.neigh_parms*, %struct.net_device*, uint, uint, uint, ubyte, ubyte, ubyte, ubyte, %struct.bluez_skb_cb, %typedef.rwlock_t, [8 x ubyte], %struct.hh_cache*, %struct.bluez_skb_cb, int (%struct.sk_buff*)*, %struct.sk_buff_head, %struct.timer_list, %struct.neigh_ops*, [0 x ubyte] } - %struct.net_bridge_port = type opaque - %struct.net_device = type { [16 x sbyte], uint, uint, uint, uint, uint, uint, ubyte, ubyte, uint, %struct.net_device*, int (%struct.net_device*)*, %struct.net_device*, int, int, %struct.net_device_stats* (%struct.net_device*)*, %struct.iw_statistics* (%struct.net_device*)*, %struct.iw_handler_def*, uint, uint, ushort, ushort, ushort, ushort, uint, ushort, ushort, sbyte*, %struct.net_device*, [8 x ubyte], [8 x ubyte], ubyte, %struct.dev_mc_list*, int, int, int, int, %struct.timer_list, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, %struct.list_head, int, int, %struct.Qdisc*, %struct.Qdisc*, %struct.Qdisc*, %struct.Qdisc*, uint, %struct.IO_APIC_reg_00, int, %struct.IO_APIC_reg_00, %struct.bluez_skb_cb, int, int, void (%struct.net_device*)*, void (%struct.net_device*)*, int (%struct.net_device*)*, int (%struct.net_device*)*, int (%struct.sk_buff*, %struct.net_device*)*, int (%struct.net_device*, int*)*, int (%struct.sk_buff*, %struct.net_device*, ushort, sbyte*, sbyte*, uint)*, int (%struct.sk_buff*)*, void (%struct.net_device*)*, int (%struct.net_device*, sbyte*)*, int (%struct.net_device*, %struct.ifreq*, int)*, int (%struct.net_device*, %struct.ifmap*)*, int (%struct.neighbour*, %struct.hh_cache*)*, void (%struct.hh_cache*, %struct.net_device*, ubyte*)*, int (%struct.net_device*, int)*, void (%struct.net_device*)*, void (%struct.net_device*, %struct.vlan_group*)*, void (%struct.net_device*, ushort)*, void (%struct.net_device*, ushort)*, int (%struct.sk_buff*, ubyte*)*, int (%struct.net_device*, %struct.neigh_parms*)*, int (%struct.net_device*, %struct.dst_entry*)*, %struct.module*, %struct.net_bridge_port* } - %struct.net_device_stats = type { uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint } - %struct.nf_conntrack = type { %struct.bluez_skb_cb, void (%struct.nf_conntrack*)* } - %struct.nf_ct_info = type { %struct.nf_conntrack* } - %struct.nfs_fh = type { ushort, [64 x ubyte] } - %struct.nfs_inode_info = type { ulong, %struct.nfs_fh, ushort, uint, ulong, ulong, ulong, uint, uint, uint, [2 x uint], %struct.list_head, %struct.list_head, %struct.list_head, %struct.list_head, uint, uint, uint, uint, %struct.rpc_cred* } - %struct.nfs_lock_info = type { uint, uint, %struct.nlm_host* } - %struct.nlm_host = type opaque - %struct.open_request = type { %struct.open_request*, uint, uint, ushort, ushort, ubyte, ubyte, ushort, uint, uint, uint, uint, %struct.or_calltable*, %struct.sock*, { %struct.tcp_v4_open_req } } - %struct.or_calltable = type { int, int (%struct.sock*, %struct.open_request*, %struct.dst_entry*)*, void (%struct.sk_buff*, %struct.open_request*)*, void (%struct.open_request*)*, void (%struct.sk_buff*)* } - %struct.page = type { %struct.list_head, %struct.address_space*, uint, %struct.page*, %struct.bluez_skb_cb, uint, %struct.list_head, %struct.page**, %struct.buffer_head* } - %struct.pci_bus = type { %struct.list_head, %struct.pci_bus*, %struct.list_head, %struct.list_head, %struct.pci_dev*, [4 x %struct.resource*], %struct.pci_ops*, sbyte*, %struct.proc_dir_entry*, ubyte, ubyte, ubyte, ubyte, [48 x sbyte], ushort, ushort, uint, ubyte, ubyte, ubyte, ubyte } - %struct.pci_dev = type { %struct.list_head, %struct.list_head, %struct.pci_bus*, %struct.pci_bus*, sbyte*, %struct.proc_dir_entry*, uint, ushort, ushort, ushort, ushort, uint, ubyte, ubyte, %struct.pci_driver*, sbyte*, ulong, uint, [4 x ushort], [4 x ushort], uint, [12 x %struct.resource], [2 x %struct.resource], [2 x %struct.resource], [90 x sbyte], [8 x sbyte], int, int, ushort, ushort, int (%struct.pci_dev*)*, int (%struct.pci_dev*)*, int (%struct.pci_dev*)* } - %struct.pci_device_id = type { uint, uint, uint, uint, uint, uint, uint } - %struct.pci_driver = type { %struct.list_head, sbyte*, %struct.pci_device_id*, int (%struct.pci_dev*, %struct.pci_device_id*)*, void (%struct.pci_dev*)*, int (%struct.pci_dev*, uint)*, int (%struct.pci_dev*, uint)*, int (%struct.pci_dev*)*, int (%struct.pci_dev*, uint, int)* } - %struct.pci_ops = type { int (%struct.pci_dev*, int, ubyte*)*, int (%struct.pci_dev*, int, ushort*)*, int (%struct.pci_dev*, int, uint*)*, int (%struct.pci_dev*, int, ubyte)*, int (%struct.pci_dev*, int, ushort)*, int (%struct.pci_dev*, int, uint)* } - %struct.pipe_inode_info = type { %struct.__wait_queue_head, sbyte*, uint, uint, uint, uint, uint, uint, uint, uint } - %struct.pneigh_entry = type { %struct.pneigh_entry*, %struct.net_device*, [0 x ubyte] } - %struct.poll_table_entry = type { %struct.file*, %struct.__wait_queue, %struct.__wait_queue_head* } - %struct.poll_table_page = type { %struct.poll_table_page*, %struct.poll_table_entry*, [0 x %struct.poll_table_entry] } - %struct.poll_table_struct = type { int, %struct.poll_table_page* } - %struct.proc_dir_entry = type { ushort, ushort, sbyte*, ushort, ushort, uint, uint, uint, %struct.inode_operations*, %struct.file_operations*, int (sbyte*, sbyte**, int, int)*, %struct.module*, %struct.proc_dir_entry*, %struct.proc_dir_entry*, %struct.proc_dir_entry*, sbyte*, int (sbyte*, sbyte**, int, int, int*, sbyte*)*, int (%struct.file*, sbyte*, uint, sbyte*)*, %struct.bluez_skb_cb, int, ushort } - %struct.proc_inode_info = type { %struct.task_struct*, int, { int (%struct.task_struct*, sbyte*)* }, %struct.file* } - %struct.proto = type { void (%struct.sock*, int)*, int (%struct.sock*, %struct.sockaddr*, int)*, int (%struct.sock*, int)*, %struct.sock* (%struct.sock*, int, int*)*, int (%struct.sock*, int, uint)*, int (%struct.sock*)*, int (%struct.sock*)*, void (%struct.sock*, int)*, int (%struct.sock*, int, int, sbyte*, int)*, int (%struct.sock*, int, int, sbyte*, int*)*, int (%struct.sock*, %struct.msghdr*, int)*, int (%struct.sock*, %struct.msghdr*, int, int, int, int*)*, int (%struct.sock*, %struct.sockaddr*, int)*, int (%struct.sock*, %struct.sk_buff*)*, void (%struct.sock*)*, void (%struct.sock*)*, int (%struct.sock*, ushort)*, [32 x sbyte], [32 x { int, [28 x ubyte] }] } - %struct.proto_ops = type { int, int (%struct.socket*)*, int (%struct.socket*, %struct.sockaddr*, int)*, int (%struct.socket*, %struct.sockaddr*, int, int)*, int (%struct.socket*, %struct.socket*)*, int (%struct.socket*, %struct.socket*, int)*, int (%struct.socket*, %struct.sockaddr*, int*, int)*, uint (%struct.file*, %struct.socket*, %struct.poll_table_struct*)*, int (%struct.socket*, uint, uint)*, int (%struct.socket*, int)*, int (%struct.socket*, int)*, int (%struct.socket*, int, int, sbyte*, int)*, int (%struct.socket*, int, int, sbyte*, int*)*, int (%struct.socket*, %struct.msghdr*, int, %struct.scm_cookie*)*, int (%struct.socket*, %struct.msghdr*, int, int, %struct.scm_cookie*)*, int (%struct.file*, %struct.socket*, %struct.vm_area_struct*)*, int (%struct.socket*, %struct.page*, int, uint, int)* } - %struct.pt_regs = type { int, int, int, int, int, int, int, int, int, int, int, int, int, int, int } - %struct.qdisc_walker = type { int, int, int, int (%struct.Qdisc*, uint, %struct.qdisc_walker*)* } - %struct.qstr = type { ubyte*, uint, uint } - %struct.quota_format_ops = type { int (%struct.super_block*, int)*, int (%struct.super_block*, int)*, int (%struct.super_block*, int)*, int (%struct.super_block*, int)*, int (%struct.dquot*)*, int (%struct.dquot*)* } - %struct.quota_format_type = type { int, %struct.quota_format_ops*, %struct.module*, %struct.quota_format_type* } - %struct.quota_info = type { uint, %struct.semaphore, %struct.semaphore, [2 x %struct.file*], [2 x %struct.mem_dqinfo], [2 x %struct.quota_format_ops*] } - %struct.quotactl_ops = type { int (%struct.super_block*, int, int, sbyte*)*, int (%struct.super_block*, int)*, int (%struct.super_block*, int)*, int (%struct.super_block*, int, %struct.if_dqinfo*)*, int (%struct.super_block*, int, %struct.if_dqinfo*)*, int (%struct.super_block*, int, uint, %struct.if_dqblk*)*, int (%struct.super_block*, int, uint, %struct.if_dqblk*)*, int (%struct.super_block*, %struct.fs_quota_stat*)*, int (%struct.super_block*, uint, int)*, int (%struct.super_block*, int, uint, %struct.fs_disk_quota*)*, int (%struct.super_block*, int, uint, %struct.fs_disk_quota*)* } - %struct.rb_node_s = type { %struct.rb_node_s*, int, %struct.rb_node_s*, %struct.rb_node_s* } - %struct.rb_root_s = type { %struct.rb_node_s* } - %struct.resource = type { sbyte*, uint, uint, uint, %struct.resource*, %struct.resource*, %struct.resource* } - %struct.revectored_struct = type { [8 x uint] } - %struct.rpc_auth = type { [8 x %struct.rpc_cred*], uint, uint, uint, uint, uint, %struct.rpc_authops* } - %struct.rpc_authops = type { uint, sbyte*, %struct.rpc_auth* (%struct.rpc_clnt*)*, void (%struct.rpc_auth*)*, %struct.rpc_cred* (int)* } - %struct.rpc_clnt = type { %struct.bluez_skb_cb, %struct.rpc_xprt*, %struct.rpc_procinfo*, uint, sbyte*, sbyte*, %struct.rpc_auth*, %struct.rpc_stat*, uint, uint, uint, %struct.rpc_rtt, %struct.msq_setbuf, %struct.rpc_wait_queue, int, [32 x sbyte] } - %struct.rpc_cred = type { %struct.rpc_cred*, %struct.rpc_auth*, %struct.rpc_credops*, uint, %struct.bluez_skb_cb, ushort, uint, uint } - %struct.rpc_credops = type { void (%struct.rpc_cred*)*, int (%struct.rpc_cred*, int)*, uint* (%struct.rpc_task*, uint*, int)*, int (%struct.rpc_task*)*, uint* (%struct.rpc_task*, uint*)* } - %struct.rpc_message = type { uint, sbyte*, sbyte*, %struct.rpc_cred* } - %struct.rpc_procinfo = type { sbyte*, int (sbyte*, uint*, sbyte*)*, int (sbyte*, uint*, sbyte*)*, uint, uint, uint } - %struct.rpc_program = type { sbyte*, uint, uint, %struct.rpc_version**, %struct.rpc_stat* } - %struct.rpc_rqst = type { %struct.rpc_xprt*, %struct.rpc_timeout, %struct.xdr_buf, %struct.xdr_buf, %struct.rpc_task*, uint, %struct.rpc_rqst*, int, int, %struct.list_head, %struct.xdr_buf, [2 x uint], uint, int, int, int } - %struct.rpc_rtt = type { int, [5 x int], [5 x int], %struct.bluez_skb_cb } - %struct.rpc_stat = type { %struct.rpc_program*, uint, uint, uint, uint, uint, uint, uint, uint, uint } - %struct.rpc_task = type { %struct.list_head, uint, %struct.list_head, %struct.rpc_clnt*, %struct.rpc_rqst*, int, %struct.rpc_wait_queue*, %struct.rpc_message, uint*, ubyte, ubyte, ubyte, void (%struct.rpc_task*)*, void (%struct.rpc_task*)*, void (%struct.rpc_task*)*, void (%struct.rpc_task*)*, void (%struct.rpc_task*)*, sbyte*, %struct.timer_list, %struct.__wait_queue_head, uint, ushort, ubyte, uint, ushort } - %struct.rpc_timeout = type { uint, uint, uint, uint, short, ubyte } - %struct.rpc_version = type { uint, uint, %struct.rpc_procinfo* } - %struct.rpc_wait_queue = type { %struct.list_head, sbyte* } - %struct.rpc_xprt = type { %struct.socket*, %struct.sock*, %struct.rpc_timeout, %struct.sockaddr_in, int, uint, uint, uint, uint, %struct.rpc_wait_queue, %struct.rpc_wait_queue, %struct.rpc_wait_queue, %struct.rpc_wait_queue, %struct.rpc_rqst*, [16 x %struct.rpc_rqst], uint, ubyte, uint, uint, uint, uint, uint, uint, %struct.IO_APIC_reg_00, %struct.IO_APIC_reg_00, %struct.rpc_task*, %struct.list_head, void (%struct.sock*, int)*, void (%struct.sock*)*, void (%struct.sock*)*, %struct.__wait_queue_head } - %struct.rw_semaphore = type { int, %struct.IO_APIC_reg_00, %struct.list_head } - %struct.scm_cookie = type { %struct.ViceFid, %struct.scm_fp_list*, uint } - %struct.scm_fp_list = type { int, [255 x %struct.file*] } - %struct.sem_array = type { %struct.kern_ipc_perm, int, int, %struct.autofs_packet_hdr*, %struct.sem_queue*, %struct.sem_queue**, %struct.sem_undo*, uint } - %struct.sem_queue = type { %struct.sem_queue*, %struct.sem_queue**, %struct.task_struct*, %struct.sem_undo*, int, int, %struct.sem_array*, int, %struct.sembuf*, int, int } - %struct.sem_undo = type { %struct.sem_undo*, %struct.sem_undo*, int, short* } - %struct.semaphore = type { %struct.bluez_skb_cb, int, %struct.__wait_queue_head } - %struct.sembuf = type { ushort, short, short } - %struct.seq_file = type { sbyte*, uint, uint, uint, long, %struct.semaphore, %struct.seq_operations*, sbyte* } - %struct.seq_operations = type { sbyte* (%struct.seq_file*, long*)*, void (%struct.seq_file*, sbyte*)*, sbyte* (%struct.seq_file*, sbyte*, long*)*, int (%struct.seq_file*, sbyte*)* } - %struct.shmem_inode_info = type { %struct.IO_APIC_reg_00, uint, [16 x %struct.IO_APIC_reg_00], sbyte**, uint, uint, %struct.list_head, %struct.inode* } - %struct.sigaction = type { void (int)*, uint, void ()*, %typedef.sigset_t } - %struct.siginfo = type { int, int, int, { [29 x int] } } - %struct.signal_struct = type { %struct.bluez_skb_cb, [64 x %struct.k_sigaction], %struct.IO_APIC_reg_00 } - %struct.sigpending = type { %struct.sigqueue*, %struct.sigqueue**, %typedef.sigset_t } - %struct.sigqueue = type { %struct.sigqueue*, %struct.siginfo } - %struct.sk_buff = type { %struct.sk_buff*, %struct.sk_buff*, %struct.sk_buff_head*, %struct.sock*, %struct.autofs_packet_hdr, %struct.net_device*, %struct.net_device*, { ubyte* }, { ubyte* }, { ubyte* }, %struct.dst_entry*, [48 x sbyte], uint, uint, uint, ubyte, ubyte, ubyte, ubyte, uint, %struct.bluez_skb_cb, ushort, ushort, uint, ubyte*, ubyte*, ubyte*, ubyte*, void (%struct.sk_buff*)*, uint, uint, %struct.nf_ct_info*, uint } - %struct.sk_buff_head = type { %struct.sk_buff*, %struct.sk_buff*, uint, %struct.IO_APIC_reg_00 } - %struct.sock = type { uint, uint, ushort, ushort, int, %struct.sock*, %struct.sock**, %struct.sock*, %struct.sock**, ubyte, ubyte, ushort, ushort, ubyte, ubyte, %struct.bluez_skb_cb, %typedef.socket_lock_t, int, %struct.__wait_queue_head*, %struct.dst_entry*, %typedef.rwlock_t, %struct.bluez_skb_cb, %struct.sk_buff_head, %struct.bluez_skb_cb, %struct.sk_buff_head, %struct.bluez_skb_cb, int, int, uint, uint, int, %struct.sock*, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, ubyte, ubyte, ubyte, ubyte, int, int, uint, int, %struct.sock*, { %struct.sk_buff*, %struct.sk_buff* }, %typedef.rwlock_t, %struct.sk_buff_head, %struct.proto*, { %struct.tcp_opt }, int, int, ushort, ushort, uint, ushort, ubyte, ubyte, %struct.ViceFid, int, int, int, { %struct.unix_opt }, %struct.timer_list, %struct.autofs_packet_hdr, %struct.socket*, sbyte*, void (%struct.sock*)*, void (%struct.sock*, int)*, void (%struct.sock*)*, void (%struct.sock*)*, int (%struct.sock*, %struct.sk_buff*)*, void (%struct.sock*)* } - %struct.sockaddr = type { ushort, [14 x sbyte] } - %struct.sockaddr_in = type { ushort, ushort, %struct.IO_APIC_reg_00, [8 x ubyte] } - %struct.sockaddr_un = type { ushort, [108 x sbyte] } - %struct.socket = type { uint, uint, %struct.proto_ops*, %struct.inode*, %struct.fasync_struct*, %struct.file*, %struct.sock*, %struct.__wait_queue_head, short, ubyte } - %struct.statfs = type { int, int, int, int, int, int, int, %typedef.__kernel_fsid_t, int, [6 x int] } - %struct.super_block = type { %struct.list_head, ushort, uint, ubyte, ubyte, ulong, %struct.file_system_type*, %struct.super_operations*, %struct.dquot_operations*, %struct.quotactl_ops*, uint, uint, %struct.dentry*, %struct.rw_semaphore, %struct.semaphore, int, %struct.bluez_skb_cb, %struct.list_head, %struct.list_head, %struct.list_head, %struct.block_device*, %struct.list_head, %struct.quota_info, { [115 x uint] }, %struct.semaphore, %struct.semaphore } - %struct.super_operations = type { %struct.inode* (%struct.super_block*)*, void (%struct.inode*)*, void (%struct.inode*)*, void (%struct.inode*, sbyte*)*, void (%struct.inode*)*, void (%struct.inode*, int)*, void (%struct.inode*)*, void (%struct.inode*)*, void (%struct.super_block*)*, void (%struct.super_block*)*, int (%struct.super_block*)*, void (%struct.super_block*)*, void (%struct.super_block*)*, int (%struct.super_block*, %struct.statfs*)*, int (%struct.super_block*, int*, sbyte*)*, void (%struct.inode*)*, void (%struct.super_block*)*, %struct.dentry* (%struct.super_block*, uint*, int, int, int)*, int (%struct.dentry*, uint*, int*, int)*, int (%struct.seq_file*, %struct.vfsmount*)* } - %struct.task_struct = type { int, uint, int, %struct.IO_APIC_reg_00, %struct.exec_domain*, int, uint, int, int, int, uint, %struct.mm_struct*, int, uint, uint, %struct.list_head, uint, %struct.task_struct*, %struct.task_struct*, %struct.mm_struct*, %struct.list_head, uint, uint, %struct.linux_binfmt*, int, int, int, uint, int, int, int, int, int, int, int, %struct.task_struct*, %struct.task_struct*, %struct.task_struct*, %struct.task_struct*, %struct.task_struct*, %struct.list_head, %struct.task_struct*, %struct.task_struct**, %struct.__wait_queue_head, %struct.completion*, uint, uint, uint, uint, uint, uint, uint, %struct.timer_list, %struct.audio_buf_info, uint, [32 x int], [32 x int], uint, uint, uint, uint, uint, uint, int, uint, uint, uint, uint, uint, uint, uint, uint, int, [32 x uint], uint, uint, uint, int, %struct.user_struct*, [11 x %struct._drm_i810_overlay_t], ushort, [16 x sbyte], int, int, %struct.tty_struct*, uint, %struct.sem_undo*, %struct.sem_queue*, %struct.thread_struct, %struct.fs_struct*, %struct.files_struct*, %struct.namespace*, %struct.IO_APIC_reg_00, %struct.signal_struct*, %typedef.sigset_t, %struct.sigpending, uint, uint, int (sbyte*)*, sbyte*, %typedef.sigset_t*, uint, uint, %struct.IO_APIC_reg_00, sbyte*, %struct.llva_sigcontext*, uint, %struct.task_struct*, uint, %typedef.llva_icontext_t, %typedef.llva_fp_state_t, uint*, int, sbyte* } - %struct.tasklet_struct = type { %struct.tasklet_struct*, uint, %struct.bluez_skb_cb, void (uint)*, uint } - %struct.tc_stats = type { ulong, uint, uint, uint, uint, uint, uint, uint, %struct.IO_APIC_reg_00* } - %struct.tcf_proto = type { %struct.tcf_proto*, sbyte*, int (%struct.sk_buff*, %struct.tcf_proto*, %struct._drm_i810_overlay_t*)*, uint, uint, uint, %struct.Qdisc*, sbyte*, %struct.tcf_proto_ops* } - %struct.tcf_proto_ops = type { %struct.tcf_proto_ops*, [16 x sbyte], int (%struct.sk_buff*, %struct.tcf_proto*, %struct._drm_i810_overlay_t*)*, int (%struct.tcf_proto*)*, void (%struct.tcf_proto*)*, uint (%struct.tcf_proto*, uint)*, void (%struct.tcf_proto*, uint)*, int (%struct.tcf_proto*, uint, uint, %struct._agp_version**, uint*)*, int (%struct.tcf_proto*, uint)*, void (%struct.tcf_proto*, %struct.tcf_walker*)*, int (%struct.tcf_proto*, uint, %struct.sk_buff*, %struct.tcmsg*)* } - %struct.tcf_walker = type { int, int, int, int (%struct.tcf_proto*, uint, %struct.tcf_walker*)* } - %struct.tcmsg = type { ubyte, ubyte, ushort, int, uint, uint, uint } - %struct.tcp_func = type { int (%struct.sk_buff*)*, void (%struct.sock*, %struct.tcphdr*, int, %struct.sk_buff*)*, int (%struct.sock*)*, int (%struct.sock*, %struct.sk_buff*)*, %struct.sock* (%struct.sock*, %struct.sk_buff*, %struct.open_request*, %struct.dst_entry*)*, int (%struct.sock*)*, ushort, int (%struct.sock*, int, int, sbyte*, int)*, int (%struct.sock*, int, int, sbyte*, int*)*, void (%struct.sock*, %struct.sockaddr*)*, int } - %struct.tcp_listen_opt = type { ubyte, int, int, int, uint, [512 x %struct.open_request*] } - %struct.tcp_opt = type { int, uint, uint, uint, uint, uint, uint, uint, { ubyte, ubyte, ubyte, ubyte, uint, uint, uint, ushort, ushort }, { %struct.sk_buff_head, %struct.task_struct*, %struct.iovec*, int, int }, uint, uint, uint, uint, ushort, ushort, ushort, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, ushort, ushort, uint, uint, uint, %struct.timer_list, %struct.timer_list, %struct.sk_buff_head, %struct.tcp_func*, %struct.sk_buff*, %struct.page*, uint, uint, uint, uint, uint, uint, sbyte, sbyte, sbyte, sbyte, ubyte, ubyte, ubyte, ubyte, uint, uint, uint, int, ushort, ubyte, ubyte, [1 x %struct._drm_i810_overlay_t], [4 x %struct._drm_i810_overlay_t], uint, uint, ubyte, ubyte, ushort, ubyte, ubyte, ushort, uint, uint, uint, uint, uint, uint, int, uint, ushort, ubyte, ubyte, uint, %typedef.rwlock_t, %struct.tcp_listen_opt*, %struct.open_request*, %struct.open_request*, int, uint, uint, int, int, uint, uint } - %struct.tcp_v4_open_req = type { uint, uint, %struct.ip_options* } - %struct.tcphdr = type { ushort, ushort, uint, uint, ushort, ushort, ushort, ushort } - %struct.termios = type { uint, uint, uint, uint, ubyte, [19 x ubyte] } - %struct.thread_struct = type { uint, uint, uint, uint, uint, [8 x uint], uint, uint, uint, %union.i387_union, %struct.vm86_struct*, uint, uint, uint, uint, int, [33 x uint] } - %struct.timer_list = type { %struct.list_head, uint, uint, void (uint)* } - %struct.tq_struct = type { %struct.list_head, uint, void (sbyte*)*, sbyte* } - %struct.tty_driver = type { int, sbyte*, sbyte*, int, short, short, short, short, short, %struct.termios, int, int*, %struct.proc_dir_entry*, %struct.tty_driver*, %struct.tty_struct**, %struct.termios**, %struct.termios**, sbyte*, int (%struct.tty_struct*, %struct.file*)*, void (%struct.tty_struct*, %struct.file*)*, int (%struct.tty_struct*, int, ubyte*, int)*, void (%struct.tty_struct*, ubyte)*, void (%struct.tty_struct*)*, int (%struct.tty_struct*)*, int (%struct.tty_struct*)*, int (%struct.tty_struct*, %struct.file*, uint, uint)*, void (%struct.tty_struct*, %struct.termios*)*, void (%struct.tty_struct*)*, void (%struct.tty_struct*)*, void (%struct.tty_struct*)*, void (%struct.tty_struct*)*, void (%struct.tty_struct*)*, void (%struct.tty_struct*, int)*, void (%struct.tty_struct*)*, void (%struct.tty_struct*)*, void (%struct.tty_struct*, int)*, void (%struct.tty_struct*, sbyte)*, int (sbyte*, sbyte**, int, int, int*, sbyte*)*, int (%struct.file*, sbyte*, uint, sbyte*)*, %struct.tty_driver*, %struct.tty_driver* } - %struct.tty_flip_buffer = type { %struct.tq_struct, %struct.semaphore, sbyte*, ubyte*, int, int, [1024 x ubyte], [1024 x sbyte], [4 x ubyte] } - %struct.tty_ldisc = type { int, sbyte*, int, int, int (%struct.tty_struct*)*, void (%struct.tty_struct*)*, void (%struct.tty_struct*)*, int (%struct.tty_struct*)*, int (%struct.tty_struct*, %struct.file*, ubyte*, uint)*, int (%struct.tty_struct*, %struct.file*, ubyte*, uint)*, int (%struct.tty_struct*, %struct.file*, uint, uint)*, void (%struct.tty_struct*, %struct.termios*)*, uint (%struct.tty_struct*, %struct.file*, %struct.poll_table_struct*)*, void (%struct.tty_struct*, ubyte*, sbyte*, int)*, int (%struct.tty_struct*)*, void (%struct.tty_struct*)* } - %struct.tty_struct = type { int, %struct.tty_driver, %struct.tty_ldisc, %struct.termios*, %struct.termios*, int, int, ushort, uint, int, %struct.drm_clip_rect, ubyte, ubyte, %struct.tty_struct*, %struct.fasync_struct*, %struct.tty_flip_buffer, int, int, %struct.__wait_queue_head, %struct.__wait_queue_head, %struct.tq_struct, sbyte*, sbyte*, %struct.list_head, uint, ubyte, ushort, uint, int, [8 x uint], sbyte*, int, int, int, [128 x uint], int, uint, uint, %struct.semaphore, %struct.semaphore, %struct.IO_APIC_reg_00, %struct.tq_struct } - %struct.unix_address = type { %struct.bluez_skb_cb, int, uint, [0 x %struct.sockaddr_un] } - %struct.unix_opt = type { %struct.unix_address*, %struct.dentry*, %struct.vfsmount*, %struct.semaphore, %struct.sock*, %struct.sock**, %struct.sock*, %struct.bluez_skb_cb, %typedef.rwlock_t, %struct.__wait_queue_head } - %struct.usb_bus = type opaque - %struct.usbdev_inode_info = type { %struct.list_head, %struct.list_head, { %struct.usb_bus* } } - %struct.user_struct = type { %struct.bluez_skb_cb, %struct.bluez_skb_cb, %struct.bluez_skb_cb, %struct.user_struct*, %struct.user_struct**, uint } - %struct.vfsmount = type { %struct.list_head, %struct.vfsmount*, %struct.dentry*, %struct.dentry*, %struct.super_block*, %struct.list_head, %struct.list_head, %struct.bluez_skb_cb, int, sbyte*, %struct.list_head } - %struct.vlan_group = type opaque - %struct.vm86_regs = type { int, int, int, int, int, int, int, int, int, int, int, int, int, ushort, ushort, int, int, ushort, ushort, ushort, ushort, ushort, ushort, ushort, ushort, ushort, ushort } - %struct.vm86_struct = type { %struct.vm86_regs, uint, uint, uint, %struct.revectored_struct, %struct.revectored_struct } - %struct.vm_area_struct = type { %struct.mm_struct*, uint, uint, %struct.vm_area_struct*, %struct.IO_APIC_reg_00, uint, %struct.rb_node_s, %struct.vm_area_struct*, %struct.vm_area_struct**, %struct.vm_operations_struct*, uint, %struct.file*, uint, sbyte* } - %struct.vm_operations_struct = type { void (%struct.vm_area_struct*)*, void (%struct.vm_area_struct*)*, %struct.page* (%struct.vm_area_struct*, uint, int)* } - %struct.xdr_buf = type { [1 x %struct.iovec], [1 x %struct.iovec], %struct.page**, uint, uint, uint } - %typedef.__kernel_fd_set = type { [32 x int] } - %typedef.__kernel_fsid_t = type { [2 x int] } - %typedef.dvd_authinfo = type { [2 x ulong] } - %typedef.llva_fp_state_t = type { [7 x uint], [20 x uint] } - %typedef.llva_icontext_t = type { uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint*, uint } - %typedef.rwlock_t = type { %struct.IO_APIC_reg_00, %struct.IO_APIC_reg_00, uint } - %typedef.sigset_t = type { [2 x uint] } - %typedef.socket_lock_t = type { %struct.IO_APIC_reg_00, uint, %struct.__wait_queue_head } - %union.i387_union = type { %struct.i387_fxsave_struct } - -implementation ; Functions: - -void %rs_init() { -entry: - br bool false, label %loopentry.0.no_exit.0_crit_edge, label %loopentry.0.loopexit.0_crit_edge - -loopentry.0: ; No predecessors! - unreachable - -loopentry.0.loopexit.0_crit_edge: ; preds = %entry - br label %loopexit.0 - -loopentry.0.no_exit.0_crit_edge: ; preds = %entry - br label %no_exit.0 - -no_exit.0: ; preds = %no_exit.0.no_exit.0_crit_edge, %loopentry.0.no_exit.0_crit_edge - br bool false, label %no_exit.0.no_exit.0_crit_edge, label %no_exit.0.loopexit.0_crit_edge - -no_exit.0.loopexit.0_crit_edge: ; preds = %no_exit.0 - br label %loopexit.0 - -no_exit.0.no_exit.0_crit_edge: ; preds = %no_exit.0 - br label %no_exit.0 - -loopexit.0: ; preds = %no_exit.0.loopexit.0_crit_edge, %loopentry.0.loopexit.0_crit_edge - br bool false, label %then.0, label %loopexit.0.endif.0_crit_edge - -loopexit.0.endif.0_crit_edge: ; preds = %loopexit.0 - br label %endif.0 - -then.0: ; preds = %loopexit.0 - br bool false, label %loopentry.1.no_exit.1_crit_edge, label %loopentry.1.loopexit.1_crit_edge - -loopentry.1: ; No predecessors! - unreachable - -loopentry.1.loopexit.1_crit_edge: ; preds = %then.0 - br label %loopexit.1 - -loopentry.1.no_exit.1_crit_edge: ; preds = %then.0 - br label %no_exit.1 - -no_exit.1: ; preds = %no_exit.1.backedge, %loopentry.1.no_exit.1_crit_edge - br bool false, label %shortcirc_next.0, label %no_exit.1.shortcirc_done.0_crit_edge - -no_exit.1.shortcirc_done.0_crit_edge: ; preds = %no_exit.1 - br label %shortcirc_done.0 - -shortcirc_next.0: ; preds = %no_exit.1 - br label %shortcirc_done.0 - -shortcirc_done.0: ; preds = %shortcirc_next.0, %no_exit.1.shortcirc_done.0_crit_edge - br bool false, label %then.1, label %endif.1 - -then.1: ; preds = %shortcirc_done.0 - br bool false, label %then.1.no_exit.1_crit_edge, label %then.1.loopexit.1_crit_edge - -then.1.loopexit.1_crit_edge: ; preds = %then.1 - br label %loopexit.1 - -then.1.no_exit.1_crit_edge: ; preds = %then.1 - br label %no_exit.1.backedge - -no_exit.1.backedge: ; preds = %endif.1.no_exit.1_crit_edge, %then.1.no_exit.1_crit_edge - br label %no_exit.1 - -endif.1: ; preds = %shortcirc_done.0 - br bool false, label %endif.1.no_exit.1_crit_edge, label %endif.1.loopexit.1_crit_edge - -endif.1.loopexit.1_crit_edge: ; preds = %endif.1 - br label %loopexit.1 - -endif.1.no_exit.1_crit_edge: ; preds = %endif.1 - br label %no_exit.1.backedge - -loopexit.1: ; preds = %endif.1.loopexit.1_crit_edge, %then.1.loopexit.1_crit_edge, %loopentry.1.loopexit.1_crit_edge - br label %endif.0 - -endif.0: ; preds = %loopexit.1, %loopexit.0.endif.0_crit_edge - br bool false, label %then.2, label %endif.0.endif.2_crit_edge - -endif.0.endif.2_crit_edge: ; preds = %endif.0 - br label %endif.2 - -then.2: ; preds = %endif.0 - unreachable - -dead_block.0: ; No predecessors! - br label %endif.2 - -endif.2: ; preds = %dead_block.0, %endif.0.endif.2_crit_edge - br bool false, label %then.3, label %endif.2.endif.3_crit_edge - -endif.2.endif.3_crit_edge: ; preds = %endif.2 - br label %endif.3 - -then.3: ; preds = %endif.2 - unreachable - -dead_block.1: ; No predecessors! - br label %endif.3 - -endif.3: ; preds = %dead_block.1, %endif.2.endif.3_crit_edge - br label %loopentry.2 - -loopentry.2: ; preds = %endif.6, %endif.3 - br bool false, label %loopentry.2.no_exit.2_crit_edge, label %loopentry.2.loopexit.2_crit_edge - -loopentry.2.loopexit.2_crit_edge: ; preds = %loopentry.2 - br label %loopexit.2 - -loopentry.2.no_exit.2_crit_edge: ; preds = %loopentry.2 - br label %no_exit.2 - -no_exit.2: ; preds = %then.5.no_exit.2_crit_edge, %loopentry.2.no_exit.2_crit_edge - br bool false, label %then.4, label %no_exit.2.endif.4_crit_edge - -no_exit.2.endif.4_crit_edge: ; preds = %no_exit.2 - br label %endif.4 - -then.4: ; preds = %no_exit.2 - br label %endif.4 - -endif.4: ; preds = %then.4, %no_exit.2.endif.4_crit_edge - br bool false, label %shortcirc_next.1, label %endif.4.shortcirc_done.1_crit_edge - -endif.4.shortcirc_done.1_crit_edge: ; preds = %endif.4 - br label %shortcirc_done.1 - -shortcirc_next.1: ; preds = %endif.4 - br bool false, label %then.i21, label %endif.i - -then.i21: ; preds = %shortcirc_next.1 - br label %then.5 - -then.i21.endif.5_crit_edge: ; No predecessors! - unreachable - -then.i21.then.5_crit_edge: ; No predecessors! - unreachable - -endif.i: ; preds = %shortcirc_next.1 - br label %shortcirc_done.1 - -__check_region.exit: ; No predecessors! - unreachable - -shortcirc_done.1: ; preds = %endif.i, %endif.4.shortcirc_done.1_crit_edge - br bool false, label %shortcirc_done.1.then.5_crit_edge, label %shortcirc_done.1.endif.5_crit_edge - -shortcirc_done.1.endif.5_crit_edge: ; preds = %shortcirc_done.1 - br label %endif.5 - -shortcirc_done.1.then.5_crit_edge: ; preds = %shortcirc_done.1 - br label %then.5 - -then.5: ; preds = %shortcirc_done.1.then.5_crit_edge, %then.i21 - br bool false, label %then.5.no_exit.2_crit_edge, label %then.5.loopexit.2_crit_edge - -then.5.loopexit.2_crit_edge: ; preds = %then.5 - br label %loopexit.2 - -then.5.no_exit.2_crit_edge: ; preds = %then.5 - br label %no_exit.2 - -dead_block_after_continue.0: ; No predecessors! - unreachable - -endif.5: ; preds = %shortcirc_done.1.endif.5_crit_edge - br bool false, label %then.6, label %endif.5.endif.6_crit_edge - -endif.5.endif.6_crit_edge: ; preds = %endif.5 - br label %endif.6 - -then.6: ; preds = %endif.5 - br label %endif.6 - -endif.6: ; preds = %then.6, %endif.5.endif.6_crit_edge - br label %loopentry.2 - -loopcont.2: ; No predecessors! - unreachable - -loopexit.2: ; preds = %then.5.loopexit.2_crit_edge, %loopentry.2.loopexit.2_crit_edge - br label %loopentry.3 - -loopentry.3: ; preds = %endif.9, %loopexit.2 - br bool false, label %loopentry.3.no_exit.3_crit_edge, label %loopentry.3.loopexit.3_crit_edge - -loopentry.3.loopexit.3_crit_edge: ; preds = %loopentry.3 - br label %loopexit.3 - -loopentry.3.no_exit.3_crit_edge: ; preds = %loopentry.3 - br label %no_exit.3 - -no_exit.3: ; preds = %then.7.no_exit.3_crit_edge, %loopentry.3.no_exit.3_crit_edge - br bool false, label %then.7, label %no_exit.3.endif.7_crit_edge - -no_exit.3.endif.7_crit_edge: ; preds = %no_exit.3 - br label %endif.7 - -then.7: ; preds = %no_exit.3 - br bool false, label %then.7.no_exit.3_crit_edge, label %then.7.loopexit.3_crit_edge - -then.7.loopexit.3_crit_edge: ; preds = %then.7 - br label %loopexit.3 - -then.7.no_exit.3_crit_edge: ; preds = %then.7 - br label %no_exit.3 - -dead_block_after_continue.1: ; No predecessors! - unreachable - -endif.7: ; preds = %no_exit.3.endif.7_crit_edge - br bool false, label %shortcirc_next.2, label %endif.7.shortcirc_done.2_crit_edge - -endif.7.shortcirc_done.2_crit_edge: ; preds = %endif.7 - br label %shortcirc_done.2 - -shortcirc_next.2: ; preds = %endif.7 - br label %shortcirc_done.2 - -shortcirc_done.2: ; preds = %shortcirc_next.2, %endif.7.shortcirc_done.2_crit_edge - br bool false, label %shortcirc_next.3, label %shortcirc_done.2.shortcirc_done.3_crit_edge - -shortcirc_done.2.shortcirc_done.3_crit_edge: ; preds = %shortcirc_done.2 - br label %shortcirc_done.3 - -shortcirc_next.3: ; preds = %shortcirc_done.2 - br bool false, label %shortcirc_next.3.shortcirc_done.4_crit_edge, label %shortcirc_next.4 - -shortcirc_next.3.shortcirc_done.4_crit_edge: ; preds = %shortcirc_next.3 - br label %shortcirc_done.4 - -shortcirc_next.4: ; preds = %shortcirc_next.3 - br label %shortcirc_done.4 - -shortcirc_done.4: ; preds = %shortcirc_next.4, %shortcirc_next.3.shortcirc_done.4_crit_edge - br label %shortcirc_done.3 - -shortcirc_done.3: ; preds = %shortcirc_done.4, %shortcirc_done.2.shortcirc_done.3_crit_edge - br bool false, label %then.8, label %shortcirc_done.3.endif.8_crit_edge - -shortcirc_done.3.endif.8_crit_edge: ; preds = %shortcirc_done.3 - br label %endif.8 - -then.8: ; preds = %shortcirc_done.3 - br label %endif.8 - -endif.8: ; preds = %then.8, %shortcirc_done.3.endif.8_crit_edge - br bool false, label %then.9, label %else - -then.9: ; preds = %endif.8 - br bool false, label %cond_true.0, label %cond_false.0 - -cond_true.0: ; preds = %then.9 - br label %cond_continue.0 - -cond_false.0: ; preds = %then.9 - br label %cond_continue.0 - -cond_continue.0: ; preds = %cond_false.0, %cond_true.0 - br label %endif.9 - -else: ; preds = %endif.8 - br bool false, label %cond_true.1, label %cond_false.1 - -cond_true.1: ; preds = %else - br label %cond_continue.1 - -cond_false.1: ; preds = %else - br label %cond_continue.1 - -cond_continue.1: ; preds = %cond_false.1, %cond_true.1 - br label %endif.9 - -endif.9: ; preds = %cond_continue.1, %cond_continue.0 - br label %loopentry.3 - -loopcont.3: ; No predecessors! - unreachable - -loopexit.3: ; preds = %then.7.loopexit.3_crit_edge, %loopentry.3.loopexit.3_crit_edge - br bool false, label %loopentry.i.i.i2.no_exit.i.i.i4_crit_edge, label %loopentry.i.i.i2.pci_register_driver.exit.i.i_crit_edge - -loopentry.i.i.i2: ; No predecessors! - unreachable - -loopentry.i.i.i2.pci_register_driver.exit.i.i_crit_edge: ; preds = %loopexit.3 - br label %pci_register_driver.exit.i.i - -loopentry.i.i.i2.no_exit.i.i.i4_crit_edge: ; preds = %loopexit.3 - br label %no_exit.i.i.i4 - -no_exit.i.i.i4: ; preds = %endif.i.i.i10.no_exit.i.i.i4_crit_edge, %loopentry.i.i.i2.no_exit.i.i.i4_crit_edge - br bool false, label %then.i.i.i6, label %no_exit.i.i.i4.endif.i.i.i10_crit_edge - -no_exit.i.i.i4.endif.i.i.i10_crit_edge: ; preds = %no_exit.i.i.i4 - br label %endif.i.i.i10 - -then.i.i.i6: ; preds = %no_exit.i.i.i4 - br bool false, label %then.0.i.i.i.i, label %else.i.i.i.i - -then.0.i.i.i.i: ; preds = %then.i.i.i6 - br bool false, label %then.1.i.i.i.i, label %endif.1.i.i.i.i - -then.1.i.i.i.i: ; preds = %then.0.i.i.i.i - br label %endif.i.i.i10 - -endif.1.i.i.i.i: ; preds = %then.0.i.i.i.i - br bool false, label %endif.1.i.i.i.i.then.i.i.i.i.i.i_crit_edge, label %endif.1.i.i.i.i.endif.i.i.i.i.i.i_crit_edge - -endif.1.i.i.i.i.endif.i.i.i.i.i.i_crit_edge: ; preds = %endif.1.i.i.i.i - br label %endif.i.i.i.i.i.i - -endif.1.i.i.i.i.then.i.i.i.i.i.i_crit_edge: ; preds = %endif.1.i.i.i.i - br label %then.i.i.i.i.i.i - -else.i.i.i.i: ; preds = %then.i.i.i6 - br bool false, label %endif.0.i.i.i.i.then.i.i.i.i.i.i_crit_edge, label %endif.0.i.i.i.i.endif.i.i.i.i.i.i_crit_edge - -endif.0.i.i.i.i: ; No predecessors! - unreachable - -endif.0.i.i.i.i.endif.i.i.i.i.i.i_crit_edge: ; preds = %else.i.i.i.i - br label %endif.i.i.i.i.i.i - -endif.0.i.i.i.i.then.i.i.i.i.i.i_crit_edge: ; preds = %else.i.i.i.i - br label %then.i.i.i.i.i.i - -then.i.i.i.i.i.i: ; preds = %endif.0.i.i.i.i.then.i.i.i.i.i.i_crit_edge, %endif.1.i.i.i.i.then.i.i.i.i.i.i_crit_edge - br bool false, label %then.i.i.i.i.i.i.then.2.i.i.i.i_crit_edge, label %then.i.i.i.i.i.i.endif.2.i.i.i.i_crit_edge - -then.i.i.i.i.i.i.endif.2.i.i.i.i_crit_edge: ; preds = %then.i.i.i.i.i.i - br label %endif.2.i.i.i.i - -then.i.i.i.i.i.i.then.2.i.i.i.i_crit_edge: ; preds = %then.i.i.i.i.i.i - br label %then.2.i.i.i.i - -endif.i.i.i.i.i.i: ; preds = %endif.0.i.i.i.i.endif.i.i.i.i.i.i_crit_edge, %endif.1.i.i.i.i.endif.i.i.i.i.i.i_crit_edge - br bool false, label %dev_probe_lock.exit.i.i.i.i.then.2.i.i.i.i_crit_edge, label %dev_probe_lock.exit.i.i.i.i.endif.2.i.i.i.i_crit_edge - -dev_probe_lock.exit.i.i.i.i: ; No predecessors! - unreachable - -dev_probe_lock.exit.i.i.i.i.endif.2.i.i.i.i_crit_edge: ; preds = %endif.i.i.i.i.i.i - br label %endif.2.i.i.i.i - -dev_probe_lock.exit.i.i.i.i.then.2.i.i.i.i_crit_edge: ; preds = %endif.i.i.i.i.i.i - br label %then.2.i.i.i.i - -then.2.i.i.i.i: ; preds = %dev_probe_lock.exit.i.i.i.i.then.2.i.i.i.i_crit_edge, %then.i.i.i.i.i.i.then.2.i.i.i.i_crit_edge - br label %endif.2.i.i.i.i - -endif.2.i.i.i.i: ; preds = %then.2.i.i.i.i, %dev_probe_lock.exit.i.i.i.i.endif.2.i.i.i.i_crit_edge, %then.i.i.i.i.i.i.endif.2.i.i.i.i_crit_edge - br bool false, label %then.i.i2.i.i.i.i, label %endif.i.i3.i.i.i.i - -then.i.i2.i.i.i.i: ; preds = %endif.2.i.i.i.i - br label %endif.i.i.i10 - -endif.i.i3.i.i.i.i: ; preds = %endif.2.i.i.i.i - br label %endif.i.i.i10 - -dev_probe_unlock.exit.i.i.i.i: ; No predecessors! - unreachable - -pci_announce_device.exit.i.i.i: ; No predecessors! - unreachable - -endif.i.i.i10: ; preds = %endif.i.i3.i.i.i.i, %then.i.i2.i.i.i.i, %then.1.i.i.i.i, %no_exit.i.i.i4.endif.i.i.i10_crit_edge - br bool false, label %endif.i.i.i10.no_exit.i.i.i4_crit_edge, label %endif.i.i.i10.pci_register_driver.exit.i.i_crit_edge - -endif.i.i.i10.pci_register_driver.exit.i.i_crit_edge: ; preds = %endif.i.i.i10 - br label %pci_register_driver.exit.i.i - -endif.i.i.i10.no_exit.i.i.i4_crit_edge: ; preds = %endif.i.i.i10 - br label %no_exit.i.i.i4 - -pci_register_driver.exit.i.i: ; preds = %endif.i.i.i10.pci_register_driver.exit.i.i_crit_edge, %loopentry.i.i.i2.pci_register_driver.exit.i.i_crit_edge - br bool false, label %then.0.i.i12, label %endif.0.i.i13 - -then.0.i.i12: ; preds = %pci_register_driver.exit.i.i - br label %probe_serial_pci.exit - -then.0.i.i12.probe_serial_pci.exit_crit_edge: ; No predecessors! - unreachable - -then.0.i.i12.then.i_crit_edge: ; No predecessors! - br label %then.i - -endif.0.i.i13: ; preds = %pci_register_driver.exit.i.i - br bool false, label %then.1.i.i14, label %endif.0.i.i13.endif.1.i.i15_crit_edge - -endif.0.i.i13.endif.1.i.i15_crit_edge: ; preds = %endif.0.i.i13 - br label %endif.1.i.i15 - -then.1.i.i14: ; preds = %endif.0.i.i13 - br label %endif.1.i.i15 - -endif.1.i.i15: ; preds = %then.1.i.i14, %endif.0.i.i13.endif.1.i.i15_crit_edge - br bool false, label %loopentry.i8.i.i.no_exit.i9.i.i_crit_edge, label %loopentry.i8.i.i.pci_unregister_driver.exit.i.i_crit_edge - -loopentry.i8.i.i: ; No predecessors! - unreachable - -loopentry.i8.i.i.pci_unregister_driver.exit.i.i_crit_edge: ; preds = %endif.1.i.i15 - br label %pci_unregister_driver.exit.i.i - -loopentry.i8.i.i.no_exit.i9.i.i_crit_edge: ; preds = %endif.1.i.i15 - br label %no_exit.i9.i.i - -no_exit.i9.i.i: ; preds = %endif.0.i.i.i.no_exit.i9.i.i_crit_edge, %loopentry.i8.i.i.no_exit.i9.i.i_crit_edge - br bool false, label %then.0.i.i.i, label %no_exit.i9.i.i.endif.0.i.i.i_crit_edge - -no_exit.i9.i.i.endif.0.i.i.i_crit_edge: ; preds = %no_exit.i9.i.i - br label %endif.0.i.i.i - -then.0.i.i.i: ; preds = %no_exit.i9.i.i - br bool false, label %then.1.i.i.i, label %then.0.i.i.i.endif.1.i.i.i_crit_edge - -then.0.i.i.i.endif.1.i.i.i_crit_edge: ; preds = %then.0.i.i.i - br label %endif.1.i.i.i - -then.1.i.i.i: ; preds = %then.0.i.i.i - br label %endif.1.i.i.i - -endif.1.i.i.i: ; preds = %then.1.i.i.i, %then.0.i.i.i.endif.1.i.i.i_crit_edge - br label %endif.0.i.i.i - -endif.0.i.i.i: ; preds = %endif.1.i.i.i, %no_exit.i9.i.i.endif.0.i.i.i_crit_edge - br bool false, label %endif.0.i.i.i.no_exit.i9.i.i_crit_edge, label %endif.0.i.i.i.pci_unregister_driver.exit.i.i_crit_edge - -endif.0.i.i.i.pci_unregister_driver.exit.i.i_crit_edge: ; preds = %endif.0.i.i.i - br label %pci_unregister_driver.exit.i.i - -endif.0.i.i.i.no_exit.i9.i.i_crit_edge: ; preds = %endif.0.i.i.i - br label %no_exit.i9.i.i - -pci_unregister_driver.exit.i.i: ; preds = %endif.0.i.i.i.pci_unregister_driver.exit.i.i_crit_edge, %loopentry.i8.i.i.pci_unregister_driver.exit.i.i_crit_edge - br bool false, label %pci_module_init.exit.i.then.i_crit_edge, label %pci_module_init.exit.i.probe_serial_pci.exit_crit_edge - -pci_module_init.exit.i: ; No predecessors! - unreachable - -pci_module_init.exit.i.probe_serial_pci.exit_crit_edge: ; preds = %pci_unregister_driver.exit.i.i - br label %probe_serial_pci.exit - -pci_module_init.exit.i.then.i_crit_edge: ; preds = %pci_unregister_driver.exit.i.i - br label %then.i - -then.i: ; preds = %pci_module_init.exit.i.then.i_crit_edge, %then.0.i.i12.then.i_crit_edge - br label %probe_serial_pci.exit - -probe_serial_pci.exit: ; preds = %then.i, %pci_module_init.exit.i.probe_serial_pci.exit_crit_edge, %then.0.i.i12 - br bool false, label %then.0.i, label %endif.0.i - -then.0.i: ; preds = %probe_serial_pci.exit - ret void - -endif.0.i: ; preds = %probe_serial_pci.exit - br bool false, label %loopentry.0.i.no_exit.0.i_crit_edge, label %loopentry.0.i.loopexit.0.i_crit_edge - -loopentry.0.i: ; No predecessors! - unreachable - -loopentry.0.i.loopexit.0.i_crit_edge: ; preds = %endif.0.i - br label %loopexit.0.i - -loopentry.0.i.no_exit.0.i_crit_edge: ; preds = %endif.0.i - br label %no_exit.0.i - -no_exit.0.i: ; preds = %loopcont.0.i.no_exit.0.i_crit_edge, %loopentry.0.i.no_exit.0.i_crit_edge - br bool false, label %then.1.i, label %endif.1.i - -then.1.i: ; preds = %no_exit.0.i - br label %loopcont.0.i - -endif.1.i: ; preds = %no_exit.0.i - br bool false, label %loopentry.1.i.no_exit.1.i_crit_edge, label %loopentry.1.i.loopexit.1.i_crit_edge - -loopentry.1.i: ; No predecessors! - unreachable - -loopentry.1.i.loopexit.1.i_crit_edge: ; preds = %endif.1.i - br label %loopexit.1.i - -loopentry.1.i.no_exit.1.i_crit_edge: ; preds = %endif.1.i - br label %no_exit.1.i - -no_exit.1.i: ; preds = %endif.2.i.no_exit.1.i_crit_edge, %loopentry.1.i.no_exit.1.i_crit_edge - br bool false, label %shortcirc_next.0.i, label %no_exit.1.i.shortcirc_done.0.i_crit_edge - -no_exit.1.i.shortcirc_done.0.i_crit_edge: ; preds = %no_exit.1.i - br label %shortcirc_done.0.i - -shortcirc_next.0.i: ; preds = %no_exit.1.i - br label %shortcirc_done.0.i - -shortcirc_done.0.i: ; preds = %shortcirc_next.0.i, %no_exit.1.i.shortcirc_done.0.i_crit_edge - br bool false, label %then.2.i, label %endif.2.i - -then.2.i: ; preds = %shortcirc_done.0.i - br bool false, label %then.2.i.then.3.i_crit_edge, label %then.2.i.else.i_crit_edge - -then.2.i.else.i_crit_edge: ; preds = %then.2.i - br label %else.i - -then.2.i.then.3.i_crit_edge: ; preds = %then.2.i - br label %then.3.i - -endif.2.i: ; preds = %shortcirc_done.0.i - br bool false, label %endif.2.i.no_exit.1.i_crit_edge, label %endif.2.i.loopexit.1.i_crit_edge - -endif.2.i.loopexit.1.i_crit_edge: ; preds = %endif.2.i - br label %loopexit.1.i - -endif.2.i.no_exit.1.i_crit_edge: ; preds = %endif.2.i - br label %no_exit.1.i - -loopexit.1.i: ; preds = %endif.2.i.loopexit.1.i_crit_edge, %loopentry.1.i.loopexit.1.i_crit_edge - br bool false, label %loopexit.1.i.then.3.i_crit_edge, label %loopexit.1.i.else.i_crit_edge - -loopexit.1.i.else.i_crit_edge: ; preds = %loopexit.1.i - br label %else.i - -loopexit.1.i.then.3.i_crit_edge: ; preds = %loopexit.1.i - br label %then.3.i - -then.3.i: ; preds = %loopexit.1.i.then.3.i_crit_edge, %then.2.i.then.3.i_crit_edge - br bool false, label %shortcirc_next.1.i, label %then.3.i.shortcirc_done.1.i_crit_edge - -then.3.i.shortcirc_done.1.i_crit_edge: ; preds = %then.3.i - br label %shortcirc_done.1.i - -shortcirc_next.1.i: ; preds = %then.3.i - br label %shortcirc_done.1.i - -shortcirc_done.1.i: ; preds = %shortcirc_next.1.i, %then.3.i.shortcirc_done.1.i_crit_edge - br bool false, label %then.4.i, label %endif.4.i - -then.4.i: ; preds = %shortcirc_done.1.i - br label %endif.3.i - -endif.4.i: ; preds = %shortcirc_done.1.i - br label %endif.3.i - -else.i: ; preds = %loopexit.1.i.else.i_crit_edge, %then.2.i.else.i_crit_edge - br bool false, label %shortcirc_next.0.i.i, label %else.i.shortcirc_done.0.i.i_crit_edge - -else.i.shortcirc_done.0.i.i_crit_edge: ; preds = %else.i - br label %shortcirc_done.0.i.i - -shortcirc_next.0.i.i: ; preds = %else.i - br label %shortcirc_done.0.i.i - -shortcirc_done.0.i.i: ; preds = %shortcirc_next.0.i.i, %else.i.shortcirc_done.0.i.i_crit_edge - br bool false, label %shortcirc_next.1.i.i, label %shortcirc_done.0.i.i.shortcirc_done.1.i.i_crit_edge - -shortcirc_done.0.i.i.shortcirc_done.1.i.i_crit_edge: ; preds = %shortcirc_done.0.i.i - br label %shortcirc_done.1.i.i - -shortcirc_next.1.i.i: ; preds = %shortcirc_done.0.i.i - br bool false, label %loopentry.i.i2.i.no_exit.i.i3.i_crit_edge, label %loopentry.i.i2.i.loopexit.i.i.i_crit_edge - -loopentry.i.i2.i: ; No predecessors! - unreachable - -loopentry.i.i2.i.loopexit.i.i.i_crit_edge: ; preds = %shortcirc_next.1.i.i - br label %loopexit.i.i.i - -loopentry.i.i2.i.no_exit.i.i3.i_crit_edge: ; preds = %shortcirc_next.1.i.i - br label %no_exit.i.i3.i - -no_exit.i.i3.i: ; preds = %endif.i.i.i.no_exit.i.i3.i_crit_edge, %loopentry.i.i2.i.no_exit.i.i3.i_crit_edge - br bool false, label %shortcirc_next.0.i.i.i, label %no_exit.i.i3.i.shortcirc_done.0.i.i.i_crit_edge - -no_exit.i.i3.i.shortcirc_done.0.i.i.i_crit_edge: ; preds = %no_exit.i.i3.i - br label %shortcirc_done.0.i.i.i - -shortcirc_next.0.i.i.i: ; preds = %no_exit.i.i3.i - br label %shortcirc_done.0.i.i.i - -shortcirc_done.0.i.i.i: ; preds = %shortcirc_next.0.i.i.i, %no_exit.i.i3.i.shortcirc_done.0.i.i.i_crit_edge - br bool false, label %shortcirc_next.1.i.i.i, label %shortcirc_done.0.i.i.i.shortcirc_done.1.i.i.i_crit_edge - -shortcirc_done.0.i.i.i.shortcirc_done.1.i.i.i_crit_edge: ; preds = %shortcirc_done.0.i.i.i - br label %shortcirc_done.1.i.i.i - -shortcirc_next.1.i.i.i: ; preds = %shortcirc_done.0.i.i.i - br label %shortcirc_done.1.i.i.i - -shortcirc_done.1.i.i.i: ; preds = %shortcirc_next.1.i.i.i, %shortcirc_done.0.i.i.i.shortcirc_done.1.i.i.i_crit_edge - br bool false, label %then.i.i.i, label %endif.i.i.i - -then.i.i.i: ; preds = %shortcirc_done.1.i.i.i - br label %then.0.i.i - -then.i.i.i.endif.0.i.i_crit_edge: ; No predecessors! - unreachable - -then.i.i.i.then.0.i.i_crit_edge: ; No predecessors! - unreachable - -endif.i.i.i: ; preds = %shortcirc_done.1.i.i.i - br bool false, label %endif.i.i.i.no_exit.i.i3.i_crit_edge, label %endif.i.i.i.loopexit.i.i.i_crit_edge - -endif.i.i.i.loopexit.i.i.i_crit_edge: ; preds = %endif.i.i.i - br label %loopexit.i.i.i - -endif.i.i.i.no_exit.i.i3.i_crit_edge: ; preds = %endif.i.i.i - br label %no_exit.i.i3.i - -loopexit.i.i.i: ; preds = %endif.i.i.i.loopexit.i.i.i_crit_edge, %loopentry.i.i2.i.loopexit.i.i.i_crit_edge - br label %shortcirc_done.1.i.i - -check_compatible_id.exit.i.i: ; No predecessors! - unreachable - -shortcirc_done.1.i.i: ; preds = %loopexit.i.i.i, %shortcirc_done.0.i.i.shortcirc_done.1.i.i_crit_edge - br bool false, label %shortcirc_done.1.i.i.then.0.i.i_crit_edge, label %shortcirc_done.1.i.i.endif.0.i.i_crit_edge - -shortcirc_done.1.i.i.endif.0.i.i_crit_edge: ; preds = %shortcirc_done.1.i.i - br label %endif.0.i.i - -shortcirc_done.1.i.i.then.0.i.i_crit_edge: ; preds = %shortcirc_done.1.i.i - br label %then.0.i.i - -then.0.i.i: ; preds = %shortcirc_done.1.i.i.then.0.i.i_crit_edge, %then.i.i.i - br label %then.5.i - -then.0.i.i.endif.5.i_crit_edge: ; No predecessors! - unreachable - -then.0.i.i.then.5.i_crit_edge: ; No predecessors! - unreachable - -endif.0.i.i: ; preds = %shortcirc_done.1.i.i.endif.0.i.i_crit_edge - br bool false, label %endif.0.i.i.shortcirc_done.2.i.i_crit_edge, label %shortcirc_next.2.i.i - -endif.0.i.i.shortcirc_done.2.i.i_crit_edge: ; preds = %endif.0.i.i - br label %shortcirc_done.2.i.i - -shortcirc_next.2.i.i: ; preds = %endif.0.i.i - br label %shortcirc_done.2.i.i - -shortcirc_done.2.i.i: ; preds = %shortcirc_next.2.i.i, %endif.0.i.i.shortcirc_done.2.i.i_crit_edge - br bool false, label %then.1.i.i, label %endif.1.i.i - -then.1.i.i: ; preds = %shortcirc_done.2.i.i - br label %then.5.i - -then.1.i.i.endif.5.i_crit_edge: ; No predecessors! - unreachable - -then.1.i.i.then.5.i_crit_edge: ; No predecessors! - unreachable - -endif.1.i.i: ; preds = %shortcirc_done.2.i.i - br bool false, label %loopentry.0.i7.i.no_exit.0.i8.i_crit_edge, label %loopentry.0.i7.i.loopexit.0.i11.i_crit_edge - -loopentry.0.i7.i: ; No predecessors! - unreachable - -loopentry.0.i7.i.loopexit.0.i11.i_crit_edge: ; preds = %endif.1.i.i - br label %loopexit.0.i11.i - -loopentry.0.i7.i.no_exit.0.i8.i_crit_edge: ; preds = %endif.1.i.i - br label %no_exit.0.i8.i - -no_exit.0.i8.i: ; preds = %loopexit.1.i.i.no_exit.0.i8.i_crit_edge, %loopentry.0.i7.i.no_exit.0.i8.i_crit_edge - br bool false, label %loopentry.1.i9.i.no_exit.1.i10.i_crit_edge, label %loopentry.1.i9.i.loopexit.1.i.i_crit_edge - -loopentry.1.i9.i: ; No predecessors! - unreachable - -loopentry.1.i9.i.loopexit.1.i.i_crit_edge: ; preds = %no_exit.0.i8.i - br label %loopexit.1.i.i - -loopentry.1.i9.i.no_exit.1.i10.i_crit_edge: ; preds = %no_exit.0.i8.i - br label %no_exit.1.i10.i - -no_exit.1.i10.i: ; preds = %endif.2.i.i.no_exit.1.i10.i_crit_edge, %loopentry.1.i9.i.no_exit.1.i10.i_crit_edge - br bool false, label %shortcirc_next.3.i.i, label %no_exit.1.i10.i.shortcirc_done.3.i.i_crit_edge - -no_exit.1.i10.i.shortcirc_done.3.i.i_crit_edge: ; preds = %no_exit.1.i10.i - br label %shortcirc_done.3.i.i - -shortcirc_next.3.i.i: ; preds = %no_exit.1.i10.i - br bool false, label %shortcirc_next.3.i.i.shortcirc_done.4.i.i_crit_edge, label %shortcirc_next.4.i.i - -shortcirc_next.3.i.i.shortcirc_done.4.i.i_crit_edge: ; preds = %shortcirc_next.3.i.i - br label %shortcirc_done.4.i.i - -shortcirc_next.4.i.i: ; preds = %shortcirc_next.3.i.i - br label %shortcirc_done.4.i.i - -shortcirc_done.4.i.i: ; preds = %shortcirc_next.4.i.i, %shortcirc_next.3.i.i.shortcirc_done.4.i.i_crit_edge - br bool false, label %shortcirc_done.4.i.i.shortcirc_done.5.i.i_crit_edge, label %shortcirc_next.5.i.i - -shortcirc_done.4.i.i.shortcirc_done.5.i.i_crit_edge: ; preds = %shortcirc_done.4.i.i - br label %shortcirc_done.5.i.i - -shortcirc_next.5.i.i: ; preds = %shortcirc_done.4.i.i - %tmp.68.i.i = seteq ushort 0, 1000 ; <bool> [#uses=1] - br label %shortcirc_done.5.i.i - -shortcirc_done.5.i.i: ; preds = %shortcirc_next.5.i.i, %shortcirc_done.4.i.i.shortcirc_done.5.i.i_crit_edge - %shortcirc_val.4.i.i = phi bool [ true, %shortcirc_done.4.i.i.shortcirc_done.5.i.i_crit_edge ], [ %tmp.68.i.i, %shortcirc_next.5.i.i ] ; <bool> [#uses=1] - br label %shortcirc_done.3.i.i - -shortcirc_done.3.i.i: ; preds = %shortcirc_done.5.i.i, %no_exit.1.i10.i.shortcirc_done.3.i.i_crit_edge - %shortcirc_val.5.i.i = phi bool [ false, %no_exit.1.i10.i.shortcirc_done.3.i.i_crit_edge ], [ %shortcirc_val.4.i.i, %shortcirc_done.5.i.i ] ; <bool> [#uses=1] - br bool %shortcirc_val.5.i.i, label %then.2.i.i, label %endif.2.i.i - -then.2.i.i: ; preds = %shortcirc_done.3.i.i - %port.2.i.i.8.lcssa20 = phi %struct.isapnp_port* [ null, %shortcirc_done.3.i.i ] ; <%struct.isapnp_port*> [#uses=0] - br label %endif.5.i - -then.2.i.i.endif.5.i_crit_edge: ; No predecessors! - unreachable - -then.2.i.i.then.5.i_crit_edge: ; No predecessors! - unreachable - -endif.2.i.i: ; preds = %shortcirc_done.3.i.i - br bool false, label %endif.2.i.i.no_exit.1.i10.i_crit_edge, label %endif.2.i.i.loopexit.1.i.i_crit_edge - -endif.2.i.i.loopexit.1.i.i_crit_edge: ; preds = %endif.2.i.i - br label %loopexit.1.i.i - -endif.2.i.i.no_exit.1.i10.i_crit_edge: ; preds = %endif.2.i.i - br label %no_exit.1.i10.i - -loopexit.1.i.i: ; preds = %endif.2.i.i.loopexit.1.i.i_crit_edge, %loopentry.1.i9.i.loopexit.1.i.i_crit_edge - br bool false, label %loopexit.1.i.i.no_exit.0.i8.i_crit_edge, label %loopexit.1.i.i.loopexit.0.i11.i_crit_edge - -loopexit.1.i.i.loopexit.0.i11.i_crit_edge: ; preds = %loopexit.1.i.i - br label %loopexit.0.i11.i - -loopexit.1.i.i.no_exit.0.i8.i_crit_edge: ; preds = %loopexit.1.i.i - br label %no_exit.0.i8.i - -loopexit.0.i11.i: ; preds = %loopexit.1.i.i.loopexit.0.i11.i_crit_edge, %loopentry.0.i7.i.loopexit.0.i11.i_crit_edge - br bool false, label %serial_pnp_guess_board.exit.i.then.5.i_crit_edge, label %serial_pnp_guess_board.exit.i.endif.5.i_crit_edge - -serial_pnp_guess_board.exit.i: ; No predecessors! - unreachable - -serial_pnp_guess_board.exit.i.endif.5.i_crit_edge: ; preds = %loopexit.0.i11.i - br label %endif.5.i - -serial_pnp_guess_board.exit.i.then.5.i_crit_edge: ; preds = %loopexit.0.i11.i - br label %then.5.i - -then.5.i: ; preds = %serial_pnp_guess_board.exit.i.then.5.i_crit_edge, %then.1.i.i, %then.0.i.i - br label %loopcont.0.i - -endif.5.i: ; preds = %serial_pnp_guess_board.exit.i.endif.5.i_crit_edge, %then.2.i.i - br label %endif.3.i - -endif.3.i: ; preds = %endif.5.i, %endif.4.i, %then.4.i - br bool false, label %then.6.i, label %endif.3.i.endif.6.i_crit_edge - -endif.3.i.endif.6.i_crit_edge: ; preds = %endif.3.i - br label %endif.6.i - -then.6.i: ; preds = %endif.3.i - br label %loopentry.0.i.i - -loopentry.0.i.i: ; preds = %endif.i.i, %then.6.i - br bool false, label %loopentry.0.i.i.no_exit.0.i.i_crit_edge, label %loopentry.0.i.i.loopexit.0.i.i_crit_edge - -loopentry.0.i.i.loopexit.0.i.i_crit_edge: ; preds = %loopentry.0.i.i - br label %loopexit.0.i.i - -loopentry.0.i.i.no_exit.0.i.i_crit_edge: ; preds = %loopentry.0.i.i - br label %no_exit.0.i.i - -no_exit.0.i.i: ; preds = %clear_bit195.exit.i.i.no_exit.0.i.i_crit_edge, %loopentry.0.i.i.no_exit.0.i.i_crit_edge - br bool false, label %then.i.i, label %endif.i.i - -then.i.i: ; preds = %no_exit.0.i.i - br label %loopentry.i.i.i - -loopentry.i.i.i: ; preds = %no_exit.i.i.i, %then.i.i - br bool false, label %no_exit.i.i.i, label %clear_bit195.exit.i.i - -no_exit.i.i.i: ; preds = %loopentry.i.i.i - br label %loopentry.i.i.i - -clear_bit195.exit.i.i: ; preds = %loopentry.i.i.i - br bool false, label %clear_bit195.exit.i.i.no_exit.0.i.i_crit_edge, label %clear_bit195.exit.i.i.loopexit.0.i.i_crit_edge - -clear_bit195.exit.i.i.loopexit.0.i.i_crit_edge: ; preds = %clear_bit195.exit.i.i - br label %loopexit.0.i.i - -clear_bit195.exit.i.i.no_exit.0.i.i_crit_edge: ; preds = %clear_bit195.exit.i.i - br label %no_exit.0.i.i - -endif.i.i: ; preds = %no_exit.0.i.i - br label %loopentry.0.i.i - -loopexit.0.i.i: ; preds = %clear_bit195.exit.i.i.loopexit.0.i.i_crit_edge, %loopentry.0.i.i.loopexit.0.i.i_crit_edge - br bool false, label %loopentry.1.i.i.no_exit.1.i.i_crit_edge, label %loopentry.1.i.i.avoid_irq_share.exit.i_crit_edge - -loopentry.1.i.i: ; No predecessors! - unreachable - -loopentry.1.i.i.avoid_irq_share.exit.i_crit_edge: ; preds = %loopexit.0.i.i - br label %avoid_irq_share.exit.i - -loopentry.1.i.i.no_exit.1.i.i_crit_edge: ; preds = %loopexit.0.i.i - br label %no_exit.1.i.i - -no_exit.1.i.i: ; preds = %loopexit.2.i.i.no_exit.1.i.i_crit_edge, %loopentry.1.i.i.no_exit.1.i.i_crit_edge - br bool false, label %loopentry.2.i.i.no_exit.2.i.i_crit_edge, label %loopentry.2.i.i.loopexit.2.i.i_crit_edge - -loopentry.2.i.i: ; No predecessors! - unreachable - -loopentry.2.i.i.loopexit.2.i.i_crit_edge: ; preds = %no_exit.1.i.i - br label %loopexit.2.i.i - -loopentry.2.i.i.no_exit.2.i.i_crit_edge: ; preds = %no_exit.1.i.i - br label %no_exit.2.i.i - -no_exit.2.i.i: ; preds = %no_exit.2.i.i.no_exit.2.i.i_crit_edge, %loopentry.2.i.i.no_exit.2.i.i_crit_edge - br bool false, label %no_exit.2.i.i.no_exit.2.i.i_crit_edge, label %no_exit.2.i.i.loopexit.2.i.i_crit_edge - -no_exit.2.i.i.loopexit.2.i.i_crit_edge: ; preds = %no_exit.2.i.i - br label %loopexit.2.i.i - -no_exit.2.i.i.no_exit.2.i.i_crit_edge: ; preds = %no_exit.2.i.i - br label %no_exit.2.i.i - -loopexit.2.i.i: ; preds = %no_exit.2.i.i.loopexit.2.i.i_crit_edge, %loopentry.2.i.i.loopexit.2.i.i_crit_edge - br bool false, label %loopexit.2.i.i.no_exit.1.i.i_crit_edge, label %loopexit.2.i.i.avoid_irq_share.exit.i_crit_edge - -loopexit.2.i.i.avoid_irq_share.exit.i_crit_edge: ; preds = %loopexit.2.i.i - br label %avoid_irq_share.exit.i - -loopexit.2.i.i.no_exit.1.i.i_crit_edge: ; preds = %loopexit.2.i.i - br label %no_exit.1.i.i - -avoid_irq_share.exit.i: ; preds = %loopexit.2.i.i.avoid_irq_share.exit.i_crit_edge, %loopentry.1.i.i.avoid_irq_share.exit.i_crit_edge - br label %endif.6.i - -endif.6.i: ; preds = %avoid_irq_share.exit.i, %endif.3.i.endif.6.i_crit_edge - br label %loopcont.0.i - -loopcont.0.i: ; preds = %endif.6.i, %then.5.i, %then.1.i - br bool false, label %loopcont.0.i.no_exit.0.i_crit_edge, label %loopcont.0.i.loopexit.0.i_crit_edge - -loopcont.0.i.loopexit.0.i_crit_edge: ; preds = %loopcont.0.i - br label %loopexit.0.i - -loopcont.0.i.no_exit.0.i_crit_edge: ; preds = %loopcont.0.i - br label %no_exit.0.i - -loopexit.0.i: ; preds = %loopcont.0.i.loopexit.0.i_crit_edge, %loopentry.0.i.loopexit.0.i_crit_edge - ret void - -probe_serial_pnp.exit: ; No predecessors! - unreachable - -after_ret: ; No predecessors! - ret void - -return: ; No predecessors! - unreachable -} diff --git a/llvm/test/Regression/Transforms/CondProp/basictest.ll b/llvm/test/Regression/Transforms/CondProp/basictest.ll deleted file mode 100644 index adc16f8cdd7..00000000000 --- a/llvm/test/Regression/Transforms/CondProp/basictest.ll +++ /dev/null @@ -1,18 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -condprop | llvm-dis | not grep 'br label' - -int %test(bool %C) { - br bool %C, label %T1, label %F1 -T1: - br label %Cont -F1: - br label %Cont -Cont: - %C2 = phi bool [false, %F1], [true, %T1] - br bool %C2, label %T2, label %F2 -T2: - call void %bar() - ret int 17 -F2: - ret int 1 -} -declare void %bar() diff --git a/llvm/test/Regression/Transforms/CondProp/dg.exp b/llvm/test/Regression/Transforms/CondProp/dg.exp deleted file mode 100644 index e109dadd008..00000000000 --- a/llvm/test/Regression/Transforms/CondProp/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/CondProp/phisimplify.ll b/llvm/test/Regression/Transforms/CondProp/phisimplify.ll deleted file mode 100644 index a4728eb191d..00000000000 --- a/llvm/test/Regression/Transforms/CondProp/phisimplify.ll +++ /dev/null @@ -1,33 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -condprop | llvm-dis | not grep phi - -int %test(uint %C, bool %Val) { - switch uint %C, label %T1 [ - uint 4, label %T2 - uint 17, label %T3 - ] -T1: - call void %a() - br label %Cont -T2: - call void %b() - br label %Cont -T3: - call void %c() - br label %Cont - -Cont: - ;; PHI becomes dead after threading T2 - %C2 = phi bool [%Val, %T1], [true, %T2], [%Val, %T3] - br bool %C2, label %L2, label %F2 -L2: - call void %d() - ret int 17 -F2: - call void %e() - ret int 1 -} -declare void %a() -declare void %b() -declare void %c() -declare void %d() -declare void %e() diff --git a/llvm/test/Regression/Transforms/CondProp/phisimplify2.ll b/llvm/test/Regression/Transforms/CondProp/phisimplify2.ll deleted file mode 100644 index 4c83fa38a55..00000000000 --- a/llvm/test/Regression/Transforms/CondProp/phisimplify2.ll +++ /dev/null @@ -1,36 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -condprop | llvm-dis | not grep phi - -declare bool %foo() - -int %test(uint %C) { - %Val = call bool %foo() - switch uint %C, label %T1 [ - uint 4, label %T2 - uint 17, label %T3 - ] -T1: - call void %a() - br label %Cont -T2: - call void %b() - br label %Cont -T3: - call void %c() - br label %Cont - -Cont: - ;; PHI becomes dead after threading T2 - %C2 = phi bool [%Val, %T1], [true, %T2], [%Val, %T3] - br bool %C2, label %L2, label %F2 -L2: - call void %d() - ret int 17 -F2: - call void %e() - ret int 1 -} -declare void %a() -declare void %b() -declare void %c() -declare void %d() -declare void %e() diff --git a/llvm/test/Regression/Transforms/ConstProp/.cvsignore b/llvm/test/Regression/Transforms/ConstProp/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/ConstProp/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/ConstProp/2002-05-03-DivideByZeroException.ll b/llvm/test/Regression/Transforms/ConstProp/2002-05-03-DivideByZeroException.ll deleted file mode 100644 index 331501adb3e..00000000000 --- a/llvm/test/Regression/Transforms/ConstProp/2002-05-03-DivideByZeroException.ll +++ /dev/null @@ -1,14 +0,0 @@ -; Make sure that the constant propogator doesn't divide by zero! -; -; RUN: llvm-upgrade < %s | llvm-as | opt -constprop -; - -int "test"() { - %R = div int 12, 0 - ret int %R -} - -int "test2"() { - %R = rem int 12, 0 - ret int %R -} diff --git a/llvm/test/Regression/Transforms/ConstProp/2002-05-03-NotOperator.ll b/llvm/test/Regression/Transforms/ConstProp/2002-05-03-NotOperator.ll deleted file mode 100644 index d028dfbadc3..00000000000 --- a/llvm/test/Regression/Transforms/ConstProp/2002-05-03-NotOperator.ll +++ /dev/null @@ -1,17 +0,0 @@ -; This bug has to do with the fact that constant propogation was implemented in -; terms of _logical_ not (! in C) instead of _bitwise_ not (~ in C). This was -; due to a spec change. - -; Fix #2: The unary not instruction now no longer exists. Change to xor. - -; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | not grep 'int 0' - -int "test1"() { - %R = xor int 123, -1 - ret int %R -} - -int "test2"() { - %R = xor int -123, -1 - ret int %R -} diff --git a/llvm/test/Regression/Transforms/ConstProp/2002-09-03-SetCC-Bools.ll b/llvm/test/Regression/Transforms/ConstProp/2002-09-03-SetCC-Bools.ll deleted file mode 100644 index 6b6b340097d..00000000000 --- a/llvm/test/Regression/Transforms/ConstProp/2002-09-03-SetCC-Bools.ll +++ /dev/null @@ -1,19 +0,0 @@ -; SetCC on boolean values was not implemented! - -; RUN: llvm-upgrade < %s | llvm-as | opt -constprop -die | llvm-dis | not grep 'set' - -bool "test1"() { - %A = setle bool true, false - %B = setge bool true, false - %C = setlt bool false, true - %D = setgt bool true, false - %E = seteq bool false, false - %F = setne bool false, true - %G = and bool %A, %B - %H = and bool %C, %D - %I = and bool %E, %F - %J = and bool %G, %H - %K = and bool %I, %J - ret bool %K -} - diff --git a/llvm/test/Regression/Transforms/ConstProp/2003-05-12-DivideError.ll b/llvm/test/Regression/Transforms/ConstProp/2003-05-12-DivideError.ll deleted file mode 100644 index 289384bfc5d..00000000000 --- a/llvm/test/Regression/Transforms/ConstProp/2003-05-12-DivideError.ll +++ /dev/null @@ -1,15 +0,0 @@ -; Make sure that the constant propagator doesn't cause a sigfpe -; -; RUN: llvm-upgrade < %s | llvm-as | opt -constprop -; - -int "test"() { - %R = div int -2147483648, -1 - ret int %R -} - -int "test2"() { - %R = rem int -2147483648, -1 - ret int %R -} - diff --git a/llvm/test/Regression/Transforms/ConstProp/2005-01-28-SetCCGEP.ll b/llvm/test/Regression/Transforms/ConstProp/2005-01-28-SetCCGEP.ll deleted file mode 100644 index 9a06a458b90..00000000000 --- a/llvm/test/Regression/Transforms/ConstProp/2005-01-28-SetCCGEP.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | not grep 'ret bool false' - -%b = external global [2 x { }] - -implementation - -bool %f() { - ; tmp.2 -> true, not false. - %tmp.2 = seteq { }* getelementptr ([2 x { }]* %b, int 0, int 0), - getelementptr ([2 x { }]* %b, int 0, int 1) - ret bool %tmp.2 -} diff --git a/llvm/test/Regression/Transforms/ConstProp/2006-11-30-vector-cast.ll b/llvm/test/Regression/Transforms/ConstProp/2006-11-30-vector-cast.ll deleted file mode 100644 index 4a9d8a586fc..00000000000 --- a/llvm/test/Regression/Transforms/ConstProp/2006-11-30-vector-cast.ll +++ /dev/null @@ -1,7 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | grep 'i32 -1' && -; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | not grep zeroinitializer - -< 4 x uint> %test() { - %tmp40 = bitcast <2 x long> bitcast (<4 x int> < int 0, int 0, int -1, int 0 > to <2 x long>) to <4 x uint> - ret <4 x uint> %tmp40 -} diff --git a/llvm/test/Regression/Transforms/ConstProp/2006-12-01-TruncBoolBug.ll b/llvm/test/Regression/Transforms/ConstProp/2006-12-01-TruncBoolBug.ll deleted file mode 100644 index df727dbe15a..00000000000 --- a/llvm/test/Regression/Transforms/ConstProp/2006-12-01-TruncBoolBug.ll +++ /dev/null @@ -1,5 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep 'ret i1 false' -bool %test() { - %X = trunc uint 320 to bool - ret bool %X -} diff --git a/llvm/test/Regression/Transforms/ConstProp/2006-12-01-bool-casts.ll b/llvm/test/Regression/Transforms/ConstProp/2006-12-01-bool-casts.ll deleted file mode 100644 index fbc3111146a..00000000000 --- a/llvm/test/Regression/Transforms/ConstProp/2006-12-01-bool-casts.ll +++ /dev/null @@ -1,13 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | grep 'ret i32 -1' && -; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | grep 'ret i32 1' - -int %test1() { - %A = sext bool true to int - ret int %A -} - -uint %test2() { - %A = zext bool true to uint - ret uint %A -} - diff --git a/llvm/test/Regression/Transforms/ConstProp/basictest.ll b/llvm/test/Regression/Transforms/ConstProp/basictest.ll deleted file mode 100644 index 178467d83ec..00000000000 --- a/llvm/test/Regression/Transforms/ConstProp/basictest.ll +++ /dev/null @@ -1,16 +0,0 @@ -; This is a basic sanity check for constant propogation. The add instruction -; should be eliminated. - -; RUN: llvm-upgrade < %s | llvm-as | opt -constprop -die | llvm-dis | not grep add - -int %test(bool %B) { - br bool %B, label %BB1, label %BB2 -BB1: - %Val = add int 0, 0 - br label %BB3 -BB2: - br label %BB3 -BB3: - %Ret = phi int [%Val, %BB1], [1, %BB2] - ret int %Ret -} diff --git a/llvm/test/Regression/Transforms/ConstProp/bitcast.ll b/llvm/test/Regression/Transforms/ConstProp/bitcast.ll deleted file mode 100644 index 39cd53487f7..00000000000 --- a/llvm/test/Regression/Transforms/ConstProp/bitcast.ll +++ /dev/null @@ -1,4 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | llvm-dis && -; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | grep 0x36A0000000000000 - -%A = global float bitcast (int 1 to float) diff --git a/llvm/test/Regression/Transforms/ConstProp/bswap.ll b/llvm/test/Regression/Transforms/ConstProp/bswap.ll deleted file mode 100644 index d31fa9d7932..00000000000 --- a/llvm/test/Regression/Transforms/ConstProp/bswap.ll +++ /dev/null @@ -1,22 +0,0 @@ -; bswap should be constant folded when it is passed a constant argument - -; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | not grep call - -declare ushort %llvm.bswap.i16(ushort) -declare uint %llvm.bswap.i32(uint) -declare ulong %llvm.bswap.i64(ulong) - -ushort %W() { - %Z = call ushort %llvm.bswap.i16(ushort 1) - ret ushort %Z -} - -uint %X() { - %Z = call uint %llvm.bswap.i32(uint 1) - ret uint %Z -} - -ulong %Y() { - %Z = call ulong %llvm.bswap.i64(ulong 1) - ret ulong %Z -} diff --git a/llvm/test/Regression/Transforms/ConstProp/calls.ll b/llvm/test/Regression/Transforms/ConstProp/calls.ll deleted file mode 100644 index 35efe8dfed8..00000000000 --- a/llvm/test/Regression/Transforms/ConstProp/calls.ll +++ /dev/null @@ -1,25 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | not grep call - -declare double %cos(double) -declare double %sin(double) -declare double %tan(double) -declare double %sqrt(double) -declare bool %llvm.isunordered(double, double) - -double %T() { - %A = call double %cos(double 0.0) - %B = call double %sin(double 0.0) - %a = add double %A, %B - %C = call double %tan(double 0.0) - %b = add double %a, %C - %D = call double %sqrt(double 4.0) - %c = add double %b, %D - ret double %c -} - -bool %TNAN() { - %A = call bool %llvm.isunordered(double 0x7FF8000000000000, double 1.0) ;; it's a nan! - %B = call bool %llvm.isunordered(double 123.0, double 1.0) - %C = or bool %A, %B - ret bool %C -} diff --git a/llvm/test/Regression/Transforms/ConstProp/dg.exp b/llvm/test/Regression/Transforms/ConstProp/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/ConstProp/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/ConstProp/float-to-ptr-cast.ll b/llvm/test/Regression/Transforms/ConstProp/float-to-ptr-cast.ll deleted file mode 100644 index df641cd0c81..00000000000 --- a/llvm/test/Regression/Transforms/ConstProp/float-to-ptr-cast.ll +++ /dev/null @@ -1,9 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | grep -F 'ret i32* null' | wc -l | grep 2 -int* %test1() { - %X = cast float 0.0 to int* - ret int* %X -} - -int* %test2() { - ret int* cast (float 0.0 to int*) -} diff --git a/llvm/test/Regression/Transforms/ConstProp/logicaltest.ll b/llvm/test/Regression/Transforms/ConstProp/logicaltest.ll deleted file mode 100644 index dfd45869b2a..00000000000 --- a/llvm/test/Regression/Transforms/ConstProp/logicaltest.ll +++ /dev/null @@ -1,13 +0,0 @@ -; Ensure constant propogation of logical instructions is working correctly. - -; RUN: llvm-upgrade < %s | llvm-as | opt -constprop -die | llvm-dis | not egrep 'and|or|xor' - - -int "test1"() { %R = and int 4,1234 ret int %R } -bool "test1"() { %R = and bool true, false ret bool %R } - -int "test2"() { %R = or int 4,1234 ret int %R } -bool "test2"() { %R = or bool true, false ret bool %R } - -int "test3"() { %R = xor int 4,1234 ret int %R } -bool "test3"() { %R = xor bool true, false ret bool %R } diff --git a/llvm/test/Regression/Transforms/ConstProp/nottest.ll b/llvm/test/Regression/Transforms/ConstProp/nottest.ll deleted file mode 100644 index 022a513ae42..00000000000 --- a/llvm/test/Regression/Transforms/ConstProp/nottest.ll +++ /dev/null @@ -1,19 +0,0 @@ -; Ensure constant propogation of 'not' instructions is working correctly. - -; RUN: llvm-upgrade < %s | llvm-as | opt -constprop -die | llvm-dis | not grep xor - -int "test1"() { - %R = xor int 4, -1 - ret int %R -} - -int "test2"() { - %R = xor int -23, -1 - ret int %R -} - -bool "test3"() { - %R = xor bool true, true - ret bool %R -} - diff --git a/llvm/test/Regression/Transforms/ConstProp/phi.ll b/llvm/test/Regression/Transforms/ConstProp/phi.ll deleted file mode 100644 index d7624dcacfb..00000000000 --- a/llvm/test/Regression/Transforms/ConstProp/phi.ll +++ /dev/null @@ -1,14 +0,0 @@ -; This is a basic sanity check for constant propogation. The add instruction -; should be eliminated. - -; RUN: llvm-upgrade < %s | llvm-as | opt -constprop -die | llvm-dis | not grep phi - -int %test(bool %B) { -BB0: - br bool %B, label %BB1, label %BB3 -BB1: - br label %BB3 -BB3: - %Ret = phi int [1, %BB0], [1, %BB1] - ret int %Ret -} diff --git a/llvm/test/Regression/Transforms/ConstProp/remtest.ll b/llvm/test/Regression/Transforms/ConstProp/remtest.ll deleted file mode 100644 index 905f4b724f0..00000000000 --- a/llvm/test/Regression/Transforms/ConstProp/remtest.ll +++ /dev/null @@ -1,23 +0,0 @@ -; Ensure constant propagation of remainder instructions is working correctly. - -; RUN: llvm-upgrade < %s | llvm-as | opt -constprop -die | llvm-dis | not grep rem - -int %test1() { - %R = rem int 4, 3 - ret int %R -} - -int %test2() { - %R = rem int 123, -23 - ret int %R -} - -float %test3() { - %R = rem float 12.45, 123.213 - ret float %R -} - -double %test4() { - %R = rem double 312.20213123, 12.3333412 - ret double %R -} diff --git a/llvm/test/Regression/Transforms/ConstantMerge/.cvsignore b/llvm/test/Regression/Transforms/ConstantMerge/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/ConstantMerge/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/ConstantMerge/2002-09-23-CPR-Update.ll b/llvm/test/Regression/Transforms/ConstantMerge/2002-09-23-CPR-Update.ll deleted file mode 100644 index 8d3d434d899..00000000000 --- a/llvm/test/Regression/Transforms/ConstantMerge/2002-09-23-CPR-Update.ll +++ /dev/null @@ -1,14 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -constmerge > /dev/null - -%foo = internal constant {int} {int 7} -%bar = internal constant {int} {int 7} - -implementation - -declare int %test(int*) - -void %foo() { - call int %test(int* getelementptr ( {int} * %foo, long 0, uint 0)) - call int %test(int* getelementptr ( {int} * %bar, long 0, uint 0)) - ret void -} diff --git a/llvm/test/Regression/Transforms/ConstantMerge/2003-10-28-MergeExternalConstants.ll b/llvm/test/Regression/Transforms/ConstantMerge/2003-10-28-MergeExternalConstants.ll deleted file mode 100644 index 72f8ecf7d1c..00000000000 --- a/llvm/test/Regression/Transforms/ConstantMerge/2003-10-28-MergeExternalConstants.ll +++ /dev/null @@ -1,7 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -constmerge | llvm-dis | %prcontext foo 2 | grep bar - -%foo = constant int 6 -%bar = constant int 6 - -implementation - diff --git a/llvm/test/Regression/Transforms/ConstantMerge/2006-03-07-DontMergeDiffSections.ll b/llvm/test/Regression/Transforms/ConstantMerge/2006-03-07-DontMergeDiffSections.ll deleted file mode 100644 index 36786d9262a..00000000000 --- a/llvm/test/Regression/Transforms/ConstantMerge/2006-03-07-DontMergeDiffSections.ll +++ /dev/null @@ -1,15 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -constmerge | llvm-dis | grep foo -; RUN: llvm-upgrade < %s | llvm-as | opt -constmerge | llvm-dis | grep bar - -; Don't merge constants in different sections. - -%G1 = internal constant int 1, section "foo" -%G2 = internal constant int 1, section "bar" -%G3 = internal constant int 1, section "bar" - -void %test(int** %P1, int **%P2, int **%P3) { - store int* %G1, int** %P1 - store int* %G2, int** %P2 - store int* %G3, int** %P3 - ret void -} diff --git a/llvm/test/Regression/Transforms/ConstantMerge/dg.exp b/llvm/test/Regression/Transforms/ConstantMerge/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/ConstantMerge/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/CorrelatedExprs/.cvsignore b/llvm/test/Regression/Transforms/CorrelatedExprs/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/CorrelatedExprs/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/CorrelatedExprs/2002-09-23-PHIUpdateBug.ll b/llvm/test/Regression/Transforms/CorrelatedExprs/2002-09-23-PHIUpdateBug.ll deleted file mode 100644 index 5873a638a68..00000000000 --- a/llvm/test/Regression/Transforms/CorrelatedExprs/2002-09-23-PHIUpdateBug.ll +++ /dev/null @@ -1,29 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -cee - -implementation - -declare void %foo(int) - -void %test(int %A, bool %C) { - br bool %C, label %bb0, label %bb1 -bb0: - br label %bb3 -Unreachable: - br label %bb2 -bb1: ;[#uses=0] - %cond212 = setgt int %A, 9 ; <bool> [#uses=1] - br bool %cond212, label %bb2, label %bb7 - -bb2: ;[#uses=1] - %cond = setgt int %A, 7 - br bool %cond, label %bb3, label %bb7 - -bb3: ;[#uses=1] - %X = phi int [ 0, %bb0], [ 12, %bb2] - call void %foo( int %X ) - br label %bb7 - -bb7: ;[#uses=2] - ret void -} - diff --git a/llvm/test/Regression/Transforms/CorrelatedExprs/2002-10-03-PHIPropogate.ll b/llvm/test/Regression/Transforms/CorrelatedExprs/2002-10-03-PHIPropogate.ll deleted file mode 100644 index a9d5f0c0167..00000000000 --- a/llvm/test/Regression/Transforms/CorrelatedExprs/2002-10-03-PHIPropogate.ll +++ /dev/null @@ -1,45 +0,0 @@ -; This test checks to see if the CEE pass is applying jump-bypassing for values -; determined by PHI nodes. Because we are coming from a particular block, we -; know what value a PHI node will take on this edge and should exploit it. -; -; This testcase comes from the following C code: -; void bar(void); -; void foo(int c) { -; int i = c ? 2 : 8; -; while (i < 20) { -; bar (); -; i++; -; } -; } -; -; RUN: llvm-upgrade < %s | llvm-as | opt -cee -simplifycfg | llvm-dis | not grep bb3 - -implementation -declare void %bar() - -void %foo(int %c) { -bb0: ; No predecessors! - %cond215 = seteq int %c, 0 ; <bool> [#uses=1] - br bool %cond215, label %bb3, label %bb4 - -bb3: ; preds = %bb0 - br label %bb4 - -bb4: ; preds = %bb3, %bb0 - %reg110 = phi int [ 8, %bb3 ], [ 2, %bb0 ] ; <int> [#uses=2] - %cond217 = setgt int %reg110, 19 ; <bool> [#uses=1] - br bool %cond217, label %bb6, label %bb5 - -bb5: ; preds = %bb5, %bb4 - %cann-indvar = phi int [ 0, %bb4 ], [ %add1-indvar, %bb5 ] ; <int> [#uses=2] - %add1-indvar = add int %cann-indvar, 1 ; <int> [#uses=1] - %reg111 = add int %cann-indvar, %reg110 ; <int> [#uses=1] - call void %bar( ) - %reg112 = add int %reg111, 1 ; <int> [#uses=1] - %cond222 = setle int %reg112, 19 ; <bool> [#uses=1] - br bool %cond222, label %bb5, label %bb6 - -bb6: ; preds = %bb5, %bb4 - ret void -} - diff --git a/llvm/test/Regression/Transforms/CorrelatedExprs/2002-10-04-ForwardingBug.ll b/llvm/test/Regression/Transforms/CorrelatedExprs/2002-10-04-ForwardingBug.ll deleted file mode 100644 index 7dd89d4a647..00000000000 --- a/llvm/test/Regression/Transforms/CorrelatedExprs/2002-10-04-ForwardingBug.ll +++ /dev/null @@ -1,35 +0,0 @@ -; Testcase distilled from bisort where we tried to perform branch target -; forwarding where it was not safe. -; RUN: llvm-upgrade < %s | llvm-as | opt -cee -; - %HANDLE = type { int, %HANDLE*, %HANDLE* } - %struct.node = type { int, %HANDLE*, %HANDLE* } -%.LC0 = internal global [11 x sbyte] c"%d @ 0x%x\0A\00" ; <[11 x sbyte]*> [#uses=1] - -implementation ; Functions: - -void %InOrder(%HANDLE* %h) { -bb0: ; No predecessors! - br label %bb2 - -bb2: ; preds = %bb3, %bb0 - %reg113 = phi %HANDLE* [ %reg109, %bb3 ], [ %h, %bb0 ] ; <%HANDLE*> [#uses=4] - %cond217 = seteq %HANDLE* %reg113, null ; <bool> [#uses=1] - br bool %cond217, label %bb4, label %bb3 - -bb3: ; preds = %bb2 - %reg221 = getelementptr %HANDLE* %reg113, long 0, uint 1 ; <%HANDLE**> [#uses=1] - %reg108 = load %HANDLE** %reg221 ; <%HANDLE*> [#uses=1] - %reg226 = getelementptr %HANDLE* %reg113, long 0, uint 2 ; <%HANDLE**> [#uses=1] - %reg109 = load %HANDLE** %reg226 ; <%HANDLE*> [#uses=1] - call void %InOrder( %HANDLE* %reg108 ) - %cast231 = getelementptr %HANDLE* %reg113, long 0, uint 0 ; <int*> [#uses=1] - %reg111 = load int* %cast231 ; <int> [#uses=1] - %reg233 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([11 x sbyte]* %.LC0, long 0, long 0), int %reg111, uint 0 ) ; <int> [#uses=0] - br label %bb2 - -bb4: ; preds = %bb2 - ret void -} - -declare int %printf(sbyte*, ...) diff --git a/llvm/test/Regression/Transforms/CorrelatedExprs/2002-10-07-DominatorProblem.ll b/llvm/test/Regression/Transforms/CorrelatedExprs/2002-10-07-DominatorProblem.ll deleted file mode 100644 index 716db54b6a6..00000000000 --- a/llvm/test/Regression/Transforms/CorrelatedExprs/2002-10-07-DominatorProblem.ll +++ /dev/null @@ -1,28 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -cee -; -; The 'cee' pass is breaking SSA form when it blindly forwards the branch from -; Eq to branch to "Forwarded" instead. - -implementation - -int %test(int %A, int %B, bool %c0) { -Start: - %c1 = seteq int %A, %B - br bool %c1, label %Eq, label %Loop - -Eq: ; In this block we know that A == B - br label %Loop ; This should be modified to branch to "Forwarded". - -Loop: ;; Merge point, nothing is known here... - %Z = phi int [%A, %Start], [%B, %Eq], [%Z, %Bottom] - %c2 = setgt int %A, %B - br bool %c2, label %Forwarded, label %Bottom - -Forwarded: - %Z2 = phi int [%Z, %Loop] - call int %test(int 0, int %Z2, bool true) - br label %Bottom - -Bottom: - br label %Loop -} diff --git a/llvm/test/Regression/Transforms/CorrelatedExprs/2002-10-07-NoImmediateDominator.ll b/llvm/test/Regression/Transforms/CorrelatedExprs/2002-10-07-NoImmediateDominator.ll deleted file mode 100644 index f5ce0454e3e..00000000000 --- a/llvm/test/Regression/Transforms/CorrelatedExprs/2002-10-07-NoImmediateDominator.ll +++ /dev/null @@ -1,17 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -cee -; -; This testcase causes an assertion error. -; -implementation ; Functions: - -void %test(int %A) { - br label %bb2 -bb2: - ret void - -bb3: ; No predecessors! - br bool true, label %bb4, label %bb2 - -bb4: - ret void -} diff --git a/llvm/test/Regression/Transforms/CorrelatedExprs/2002-10-08-DominatorTest.ll b/llvm/test/Regression/Transforms/CorrelatedExprs/2002-10-08-DominatorTest.ll deleted file mode 100644 index 2f39701adc6..00000000000 --- a/llvm/test/Regression/Transforms/CorrelatedExprs/2002-10-08-DominatorTest.ll +++ /dev/null @@ -1,32 +0,0 @@ -; Test to make sure that SSA is correctly updated -; RUN: llvm-upgrade < %s | llvm-as | opt -cee -; -implementation ; Functions: - -int %test(int %A, int %B, bool %c0) { -Start: ; No predecessors! - %c1 = seteq int %A, %B ; <bool> [#uses=1] - br bool %c1, label %Eq, label %Start_crit_edge - -Start_crit_edge: ; preds = %Start - br label %Loop - -Eq: ; preds = %Start - br label %Loop - -Loop: ; preds = %Bottom, %Eq, %Start_crit_edge - %Z = phi int [ %A, %Start_crit_edge ], [ %B, %Eq ], [ %Z, %Bottom ] ; <int> [#uses=2] - %c2 = setge int %A, %B ; <bool> [#uses=1] - br bool %c2, label %Forwarded, label %Loop_crit_edge - -Loop_crit_edge: ; preds = %Loop - br label %Bottom - -Forwarded: ; preds = %Loop - %Z2 = phi int [ %Z, %Loop ] ; <int> [#uses=1] - call int %test( int 0, int %Z2, bool true ) ; <int>:0 [#uses=0] - br label %Bottom - -Bottom: ; preds = %Forwarded, %Loop_crit_edge - br label %Loop -} diff --git a/llvm/test/Regression/Transforms/CorrelatedExprs/2002-10-08-DominatorTest2.ll b/llvm/test/Regression/Transforms/CorrelatedExprs/2002-10-08-DominatorTest2.ll deleted file mode 100644 index 0348e4011f5..00000000000 --- a/llvm/test/Regression/Transforms/CorrelatedExprs/2002-10-08-DominatorTest2.ll +++ /dev/null @@ -1,34 +0,0 @@ -; Simple test to make sure dominators are updated properly -; RUN: llvm-upgrade < %s | llvm-as | opt -cee - -implementation ; Functions: - -int %test(int %A, int %B, bool %c0) { -Start: ; No predecessors! - %c1 = seteq int %A, %B ; <bool> [#uses=1] - br bool %c1, label %Eq, label %Start_crit_edge - -Start_crit_edge: ; preds = %Start - br label %Loop - -Eq: ; preds = %Start - br label %Loop - -Loop: ; preds = %Bottom, %Eq, %Start_crit_edge - %Z = phi int [ %A, %Start_crit_edge ], [ %B, %Eq ];, [ %Z, %Bottom ] ; <int> [#uses=2] - %c2 = setge int %A, %B ; <bool> [#uses=1] - br bool %c2, label %Forwarded, label %Loop_crit_edge - -Loop_crit_edge: ; preds = %Loop - %X = seteq int %Z, 7 - br bool %X, label %Forwarded, label %Bottom - -Forwarded: ; preds = %Loop - %Z2 = phi int [ %Z, %Loop ], [%Z, %Loop_crit_edge] ; <int> [#uses=1] - call int %test( int %Z, int %Z2, bool true ) ; <int>:0 [#uses=0] - br label %Bottom - -Bottom: ; preds = %Forwarded, %Loop_crit_edge - ret int %Z - ;br label %Loop -} diff --git a/llvm/test/Regression/Transforms/CorrelatedExprs/basictest.ll b/llvm/test/Regression/Transforms/CorrelatedExprs/basictest.ll deleted file mode 100644 index b403c30c979..00000000000 --- a/llvm/test/Regression/Transforms/CorrelatedExprs/basictest.ll +++ /dev/null @@ -1,135 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -cee -constprop -instcombine -dce | llvm-dis | not grep 'REMOVE' - -int %test1(int %A) { - %cond = seteq int %A, 40 - br bool %cond, label %T, label %F -T: - %REMOVE = add int %A, 2 ; Should become = 42 - ret int %REMOVE -F: - ret int 8 -} - -bool %test2(int %A) { - %cond = seteq int %A, 40 - br bool %cond, label %T, label %F -T: - %REMOVE = seteq int %A, 2 ; Should become = false - ret bool %REMOVE -F: - ret bool false -} - -bool %test3(int %A) { - %cond = setlt int %A, 40 - br bool %cond, label %T, label %F -T: - %REMOVE = setgt int %A, 47 ; Should become = false - ret bool %REMOVE -F: - %REMOVE2 = setge int %A, 40 ; Should become = true - ret bool %REMOVE2 -} - -bool %test4(int %A) { - %cond = setlt int %A, 40 - br bool %cond, label %T, label %F -T: - %REMOVE = setgt int %A, 47 ; Should become = false - ret bool %REMOVE -F: - ret bool false -} - -int %test5(int %A, int %B) { - %cond = setne int %A, %B - br bool %cond, label %F, label %T -T: - %C = sub int %A, %B ; = 0 - ret int %C -F: - ret int 0 -} - -bool %test6(int %A) { - %REMOVE = setlt int %A, 47 ; Should become dead - %cond = setlt int %A, 40 - br bool %cond, label %T, label %F -T: - ret bool %REMOVE ;; == true -F: - ret bool false -} - -bool %test7(int %A) { - %cond = setlt int %A, 40 - br bool %cond, label %T, label %F -T: - %REMOVE = xor bool %cond, true - ret bool %REMOVE -F: - ret bool false -} - -; Test that and expressions are handled... -bool %test8(int %A, int %B) { - %cond1 = setle int %A, 7 - %cond2 = setle int %B, 7 - %cond = and bool %cond1, %cond2 - br bool %cond, label %T, label %F -T: - %REMOVE1 = seteq int %A, 9 ; false - %REMOVE2 = setge int %B, 9 ; false - %REMOVE = or bool %REMOVE1, %REMOVE2 ; false - ret bool %REMOVE -F: - ret bool false -} - -; Test that or expressions are handled... -bool %test9(int %A, int %B) { - %cond1 = setle int %A, 7 - %cond2 = setle int %B, 7 - %cond = or bool %cond1, %cond2 - br bool %cond, label %T, label %F -T: - ret bool false -F: - %REMOVE1 = setge int %A, 8 ; true - %REMOVE2 = setge int %B, 8 ; true - %REMOVE = or bool %REMOVE1, %REMOVE2 ; true - ret bool %REMOVE -} - -bool %test10(int %A) { - %cond = setle int %A, 7 - br bool %cond, label %T, label %F -T: - ret bool false -F: - %REMOVE = setge int %A, 8 - ret bool %REMOVE -} - -; Implement correlated comparisons against non-constants -bool %test11(int %A, int %B) { - %cond = setlt int %A, %B - br bool %cond, label %T, label %F -T: - %REMOVE1 = seteq int %A, %B ; false - %REMOVE2 = setle int %A, %B ; true - %cond2 = and bool %REMOVE1, %REMOVE2 - ret bool %cond2 -F: - ret bool true -} - -bool %test12(int %A) { - %cond = setlt int %A, 0 - br bool %cond, label %T, label %F -T: - %REMOVE = setne int %A, 0 ; true - ret bool %REMOVE -F: - ret bool false -} diff --git a/llvm/test/Regression/Transforms/CorrelatedExprs/branchtest.ll b/llvm/test/Regression/Transforms/CorrelatedExprs/branchtest.ll deleted file mode 100644 index 591cede4ea4..00000000000 --- a/llvm/test/Regression/Transforms/CorrelatedExprs/branchtest.ll +++ /dev/null @@ -1,35 +0,0 @@ -; RUN: echo %s - -implementation - -declare void %foo(int) - -void %test(int %A) { -bb1: ;[#uses=0] - %cond212 = setgt int %A, 9 ; <bool> [#uses=1] - br bool %cond212, label %REMOVEbb3, label %bb2 - -bb2: ;[#uses=1] - call void %foo( int 123 ) - br label %REMOVEbb3 - -REMOVEbb3: ;[#uses=2] - %cond217 = setle int %A, 9 ; <bool> [#uses=1] - br bool %cond217, label %REMOVEbb5, label %bb4 - -bb4: ;[#uses=1] - call void %foo( int 234 ) - br label %REMOVEbb5 - -REMOVEbb5: ;[#uses=2] - %cond222 = setgt int %A, 9 ; <bool> [#uses=1] - br bool %cond222, label %bb7, label %REMOVEbb6 - -REMOVEbb6: ;[#uses=1] - call void %foo( int 456 ) - br label %bb7 - -bb7: ;[#uses=2] - ret void -} - diff --git a/llvm/test/Regression/Transforms/CorrelatedExprs/dg.exp b/llvm/test/Regression/Transforms/CorrelatedExprs/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/CorrelatedExprs/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/CorrelatedExprs/looptest.ll b/llvm/test/Regression/Transforms/CorrelatedExprs/looptest.ll deleted file mode 100644 index eca6d93ad62..00000000000 --- a/llvm/test/Regression/Transforms/CorrelatedExprs/looptest.ll +++ /dev/null @@ -1,43 +0,0 @@ -; This testcase tests to see if adds and PHI's are handled in their full -; generality. This testcase comes from the following C code: -; -; void f() { -; int i; -; for (i = 1; i < 100; i++) { -; if (i) -; g(); -; } -; } -; -; Note that this is a "feature" test, not a correctness test. -; -; XFAIL: * -; RUN: llvm-upgrade < %s | llvm-as | opt -cee -simplifycfg -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -cee -simplifycfg | llvm-dis | not grep cond213 -; -implementation ; Functions: - -declare void %g() - -void %f() { -bb0: ; No predecessors! - br label %bb2 - -bb2: ; preds = %bb4, %bb0 - %cann-indvar = phi int [ 0, %bb0 ], [ %add1-indvar, %bb4 ] ; <int> [#uses=2] - %add1-indvar = add int %cann-indvar, 1 ; <int> [#uses=2] - %cond213 = seteq int %add1-indvar, 0 ; <bool> [#uses=1] - br bool %cond213, label %bb4, label %bb3 - -bb3: ; preds = %bb2 - call void %g( ) - br label %bb4 - -bb4: ; preds = %bb3, %bb2 - %reg109 = add int %cann-indvar, 2 ; <int> [#uses=1] - %cond217 = setle int %reg109, 99 ; <bool> [#uses=1] - br bool %cond217, label %bb2, label %bb5 - -bb5: ; preds = %bb4 - ret void -} diff --git a/llvm/test/Regression/Transforms/CorrelatedExprs/nullpointer.ll b/llvm/test/Regression/Transforms/CorrelatedExprs/nullpointer.ll deleted file mode 100644 index a0fcdda129f..00000000000 --- a/llvm/test/Regression/Transforms/CorrelatedExprs/nullpointer.ll +++ /dev/null @@ -1,25 +0,0 @@ -; a load or store of a pointer indicates that the pointer is not null. -; Any succeeding uses of the pointer should get this info -; -; XFAIL: * -; RUN: llvm-upgrade < %s | llvm-as | opt -cee -instcombine -simplifycfg -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -cee -instcombine -simplifycfg | llvm-dis | not grep br - -implementation ; Functions: - -declare void %foo() -declare void %bar() - -int %nullptr(int* %j) { -bb0: - store int 7, int* %j ; j != null - %cond220 = seteq int* %j, null ; F - br bool %cond220, label %bb3, label %bb4 ; direct branch - -bb3: - call void %foo() - ret int 4 ; Dead code -bb4: - call void %bar() - ret int 3 ; Live code -} diff --git a/llvm/test/Regression/Transforms/CorrelatedExprs/switch.ll b/llvm/test/Regression/Transforms/CorrelatedExprs/switch.ll deleted file mode 100644 index d8fad3e190d..00000000000 --- a/llvm/test/Regression/Transforms/CorrelatedExprs/switch.ll +++ /dev/null @@ -1,20 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -cee -constprop -instcombine -dce | llvm-dis | not grep 'REMOVE' - -int %test_case_values_should_propagate(int %A) { - switch int %A, label %D [ - int 40, label %C1 - int 41, label %C2 - int 42, label %C3 - ] -C1: - %REMOVE1 = add int %A, 2 ; Should be 42. - ret int %REMOVE1 -C2: - %REMOVE2 = add int %A, 3 ; Should be 44. - ret int %REMOVE2 -C3: - %REMOVE3 = add int %A, 4 ; Should be 46. - ret int %REMOVE3 -D: - ret int 10 -} diff --git a/llvm/test/Regression/Transforms/CorrelatedExprs/whet.ll b/llvm/test/Regression/Transforms/CorrelatedExprs/whet.ll deleted file mode 100644 index ded1e1996a1..00000000000 --- a/llvm/test/Regression/Transforms/CorrelatedExprs/whet.ll +++ /dev/null @@ -1,45 +0,0 @@ -; This code snippet is derived from the following "whetstone" style code: -; int whet(int j) { -; if (j == 1) j = 2; -; else j = 7; -; if (j > 2) j = 0; -; else j = 3; -; if (j < 1) j = 10; -; else j = 0; -; return j; -;} -; -; This should eliminate all BB's except BB0, BB9, BB10 -; -; RUN: llvm-upgrade < %s | llvm-as | opt -cee -instcombine -simplifycfg | llvm-dis | not grep 'bb[2-8]' - -implementation ; Functions: - -int %whet(int %j) { -bb0: ; No predecessors! - %cond220 = setne int %j, 1 ; <bool> [#uses=1] - br bool %cond220, label %bb3, label %bb4 - -bb3: ; preds = %bb0 - br label %bb4 - -bb4: ; preds = %bb3, %bb0 - %reg111 = phi int [ 7, %bb3 ], [ 2, %bb0 ] ; <int> [#uses=1] - %cond222 = setle int %reg111, 2 ; <bool> [#uses=1] - br bool %cond222, label %bb6, label %bb7 - -bb6: ; preds = %bb4 - br label %bb7 - -bb7: ; preds = %bb6, %bb4 - %reg114 = phi int [ 3, %bb6 ], [ 0, %bb4 ] ; <int> [#uses=1] - %cond225 = setgt int %reg114, 0 ; <bool> [#uses=1] - br bool %cond225, label %bb9, label %bb10 - -bb9: ; preds = %bb7 - br label %bb10 - -bb10: ; preds = %bb9, %bb7 - %reg117 = phi int [ 0, %bb9 ], [ 10, %bb7 ] ; <int> [#uses=1] - ret int %reg117 -} diff --git a/llvm/test/Regression/Transforms/DeadArgElim/.cvsignore b/llvm/test/Regression/Transforms/DeadArgElim/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/DeadArgElim/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/DeadArgElim/2006-06-27-struct-ret.ll b/llvm/test/Regression/Transforms/DeadArgElim/2006-06-27-struct-ret.ll deleted file mode 100644 index 2a7b3a1f042..00000000000 --- a/llvm/test/Regression/Transforms/DeadArgElim/2006-06-27-struct-ret.ll +++ /dev/null @@ -1,13 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -deadargelim -disable-output - -implementation - -internal csretcc void %build_delaunay({int}* %agg.result) { - ret void -} - -void %test() { - call csretcc void %build_delaunay({int}* null) - ret void -} - diff --git a/llvm/test/Regression/Transforms/DeadArgElim/basictest.ll b/llvm/test/Regression/Transforms/DeadArgElim/basictest.ll deleted file mode 100644 index a3a4235400e..00000000000 --- a/llvm/test/Regression/Transforms/DeadArgElim/basictest.ll +++ /dev/null @@ -1,37 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -deadargelim | llvm-dis | not grep DEADARG - -implementation - -; test - an obviously dead argument -internal int %test(int %v, int %DEADARG1, int* %p) { - store int %v, int* %p - ret int %v -} - -; hardertest - an argument which is only used by a call of a function with a -; dead argument. -internal int %hardertest(int %DEADARG2) { - %p = alloca int - %V = call int %test(int 5, int %DEADARG2, int* %p) - ret int %V -} - -; evenhardertest - recursive dead argument... -internal void %evenhardertest(int %DEADARG3) { - call void %evenhardertest(int %DEADARG3) - ret void -} - -internal void %needarg(int %TEST) { - call int %needarg2(int %TEST) - ret void -} - -internal int %needarg2(int %TEST) { - ret int %TEST -} - -internal void %needarg3(int %TEST3) { - call void %needarg(int %TEST3) - ret void -} diff --git a/llvm/test/Regression/Transforms/DeadArgElim/dead_vaargs.ll b/llvm/test/Regression/Transforms/DeadArgElim/dead_vaargs.ll deleted file mode 100644 index c615ed06502..00000000000 --- a/llvm/test/Regression/Transforms/DeadArgElim/dead_vaargs.ll +++ /dev/null @@ -1,13 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -deadargelim -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -deadargelim | llvm-dis | not grep 47 && -; RUN: llvm-upgrade < %s | llvm-as | opt -deadargelim | llvm-dis | not grep 1.0 - -int %bar(int %A) { - %tmp4 = tail call int (int, ...)* %foo( int %A, int %A, int %A, int %A, ulong 47, double 1.000000e+00 ) - ret int %tmp4 -} - -internal int %foo(int %X, ...) { - ret int %X -} - diff --git a/llvm/test/Regression/Transforms/DeadArgElim/deadretval.ll b/llvm/test/Regression/Transforms/DeadArgElim/deadretval.ll deleted file mode 100644 index ccfbc2f7397..00000000000 --- a/llvm/test/Regression/Transforms/DeadArgElim/deadretval.ll +++ /dev/null @@ -1,19 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -deadargelim | llvm-dis | not grep DEAD - -implementation - -internal int %test(int %DEADARG) { ; Dead arg only used by dead retval - ret int %DEADARG -} - -int %test2(int %A) { - %DEAD = call int %test(int %A) - ret int 123 -} - -int %test3() { - %X = call int %test2(int 3232) - %Y = add int %X, -123 - ret int %Y -} - diff --git a/llvm/test/Regression/Transforms/DeadArgElim/deadretval2.ll b/llvm/test/Regression/Transforms/DeadArgElim/deadretval2.ll deleted file mode 100644 index 4f129ab1d06..00000000000 --- a/llvm/test/Regression/Transforms/DeadArgElim/deadretval2.ll +++ /dev/null @@ -1,36 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -deadargelim -die | llvm-dis | not grep DEAD - -%P = external global int - -implementation - - -internal int %test(int %DEADARG) { ; Dead arg only used by dead retval - ret int %DEADARG -} - -internal int %test2(int %DEADARG) { - %DEADRETVAL = call int %test(int %DEADARG) - ret int %DEADRETVAL -} - -void %test3(int %X) { - %DEADRETVAL = call int %test2(int %X) - ret void -} - -internal int %foo() { - %DEAD = load int* %P - ret int %DEAD -} - -internal int %id(int %X) { - ret int %X -} - -void %test4() { - %DEAD = call int %foo() - %DEAD2 = call int %id(int %DEAD) - ret void -} - diff --git a/llvm/test/Regression/Transforms/DeadArgElim/dg.exp b/llvm/test/Regression/Transforms/DeadArgElim/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/DeadArgElim/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/DeadStoreElimination/.cvsignore b/llvm/test/Regression/Transforms/DeadStoreElimination/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/DeadStoreElimination/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/DeadStoreElimination/2004-11-28-LiveStoreDeleted.ll b/llvm/test/Regression/Transforms/DeadStoreElimination/2004-11-28-LiveStoreDeleted.ll deleted file mode 100644 index f963b9aa391..00000000000 --- a/llvm/test/Regression/Transforms/DeadStoreElimination/2004-11-28-LiveStoreDeleted.ll +++ /dev/null @@ -1,13 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -dse -scalarrepl -instcombine | llvm-dis | not grep 'ret int undef' - -int %test(double %__x) { - %__u = alloca { [3 x int] } - %tmp.1 = cast { [3 x int] }* %__u to double* - store double %__x, double* %tmp.1 - %tmp.4 = getelementptr { [3 x int] }* %__u, int 0, uint 0, int 1 - %tmp.5 = load int* %tmp.4 - %tmp.6 = setlt int %tmp.5, 0 - %tmp.7 = cast bool %tmp.6 to int - ret int %tmp.7 -} - diff --git a/llvm/test/Regression/Transforms/DeadStoreElimination/2004-12-28-PartialStore.ll b/llvm/test/Regression/Transforms/DeadStoreElimination/2004-12-28-PartialStore.ll deleted file mode 100644 index 100c795797c..00000000000 --- a/llvm/test/Regression/Transforms/DeadStoreElimination/2004-12-28-PartialStore.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -dse | llvm-dis | grep 'store i32 1234567' - -; Do not delete stores that are only partially killed. - -int %test() { - %V = alloca int - store int 1234567, int* %V - %V2 = cast int* %V to sbyte* - store sbyte 0, sbyte* %V2 - %X = load int* %V - ret int %X -} diff --git a/llvm/test/Regression/Transforms/DeadStoreElimination/2005-11-30-vaarg.ll b/llvm/test/Regression/Transforms/DeadStoreElimination/2005-11-30-vaarg.ll deleted file mode 100644 index 58b253c9f4a..00000000000 --- a/llvm/test/Regression/Transforms/DeadStoreElimination/2005-11-30-vaarg.ll +++ /dev/null @@ -1,9 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -dse | llvm-dis | grep store - -double %foo(sbyte* %X) { - %X_addr = alloca sbyte* - store sbyte* %X, sbyte** %X_addr ;; not a dead store. - %tmp.0 = va_arg sbyte** %X_addr, double - ret double %tmp.0 -} - diff --git a/llvm/test/Regression/Transforms/DeadStoreElimination/2006-06-27-AST-Remove.ll b/llvm/test/Regression/Transforms/DeadStoreElimination/2006-06-27-AST-Remove.ll deleted file mode 100644 index 5deaef46081..00000000000 --- a/llvm/test/Regression/Transforms/DeadStoreElimination/2006-06-27-AST-Remove.ll +++ /dev/null @@ -1,1116 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globalsmodref-aa -dse -disable-output -target endian = big -target pointersize = 32 -target triple = "powerpc-apple-darwin8" - %struct.ECacheType = type { uint, uint, int } - %struct.FILE = 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.QTType = type { sbyte, sbyte, ushort, uint, uint, int } - %struct.TType = type { sbyte, sbyte, sbyte, sbyte, ushort, uint, uint, int } - %struct._RuneEntry = type { int, int, int, uint* } - %struct._RuneLocale = type { [8 x sbyte], [32 x sbyte], int (sbyte*, uint, sbyte**)*, int (int, sbyte*, uint, sbyte**)*, int, [256 x uint], [256 x int], [256 x int], %struct._RuneRange, %struct._RuneRange, %struct._RuneRange, sbyte*, int } - %struct._RuneRange = type { int, %struct._RuneEntry* } - %struct.__sFILEX = type opaque - %struct.__sbuf = type { ubyte*, int } - %struct.move_s = type { int, int, int, int, int, int } - %struct.move_x = type { int, int, int, int } - %struct.node_t = type { ubyte, ubyte, ubyte, ubyte, int, int, %struct.node_t**, %struct.node_t*, %struct.move_s } - %struct.see_data = type { int, int } -%rook_o.2925 = internal global [4 x int] [ int 12, int -12, int 1, int -1 ] ; <[4 x int]*> [#uses=0] -%bishop_o.2926 = internal global [4 x int] [ int 11, int -11, int 13, int -13 ] ; <[4 x int]*> [#uses=0] -%knight_o.2927 = internal global [8 x int] [ int 10, int -10, int 14, int -14, int 23, int -23, int 25, int -25 ] ; <[8 x int]*> [#uses=0] -%board = internal global [144 x int] zeroinitializer ; <[144 x int]*> [#uses=0] -%holding = internal global [2 x [16 x int]] zeroinitializer ; <[2 x [16 x int]]*> [#uses=0] -%hold_hash = internal global uint 0 ; <uint*> [#uses=0] -%white_hand_eval = internal global int 0 ; <int*> [#uses=0] -%black_hand_eval = internal global int 0 ; <int*> [#uses=0] -%num_holding = internal global [2 x int] zeroinitializer ; <[2 x int]*> [#uses=0] -%zobrist = internal global [14 x [144 x uint]] zeroinitializer ; <[14 x [144 x uint]]*> [#uses=0] -%Variant = internal global int 0 ; <int*> [#uses=7] -%userealholdings.b = internal global bool false ; <bool*> [#uses=1] -%realholdings = internal global [255 x sbyte] zeroinitializer ; <[255 x sbyte]*> [#uses=0] -%comp_color = internal global int 0 ; <int*> [#uses=0] -%C.97.3177 = internal global [13 x int] [ int 0, int 2, int 1, int 4, int 3, int 0, int 0, int 8, int 7, int 10, int 9, int 12, int 11 ] ; <[13 x int]*> [#uses=0] -%str = internal global [30 x sbyte] c"%s:%u: failed assertion `%s'\0A\00" ; <[30 x sbyte]*> [#uses=0] -%str = internal global [81 x sbyte] c"/Volumes/Stuff/src/speccpu2006-091-llvm/benchspec//CPU2006/458.sjeng/src/crazy.c\00" ; <[81 x sbyte]*> [#uses=0] -%str = internal global [32 x sbyte] c"piece > frame && piece < npiece\00" ; <[32 x sbyte]*> [#uses=0] -%C.101.3190 = internal global [13 x int] [ int 0, int 2, int 1, int 2, int 1, int 0, int 0, int 2, int 1, int 2, int 1, int 2, int 1 ] ; <[13 x int]*> [#uses=0] -%hand_value = internal global [13 x int] [ int 0, int 100, int -100, int 210, int -210, int 0, int 0, int 250, int -250, int 450, int -450, int 230, int -230 ] ; <[13 x int]*> [#uses=0] -%material = internal global [14 x int] zeroinitializer ; <[14 x int]*> [#uses=0] -%Material = internal global int 0 ; <int*> [#uses=0] -%str = internal global [23 x sbyte] c"holding[who][what] > 0\00" ; <[23 x sbyte]*> [#uses=0] -%str = internal global [24 x sbyte] c"holding[who][what] < 20\00" ; <[24 x sbyte]*> [#uses=0] -%fifty = internal global int 0 ; <int*> [#uses=0] -%move_number = internal global int 0 ; <int*> [#uses=1] -%ply = internal global int 0 ; <int*> [#uses=2] -%hash_history = internal global [600 x uint] zeroinitializer ; <[600 x uint]*> [#uses=1] -%hash = internal global uint 0 ; <uint*> [#uses=1] -%ECacheSize.b = internal global bool false ; <bool*> [#uses=1] -%ECache = internal global %struct.ECacheType* null ; <%struct.ECacheType**> [#uses=1] -%ECacheProbes = internal global uint 0 ; <uint*> [#uses=1] -%ECacheHits = internal global uint 0 ; <uint*> [#uses=1] -%str = internal global [34 x sbyte] c"Out of memory allocating ECache.\0A\00" ; <[34 x sbyte]*> [#uses=0] -%rankoffsets.2930 = internal global [8 x int] [ int 110, int 98, int 86, int 74, int 62, int 50, int 38, int 26 ] ; <[8 x int]*> [#uses=0] -%white_castled = internal global int 0 ; <int*> [#uses=0] -%black_castled = internal global int 0 ; <int*> [#uses=0] -%book_ply = internal global int 0 ; <int*> [#uses=0] -%bking_loc = internal global int 0 ; <int*> [#uses=1] -%wking_loc = internal global int 0 ; <int*> [#uses=1] -%white_to_move = internal global int 0 ; <int*> [#uses=3] -%moved = internal global [144 x int] zeroinitializer ; <[144 x int]*> [#uses=0] -%ep_square = internal global int 0 ; <int*> [#uses=0] -%_DefaultRuneLocale = external global %struct._RuneLocale ; <%struct._RuneLocale*> [#uses=0] -%str = internal global [3 x sbyte] c"bm\00" ; <[3 x sbyte]*> [#uses=0] -%str1 = internal global [3 x sbyte] c"am\00" ; <[3 x sbyte]*> [#uses=0] -%str1 = internal global [34 x sbyte] c"No best-move or avoid-move found!\00" ; <[34 x sbyte]*> [#uses=0] -%str = internal global [25 x sbyte] c"\0AName of EPD testsuite: \00" ; <[25 x sbyte]*> [#uses=0] -%__sF = external global [0 x %struct.FILE] ; <[0 x %struct.FILE]*> [#uses=0] -%str = internal global [21 x sbyte] c"\0ATime per move (s): \00" ; <[21 x sbyte]*> [#uses=0] -%str = internal global [2 x sbyte] c"\0A\00" ; <[2 x sbyte]*> [#uses=0] -%str2 = internal global [2 x sbyte] c"r\00" ; <[2 x sbyte]*> [#uses=0] -%root_to_move = internal global int 0 ; <int*> [#uses=1] -%forcedwin.b = internal global bool false ; <bool*> [#uses=2] -%fixed_time = internal global int 0 ; <int*> [#uses=1] -%nodes = internal global int 0 ; <int*> [#uses=1] -%qnodes = internal global int 0 ; <int*> [#uses=1] -%str = internal global [29 x sbyte] c"\0ANodes: %i (%0.2f%% qnodes)\0A\00" ; <[29 x sbyte]*> [#uses=0] -%str = internal global [54 x sbyte] c"ECacheProbes : %u ECacheHits : %u HitRate : %f%%\0A\00" ; <[54 x sbyte]*> [#uses=0] -%TTStores = internal global uint 0 ; <uint*> [#uses=1] -%TTProbes = internal global uint 0 ; <uint*> [#uses=1] -%TTHits = internal global uint 0 ; <uint*> [#uses=1] -%str = internal global [60 x sbyte] c"TTStores : %u TTProbes : %u TTHits : %u HitRate : %f%%\0A\00" ; <[60 x sbyte]*> [#uses=0] -%NTries = internal global uint 0 ; <uint*> [#uses=1] -%NCuts = internal global uint 0 ; <uint*> [#uses=1] -%TExt = internal global uint 0 ; <uint*> [#uses=1] -%str = internal global [51 x sbyte] c"NTries : %u NCuts : %u CutRate : %f%% TExt: %u\0A\00" ; <[51 x sbyte]*> [#uses=0] -%ext_check = internal global uint 0 ; <uint*> [#uses=1] -%razor_drop = internal global uint 0 ; <uint*> [#uses=1] -%razor_material = internal global uint 0 ; <uint*> [#uses=1] -%str = internal global [61 x sbyte] c"Check extensions: %u Razor drops : %u Razor Material : %u\0A\00" ; <[61 x sbyte]*> [#uses=0] -%FHF = internal global uint 0 ; <uint*> [#uses=1] -%FH = internal global uint 0 ; <uint*> [#uses=1] -%str = internal global [22 x sbyte] c"Move ordering : %f%%\0A\00" ; <[22 x sbyte]*> [#uses=0] -%maxposdiff = internal global int 0 ; <int*> [#uses=1] -%str = internal global [47 x sbyte] c"Material score: %d Eval : %d MaxPosDiff: %d\0A\00" ; <[47 x sbyte]*> [#uses=0] -%str = internal global [17 x sbyte] c"Solution found.\0A\00" ; <[17 x sbyte]*> [#uses=0] -%str3 = internal global [21 x sbyte] c"Solution not found.\0A\00" ; <[21 x sbyte]*> [#uses=0] -%str = internal global [15 x sbyte] c"Solved: %d/%d\0A\00" ; <[15 x sbyte]*> [#uses=0] -%str = internal global [9 x sbyte] c"EPD: %s\0A\00" ; <[9 x sbyte]*> [#uses=0] -%str4 = internal global [21 x sbyte] c"Searching to %d ply\0A\00" ; <[21 x sbyte]*> [#uses=0] -%maxdepth = internal global int 0 ; <int*> [#uses=0] -%std_material = internal global [14 x int] [ int 0, int 100, int -100, int 310, int -310, int 4000, int -4000, int 500, int -500, int 900, int -900, int 325, int -325, int 0 ] ; <[14 x int]*> [#uses=0] -%zh_material = internal global [14 x int] [ int 0, int 100, int -100, int 210, int -210, int 4000, int -4000, int 250, int -250, int 450, int -450, int 230, int -230, int 0 ] ; <[14 x int]*> [#uses=0] -%suicide_material = internal global [14 x int] [ int 0, int 15, int -15, int 150, int -150, int 500, int -500, int 150, int -150, int 50, int -50, int 0, int 0, int 0 ] ; <[14 x int]*> [#uses=0] -%losers_material = internal global [14 x int] [ int 0, int 80, int -80, int 320, int -320, int 1000, int -1000, int 350, int -350, int 400, int -400, int 270, int -270, int 0 ] ; <[14 x int]*> [#uses=0] -%Xfile = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0] -%Xrank = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 1, int 1, int 1, int 1, int 1, int 1, int 1, int 1, int 0, int 0, int 0, int 0, int 2, int 2, int 2, int 2, int 2, int 2, int 2, int 2, int 0, int 0, int 0, int 0, int 3, int 3, int 3, int 3, int 3, int 3, int 3, int 3, int 0, int 0, int 0, int 0, int 4, int 4, int 4, int 4, int 4, int 4, int 4, int 4, int 0, int 0, int 0, int 0, int 5, int 5, int 5, int 5, int 5, int 5, int 5, int 5, int 0, int 0, int 0, int 0, int 6, int 6, int 6, int 6, int 6, int 6, int 6, int 6, int 0, int 0, int 0, int 0, int 7, int 7, int 7, int 7, int 7, int 7, int 7, int 7, int 0, int 0, int 0, int 0, int 8, int 8, int 8, int 8, int 8, int 8, int 8, int 8, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0] -%Xdiagl = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 9, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 0, int 0, int 0, int 0, int 10, int 9, int 1, int 2, int 3, int 4, int 5, int 6, int 0, int 0, int 0, int 0, int 11, int 10, int 9, int 1, int 2, int 3, int 4, int 5, int 0, int 0, int 0, int 0, int 12, int 11, int 10, int 9, int 1, int 2, int 3, int 4, int 0, int 0, int 0, int 0, int 13, int 12, int 11, int 10, int 9, int 1, int 2, int 3, int 0, int 0, int 0, int 0, int 14, int 13, int 12, int 11, int 10, int 9, int 1, int 2, int 0, int 0, int 0, int 0, int 15, int 14, int 13, int 12, int 11, int 10, int 9, int 1, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0] -%Xdiagr = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 15, int 14, int 13, int 12, int 11, int 10, int 9, int 1, int 0, int 0, int 0, int 0, int 14, int 13, int 12, int 11, int 10, int 9, int 1, int 2, int 0, int 0, int 0, int 0, int 13, int 12, int 11, int 10, int 9, int 1, int 2, int 3, int 0, int 0, int 0, int 0, int 12, int 11, int 10, int 9, int 1, int 2, int 3, int 4, int 0, int 0, int 0, int 0, int 11, int 10, int 9, int 1, int 2, int 3, int 4, int 5, int 0, int 0, int 0, int 0, int 10, int 9, int 1, int 2, int 3, int 4, int 5, int 6, int 0, int 0, int 0, int 0, int 9, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0] -%sqcolor = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 0, int 0, int 0, int 0, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 0, int 0, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 0, int 0, int 0, int 0, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 0, int 0, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 0, int 0, int 0, int 0, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 0, int 0, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 0, int 0, int 0, int 0, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0] -%pcsqbishop = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -5, int -5, int -10, int -5, int -5, int -10, int -5, int -5, int 0, int 0, int 0, int 0, int -5, int 10, int 5, int 10, int 10, int 5, int 10, int -5, int 0, int 0, int 0, int 0, int -5, int 5, int 6, int 15, int 15, int 6, int 5, int -5, int 0, int 0, int 0, int 0, int -5, int 3, int 15, int 10, int 10, int 15, int 3, int -5, int 0, int 0, int 0, int 0, int -5, int 3, int 15, int 10, int 10, int 15, int 3, int -5, int 0, int 0, int 0, int 0, int -5, int 5, int 6, int 15, int 15, int 6, int 5, int -5, int 0, int 0, int 0, int 0, int -5, int 10, int 5, int 10, int 10, int 5, int 10, int -5, int 0, int 0, int 0, int 0, int -5, int -5, int -10, int -5, int -5, int -10, int -5, int -5, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0] -%black_knight = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -20, int -10, int -10, int -10, int -10, int -10, int -10, int -20, int 0, int 0, int 0, int 0, int -10, int 15, int 25, int 25, int 25, int 25, int 15, int -10, int 0, int 0, int 0, int 0, int -10, int 15, int 25, int 35, int 35, int 35, int 15, int -10, int 0, int 0, int 0, int 0, int -10, int 10, int 25, int 20, int 25, int 25, int 10, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 20, int 20, int 20, int 20, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 15, int 15, int 15, int 15, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 0, int 3, int 3, int 0, int 0, int -10, int 0, int 0, int 0, int 0, int -20, int -35, int -10, int -10, int -10, int -10, int -35, int -20, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0] -%white_knight = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -20, int -35, int -10, int -10, int -10, int -10, int -35, int -20, int 0, int 0, int 0, int 0, int -10, int 0, int 0, int 3, int 3, int 0, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 15, int 15, int 15, int 15, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 20, int 20, int 20, int 20, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 10, int 25, int 20, int 25, int 25, int 10, int -10, int 0, int 0, int 0, int 0, int -10, int 15, int 25, int 35, int 35, int 35, int 15, int -10, int 0, int 0, int 0, int 0, int -10, int 15, int 25, int 25, int 25, int 25, int 15, int -10, int 0, int 0, int 0, int 0, int -20, int -10, int -10, int -10, int -10, int -10, int -10, int -20, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0] -%white_pawn = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 25, int 25, int 35, int 5, int 5, int 50, int 45, int 30, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 7, int 7, int 5, int 5, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 14, int 14, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 10, int 20, int 20, int 10, int 5, int 5, int 0, int 0, int 0, int 0, int 12, int 18, int 18, int 27, int 27, int 18, int 18, int 18, int 0, int 0, int 0, int 0, int 25, int 30, int 30, int 35, int 35, int 35, int 30, int 25, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0] -%black_pawn = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 30, int 30, int 30, int 35, int 35, int 35, int 30, int 25, int 0, int 0, int 0, int 0, int 12, int 18, int 18, int 27, int 27, int 18, int 18, int 18, int 0, int 0, int 0, int 0, int 0, int 0, int 10, int 20, int 20, int 10, int 5, int 5, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 14, int 14, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 7, int 7, int 5, int 5, int 0, int 0, int 0, int 0, int 0, int 25, int 25, int 35, int 5, int 5, int 50, int 45, int 30, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0] -%white_king = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -100, int 7, int 4, int 0, int 10, int 4, int 7, int -100, int 0, int 0, int 0, int 0, int -250, int -200, int -150, int -100, int -100, int -150, int -200, int -250, int 0, int 0, int 0, int 0, int -350, int -300, int -300, int -250, int -250, int -300, int -300, int -350, int 0, int 0, int 0, int 0, int -400, int -400, int -400, int -350, int -350, int -400, int -400, int -400, int 0, int 0, int 0, int 0, int -450, int -450, int -450, int -450, int -450, int -450, int -450, int -450, int 0, int 0, int 0, int 0, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int 0, int 0, int 0, int 0, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int 0, int 0, int 0, int 0, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0] -%black_king = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int 0, int 0, int 0, int 0, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int 0, int 0, int 0, int 0, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int 0, int 0, int 0, int 0, int -450, int -450, int -450, int -450, int -450, int -450, int -450, int -450, int 0, int 0, int 0, int 0, int -400, int -400, int -400, int -350, int -350, int -400, int -400, int -400, int 0, int 0, int 0, int 0, int -350, int -300, int -300, int -250, int -250, int -300, int -300, int -350, int 0, int 0, int 0, int 0, int -250, int -200, int -150, int -100, int -100, int -150, int -200, int -250, int 0, int 0, int 0, int 0, int -100, int 7, int 4, int 0, int 10, int 4, int 7, int -100, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0] -%black_queen = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 5, int 5, int 5, int 10, int 10, int 5, int 5, int 5, int 0, int 0, int 0, int 0, int 0, int 0, int 3, int 3, int 3, int 3, int 3, int 0, int 0, int 0, int 0, int 0, int -30, int -30, int -30, int -30, int -30, int -30, int -30, int -30, int 0, int 0, int 0, int 0, int -60, int -40, int -40, int -60, int -60, int -40, int -40, int -60, int 0, int 0, int 0, int 0, int -40, int -40, int -40, int -40, int -40, int -40, int -40, int -40, int 0, int 0, int 0, int 0, int -15, int -15, int -15, int -10, int -10, int -15, int -15, int -15, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 7, int 10, int 5, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 5, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0] -%white_queen = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 5, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 7, int 10, int 5, int 0, int 0, int 0, int 0, int 0, int 0, int -15, int -15, int -15, int -10, int -10, int -15, int -15, int -15, int 0, int 0, int 0, int 0, int -40, int -40, int -40, int -40, int -40, int -40, int -40, int -40, int 0, int 0, int 0, int 0, int -60, int -40, int -40, int -60, int -60, int -40, int -40, int -60, int 0, int 0, int 0, int 0, int -30, int -30, int -30, int -30, int -30, int -30, int -30, int -30, int 0, int 0, int 0, int 0, int 0, int 0, int 3, int 3, int 3, int 3, int 3, int 0, int 0, int 0, int 0, int 0, int 5, int 5, int 5, int 10, int 10, int 5, int 5, int 5, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0] -%black_rook = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 10, int 15, int 20, int 25, int 25, int 20, int 15, int 10, int 0, int 0, int 0, int 0, int 0, int 10, int 15, int 20, int 20, int 15, int 10, int 0, int 0, int 0, int 0, int 0, int -20, int -20, int -20, int -20, int -20, int -20, int -20, int -20, int 0, int 0, int 0, int 0, int -20, int -20, int -20, int -30, int -30, int -20, int -20, int -20, int 0, int 0, int 0, int 0, int -20, int -20, int -20, int -20, int -20, int -20, int -20, int -20, int 0, int 0, int 0, int 0, int -15, int -15, int -15, int -10, int -10, int -15, int -15, int -15, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 7, int 10, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 2, int 2, int 2, int 2, int 2, int 2, int 2, int 2, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0] -%white_rook = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 2, int 2, int 2, int 2, int 2, int 2, int 2, int 2, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 7, int 10, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -15, int -15, int -15, int -10, int -10, int -15, int -15, int -15, int 0, int 0, int 0, int 0, int -20, int -20, int -20, int -20, int -20, int -20, int -20, int -20, int 0, int 0, int 0, int 0, int -20, int -20, int -20, int -30, int -30, int -20, int -20, int -20, int 0, int 0, int 0, int 0, int -20, int -20, int -20, int -20, int -20, int -20, int -20, int -20, int 0, int 0, int 0, int 0, int 0, int 10, int 15, int 20, int 20, int 15, int 10, int 0, int 0, int 0, int 0, int 0, int 10, int 15, int 20, int 25, int 25, int 20, int 15, int 10, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0] -%upscale = internal global [64 x int] [ int 26, int 27, int 28, int 29, int 30, int 31, int 32, int 33, int 38, int 39, int 40, int 41, int 42, int 43, int 44, int 45, int 50, int 51, int 52, int 53, int 54, int 55, int 56, int 57, int 62, int 63, int 64, int 65, int 66, int 67, int 68, int 69, int 74, int 75, int 76, int 77, int 78, int 79, int 80, int 81, int 86, int 87, int 88, int 89, int 90, int 91, int 92, int 93, int 98, int 99, int 100, int 101, int 102, int 103, int 104, int 105, int 110, int 111, int 112, int 113, int 114, int 115, int 116, int 117 ] ; <[64 x int]*> [#uses=0] -%pre_p_tropism = internal global [9 x int] [ int 9999, int 40, int 20, int 10, int 3, int 1, int 1, int 0, int 9999 ] ; <[9 x int]*> [#uses=0] -%pre_r_tropism = internal global [9 x int] [ int 9999, int 50, int 40, int 15, int 5, int 1, int 1, int 0, int 9999 ] ; <[9 x int]*> [#uses=0] -%pre_n_tropism = internal global [9 x int] [ int 9999, int 50, int 70, int 35, int 10, int 2, int 1, int 0, int 9999 ] ; <[9 x int]*> [#uses=0] -%pre_q_tropism = internal global [9 x int] [ int 9999, int 100, int 60, int 20, int 5, int 2, int 0, int 0, int 9999 ] ; <[9 x int]*> [#uses=0] -%pre_b_tropism = internal global [9 x int] [ int 9999, int 50, int 25, int 15, int 5, int 2, int 2, int 2, int 9999 ] ; <[9 x int]*> [#uses=0] -%rookdistance = internal global [144 x [144 x int]] zeroinitializer ; <[144 x [144 x int]]*> [#uses=0] -%distance = internal global [144 x [144 x int]] zeroinitializer ; <[144 x [144 x int]]*> [#uses=0] -%p_tropism = internal global [144 x [144 x ubyte]] zeroinitializer ; <[144 x [144 x ubyte]]*> [#uses=0] -%b_tropism = internal global [144 x [144 x ubyte]] zeroinitializer ; <[144 x [144 x ubyte]]*> [#uses=0] -%n_tropism = internal global [144 x [144 x ubyte]] zeroinitializer ; <[144 x [144 x ubyte]]*> [#uses=0] -%r_tropism = internal global [144 x [144 x ubyte]] zeroinitializer ; <[144 x [144 x ubyte]]*> [#uses=0] -%q_tropism = internal global [144 x [144 x ubyte]] zeroinitializer ; <[144 x [144 x ubyte]]*> [#uses=0] -%cfg_devscale.b = internal global bool false ; <bool*> [#uses=0] -%pieces = internal global [62 x int] zeroinitializer ; <[62 x int]*> [#uses=0] -%piece_count = internal global int 0 ; <int*> [#uses=1] -%cfg_smarteval.b = internal global bool false ; <bool*> [#uses=0] -%lcentral = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -20, int -15, int -15, int -15, int -15, int -15, int -15, int -20, int 0, int 0, int 0, int 0, int -15, int 0, int 3, int 5, int 5, int 3, int 0, int -15, int 0, int 0, int 0, int 0, int -15, int 0, int 15, int 15, int 15, int 15, int 0, int -15, int 0, int 0, int 0, int 0, int -15, int 0, int 15, int 30, int 30, int 15, int 0, int -15, int 0, int 0, int 0, int 0, int -15, int 0, int 15, int 30, int 30, int 15, int 0, int -15, int 0, int 0, int 0, int 0, int -15, int 0, int 15, int 15, int 15, int 15, int 0, int -15, int 0, int 0, int 0, int 0, int -15, int 0, int 3, int 5, int 5, int 3, int 0, int -15, int 0, int 0, int 0, int 0, int -20, int -15, int -15, int -15, int -15, int -15, int -15, int -20, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0] -%str3 = internal global [81 x sbyte] c"/Volumes/Stuff/src/speccpu2006-091-llvm/benchspec//CPU2006/458.sjeng/src/leval.c\00" ; <[81 x sbyte]*> [#uses=0] -%str5 = internal global [21 x sbyte] c"(i > 0) && (i < 145)\00" ; <[21 x sbyte]*> [#uses=0] -%kingcap.b = internal global bool false ; <bool*> [#uses=0] -%numb_moves = internal global int 0 ; <int*> [#uses=2] -%genfor = internal global %struct.move_s* null ; <%struct.move_s**> [#uses=0] -%captures = internal global uint 0 ; <uint*> [#uses=1] -%fcaptures.b = internal global bool false ; <bool*> [#uses=0] -%gfrom = internal global int 0 ; <int*> [#uses=0] -%Giveaway.b = internal global bool false ; <bool*> [#uses=0] -%path_x = internal global [300 x %struct.move_x] zeroinitializer ; <[300 x %struct.move_x]*> [#uses=0] -%str7 = internal global [81 x sbyte] c"/Volumes/Stuff/src/speccpu2006-091-llvm/benchspec//CPU2006/458.sjeng/src/moves.c\00" ; <[81 x sbyte]*> [#uses=0] -%str8 = internal global [15 x sbyte] c"find_slot < 63\00" ; <[15 x sbyte]*> [#uses=0] -%is_promoted = internal global [62 x int] zeroinitializer ; <[62 x int]*> [#uses=0] -%squares = internal global [144 x int] zeroinitializer ; <[144 x int]*> [#uses=0] -%str = internal global [38 x sbyte] c"promoted > frame && promoted < npiece\00" ; <[38 x sbyte]*> [#uses=0] -%str1 = internal global [38 x sbyte] c"promoted < npiece && promoted > frame\00" ; <[38 x sbyte]*> [#uses=0] -%evalRoutines = internal global [7 x int (int, int)*] [ int (int, int)* %ErrorIt, int (int, int)* %Pawn, int (int, int)* %Knight, int (int, int)* %King, int (int, int)* %Rook, int (int, int)* %Queen, int (int, int)* %Bishop ] ; <[7 x int (int, int)*]*> [#uses=0] -%sbishop = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -2, int -2, int -2, int -2, int -2, int -2, int -2, int -2, int 0, int 0, int 0, int 0, int -2, int 8, int 5, int 5, int 5, int 5, int 8, int -2, int 0, int 0, int 0, int 0, int -2, int 3, int 3, int 5, int 5, int 3, int 3, int -2, int 0, int 0, int 0, int 0, int -2, int 2, int 5, int 4, int 4, int 5, int 2, int -2, int 0, int 0, int 0, int 0, int -2, int 2, int 5, int 4, int 4, int 5, int 2, int -2, int 0, int 0, int 0, int 0, int -2, int 3, int 3, int 5, int 5, int 3, int 3, int -2, int 0, int 0, int 0, int 0, int -2, int 8, int 5, int 5, int 5, int 5, int 8, int -2, int 0, int 0, int 0, int 0, int -2, int -2, int -2, int -2, int -2, int -2, int -2, int -2, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0] -%sknight = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -20, int -10, int -10, int -10, int -10, int -10, int -10, int -20, int 0, int 0, int 0, int 0, int -10, int 0, int 0, int 3, int 3, int 0, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 5, int 5, int 5, int 5, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 5, int 10, int 10, int 5, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 5, int 10, int 10, int 5, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 5, int 5, int 5, int 5, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 0, int 3, int 3, int 0, int 0, int -10, int 0, int 0, int 0, int 0, int -20, int -10, int -10, int -10, int -10, int -10, int -10, int -20, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0] -%swhite_pawn = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 10, int 10, int 3, int 2, int 1, int 0, int 0, int 0, int 0, int 2, int 4, int 6, int 12, int 12, int 6, int 4, int 2, int 0, int 0, int 0, int 0, int 3, int 6, int 9, int 14, int 14, int 9, int 6, int 3, int 0, int 0, int 0, int 0, int 10, int 12, int 14, int 16, int 16, int 14, int 12, int 10, int 0, int 0, int 0, int 0, int 20, int 22, int 24, int 26, int 26, int 24, int 22, int 20, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0] -%sblack_pawn = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 20, int 22, int 24, int 26, int 26, int 24, int 22, int 20, int 0, int 0, int 0, int 0, int 10, int 12, int 14, int 16, int 16, int 14, int 12, int 10, int 0, int 0, int 0, int 0, int 3, int 6, int 9, int 14, int 14, int 9, int 6, int 3, int 0, int 0, int 0, int 0, int 2, int 4, int 6, int 12, int 12, int 6, int 4, int 2, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 10, int 10, int 3, int 2, int 1, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0] -%swhite_king = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 2, int 14, int 0, int 0, int 0, int 9, int 14, int 2, int 0, int 0, int 0, int 0, int -3, int -5, int -6, int -6, int -6, int -6, int -5, int -3, int 0, int 0, int 0, int 0, int -5, int -5, int -8, int -8, int -8, int -8, int -5, int -5, int 0, int 0, int 0, int 0, int -8, int -8, int -13, int -13, int -13, int -13, int -8, int -8, int 0, int 0, int 0, int 0, int -13, int -13, int -21, int -21, int -21, int -21, int -13, int -13, int 0, int 0, int 0, int 0, int -21, int -21, int -34, int -34, int -34, int -34, int -21, int -21, int 0, int 0, int 0, int 0, int -34, int -34, int -55, int -55, int -55, int -55, int -34, int -34, int 0, int 0, int 0, int 0, int -55, int -55, int -89, int -89, int -89, int -89, int -55, int -55, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0] -%sblack_king = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -55, int -55, int -89, int -89, int -89, int -89, int -55, int -55, int 0, int 0, int 0, int 0, int -34, int -34, int -55, int -55, int -55, int -55, int -34, int -34, int 0, int 0, int 0, int 0, int -21, int -21, int -34, int -34, int -34, int -34, int -21, int -21, int 0, int 0, int 0, int 0, int -13, int -13, int -21, int -21, int -21, int -21, int -13, int -13, int 0, int 0, int 0, int 0, int -8, int -8, int -13, int -13, int -13, int -13, int -8, int -8, int 0, int 0, int 0, int 0, int -5, int -5, int -8, int -8, int -8, int -8, int -5, int -5, int 0, int 0, int 0, int 0, int -3, int -5, int -6, int -6, int -6, int -6, int -5, int -3, int 0, int 0, int 0, int 0, int 2, int 14, int 0, int 0, int 0, int 9, int 14, int 2, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0] -%send_king = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -5, int -3, int -1, int 0, int 0, int -1, int -3, int -5, int 0, int 0, int 0, int 0, int -3, int 10, int 10, int 10, int 10, int 10, int 10, int -3, int 0, int 0, int 0, int 0, int -1, int 10, int 25, int 25, int 25, int 25, int 10, int -1, int 0, int 0, int 0, int 0, int 0, int 10, int 25, int 50, int 50, int 25, int 10, int 0, int 0, int 0, int 0, int 0, int 0, int 10, int 25, int 50, int 50, int 25, int 10, int 0, int 0, int 0, int 0, int 0, int -1, int 10, int 25, int 25, int 25, int 25, int 10, int -1, int 0, int 0, int 0, int 0, int -3, int 10, int 10, int 10, int 10, int 10, int 10, int -3, int 0, int 0, int 0, int 0, int -5, int -3, int -1, int 0, int 0, int -1, int -3, int -5, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0] -%srev_rank = internal global [9 x int] [ int 0, int 8, int 7, int 6, int 5, int 4, int 3, int 2, int 1 ] ; <[9 x int]*> [#uses=0] -%std_p_tropism = internal global [8 x int] [ int 9999, int 15, int 10, int 7, int 2, int 0, int 0, int 0 ] ; <[8 x int]*> [#uses=0] -%std_own_p_tropism = internal global [8 x int] [ int 9999, int 30, int 10, int 2, int 0, int 0, int 0, int 0 ] ; <[8 x int]*> [#uses=0] -%std_r_tropism = internal global [16 x int] [ int 9999, int 0, int 15, int 5, int 2, int 1, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[16 x int]*> [#uses=0] -%std_n_tropism = internal global [8 x int] [ int 9999, int 14, int 9, int 6, int 1, int 0, int 0, int 0 ] ; <[8 x int]*> [#uses=0] -%std_q_tropism = internal global [8 x int] [ int 9999, int 200, int 50, int 15, int 3, int 2, int 1, int 0 ] ; <[8 x int]*> [#uses=0] -%std_b_tropism = internal global [8 x int] [ int 9999, int 12, int 7, int 5, int 0, int 0, int 0, int 0 ] ; <[8 x int]*> [#uses=0] -%phase = internal global int 0 ; <int*> [#uses=1] -%dir.3001 = internal global [4 x int] [ int -13, int -11, int 11, int 13 ] ; <[4 x int]*> [#uses=0] -%dir.3021 = internal global [4 x int] [ int -1, int 1, int 12, int -12 ] ; <[4 x int]*> [#uses=0] -%king_locs = internal global [2 x int] zeroinitializer ; <[2 x int]*> [#uses=0] -%square_d1.3081 = internal global [2 x int] [ int 29, int 113 ] ; <[2 x int]*> [#uses=0] -%wmat = internal global int 0 ; <int*> [#uses=0] -%bmat = internal global int 0 ; <int*> [#uses=0] -%str = internal global [35 x sbyte] c"Illegal piece detected sq=%i c=%i\0A\00" ; <[35 x sbyte]*> [#uses=0] -%str10 = internal global [81 x sbyte] c"/Volumes/Stuff/src/speccpu2006-091-llvm/benchspec//CPU2006/458.sjeng/src/neval.c\00" ; <[81 x sbyte]*> [#uses=0] -%std_hand_value = internal global [13 x int] [ int 0, int 100, int -100, int 210, int -210, int 0, int 0, int 250, int -250, int 450, int -450, int 230, int -230 ] ; <[13 x int]*> [#uses=0] -%xb_mode = internal global int 0 ; <int*> [#uses=0] -%str = internal global [69 x sbyte] c"tellics ptell Hello! I am Sjeng and hope you enjoy playing with me.\0A\00" ; <[69 x sbyte]*> [#uses=0] -%str = internal global [76 x sbyte] c"tellics ptell For help on some commands that I understand, ptell me 'help'\0A\00" ; <[76 x sbyte]*> [#uses=0] -%str12 = internal global [3 x sbyte] c"%s\00" ; <[3 x sbyte]*> [#uses=0] -%my_partner = internal global [256 x sbyte] zeroinitializer ; <[256 x sbyte]*> [#uses=0] -%str13 = internal global [25 x sbyte] c"tellics set f5 bughouse\0A\00" ; <[25 x sbyte]*> [#uses=0] -%str = internal global [16 x sbyte] c"tellics unseek\0A\00" ; <[16 x sbyte]*> [#uses=0] -%str = internal global [20 x sbyte] c"tellics set f5 1=1\0A\00" ; <[20 x sbyte]*> [#uses=0] -%str = internal global [80 x sbyte] c"is...uh...what did you say?\0A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00" ; <[80 x sbyte]*> [#uses=0] -%str = internal global [5 x sbyte] c"help\00" ; <[5 x sbyte]*> [#uses=0] -%str = internal global [147 x sbyte] c"tellics ptell Commands that I understand are : sit, go, fast, slow, abort, flag, +/++/+++/-/--/---{p,n,b,r,q,d,h,trades}, x, dead, formula, help.\0A\00" ; <[147 x sbyte]*> [#uses=0] -%str = internal global [6 x sbyte] c"sorry\00" ; <[6 x sbyte]*> [#uses=0] -%str = internal global [59 x sbyte] c"tellics ptell Sorry, but I'm not playing a bughouse game.\0A\00" ; <[59 x sbyte]*> [#uses=0] -%str = internal global [4 x sbyte] c"sit\00" ; <[4 x sbyte]*> [#uses=0] -%str = internal global [56 x sbyte] c"tellics ptell Ok, I sit next move. Tell me when to go.\0A\00" ; <[56 x sbyte]*> [#uses=0] -%must_sit.b = internal global bool false ; <bool*> [#uses=0] -%str114 = internal global [3 x sbyte] c"go\00" ; <[3 x sbyte]*> [#uses=0] -%str2 = internal global [5 x sbyte] c"move\00" ; <[5 x sbyte]*> [#uses=0] -%str = internal global [31 x sbyte] c"tellics ptell Ok, I'm moving.\0A\00" ; <[31 x sbyte]*> [#uses=0] -%str3 = internal global [5 x sbyte] c"fast\00" ; <[5 x sbyte]*> [#uses=0] -%str4 = internal global [5 x sbyte] c"time\00" ; <[5 x sbyte]*> [#uses=0] -%str15 = internal global [35 x sbyte] c"tellics ptell Ok, I'm going FAST!\0A\00" ; <[35 x sbyte]*> [#uses=0] -%go_fast.b = internal global bool false ; <bool*> [#uses=0] -%str5 = internal global [5 x sbyte] c"slow\00" ; <[5 x sbyte]*> [#uses=0] -%str16 = internal global [36 x sbyte] c"tellics ptell Ok, moving normally.\0A\00" ; <[36 x sbyte]*> [#uses=0] -%str6 = internal global [6 x sbyte] c"abort\00" ; <[6 x sbyte]*> [#uses=0] -%str7 = internal global [35 x sbyte] c"tellics ptell Requesting abort...\0A\00" ; <[35 x sbyte]*> [#uses=0] -%str17 = internal global [15 x sbyte] c"tellics abort\0A\00" ; <[15 x sbyte]*> [#uses=0] -%str8 = internal global [5 x sbyte] c"flag\00" ; <[5 x sbyte]*> [#uses=0] -%str = internal global [27 x sbyte] c"tellics ptell Flagging...\0A\00" ; <[27 x sbyte]*> [#uses=0] -%str = internal global [14 x sbyte] c"tellics flag\0A\00" ; <[14 x sbyte]*> [#uses=0] -%str18 = internal global [2 x sbyte] c"+\00" ; <[2 x sbyte]*> [#uses=0] -%str9 = internal global [6 x sbyte] c"trade\00" ; <[6 x sbyte]*> [#uses=0] -%str10 = internal global [35 x sbyte] c"tellics ptell Ok, trading is GOOD\0A\00" ; <[35 x sbyte]*> [#uses=0] -%str11 = internal global [4 x sbyte] c"+++\00" ; <[4 x sbyte]*> [#uses=0] -%str12 = internal global [6 x sbyte] c"mates\00" ; <[6 x sbyte]*> [#uses=0] -%str13 = internal global [3 x sbyte] c"++\00" ; <[3 x sbyte]*> [#uses=0] -%str = internal global [49 x sbyte] c"is VERY good (ptell me 'x' to play normal again)\00" ; <[49 x sbyte]*> [#uses=0] -%str = internal global [44 x sbyte] c"is good (ptell me 'x' to play normal again)\00" ; <[44 x sbyte]*> [#uses=0] -%str19 = internal global [29 x sbyte] c"tellics ptell Ok, Knight %s\0A\00" ; <[29 x sbyte]*> [#uses=0] -%str14 = internal global [29 x sbyte] c"tellics ptell Ok, Bishop %s\0A\00" ; <[29 x sbyte]*> [#uses=0] -%str15 = internal global [27 x sbyte] c"tellics ptell Ok, Rook %s\0A\00" ; <[27 x sbyte]*> [#uses=0] -%str = internal global [28 x sbyte] c"tellics ptell Ok, Queen %s\0A\00" ; <[28 x sbyte]*> [#uses=0] -%str16 = internal global [27 x sbyte] c"tellics ptell Ok, Pawn %s\0A\00" ; <[27 x sbyte]*> [#uses=0] -%str17 = internal global [31 x sbyte] c"tellics ptell Ok, Diagonal %s\0A\00" ; <[31 x sbyte]*> [#uses=0] -%str18 = internal global [28 x sbyte] c"tellics ptell Ok, Heavy %s\0A\00" ; <[28 x sbyte]*> [#uses=0] -%str20 = internal global [34 x sbyte] c"tellics ptell Ok, trading is BAD\0A\00" ; <[34 x sbyte]*> [#uses=0] -%str20 = internal global [4 x sbyte] c"---\00" ; <[4 x sbyte]*> [#uses=0] -%str = internal global [53 x sbyte] c"mates you (ptell me 'x' when it no longer mates you)\00" ; <[53 x sbyte]*> [#uses=0] -%str21 = internal global [3 x sbyte] c"--\00" ; <[3 x sbyte]*> [#uses=0] -%str = internal global [52 x sbyte] c"is VERY bad (ptell me 'x' when it is no longer bad)\00" ; <[52 x sbyte]*> [#uses=0] -%str21 = internal global [47 x sbyte] c"is bad (ptell me 'x' when it is no longer bad)\00" ; <[47 x sbyte]*> [#uses=0] -%str23 = internal global [16 x sbyte] c"mate me anymore\00" ; <[16 x sbyte]*> [#uses=0] -%str24 = internal global [6 x sbyte] c"never\00" ; <[6 x sbyte]*> [#uses=0] -%str25 = internal global [5 x sbyte] c"mind\00" ; <[5 x sbyte]*> [#uses=0] -%str22 = internal global [9 x sbyte] c"ptell me\00" ; <[9 x sbyte]*> [#uses=0] -%str = internal global [55 x sbyte] c"tellics ptell Ok, reverting to STANDARD piece values!\0A\00" ; <[55 x sbyte]*> [#uses=0] -%partnerdead.b = internal global bool false ; <bool*> [#uses=0] -%piecedead.b = internal global bool false ; <bool*> [#uses=0] -%str = internal global [26 x sbyte] c"i'll have to sit...(dead)\00" ; <[26 x sbyte]*> [#uses=0] -%str27 = internal global [5 x sbyte] c"dead\00" ; <[5 x sbyte]*> [#uses=0] -%str28 = internal global [27 x sbyte] c"i'll have to sit...(piece)\00" ; <[27 x sbyte]*> [#uses=0] -%str29 = internal global [3 x sbyte] c"ok\00" ; <[3 x sbyte]*> [#uses=0] -%str30 = internal global [3 x sbyte] c"hi\00" ; <[3 x sbyte]*> [#uses=0] -%str31 = internal global [6 x sbyte] c"hello\00" ; <[6 x sbyte]*> [#uses=0] -%str32 = internal global [26 x sbyte] c"tellics ptell Greetings.\0A\00" ; <[26 x sbyte]*> [#uses=0] -%str = internal global [8 x sbyte] c"formula\00" ; <[8 x sbyte]*> [#uses=0] -%str = internal global [87 x sbyte] c"tellics ptell Setting formula, if you are still interrupted, complain to my operator.\0A\00" ; <[87 x sbyte]*> [#uses=0] -%str33 = internal global [59 x sbyte] c"tellics ptell Sorry, but I don't understand that command.\0A\00" ; <[59 x sbyte]*> [#uses=0] -%pawnmated.3298 = internal global int 0 ; <int*> [#uses=0] -%knightmated.3299 = internal global int 0 ; <int*> [#uses=0] -%bishopmated.3300 = internal global int 0 ; <int*> [#uses=0] -%rookmated.3301 = internal global int 0 ; <int*> [#uses=0] -%queenmated.3302 = internal global int 0 ; <int*> [#uses=0] -%str = internal global [41 x sbyte] c"tellics ptell p doesn't mate me anymore\0A\00" ; <[41 x sbyte]*> [#uses=0] -%str34 = internal global [41 x sbyte] c"tellics ptell n doesn't mate me anymore\0A\00" ; <[41 x sbyte]*> [#uses=0] -%str35 = internal global [41 x sbyte] c"tellics ptell b doesn't mate me anymore\0A\00" ; <[41 x sbyte]*> [#uses=0] -%str36 = internal global [41 x sbyte] c"tellics ptell r doesn't mate me anymore\0A\00" ; <[41 x sbyte]*> [#uses=0] -%str37 = internal global [41 x sbyte] c"tellics ptell q doesn't mate me anymore\0A\00" ; <[41 x sbyte]*> [#uses=0] -%str38 = internal global [20 x sbyte] c"tellics ptell ---p\0A\00" ; <[20 x sbyte]*> [#uses=0] -%str39 = internal global [20 x sbyte] c"tellics ptell ---n\0A\00" ; <[20 x sbyte]*> [#uses=0] -%str40 = internal global [20 x sbyte] c"tellics ptell ---b\0A\00" ; <[20 x sbyte]*> [#uses=0] -%str41 = internal global [20 x sbyte] c"tellics ptell ---r\0A\00" ; <[20 x sbyte]*> [#uses=0] -%str42 = internal global [20 x sbyte] c"tellics ptell ---q\0A\00" ; <[20 x sbyte]*> [#uses=0] -%str23 = internal global [17 x sbyte] c"tellics ptell x\0A\00" ; <[17 x sbyte]*> [#uses=0] -%str = internal global [18 x sbyte] c"tellics ptell go\0A\00" ; <[18 x sbyte]*> [#uses=0] -%bufftop = internal global int 0 ; <int*> [#uses=2] -%membuff = internal global ubyte* null ; <ubyte**> [#uses=3] -%maxply = internal global int 0 ; <int*> [#uses=1] -%forwards = internal global int 0 ; <int*> [#uses=1] -%nodecount = internal global int 0 ; <int*> [#uses=1] -%frees = internal global int 0 ; <int*> [#uses=0] -%PBSize.b = internal global bool false ; <bool*> [#uses=1] -%alllosers.b = internal global bool false ; <bool*> [#uses=1] -%rootlosers = internal global [300 x int] zeroinitializer ; <[300 x int]*> [#uses=1] -%pn_move = internal global %struct.move_s zeroinitializer ; <%struct.move_s*> [#uses=7] -%iters = internal global int 0 ; <int*> [#uses=1] -%kibitzed.b = internal global bool false ; <bool*> [#uses=0] -%str24 = internal global [28 x sbyte] c"tellics kibitz Forced win!\0A\00" ; <[28 x sbyte]*> [#uses=0] -%str25 = internal global [34 x sbyte] c"tellics kibitz Forced win! (alt)\0A\00" ; <[34 x sbyte]*> [#uses=0] -%pn_time = internal global int 0 ; <int*> [#uses=1] -%post = internal global uint 0 ; <uint*> [#uses=0] -%str = internal global [94 x sbyte] c"tellics whisper proof %d, disproof %d, %d losers, highest depth %d, primary %d, secondary %d\0A\00" ; <[94 x sbyte]*> [#uses=0] -%str26 = internal global [30 x sbyte] c"tellics whisper Forced reply\0A\00" ; <[30 x sbyte]*> [#uses=0] -%str27 = internal global [60 x sbyte] c"P: %d D: %d N: %d S: %d Mem: %2.2fM Iters: %d MaxDepth: %d\0A\00" ; <[60 x sbyte]*> [#uses=0] -%str = internal global [90 x sbyte] c"tellics whisper proof %d, disproof %d, %d nodes, %d forwards, %d iters, highest depth %d\0A\00" ; <[90 x sbyte]*> [#uses=0] -%str = internal global [11 x sbyte] c"Time : %f\0A\00" ; <[11 x sbyte]*> [#uses=0] -%str28 = internal global [23 x sbyte] c"This position is WON.\0A\00" ; <[23 x sbyte]*> [#uses=0] -%str29 = internal global [5 x sbyte] c"PV: \00" ; <[5 x sbyte]*> [#uses=0] -%str30 = internal global [4 x sbyte] c"%s \00" ; <[4 x sbyte]*> [#uses=0] -%str31 = internal global [2 x sbyte] c" \00" ; <[2 x sbyte]*> [#uses=0] -%str32 = internal global [41 x sbyte] c"\0Atellics kibitz Forced win in %d moves.\0A\00" ; <[41 x sbyte]*> [#uses=0] -%str33 = internal global [20 x sbyte] c"\0A1-0 {White mates}\0A\00" ; <[20 x sbyte]*> [#uses=0] -%result = internal global int 0 ; <int*> [#uses=4] -%str1 = internal global [20 x sbyte] c"\0A0-1 {Black mates}\0A\00" ; <[20 x sbyte]*> [#uses=0] -%str35 = internal global [24 x sbyte] c"This position is LOST.\0A\00" ; <[24 x sbyte]*> [#uses=0] -%str36 = internal global [27 x sbyte] c"This position is UNKNOWN.\0A\00" ; <[27 x sbyte]*> [#uses=0] -%str37 = internal global [47 x sbyte] c"P: %d D: %d N: %d S: %d Mem: %2.2fM Iters: %d\0A\00" ; <[47 x sbyte]*> [#uses=0] -%s_threat.b = internal global bool false ; <bool*> [#uses=0] -%TTSize.b = internal global bool false ; <bool*> [#uses=3] -%cfg_razordrop.b = internal global bool false ; <bool*> [#uses=0] -%cfg_futprune.b = internal global bool false ; <bool*> [#uses=0] -%cfg_onerep.b = internal global bool false ; <bool*> [#uses=0] -%setcode = internal global [30 x sbyte] zeroinitializer ; <[30 x sbyte]*> [#uses=0] -%str38 = internal global [3 x sbyte] c"%u\00" ; <[3 x sbyte]*> [#uses=0] -%searching_pv.b = internal global bool false ; <bool*> [#uses=0] -%pv = internal global [300 x [300 x %struct.move_s]] zeroinitializer ; <[300 x [300 x %struct.move_s]]*> [#uses=0] -%i_depth = internal global int 0 ; <int*> [#uses=0] -%history_h = internal global [144 x [144 x uint]] zeroinitializer ; <[144 x [144 x uint]]*> [#uses=0] -%killer1 = internal global [300 x %struct.move_s] zeroinitializer ; <[300 x %struct.move_s]*> [#uses=0] -%killer2 = internal global [300 x %struct.move_s] zeroinitializer ; <[300 x %struct.move_s]*> [#uses=0] -%killer3 = internal global [300 x %struct.move_s] zeroinitializer ; <[300 x %struct.move_s]*> [#uses=0] -%rootnodecount = internal global [512 x uint] zeroinitializer ; <[512 x uint]*> [#uses=0] -%raw_nodes = internal global int 0 ; <int*> [#uses=0] -%pv_length = internal global [300 x int] zeroinitializer ; <[300 x int]*> [#uses=0] -%time_exit.b = internal global bool false ; <bool*> [#uses=0] -%time_for_move = internal global int 0 ; <int*> [#uses=3] -%failed = internal global int 0 ; <int*> [#uses=0] -%extendedtime.b = internal global bool false ; <bool*> [#uses=1] -%time_left = internal global int 0 ; <int*> [#uses=0] -%str39 = internal global [38 x sbyte] c"Extended from %d to %d, time left %d\0A\00" ; <[38 x sbyte]*> [#uses=0] -%checks = internal global [300 x uint] zeroinitializer ; <[300 x uint]*> [#uses=0] -%singular = internal global [300 x uint] zeroinitializer ; <[300 x uint]*> [#uses=0] -%recaps = internal global [300 x uint] zeroinitializer ; <[300 x uint]*> [#uses=0] -%ext_onerep = internal global uint 0 ; <uint*> [#uses=1] -%FULL = internal global uint 0 ; <uint*> [#uses=1] -%PVS = internal global uint 0 ; <uint*> [#uses=1] -%PVSF = internal global uint 0 ; <uint*> [#uses=1] -%killer_scores = internal global [300 x int] zeroinitializer ; <[300 x int]*> [#uses=0] -%killer_scores2 = internal global [300 x int] zeroinitializer ; <[300 x int]*> [#uses=0] -%killer_scores3 = internal global [300 x int] zeroinitializer ; <[300 x int]*> [#uses=0] -%time_failure.b = internal global bool false ; <bool*> [#uses=0] -%cur_score = internal global int 0 ; <int*> [#uses=0] -%legals = internal global int 0 ; <int*> [#uses=3] -%movetotal = internal global int 0 ; <int*> [#uses=0] -%searching_move = internal global [20 x sbyte] zeroinitializer ; <[20 x sbyte]*> [#uses=0] -%is_pondering.b = internal global bool false ; <bool*> [#uses=6] -%true_i_depth = internal global sbyte 0 ; <sbyte*> [#uses=1] -%is_analyzing.b = internal global bool false ; <bool*> [#uses=0] -%inc = internal global int 0 ; <int*> [#uses=1] -%time_cushion = internal global int 0 ; <int*> [#uses=2] -%str40 = internal global [16 x sbyte] c"Opening phase.\0A\00" ; <[16 x sbyte]*> [#uses=1] -%str = internal global [19 x sbyte] c"Middlegame phase.\0A\00" ; <[19 x sbyte]*> [#uses=1] -%str1 = internal global [16 x sbyte] c"Endgame phase.\0A\00" ; <[16 x sbyte]*> [#uses=1] -%str43 = internal global [20 x sbyte] c"Time for move : %d\0A\00" ; <[20 x sbyte]*> [#uses=1] -%postpv = internal global [256 x sbyte] zeroinitializer ; <[256 x sbyte]*> [#uses=0] -%str44 = internal global [49 x sbyte] c"tellics whisper %d restart(s), ended up with %s\0A\00" ; <[49 x sbyte]*> [#uses=0] -%moves_to_tc = internal global int 0 ; <int*> [#uses=0] -%str45 = internal global [27 x sbyte] c"tellics kibitz Mate in %d\0A\00" ; <[27 x sbyte]*> [#uses=0] -%str46 = internal global [52 x sbyte] c"tellics ptell Mate in %d, give him no more pieces.\0A\00" ; <[52 x sbyte]*> [#uses=0] -%tradefreely.b = internal global bool false ; <bool*> [#uses=0] -%str = internal global [37 x sbyte] c"tellics ptell You can trade freely.\0A\00" ; <[37 x sbyte]*> [#uses=0] -%str47 = internal global [25 x sbyte] c"tellics ptell ---trades\0A\00" ; <[25 x sbyte]*> [#uses=0] -%str2 = internal global [49 x sbyte] c"tellics kibitz Both players dead...resigning...\0A\00" ; <[49 x sbyte]*> [#uses=0] -%str3 = internal global [16 x sbyte] c"tellics resign\0A\00" ; <[16 x sbyte]*> [#uses=0] -%str48 = internal global [81 x sbyte] c"tellics ptell I am forcedly mated (dead). Tell me 'go' to start moving into it.\0A\00" ; <[81 x sbyte]*> [#uses=0] -%str = internal global [62 x sbyte] c"tellics ptell I'll have to sit...(lose piece that mates you)\0A\00" ; <[62 x sbyte]*> [#uses=0] -%see_num_attackers = internal global [2 x int] zeroinitializer ; <[2 x int]*> [#uses=0] -%see_attackers = internal global [2 x [16 x %struct.see_data]] zeroinitializer ; <[2 x [16 x %struct.see_data]]*> [#uses=0] -%scentral = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -20, int -10, int -10, int -10, int -10, int -10, int -10, int -20, int 0, int 0, int 0, int 0, int -10, int 0, int 3, int 5, int 5, int 3, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 2, int 15, int 15, int 15, int 15, int 2, int -10, int 0, int 0, int 0, int 0, int -10, int 7, int 15, int 25, int 25, int 15, int 7, int -10, int 0, int 0, int 0, int 0, int -10, int 7, int 15, int 25, int 25, int 15, int 7, int -10, int 0, int 0, int 0, int 0, int -10, int 2, int 15, int 15, int 15, int 15, int 2, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 3, int 5, int 5, int 3, int 0, int -10, int 0, int 0, int 0, int 0, int -20, int -10, int -10, int -10, int -10, int -10, int -10, int -20, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0] -%str51 = internal global [81 x sbyte] c"/Volumes/Stuff/src/speccpu2006-091-llvm/benchspec//CPU2006/458.sjeng/src/seval.c\00" ; <[81 x sbyte]*> [#uses=0] -%divider = internal global [50 x sbyte] c"-------------------------------------------------\00" ; <[50 x sbyte]*> [#uses=0] -%min_per_game = internal global int 0 ; <int*> [#uses=0] -%opp_rating = internal global int 0 ; <int*> [#uses=0] -%my_rating = internal global int 0 ; <int*> [#uses=0] -%str53 = internal global [15 x sbyte] c"SPEC Workload\0A\00" ; <[15 x sbyte]*> [#uses=0] -%opening_history = internal global [256 x sbyte] zeroinitializer ; <[256 x sbyte]*> [#uses=0] -%str60 = internal global [81 x sbyte] c"Material score: %d Eval : %d MaxPosDiff: %d White hand: %d Black hand : %d\0A\00" ; <[81 x sbyte]*> [#uses=0] -%str61 = internal global [26 x sbyte] c"Hash : %X HoldHash : %X\0A\00" ; <[26 x sbyte]*> [#uses=0] -%str62 = internal global [9 x sbyte] c"move %s\0A\00" ; <[9 x sbyte]*> [#uses=0] -%str63 = internal global [5 x sbyte] c"\0A%s\0A\00" ; <[5 x sbyte]*> [#uses=0] -%str64 = internal global [19 x sbyte] c"0-1 {Black Mates}\0A\00" ; <[19 x sbyte]*> [#uses=0] -%str1 = internal global [19 x sbyte] c"1-0 {White Mates}\0A\00" ; <[19 x sbyte]*> [#uses=0] -%str65 = internal global [27 x sbyte] c"1/2-1/2 {Fifty move rule}\0A\00" ; <[27 x sbyte]*> [#uses=0] -%str2 = internal global [29 x sbyte] c"1/2-1/2 {3 fold repetition}\0A\00" ; <[29 x sbyte]*> [#uses=0] -%str66 = internal global [16 x sbyte] c"1/2-1/2 {Draw}\0A\00" ; <[16 x sbyte]*> [#uses=0] -%str68 = internal global [8 x sbyte] c"Sjeng: \00" ; <[8 x sbyte]*> [#uses=0] -%str69 = internal global [18 x sbyte] c"Illegal move: %s\0A\00" ; <[18 x sbyte]*> [#uses=0] -%str3 = internal global [9 x sbyte] c"setboard\00" ; <[9 x sbyte]*> [#uses=0] -%str470 = internal global [5 x sbyte] c"quit\00" ; <[5 x sbyte]*> [#uses=0] -%str571 = internal global [5 x sbyte] c"exit\00" ; <[5 x sbyte]*> [#uses=0] -%str6 = internal global [8 x sbyte] c"diagram\00" ; <[8 x sbyte]*> [#uses=0] -%str7 = internal global [2 x sbyte] c"d\00" ; <[2 x sbyte]*> [#uses=0] -%str72 = internal global [6 x sbyte] c"perft\00" ; <[6 x sbyte]*> [#uses=0] -%str73 = internal global [3 x sbyte] c"%d\00" ; <[3 x sbyte]*> [#uses=0] -%str74 = internal global [28 x sbyte] c"Raw nodes for depth %d: %i\0A\00" ; <[28 x sbyte]*> [#uses=0] -%str = internal global [13 x sbyte] c"Time : %.2f\0A\00" ; <[13 x sbyte]*> [#uses=0] -%str75 = internal global [4 x sbyte] c"new\00" ; <[4 x sbyte]*> [#uses=0] -%str = internal global [40 x sbyte] c"tellics set 1 Sjeng SPEC 1.0 (SPEC/%s)\0A\00" ; <[40 x sbyte]*> [#uses=0] -%str = internal global [7 x sbyte] c"xboard\00" ; <[7 x sbyte]*> [#uses=0] -%str8 = internal global [6 x sbyte] c"nodes\00" ; <[6 x sbyte]*> [#uses=0] -%str77 = internal global [38 x sbyte] c"Number of nodes: %i (%0.2f%% qnodes)\0A\00" ; <[38 x sbyte]*> [#uses=0] -%str9 = internal global [5 x sbyte] c"post\00" ; <[5 x sbyte]*> [#uses=0] -%str10 = internal global [7 x sbyte] c"nopost\00" ; <[7 x sbyte]*> [#uses=0] -%str11 = internal global [7 x sbyte] c"random\00" ; <[7 x sbyte]*> [#uses=0] -%str12 = internal global [5 x sbyte] c"hard\00" ; <[5 x sbyte]*> [#uses=0] -%str13 = internal global [5 x sbyte] c"easy\00" ; <[5 x sbyte]*> [#uses=0] -%str14 = internal global [2 x sbyte] c"?\00" ; <[2 x sbyte]*> [#uses=0] -%str15 = internal global [6 x sbyte] c"white\00" ; <[6 x sbyte]*> [#uses=0] -%str16 = internal global [6 x sbyte] c"black\00" ; <[6 x sbyte]*> [#uses=0] -%str17 = internal global [6 x sbyte] c"force\00" ; <[6 x sbyte]*> [#uses=0] -%str18 = internal global [5 x sbyte] c"eval\00" ; <[5 x sbyte]*> [#uses=0] -%str = internal global [10 x sbyte] c"Eval: %d\0A\00" ; <[10 x sbyte]*> [#uses=0] -%str2178 = internal global [3 x sbyte] c"%i\00" ; <[3 x sbyte]*> [#uses=0] -%str22 = internal global [5 x sbyte] c"otim\00" ; <[5 x sbyte]*> [#uses=0] -%opp_time = internal global int 0 ; <int*> [#uses=0] -%str23 = internal global [6 x sbyte] c"level\00" ; <[6 x sbyte]*> [#uses=0] -%str = internal global [12 x sbyte] c"%i %i:%i %i\00" ; <[12 x sbyte]*> [#uses=0] -%sec_per_game = internal global int 0 ; <int*> [#uses=0] -%str24 = internal global [9 x sbyte] c"%i %i %i\00" ; <[9 x sbyte]*> [#uses=0] -%str25 = internal global [7 x sbyte] c"rating\00" ; <[7 x sbyte]*> [#uses=0] -%str26 = internal global [6 x sbyte] c"%i %i\00" ; <[6 x sbyte]*> [#uses=0] -%str27 = internal global [8 x sbyte] c"holding\00" ; <[8 x sbyte]*> [#uses=0] -%str28 = internal global [8 x sbyte] c"variant\00" ; <[8 x sbyte]*> [#uses=0] -%str29 = internal global [7 x sbyte] c"normal\00" ; <[7 x sbyte]*> [#uses=0] -%str79 = internal global [11 x sbyte] c"crazyhouse\00" ; <[11 x sbyte]*> [#uses=0] -%str30 = internal global [9 x sbyte] c"bughouse\00" ; <[9 x sbyte]*> [#uses=0] -%str31 = internal global [8 x sbyte] c"suicide\00" ; <[8 x sbyte]*> [#uses=0] -%str32 = internal global [9 x sbyte] c"giveaway\00" ; <[9 x sbyte]*> [#uses=0] -%str33 = internal global [7 x sbyte] c"losers\00" ; <[7 x sbyte]*> [#uses=0] -%str34 = internal global [8 x sbyte] c"analyze\00" ; <[8 x sbyte]*> [#uses=0] -%str35 = internal global [5 x sbyte] c"undo\00" ; <[5 x sbyte]*> [#uses=0] -%str36 = internal global [18 x sbyte] c"Move number : %d\0A\00" ; <[18 x sbyte]*> [#uses=0] -%str37 = internal global [7 x sbyte] c"remove\00" ; <[7 x sbyte]*> [#uses=0] -%str38 = internal global [5 x sbyte] c"edit\00" ; <[5 x sbyte]*> [#uses=0] -%str41 = internal global [2 x sbyte] c"#\00" ; <[2 x sbyte]*> [#uses=0] -%str42 = internal global [8 x sbyte] c"partner\00" ; <[8 x sbyte]*> [#uses=0] -%str43 = internal global [9 x sbyte] c"$partner\00" ; <[9 x sbyte]*> [#uses=0] -%str44 = internal global [6 x sbyte] c"ptell\00" ; <[6 x sbyte]*> [#uses=0] -%str45 = internal global [5 x sbyte] c"test\00" ; <[5 x sbyte]*> [#uses=0] -%str46 = internal global [3 x sbyte] c"st\00" ; <[3 x sbyte]*> [#uses=0] -%str47 = internal global [7 x sbyte] c"result\00" ; <[7 x sbyte]*> [#uses=0] -%str48 = internal global [6 x sbyte] c"prove\00" ; <[6 x sbyte]*> [#uses=0] -%str49 = internal global [26 x sbyte] c"\0AMax time to search (s): \00" ; <[26 x sbyte]*> [#uses=0] -%str50 = internal global [5 x sbyte] c"ping\00" ; <[5 x sbyte]*> [#uses=0] -%str51 = internal global [9 x sbyte] c"pong %d\0A\00" ; <[9 x sbyte]*> [#uses=0] -%str52 = internal global [6 x sbyte] c"fritz\00" ; <[6 x sbyte]*> [#uses=0] -%str53 = internal global [6 x sbyte] c"reset\00" ; <[6 x sbyte]*> [#uses=0] -%str54 = internal global [3 x sbyte] c"sd\00" ; <[3 x sbyte]*> [#uses=0] -%str55 = internal global [26 x sbyte] c"New max depth set to: %d\0A\00" ; <[26 x sbyte]*> [#uses=0] -%str56 = internal global [5 x sbyte] c"auto\00" ; <[5 x sbyte]*> [#uses=0] -%str57 = internal global [9 x sbyte] c"protover\00" ; <[9 x sbyte]*> [#uses=0] -%str = internal global [63 x sbyte] c"feature ping=0 setboard=1 playother=0 san=0 usermove=0 time=1\0A\00" ; <[63 x sbyte]*> [#uses=0] -%str80 = internal global [53 x sbyte] c"feature draw=0 sigint=0 sigterm=0 reuse=1 analyze=0\0A\00" ; <[53 x sbyte]*> [#uses=0] -%str = internal global [33 x sbyte] c"feature myname=\22Sjeng SPEC 1.0\22\0A\00" ; <[33 x sbyte]*> [#uses=0] -%str = internal global [71 x sbyte] c"feature variants=\22normal,bughouse,crazyhouse,suicide,giveaway,losers\22\0A\00" ; <[71 x sbyte]*> [#uses=0] -%str = internal global [46 x sbyte] c"feature colors=1 ics=0 name=0 pause=0 done=1\0A\00" ; <[46 x sbyte]*> [#uses=0] -%str58 = internal global [9 x sbyte] c"accepted\00" ; <[9 x sbyte]*> [#uses=0] -%str59 = internal global [9 x sbyte] c"rejected\00" ; <[9 x sbyte]*> [#uses=0] -%str = internal global [65 x sbyte] c"Interface does not support a required feature...expect trouble.\0A\00" ; <[65 x sbyte]*> [#uses=0] -%str61 = internal global [6 x sbyte] c"\0A%s\0A\0A\00" ; <[6 x sbyte]*> [#uses=0] -%str81 = internal global [41 x sbyte] c"diagram/d: toggle diagram display\0A\00" ; <[41 x sbyte]*> [#uses=0] -%str82 = internal global [34 x sbyte] c"exit/quit: terminate Sjeng\0A\00" ; <[34 x sbyte]*> [#uses=0] -%str62 = internal global [51 x sbyte] c"go: make Sjeng play the side to move\0A\00" ; <[51 x sbyte]*> [#uses=0] -%str83 = internal global [35 x sbyte] c"new: start a new game\0A\00" ; <[35 x sbyte]*> [#uses=0] -%str84 = internal global [55 x sbyte] c"level <x>: the xboard style command to set time\0A\00" ; <[55 x sbyte]*> [#uses=0] -%str85 = internal global [49 x sbyte] c" <x> should be in the form: <a> <b> <c> where:\0A\00" ; <[49 x sbyte]*> [#uses=0] -%str63 = internal global [49 x sbyte] c" a -> moves to TC (0 if using an ICS style TC)\0A\00" ; <[49 x sbyte]*> [#uses=0] -%str86 = internal global [25 x sbyte] c" b -> minutes per game\0A\00" ; <[25 x sbyte]*> [#uses=0] -%str64 = internal global [29 x sbyte] c" c -> increment in seconds\0A\00" ; <[29 x sbyte]*> [#uses=0] -%str65 = internal global [55 x sbyte] c"nodes: outputs the number of nodes searched\0A\00" ; <[55 x sbyte]*> [#uses=0] -%str87 = internal global [47 x sbyte] c"perft <x>: compute raw nodes to depth x\0A\00" ; <[47 x sbyte]*> [#uses=0] -%str = internal global [42 x sbyte] c"post: toggles thinking output\0A\00" ; <[42 x sbyte]*> [#uses=0] -%str = internal global [45 x sbyte] c"xboard: put Sjeng into xboard mode\0A\00" ; <[45 x sbyte]*> [#uses=0] -%str = internal global [39 x sbyte] c"test: run an EPD testsuite\0A\00" ; <[39 x sbyte]*> [#uses=0] -%str88 = internal global [52 x sbyte] c"speed: test movegen and evaluation speed\0A\00" ; <[52 x sbyte]*> [#uses=0] -%str89 = internal global [59 x sbyte] c"proof: try to prove or disprove the current pos\0A\00" ; <[59 x sbyte]*> [#uses=0] -%str90 = internal global [44 x sbyte] c"sd <x>: limit thinking to depth x\0A\00" ; <[44 x sbyte]*> [#uses=0] -%str66 = internal global [51 x sbyte] c"st <x>: limit thinking to x centiseconds\0A\00" ; <[51 x sbyte]*> [#uses=0] -%str67 = internal global [54 x sbyte] c"setboard <FEN>: set board to a specified FEN string\0A\00" ; <[54 x sbyte]*> [#uses=0] -%str68 = internal global [38 x sbyte] c"undo: back up a half move\0A\00" ; <[38 x sbyte]*> [#uses=0] -%str69 = internal global [38 x sbyte] c"remove: back up a full move\0A\00" ; <[38 x sbyte]*> [#uses=0] -%str70 = internal global [42 x sbyte] c"force: disable computer moving\0A\00" ; <[42 x sbyte]*> [#uses=0] -%str71 = internal global [44 x sbyte] c"auto: computer plays both sides\0A\00" ; <[44 x sbyte]*> [#uses=0] -%DP_TTable = internal global %struct.TType* null ; <%struct.TType**> [#uses=1] -%AS_TTable = internal global %struct.TType* null ; <%struct.TType**> [#uses=1] -%QS_TTable = internal global %struct.QTType* null ; <%struct.QTType**> [#uses=1] -%str93 = internal global [38 x sbyte] c"Out of memory allocating hashtables.\0A\00" ; <[38 x sbyte]*> [#uses=0] -%type_to_char.3058 = internal global [14 x int] [ int 70, int 80, int 80, int 78, int 78, int 75, int 75, int 82, int 82, int 81, int 81, int 66, int 66, int 69 ] ; <[14 x int]*> [#uses=0] -%str94 = internal global [8 x sbyte] c"%c@%c%d\00" ; <[8 x sbyte]*> [#uses=0] -%str95 = internal global [5 x sbyte] c"%c%d\00" ; <[5 x sbyte]*> [#uses=0] -%str1 = internal global [8 x sbyte] c"%c%d=%c\00" ; <[8 x sbyte]*> [#uses=0] -%str2 = internal global [8 x sbyte] c"%cx%c%d\00" ; <[8 x sbyte]*> [#uses=0] -%str96 = internal global [11 x sbyte] c"%cx%c%d=%c\00" ; <[11 x sbyte]*> [#uses=0] -%str97 = internal global [4 x sbyte] c"O-O\00" ; <[4 x sbyte]*> [#uses=0] -%str98 = internal global [6 x sbyte] c"O-O-O\00" ; <[6 x sbyte]*> [#uses=0] -%str99 = internal global [9 x sbyte] c"%c%c%c%d\00" ; <[9 x sbyte]*> [#uses=0] -%str3100 = internal global [9 x sbyte] c"%c%d%c%d\00" ; <[9 x sbyte]*> [#uses=0] -%str101 = internal global [10 x sbyte] c"%c%cx%c%d\00" ; <[10 x sbyte]*> [#uses=0] -%str4 = internal global [10 x sbyte] c"%c%dx%c%d\00" ; <[10 x sbyte]*> [#uses=0] -%str102 = internal global [7 x sbyte] c"%c%c%d\00" ; <[7 x sbyte]*> [#uses=0] -%str5103 = internal global [5 x sbyte] c"illg\00" ; <[5 x sbyte]*> [#uses=0] -%type_to_char.3190 = internal global [14 x int] [ int 70, int 80, int 112, int 78, int 110, int 75, int 107, int 82, int 114, int 81, int 113, int 66, int 98, int 69 ] ; <[14 x int]*> [#uses=0] -%str7 = internal global [10 x sbyte] c"%c%d%c%dn\00" ; <[10 x sbyte]*> [#uses=0] -%str8 = internal global [10 x sbyte] c"%c%d%c%dr\00" ; <[10 x sbyte]*> [#uses=0] -%str9 = internal global [10 x sbyte] c"%c%d%c%db\00" ; <[10 x sbyte]*> [#uses=0] -%str10 = internal global [10 x sbyte] c"%c%d%c%dk\00" ; <[10 x sbyte]*> [#uses=0] -%str11 = internal global [10 x sbyte] c"%c%d%c%dq\00" ; <[10 x sbyte]*> [#uses=0] -%C.88.3251 = internal global [14 x sbyte*] [ sbyte* getelementptr ([3 x sbyte]* %str105, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str12106, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str13107, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str14, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str15, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str16, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str17, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str18, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str19108, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str20, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str21109, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str22, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str23, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str24, int 0, int 0) ] ; <[14 x sbyte*]*> [#uses=0] -%str105 = internal global [3 x sbyte] c"!!\00" ; <[3 x sbyte]*> [#uses=1] -%str12106 = internal global [3 x sbyte] c" P\00" ; <[3 x sbyte]*> [#uses=1] -%str13107 = internal global [3 x sbyte] c"*P\00" ; <[3 x sbyte]*> [#uses=1] -%str14 = internal global [3 x sbyte] c" N\00" ; <[3 x sbyte]*> [#uses=1] -%str15 = internal global [3 x sbyte] c"*N\00" ; <[3 x sbyte]*> [#uses=1] -%str16 = internal global [3 x sbyte] c" K\00" ; <[3 x sbyte]*> [#uses=1] -%str17 = internal global [3 x sbyte] c"*K\00" ; <[3 x sbyte]*> [#uses=1] -%str18 = internal global [3 x sbyte] c" R\00" ; <[3 x sbyte]*> [#uses=1] -%str19108 = internal global [3 x sbyte] c"*R\00" ; <[3 x sbyte]*> [#uses=1] -%str20 = internal global [3 x sbyte] c" Q\00" ; <[3 x sbyte]*> [#uses=1] -%str21109 = internal global [3 x sbyte] c"*Q\00" ; <[3 x sbyte]*> [#uses=1] -%str22 = internal global [3 x sbyte] c" B\00" ; <[3 x sbyte]*> [#uses=1] -%str23 = internal global [3 x sbyte] c"*B\00" ; <[3 x sbyte]*> [#uses=1] -%str24 = internal global [3 x sbyte] c" \00" ; <[3 x sbyte]*> [#uses=1] -%str110 = internal global [42 x sbyte] c"+----+----+----+----+----+----+----+----+\00" ; <[42 x sbyte]*> [#uses=0] -%str25 = internal global [6 x sbyte] c" %s\0A\00" ; <[6 x sbyte]*> [#uses=0] -%str26 = internal global [5 x sbyte] c"%d |\00" ; <[5 x sbyte]*> [#uses=0] -%str27 = internal global [6 x sbyte] c" %s |\00" ; <[6 x sbyte]*> [#uses=0] -%str28 = internal global [7 x sbyte] c"\0A %s\0A\00" ; <[7 x sbyte]*> [#uses=0] -%str111 = internal global [45 x sbyte] c"\0A a b c d e f g h\0A\0A\00" ; <[45 x sbyte]*> [#uses=0] -%str29 = internal global [45 x sbyte] c"\0A h g f e d c b a\0A\0A\00" ; <[45 x sbyte]*> [#uses=0] -%str33 = internal global [2 x sbyte] c"<\00" ; <[2 x sbyte]*> [#uses=0] -%str34 = internal global [3 x sbyte] c"> \00" ; <[3 x sbyte]*> [#uses=0] -%str114 = internal global [18 x sbyte] c"%2i %7i %5i %8i \00" ; <[18 x sbyte]*> [#uses=0] -%str115 = internal global [20 x sbyte] c"%2i %c%1i.%02i %9i \00" ; <[20 x sbyte]*> [#uses=0] -%str39 = internal global [5 x sbyte] c"%s !\00" ; <[5 x sbyte]*> [#uses=0] -%str40 = internal global [6 x sbyte] c"%s !!\00" ; <[6 x sbyte]*> [#uses=0] -%str41 = internal global [6 x sbyte] c"%s ??\00" ; <[6 x sbyte]*> [#uses=0] -%str124 = internal global [71 x sbyte] c"\0ASjeng version SPEC 1.0, Copyright (C) 2000-2005 Gian-Carlo Pascutto\0A\0A\00" ; <[71 x sbyte]*> [#uses=0] -%state = internal global [625 x uint] zeroinitializer ; <[625 x uint]*> [#uses=0] - -implementation ; Functions: - -declare fastcc int %calc_attackers(int, int) - -declare fastcc uint %is_attacked(int, int) - -declare fastcc void %ProcessHoldings(sbyte*) - -declare void %llvm.memset.i32(sbyte*, ubyte, uint, uint) - -declare sbyte* %strncpy(sbyte*, sbyte*, uint) - -declare void %llvm.memcpy.i32(sbyte*, sbyte*, uint, uint) - -declare void %__eprintf(sbyte*, sbyte*, uint, sbyte*) - -declare fastcc void %addHolding(int, int) - -declare fastcc void %removeHolding(int, int) - -declare fastcc void %DropremoveHolding(int, int) - -declare int %printf(sbyte*, ...) - -declare fastcc uint %is_draw() - -declare void %exit(int) - -declare fastcc void %setup_epd_line(sbyte*) - -declare int %atoi(sbyte*) - -declare fastcc void %reset_piece_square() - -declare fastcc void %initialize_hash() - -declare int %__maskrune(int, uint) - -declare fastcc void %comp_to_san(long, long, long, sbyte*) - -declare sbyte* %strstr(sbyte*, sbyte*) - -declare int %atol(sbyte*) - -declare %struct.FILE* %fopen(sbyte*, sbyte*) - -declare fastcc void %display_board(int) - -internal csretcc void %think(%struct.move_s* %agg.result) { -entry: - %output.i = alloca [8 x sbyte], align 8 ; <[8 x sbyte]*> [#uses=0] - %comp_move = alloca %struct.move_s, align 16 ; <%struct.move_s*> [#uses=7] - %temp_move = alloca %struct.move_s, align 16 ; <%struct.move_s*> [#uses=6] - %moves = alloca [512 x %struct.move_s], align 16 ; <[512 x %struct.move_s]*> [#uses=7] - %output = alloca [8 x sbyte], align 8 ; <[8 x sbyte]*> [#uses=1] - store bool false, bool* %userealholdings.b - %tmp = getelementptr [512 x %struct.move_s]* %moves, int 0, int 0 ; <%struct.move_s*> [#uses=3] - %tmp362 = getelementptr %struct.move_s* %comp_move, int 0, uint 0 ; <int*> [#uses=0] - %tmp365 = getelementptr %struct.move_s* %comp_move, int 0, uint 1 ; <int*> [#uses=0] - %tmp368 = getelementptr %struct.move_s* %comp_move, int 0, uint 2 ; <int*> [#uses=0] - %tmp371 = getelementptr %struct.move_s* %comp_move, int 0, uint 3 ; <int*> [#uses=0] - %tmp374 = getelementptr %struct.move_s* %comp_move, int 0, uint 4 ; <int*> [#uses=0] - %tmp377 = getelementptr %struct.move_s* %comp_move, int 0, uint 5 ; <int*> [#uses=0] - %tmp = cast %struct.move_s* %comp_move to { long, long, long }* ; <{ long, long, long }*> [#uses=3] - %tmp = getelementptr { long, long, long }* %tmp, int 0, uint 0 ; <long*> [#uses=0] - %tmp829 = getelementptr { long, long, long }* %tmp, int 0, uint 1 ; <long*> [#uses=0] - %tmp832 = getelementptr { long, long, long }* %tmp, int 0, uint 2 ; <long*> [#uses=0] - %output = getelementptr [8 x sbyte]* %output, int 0, int 0 ; <sbyte*> [#uses=0] - %tmp573 = getelementptr %struct.move_s* %temp_move, int 0, uint 0 ; <int*> [#uses=0] - %tmp576 = getelementptr %struct.move_s* %temp_move, int 0, uint 1 ; <int*> [#uses=0] - %tmp579 = getelementptr %struct.move_s* %temp_move, int 0, uint 2 ; <int*> [#uses=0] - %tmp582 = getelementptr %struct.move_s* %temp_move, int 0, uint 3 ; <int*> [#uses=0] - %tmp585 = getelementptr %struct.move_s* %temp_move, int 0, uint 4 ; <int*> [#uses=0] - %tmp588 = getelementptr %struct.move_s* %temp_move, int 0, uint 5 ; <int*> [#uses=0] - %pn_restart.0.ph = cast uint 0 to int ; <int> [#uses=2] - %tmp21362 = seteq uint 0, 0 ; <bool> [#uses=2] - %tmp216 = cast int %pn_restart.0.ph to float ; <float> [#uses=1] - %tmp216 = cast float %tmp216 to double ; <double> [#uses=1] - %tmp217 = add double %tmp216, 1.000000e+00 ; <double> [#uses=1] - %tmp835 = setgt int %pn_restart.0.ph, 9 ; <bool> [#uses=0] - store int 0, int* %nodes - store int 0, int* %qnodes - store int 1, int* %ply - store uint 0, uint* %ECacheProbes - store uint 0, uint* %ECacheHits - store uint 0, uint* %TTProbes - store uint 0, uint* %TTHits - store uint 0, uint* %TTStores - store uint 0, uint* %NCuts - store uint 0, uint* %NTries - store uint 0, uint* %TExt - store uint 0, uint* %FH - store uint 0, uint* %FHF - store uint 0, uint* %PVS - store uint 0, uint* %FULL - store uint 0, uint* %PVSF - store uint 0, uint* %ext_check - store uint 0, uint* %ext_onerep - store uint 0, uint* %razor_drop - store uint 0, uint* %razor_material - store bool false, bool* %extendedtime.b - store bool false, bool* %forcedwin.b - store int 200, int* %maxposdiff - store sbyte 0, sbyte* %true_i_depth - store int 0, int* %legals - %tmp48 = load int* %Variant ; <int> [#uses=1] - %tmp49 = seteq int %tmp48, 4 ; <bool> [#uses=1] - %storemerge = cast bool %tmp49 to uint ; <uint> [#uses=1] - store uint %storemerge, uint* %captures - call fastcc void %gen( %struct.move_s* %tmp ) - %tmp53 = load int* %numb_moves ; <int> [#uses=1] - %tmp.i = load int* %Variant ; <int> [#uses=1] - %tmp.i = seteq int %tmp.i, 3 ; <bool> [#uses=1] - br bool %tmp.i, label %in_check.exit, label %cond_next.i - -cond_next.i: ; preds = %entry - %tmp2.i5 = load int* %white_to_move ; <int> [#uses=1] - %tmp3.i = seteq int %tmp2.i5, 1 ; <bool> [#uses=0] - ret void - -in_check.exit: ; preds = %entry - %tmp7637 = setgt int %tmp53, 0 ; <bool> [#uses=1] - br bool %tmp7637, label %cond_true77, label %bb80 - -cond_true77: ; preds = %in_check.exit - %l.1.0 = cast uint 0 to int ; <int> [#uses=2] - call fastcc void %make( %struct.move_s* %tmp, int %l.1.0 ) - %tmp61 = call fastcc uint %check_legal( %struct.move_s* %tmp, int %l.1.0, int 0 ) ; <uint> [#uses=1] - %tmp62 = seteq uint %tmp61, 0 ; <bool> [#uses=0] - ret void - -bb80: ; preds = %in_check.exit - %tmp81 = load int* %Variant ; <int> [#uses=1] - %tmp82 = seteq int %tmp81, 4 ; <bool> [#uses=1] - br bool %tmp82, label %cond_true83, label %cond_next118 - -cond_true83: ; preds = %bb80 - %tmp84 = load int* %legals ; <int> [#uses=1] - %tmp85 = seteq int %tmp84, 0 ; <bool> [#uses=0] - ret void - -cond_next118: ; preds = %bb80 - %tmp119 = load int* %Variant ; <int> [#uses=1] - %tmp120 = seteq int %tmp119, 1 ; <bool> [#uses=1] - br bool %tmp120, label %cond_next176, label %cond_true121 - -cond_true121: ; preds = %cond_next118 - %tmp122.b = load bool* %is_pondering.b ; <bool> [#uses=1] - br bool %tmp122.b, label %cond_next176, label %cond_true124 - -cond_true124: ; preds = %cond_true121 - %tmp125 = load int* %legals ; <int> [#uses=1] - %tmp126 = seteq int %tmp125, 1 ; <bool> [#uses=1] - br bool %tmp126, label %cond_true127, label %cond_next176 - -cond_true127: ; preds = %cond_true124 - %tmp128 = load int* %inc ; <int> [#uses=1] - %tmp129 = mul int %tmp128, 100 ; <int> [#uses=1] - %tmp130 = load int* %time_cushion ; <int> [#uses=1] - %tmp131 = add int %tmp129, %tmp130 ; <int> [#uses=1] - store int %tmp131, int* %time_cushion - %tmp134 = getelementptr %struct.move_s* %agg.result, int 0, uint 0 ; <int*> [#uses=1] - %tmp135 = getelementptr [512 x %struct.move_s]* %moves, int 0, int 0, uint 0 ; <int*> [#uses=1] - %tmp136 = load int* %tmp135 ; <int> [#uses=1] - store int %tmp136, int* %tmp134 - %tmp137 = getelementptr %struct.move_s* %agg.result, int 0, uint 1 ; <int*> [#uses=1] - %tmp138 = getelementptr [512 x %struct.move_s]* %moves, int 0, int 0, uint 1 ; <int*> [#uses=1] - %tmp139 = load int* %tmp138 ; <int> [#uses=1] - store int %tmp139, int* %tmp137 - %tmp140 = getelementptr %struct.move_s* %agg.result, int 0, uint 2 ; <int*> [#uses=1] - %tmp141 = getelementptr [512 x %struct.move_s]* %moves, int 0, int 0, uint 2 ; <int*> [#uses=1] - %tmp142 = load int* %tmp141 ; <int> [#uses=1] - store int %tmp142, int* %tmp140 - %tmp143 = getelementptr %struct.move_s* %agg.result, int 0, uint 3 ; <int*> [#uses=1] - %tmp144 = getelementptr [512 x %struct.move_s]* %moves, int 0, int 0, uint 3 ; <int*> [#uses=1] - %tmp145 = load int* %tmp144 ; <int> [#uses=1] - store int %tmp145, int* %tmp143 - %tmp146 = getelementptr %struct.move_s* %agg.result, int 0, uint 4 ; <int*> [#uses=1] - %tmp147 = getelementptr [512 x %struct.move_s]* %moves, int 0, int 0, uint 4 ; <int*> [#uses=1] - %tmp148 = load int* %tmp147 ; <int> [#uses=1] - store int %tmp148, int* %tmp146 - %tmp149 = getelementptr %struct.move_s* %agg.result, int 0, uint 5 ; <int*> [#uses=1] - %tmp150 = getelementptr [512 x %struct.move_s]* %moves, int 0, int 0, uint 5 ; <int*> [#uses=1] - %tmp151 = load int* %tmp150 ; <int> [#uses=1] - store int %tmp151, int* %tmp149 - ret void - -cond_next176: ; preds = %cond_true124, %cond_true121, %cond_next118 - call fastcc void %check_phase( ) - %tmp177 = load int* %phase ; <int> [#uses=1] - switch int %tmp177, label %bb187 [ - int 0, label %bb178 - int 1, label %bb180 - int 2, label %bb183 - ] - -bb178: ; preds = %cond_next176 - %tmp179 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([16 x sbyte]* %str40, int 0, uint 0) ) ; <int> [#uses=0] - %tmp18854.b = load bool* %is_pondering.b ; <bool> [#uses=1] - br bool %tmp18854.b, label %cond_false210, label %cond_true190 - -bb180: ; preds = %cond_next176 - %tmp182 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([19 x sbyte]* %str, int 0, uint 0) ) ; <int> [#uses=0] - %tmp18856.b = load bool* %is_pondering.b ; <bool> [#uses=0] - ret void - -bb183: ; preds = %cond_next176 - %tmp185 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([16 x sbyte]* %str1, int 0, uint 0) ) ; <int> [#uses=0] - %tmp18858.b = load bool* %is_pondering.b ; <bool> [#uses=0] - ret void - -bb187: ; preds = %cond_next176 - %tmp188.b = load bool* %is_pondering.b ; <bool> [#uses=0] - ret void - -cond_true190: ; preds = %bb178 - %tmp191 = load int* %fixed_time ; <int> [#uses=1] - %tmp192 = seteq int %tmp191, 0 ; <bool> [#uses=0] - ret void - -cond_false210: ; preds = %bb178 - store int 999999, int* %time_for_move - br bool %tmp21362, label %cond_true226.critedge, label %bb287.critedge - -cond_true226.critedge: ; preds = %cond_false210 - %tmp223.c = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([20 x sbyte]* %str43, int 0, uint 0), int 999999 ) ; <int> [#uses=0] - %tmp.i = load %struct.TType** %DP_TTable ; <%struct.TType*> [#uses=1] - %tmp.i7.b = load bool* %TTSize.b ; <bool> [#uses=1] - %tmp1.i = select bool %tmp.i7.b, uint 60000000, uint 0 ; <uint> [#uses=1] - %tmp.i.sb = getelementptr %struct.TType* %tmp.i, int 0, uint 0 ; <sbyte*> [#uses=1] - call void %llvm.memset.i32( sbyte* %tmp.i.sb, ubyte 0, uint %tmp1.i, uint 4 ) - %tmp2.i = load %struct.TType** %AS_TTable ; <%struct.TType*> [#uses=1] - %tmp3.i8.b = load bool* %TTSize.b ; <bool> [#uses=1] - %tmp4.i = select bool %tmp3.i8.b, uint 60000000, uint 0 ; <uint> [#uses=1] - %tmp2.i = getelementptr %struct.TType* %tmp2.i, int 0, uint 0 ; <sbyte*> [#uses=1] - call void %llvm.memset.i32( sbyte* %tmp2.i, ubyte 0, uint %tmp4.i, uint 4 ) - %tmp.i.QTT = load %struct.QTType** %QS_TTable ; <%struct.QTType*> [#uses=1] - %tmp5.i9.b = load bool* %TTSize.b ; <bool> [#uses=1] - %tmp6.i10 = select bool %tmp5.i9.b, uint 48000000, uint 0 ; <uint> [#uses=1] - %tmp7.i = getelementptr %struct.QTType* %tmp.i.QTT, int 0, uint 0 ; <sbyte*> [#uses=1] - call void %llvm.memset.i32( sbyte* %tmp7.i, ubyte 0, uint %tmp6.i10, uint 4 ) - %tmp.i.ECache = load %struct.ECacheType** %ECache ; <%struct.ECacheType*> [#uses=1] - %tmp.i14.b = load bool* %ECacheSize.b ; <bool> [#uses=1] - %tmp1.i16 = select bool %tmp.i14.b, uint 12000000, uint 0 ; <uint> [#uses=1] - %tmp.i17 = cast %struct.ECacheType* %tmp.i.ECache to sbyte* ; <sbyte*> [#uses=1] - call void %llvm.memset.i32( sbyte* %tmp.i17, ubyte 0, uint %tmp1.i16, uint 4 ) - call void %llvm.memset.i32( sbyte* cast ([300 x int]* %rootlosers to sbyte*), ubyte 0, uint 1200, uint 4 ) - %tmp234.b = load bool* %is_pondering.b ; <bool> [#uses=1] - br bool %tmp234.b, label %bb263, label %cond_next238 - -cond_next238: ; preds = %cond_true226.critedge - %tmp239 = load int* %Variant ; <int> [#uses=2] - switch int %tmp239, label %bb263 [ - int 3, label %bb249 - int 4, label %bb249 - ] - -bb249: ; preds = %cond_next238, %cond_next238 - %tmp250 = load int* %piece_count ; <int> [#uses=1] - %tmp251 = setgt int %tmp250, 3 ; <bool> [#uses=1] - %tmp240.not = setne int %tmp239, 3 ; <bool> [#uses=1] - %brmerge = or bool %tmp251, %tmp240.not ; <bool> [#uses=1] - br bool %brmerge, label %bb260, label %bb263 - -bb260: ; preds = %bb249 - %tmp261 = load int* %time_for_move ; <int> [#uses=1] - %tmp261 = cast int %tmp261 to float ; <float> [#uses=1] - %tmp261 = cast float %tmp261 to double ; <double> [#uses=1] - %tmp262 = div double %tmp261, 3.000000e+00 ; <double> [#uses=1] - %tmp262 = cast double %tmp262 to int ; <int> [#uses=1] - store int %tmp262, int* %pn_time - %tmp1.b.i = load bool* %PBSize.b ; <bool> [#uses=1] - %tmp1.i1 = select bool %tmp1.b.i, uint 200000, uint 0 ; <uint> [#uses=1] - %tmp.i2 = call sbyte* %calloc( uint %tmp1.i1, uint 44 ) ; <sbyte*> [#uses=1] - %tmp.i.ub = cast sbyte* %tmp.i2 to ubyte* ; <ubyte*> [#uses=1] - store ubyte* %tmp.i.ub, ubyte** %membuff - %tmp2.i3 = call sbyte* %calloc( uint 1, uint 44 ) ; <sbyte*> [#uses=3] - %tmp2.i = cast sbyte* %tmp2.i3 to %struct.node_t* ; <%struct.node_t*> [#uses=6] - %tmp.i.move_s = getelementptr [512 x %struct.move_s]* null, int 0, int 0 ; <%struct.move_s*> [#uses=3] - call fastcc void %gen( %struct.move_s* %tmp.i.move_s ) - %tmp3.i4 = load int* %numb_moves ; <int> [#uses=4] - %tmp3.i5 = cast int %tmp3.i4 to uint ; <uint> [#uses=0] - store bool false, bool* %alllosers.b - call void %llvm.memset.i32( sbyte* cast ([300 x int]* %rootlosers to sbyte*), ubyte 0, uint 1200, uint 4 ) - %nodesspent.i = cast [512 x int]* null to sbyte* ; <sbyte*> [#uses=1] - call void %llvm.memset.i32( sbyte* %nodesspent.i, ubyte 0, uint 2048, uint 16 ) - store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 0) - store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 1) - store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 2) - store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 3) - store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 4) - store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 5) - %tmp.i.i = load int* %Variant ; <int> [#uses=1] - %tmp.i.i = seteq int %tmp.i.i, 3 ; <bool> [#uses=1] - br bool %tmp.i.i, label %in_check.exit.i, label %cond_next.i.i - -cond_next.i.i: ; preds = %bb260 - %tmp2.i.i = load int* %white_to_move ; <int> [#uses=1] - %tmp3.i.i = seteq int %tmp2.i.i, 1 ; <bool> [#uses=1] - br bool %tmp3.i.i, label %cond_true4.i.i, label %cond_false12.i.i - -cond_true4.i.i: ; preds = %cond_next.i.i - %tmp5.i.i = load int* %wking_loc ; <int> [#uses=1] - %tmp6.i.i = call fastcc uint %is_attacked( int %tmp5.i.i, int 0 ) ; <uint> [#uses=1] - %not.tmp7.i.i = setne uint %tmp6.i.i, 0 ; <bool> [#uses=1] - %tmp217.i = cast bool %not.tmp7.i.i to int ; <int> [#uses=1] - %tmp4219.i = setgt int %tmp3.i4, 0 ; <bool> [#uses=1] - br bool %tmp4219.i, label %cond_true43.i, label %bb46.i - -cond_false12.i.i: ; preds = %cond_next.i.i - %tmp13.i.i = load int* %bking_loc ; <int> [#uses=1] - %tmp14.i.i = call fastcc uint %is_attacked( int %tmp13.i.i, int 1 ) ; <uint> [#uses=1] - %not.tmp15.i.i = setne uint %tmp14.i.i, 0 ; <bool> [#uses=1] - %tmp2120.i = cast bool %not.tmp15.i.i to int ; <int> [#uses=1] - %tmp4222.i = setgt int %tmp3.i4, 0 ; <bool> [#uses=1] - br bool %tmp4222.i, label %cond_true43.i, label %bb46.i - -in_check.exit.i: ; preds = %bb260 - %tmp4224.i = setgt int %tmp3.i4, 0 ; <bool> [#uses=0] - ret void - -cond_true43.i: ; preds = %cond_false12.i.i, %cond_true4.i.i - %tmp21.0.ph.i = phi int [ %tmp217.i, %cond_true4.i.i ], [ %tmp2120.i, %cond_false12.i.i ] ; <int> [#uses=1] - %i.0.0.i = cast uint 0 to int ; <int> [#uses=2] - call fastcc void %make( %struct.move_s* %tmp.i.move_s, int %i.0.0.i ) - %tmp27.i = call fastcc uint %check_legal( %struct.move_s* %tmp.i.move_s, int %i.0.0.i, int %tmp21.0.ph.i ) ; <uint> [#uses=1] - %tmp.i6 = seteq uint %tmp27.i, 0 ; <bool> [#uses=0] - ret void - -bb46.i: ; preds = %cond_false12.i.i, %cond_true4.i.i - %tmp48.i = seteq int 0, 0 ; <bool> [#uses=1] - br bool %tmp48.i, label %cond_true49.i, label %cond_next53.i - -cond_true49.i: ; preds = %bb46.i - store int 0, int* %bufftop - %tmp50.i = load ubyte** %membuff ; <ubyte*> [#uses=1] - free ubyte* %tmp50.i - free sbyte* %tmp2.i3 - ret void - -cond_next53.i: ; preds = %bb46.i - store int 1, int* %nodecount - store int 0, int* %iters - store int 0, int* %maxply - store int 0, int* %forwards - %tmp54.i = load int* %move_number ; <int> [#uses=1] - %tmp55.i = load int* %ply ; <int> [#uses=1] - %tmp56.i = add int %tmp54.i, -1 ; <int> [#uses=1] - %tmp57.i = add int %tmp56.i, %tmp55.i ; <int> [#uses=1] - %tmp58.i = load uint* %hash ; <uint> [#uses=1] - %tmp.i = getelementptr [600 x uint]* %hash_history, int 0, int %tmp57.i ; <uint*> [#uses=1] - store uint %tmp58.i, uint* %tmp.i - %tmp59.i = load int* %white_to_move ; <int> [#uses=1] - %tmp60.i = seteq int %tmp59.i, 0 ; <bool> [#uses=1] - %tmp60.i = cast bool %tmp60.i to int ; <int> [#uses=1] - store int %tmp60.i, int* %root_to_move - %tmp.i4.i = load int* %Variant ; <int> [#uses=2] - %tmp.i5.i = seteq int %tmp.i4.i, 3 ; <bool> [#uses=1] - br bool %tmp.i5.i, label %cond_true.i.i, label %cond_false.i.i - -cond_true.i.i: ; preds = %cond_next53.i - call fastcc void %suicide_pn_eval( %struct.node_t* %tmp2.i ) - %tmp6328.i = getelementptr %struct.node_t* %tmp2.i, int 0, uint 0 ; <ubyte*> [#uses=1] - %tmp29.i = load ubyte* %tmp6328.i ; <ubyte> [#uses=1] - %tmp6430.i = seteq ubyte %tmp29.i, 1 ; <bool> [#uses=0] - ret void - -cond_false.i.i: ; preds = %cond_next53.i - %tmp2.i.i = seteq int %tmp.i4.i, 4 ; <bool> [#uses=1] - %tmp63.i = getelementptr %struct.node_t* %tmp2.i, int 0, uint 0 ; <ubyte*> [#uses=2] - br bool %tmp2.i.i, label %cond_true3.i.i, label %cond_false5.i.i - -cond_true3.i.i: ; preds = %cond_false.i.i - call fastcc void %losers_pn_eval( %struct.node_t* %tmp2.i ) - %tmp31.i = load ubyte* %tmp63.i ; <ubyte> [#uses=1] - %tmp6432.i = seteq ubyte %tmp31.i, 1 ; <bool> [#uses=1] - br bool %tmp6432.i, label %bb75.i, label %cond_next67.i - -cond_false5.i.i: ; preds = %cond_false.i.i - call fastcc void %std_pn_eval( %struct.node_t* %tmp2.i ) - %tmp.i = load ubyte* %tmp63.i ; <ubyte> [#uses=1] - %tmp64.i = seteq ubyte %tmp.i, 1 ; <bool> [#uses=0] - ret void - -cond_next67.i: ; preds = %cond_true3.i.i - %tmp69.i = getelementptr %struct.node_t* %tmp2.i, int 0, uint 0 ; <ubyte*> [#uses=1] - %tmp70.i = load ubyte* %tmp69.i ; <ubyte> [#uses=1] - %tmp71.i = seteq ubyte %tmp70.i, 0 ; <bool> [#uses=0] - ret void - -bb75.i: ; preds = %cond_true3.i.i - store int 0, int* %bufftop - %tmp76.i = load ubyte** %membuff ; <ubyte*> [#uses=1] - free ubyte* %tmp76.i - free sbyte* %tmp2.i3 - store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 0) - store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 1) - store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 2) - store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 3) - store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 4) - store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 5) - %tmp28869 = load int* %result ; <int> [#uses=1] - %tmp28970 = seteq int %tmp28869, 0 ; <bool> [#uses=1] - br bool %tmp28970, label %cond_next337, label %cond_true290 - -bb263: ; preds = %bb249, %cond_next238, %cond_true226.critedge - br bool %tmp21362, label %cond_true266, label %bb287 - -cond_true266: ; preds = %bb263 - store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 0) - store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 1) - store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 2) - store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 3) - store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 4) - store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 5) - %tmp28871 = load int* %result ; <int> [#uses=1] - %tmp28972 = seteq int %tmp28871, 0 ; <bool> [#uses=0] - ret void - -bb287.critedge: ; preds = %cond_false210 - %tmp218.c = div double 1.999998e+06, %tmp217 ; <double> [#uses=1] - %tmp218.c = cast double %tmp218.c to int ; <int> [#uses=2] - store int %tmp218.c, int* %time_for_move - %tmp22367.c = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([20 x sbyte]* %str43, int 0, uint 0), int %tmp218.c ) ; <int> [#uses=0] - ret void - -bb287: ; preds = %bb263 - %tmp288 = load int* %result ; <int> [#uses=1] - %tmp289 = seteq int %tmp288, 0 ; <bool> [#uses=0] - ret void - -cond_true290: ; preds = %bb75.i - %tmp292 = load int* getelementptr (%struct.move_s* %pn_move, int 0, uint 1) ; <int> [#uses=1] - %tmp295 = seteq int %tmp292, 0 ; <bool> [#uses=0] - ret void - -cond_next337: ; preds = %bb75.i - %tmp338.b = load bool* %forcedwin.b ; <bool> [#uses=1] - br bool %tmp338.b, label %bb348, label %cond_next342 - -cond_next342: ; preds = %cond_next337 - %tmp343 = load int* %result ; <int> [#uses=1] - %tmp344 = seteq int %tmp343, 0 ; <bool> [#uses=0] - ret void - -bb348: ; preds = %cond_next337 - %tmp350 = load int* getelementptr (%struct.move_s* %pn_move, int 0, uint 1) ; <int> [#uses=1] - %tmp353 = seteq int %tmp350, 0 ; <bool> [#uses=0] - ret void -} - -declare fastcc int %eval(int, int) - -declare sbyte* %fgets(sbyte*, int, %struct.FILE*) - -declare int %fclose(%struct.FILE*) - -declare fastcc int %losers_eval() - -declare fastcc int %l_bishop_mobility(int) - -declare fastcc int %l_rook_mobility(int) - -declare fastcc uint %check_legal(%struct.move_s*, int, int) - -declare fastcc void %gen(%struct.move_s*) - -declare fastcc void %push_pawn(int, uint) - -declare fastcc void %push_knighT(int) - -declare fastcc void %push_slidE(int) - -declare fastcc void %push_king(int) - -declare fastcc uint %f_in_check(%struct.move_s*, int) - -declare fastcc void %make(%struct.move_s*, int) - -declare fastcc void %add_capture(int, int, int) - -declare fastcc void %unmake(%struct.move_s*, int) - -declare int %ErrorIt(int, int) - -declare int %Pawn(int, int) - -declare int %Knight(int, int) - -declare int %King(int, int) - -declare int %Rook(int, int) - -declare int %Queen(int, int) - -declare int %Bishop(int, int) - -declare fastcc void %check_phase() - -declare fastcc int %bishop_mobility(int) - -declare fastcc int %rook_mobility(int) - -declare int %sscanf(sbyte*, sbyte*, ...) - -declare int %strncmp(sbyte*, sbyte*, uint) - -declare sbyte* %strchr(sbyte*, int) - -declare fastcc void %CheckBadFlow(uint) - -declare fastcc void %suicide_pn_eval(%struct.node_t*) - -declare fastcc void %losers_pn_eval(%struct.node_t*) - -declare fastcc void %std_pn_eval(%struct.node_t*) - -declare fastcc %struct.node_t* %select_most_proving(%struct.node_t*) - -declare fastcc void %set_proof_and_disproof_numbers(%struct.node_t*) - -declare fastcc void %StoreTT(int, int, int, int, int, int) - -declare fastcc void %develop_node(%struct.node_t*) - -declare fastcc void %update_ancestors(%struct.node_t*) - -declare sbyte* %calloc(uint, uint) - -declare fastcc void %comp_to_coord(long, long, long, sbyte*) - -declare sbyte* %strcat(sbyte*, sbyte*) - -declare int %sprintf(sbyte*, sbyte*, ...) - -declare fastcc void %order_moves(%struct.move_s*, int*, int*, int, int) - -declare fastcc int %see(int, int, int) - -declare fastcc void %perft(int) - -declare fastcc int %qsearch(int, int, int) - -declare fastcc int %allocate_time() - -declare fastcc void %QStoreTT(int, int, int, int) - -declare fastcc int %search(int, int, int, int) - -declare fastcc int %ProbeTT(int*, int, int*, int*, int*, int) - -declare csretcc void %search_root(%struct.move_s*, int, int, int) - -declare fastcc void %post_fh_thinking(int, %struct.move_s*) - -declare fastcc void %post_thinking(int) - -declare int %fprintf(%struct.FILE*, sbyte*, ...) - -declare fastcc int %s_bishop_mobility(int) - -declare fastcc int %s_rook_mobility(int) - -declare fastcc int %suicide_mid_eval() - -declare int %main(int, sbyte**) - -declare fastcc void %init_game() - -declare void %setbuf(%struct.FILE*, sbyte*) - -declare sbyte* %strcpy(sbyte*, sbyte*) - -declare int %__tolower(int) - -declare int %strcmp(sbyte*, sbyte*) - -declare void (int)* %signal(int, void (int)*) - -declare fastcc void %hash_extract_pv(int, sbyte*) - -declare double %difftime(int, int) - -declare int %getc(%struct.FILE*) - -declare uint %strlen(sbyte*) - -declare uint %fwrite(sbyte*, uint, uint, %struct.FILE*) diff --git a/llvm/test/Regression/Transforms/DeadStoreElimination/PartialStore.ll b/llvm/test/Regression/Transforms/DeadStoreElimination/PartialStore.ll deleted file mode 100644 index a9b3366b1a8..00000000000 --- a/llvm/test/Regression/Transforms/DeadStoreElimination/PartialStore.ll +++ /dev/null @@ -1,11 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -dse | llvm-dis | not grep 'store sbyte' -; Ensure that the dead store is deleted in this case. It is wholely -; overwritten by the second store. -int %test() { - %V = alloca int - %V2 = cast int* %V to sbyte* - store sbyte 0, sbyte* %V2 - store int 1234567, int* %V - %X = load int* %V - ret int %X -} diff --git a/llvm/test/Regression/Transforms/DeadStoreElimination/alloca.llx b/llvm/test/Regression/Transforms/DeadStoreElimination/alloca.llx deleted file mode 100644 index d7aacb5e94b..00000000000 --- a/llvm/test/Regression/Transforms/DeadStoreElimination/alloca.llx +++ /dev/null @@ -1,8 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -dse | llvm-dis | not grep DEAD - -void %test(int* %Q) { - %P = alloca int - %DEAD = load int* %Q - store int %DEAD, int* %P ;; Alloca goes out of scope, dead store. - ret void -} diff --git a/llvm/test/Regression/Transforms/DeadStoreElimination/context-sensitive.llx b/llvm/test/Regression/Transforms/DeadStoreElimination/context-sensitive.llx deleted file mode 100644 index 54396d48ba1..00000000000 --- a/llvm/test/Regression/Transforms/DeadStoreElimination/context-sensitive.llx +++ /dev/null @@ -1,15 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -dse | llvm-dis | not grep DEAD - -declare void %ext() - -int* %caller() { - %P = malloc int - %DEAD = load int* %P - %DEAD2 = add int %DEAD, 1 - store int %DEAD2, int* %P ;; dead store - - call void %ext() ; Can not clobber *P - - store int 0, int* %P - ret int* %P -} diff --git a/llvm/test/Regression/Transforms/DeadStoreElimination/dg.exp b/llvm/test/Regression/Transforms/DeadStoreElimination/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/DeadStoreElimination/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/DeadStoreElimination/free.llx b/llvm/test/Regression/Transforms/DeadStoreElimination/free.llx deleted file mode 100644 index 3f0db04f7b9..00000000000 --- a/llvm/test/Regression/Transforms/DeadStoreElimination/free.llx +++ /dev/null @@ -1,8 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -dse | llvm-dis | not grep DEAD - -void %test(int* %Q, int* %P) { - %DEAD = load int* %Q - store int %DEAD, int* %P - free int* %P - ret void -} diff --git a/llvm/test/Regression/Transforms/DeadStoreElimination/simple.llx b/llvm/test/Regression/Transforms/DeadStoreElimination/simple.llx deleted file mode 100644 index e0ce12d0ac8..00000000000 --- a/llvm/test/Regression/Transforms/DeadStoreElimination/simple.llx +++ /dev/null @@ -1,8 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -dse | llvm-dis | not grep DEAD - -void %test(int* %Q, int* %P) { - %DEAD = load int* %Q - store int %DEAD, int* %P - store int 0, int* %P - ret void -} diff --git a/llvm/test/Regression/Transforms/DecomposeMultiDimRefs/.cvsignore b/llvm/test/Regression/Transforms/DecomposeMultiDimRefs/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/DecomposeMultiDimRefs/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/DecomposeMultiDimRefs/dg.exp b/llvm/test/Regression/Transforms/DecomposeMultiDimRefs/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/DecomposeMultiDimRefs/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/FunctionResolve/.cvsignore b/llvm/test/Regression/Transforms/FunctionResolve/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/FunctionResolve/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/FunctionResolve/2002-08-19-ResolveGlobalVars.ll b/llvm/test/Regression/Transforms/FunctionResolve/2002-08-19-ResolveGlobalVars.ll deleted file mode 100644 index e17e9d740f7..00000000000 --- a/llvm/test/Regression/Transforms/FunctionResolve/2002-08-19-ResolveGlobalVars.ll +++ /dev/null @@ -1,18 +0,0 @@ -; Test that: extern int X[] and int X[] = { 1, 2, 3, 4 } are resolved -; correctly. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -funcresolve | llvm-dis | not grep external - -%X = external global [0 x int] -%X = global [4 x int] [ int 1, int 2, int 3, int 4 ] - -implementation ; Functions: - -int %foo(int %x) { -bb1: ;[#uses=0] - store int 5, int* getelementptr ([0 x int]* %X, long 0, long 2) - %F = getelementptr [0 x int]* %X, long 0, long 2 - %val = load int* %F - ret int %val -} - diff --git a/llvm/test/Regression/Transforms/FunctionResolve/2002-08-19-ResolveGlobalVarsEasier.ll b/llvm/test/Regression/Transforms/FunctionResolve/2002-08-19-ResolveGlobalVarsEasier.ll deleted file mode 100644 index e9c1d8ce7ad..00000000000 --- a/llvm/test/Regression/Transforms/FunctionResolve/2002-08-19-ResolveGlobalVarsEasier.ll +++ /dev/null @@ -1,20 +0,0 @@ -; Test that: extern int X[] and int X[] = { 1, 2, 3, 4 } are resolved -; correctly. This doesn't have constantexprs -; -; RUN: llvm-upgrade < %s | llvm-as | opt -funcresolve | llvm-dis | not grep external -; - -%X = external global [0 x int] -%X = global [4 x int] [ int 1, int 2, int 3, int 4 ] - -implementation ; Functions: - -int %foo(int %x) { -bb1: ;[#uses=0] - %G = getelementptr [0 x int]* %X, long 0, long 1 - store int 5, int* %G - %F = getelementptr [0 x int]* %X, long 0, long 2 - %val = load int* %F - ret int %val -} - diff --git a/llvm/test/Regression/Transforms/FunctionResolve/2002-11-07-RetMismatch.ll b/llvm/test/Regression/Transforms/FunctionResolve/2002-11-07-RetMismatch.ll deleted file mode 100644 index 2ca82686fb6..00000000000 --- a/llvm/test/Regression/Transforms/FunctionResolve/2002-11-07-RetMismatch.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -funcresolve -funcresolve | llvm-dis | not grep declare - -declare void %qsortg(sbyte*, int, int) - -void %test() { - call void %qsortg(sbyte* null, int 0, int 0) - ret void -} - -int %qsortg(sbyte* %base, int %n, int %size) { - ret int %n -} diff --git a/llvm/test/Regression/Transforms/FunctionResolve/2002-11-09-ExternFn.ll b/llvm/test/Regression/Transforms/FunctionResolve/2002-11-09-ExternFn.ll deleted file mode 100644 index d5eb0ca9b3b..00000000000 --- a/llvm/test/Regression/Transforms/FunctionResolve/2002-11-09-ExternFn.ll +++ /dev/null @@ -1,11 +0,0 @@ -; XFAIL: * -; -; RUN: llvm-upgrade < %s | llvm-as | opt -funcresolve -instcombine | llvm-dis | not grep '\.\.\.' - -declare int %foo(...) -declare int %foo(int) - -void %bar() { - call int(...)* %foo(int 7) - ret void -} diff --git a/llvm/test/Regression/Transforms/FunctionResolve/2003-04-18-ForwardDeclGlobal.ll b/llvm/test/Regression/Transforms/FunctionResolve/2003-04-18-ForwardDeclGlobal.ll deleted file mode 100644 index 663d3eb18f9..00000000000 --- a/llvm/test/Regression/Transforms/FunctionResolve/2003-04-18-ForwardDeclGlobal.ll +++ /dev/null @@ -1,14 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -funcresolve -disable-output 2>&1 | not grep WARNING - -%__popcount_tab = external constant [0 x ubyte] -%__popcount_tab = constant [4 x ubyte] c"\00\01\01\02" - -declare void %foo(ubyte *) - -void %test() { - getelementptr [0 x ubyte]* %__popcount_tab, long 0, long 2 - getelementptr [4 x ubyte]* %__popcount_tab, long 0, long 2 - call void %foo(ubyte * getelementptr ([0 x ubyte]* %__popcount_tab, long 0, long 2)) - ret void -} - diff --git a/llvm/test/Regression/Transforms/FunctionResolve/2003-05-21-MissingArguments.ll b/llvm/test/Regression/Transforms/FunctionResolve/2003-05-21-MissingArguments.ll deleted file mode 100644 index b54d595c5f7..00000000000 --- a/llvm/test/Regression/Transforms/FunctionResolve/2003-05-21-MissingArguments.ll +++ /dev/null @@ -1,11 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -funcresolve -disable-output - -void %foo(int, int) { - ret void -} -declare void %foo(...) - -void %test() { - call void(...)* %foo(int 7) - ret void -} diff --git a/llvm/test/Regression/Transforms/FunctionResolve/2003-05-31-AllInternalDecls.ll b/llvm/test/Regression/Transforms/FunctionResolve/2003-05-31-AllInternalDecls.ll deleted file mode 100644 index 7abf0c2ce49..00000000000 --- a/llvm/test/Regression/Transforms/FunctionResolve/2003-05-31-AllInternalDecls.ll +++ /dev/null @@ -1,7 +0,0 @@ -; This testcase should not cause a warning! - -; RUN: (as < %s | opt -funcresolve -disable-output) 2>&1 | not grep 'WARNING' - -%X = internal global float 1.0 -%X = internal global int 1 - diff --git a/llvm/test/Regression/Transforms/FunctionResolve/2003-05-31-FuncPointerResolve.ll b/llvm/test/Regression/Transforms/FunctionResolve/2003-05-31-FuncPointerResolve.ll deleted file mode 100644 index 51b00010232..00000000000 --- a/llvm/test/Regression/Transforms/FunctionResolve/2003-05-31-FuncPointerResolve.ll +++ /dev/null @@ -1,11 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -funcresolve | llvm-dis | not grep declare - -%Table = constant int(...)* %foo - -%Table2 = constant [1 x int(...)* ] [ int(...)* %foo ] - -declare int %foo(...) - -int %foo() { - ret int 0 -} diff --git a/llvm/test/Regression/Transforms/FunctionResolve/2003-05-31-InternalDecl.ll b/llvm/test/Regression/Transforms/FunctionResolve/2003-05-31-InternalDecl.ll deleted file mode 100644 index c8d2de6d230..00000000000 --- a/llvm/test/Regression/Transforms/FunctionResolve/2003-05-31-InternalDecl.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -funcresolve | llvm-dis | grep declare - -declare void %test(...) - -int %callee() { - call void(...)* %test(int 5) - ret int 2 -} - -internal void %test(int) { - ret void -} diff --git a/llvm/test/Regression/Transforms/FunctionResolve/2003-06-18-TypePromotion.ll b/llvm/test/Regression/Transforms/FunctionResolve/2003-06-18-TypePromotion.ll deleted file mode 100644 index 9c22cbfca3b..00000000000 --- a/llvm/test/Regression/Transforms/FunctionResolve/2003-06-18-TypePromotion.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -funcresolve | dis | not grep declare - -declare void %test(int) - -int %callee(int %X) { - call void %test(int %X) - ret int 2 -} - -internal void %test(sbyte) { - ret void -} diff --git a/llvm/test/Regression/Transforms/FunctionResolve/2003-07-23-CPR-Reference.ll b/llvm/test/Regression/Transforms/FunctionResolve/2003-07-23-CPR-Reference.ll deleted file mode 100644 index e1a29ec2824..00000000000 --- a/llvm/test/Regression/Transforms/FunctionResolve/2003-07-23-CPR-Reference.ll +++ /dev/null @@ -1,10 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -funcresolve | llvm-dis | not grep foo - -; The funcresolve pass was resolving the two foo's together in this test, -; adding a ConstantPointerRef to one of them. Then because of this -; reference, it wasn't able to delete the dead declaration. :( - -declare int %foo(...) -declare int %foo(int) - - diff --git a/llvm/test/Regression/Transforms/FunctionResolve/2003-08-23-ArgumentWarning.ll b/llvm/test/Regression/Transforms/FunctionResolve/2003-08-23-ArgumentWarning.ll deleted file mode 100644 index 4e0a4aff9db..00000000000 --- a/llvm/test/Regression/Transforms/FunctionResolve/2003-08-23-ArgumentWarning.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -funcresolve -disable-output 2>&1 | not grep WARNING - -declare int %foo(int *%X) -declare int %foo(float *%X) - -implementation - -void %test() { - call int %foo(int* null) - call int %foo(float* null) - ret void -} diff --git a/llvm/test/Regression/Transforms/FunctionResolve/2003-10-21-GlobalResolveHack.ll b/llvm/test/Regression/Transforms/FunctionResolve/2003-10-21-GlobalResolveHack.ll deleted file mode 100644 index 0865f0d9230..00000000000 --- a/llvm/test/Regression/Transforms/FunctionResolve/2003-10-21-GlobalResolveHack.ll +++ /dev/null @@ -1,14 +0,0 @@ -; This tests a hack put into place specifically for the C++ libstdc++ library. -; It uses an ugly hack which is cleaned up by the funcresolve pass. - -; RUN: llvm-upgrade < %s | llvm-as | opt -funcresolve | llvm-dis | grep %X | grep '{' - -%X = external global { int } -%X = global [ 4 x sbyte ] zeroinitializer - -implementation - -int* %test() { - %P = getelementptr {int}* %X, long 0, uint 0 - ret int* %P -} diff --git a/llvm/test/Regression/Transforms/FunctionResolve/2003-11-20-BogusResolveWarning.ll b/llvm/test/Regression/Transforms/FunctionResolve/2003-11-20-BogusResolveWarning.ll deleted file mode 100644 index cc481f5143c..00000000000 --- a/llvm/test/Regression/Transforms/FunctionResolve/2003-11-20-BogusResolveWarning.ll +++ /dev/null @@ -1,10 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -funcresolve -disable-output 2>&1 | not grep WARNING - - -void %test() { - call int(...)* %test() - ret void -} - -declare int %test(...) - diff --git a/llvm/test/Regression/Transforms/FunctionResolve/basictest.ll b/llvm/test/Regression/Transforms/FunctionResolve/basictest.ll deleted file mode 100644 index 866ae8e54b5..00000000000 --- a/llvm/test/Regression/Transforms/FunctionResolve/basictest.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -funcresolve -instcombine | llvm-dis | grep '\.\.\.' | not grep call - -declare int %foo(...) - -int %foo(int %x, float %y) { - ret int %x -} - -int %bar() { - %x = call int(...)* %foo(double 12.5, int 48) - ret int %x -} diff --git a/llvm/test/Regression/Transforms/FunctionResolve/dg.exp b/llvm/test/Regression/Transforms/FunctionResolve/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/FunctionResolve/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/FunctionResolve/retmismatch1.ll b/llvm/test/Regression/Transforms/FunctionResolve/retmismatch1.ll deleted file mode 100644 index 51aeff851c9..00000000000 --- a/llvm/test/Regression/Transforms/FunctionResolve/retmismatch1.ll +++ /dev/null @@ -1,14 +0,0 @@ -; This shows where the function is called with the prototype indicating a -; return type exists, but it really doesn't. -; RUN: llvm-upgrade < %s | llvm-as | opt -funcresolve -instcombine | llvm-dis | grep '\.\.\.' | not grep call - -declare int %foo(...) - -void %foo(int %x, float %y) { - ret void -} - -int %bar() { - %x = call int(...)* %foo(double 12.5, int 48) - ret int %x -} diff --git a/llvm/test/Regression/Transforms/FunctionResolve/retmismatch2.ll b/llvm/test/Regression/Transforms/FunctionResolve/retmismatch2.ll deleted file mode 100644 index 749ca40db82..00000000000 --- a/llvm/test/Regression/Transforms/FunctionResolve/retmismatch2.ll +++ /dev/null @@ -1,15 +0,0 @@ -; This shows where the function is called with the prototype indicating a -; return type doesn't exists, but it really does. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -funcresolve -instcombine | llvm-dis | grep '\.\.\.' | not grep call - -declare void %foo(...) - -int %foo(int %x, float %y) { - ret int %x -} - -int %bar() { - call void (...)* %foo(double 12.5, int 48) - ret int 6 -} diff --git a/llvm/test/Regression/Transforms/FunctionResolve/retmismatch3.ll b/llvm/test/Regression/Transforms/FunctionResolve/retmismatch3.ll deleted file mode 100644 index f9850d67a7d..00000000000 --- a/llvm/test/Regression/Transforms/FunctionResolve/retmismatch3.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -funcresolve - -declare int %read(...) - -long %read() { - ret long 0 -} - -int %testfunc() { - %X = call int(...)* %read() - ret int %X -} diff --git a/llvm/test/Regression/Transforms/GCSE/.cvsignore b/llvm/test/Regression/Transforms/GCSE/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/GCSE/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/GCSE/2002-05-14-OperandSwap.ll b/llvm/test/Regression/Transforms/GCSE/2002-05-14-OperandSwap.ll deleted file mode 100644 index 5e893bfc0f9..00000000000 --- a/llvm/test/Regression/Transforms/GCSE/2002-05-14-OperandSwap.ll +++ /dev/null @@ -1,17 +0,0 @@ -; This entire chain of computation should be optimized away, but -; wasn't because the two multiplies were not detected as being identical. -; -; RUN: llvm-as < %s | opt -gcse -instcombine -dce | llvm-dis | not grep sub - -implementation ; Functions: - -uint "vnum_test4"(uint* %data) { - %idx1 = getelementptr uint* %data, uint 1 - %idx2 = getelementptr uint* %data, uint 3 - %reg1101 = load uint* %idx1 - %reg1111 = load uint* %idx2 - %reg109 = mul uint %reg1101, %reg1111 - %reg108 = mul uint %reg1111, %reg1101 - %reg121 = sub uint %reg108, %reg109 - ret uint %reg121 -} diff --git a/llvm/test/Regression/Transforms/GCSE/2002-05-21-NoSharedDominator.ll b/llvm/test/Regression/Transforms/GCSE/2002-05-21-NoSharedDominator.ll deleted file mode 100644 index 2c78695e41e..00000000000 --- a/llvm/test/Regression/Transforms/GCSE/2002-05-21-NoSharedDominator.ll +++ /dev/null @@ -1,13 +0,0 @@ -; This testcase shows a bug where an common subexpression exists, but there -; is no shared dominator block that the expression can be hoisted out to. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -gcse | llvm-dis - -int "test"(int %X, int %Y) { - %Z = add int %X, %Y - ret int %Z - -Unreachable: - %Q = add int %X, %Y - ret int %Q -} diff --git a/llvm/test/Regression/Transforms/GCSE/2003-06-13-LoadStoreEliminate.ll b/llvm/test/Regression/Transforms/GCSE/2003-06-13-LoadStoreEliminate.ll deleted file mode 100644 index 4ebb66c3783..00000000000 --- a/llvm/test/Regression/Transforms/GCSE/2003-06-13-LoadStoreEliminate.ll +++ /dev/null @@ -1,11 +0,0 @@ -; This testcase shows a bug where an common subexpression exists, but there -; is no shared dominator block that the expression can be hoisted out to. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -load-vn -gcse | llvm-dis | not grep load - -int %test(int* %P) { - store int 5, int* %P - %Z = load int* %P - ret int %Z -} - diff --git a/llvm/test/Regression/Transforms/GCSE/dg.exp b/llvm/test/Regression/Transforms/GCSE/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/GCSE/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/GCSE/gcsetests.ll b/llvm/test/Regression/Transforms/GCSE/gcsetests.ll deleted file mode 100644 index b866bb7eda7..00000000000 --- a/llvm/test/Regression/Transforms/GCSE/gcsetests.ll +++ /dev/null @@ -1,57 +0,0 @@ -; Various test cases to ensure basic functionality is working for GCSE - -; RUN: llvm-upgrade < %s | llvm-as | opt -gcse - -implementation - -void "testinsts"(int %i, int %j, int* %p) -begin - %A = cast int %i to uint - %B = cast int %i to uint - - %C = shl int %i, ubyte 1 - %D = shl int %i, ubyte 1 - - %E = getelementptr int* %p, long 12 - %F = getelementptr int* %p, long 12 - %G = getelementptr int* %p, long 13 - ret void -end - - -; Test different combinations of domination properties... -void "sameBBtest"(int %i, int %j) -begin - %A = add int %i, %j - %B = add int %i, %j - - %C = xor int %A, -1 - %D = xor int %B, -1 - %E = xor int %j, -1 - - ret void -end - -int "dominates"(int %i, int %j) -begin - %A = add int %i, %j - br label %BB2 - -BB2: - %B = add int %i, %j - ret int %B -end - -int "hascommondominator"(int %i, int %j) -begin - br bool true, label %BB1, label %BB2 - -BB1: - %A = add int %i, %j - ret int %A - -BB2: - %B = add int %i, %j - ret int %B -end - diff --git a/llvm/test/Regression/Transforms/GCSE/vectorops.ll b/llvm/test/Regression/Transforms/GCSE/vectorops.ll deleted file mode 100644 index 3804c290d7c..00000000000 --- a/llvm/test/Regression/Transforms/GCSE/vectorops.ll +++ /dev/null @@ -1,26 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -gcse -instcombine -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -gcse -instcombine | llvm-dis | not grep sub - -uint %test_extractelement(<4 x uint> %V) { - %R = extractelement <4 x uint> %V, uint 1 - %R2 = extractelement <4 x uint> %V, uint 1 - %V = sub uint %R, %R2 - ret uint %V -} - -<4 x uint> %test_insertelement(<4 x uint> %V) { - %R = insertelement <4 x uint> %V, uint 0, uint 0 - %R2 = insertelement <4 x uint> %V, uint 0, uint 0 - %x = sub <4 x uint> %R, %R2 - ret <4 x uint> %x -} - -<4 x uint> %test_shufflevector(<4 x uint> %V) { - %R = shufflevector <4 x uint> %V, <4 x uint> %V, - <4 x uint> < uint 1, uint undef, uint 7, uint 2> - %R2 = shufflevector <4 x uint> %V, <4 x uint> %V, - <4 x uint> < uint 1, uint undef, uint 7, uint 2> - %x = sub <4 x uint> %R, %R2 - ret <4 x uint> %x -} - diff --git a/llvm/test/Regression/Transforms/GlobalDCE/.cvsignore b/llvm/test/Regression/Transforms/GlobalDCE/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/GlobalDCE/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/GlobalDCE/2002-07-17-CastRef.ll b/llvm/test/Regression/Transforms/GlobalDCE/2002-07-17-CastRef.ll deleted file mode 100644 index 3679d516117..00000000000 --- a/llvm/test/Regression/Transforms/GlobalDCE/2002-07-17-CastRef.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globaldce -; -implementation - -internal void %func() { ; Not dead, can be reachable via X - ret void -} - -void %main() { - %X = cast void()* %func to int* - ret void -} diff --git a/llvm/test/Regression/Transforms/GlobalDCE/2002-07-17-ConstantRef.ll b/llvm/test/Regression/Transforms/GlobalDCE/2002-07-17-ConstantRef.ll deleted file mode 100644 index 8bb6da55b9a..00000000000 --- a/llvm/test/Regression/Transforms/GlobalDCE/2002-07-17-ConstantRef.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globaldce -; -%X = global void() * %func -implementation - -internal void %func() { ; Not dead, can be reachable via X - ret void -} - -void %main() { - ret void -} diff --git a/llvm/test/Regression/Transforms/GlobalDCE/2002-08-17-FunctionDGE.ll b/llvm/test/Regression/Transforms/GlobalDCE/2002-08-17-FunctionDGE.ll deleted file mode 100644 index e0af3c2c487..00000000000 --- a/llvm/test/Regression/Transforms/GlobalDCE/2002-08-17-FunctionDGE.ll +++ /dev/null @@ -1,16 +0,0 @@ -; Make sure that functions are removed successfully if they are referred to by -; a global that is dead. Make sure any globals they refer to die as well. - -; RUN: llvm-upgrade < %s | llvm-as | opt -globaldce | llvm-dis | not grep foo - -%b = internal global int ()* %foo ;; Unused, kills %foo - -%foo = internal global int 7 ;; Should die when function %foo is killed - -implementation - -internal int %foo() { ;; dies when %b dies. - %ret = load int* %foo - ret int %ret -} - diff --git a/llvm/test/Regression/Transforms/GlobalDCE/2002-08-17-WorkListTest.ll b/llvm/test/Regression/Transforms/GlobalDCE/2002-08-17-WorkListTest.ll deleted file mode 100644 index 493e30c3090..00000000000 --- a/llvm/test/Regression/Transforms/GlobalDCE/2002-08-17-WorkListTest.ll +++ /dev/null @@ -1,14 +0,0 @@ -; This testcase tests that a worklist is being used, and that globals can be -; removed if they are the subject of a constexpr and ConstantPointerRef - -; RUN: llvm-upgrade < %s | llvm-as | opt -globaldce | llvm-dis | not grep global - -%t0 = internal global [4 x sbyte] c"foo\00" -%t1 = internal global [4 x sbyte] c"bar\00" - -%s1 = internal global [1 x sbyte*] [sbyte* cast ([4 x sbyte]* %t0 to sbyte*)] -%s2 = internal global [1 x sbyte*] [sbyte* getelementptr ([4 x sbyte]* %t1, uint 0, uint 0 )] - -%b = internal global int* %a -%a = internal global int 7 - diff --git a/llvm/test/Regression/Transforms/GlobalDCE/2002-09-12-Redeletion.ll b/llvm/test/Regression/Transforms/GlobalDCE/2002-09-12-Redeletion.ll deleted file mode 100644 index bc650d2e897..00000000000 --- a/llvm/test/Regression/Transforms/GlobalDCE/2002-09-12-Redeletion.ll +++ /dev/null @@ -1,13 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globaldce - -%foo = internal global int 7 ;; Should die when function %foo is killed - -%bar = internal global [2x { int *, int }] [ { int *, int } { int* %foo, int 7}, {int*, int} { int* %foo, int 1 }] - -implementation - -internal int %foo() { ;; dies when %b dies. - %ret = load int* %foo - ret int %ret -} - diff --git a/llvm/test/Regression/Transforms/GlobalDCE/2003-07-01-SelfReference.ll b/llvm/test/Regression/Transforms/GlobalDCE/2003-07-01-SelfReference.ll deleted file mode 100644 index afdc1cd12d0..00000000000 --- a/llvm/test/Regression/Transforms/GlobalDCE/2003-07-01-SelfReference.ll +++ /dev/null @@ -1,11 +0,0 @@ -; distilled from 255.vortex -; RUN: llvm-upgrade < %s | llvm-as | opt -globaldce | llvm-dis | not grep testfunc - -implementation - -declare bool()* %getfunc() -internal bool %testfunc() { - %F = call bool()*()* %getfunc() - %c = seteq bool()* %F, %testfunc - ret bool %c -} diff --git a/llvm/test/Regression/Transforms/GlobalDCE/2003-10-09-PreserveWeakGlobals.ll b/llvm/test/Regression/Transforms/GlobalDCE/2003-10-09-PreserveWeakGlobals.ll deleted file mode 100644 index 4c45e7208cd..00000000000 --- a/llvm/test/Regression/Transforms/GlobalDCE/2003-10-09-PreserveWeakGlobals.ll +++ /dev/null @@ -1,6 +0,0 @@ -; Weak variables should be preserved by global DCE! - -; RUN: llvm-upgrade < %s | llvm-as | opt -globaldce | llvm-dis | grep %A - - -%A = weak global int 54 diff --git a/llvm/test/Regression/Transforms/GlobalDCE/basicvariabletest.ll b/llvm/test/Regression/Transforms/GlobalDCE/basicvariabletest.ll deleted file mode 100644 index 0b5c8b6faee..00000000000 --- a/llvm/test/Regression/Transforms/GlobalDCE/basicvariabletest.ll +++ /dev/null @@ -1,5 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globaldce | llvm-dis | not grep global - -%X = uninitialized global int -%Y = internal global int 7 - diff --git a/llvm/test/Regression/Transforms/GlobalDCE/dg.exp b/llvm/test/Regression/Transforms/GlobalDCE/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/GlobalDCE/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/GlobalOpt/.cvsignore b/llvm/test/Regression/Transforms/GlobalOpt/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/GlobalOpt/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/GlobalOpt/2004-10-10-CastStoreOnce.llx b/llvm/test/Regression/Transforms/GlobalOpt/2004-10-10-CastStoreOnce.llx deleted file mode 100644 index 8150c52bc7b..00000000000 --- a/llvm/test/Regression/Transforms/GlobalOpt/2004-10-10-CastStoreOnce.llx +++ /dev/null @@ -1,17 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt - -%V = global float 12.0 -%G = internal global int* null - -int %user() { - %P = load int** %G - %Q = load int* %P - ret int %Q -} - -void %setter() { - %Vi = cast float* %V to int* - store int* %Vi, int** %G - ret void -} - diff --git a/llvm/test/Regression/Transforms/GlobalOpt/2005-06-15-LocalizeConstExprCrash.ll b/llvm/test/Regression/Transforms/GlobalOpt/2005-06-15-LocalizeConstExprCrash.ll deleted file mode 100644 index 19458c78859..00000000000 --- a/llvm/test/Regression/Transforms/GlobalOpt/2005-06-15-LocalizeConstExprCrash.ll +++ /dev/null @@ -1,9 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt -disable-output -; PR579 - -%g_40507551 = internal global short 31038 ; <short*> [#uses=1] - -void %main() { - %tmp.4.i.1 = load ubyte* getelementptr (ubyte* cast (short* %g_40507551 to ubyte*), int 1) - ret void -} diff --git a/llvm/test/Regression/Transforms/GlobalOpt/2005-09-27-Crash.ll b/llvm/test/Regression/Transforms/GlobalOpt/2005-09-27-Crash.ll deleted file mode 100644 index 948687724f5..00000000000 --- a/llvm/test/Regression/Transforms/GlobalOpt/2005-09-27-Crash.ll +++ /dev/null @@ -1,28 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt -disable-output - %RPyString = type { int, %arraytype.Char } - %arraytype.Char = type { int, [0 x sbyte] } - %arraytype.Signed = type { int, [0 x int] } - %functiontype.1 = type %RPyString* (int) - %structtype.test = type { int, %arraytype.Signed } -%structinstance.test = internal global { int, { int, [2 x int] } } { int 41, { int, [2 x int] } { int 2, [2 x int] [ int 100, int 101 ] } } ; <{ int, { int, [2 x int] } }*> [#uses=1] - -implementation ; Functions: - -fastcc void %pypy_array_constant() { -block0: - %tmp.9 = getelementptr %structtype.test* cast ({ int, { int, [2 x int] } }* %structinstance.test to %structtype.test*), int 0, uint 0 ; <int*> [#uses=0] - ret void -} - -fastcc void %new.varsizestruct.rpy_string() { - unreachable -} - -void %__entrypoint__pypy_array_constant() { - call fastcc void %pypy_array_constant( ) - ret void -} - -void %__entrypoint__raised_LLVMException() { - ret void -} diff --git a/llvm/test/Regression/Transforms/GlobalOpt/2006-07-07-InlineAsmCrash.ll b/llvm/test/Regression/Transforms/GlobalOpt/2006-07-07-InlineAsmCrash.ll deleted file mode 100644 index 61df34533df..00000000000 --- a/llvm/test/Regression/Transforms/GlobalOpt/2006-07-07-InlineAsmCrash.ll +++ /dev/null @@ -1,138 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt -disable-output -; PR820 -target endian = little -target pointersize = 32 -target triple = "i686-pc-linux-gnu" - %struct..0FileDescriptor = type { int } - "struct.FlagDescription<int32>" = type { ubyte*, int*, bool, bool, int, ubyte* } - "struct.FlagRegisterer<bool>" = type { ubyte } - %struct.MutexLock = type { %struct..0FileDescriptor* } - "struct.std::DisabledRangeMap" = type { "struct.std::_Rb_tree<const char*,std::pair<const char* const, FlagDescription<bool> >,std::_Select1st<std::pair<const char* const, FlagDescription<bool> > >,StringCmp,std::allocator<std::pair<const char* const, FlagDescription<bool> > > >" } - "struct.std::_Rb_tree<const char*,std::pair<const char* const, FlagDescription<bool> >,std::_Select1st<std::pair<const char* const, FlagDescription<bool> > >,StringCmp,std::allocator<std::pair<const char* const, FlagDescription<bool> > > >" = type { "struct.std::_Rb_tree<const char*,std::pair<const char* const, FlagDescription<bool> >,std::_Select1st<std::pair<const char* const, FlagDescription<bool> > >,StringCmp,std::allocator<std::pair<const char* const, FlagDescription<bool> > > >::_Rb_tree_impl<StringCmp,false>" } - "struct.std::_Rb_tree<const char*,std::pair<const char* const, FlagDescription<bool> >,std::_Select1st<std::pair<const char* const, FlagDescription<bool> > >,StringCmp,std::allocator<std::pair<const char* const, FlagDescription<bool> > > >::_Rb_tree_impl<StringCmp,false>" = type { "struct.FlagRegisterer<bool>", "struct.std::_Rb_tree_node_base", uint } - "struct.std::_Rb_tree_const_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" = type { "struct.std::_Rb_tree_node_base"* } - "struct.std::_Rb_tree_node_base" = type { uint, "struct.std::_Rb_tree_node_base"*, "struct.std::_Rb_tree_node_base"*, "struct.std::_Rb_tree_node_base"* } - "struct.std::_Vector_base<int,std::allocator<int> >" = type { "struct.std::_Vector_base<int,std::allocator<int> >::_Vector_impl" } - "struct.std::_Vector_base<int,std::allocator<int> >::_Vector_impl" = type { int*, int*, int* } - "struct.std::vector<int,std::allocator<int> >" = type { "struct.std::_Vector_base<int,std::allocator<int> >" } -%registry_lock = external global %struct..0FileDescriptor ; <%struct..0FileDescriptor*> [#uses=0] -%_ZN61FLAG__foo_int32_44FLAGS_E = external global "struct.FlagRegisterer<bool>" ; <"struct.FlagRegisterer<bool>"*> [#uses=0] -%llvm.global_ctors = appending global [20 x { int, void ()* }] [ { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN62FLAG__foo_string_10FLAGS_E }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN60FLAG__foo_bool_19FLAGS_E }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZNK5Bzh4Enum13is_contiguousEv }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN62FLAG__foo_string_17FLAGS_E }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN61FLAG__foo_int32_21FLAGS_E }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN7ScannerC2Ev }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__Z11StripStringPSsPKcc }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZNK9__gnu_cxx4hashI11StringPieceEclERKS1_ }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN8Hasher325ResetEj }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__Z25ACLRv }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN61FLAG__foo_int64_25FLAGS_E }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN61FLAG__foo_int32_7FLAGS_E }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN62FLAG__foo_string_18FLAGS_E }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN62FLAG__foo_string_17FLAGS_E }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN61FLAG__foo_int32_25FLAGS_E }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I_eventbuf }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN61FLAG__foo_int32_26FLAGS_E }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN62FLAG__foo_string_16FLAGS_E }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN17InitializerC2EPKcS1_PFvvE }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__checker_bcad_variable } ] ; <[20 x { int, void ()* }]*> [#uses=0] - -implementation ; Functions: - -declare void %_GLOBAL__I__ZN62FLAG__foo_string_10FLAGS_E() - -declare void %_GLOBAL__I__ZN60FLAG__foo_bool_19FLAGS_E() - -declare void %_GLOBAL__I__ZNK5Bzh4Enum13is_contiguousEv() - -declare void %_GLOBAL__I__ZN62FLAG__foo_string_17FLAGS_E() - -declare void %_GLOBAL__I__ZN61FLAG__foo_int32_21FLAGS_E() - -void %_ZN14FlagRegistererIiEC1EPKcRK15FlagDescriptionIiE() { -entry: - call void %_Z12RegisterFlagIiEvPKcRK15FlagDescriptionIT_E( ) - ret void -} - -void %_Z12RegisterFlagIiEvPKcRK15FlagDescriptionIT_E() { -entry: - call void %_ZN9MutexLockC1EP5Mutex( ) - ret void -} - -declare void %_GLOBAL__I__ZN7ScannerC2Ev() - -declare void %_GLOBAL__I__Z11StripStringPSsPKcc() - -void %_ZNSt6vectorIiSaIiEEC1ERKS0_() { -entry: - unreachable -} - -declare void %_GLOBAL__I__ZNK9__gnu_cxx4hashI11StringPieceEclERKS1_() - -declare void %_GLOBAL__I__ZN8Hasher325ResetEj() - -declare void %_GLOBAL__I__Z25ACLRv() - -void %_ZN9MutexLockC1EP5Mutex() { -entry: - call void %_ZN5Mutex4LockEv( ) - ret void -} - -void %_ZN5Mutex4LockEv() { -entry: - call void %_Z22Acquire_CASPViii( ) - ret void -} - -csretcc void %_ZNSt3mapIPKc15FlagDescriptionIiE9StringCmpSaISt4pairIKS1_S3_EEE3endEv("struct.std::_Rb_tree_const_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >"* %agg.result) { -entry: - unreachable -} - -declare void %_GLOBAL__I__ZN61FLAG__foo_int64_25FLAGS_E() - -void %_Z14CASPViii() { -entry: - %tmp3 = call int asm sideeffect "lock; cmpxchg $1,$2", "={ax},q,m,0,~{dirflag},~{fpsr},~{flags},~{memory}"( int 0, int* null, int 0 ) ; <int> [#uses=0] - unreachable -} - -declare void %_GLOBAL__I__ZN61FLAG__foo_int32_7FLAGS_E() - -declare void %_GLOBAL__I__ZN62FLAG__foo_string_18FLAGS_E() - -void %_Z22Acquire_CASPViii() { -entry: - call void %_Z14CASPViii( ) - unreachable -} - -declare void %_GLOBAL__I__ZN61FLAG__foo_int32_25FLAGS_E() - -declare void %_GLOBAL__I_eventbuf() - -void %_GLOBAL__I__ZN61FLAG__foo_int32_26FLAGS_E() { -entry: - call void %_Z41__static_initialization_and_destruction_0ii1662( int 1, int 65535 ) - ret void -} - -void %_Z41__static_initialization_and_destruction_0ii1662(int %__initialize_p, int %__priority) { -entry: - %__initialize_p_addr = alloca int ; <int*> [#uses=2] - %__priority_addr = alloca int ; <int*> [#uses=2] - store int %__initialize_p, int* %__initialize_p_addr - store int %__priority, int* %__priority_addr - %tmp = load int* %__priority_addr ; <int> [#uses=1] - %tmp = seteq int %tmp, 65535 ; <bool> [#uses=1] - br bool %tmp, label %cond_true, label %cond_next14 - -cond_true: ; preds = %entry - %tmp8 = load int* %__initialize_p_addr ; <int> [#uses=1] - %tmp9 = seteq int %tmp8, 1 ; <bool> [#uses=1] - br bool %tmp9, label %cond_true10, label %cond_next14 - -cond_true10: ; preds = %cond_true - call void %_ZN14FlagRegistererIiEC1EPKcRK15FlagDescriptionIiE( ) - ret void - -cond_next14: ; preds = %cond_true, %entry - ret void -} - -declare void %_GLOBAL__I__ZN62FLAG__foo_string_16FLAGS_E() - -void %_ZN9__gnu_cxx13new_allocatorIPNS_15_Hashtable_nodeIjEEEC2Ev() { -entry: - unreachable -} - -declare void %_GLOBAL__I__ZN17InitializerC2EPKcS1_PFvvE() - -declare void %_GLOBAL__I__checker_bcad_variable() diff --git a/llvm/test/Regression/Transforms/GlobalOpt/2006-11-01-ShrinkGlobalPhiCrash.ll b/llvm/test/Regression/Transforms/GlobalOpt/2006-11-01-ShrinkGlobalPhiCrash.ll deleted file mode 100644 index cd76681a101..00000000000 --- a/llvm/test/Regression/Transforms/GlobalOpt/2006-11-01-ShrinkGlobalPhiCrash.ll +++ /dev/null @@ -1,33 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt -disable-output - %struct._list = type { int*, %struct._list* } - %struct._play = type { int, int*, %struct._list*, %struct._play* } -%nrow = internal global int 0 ; <int*> [#uses=2] - -implementation ; Functions: - -void %make_play() { -entry: - br label %cond_true16.i - -cond_true16.i: ; preds = %cond_true16.i, %entry - %low.0.in.i.0 = phi int* [ %nrow, %entry ], [ null, %cond_true16.i ] ; <int*> [#uses=1] - %low.0.i = load int* %low.0.in.i.0 ; <int> [#uses=0] - br label %cond_true16.i -} - -void %make_wanted() { -entry: - unreachable -} - -void %get_good_move() { -entry: - ret void -} - -void %main() { -entry: - store int 8, int* %nrow - tail call void %make_play( ) - ret void -} diff --git a/llvm/test/Regression/Transforms/GlobalOpt/basictest.llx b/llvm/test/Regression/Transforms/GlobalOpt/basictest.llx deleted file mode 100644 index 1f97fc03aab..00000000000 --- a/llvm/test/Regression/Transforms/GlobalOpt/basictest.llx +++ /dev/null @@ -1,9 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep global - -%X = internal global int 4 - - -int %foo() { - %V = load int* %X - ret int %V -} diff --git a/llvm/test/Regression/Transforms/GlobalOpt/ctor-list-opt.ll b/llvm/test/Regression/Transforms/GlobalOpt/ctor-list-opt.ll deleted file mode 100644 index 8f75deb61b6..00000000000 --- a/llvm/test/Regression/Transforms/GlobalOpt/ctor-list-opt.ll +++ /dev/null @@ -1,98 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep CTOR - -%llvm.global_ctors = appending global [10 x { int, void ()* }] [ - { int, void ()* } { int 65535, void ()* %CTOR1 }, - { int, void ()* } { int 65535, void ()* %CTOR1 }, - { int, void ()* } { int 65535, void ()* %CTOR2 }, - { int, void ()* } { int 65535, void ()* %CTOR3 }, - { int, void ()* } { int 65535, void ()* %CTOR4 }, - { int, void ()* } { int 65535, void ()* %CTOR5 }, - { int, void ()* } { int 65535, void ()* %CTOR6 }, - { int, void ()* } { int 65535, void ()* %CTOR7 }, - { int, void ()* } { int 65535, void ()* %CTOR8 }, - { int, void ()* } { int 2147483647, void ()* null } -] - -%G = global int 0 -%G2 = global int 0 -%G3 = global int -123 -%X = global {int, [2 x int]} { int 0, [2 x int] [ int 17, int 21] } -%Y = global int -1 -%Z = global int 123 -%D = global double 0.0 - -%CTORGV = internal global bool false ;; Should become constant after eval - -implementation - -internal void %CTOR1() { ;; noop ctor, remove. - ret void -} - -internal void %CTOR2() { ;; evaluate the store - %A = add int 1, 23 - store int %A, int* %G - store bool true, bool* %CTORGV - ret void -} - -internal void %CTOR3() { - %X = or bool true, false - br label %Cont -Cont: - br bool %X, label %S, label %T -S: - store int 24, int* %G2 - ret void -T: - ret void -} - -internal void %CTOR4() { - %X = load int* %G3 - %Y = add int %X, 123 - store int %Y, int* %G3 - ret void -} - -internal void %CTOR5() { - %X.2p = getelementptr {int,[2 x int]}* %X, int 0, uint 1, int 0 - %X.2 = load int* %X.2p - %X.1p = getelementptr {int,[2 x int]}* %X, int 0, uint 0 - store int %X.2, int* %X.1p - store int 42, int* %X.2p - ret void -} - -internal void %CTOR6() { - %A = alloca int - %y = load int* %Y - store int %y, int* %A - %Av = load int* %A - %Av1 = add int %Av, 1 - store int %Av1, int* %Y - ret void -} - -internal void %CTOR7() { - call void %setto(int* %Z, int 0) - ret void -} - -void %setto(int* %P, int %V) { - store int %V, int* %P - ret void -} - -declare double %cos(double) - -internal void %CTOR8() { - %X = call double %cos(double 1.0) - store double %X, double* %D - ret void -} -bool %accessor() { - %V = load bool* %CTORGV ;; constant true - ret bool %V -} diff --git a/llvm/test/Regression/Transforms/GlobalOpt/deadglobal-2.llx b/llvm/test/Regression/Transforms/GlobalOpt/deadglobal-2.llx deleted file mode 100644 index 5fa98250a4a..00000000000 --- a/llvm/test/Regression/Transforms/GlobalOpt/deadglobal-2.llx +++ /dev/null @@ -1,11 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep internal - -; This is a harder case to delete as the GEP has a variable index. - -%G = internal global [4 x int] zeroinitializer - -void %foo(int %X) { - %Ptr = getelementptr [4 x int]* %G, int 0, int %X - store int 1, int* %Ptr - ret void -} diff --git a/llvm/test/Regression/Transforms/GlobalOpt/deadglobal.llx b/llvm/test/Regression/Transforms/GlobalOpt/deadglobal.llx deleted file mode 100644 index a7397bf0fd9..00000000000 --- a/llvm/test/Regression/Transforms/GlobalOpt/deadglobal.llx +++ /dev/null @@ -1,8 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep internal - -%G = internal global int 123 - -void %foo() { - store int 1, int* %G - ret void -} diff --git a/llvm/test/Regression/Transforms/GlobalOpt/dg.exp b/llvm/test/Regression/Transforms/GlobalOpt/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/GlobalOpt/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/GlobalOpt/globalsra-partial.llx b/llvm/test/Regression/Transforms/GlobalOpt/globalsra-partial.llx deleted file mode 100644 index e060565b114..00000000000 --- a/llvm/test/Regression/Transforms/GlobalOpt/globalsra-partial.llx +++ /dev/null @@ -1,23 +0,0 @@ -; In this case, the global can only be broken up by one level. - -; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep 12345 - -%G = internal global { int, [4 x float] } zeroinitializer - -void %onlystore() { - store int 12345, int* getelementptr ({ int, [4 x float] }* %G, int 0, uint 0) - ret void -} - -void %storeinit(int %i) { - %Ptr = getelementptr { int, [4 x float] }* %G, int 0, uint 1, int %i - store float 1.0, float* %Ptr - ret void -} - -float %readval(int %i) { - %Ptr = getelementptr { int, [4 x float] }* %G, int 0, uint 1, int %i - %V = load float* %Ptr - ret float %V -} - diff --git a/llvm/test/Regression/Transforms/GlobalOpt/globalsra.llx b/llvm/test/Regression/Transforms/GlobalOpt/globalsra.llx deleted file mode 100644 index a87b954988c..00000000000 --- a/llvm/test/Regression/Transforms/GlobalOpt/globalsra.llx +++ /dev/null @@ -1,19 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep global - -%G = internal global { int, float, {double} } { int 1, float 1.0, {double} {double 17.27} } - -void %onlystore() { - store int 123, int* getelementptr ({ int, float, {double} }* %G, int 0, uint 0) - ret void -} - -float %storeinit() { - store float 1.0, float* getelementptr ({ int, float, {double} }* %G, int 0, uint 1) - %X = load float* getelementptr ({ int, float, {double} }* %G, int 0, uint 1) - ret float %X -} - -double %constantize() { - %X = load double* getelementptr ({ int, float, {double} }* %G, int 0, uint 2, uint 0) - ret double %X -} diff --git a/llvm/test/Regression/Transforms/GlobalOpt/integer-bool.ll b/llvm/test/Regression/Transforms/GlobalOpt/integer-bool.ll deleted file mode 100644 index 29cb4f5d34c..00000000000 --- a/llvm/test/Regression/Transforms/GlobalOpt/integer-bool.ll +++ /dev/null @@ -1,23 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt -instcombine | \ -; RUN: llvm-dis | grep 'ret i1 true' - -;; check that global opt turns integers that only hold 0 or 1 into bools. - -%G = internal global int 0 ;; This only holds 0 or 1. - -implementation - -void %set1() { - store int 0, int* %G - ret void -} -void %set2() { - store int 1, int* %G - ret void -} - -bool %get() { - %A = load int* %G - %C = setlt int %A, 2 ;; always true - ret bool %C -} diff --git a/llvm/test/Regression/Transforms/GlobalOpt/iterate.llx b/llvm/test/Regression/Transforms/GlobalOpt/iterate.llx deleted file mode 100644 index e4e59c63a40..00000000000 --- a/llvm/test/Regression/Transforms/GlobalOpt/iterate.llx +++ /dev/null @@ -1,10 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep %G - -%G = internal global int 0 -%H = internal global { int* } { int* %G } - -int %loadg() { - %G = load int** getelementptr ({int*}* %H, int 0, uint 0) - %GV = load int* %G - ret int %GV -} diff --git a/llvm/test/Regression/Transforms/GlobalOpt/load-store-global.llx b/llvm/test/Regression/Transforms/GlobalOpt/load-store-global.llx deleted file mode 100644 index bf5d3a256ac..00000000000 --- a/llvm/test/Regression/Transforms/GlobalOpt/load-store-global.llx +++ /dev/null @@ -1,14 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep G - -%G = internal global int 17 - -void %foo() { - %V = load int* %G - store int %V, int* %G ;; Doesn't change the value - ret void -} -int %bar() { - %X = load int* %G - ret int %X -} - diff --git a/llvm/test/Regression/Transforms/GlobalOpt/malloc-promote-1.llx b/llvm/test/Regression/Transforms/GlobalOpt/malloc-promote-1.llx deleted file mode 100644 index 068e96fc2c4..00000000000 --- a/llvm/test/Regression/Transforms/GlobalOpt/malloc-promote-1.llx +++ /dev/null @@ -1,18 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep global - -%G = internal global int* null - -void %init() { - %P = malloc int - store int* %P, int** %G - - %GV = load int** %G - store int 0, int* %GV - ret void -} - -int %get() { - %GV = load int** %G - %V = load int* %GV - ret int %V -} diff --git a/llvm/test/Regression/Transforms/GlobalOpt/malloc-promote-2.llx b/llvm/test/Regression/Transforms/GlobalOpt/malloc-promote-2.llx deleted file mode 100644 index 12d4c6d5bb2..00000000000 --- a/llvm/test/Regression/Transforms/GlobalOpt/malloc-promote-2.llx +++ /dev/null @@ -1,20 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep malloc - -%G = internal global int* null - -void %init() { - %P = malloc int, uint 100 - store int* %P, int** %G - - %GV = load int** %G - %GVe = getelementptr int* %GV, int 40 - store int 20, int* %GVe - ret void -} - -int %get() { - %GV = load int** %G - %GVe = getelementptr int* %GV, int 40 - %V = load int* %GVe - ret int %V -} diff --git a/llvm/test/Regression/Transforms/GlobalOpt/malloc-promote-3.llx b/llvm/test/Regression/Transforms/GlobalOpt/malloc-promote-3.llx deleted file mode 100644 index 85ce6bdbc86..00000000000 --- a/llvm/test/Regression/Transforms/GlobalOpt/malloc-promote-3.llx +++ /dev/null @@ -1,26 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep malloc - -%G = internal global int* null - -void %init() { - %P = malloc int, uint 100 - store int* %P, int** %G - - %GV = load int** %G - %GVe = getelementptr int* %GV, int 40 - store int 20, int* %GVe - ret void -} - -int %get() { - %GV = load int** %G - %GVe = getelementptr int* %GV, int 40 - %V = load int* %GVe - ret int %V -} - -bool %check() { ;; Return true if init has been called - %GV = load int** %G - %V = seteq int* %GV, null - ret bool %V -} diff --git a/llvm/test/Regression/Transforms/GlobalOpt/memcpy.ll b/llvm/test/Regression/Transforms/GlobalOpt/memcpy.ll deleted file mode 100644 index ea4483f3861..00000000000 --- a/llvm/test/Regression/Transforms/GlobalOpt/memcpy.ll +++ /dev/null @@ -1,17 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | \ -; RUN: grep 'G1 = internal constant' - -%G1 = internal global [58 x sbyte] c"asdlfkajsdlfkajsd;lfkajds;lfkjasd;flkajsd;lkfja;sdlkfjasd\00" - -implementation - -declare void %llvm.memcpy.i32(sbyte*, sbyte*, uint, uint) - -void %foo() { - %Blah = alloca [58 x sbyte] ; <[58 x sbyte]*> [#uses=2] - %tmp.0 = getelementptr [58 x sbyte]* %Blah, int 0, int 0 ; <sbyte*> [#uses=1] - call void %llvm.memcpy.i32( sbyte* %tmp.0, sbyte* getelementptr ([58 x sbyte]* %G1, int 0, int 0), uint 58, uint 1 ) - ret void -} - - diff --git a/llvm/test/Regression/Transforms/GlobalOpt/memset.ll b/llvm/test/Regression/Transforms/GlobalOpt/memset.ll deleted file mode 100644 index 5159d2861e4..00000000000 --- a/llvm/test/Regression/Transforms/GlobalOpt/memset.ll +++ /dev/null @@ -1,21 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep internal -; both globals are write only, delete them. - -%G0 = internal global [58 x sbyte] c"asdlfkajsdlfkajsd;lfkajds;lfkjasd;flkajsd;lkfja;sdlkfjasd\00" - -%G1 = internal global [4 x int] [ int 1, int 2, int 3, int 4] - -implementation ; Functions: - -declare void %llvm.memcpy(sbyte*, sbyte*, uint, uint) -declare void %llvm.memset(sbyte*, ubyte, uint, uint) - -void %foo() { - %Blah = alloca [58 x sbyte] ; <[58 x sbyte]*> [#uses=2] - %tmp3 = cast [58 x sbyte]* %Blah to sbyte* - call void %llvm.memcpy( sbyte* cast ([4 x int]* %G1 to sbyte*), sbyte* %tmp3, uint 16, uint 1) - call void %llvm.memset( sbyte* getelementptr ([58 x sbyte]* %G0, int 0, int 0), uint 17, uint 58, uint 1) - ret void -} - - diff --git a/llvm/test/Regression/Transforms/GlobalOpt/phi-select.llx b/llvm/test/Regression/Transforms/GlobalOpt/phi-select.llx deleted file mode 100644 index 2389c0a8bca..00000000000 --- a/llvm/test/Regression/Transforms/GlobalOpt/phi-select.llx +++ /dev/null @@ -1,29 +0,0 @@ -; Test that PHI nodes and select instructions do not necessarily make stuff -; non-constant. - -; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep global - -%X = internal global int 4 -%Y = internal global int 5 - -int %test1(bool %C) { - %P = select bool %C, int* %X, int* %Y - %V = load int* %P - ret int %V -} - - -int %test2(bool %C) { - br bool %C, label %T, label %Cont -T: - br label %Cont -Cont: - %P = phi int* [%X, %0], [%Y, %T] - %V = load int* %P - ret int %V -} - - - - - diff --git a/llvm/test/Regression/Transforms/GlobalOpt/storepointer-compare.llx b/llvm/test/Regression/Transforms/GlobalOpt/storepointer-compare.llx deleted file mode 100644 index 5340feed387..00000000000 --- a/llvm/test/Regression/Transforms/GlobalOpt/storepointer-compare.llx +++ /dev/null @@ -1,28 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | grep 'call void %Actual' - -; Check that a comparison does not prevent an indirect call from being made -; direct. The global will still remain, but indirect call elim is still good. - -%G = internal global void ()* null - -implementation - -internal void %Actual() { - ret void -} - -void %init() { - store void()* %Actual, void()** %G - ret void -} - -void %doit() { - %FP = load void()** %G - %CC = seteq void()* %FP, null - br bool %CC, label %isNull, label %DoCall -DoCall: - call void %FP() - ret void -isNull: - ret void -} diff --git a/llvm/test/Regression/Transforms/GlobalOpt/storepointer.llx b/llvm/test/Regression/Transforms/GlobalOpt/storepointer.llx deleted file mode 100644 index a424d255bd7..00000000000 --- a/llvm/test/Regression/Transforms/GlobalOpt/storepointer.llx +++ /dev/null @@ -1,20 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep global - -%G = internal global void ()* null - -implementation - -internal void %Actual() { - ret void -} - -void %init() { - store void()* %Actual, void()** %G - ret void -} - -void %doit() { - %FP = load void()** %G - call void %FP() - ret void -} diff --git a/llvm/test/Regression/Transforms/GlobalOpt/trivialstore.llx b/llvm/test/Regression/Transforms/GlobalOpt/trivialstore.llx deleted file mode 100644 index 8b1f1ce5250..00000000000 --- a/llvm/test/Regression/Transforms/GlobalOpt/trivialstore.llx +++ /dev/null @@ -1,17 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep G - -%G = internal global int 17 - -void %foo() { - store int 17, int* %G ;; Doesn't change the value - ret void -} -int %bar() { - %X = load int* %G - ret int %X -} - -internal void %dead() { - store int 123, int* %G - ret void -} diff --git a/llvm/test/Regression/Transforms/GlobalOpt/undef-init.llx b/llvm/test/Regression/Transforms/GlobalOpt/undef-init.llx deleted file mode 100644 index 2f073c2ff04..00000000000 --- a/llvm/test/Regression/Transforms/GlobalOpt/undef-init.llx +++ /dev/null @@ -1,18 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep store - -%llvm.global_ctors = appending global [1 x { int, void ()* }] [ { int, void ()* } { int 65535, void ()* %_GLOBAL__I__Z3foov } ] ; <[1 x { int, void ()* }]*> [#uses=0] -%X.0 = internal global int undef ; <int*> [#uses=2] - -implementation ; Functions: - -int %_Z3foov() { -entry: - %tmp.1 = load int* %X.0 ; <int> [#uses=1] - ret int %tmp.1 -} - -internal void %_GLOBAL__I__Z3foov() { -entry: - store int 1, int* %X.0 - ret void -} diff --git a/llvm/test/Regression/Transforms/IPConstantProp/.cvsignore b/llvm/test/Regression/Transforms/IPConstantProp/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/IPConstantProp/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/IPConstantProp/deadarg.ll b/llvm/test/Regression/Transforms/IPConstantProp/deadarg.ll deleted file mode 100644 index 5e41ade2b63..00000000000 --- a/llvm/test/Regression/Transforms/IPConstantProp/deadarg.ll +++ /dev/null @@ -1,7 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -ipconstprop -disable-output -implementation - -internal void %foo(int %X) { - call void %foo(int %X) - ret void -} diff --git a/llvm/test/Regression/Transforms/IPConstantProp/dg.exp b/llvm/test/Regression/Transforms/IPConstantProp/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/IPConstantProp/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/IPConstantProp/recursion.ll b/llvm/test/Regression/Transforms/IPConstantProp/recursion.ll deleted file mode 100644 index 10f18e591c1..00000000000 --- a/llvm/test/Regression/Transforms/IPConstantProp/recursion.ll +++ /dev/null @@ -1,14 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -ipconstprop -deadargelim | llvm-dis | not grep %X - -implementation - -internal int %foo(int %X) { - %Y = call int %foo( int %X ) - %Z = add int %Y, 1 - ret int %Z -} - -void %bar() { - call int %foo( int 17 ) ; <int>:0 [#uses=0] - ret void -} diff --git a/llvm/test/Regression/Transforms/IPConstantProp/return-constant.ll b/llvm/test/Regression/Transforms/IPConstantProp/return-constant.ll deleted file mode 100644 index 50e6a77a5b8..00000000000 --- a/llvm/test/Regression/Transforms/IPConstantProp/return-constant.ll +++ /dev/null @@ -1,17 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -ipconstprop -instcombine | \ -; RUN: llvm-dis | grep 'ret i1 true' -implementation - -internal int %foo(bool %C) { - br bool %C, label %T, label %F -T: - ret int 52 -F: - ret int 52 -} - -bool %caller(bool %C) { - %X = call int %foo(bool %C) - %Y = setne int %X, 0 - ret bool %Y -} diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/.cvsignore b/llvm/test/Regression/Transforms/IndVarsSimplify/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/2002-09-09-PointerIndVar.ll b/llvm/test/Regression/Transforms/IndVarsSimplify/2002-09-09-PointerIndVar.ll deleted file mode 100644 index 4c80e4851f4..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/2002-09-09-PointerIndVar.ll +++ /dev/null @@ -1,16 +0,0 @@ -; Induction variable pass is doing bad things with pointer induction vars, -; trying to do arithmetic on them directly. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -; -void %test(int %A, uint %S, sbyte* %S) { - - br label %Loop -Loop: - %PIV = phi sbyte* [%S, %0], [%PIVNext, %Loop] - - %PIV = cast sbyte* %PIV to ulong - %PIVNext = add ulong %PIV, 8 - %PIVNext = cast ulong %PIVNext to sbyte* - br label %Loop -} diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/2003-04-16-ExprAnalysis.ll b/llvm/test/Regression/Transforms/IndVarsSimplify/2003-04-16-ExprAnalysis.ll deleted file mode 100644 index 2f198255ebf..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/2003-04-16-ExprAnalysis.ll +++ /dev/null @@ -1,14 +0,0 @@ -; This is a test case for the expression analysis code, not really indvars. -; It was assuming any constant of int type was a ConstantInteger. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars - -%X = global int 7 - -void %test(int %A) { - br label %Loop -Loop: - %IV = phi int [%A, %0], [%IVNext, %Loop] - %IVNext = add int %IV, cast (int* %X to int) - br label %Loop -} diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/2003-09-12-MultiplePred.ll b/llvm/test/Regression/Transforms/IndVarsSimplify/2003-09-12-MultiplePred.ll deleted file mode 100644 index ea1e5854904..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/2003-09-12-MultiplePred.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | grep indvar - -int %test() { - br bool true, label %LoopHead, label %LoopHead - -LoopHead: - %A = phi int [7, %0], [7, %0], [%B, %LoopHead] - %B = add int %A, 1 - br bool false, label %LoopHead, label %Out -Out: - ret int %B -} diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/2003-09-23-NotAtTop.ll b/llvm/test/Regression/Transforms/IndVarsSimplify/2003-09-23-NotAtTop.ll deleted file mode 100644 index d715f688f19..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/2003-09-23-NotAtTop.ll +++ /dev/null @@ -1,16 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | %prcontext Loop: 1 | grep %indvar - -; The indvar simplification code should ensure that the first PHI in the block -; is the canonical one! - -int %test() { - br label %Loop -Loop: - %NonIndvar = phi int [200, %0], [%NonIndvarNext, %Loop] - %Canonical = phi int [0, %0], [%CanonicalNext, %Loop] - - %NonIndvarNext = div int %NonIndvar, 2 - %CanonicalNext = add int %Canonical, 1 - br label %Loop -} - diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/2003-12-10-IndVarDeadCode.ll b/llvm/test/Regression/Transforms/IndVarsSimplify/2003-12-10-IndVarDeadCode.ll deleted file mode 100644 index 743827df3f1..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/2003-12-10-IndVarDeadCode.ll +++ /dev/null @@ -1,23 +0,0 @@ -; The induction variable canonicalization pass shouldn't leave dead -; instructions laying around! -; -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | not grep '#uses=0' - -int %mul(int %x, int %y) { -entry: - br label %tailrecurse - -tailrecurse: ; preds = %entry, %endif - %accumulator.tr = phi int [ %x, %entry ], [ %tmp.9, %endif ] ; <int> [#uses=2] - %y.tr = phi int [ %y, %entry ], [ %tmp.8, %endif ] ; <int> [#uses=2] - %tmp.1 = seteq int %y.tr, 0 ; <bool> [#uses=1] - br bool %tmp.1, label %return, label %endif - -endif: ; preds = %tailrecurse - %tmp.8 = add int %y.tr, -1 ; <int> [#uses=1] - %tmp.9 = add int %accumulator.tr, %x ; <int> [#uses=1] - br label %tailrecurse - -return: ; preds = %tailrecurse - ret int %accumulator.tr -} diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/2003-12-10-RemoveInstrCrash.llx b/llvm/test/Regression/Transforms/IndVarsSimplify/2003-12-10-RemoveInstrCrash.llx deleted file mode 100644 index 09d384ebb97..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/2003-12-10-RemoveInstrCrash.llx +++ /dev/null @@ -1,17 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -disable-output - -void %test() { -entry: - %inc.2 = add int 1, 1 ; <int> [#uses=1] - br bool false, label %no_exit, label %loopexit - -no_exit: ; preds = %entry, %no_exit - %j.0.pn = phi int [ %inc.3, %no_exit ], [ %inc.2, %entry ] ; <int> [#uses=1] - %k.0.pn = phi int [ %inc.4, %no_exit ], [ 1, %entry ] ; <int> [#uses=1] - %inc.3 = add int %j.0.pn, 1 ; <int> [#uses=1] - %inc.4 = add int %k.0.pn, 1 ; <int> [#uses=1] - br bool false, label %no_exit, label %loopexit - -loopexit: ; preds = %entry, %no_exit - ret void -} diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/2003-12-15-Crash.llx b/llvm/test/Regression/Transforms/IndVarsSimplify/2003-12-15-Crash.llx deleted file mode 100644 index 372472811e1..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/2003-12-15-Crash.llx +++ /dev/null @@ -1,23 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -disable-output -void %_ZN17CoinFactorization7cleanupEv() { -entry: - br bool false, label %loopexit.14, label %cond_continue.3 - -cond_continue.3: ; preds = %entry - ret void - -loopexit.14: ; preds = %entry - %tmp.738 = sub int 0, 0 ; <int> [#uses=1] - br bool false, label %no_exit.15.preheader, label %loopexit.15 - -no_exit.15.preheader: ; preds = %loopexit.14 - br label %no_exit.15 - -no_exit.15: ; preds = %no_exit.15.preheader, %no_exit.15 - %highC.0 = phi int [ %tmp.738, %no_exit.15.preheader ], [ %dec.0, %no_exit.15 ] ; <int> [#uses=1] - %dec.0 = add int %highC.0, -1 ; <int> [#uses=1] - br bool false, label %no_exit.15, label %loopexit.15 - -loopexit.15: ; preds = %loopexit.14, %no_exit.15 - ret void -} diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/2003-12-21-IndVarSize.ll b/llvm/test/Regression/Transforms/IndVarsSimplify/2003-12-21-IndVarSize.ll deleted file mode 100644 index 26fecf45eeb..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/2003-12-21-IndVarSize.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | grep indvar | not grep uint - -%G = global long 0 - -void %test() { - br label %Loop -Loop: - %X = phi long [1, %0], [%X.next, %Loop] - %X.next = add long %X, 1 - store long %X, long* %G - br label %Loop -} diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/2004-03-10-PHIInsertionBug.ll b/llvm/test/Regression/Transforms/IndVarsSimplify/2004-03-10-PHIInsertionBug.ll deleted file mode 100644 index 88c393ea397..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/2004-03-10-PHIInsertionBug.ll +++ /dev/null @@ -1,27 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -disable-output - -implementation ; Functions: - -void %test() { - br label %endif.0.i - -endif.0.i: ; preds = %then.0.i - br bool false, label %then.3.i, label %endif.3.i - -then.3.i: ; preds = %endif.0.i - br label %endif.3.i - -endif.3.i: ; preds = %endif.0.i, %then.3.i - %inxm.0.i = phi int [ 8, %then.3.i ], [ 0, %endif.0.i ] - %doinner.1.i = phi int [ 0, %then.3.i ], [ 0, %endif.0.i ] - br label %loopentry.2.i - -loopentry.2.i: ; preds = %endif.3.i, %no_exit.2.i - %inxk.0.i = phi int [ %tmp.210.i, %no_exit.2.i ], [ 0, %endif.3.i ] - br label %no_exit.2.i - -no_exit.2.i: ; preds = %loopentry.2.i - %tmp.210.i = sub int %inxk.0.i, %inxm.0.i - %tmp.213.i = add int %tmp.210.i, 0 - br label %loopentry.2.i -} diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/2004-04-05-InvokeCastCrash.llx b/llvm/test/Regression/Transforms/IndVarsSimplify/2004-04-05-InvokeCastCrash.llx deleted file mode 100644 index c0d841024cc..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/2004-04-05-InvokeCastCrash.llx +++ /dev/null @@ -1,286 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -disable-output - - %struct.__false_type = type { ubyte } - "struct.__gnu_cxx::_Hashtable_node<const llvm::Constant*>" = type { "struct.__gnu_cxx::_Hashtable_node<const llvm::Constant*>"*, "struct.llvm::Constant"* } - "struct.__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >" = type { "struct.__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >"*, "struct.std::pair<const llvm::Value* const,int>" } - "struct.__gnu_cxx::hash_map<const llvm::Value*,int,__gnu_cxx::hash<const llvm::Value*>,std::equal_to<const llvm::Value*>,std::allocator<int> >" = type { "struct.__gnu_cxx::hashtable<std::pair<const llvm::Value* const, int>,const llvm::Value*,__gnu_cxx::hash<const llvm::Value*>,std::_Select1st<std::pair<const llvm::Value* const, int> >,std::equal_to<const llvm::Value*>,std::allocator<int> >" } - "struct.__gnu_cxx::hash_set<const llvm::Constant*,__gnu_cxx::hash<const llvm::Constant*>,std::equal_to<const llvm::Constant*>,std::allocator<const llvm::Constant*> >" = type { "struct.__gnu_cxx::hashtable<const llvm::Constant*,const llvm::Constant*,__gnu_cxx::hash<const llvm::Constant*>,std::_Identity<const llvm::Constant*>,std::equal_to<const llvm::Constant*>,std::allocator<const llvm::Constant*> >" } - "struct.__gnu_cxx::hashtable<const llvm::Constant*,const llvm::Constant*,__gnu_cxx::hash<const llvm::Constant*>,std::_Identity<const llvm::Constant*>,std::equal_to<const llvm::Constant*>,std::allocator<const llvm::Constant*> >" = type { %struct.__false_type, %struct.__false_type, %struct.__false_type, %struct.__false_type, "struct.std::vector<__gnu_cxx::_Hashtable_node<const llvm::Constant*>*,std::allocator<const llvm::Constant*> >", uint } - "struct.__gnu_cxx::hashtable<std::pair<const llvm::Value* const, int>,const llvm::Value*,__gnu_cxx::hash<const llvm::Value*>,std::_Select1st<std::pair<const llvm::Value* const, int> >,std::equal_to<const llvm::Value*>,std::allocator<int> >" = type { %struct.__false_type, %struct.__false_type, %struct.__false_type, %struct.__false_type, "struct.std::vector<__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >*,std::allocator<int> >", uint } - "struct.llvm::AbstractTypeUser" = type { int (...)** } - "struct.llvm::Annotable" = type { int (...)**, "struct.llvm::Annotation"* } - "struct.llvm::Annotation" = type { int (...)**, "struct.llvm::AnnotationID", "struct.llvm::Annotation"* } - "struct.llvm::AnnotationID" = type { uint } - "struct.llvm::Argument" = type { "struct.llvm::Value", "struct.llvm::Function"*, "struct.llvm::Argument"*, "struct.llvm::Argument"* } - "struct.llvm::BasicBlock" = type { "struct.llvm::Value", "struct.llvm::iplist<llvm::Instruction,llvm::ilist_traits<llvm::Instruction> >", "struct.llvm::BasicBlock"*, "struct.llvm::BasicBlock"* } - "struct.llvm::Constant" = type opaque - "struct.llvm::DerivedType" = type { "struct.llvm::Type", "struct.llvm::AbstractTypeUser", "struct.std::vector<llvm::AbstractTypeUser*,std::allocator<llvm::AbstractTypeUser*> >" } - "struct.llvm::Function" = type { "struct.llvm::GlobalValue", "struct.llvm::Annotable", "struct.llvm::iplist<llvm::BasicBlock,llvm::ilist_traits<llvm::BasicBlock> >", "struct.llvm::iplist<llvm::Argument,llvm::ilist_traits<llvm::Argument> >", "struct.llvm::SymbolTable"*, "struct.llvm::Function"*, "struct.llvm::Function"* } - "struct.llvm::FunctionPass" = type { "struct.llvm::Pass" } - "struct.llvm::FunctionType" = type { "struct.llvm::DerivedType", bool } - "struct.llvm::GlobalValue" = type { "struct.llvm::User", uint, "struct.llvm::Module"* } - "struct.llvm::Instruction" = type { "struct.llvm::User", "struct.llvm::Annotable", "struct.llvm::BasicBlock"*, "struct.llvm::Instruction"*, "struct.llvm::Instruction"*, uint } - "struct.llvm::IntrinsicLowering" = type opaque - "struct.llvm::MachineBasicBlock" = type { "struct.llvm::ilist<llvm::MachineInstr>", "struct.llvm::MachineBasicBlock"*, "struct.llvm::MachineBasicBlock"*, "struct.llvm::BasicBlock"* } - "struct.llvm::MachineConstantPool" = type opaque - "struct.llvm::MachineFrameInfo" = type opaque - "struct.llvm::MachineFunction" = type { "struct.llvm::Annotation", "struct.llvm::Function"*, "struct.llvm::TargetMachine"*, "struct.llvm::iplist<llvm::MachineBasicBlock,llvm::ilist_traits<llvm::MachineBasicBlock> >", "struct.llvm::SSARegMap"*, "struct.llvm::MachineFunctionInfo"*, "struct.llvm::MachineFrameInfo"*, "struct.llvm::MachineConstantPool"* } - "struct.llvm::MachineFunctionInfo" = type { "struct.__gnu_cxx::hash_set<const llvm::Constant*,__gnu_cxx::hash<const llvm::Constant*>,std::equal_to<const llvm::Constant*>,std::allocator<const llvm::Constant*> >", "struct.__gnu_cxx::hash_map<const llvm::Value*,int,__gnu_cxx::hash<const llvm::Value*>,std::equal_to<const llvm::Value*>,std::allocator<int> >", uint, uint, uint, uint, uint, uint, uint, bool, bool, bool, "struct.llvm::MachineFunction"* } - "struct.llvm::MachineFunctionPass" = type { "struct.llvm::FunctionPass" } - "struct.llvm::MachineInstr" = type { short, ubyte, "struct.std::vector<llvm::MachineOperand,std::allocator<llvm::MachineOperand> >", "struct.llvm::MachineInstr"*, "struct.llvm::MachineInstr"*, "struct.llvm::MachineBasicBlock"* } - "struct.llvm::MachineInstrBuilder" = type { "struct.llvm::MachineInstr"* } - "struct.llvm::MachineOperand" = type { "union.llvm::MachineOperand::._65", int, int } - "struct.llvm::Module" = type opaque - "struct.llvm::PATypeHandle" = type { "struct.llvm::Type"*, "struct.llvm::AbstractTypeUser"* } - "struct.llvm::PATypeHolder" = type { "struct.llvm::Type"* } - "struct.llvm::Pass" = type { int (...)**, "struct.llvm::AbstractTypeUser"*, "struct.llvm::PassInfo"*, "struct.std::vector<std::pair<const llvm::PassInfo*, llvm::Pass*>,std::allocator<std::pair<const llvm::PassInfo*, llvm::Pass*> > >" } - "struct.llvm::PassInfo" = type { sbyte*, sbyte*, "struct.std::type_info"*, ubyte, "struct.std::vector<const llvm::PassInfo*,std::allocator<const llvm::PassInfo*> >", "struct.llvm::Pass"* ()*, "struct.llvm::Pass"* ("struct.llvm::TargetMachine"*)* } - "struct.llvm::SSARegMap" = type opaque - "struct.llvm::SymbolTable" = type opaque - "struct.llvm::SymbolTableListTraits<llvm::Argument,llvm::Function,llvm::Function,llvm::ilist_traits<llvm::Argument> >" = type { "struct.llvm::Function"*, "struct.llvm::Function"* } - "struct.llvm::SymbolTableListTraits<llvm::Instruction,llvm::BasicBlock,llvm::Function,llvm::ilist_traits<llvm::Instruction> >" = type { "struct.llvm::Function"*, "struct.llvm::BasicBlock"* } - "struct.llvm::TargetData" = type { "struct.llvm::FunctionPass", bool, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte } - "struct.llvm::TargetFrameInfo" = type { int (...)**, uint, uint, int } - "struct.llvm::TargetInstrDescriptor" = type { sbyte*, int, int, uint, bool, uint, uint, uint, uint, uint, uint*, uint* } - "struct.llvm::TargetInstrInfo" = type { int (...)**, "struct.llvm::TargetInstrDescriptor"*, uint, uint } - "struct.llvm::TargetMachine" = type { int (...)**, "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >", "struct.llvm::TargetData", "struct.llvm::IntrinsicLowering"* } - "struct.llvm::TargetRegClassInfo" = type { int (...)**, uint, uint, uint } - "struct.llvm::TargetRegInfo" = type { int (...)**, "struct.std::vector<const llvm::TargetRegClassInfo*,std::allocator<const llvm::TargetRegClassInfo*> >", "struct.llvm::TargetMachine"* } - "struct.llvm::Type" = type { "struct.llvm::Value", uint, uint, bool, uint, "struct.llvm::Type"*, "struct.std::vector<llvm::PATypeHandle,std::allocator<llvm::PATypeHandle> >" } - "struct.llvm::Use" = type { "struct.llvm::Value"*, "struct.llvm::User"*, "struct.llvm::Use"*, "struct.llvm::Use"* } - "struct.llvm::User" = type { "struct.llvm::Value", "struct.std::vector<llvm::Use,std::allocator<llvm::Use> >" } - "struct.llvm::Value" = type { int (...)**, "struct.llvm::iplist<llvm::Use,llvm::ilist_traits<llvm::Use> >", "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >", "struct.llvm::PATypeHolder", uint } - "struct.llvm::_GLOBAL__N_::InsertPrologEpilogCode" = type { "struct.llvm::MachineFunctionPass" } - "struct.llvm::ilist<llvm::MachineInstr>" = type { "struct.llvm::iplist<llvm::MachineInstr,llvm::ilist_traits<llvm::MachineInstr> >" } - "struct.llvm::ilist_iterator<const llvm::MachineBasicBlock>" = type { "struct.llvm::MachineBasicBlock"* } - "struct.llvm::ilist_traits<llvm::Argument>" = type { "struct.llvm::SymbolTableListTraits<llvm::Argument,llvm::Function,llvm::Function,llvm::ilist_traits<llvm::Argument> >" } - "struct.llvm::ilist_traits<llvm::Instruction>" = type { "struct.llvm::SymbolTableListTraits<llvm::Instruction,llvm::BasicBlock,llvm::Function,llvm::ilist_traits<llvm::Instruction> >" } - "struct.llvm::iplist<llvm::Argument,llvm::ilist_traits<llvm::Argument> >" = type { "struct.llvm::ilist_traits<llvm::Argument>", "struct.llvm::Argument"*, "struct.llvm::Argument"* } - "struct.llvm::iplist<llvm::BasicBlock,llvm::ilist_traits<llvm::BasicBlock> >" = type { "struct.llvm::ilist_traits<llvm::Argument>", "struct.llvm::BasicBlock"*, "struct.llvm::BasicBlock"* } - "struct.llvm::iplist<llvm::Instruction,llvm::ilist_traits<llvm::Instruction> >" = type { "struct.llvm::ilist_traits<llvm::Instruction>", "struct.llvm::Instruction"*, "struct.llvm::Instruction"* } - "struct.llvm::iplist<llvm::MachineBasicBlock,llvm::ilist_traits<llvm::MachineBasicBlock> >" = type { "struct.llvm::MachineBasicBlock"*, "struct.llvm::MachineBasicBlock"* } - "struct.llvm::iplist<llvm::MachineInstr,llvm::ilist_traits<llvm::MachineInstr> >" = type { "struct.llvm::ilist_iterator<const llvm::MachineBasicBlock>", "struct.llvm::MachineInstr"*, "struct.llvm::MachineInstr"* } - "struct.llvm::iplist<llvm::Use,llvm::ilist_traits<llvm::Use> >" = type { "struct.llvm::Use"*, "struct.llvm::Use"* } - "struct.std::_Vector_alloc_base<__gnu_cxx::_Hashtable_node<const llvm::Constant*>*,std::allocator<const llvm::Constant*>, true>" = type { "struct.__gnu_cxx::_Hashtable_node<const llvm::Constant*>"**, "struct.__gnu_cxx::_Hashtable_node<const llvm::Constant*>"**, "struct.__gnu_cxx::_Hashtable_node<const llvm::Constant*>"** } - "struct.std::_Vector_alloc_base<__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >*,std::allocator<int>, true>" = type { "struct.__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >"**, "struct.__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >"**, "struct.__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >"** } - "struct.std::_Vector_alloc_base<const llvm::PassInfo*,std::allocator<const llvm::PassInfo*>, true>" = type { "struct.llvm::PassInfo"**, "struct.llvm::PassInfo"**, "struct.llvm::PassInfo"** } - "struct.std::_Vector_alloc_base<const llvm::TargetRegClassInfo*,std::allocator<const llvm::TargetRegClassInfo*>, true>" = type { "struct.llvm::TargetRegClassInfo"**, "struct.llvm::TargetRegClassInfo"**, "struct.llvm::TargetRegClassInfo"** } - "struct.std::_Vector_alloc_base<llvm::AbstractTypeUser*,std::allocator<llvm::AbstractTypeUser*>, true>" = type { "struct.llvm::AbstractTypeUser"**, "struct.llvm::AbstractTypeUser"**, "struct.llvm::AbstractTypeUser"** } - "struct.std::_Vector_alloc_base<llvm::MachineInstr*,std::allocator<llvm::MachineInstr*>, true>" = type { "struct.llvm::MachineInstr"**, "struct.llvm::MachineInstr"**, "struct.llvm::MachineInstr"** } - "struct.std::_Vector_alloc_base<llvm::MachineOperand,std::allocator<llvm::MachineOperand>, true>" = type { "struct.llvm::MachineOperand"*, "struct.llvm::MachineOperand"*, "struct.llvm::MachineOperand"* } - "struct.std::_Vector_alloc_base<llvm::PATypeHandle,std::allocator<llvm::PATypeHandle>, true>" = type { "struct.llvm::PATypeHandle"*, "struct.llvm::PATypeHandle"*, "struct.llvm::PATypeHandle"* } - "struct.std::_Vector_alloc_base<llvm::Use,std::allocator<llvm::Use>, true>" = type { "struct.llvm::Use"*, "struct.llvm::Use"*, "struct.llvm::Use"* } - "struct.std::_Vector_alloc_base<std::pair<const llvm::PassInfo*, llvm::Pass*>,std::allocator<std::pair<const llvm::PassInfo*, llvm::Pass*> >, true>" = type { "struct.std::pair<const llvm::PassInfo*,llvm::Pass*>"*, "struct.std::pair<const llvm::PassInfo*,llvm::Pass*>"*, "struct.std::pair<const llvm::PassInfo*,llvm::Pass*>"* } - "struct.std::_Vector_base<__gnu_cxx::_Hashtable_node<const llvm::Constant*>*,std::allocator<const llvm::Constant*> >" = type { "struct.std::_Vector_alloc_base<__gnu_cxx::_Hashtable_node<const llvm::Constant*>*,std::allocator<const llvm::Constant*>, true>" } - "struct.std::_Vector_base<__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >*,std::allocator<int> >" = type { "struct.std::_Vector_alloc_base<__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >*,std::allocator<int>, true>" } - "struct.std::_Vector_base<const llvm::PassInfo*,std::allocator<const llvm::PassInfo*> >" = type { "struct.std::_Vector_alloc_base<const llvm::PassInfo*,std::allocator<const llvm::PassInfo*>, true>" } - "struct.std::_Vector_base<const llvm::TargetRegClassInfo*,std::allocator<const llvm::TargetRegClassInfo*> >" = type { "struct.std::_Vector_alloc_base<const llvm::TargetRegClassInfo*,std::allocator<const llvm::TargetRegClassInfo*>, true>" } - "struct.std::_Vector_base<llvm::AbstractTypeUser*,std::allocator<llvm::AbstractTypeUser*> >" = type { "struct.std::_Vector_alloc_base<llvm::AbstractTypeUser*,std::allocator<llvm::AbstractTypeUser*>, true>" } - "struct.std::_Vector_base<llvm::MachineInstr*,std::allocator<llvm::MachineInstr*> >" = type { "struct.std::_Vector_alloc_base<llvm::MachineInstr*,std::allocator<llvm::MachineInstr*>, true>" } - "struct.std::_Vector_base<llvm::MachineOperand,std::allocator<llvm::MachineOperand> >" = type { "struct.std::_Vector_alloc_base<llvm::MachineOperand,std::allocator<llvm::MachineOperand>, true>" } - "struct.std::_Vector_base<llvm::PATypeHandle,std::allocator<llvm::PATypeHandle> >" = type { "struct.std::_Vector_alloc_base<llvm::PATypeHandle,std::allocator<llvm::PATypeHandle>, true>" } - "struct.std::_Vector_base<llvm::Use,std::allocator<llvm::Use> >" = type { "struct.std::_Vector_alloc_base<llvm::Use,std::allocator<llvm::Use>, true>" } - "struct.std::_Vector_base<std::pair<const llvm::PassInfo*, llvm::Pass*>,std::allocator<std::pair<const llvm::PassInfo*, llvm::Pass*> > >" = type { "struct.std::_Vector_alloc_base<std::pair<const llvm::PassInfo*, llvm::Pass*>,std::allocator<std::pair<const llvm::PassInfo*, llvm::Pass*> >, true>" } - "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" = type { "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Alloc_hider" } - "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Alloc_hider" = type { sbyte* } - "struct.std::pair<const llvm::PassInfo*,llvm::Pass*>" = type { "struct.llvm::PassInfo"*, "struct.llvm::Pass"* } - "struct.std::pair<const llvm::Value* const,int>" = type { "struct.llvm::Value"*, int } - "struct.std::type_info" = type { int (...)**, sbyte* } - "struct.std::vector<__gnu_cxx::_Hashtable_node<const llvm::Constant*>*,std::allocator<const llvm::Constant*> >" = type { "struct.std::_Vector_base<__gnu_cxx::_Hashtable_node<const llvm::Constant*>*,std::allocator<const llvm::Constant*> >" } - "struct.std::vector<__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >*,std::allocator<int> >" = type { "struct.std::_Vector_base<__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >*,std::allocator<int> >" } - "struct.std::vector<const llvm::PassInfo*,std::allocator<const llvm::PassInfo*> >" = type { "struct.std::_Vector_base<const llvm::PassInfo*,std::allocator<const llvm::PassInfo*> >" } - "struct.std::vector<const llvm::TargetRegClassInfo*,std::allocator<const llvm::TargetRegClassInfo*> >" = type { "struct.std::_Vector_base<const llvm::TargetRegClassInfo*,std::allocator<const llvm::TargetRegClassInfo*> >" } - "struct.std::vector<llvm::AbstractTypeUser*,std::allocator<llvm::AbstractTypeUser*> >" = type { "struct.std::_Vector_base<llvm::AbstractTypeUser*,std::allocator<llvm::AbstractTypeUser*> >" } - "struct.std::vector<llvm::MachineInstr*,std::allocator<llvm::MachineInstr*> >" = type { "struct.std::_Vector_base<llvm::MachineInstr*,std::allocator<llvm::MachineInstr*> >" } - "struct.std::vector<llvm::MachineOperand,std::allocator<llvm::MachineOperand> >" = type { "struct.std::_Vector_base<llvm::MachineOperand,std::allocator<llvm::MachineOperand> >" } - "struct.std::vector<llvm::PATypeHandle,std::allocator<llvm::PATypeHandle> >" = type { "struct.std::_Vector_base<llvm::PATypeHandle,std::allocator<llvm::PATypeHandle> >" } - "struct.std::vector<llvm::Use,std::allocator<llvm::Use> >" = type { "struct.std::_Vector_base<llvm::Use,std::allocator<llvm::Use> >" } - "struct.std::vector<std::pair<const llvm::PassInfo*, llvm::Pass*>,std::allocator<std::pair<const llvm::PassInfo*, llvm::Pass*> > >" = type { "struct.std::_Vector_base<std::pair<const llvm::PassInfo*, llvm::Pass*>,std::allocator<std::pair<const llvm::PassInfo*, llvm::Pass*> > >" } - "union.llvm::MachineOperand::._65" = type { "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >"* } - -implementation ; Functions: - -declare void %_Znwj() - -declare void %_ZN4llvm12MachineInstrC1Esjbb() - -declare void %_ZNSt6vectorIPN4llvm12MachineInstrESaIS2_EE9push_backERKS2_() - -declare void %_ZNK4llvm8Function15getFunctionTypeEv() - -declare void %_ZNK4llvm19MachineInstrBuilder7addMRegEiNS_14MachineOperand7UseTypeE() - -declare void %_ZNK4llvm19MachineInstrBuilder7addSImmEi() - -void %_ZN4llvm11_GLOBAL__N_22InsertPrologEpilogCode20runOnMachineFunctionERNS_15MachineFunctionE("struct.llvm::MachineFunction"* %F) { -entry: - %tmp.8.i = invoke "struct.llvm::TargetFrameInfo"* null( "struct.llvm::TargetMachine"* null ) - to label %invoke_cont.0.i unwind label %invoke_catch.0.i ; <"struct.llvm::TargetFrameInfo"*> [#uses=0] - -invoke_catch.0.i: ; preds = %entry, %invoke_cont.0.i, %tmp.7.i.noexc.i, %endif.0.i.i, %invoke_cont.1.i, %invoke_cont.2.i, %invoke_cont.3.i, %invoke_cont.4.i, %then.0.i, %invoke_cont.i.i, %invoke_cont.7.i, %invoke_cont.8.i, %invoke_cont.9.i, %endif.0.i, %then.1.i, %invoke_cont.34.i, %invoke_cont.35.i, %then.2.i, %invoke_cont.37.i, %invoke_cont.38.i, %invoke_cont.39.i, %invoke_cont.40.i, %invoke_cont.41.i, %invoke_cont.42.i, %invoke_cont.43.i, %invoke_cont.44.i, %no_exit.i, %invoke_cont.i53.i, %invoke_cont.47.i, %invoke_cont.48.i, %invoke_cont.49.i - ret void - -invoke_cont.0.i: ; preds = %entry - %tmp.7.i1.i = invoke "struct.llvm::TargetFrameInfo"* null( "struct.llvm::TargetMachine"* null ) - to label %tmp.7.i.noexc.i unwind label %invoke_catch.0.i ; <"struct.llvm::TargetFrameInfo"*> [#uses=2] - -tmp.7.i.noexc.i: ; preds = %invoke_cont.0.i - %tmp.17.i2.i = invoke int null( "struct.llvm::TargetFrameInfo"* %tmp.7.i1.i ) - to label %endif.0.i.i unwind label %invoke_catch.0.i ; <int> [#uses=0] - -endif.0.i.i: ; preds = %tmp.7.i.noexc.i - %tmp.38.i4.i = invoke int null( "struct.llvm::TargetFrameInfo"* %tmp.7.i1.i ) - to label %tmp.38.i.noexc.i unwind label %invoke_catch.0.i ; <int> [#uses=0] - -tmp.38.i.noexc.i: ; preds = %endif.0.i.i - br bool false, label %invoke_cont.1.i, label %then.1.i.i - -then.1.i.i: ; preds = %tmp.38.i.noexc.i - ret void - -invoke_cont.1.i: ; preds = %tmp.38.i.noexc.i - %tmp.21.i = invoke "struct.llvm::TargetRegInfo"* null( "struct.llvm::TargetMachine"* null ) - to label %invoke_cont.2.i unwind label %invoke_catch.0.i ; <"struct.llvm::TargetRegInfo"*> [#uses=1] - -invoke_cont.2.i: ; preds = %invoke_cont.1.i - %tmp.28.i = invoke uint null( "struct.llvm::TargetRegInfo"* %tmp.21.i ) - to label %invoke_cont.3.i unwind label %invoke_catch.0.i ; <uint> [#uses=0] - -invoke_cont.3.i: ; preds = %invoke_cont.2.i - %tmp.36.i = invoke "struct.llvm::TargetInstrInfo"* null( "struct.llvm::TargetMachine"* null ) - to label %invoke_cont.4.i unwind label %invoke_catch.0.i ; <"struct.llvm::TargetInstrInfo"*> [#uses=1] - -invoke_cont.4.i: ; preds = %invoke_cont.3.i - %tmp.43.i = invoke bool null( "struct.llvm::TargetInstrInfo"* %tmp.36.i, short 383, long 0 ) - to label %invoke_cont.5.i unwind label %invoke_catch.0.i ; <bool> [#uses=1] - -invoke_cont.5.i: ; preds = %invoke_cont.4.i - br bool %tmp.43.i, label %then.0.i, label %else.i - -then.0.i: ; preds = %invoke_cont.5.i - invoke void %_Znwj( ) - to label %tmp.0.i.noexc.i unwind label %invoke_catch.0.i - -tmp.0.i.noexc.i: ; preds = %then.0.i - invoke void %_ZN4llvm12MachineInstrC1Esjbb( ) - to label %invoke_cont.i.i unwind label %cond_true.i.i - -cond_true.i.i: ; preds = %tmp.0.i.noexc.i - ret void - -invoke_cont.i.i: ; preds = %tmp.0.i.noexc.i - invoke void %_ZNK4llvm19MachineInstrBuilder7addMRegEiNS_14MachineOperand7UseTypeE( ) - to label %invoke_cont.7.i unwind label %invoke_catch.0.i - -invoke_cont.7.i: ; preds = %invoke_cont.i.i - invoke void %_ZNK4llvm19MachineInstrBuilder7addSImmEi( ) - to label %invoke_cont.8.i unwind label %invoke_catch.0.i - -invoke_cont.8.i: ; preds = %invoke_cont.7.i - invoke void %_ZNK4llvm19MachineInstrBuilder7addMRegEiNS_14MachineOperand7UseTypeE( ) - to label %invoke_cont.9.i unwind label %invoke_catch.0.i - -invoke_cont.9.i: ; preds = %invoke_cont.8.i - invoke void %_ZNSt6vectorIPN4llvm12MachineInstrESaIS2_EE9push_backERKS2_( ) - to label %endif.0.i unwind label %invoke_catch.0.i - -else.i: ; preds = %invoke_cont.5.i - ret void - -endif.0.i: ; preds = %invoke_cont.9.i - invoke void %_ZNK4llvm8Function15getFunctionTypeEv( ) - to label %invoke_cont.33.i unwind label %invoke_catch.0.i - -invoke_cont.33.i: ; preds = %endif.0.i - br bool false, label %then.1.i, label %endif.1.i - -then.1.i: ; preds = %invoke_cont.33.i - invoke void %_ZNK4llvm8Function15getFunctionTypeEv( ) - to label %invoke_cont.34.i unwind label %invoke_catch.0.i - -invoke_cont.34.i: ; preds = %then.1.i - %tmp.121.i = invoke "struct.llvm::TargetRegInfo"* null( "struct.llvm::TargetMachine"* null ) - to label %invoke_cont.35.i unwind label %invoke_catch.0.i ; <"struct.llvm::TargetRegInfo"*> [#uses=1] - -invoke_cont.35.i: ; preds = %invoke_cont.34.i - %tmp.128.i = invoke uint null( "struct.llvm::TargetRegInfo"* %tmp.121.i ) - to label %invoke_cont.36.i unwind label %invoke_catch.0.i ; <uint> [#uses=0] - -invoke_cont.36.i: ; preds = %invoke_cont.35.i - br bool false, label %then.2.i, label %endif.1.i - -then.2.i: ; preds = %invoke_cont.36.i - %tmp.140.i = invoke "struct.llvm::TargetRegInfo"* null( "struct.llvm::TargetMachine"* null ) - to label %invoke_cont.37.i unwind label %invoke_catch.0.i ; <"struct.llvm::TargetRegInfo"*> [#uses=0] - -invoke_cont.37.i: ; preds = %then.2.i - %tmp.148.i = invoke "struct.llvm::TargetRegInfo"* null( "struct.llvm::TargetMachine"* null ) - to label %invoke_cont.38.i unwind label %invoke_catch.0.i ; <"struct.llvm::TargetRegInfo"*> [#uses=1] - -invoke_cont.38.i: ; preds = %invoke_cont.37.i - %tmp.155.i = invoke uint null( "struct.llvm::TargetRegInfo"* %tmp.148.i, "struct.llvm::Type"* null, bool false ) - to label %invoke_cont.39.i unwind label %invoke_catch.0.i ; <uint> [#uses=0] - -invoke_cont.39.i: ; preds = %invoke_cont.38.i - %tmp.163.i = invoke "struct.llvm::TargetFrameInfo"* null( "struct.llvm::TargetMachine"* null ) - to label %invoke_cont.40.i unwind label %invoke_catch.0.i ; <"struct.llvm::TargetFrameInfo"*> [#uses=1] - -invoke_cont.40.i: ; preds = %invoke_cont.39.i - %tmp.170.i = invoke int null( "struct.llvm::TargetFrameInfo"* %tmp.163.i ) - to label %invoke_cont.41.i unwind label %invoke_catch.0.i ; <int> [#uses=0] - -invoke_cont.41.i: ; preds = %invoke_cont.40.i - %tmp.177.i = invoke "struct.llvm::TargetFrameInfo"* null( "struct.llvm::TargetMachine"* null ) - to label %invoke_cont.42.i unwind label %invoke_catch.0.i ; <"struct.llvm::TargetFrameInfo"*> [#uses=1] - -invoke_cont.42.i: ; preds = %invoke_cont.41.i - %tmp.184.i = invoke int null( "struct.llvm::TargetFrameInfo"* %tmp.177.i ) - to label %invoke_cont.43.i unwind label %invoke_catch.0.i ; <int> [#uses=1] - -invoke_cont.43.i: ; preds = %invoke_cont.42.i - %tmp.191.i = invoke "struct.llvm::TargetFrameInfo"* null( "struct.llvm::TargetMachine"* null ) - to label %invoke_cont.44.i unwind label %invoke_catch.0.i ; <"struct.llvm::TargetFrameInfo"*> [#uses=1] - -invoke_cont.44.i: ; preds = %invoke_cont.43.i - %tmp.198.i = invoke int null( "struct.llvm::TargetFrameInfo"* %tmp.191.i, "struct.llvm::MachineFunction"* %F, bool* null ) - to label %invoke_cont.45.i unwind label %invoke_catch.0.i ; <int> [#uses=0] - -invoke_cont.45.i: ; preds = %invoke_cont.44.i - br bool false, label %no_exit.i, label %endif.1.i - -no_exit.i: ; preds = %invoke_cont.45.i, %invoke_cont.50.i - %nextArgOffset.0.i.1 = phi int [ %tmp.221.i, %invoke_cont.50.i ], [ 0, %invoke_cont.45.i ] ; <int> [#uses=1] - invoke void %_Znwj( ) - to label %tmp.0.i.noexc55.i unwind label %invoke_catch.0.i - -tmp.0.i.noexc55.i: ; preds = %no_exit.i - invoke void %_ZN4llvm12MachineInstrC1Esjbb( ) - to label %invoke_cont.i53.i unwind label %cond_true.i52.i - -cond_true.i52.i: ; preds = %tmp.0.i.noexc55.i - ret void - -invoke_cont.i53.i: ; preds = %tmp.0.i.noexc55.i - invoke void %_ZNK4llvm19MachineInstrBuilder7addMRegEiNS_14MachineOperand7UseTypeE( ) - to label %invoke_cont.47.i unwind label %invoke_catch.0.i - -invoke_cont.47.i: ; preds = %invoke_cont.i53.i - invoke void %_ZNK4llvm19MachineInstrBuilder7addMRegEiNS_14MachineOperand7UseTypeE( ) - to label %invoke_cont.48.i unwind label %invoke_catch.0.i - -invoke_cont.48.i: ; preds = %invoke_cont.47.i - invoke void %_ZNK4llvm19MachineInstrBuilder7addSImmEi( ) - to label %invoke_cont.49.i unwind label %invoke_catch.0.i - -invoke_cont.49.i: ; preds = %invoke_cont.48.i - invoke void %_ZNSt6vectorIPN4llvm12MachineInstrESaIS2_EE9push_backERKS2_( ) - to label %invoke_cont.50.i unwind label %invoke_catch.0.i - -invoke_cont.50.i: ; preds = %invoke_cont.49.i - %tmp.221.i = add int %nextArgOffset.0.i.1, %tmp.184.i ; <int> [#uses=1] - br bool false, label %no_exit.i, label %endif.1.i - -endif.1.i: ; preds = %invoke_cont.33.i, %invoke_cont.36.i, %invoke_cont.45.i, %invoke_cont.50.i - ret void -} - diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/2004-04-07-ScalarEvolutionCrash.llx b/llvm/test/Regression/Transforms/IndVarsSimplify/2004-04-07-ScalarEvolutionCrash.llx deleted file mode 100644 index 82212d5c720..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/2004-04-07-ScalarEvolutionCrash.llx +++ /dev/null @@ -1,26 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -disable-output - -void %.outPlank_21() { -entry: - br bool false, label %loopexit.0, label %no_exit.0 - -no_exit.0: ; preds = %entry - ret void - -loopexit.0: ; preds = %entry - br bool false, label %no_exit.1, label %loopexit.1 - -no_exit.1: ; preds = %loopexit.0, %loopexit.2 - %i.0.0 = phi int [ %inc, %loopexit.2 ], [ 0, %loopexit.0 ] ; <int> [#uses=1] - br bool false, label %loopexit.2, label %no_exit.2 - -no_exit.2: ; preds = %no_exit.1 - ret void - -loopexit.2: ; preds = %no_exit.1 - %inc = add int %i.0.0, 1 ; <int> [#uses=1] - br bool false, label %no_exit.1, label %loopexit.1 - -loopexit.1: ; preds = %loopexit.0, %loopexit.2 - ret void -} diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/2005-02-11-InvokeCrash.ll b/llvm/test/Regression/Transforms/IndVarsSimplify/2005-02-11-InvokeCrash.ll deleted file mode 100644 index 92a48308b2a..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/2005-02-11-InvokeCrash.ll +++ /dev/null @@ -1,22 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -disable-output - -void %_ZN5ArrayISt7complexIdEEC2ERK10dim_vector() { -entry: - %tmp.7 = invoke int %_ZN5ArrayISt7complexIdEE8get_sizeERK10dim_vector( ) - to label %invoke_cont.0 unwind label %cond_true.1 ; <int> [#uses=2] - -cond_true.1: ; preds = %entry - unwind - -invoke_cont.0: ; preds = %entry - %tmp.4.i = cast int %tmp.7 to uint ; <uint> [#uses=0] - %tmp.14.0.i5 = add int %tmp.7, -1 ; <int> [#uses=1] - br label %no_exit.i - -no_exit.i: ; preds = %no_exit.i, %invoke_cont.0 - %tmp.14.0.i.0 = phi int [ %tmp.14.0.i, %no_exit.i ], [ %tmp.14.0.i5, %invoke_cont.0 ] ; <int> [#uses=1] - %tmp.14.0.i = add int %tmp.14.0.i.0, -1 ; <int> [#uses=1] - br label %no_exit.i -} - -declare int %_ZN5ArrayISt7complexIdEE8get_sizeERK10dim_vector() diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/2005-02-17-TruncateExprCrash.ll b/llvm/test/Regression/Transforms/IndVarsSimplify/2005-02-17-TruncateExprCrash.ll deleted file mode 100644 index 5ba8bdb622f..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/2005-02-17-TruncateExprCrash.ll +++ /dev/null @@ -1,63 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -disable-output - -implementation ; Functions: - -declare void %q_atomic_increment() - -declare void %_Z9qt_assertPKcS0_i() - -void %_ZN13QMetaResourceC1EPKh() { -entry: - invoke void %_Z9qt_assertPKcS0_i( ) - to label %endif.1 unwind label %then.i.i551 - -then.i.i551: ; preds = %entry - ret void - -endif.1: ; preds = %entry - br bool false, label %then.2, label %then.i.i - -then.2: ; preds = %endif.1 - invoke void %q_atomic_increment( ) - to label %loopentry.0 unwind label %invoke_catch.6 - -invoke_catch.6: ; preds = %then.2 - ret void - -loopentry.0: ; preds = %then.2 - br bool false, label %shortcirc_next.i, label %endif.3 - -endif.3: ; preds = %loopentry.0 - ret void - -shortcirc_next.i: ; preds = %loopentry.0 - br bool false, label %_ZNK7QString2atEi.exit, label %then.i - -then.i: ; preds = %shortcirc_next.i - ret void - -_ZNK7QString2atEi.exit: ; preds = %shortcirc_next.i - br bool false, label %endif.4, label %then.4 - -then.4: ; preds = %_ZNK7QString2atEi.exit - ret void - -endif.4: ; preds = %_ZNK7QString2atEi.exit - %tmp.115 = load ubyte* null ; <ubyte> [#uses=1] - br bool false, label %loopexit.1, label %no_exit.0 - -no_exit.0: ; preds = %no_exit.0, %endif.4 - %bytes_in_len.4.5 = phi ubyte [ %dec, %no_exit.0 ], [ %tmp.115, %endif.4 ] ; <ubyte> [#uses=1] - %off.5.5.in = phi int [ %off.5.5, %no_exit.0 ], [ 0, %endif.4 ] ; <int> [#uses=1] - %off.5.5 = add int %off.5.5.in, 1 ; <int> [#uses=2] - %dec = add ubyte %bytes_in_len.4.5, 255 ; <ubyte> [#uses=2] - %tmp.123631 = seteq ubyte %dec, 0 ; <bool> [#uses=1] - br bool %tmp.123631, label %loopexit.1, label %no_exit.0 - -loopexit.1: ; preds = %no_exit.0, %endif.4 - %off.5.in.6 = phi int [ 0, %endif.4 ], [ %off.5.5, %no_exit.0 ] ; <int> [#uses=0] - ret void - -then.i.i: ; preds = %endif.1 - ret void -} diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/2005-02-26-ExitValueCompute.ll b/llvm/test/Regression/Transforms/IndVarsSimplify/2005-02-26-ExitValueCompute.ll deleted file mode 100644 index 8fcd8e44c85..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/2005-02-26-ExitValueCompute.ll +++ /dev/null @@ -1,19 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | grep 'ret i32 152' - -int %main() { -entry: - br label %no_exit - -no_exit: ; preds = %no_exit, %entry - %i.1.0 = phi int [ 0, %entry ], [ %inc, %no_exit ] ; <int> [#uses=2] - %tmp.4 = setgt int %i.1.0, 50 ; <bool> [#uses=1] - %tmp.7 = select bool %tmp.4, int 100, int 0 ; <int> [#uses=1] - %i.0 = add int %i.1.0, 1 ; <int> [#uses=1] - %inc = add int %i.0, %tmp.7 ; <int> [#uses=3] - %tmp.1 = setlt int %inc, 100 ; <bool> [#uses=1] - br bool %tmp.1, label %no_exit, label %loopexit - -loopexit: ; preds = %no_exit - ret int %inc -} - diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/2005-06-15-InstMoveCrash.ll b/llvm/test/Regression/Transforms/IndVarsSimplify/2005-06-15-InstMoveCrash.ll deleted file mode 100644 index 896482c29b2..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/2005-06-15-InstMoveCrash.ll +++ /dev/null @@ -1,36 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -disable-output - -void %main() { -entry: - br label %no_exit.1.outer - -no_exit.1.outer: ; preds = %endif.0, %entry - %l_14237116.1.0.ph = phi sbyte [ -46, %entry ], [ 0, %endif.0 ] ; <sbyte> [#uses=1] - %i.0.0.0.ph = phi int [ 0, %entry ], [ %inc.1, %endif.0 ] ; <int> [#uses=1] - br label %no_exit.1 - -no_exit.1: ; preds = %_Z13func_47880058cc.exit, %no_exit.1.outer - br bool false, label %_Z13func_47880058cc.exit, label %then.i - -then.i: ; preds = %no_exit.1 - br label %_Z13func_47880058cc.exit - -_Z13func_47880058cc.exit: ; preds = %then.i, %no_exit.1 - br bool false, label %then.0, label %no_exit.1 - -then.0: ; preds = %_Z13func_47880058cc.exit - %tmp.6 = cast sbyte %l_14237116.1.0.ph to ubyte ; <ubyte> [#uses=1] - br bool false, label %endif.0, label %then.1 - -then.1: ; preds = %then.0 - br label %endif.0 - -endif.0: ; preds = %then.1, %then.0 - %inc.1 = add int %i.0.0.0.ph, 1 ; <int> [#uses=2] - %tmp.2 = setgt int %inc.1, 99 ; <bool> [#uses=1] - br bool %tmp.2, label %loopexit.0, label %no_exit.1.outer - -loopexit.0: ; preds = %endif.0 - %tmp.28 = cast ubyte %tmp.6 to uint ; <uint> [#uses=0] - ret void -} diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/2005-11-18-Crash.ll b/llvm/test/Regression/Transforms/IndVarsSimplify/2005-11-18-Crash.ll deleted file mode 100644 index 9960e5cdb2b..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/2005-11-18-Crash.ll +++ /dev/null @@ -1,18 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -disable-output - -%fixtab = external global [29 x [29 x [2 x uint]]] ; <[29 x [29 x [2 x uint]]]*> [#uses=1] - -implementation ; Functions: - -void %init_optabs() { -entry: - br label %no_exit.0 - -no_exit.0: ; preds = %no_exit.0, %entry - %p.0.0 = phi uint* [ getelementptr ([29 x [29 x [2 x uint]]]* %fixtab, int 0, int 0, int 0, int 0), %entry ], [ %inc.0, %no_exit.0 ] ; <uint*> [#uses=1] - %inc.0 = getelementptr uint* %p.0.0, int 1 ; <uint*> [#uses=1] - br bool false, label %no_exit.0, label %no_exit.1 - -no_exit.1: ; preds = %no_exit.0 - ret void -} diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/2006-03-31-NegativeStride.ll b/llvm/test/Regression/Transforms/IndVarsSimplify/2006-03-31-NegativeStride.ll deleted file mode 100644 index deb9abd382b..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/2006-03-31-NegativeStride.ll +++ /dev/null @@ -1,21 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | grep 'ret i32 27' - -; Make sure to compute the right exit value based on negative strides. -; PR726 - -int %test() { -entry: - br label %cond_true - -cond_true: ; preds = %cond_true, %entry - %a.0.0 = phi int [ 10, %entry ], [ %tmp4, %cond_true ] ; <int> [#uses=2] - %b.0.0 = phi int [ 0, %entry ], [ %tmp2, %cond_true ] ; <int> [#uses=1] - %tmp2 = add int %b.0.0, %a.0.0 ; <int> [#uses=2] - %tmp4 = add int %a.0.0, -1 ; <int> [#uses=2] - %tmp = setgt int %tmp4, 7 ; <bool> [#uses=1] - br bool %tmp, label %cond_true, label %bb7 - -bb7: ; preds = %cond_true - ret int %tmp2 -} - diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/2006-06-16-Indvar-LCSSA-Crash.ll b/llvm/test/Regression/Transforms/IndVarsSimplify/2006-06-16-Indvar-LCSSA-Crash.ll deleted file mode 100644 index 1fe8026ef43..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/2006-06-16-Indvar-LCSSA-Crash.ll +++ /dev/null @@ -1,21 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -disable-output - -void %get_block() { -endif.0: ; preds = %entry - br label %no_exit.30 - -no_exit.30: ; preds = %no_exit.30, %endif.0 - %x.12.0 = phi int [ %inc.28, %no_exit.30 ], [ -2, %endif.0 ] ; <int> [#uses=1] - %tmp.583 = load ushort* null ; <ushort> [#uses=1] - %tmp.584 = cast ushort %tmp.583 to int ; <int> [#uses=1] - %tmp.588 = load int* null ; <int> [#uses=1] - %tmp.589 = mul int %tmp.584, %tmp.588 ; <int> [#uses=1] - %tmp.591 = add int %tmp.589, 0 ; <int> [#uses=1] - %inc.28 = add int %x.12.0, 1 ; <int> [#uses=2] - %tmp.565 = setgt int %inc.28, 3 ; <bool> [#uses=1] - br bool %tmp.565, label %loopexit.30, label %no_exit.30 - -loopexit.30: ; preds = %no_exit.30 - %tmp.591.lcssa = phi int [ %tmp.591, %no_exit.30 ] ; <int> [#uses=0] - ret void -} diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/2006-09-20-LFTR-Crash.ll b/llvm/test/Regression/Transforms/IndVarsSimplify/2006-09-20-LFTR-Crash.ll deleted file mode 100644 index 88872f67c91..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/2006-09-20-LFTR-Crash.ll +++ /dev/null @@ -1,46 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -disable-output - - %struct.p7prior_s = type { int, int, [200 x float], [200 x [7 x float]], int, [200 x float], [200 x [20 x float]], int, [200 x float], [200 x [20 x float]] } - -implementation ; Functions: - -void %P7DefaultPrior() { -entry: - switch int 0, label %UnifiedReturnBlock [ - int 2, label %bb160 - int 3, label %bb - ] - -bb: ; preds = %entry - br bool false, label %cond_true.i, label %sre_malloc.exit - -cond_true.i: ; preds = %bb - unreachable - -sre_malloc.exit: ; preds = %bb - br label %cond_true - -cond_true: ; preds = %cond_true66, %cond_true, %sre_malloc.exit - %tmp59 = phi int [ 1, %sre_malloc.exit ], [ %phitmp, %cond_true66 ], [ %tmp59, %cond_true ] ; <int> [#uses=2] - %indvar245.0.ph = phi uint [ 0, %sre_malloc.exit ], [ %indvar.next246, %cond_true66 ], [ %indvar245.0.ph, %cond_true ] ; <uint> [#uses=2] - br bool false, label %bb57, label %cond_true - -bb57: ; preds = %cond_true - %tmp65 = setgt int 0, %tmp59 ; <bool> [#uses=1] - %indvar.next246 = add uint %indvar245.0.ph, 1 ; <uint> [#uses=2] - br bool %tmp65, label %cond_true66, label %bb69 - -cond_true66: ; preds = %bb57 - %q.1.0 = cast uint %indvar.next246 to int ; <int> [#uses=1] - %phitmp = add int %q.1.0, 1 ; <int> [#uses=1] - br label %cond_true - -bb69: ; preds = %bb57 - ret void - -bb160: ; preds = %entry - ret void - -UnifiedReturnBlock: ; preds = %entry - ret void -} diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/2006-12-10-BitCast.ll b/llvm/test/Regression/Transforms/IndVarsSimplify/2006-12-10-BitCast.ll deleted file mode 100644 index 4d2a29b22bc..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/2006-12-10-BitCast.ll +++ /dev/null @@ -1,38 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -disable-output - -target datalayout = "e-p:32:32" -target endian = little -target pointersize = 32 -target triple = "i686-apple-darwin8" - %struct.vorbis_dsp_state = type { int, %struct.vorbis_info*, float**, float**, int, int, int, int, int, int, int, int, int, long, long, long, long, long, long, sbyte* } - %struct.vorbis_info = type { int, int, int, int, int, int, int, sbyte* } - -implementation ; Functions: - -void %_ve_envelope_search() { -entry: - br bool false, label %cond_true27, label %bb137 - -cond_true27: ; preds = %entry - br bool false, label %cond_true52, label %bb80 - -cond_true52: ; preds = %cond_true27 - %tmp152.i = bitcast float 0.000000e+00 to uint ; <uint> [#uses=1] - br label %cond_next182.i - -cond_next182.i: ; preds = %cond_next182.i, %cond_true52 - %decay.i.0 = phi uint [ %tmp195.i, %cond_next182.i ], [ %tmp152.i, %cond_true52 ] ; <uint> [#uses=1] - %tmp194.i53 = bitcast uint %decay.i.0 to float ; <float> [#uses=1] - %tmp195.i = sub float %tmp194.i53, 8.000000e+00 ; <float> [#uses=1] - %tmp195.i = bitcast float %tmp195.i to uint ; <uint> [#uses=1] - br bool false, label %cond_next182.i, label %bb418.i.preheader - -bb418.i.preheader: ; preds = %cond_next182.i - ret void - -bb80: ; preds = %cond_true27 - ret void - -bb137: ; preds = %entry - ret void -} diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/2007-01-06-TripCount.ll b/llvm/test/Regression/Transforms/IndVarsSimplify/2007-01-06-TripCount.ll deleted file mode 100644 index 72757227830..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/2007-01-06-TripCount.ll +++ /dev/null @@ -1,42 +0,0 @@ -; RUN: llvm-as < %s | opt -indvars -disable-output && -; RUN: llvm-as < %s | opt -indvars | llvm-dis | not grep 'ret i32 0' -; PR1015 - -target datalayout = "e-p:32:32" -target endian = little -target pointersize = 32 -target triple = "i686-apple-darwin8" -%foo = internal constant [5 x i8] c"\00abc\00" ; <[5 x i8]*> [#uses=1] -%str = internal constant [4 x i8] c"%d\0A\00" ; <[4 x i8]*> [#uses=1] - -implementation ; Functions: - -define i32 %test(i32 %J) { -entry: - br label %bb2 - -bb: ; preds = %cond_next, %cond_true - %tmp1 = add i32 %i.0, 1 ; <i32> [#uses=1] - br label %bb2 - -bb2: ; preds = %bb, %entry - %i.0 = phi i32 [ 0, %entry ], [ %tmp1, %bb ] ; <i32> [#uses=4] - %tmp = icmp eq i32 %i.0, 0 ; <i1> [#uses=1] - br i1 %tmp, label %cond_true, label %cond_next - -cond_true: ; preds = %bb2 - br label %bb - -cond_next: ; preds = %bb2 - %tmp = getelementptr [5 x i8]* %foo, i32 0, i32 %i.0 ; <i8*> [#uses=1] - %tmp = load i8* %tmp ; <i8> [#uses=1] - %tmp5 = icmp eq i8 %tmp, 0 ; <i1> [#uses=1] - br i1 %tmp5, label %bb6, label %bb - -bb6: ; preds = %cond_next - br label %return - -return: ; preds = %bb6 - ret i32 %i.0 -} - diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/2007-01-08-X86-64-Pointer.ll b/llvm/test/Regression/Transforms/IndVarsSimplify/2007-01-08-X86-64-Pointer.ll deleted file mode 100644 index 028e81f61cb..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/2007-01-08-X86-64-Pointer.ll +++ /dev/null @@ -1,19 +0,0 @@ -; RUN: llvm-as < %s | llc -march=x86-64 | grep '(%rdi,%rax,8)' && -; RUN: llvm-as < %s | llc -march=x86-64 | not grep 'addq.*8' - -define void %foo(double* %y) { -entry: - br label %bb - -bb: - %i = phi i64 [ 0, %entry ], [ %k, %bb ] - %j = getelementptr double* %y, i64 %i - store double 0.000000e+00, double* %j - %k = add i64 %i, 1 - %n = icmp eq i64 %k, 0 - br i1 %n, label %return, label %bb - -return: - ret void -} - diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/complex-scev.ll b/llvm/test/Regression/Transforms/IndVarsSimplify/complex-scev.ll deleted file mode 100644 index 773d71a20ca..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/complex-scev.ll +++ /dev/null @@ -1,28 +0,0 @@ -; The i induction variable looks like a wrap-around, but it really is just -; a simple affine IV. Make sure that indvars eliminates it. - -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | grep phi | wc -l | grep 1 - -void %foo() { -entry: - br label %bb6 - -bb6: ; preds = %cond_true, %entry - %j.0 = phi int [ 1, %entry ], [ %tmp5, %cond_true ] ; <int> [#uses=3] - %i.0 = phi int [ 0, %entry ], [ %j.0, %cond_true ] ; <int> [#uses=1] - %tmp7 = call int (...)* %foo2( ) ; <int> [#uses=1] - %tmp = setne int %tmp7, 0 ; <bool> [#uses=1] - br bool %tmp, label %cond_true, label %return - -cond_true: ; preds = %bb6 - %tmp2 = call int (...)* %bar( int %i.0, int %j.0 ) ; <int> [#uses=0] - %tmp5 = add int %j.0, 1 ; <int> [#uses=1] - br label %bb6 - -return: ; preds = %bb6 - ret void -} - -declare int %bar(...) - -declare int %foo2(...) diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/dg.exp b/llvm/test/Regression/Transforms/IndVarsSimplify/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/exit_value_tests.llx b/llvm/test/Regression/Transforms/IndVarsSimplify/exit_value_tests.llx deleted file mode 100644 index 7d5d3668640..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/exit_value_tests.llx +++ /dev/null @@ -1,102 +0,0 @@ -; Test that we can evaluate the exit values of various expression types. Since -; these loops all have predictable exit values we can replace the use outside -; of the loop with a closed-form computation, making the loop dead. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -adce -simplifycfg | llvm-dis | not grep br - -int %polynomial_constant() { - br label %Loop -Loop: - %A1 = phi int [0, %0], [%A2, %Loop] - %B1 = phi int [0, %0], [%B2, %Loop] - %A2 = add int %A1, 1 - %B2 = add int %B1, %A1 - - %C = seteq int %A1, 1000 - br bool %C, label %Out, label %Loop -Out: - ret int %B2 -} - -int %NSquare(int %N) { - br label %Loop -Loop: - %X = phi int [0, %0], [%X2, %Loop] - %X2 = add int %X, 1 - %c = seteq int %X, %N - br bool %c, label %Out, label %Loop -Out: - %Y = mul int %X, %X - ret int %Y -} - -int %NSquareOver2(int %N) { - br label %Loop -Loop: - %X = phi int [0, %0], [%X2, %Loop] - %Y = phi int [15, %0], [%Y2, %Loop] ;; include offset of 15 for yuks - - %Y2 = add int %Y, %X - - %X2 = add int %X, 1 - %c = seteq int %X, %N - br bool %c, label %Out, label %Loop -Out: - ret int %Y2 -} - -int %strength_reduced() { - br label %Loop -Loop: - %A1 = phi int [0, %0], [%A2, %Loop] - %B1 = phi int [0, %0], [%B2, %Loop] - %A2 = add int %A1, 1 - %B2 = add int %B1, %A1 - - %C = seteq int %A1, 1000 - br bool %C, label %Out, label %Loop -Out: - ret int %B2 -} - -int %chrec_equals() { -entry: - br label %no_exit -no_exit: - %i0 = phi int [ 0, %entry ], [ %i1, %no_exit ] - %ISq = mul int %i0, %i0 - %i1 = add int %i0, 1 - %tmp.1 = setne int %ISq, 10000 ; while (I*I != 1000) - br bool %tmp.1, label %no_exit, label %loopexit -loopexit: - ret int %i1 -} - -;; We should recognize B1 as being a recurrence, allowing us to compute the -;; trip count and eliminate the loop. -short %cast_chrec_test() { - br label %Loop -Loop: - %A1 = phi int [0, %0], [%A2, %Loop] - %B1 = cast int %A1 to short - %A2 = add int %A1, 1 - - %C = seteq short %B1, 1000 - br bool %C, label %Out, label %Loop -Out: - ret short %B1 -} - -uint %linear_div_fold() { ;; for (i = 4; i != 68; i += 8) (exit with i/2) -entry: - br label %loop -loop: - %i = phi uint [ 4, %entry ], [ %i.next, %loop ] - %i.next = add uint %i, 8 - %RV = div uint %i, 2 - %c = setne uint %i, 68 - br bool %c, label %loop, label %loopexit -loopexit: - ret uint %RV -} - diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/lftr_simple.llx b/llvm/test/Regression/Transforms/IndVarsSimplify/lftr_simple.llx deleted file mode 100644 index 2265e57c6a2..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/lftr_simple.llx +++ /dev/null @@ -1,23 +0,0 @@ -; LFTR should eliminate the need for the computation of i*i completely. It -; is only used to compute the exit value. -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -dce | llvm-dis | not grep mul - -%A = external global int - -implementation - -int %quadratic_setlt() { ;; for (i = 7; i*i < 1000; ++i) -entry: - br label %loop -loop: - %i = phi int [ 7, %entry ], [ %i.next, %loop ] - %i.next = add int %i, 1 - store int %i, int* %A - - %i2 = mul int %i, %i - %c = setlt int %i2, 1000 - br bool %c, label %loop, label %loopexit -loopexit: - ret int %i -} - diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/loop_evaluate_1.ll b/llvm/test/Regression/Transforms/IndVarsSimplify/loop_evaluate_1.ll deleted file mode 100644 index ead9b916a23..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/loop_evaluate_1.ll +++ /dev/null @@ -1,21 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -adce -simplifycfg | llvm-dis | not grep br -; -; Testcase distilled from 256.bzip2 - -int %main() { -entry: - br label %loopentry - -loopentry: ; preds = %entry, %loopentry - %indvar1 = phi uint [ 0, %entry ], [ %indvar.next2, %loopentry ] ; <uint> [#uses=1] - %h.0 = phi int [ %tmp.2, %loopentry ], [ 4, %entry ] ; <int> [#uses=1] - %tmp.1 = mul int %h.0, 3 ; <int> [#uses=1] - %tmp.2 = add int %tmp.1, 1 ; <int> [#uses=1] - %indvar.next2 = add uint %indvar1, 1 ; <uint> [#uses=2] - %exitcond3 = setne uint %indvar.next2, 4 ; <bool> [#uses=1] - br bool %exitcond3, label %loopentry, label %loopexit - -loopexit: ; preds = %loopentry - ret int %tmp.2 -} - diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/pointer-indvars.ll b/llvm/test/Regression/Transforms/IndVarsSimplify/pointer-indvars.ll deleted file mode 100644 index 57f7d2470f1..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/pointer-indvars.ll +++ /dev/null @@ -1,14 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | grep indvar - -%G = global int* null - -%Array = external global [40 x int] - -void %test() { - br label %Loop -Loop: - %X = phi int* [getelementptr ([40 x int]* %Array, long 0, long 0), %0], [%X.next, %Loop] - %X.next = getelementptr int* %X, long 1 - store int* %X, int** %G - br label %Loop -} diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/subtract.ll b/llvm/test/Regression/Transforms/IndVarsSimplify/subtract.ll deleted file mode 100644 index 9cff198ff5a..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/subtract.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | grep indvar - -%G = global long 0 - -void %test(long %V) { - br label %Loop -Loop: - %X = phi long [1, %0], [%X.next, %Loop] - %X.next = sub long %X, %V - store long %X, long* %G - br label %Loop -} diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/tripcount_compute.llx b/llvm/test/Regression/Transforms/IndVarsSimplify/tripcount_compute.llx deleted file mode 100644 index 733fa1d3ef8..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/tripcount_compute.llx +++ /dev/null @@ -1,90 +0,0 @@ -; These tests ensure that we can compute the trip count of various forms of -; loops. If the trip count of the loop is computable, then we will know what -; the exit value of the loop will be for some value, allowing us to substitute -; it directly into users outside of the loop, making the loop dead. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -adce -simplifycfg | llvm-dis | not grep br - -int %linear_setne() { ;; for (i = 0; i != 100; ++i) -entry: - br label %loop -loop: - %i = phi int [ 0, %entry ], [ %i.next, %loop ] - %i.next = add int %i, 1 - %c = setne int %i, 100 - br bool %c, label %loop, label %loopexit -loopexit: - ret int %i -} - -int %linear_setne_2() { ;; for (i = 0; i != 100; i += 2) -entry: - br label %loop -loop: - %i = phi int [ 0, %entry ], [ %i.next, %loop ] - %i.next = add int %i, 2 - %c = setne int %i, 100 - br bool %c, label %loop, label %loopexit -loopexit: - ret int %i -} - - -int %linear_setne_overflow() { ;; for (i = 1024; i != 0; i += 1024) -entry: - br label %loop -loop: - %i = phi int [ 1024, %entry ], [ %i.next, %loop ] - %i.next = add int %i, 1024 - %c = setne int %i, 0 - br bool %c, label %loop, label %loopexit -loopexit: - ret int %i -} - -int %linear_setlt() { ;; for (i = 0; i < 100; ++i) -entry: - br label %loop -loop: - %i = phi int [ 0, %entry ], [ %i.next, %loop ] - %i.next = add int %i, 1 - %c = setlt int %i, 100 - br bool %c, label %loop, label %loopexit -loopexit: - ret int %i -} - -int %quadratic_setlt() { ;; for (i = 7; i*i < 1000; i+=3) -entry: - br label %loop -loop: - %i = phi int [ 7, %entry ], [ %i.next, %loop ] - %i.next = add int %i, 3 - %i2 = mul int %i, %i - %c = setlt int %i2, 1000 - br bool %c, label %loop, label %loopexit -loopexit: - ret int %i -} - -;; Chained loop test - The exit value of the second loop depends on the exit -;; value of the first being computed. -int %chained() { -entry: - br label %loop -loop: ;; for (i = 0; i != 100; ++i) - %i = phi int [ 0, %entry ], [ %i.next, %loop ] - %i.next = add int %i, 1 - %c = setne int %i, 100 - br bool %c, label %loop, label %loopexit -loopexit: - br label %loop2 -loop2: ;; for (j = i; j != 200; ++j) - %j = phi int [ %i, %loopexit ], [ %j.next, %loop2 ] - %j.next = add int %j, 1 - %c2 = setne int %j, 200 - br bool %c2, label %loop2, label %loopexit2 -loopexit2: - ret int %j -} - diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/tripcount_infinite.llx b/llvm/test/Regression/Transforms/IndVarsSimplify/tripcount_infinite.llx deleted file mode 100644 index 8a7b27c3b29..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/tripcount_infinite.llx +++ /dev/null @@ -1,32 +0,0 @@ -; These tests have an infinite trip count. We obviously shouldn't remove the -; loops! :) -; -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -adce -simplifycfg | llvm-dis | grep icmp | wc -l > %t2 -; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | grep icmp | wc -l > %t1 -; RUN: diff %t1 %t2 - -int %infinite_linear() { ;; test for (i = 1; i != 100; i += 2) -entry: - br label %loop -loop: - %i = phi int [ 1, %entry ], [ %i.next, %loop ] - %i.next = add int %i, 2 - %c = setne int %i, 100 - br bool %c, label %loop, label %loopexit -loopexit: - ret int %i -} - -int %infinite_quadratic() { ;; test for (i = 1; i*i != 63; ++i) -entry: - br label %loop -loop: - %i = phi int [ 1, %entry ], [ %i.next, %loop ] - %isquare = mul int %i, %i - %i.next = add int %i, 1 - %c = setne int %isquare, 63 - br bool %c, label %loop, label %loopexit -loopexit: - ret int %i -} - diff --git a/llvm/test/Regression/Transforms/IndVarsSimplify/variable-stride-ivs.ll b/llvm/test/Regression/Transforms/IndVarsSimplify/variable-stride-ivs.ll deleted file mode 100644 index d464cfa0640..00000000000 --- a/llvm/test/Regression/Transforms/IndVarsSimplify/variable-stride-ivs.ll +++ /dev/null @@ -1,41 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -instcombine | llvm-dis | grep 'store i32 0' -; Test that -indvars can reduce variable stride IVs. If it can reduce variable -; stride iv's, it will make %iv. and %m.0.0 isomorphic to each other without -; cycles, allowing the tmp.21 subtraction to be eliminated. - -void %vnum_test8(int* %data) { -entry: - %tmp.1 = getelementptr int* %data, int 3 ; <int*> [#uses=1] - %tmp.2 = load int* %tmp.1 ; <int> [#uses=2] - %tmp.4 = getelementptr int* %data, int 4 ; <int*> [#uses=1] - %tmp.5 = load int* %tmp.4 ; <int> [#uses=2] - %tmp.8 = getelementptr int* %data, int 2 ; <int*> [#uses=1] - %tmp.9 = load int* %tmp.8 ; <int> [#uses=3] - %tmp.125 = setgt int %tmp.2, 0 ; <bool> [#uses=1] - br bool %tmp.125, label %no_exit.preheader, label %return - -no_exit.preheader: ; preds = %entry - %tmp.16 = getelementptr int* %data, int %tmp.9 ; <int*> [#uses=1] - br label %no_exit - -no_exit: ; preds = %no_exit, %no_exit.preheader - %iv.ui = phi uint [ 0, %no_exit.preheader ], [ %iv..inc.ui, %no_exit ] ; <uint> [#uses=1] - %iv. = phi int [ %tmp.5, %no_exit.preheader ], [ %iv..inc, %no_exit ] ; <int> [#uses=2] - %m.0.0 = phi int [ %tmp.5, %no_exit.preheader ], [ %tmp.24, %no_exit ] ; <int> [#uses=2] - store int 2, int* %tmp.16 - %tmp.21 = sub int %m.0.0, %iv. ; <int> [#uses=1] - store int %tmp.21, int* %data - %tmp.24 = add int %m.0.0, %tmp.9 ; <int> [#uses=1] - %iv..inc = add int %tmp.9, %iv. ; <int> [#uses=1] - %iv..inc.ui = add uint %iv.ui, 1 ; <uint> [#uses=2] - %iv..inc1 = cast uint %iv..inc.ui to int ; <int> [#uses=1] - %tmp.12 = setlt int %iv..inc1, %tmp.2 ; <bool> [#uses=1] - br bool %tmp.12, label %no_exit, label %return.loopexit - -return.loopexit: ; preds = %no_exit - br label %return - -return: ; preds = %return.loopexit, %entry - ret void -} - diff --git a/llvm/test/Regression/Transforms/Inline/.cvsignore b/llvm/test/Regression/Transforms/Inline/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/Inline/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/Inline/2003-09-14-InlineValue.ll b/llvm/test/Regression/Transforms/Inline/2003-09-14-InlineValue.ll deleted file mode 100644 index 48d563366be..00000000000 --- a/llvm/test/Regression/Transforms/Inline/2003-09-14-InlineValue.ll +++ /dev/null @@ -1,20 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output - -declare int %External() - -implementation - -internal int %Callee() { - %I = call int %External() - %J = add int %I, %I - ret int %J -} - -int %Caller() { - %V = invoke int %Callee() to label %Ok except label %Bad -Ok: - ret int %V -Bad: - ret int 0 -} - diff --git a/llvm/test/Regression/Transforms/Inline/2003-09-22-PHINodeInlineFail.ll b/llvm/test/Regression/Transforms/Inline/2003-09-22-PHINodeInlineFail.ll deleted file mode 100644 index 6e4d1b39e7e..00000000000 --- a/llvm/test/Regression/Transforms/Inline/2003-09-22-PHINodeInlineFail.ll +++ /dev/null @@ -1,17 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output -implementation - -int %main() { -entry: - invoke void %__main( ) - to label %LongJmpBlkPre except label %LongJmpBlkPre - -LongJmpBlkPre: - %i.3 = phi uint [ 0, %entry ], [ 0, %entry] - ret int 0 -} - -void %__main() { - ret void -} - diff --git a/llvm/test/Regression/Transforms/Inline/2003-09-22-PHINodesInExceptionDest.ll b/llvm/test/Regression/Transforms/Inline/2003-09-22-PHINodesInExceptionDest.ll deleted file mode 100644 index e73199c29c1..00000000000 --- a/llvm/test/Regression/Transforms/Inline/2003-09-22-PHINodesInExceptionDest.ll +++ /dev/null @@ -1,26 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output - -implementation - -int %main() { -entry: - invoke void %__main( ) - to label %Call2Invoke except label %LongJmpBlkPre - -Call2Invoke: - br label %LongJmpBlkPre - -LongJmpBlkPre: - %i.3 = phi uint [ 0, %entry ], [ 0, %Call2Invoke ] ; <uint> [#uses=0] - ret int 0 -} - -void %__main() { - call void %__llvm_getGlobalCtors( ) - call void %__llvm_getGlobalDtors( ) - ret void -} - -declare void %__llvm_getGlobalCtors() - -declare void %__llvm_getGlobalDtors() diff --git a/llvm/test/Regression/Transforms/Inline/2003-09-22-PHINodesInNormalInvokeDest.ll b/llvm/test/Regression/Transforms/Inline/2003-09-22-PHINodesInNormalInvokeDest.ll deleted file mode 100644 index 774639b744e..00000000000 --- a/llvm/test/Regression/Transforms/Inline/2003-09-22-PHINodesInNormalInvokeDest.ll +++ /dev/null @@ -1,24 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output -implementation - -int %main() { -entry: - invoke void %__main( ) - to label %else except label %RethrowExcept - -else: - %i.2 = phi int [ 36, %entry ], [ %i.2, %LJDecisionBB ] - br label %LJDecisionBB - -LJDecisionBB: - br label %else - -RethrowExcept: - ret int 0 -} - -void %__main() { - ret void -} - - diff --git a/llvm/test/Regression/Transforms/Inline/2003-10-13-AllocaDominanceProblem.ll b/llvm/test/Regression/Transforms/Inline/2003-10-13-AllocaDominanceProblem.ll deleted file mode 100644 index ca163edc5cc..00000000000 --- a/llvm/test/Regression/Transforms/Inline/2003-10-13-AllocaDominanceProblem.ll +++ /dev/null @@ -1,19 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output - -implementation ; Functions: - -int %reload() { -reloadentry: - br label %A -A: - call void %callee( ) - ret int 0 -} - -internal void %callee() { -entry: - %X = alloca sbyte, uint 0 - %Y = cast int 0 to uint - %Z = alloca sbyte, uint %Y - ret void -} diff --git a/llvm/test/Regression/Transforms/Inline/2003-10-26-InlineInvokeExceptionDestPhi.ll b/llvm/test/Regression/Transforms/Inline/2003-10-26-InlineInvokeExceptionDestPhi.ll deleted file mode 100644 index 785a425b120..00000000000 --- a/llvm/test/Regression/Transforms/Inline/2003-10-26-InlineInvokeExceptionDestPhi.ll +++ /dev/null @@ -1,19 +0,0 @@ -; The inliner is breaking inlining invoke instructions where there is a PHI -; node in the exception destination, and the inlined function contains an -; unwind instruction. - -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output - -implementation - -linkonce void %foo() { - unwind -} - -int %test() { -BB1: - invoke void %foo() to label %Cont except label %Cont -Cont: - %A = phi int [ 0, %BB1], [0, %BB1] - ret int %A -} diff --git a/llvm/test/Regression/Transforms/Inline/2004-04-15-InlineDeletesCall.ll b/llvm/test/Regression/Transforms/Inline/2004-04-15-InlineDeletesCall.ll deleted file mode 100644 index e1ecaed83ed..00000000000 --- a/llvm/test/Regression/Transforms/Inline/2004-04-15-InlineDeletesCall.ll +++ /dev/null @@ -1,21 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output - -; Inlining the first call caused the inliner function to delete the second -; call. Then the inliner tries to inline the second call, which no longer -; exists. - -implementation - -internal void %Callee1() { - unwind -} - -void %Callee2() { - ret void -} - -void %caller() { - call void %Callee1() - call void %Callee2() - ret void -} diff --git a/llvm/test/Regression/Transforms/Inline/2004-04-20-InlineLinkOnce.llx b/llvm/test/Regression/Transforms/Inline/2004-04-20-InlineLinkOnce.llx deleted file mode 100644 index 4fab1c99346..00000000000 --- a/llvm/test/Regression/Transforms/Inline/2004-04-20-InlineLinkOnce.llx +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -prune-eh -disable-output - -implementation - -linkonce void %caller() { - call void %callee() - ret void -} - -linkonce void %callee() { - ret void -} diff --git a/llvm/test/Regression/Transforms/Inline/2004-10-17-InlineFunctionWithoutReturn.ll b/llvm/test/Regression/Transforms/Inline/2004-10-17-InlineFunctionWithoutReturn.ll deleted file mode 100644 index 016fc5a4ab0..00000000000 --- a/llvm/test/Regression/Transforms/Inline/2004-10-17-InlineFunctionWithoutReturn.ll +++ /dev/null @@ -1,10 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output - -int %test() { - unwind -} - -int %caller() { - %X = call int %test() - ret int %X -} diff --git a/llvm/test/Regression/Transforms/Inline/2006-01-14-CallGraphUpdate.ll b/llvm/test/Regression/Transforms/Inline/2006-01-14-CallGraphUpdate.ll deleted file mode 100644 index cb9241154e3..00000000000 --- a/llvm/test/Regression/Transforms/Inline/2006-01-14-CallGraphUpdate.ll +++ /dev/null @@ -1,26 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -prune-eh -disable-output - - "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>" = type { "struct.std::locale::facet" } - "struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >" = type { int (...)**, int*, int*, int*, int*, int*, int*, "struct.std::locale" } - "struct.std::ios_base" = type { int (...)**, int, int, uint, uint, uint, "struct.std::ios_base::_Callback_list"*, "struct.std::ios_base::_Words", [8 x "struct.std::ios_base::_Words"], int, "struct.std::ios_base::_Words"*, "struct.std::locale" } - "struct.std::ios_base::_Callback_list" = type { "struct.std::ios_base::_Callback_list"*, void (uint, "struct.std::ios_base"*, int)*, int, int } - "struct.std::ios_base::_Words" = type { sbyte*, int } - "struct.std::locale" = type { "struct.std::locale::_Impl"* } - "struct.std::locale::_Impl" = type { int, "struct.std::locale::facet"**, uint, "struct.std::locale::facet"**, sbyte** } - "struct.std::locale::facet" = type { int (...)**, int } - "struct.std::ostreambuf_iterator<wchar_t,std::char_traits<wchar_t> >" = type { "struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >"*, int } - -implementation ; Functions: - -void %_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl("struct.std::ostreambuf_iterator<wchar_t,std::char_traits<wchar_t> >"* %agg.result, "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"* %this, "struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >"* %__s.0__, int %__s.1__, "struct.std::ios_base"* %__io, int %__fill, int %__v) { -entry: - tail call fastcc void %_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_( ) - ret void -} - -fastcc void %_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_() { -entry: - %tmp.38 = shl uint 0, ubyte 3 ; <uint> [#uses=1] - %tmp.39 = alloca sbyte, uint %tmp.38 ; <sbyte*> [#uses=0] - ret void -} diff --git a/llvm/test/Regression/Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll b/llvm/test/Regression/Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll deleted file mode 100644 index 8429e7c45aa..00000000000 --- a/llvm/test/Regression/Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll +++ /dev/null @@ -1,843 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -prune-eh -disable-output -; PR827 - -%_ZTV8CRjii = internal global [1 x int (...)*] [ int (...)* %_ZN8CRjii12NlFeeEPN5Jr7sE ] ; <[1 x int (...)*]*> [#uses=0] - -implementation ; Functions: - -internal int %_ZN8CRjii12NlFeeEPN5Jr7sE(...) { -entry: - br bool false, label %cond_true, label %cond_false179 - -cond_true: ; preds = %entry - br label %bb9 - -bb: ; preds = %cond_true14 - br label %bb9 - -bb9: ; preds = %bb, %cond_true - br bool false, label %cond_true14, label %cond_false - -cond_true14: ; preds = %bb9 - br label %bb - -cond_false: ; preds = %bb9 - br label %bb15 - -cond_next: ; No predecessors! - br label %bb15 - -bb15: ; preds = %cond_next, %cond_false - br label %bb24 - -bb17: ; preds = %cond_true29 - br label %bb24 - -bb24: ; preds = %bb17, %bb15 - br bool false, label %cond_true29, label %cond_false30 - -cond_true29: ; preds = %bb24 - br label %bb17 - -cond_false30: ; preds = %bb24 - br label %bb32 - -cond_next31: ; No predecessors! - br label %bb32 - -bb32: ; preds = %cond_next31, %cond_false30 - br label %bb41 - -bb34: ; preds = %cond_true46 - br label %bb41 - -bb41: ; preds = %bb34, %bb32 - br bool false, label %cond_true46, label %cond_false47 - -cond_true46: ; preds = %bb41 - br label %bb34 - -cond_false47: ; preds = %bb41 - br label %bb49 - -cond_next48: ; No predecessors! - br label %bb49 - -bb49: ; preds = %cond_next48, %cond_false47 - br label %bb58 - -bb51: ; preds = %cond_true63 - br label %bb58 - -bb58: ; preds = %bb51, %bb49 - br bool false, label %cond_true63, label %cond_false64 - -cond_true63: ; preds = %bb58 - br label %bb51 - -cond_false64: ; preds = %bb58 - br label %bb66 - -cond_next65: ; No predecessors! - br label %bb66 - -bb66: ; preds = %cond_next65, %cond_false64 - br label %bb76 - -bb68: ; preds = %cond_true81 - br label %bb76 - -bb76: ; preds = %bb68, %bb66 - br bool false, label %cond_true81, label %cond_false82 - -cond_true81: ; preds = %bb76 - br label %bb68 - -cond_false82: ; preds = %bb76 - br label %bb84 - -cond_next83: ; No predecessors! - br label %bb84 - -bb84: ; preds = %cond_next83, %cond_false82 - br label %bb94 - -bb86: ; preds = %cond_true99 - br label %bb94 - -bb94: ; preds = %bb86, %bb84 - br bool false, label %cond_true99, label %cond_false100 - -cond_true99: ; preds = %bb94 - br label %bb86 - -cond_false100: ; preds = %bb94 - br label %bb102 - -cond_next101: ; No predecessors! - br label %bb102 - -bb102: ; preds = %cond_next101, %cond_false100 - br label %bb112 - -bb104: ; preds = %cond_true117 - br label %bb112 - -bb112: ; preds = %bb104, %bb102 - br bool false, label %cond_true117, label %cond_false118 - -cond_true117: ; preds = %bb112 - br label %bb104 - -cond_false118: ; preds = %bb112 - br label %bb120 - -cond_next119: ; No predecessors! - br label %bb120 - -bb120: ; preds = %cond_next119, %cond_false118 - br label %bb130 - -bb122: ; preds = %cond_true135 - br label %bb130 - -bb130: ; preds = %bb122, %bb120 - br bool false, label %cond_true135, label %cond_false136 - -cond_true135: ; preds = %bb130 - br label %bb122 - -cond_false136: ; preds = %bb130 - br label %bb138 - -cond_next137: ; No predecessors! - br label %bb138 - -bb138: ; preds = %cond_next137, %cond_false136 - br label %bb148 - -bb140: ; preds = %cond_true153 - call fastcc void %_Zjrf1( ) - br label %bb148 - -bb148: ; preds = %bb140, %bb138 - br bool false, label %cond_true153, label %cond_false154 - -cond_true153: ; preds = %bb148 - br label %bb140 - -cond_false154: ; preds = %bb148 - br label %bb156 - -cond_next155: ; No predecessors! - br label %bb156 - -bb156: ; preds = %cond_next155, %cond_false154 - br label %bb166 - -bb158: ; preds = %cond_true171 - br label %bb166 - -bb166: ; preds = %bb158, %bb156 - br bool false, label %cond_true171, label %cond_false172 - -cond_true171: ; preds = %bb166 - br label %bb158 - -cond_false172: ; preds = %bb166 - br label %bb174 - -cond_next173: ; No predecessors! - br label %bb174 - -bb174: ; preds = %cond_next173, %cond_false172 - br label %cleanup - -cleanup: ; preds = %bb174 - br label %finally - -finally: ; preds = %cleanup - br label %cond_next180 - -cond_false179: ; preds = %entry - br label %cond_next180 - -cond_next180: ; preds = %cond_false179, %finally - br label %return - -return: ; preds = %cond_next180 - ret int 0 -} - -internal fastcc void %_Zjrf2() { -entry: - br label %bb3 - -bb: ; preds = %cond_true - br label %bb3 - -bb3: ; preds = %bb, %entry - %tmp5 = load ubyte** null ; <ubyte*> [#uses=1] - %tmp = setne ubyte* null, %tmp5 ; <bool> [#uses=1] - br bool %tmp, label %cond_true, label %cond_false - -cond_true: ; preds = %bb3 - br label %bb - -cond_false: ; preds = %bb3 - br label %bb6 - -cond_next: ; No predecessors! - br label %bb6 - -bb6: ; preds = %cond_next, %cond_false - br label %return - -return: ; preds = %bb6 - ret void -} - -internal fastcc void %_Zjrf3() { -entry: - call fastcc void %_Zjrf2( ) - br label %return - -return: ; preds = %entry - ret void -} - -internal fastcc void %_Zjrf4() { -entry: - br label %bb6 - -bb: ; preds = %cond_true - br label %bb6 - -bb6: ; preds = %bb, %entry - br bool false, label %cond_true, label %cond_false - -cond_true: ; preds = %bb6 - br label %bb - -cond_false: ; preds = %bb6 - br label %bb8 - -cond_next: ; No predecessors! - br label %bb8 - -bb8: ; preds = %cond_next, %cond_false - br bool false, label %cond_true9, label %cond_false12 - -cond_true9: ; preds = %bb8 - call fastcc void %_Zjrf3( ) - br label %cond_next13 - -cond_false12: ; preds = %bb8 - br label %cond_next13 - -cond_next13: ; preds = %cond_false12, %cond_true9 - br label %return - -return: ; preds = %cond_next13 - ret void -} - -internal fastcc void %_Zjrf5() { -entry: - call fastcc void %_Zjrf4( ) - br label %return - -return: ; preds = %entry - ret void -} - -internal fastcc void %_Zjrf6() { -entry: - call fastcc void %_Zjrf5( ) - br label %return - -return: ; preds = %entry - ret void -} - -internal fastcc void %_Zjrf7() { -entry: - br label %cleanup - -cleanup: ; preds = %entry - br label %finally - -finally: ; preds = %cleanup - call fastcc void %_Zjrf6( ) - br label %cleanup9 - -cleanup9: ; preds = %finally - br label %finally8 - -finally8: ; preds = %cleanup9 - br label %cleanup11 - -cleanup11: ; preds = %finally8 - br label %finally10 - -finally10: ; preds = %cleanup11 - br label %finally23 - -finally23: ; preds = %finally10 - br label %return - -return: ; preds = %finally23 - ret void -} - -internal fastcc void %_Zjrf11() { -entry: - br label %bb7 - -bb: ; preds = %cond_true - br label %bb7 - -bb7: ; preds = %bb, %entry - br bool false, label %cond_true, label %cond_false - -cond_true: ; preds = %bb7 - br label %bb - -cond_false: ; preds = %bb7 - br label %bb9 - -cond_next: ; No predecessors! - br label %bb9 - -bb9: ; preds = %cond_next, %cond_false - br label %return - ; No predecessors! - br bool false, label %cond_true12, label %cond_false15 - -cond_true12: ; preds = %0 - call fastcc void %_Zjrf3( ) - br label %cond_next16 - -cond_false15: ; preds = %0 - br label %cond_next16 - -cond_next16: ; preds = %cond_false15, %cond_true12 - br label %return - -return: ; preds = %cond_next16, %bb9 - ret void -} - -internal fastcc void %_Zjrf9() { -entry: - call fastcc void %_Zjrf11( ) - br label %return - -return: ; preds = %entry - ret void -} - -internal fastcc void %_Zjrf10() { -entry: - call fastcc void %_Zjrf9( ) - br label %return - -return: ; preds = %entry - ret void -} - -internal fastcc void %_Zjrf8() { -entry: - br bool false, label %cond_true, label %cond_false201 - -cond_true: ; preds = %entry - br bool false, label %cond_true36, label %cond_false - -cond_true36: ; preds = %cond_true - br label %cleanup - -cleanup: ; preds = %cond_true36 - br label %finally - -finally: ; preds = %cleanup - br label %cond_next189 - -cond_false: ; preds = %cond_true - br bool false, label %cond_true99, label %cond_false137 - -cond_true99: ; preds = %cond_false - br label %cleanup136 - -cleanup136: ; preds = %cond_true99 - br label %finally135 - -finally135: ; preds = %cleanup136 - br label %cond_next - -cond_false137: ; preds = %cond_false - call fastcc void %_Zjrf10( ) - br label %cleanup188 - -cleanup188: ; preds = %cond_false137 - br label %finally187 - -finally187: ; preds = %cleanup188 - br label %cond_next - -cond_next: ; preds = %finally187, %finally135 - br label %cond_next189 - -cond_next189: ; preds = %cond_next, %finally - br label %cond_next202 - -cond_false201: ; preds = %entry - br label %cond_next202 - -cond_next202: ; preds = %cond_false201, %cond_next189 - br label %return - -return: ; preds = %cond_next202 - ret void -} - -internal fastcc void %_Zjrf1() { -entry: - br label %bb492 - -bb: ; preds = %cond_true499 - br label %cleanup - -cleanup: ; preds = %bb - br label %finally - -finally: ; preds = %cleanup - br label %cleanup11 - -cleanup11: ; preds = %finally - br label %finally10 - -finally10: ; preds = %cleanup11 - br bool false, label %cond_true, label %cond_false286 - -cond_true: ; preds = %finally10 - br label %cleanup26 - -cleanup26: ; preds = %cond_true - br label %finally25 - -finally25: ; preds = %cleanup26 - br label %bb30 - -bb27: ; preds = %cond_true37 - br label %bb30 - -bb30: ; preds = %bb27, %finally25 - br bool false, label %cond_true37, label %cond_false - -cond_true37: ; preds = %bb30 - br label %bb27 - -cond_false: ; preds = %bb30 - br label %bb38 - -cond_next: ; No predecessors! - br label %bb38 - -bb38: ; preds = %cond_next, %cond_false - br label %bb148 - -bb40: ; preds = %cond_true156 - br label %bb139 - -bb41: ; preds = %cond_true142 - call fastcc void %_Zjrf7( ) - br label %bb105 - -bb44: ; preds = %cond_true112 - br label %bb74 - -bb66: ; preds = %cond_true80 - br label %bb74 - -bb74: ; preds = %bb66, %bb44 - br bool false, label %cond_true80, label %cond_false81 - -cond_true80: ; preds = %bb74 - br label %bb66 - -cond_false81: ; preds = %bb74 - br label %bb83 - -cond_next82: ; No predecessors! - br label %bb83 - -bb83: ; preds = %cond_next82, %cond_false81 - br label %cleanup97 - -cleanup97: ; preds = %bb83 - br label %finally96 - -finally96: ; preds = %cleanup97 - br label %cleanup99 - -cleanup99: ; preds = %finally96 - br label %finally98 - -finally98: ; preds = %cleanup99 - br label %bb105 - -bb105: ; preds = %finally98, %bb41 - br bool false, label %cond_true112, label %cond_false113 - -cond_true112: ; preds = %bb105 - br label %bb44 - -cond_false113: ; preds = %bb105 - br label %bb115 - -cond_next114: ; No predecessors! - br label %bb115 - -bb115: ; preds = %cond_next114, %cond_false113 - br bool false, label %cond_true119, label %cond_false123 - -cond_true119: ; preds = %bb115 - call fastcc void %_Zjrf8( ) - br label %cond_next124 - -cond_false123: ; preds = %bb115 - br label %cond_next124 - -cond_next124: ; preds = %cond_false123, %cond_true119 - br bool false, label %cond_true131, label %cond_false132 - -cond_true131: ; preds = %cond_next124 - br label %cleanup135 - -cond_false132: ; preds = %cond_next124 - br label %cond_next133 - -cond_next133: ; preds = %cond_false132 - br label %cleanup136 - -cleanup135: ; preds = %cond_true131 - br label %done - -cleanup136: ; preds = %cond_next133 - br label %finally134 - -finally134: ; preds = %cleanup136 - br label %bb139 - -bb139: ; preds = %finally134, %bb40 - br bool false, label %cond_true142, label %cond_false143 - -cond_true142: ; preds = %bb139 - br label %bb41 - -cond_false143: ; preds = %bb139 - br label %bb145 - -cond_next144: ; No predecessors! - br label %bb145 - -bb145: ; preds = %cond_next144, %cond_false143 - br label %bb148 - -bb148: ; preds = %bb145, %bb38 - br bool false, label %cond_true156, label %cond_false157 - -cond_true156: ; preds = %bb148 - br label %bb40 - -cond_false157: ; preds = %bb148 - br label %bb159 - -cond_next158: ; No predecessors! - br label %bb159 - -bb159: ; preds = %cond_next158, %cond_false157 - br label %done - -done: ; preds = %bb159, %cleanup135 - br label %bb214 - -bb185: ; preds = %cond_true218 - br bool false, label %cond_true193, label %cond_false206 - -cond_true193: ; preds = %bb185 - br label %cond_next211 - -cond_false206: ; preds = %bb185 - br label %cond_next211 - -cond_next211: ; preds = %cond_false206, %cond_true193 - br label %bb214 - -bb214: ; preds = %cond_next211, %done - br bool false, label %cond_true218, label %cond_false219 - -cond_true218: ; preds = %bb214 - br label %bb185 - -cond_false219: ; preds = %bb214 - br label %bb221 - -cond_next220: ; No predecessors! - br label %bb221 - -bb221: ; preds = %cond_next220, %cond_false219 - br bool false, label %cond_true236, label %cond_false245 - -cond_true236: ; preds = %bb221 - br label %cond_next249 - -cond_false245: ; preds = %bb221 - br label %cond_next249 - -cond_next249: ; preds = %cond_false245, %cond_true236 - br bool false, label %cond_true272, label %cond_false277 - -cond_true272: ; preds = %cond_next249 - br label %cond_next278 - -cond_false277: ; preds = %cond_next249 - br label %cond_next278 - -cond_next278: ; preds = %cond_false277, %cond_true272 - br label %cleanup285 - -cleanup285: ; preds = %cond_next278 - br label %finally284 - -finally284: ; preds = %cleanup285 - br label %cond_next287 - -cond_false286: ; preds = %finally10 - br label %cond_next287 - -cond_next287: ; preds = %cond_false286, %finally284 - br bool false, label %cond_true317, label %cond_false319 - -cond_true317: ; preds = %cond_next287 - br label %cond_next321 - -cond_false319: ; preds = %cond_next287 - br label %cond_next321 - -cond_next321: ; preds = %cond_false319, %cond_true317 - br label %bb348 - -bb335: ; preds = %cond_true355 - br label %bb348 - -bb348: ; preds = %bb335, %cond_next321 - br bool false, label %cond_true355, label %cond_false356 - -cond_true355: ; preds = %bb348 - br label %bb335 - -cond_false356: ; preds = %bb348 - br label %bb358 - -cond_next357: ; No predecessors! - br label %bb358 - -bb358: ; preds = %cond_next357, %cond_false356 - br bool false, label %cond_true363, label %cond_false364 - -cond_true363: ; preds = %bb358 - br label %bb388 - -cond_false364: ; preds = %bb358 - br label %cond_next365 - -cond_next365: ; preds = %cond_false364 - br bool false, label %cond_true370, label %cond_false371 - -cond_true370: ; preds = %cond_next365 - br label %bb388 - -cond_false371: ; preds = %cond_next365 - br label %cond_next372 - -cond_next372: ; preds = %cond_false371 - br bool false, label %cond_true385, label %cond_false386 - -cond_true385: ; preds = %cond_next372 - br label %bb388 - -cond_false386: ; preds = %cond_next372 - br label %cond_next387 - -cond_next387: ; preds = %cond_false386 - br label %bb389 - -bb388: ; preds = %cond_true385, %cond_true370, %cond_true363 - br label %bb389 - -bb389: ; preds = %bb388, %cond_next387 - br bool false, label %cond_true392, label %cond_false443 - -cond_true392: ; preds = %bb389 - br label %bb419 - -bb402: ; preds = %cond_true425 - br bool false, label %cond_true406, label %cond_false412 - -cond_true406: ; preds = %bb402 - br label %cond_next416 - -cond_false412: ; preds = %bb402 - br label %cond_next416 - -cond_next416: ; preds = %cond_false412, %cond_true406 - br label %bb419 - -bb419: ; preds = %cond_next416, %cond_true392 - br bool false, label %cond_true425, label %cond_false426 - -cond_true425: ; preds = %bb419 - br label %bb402 - -cond_false426: ; preds = %bb419 - br label %bb428 - -cond_next427: ; No predecessors! - br label %bb428 - -bb428: ; preds = %cond_next427, %cond_false426 - br label %cond_next478 - -cond_false443: ; preds = %bb389 - br label %bb460 - -bb450: ; preds = %cond_true466 - br label %bb460 - -bb460: ; preds = %bb450, %cond_false443 - br bool false, label %cond_true466, label %cond_false467 - -cond_true466: ; preds = %bb460 - br label %bb450 - -cond_false467: ; preds = %bb460 - br label %bb469 - -cond_next468: ; No predecessors! - br label %bb469 - -bb469: ; preds = %cond_next468, %cond_false467 - br label %cond_next478 - -cond_next478: ; preds = %bb469, %bb428 - br label %cleanup485 - -cleanup485: ; preds = %cond_next478 - br label %finally484 - -finally484: ; preds = %cleanup485 - br label %cleanup487 - -cleanup487: ; preds = %finally484 - br label %finally486 - -finally486: ; preds = %cleanup487 - br label %cleanup489 - -cleanup489: ; preds = %finally486 - br label %finally488 - -finally488: ; preds = %cleanup489 - br label %bb492 - -bb492: ; preds = %finally488, %entry - br bool false, label %cond_true499, label %cond_false500 - -cond_true499: ; preds = %bb492 - br label %bb - -cond_false500: ; preds = %bb492 - br label %bb502 - -cond_next501: ; No predecessors! - br label %bb502 - -bb502: ; preds = %cond_next501, %cond_false500 - br label %return - -return: ; preds = %bb502 - ret void -} - -internal fastcc void %_ZSt26__unguarded_insertion_sortIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEEEvT_S7_() { -entry: - br label %bb12 - -bb: ; preds = %cond_true - br label %cleanup - -cleanup: ; preds = %bb - br label %finally - -finally: ; preds = %cleanup - br label %bb12 - -bb12: ; preds = %finally, %entry - br bool false, label %cond_true, label %cond_false - -cond_true: ; preds = %bb12 - br label %bb - -cond_false: ; preds = %bb12 - br label %bb14 - -cond_next: ; No predecessors! - br label %bb14 - -bb14: ; preds = %cond_next, %cond_false - br label %return - -return: ; preds = %bb14 - ret void -} diff --git a/llvm/test/Regression/Transforms/Inline/2006-11-09-InlineCGUpdate-2.ll b/llvm/test/Regression/Transforms/Inline/2006-11-09-InlineCGUpdate-2.ll deleted file mode 100644 index 705961b65b4..00000000000 --- a/llvm/test/Regression/Transforms/Inline/2006-11-09-InlineCGUpdate-2.ll +++ /dev/null @@ -1,248 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -prune-eh -disable-output -; PR993 -target endian = little -target pointersize = 32 -target triple = "i386-unknown-openbsd3.9" -deplibs = [ "stdc++", "c", "crtend" ] - "struct.__gnu_cxx::__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" = type { sbyte* } - "struct.__gnu_cxx::char_producer<char>" = type { int (...)** } - %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, ubyte*, int, [3 x ubyte], [1 x ubyte], %struct.__sbuf, int, long } - %struct.__sbuf = type { ubyte*, int } - "struct.std::__basic_file<char>" = type { %struct.__sFILE*, bool } - "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>" = type { "struct.std::locale::facet" } - "struct.std::bad_alloc" = type { "struct.__gnu_cxx::char_producer<char>" } - "struct.std::basic_filebuf<char,std::char_traits<char> >" = type { "struct.std::basic_streambuf<char,std::char_traits<char> >", int, "struct.std::__basic_file<char>", uint, %union.__mbstate_t, %union.__mbstate_t, sbyte*, uint, bool, bool, bool, bool, sbyte, sbyte*, sbyte*, bool, "struct.std::codecvt<char,char,__mbstate_t>"*, sbyte*, int, sbyte*, sbyte* } - "struct.std::basic_ios<char,std::char_traits<char> >" = type { "struct.std::ios_base", "struct.std::basic_ostream<char,std::char_traits<char> >"*, sbyte, bool, "struct.std::basic_streambuf<char,std::char_traits<char> >"*, "struct.std::ctype<char>"*, "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"*, "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"* } - "struct.std::basic_iostream<char,std::char_traits<char> >" = type { "struct.std::locale::facet", "struct.__gnu_cxx::char_producer<char>", "struct.std::basic_ios<char,std::char_traits<char> >" } - "struct.std::basic_ofstream<char,std::char_traits<char> >" = type { "struct.__gnu_cxx::char_producer<char>", "struct.std::basic_filebuf<char,std::char_traits<char> >", "struct.std::basic_ios<char,std::char_traits<char> >" } - "struct.std::basic_ostream<char,std::char_traits<char> >" = type { int (...)**, "struct.std::basic_ios<char,std::char_traits<char> >" } - "struct.std::basic_streambuf<char,std::char_traits<char> >" = type { int (...)**, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, "struct.std::locale" } - "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" = type { "struct.__gnu_cxx::__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" } - "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep" = type { "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep_base" } - "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep_base" = type { uint, uint, int } - "struct.std::codecvt<char,char,__mbstate_t>" = type { "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>", int* } - "struct.std::ctype<char>" = type { "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>", int*, bool, int*, int*, uint* } - "struct.std::domain_error" = type { "struct.std::logic_error" } - "struct.std::ios_base" = type { int (...)**, int, int, uint, uint, uint, "struct.std::ios_base::_Callback_list"*, "struct.std::ios_base::_Words", [8 x "struct.std::ios_base::_Words"], int, "struct.std::ios_base::_Words"*, "struct.std::locale" } - "struct.std::ios_base::_Callback_list" = type { "struct.std::ios_base::_Callback_list"*, void (uint, "struct.std::ios_base"*, int)*, int, int } - "struct.std::ios_base::_Words" = type { sbyte*, int } - "struct.std::locale" = type { "struct.std::locale::_Impl"* } - "struct.std::locale::_Impl" = type { int, "struct.std::locale::facet"**, uint, "struct.std::locale::facet"**, sbyte** } - "struct.std::locale::facet" = type { int (...)**, int } - "struct.std::logic_error" = type { "struct.__gnu_cxx::char_producer<char>", "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" } - %union.__mbstate_t = type { long, [120 x ubyte] } -%.str_1 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.str_9 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] - -implementation ; Functions: - -void %main() { -entry: - call fastcc void %_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode( ) - ret void -} - -fastcc void %_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode() { -entry: - %tmp.6 = seteq "struct.std::basic_filebuf<char,std::char_traits<char> >"* null, null ; <bool> [#uses=1] - br bool %tmp.6, label %then, label %UnifiedReturnBlock - -then: ; preds = %entry - tail call fastcc void %_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate( ) - ret void - -UnifiedReturnBlock: ; preds = %entry - ret void -} - -fastcc void %_ZN10__cxxabiv111__terminateEPFvvE() { -entry: - unreachable -} - -void %_ZNSdD0Ev() { -entry: - unreachable -} - -void %_ZThn8_NSdD1Ev() { -entry: - ret void -} - -void %_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev() { -entry: - ret void -} - -void %_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi() { -entry: - unreachable -} - -fastcc void %_ZNSoD2Ev() { -entry: - unreachable -} - -fastcc void %_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev() { -entry: - unreachable -} - -fastcc void %_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate() { -entry: - tail call fastcc void %_ZSt19__throw_ios_failurePKc( ) - ret void -} - -declare fastcc void %_ZNSaIcED1Ev() - -fastcc void %_ZNSsC1EPKcRKSaIcE() { -entry: - tail call fastcc void %_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type( ) - unreachable -} - -fastcc void %_ZSt14__convert_to_vIyEvPKcRT_RSt12_Ios_IostateRKPii() { -entry: - ret void -} - -fastcc void %_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej() { -entry: - ret void -} - -fastcc void %_ZSt19__throw_ios_failurePKc() { -entry: - call fastcc void %_ZNSsC1EPKcRKSaIcE( ) - unwind -} - -void %_GLOBAL__D__ZSt23lexicographical_compareIPKaS1_EbT_S2_T0_S3_() { -entry: - ret void -} - -void %_ZNSt9bad_allocD1Ev() { -entry: - unreachable -} - -fastcc void %_ZSt19__throw_logic_errorPKc() { -entry: - invoke fastcc void %_ZNSt11logic_errorC1ERKSs( ) - to label %try_exit.0 unwind label %try_catch.0 - -try_catch.0: ; preds = %entry - unreachable - -try_exit.0: ; preds = %entry - unwind -} - -fastcc void %_ZNSt11logic_errorC1ERKSs() { -entry: - call fastcc void %_ZNSsC1ERKSs( ) - ret void -} - -void %_ZNSt12domain_errorD1Ev() { -entry: - unreachable -} - -fastcc void %_ZSt20__throw_length_errorPKc() { -entry: - call fastcc void %_ZNSt12length_errorC1ERKSs( ) - unwind -} - -fastcc void %_ZNSt12length_errorC1ERKSs() { -entry: - invoke fastcc void %_ZNSsC1ERKSs( ) - to label %_ZNSt11logic_errorC2ERKSs.exit unwind label %invoke_catch.i - -invoke_catch.i: ; preds = %entry - unwind - -_ZNSt11logic_errorC2ERKSs.exit: ; preds = %entry - ret void -} - -fastcc void %_ZNSs4_Rep9_S_createEjRKSaIcE() { -entry: - call fastcc void %_ZSt20__throw_length_errorPKc( ) - unreachable -} - -fastcc void %_ZNSs12_S_constructIN9__gnu_cxx17__normal_iteratorIPcSsEEEES2_T_S4_RKSaIcESt20forward_iterator_tag() { -entry: - unreachable -} - -fastcc void %_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type() { -entry: - br bool false, label %then.1.i, label %endif.1.i - -then.1.i: ; preds = %entry - call fastcc void %_ZSt19__throw_logic_errorPKc( ) - br label %endif.1.i - -endif.1.i: ; preds = %then.1.i, %entry - call fastcc void %_ZNSs4_Rep9_S_createEjRKSaIcE( ) - unreachable -} - -fastcc void %_ZNSsC1ERKSs() { -entry: - call fastcc void %_ZNSs4_Rep7_M_grabERKSaIcES2_( ) - invoke fastcc void %_ZNSaIcEC1ERKS_( ) - to label %invoke_cont.1 unwind label %invoke_catch.1 - -invoke_catch.1: ; preds = %entry - call fastcc void %_ZNSaIcED1Ev( ) - unwind - -invoke_cont.1: ; preds = %entry - call fastcc void %_ZNSaIcEC2ERKS_( ) - ret void -} - -fastcc void %_ZNSaIcEC1ERKS_() { -entry: - ret void -} - -fastcc void %_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc() { -entry: - ret void -} - -fastcc void %_ZNSs4_Rep7_M_grabERKSaIcES2_() { -entry: - br bool false, label %else.i, label %cond_true - -cond_true: ; preds = %entry - ret void - -else.i: ; preds = %entry - tail call fastcc void %_ZNSs4_Rep9_S_createEjRKSaIcE( ) - unreachable -} - -fastcc void %_ZNSaIcEC2ERKS_() { -entry: - ret void -} - -fastcc void %_ZN9__gnu_cxx12__pool_allocILb1ELi0EE8allocateEj() { -entry: - ret void -} - -fastcc void %_ZN9__gnu_cxx12__pool_allocILb1ELi0EE9_S_refillEj() { -entry: - unreachable -} diff --git a/llvm/test/Regression/Transforms/Inline/2006-11-09-InlineCGUpdate.ll b/llvm/test/Regression/Transforms/Inline/2006-11-09-InlineCGUpdate.ll deleted file mode 100644 index 1b137cf5f02..00000000000 --- a/llvm/test/Regression/Transforms/Inline/2006-11-09-InlineCGUpdate.ll +++ /dev/null @@ -1,342 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -prune-eh -disable-output -; PR992 -target datalayout = "e-p:32:32" -target endian = little -target pointersize = 32 -target triple = "i686-pc-linux-gnu" -deplibs = [ "stdc++", "c", "crtend" ] - %struct._IO_FILE = type { int, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, %struct._IO_marker*, %struct._IO_FILE*, int, int, int, ushort, sbyte, [1 x sbyte], sbyte*, long, sbyte*, sbyte*, int, [52 x sbyte] } - %struct._IO_marker = type { %struct._IO_marker*, %struct._IO_FILE*, int } - "struct.__cxxabiv1::__array_type_info" = type { "struct.std::type_info" } - "struct.__cxxabiv1::__si_class_type_info" = type { "struct.__cxxabiv1::__array_type_info", "struct.__cxxabiv1::__array_type_info"* } - "struct.__gnu_cxx::_Rope_rep_alloc_base<char,std::allocator<char>, true>" = type { uint } - "struct.__gnu_cxx::__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" = type { sbyte* } - "struct.__gnu_cxx::__normal_iterator<const wchar_t*,std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" = type { int* } - "struct.__gnu_cxx::char_producer<char>" = type { int (...)** } - "struct.__gnu_cxx::stdio_sync_filebuf<char,std::char_traits<char> >" = type { "struct.std::basic_streambuf<char,std::char_traits<char> >", %struct._IO_FILE*, int } - "struct.__gnu_cxx::stdio_sync_filebuf<wchar_t,std::char_traits<wchar_t> >" = type { "struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >", %struct._IO_FILE*, uint } - %struct.__locale_struct = type { [13 x %struct.locale_data*], ushort*, int*, int*, [13 x sbyte*] } - %struct.__mbstate_t = type { int, "struct.__gnu_cxx::_Rope_rep_alloc_base<char,std::allocator<char>, true>" } - %struct.locale_data = type opaque - "struct.std::__basic_file<char>" = type { %struct._IO_FILE*, bool } - "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>" = type { "struct.std::locale::facet" } - "struct.std::basic_filebuf<char,std::char_traits<char> >" = type { "struct.std::basic_streambuf<char,std::char_traits<char> >", int, "struct.std::__basic_file<char>", uint, %struct.__mbstate_t, %struct.__mbstate_t, sbyte*, uint, bool, bool, bool, bool, sbyte, sbyte*, sbyte*, bool, "struct.std::codecvt<char,char,__mbstate_t>"*, sbyte*, int, sbyte*, sbyte* } - "struct.std::basic_filebuf<wchar_t,std::char_traits<wchar_t> >" = type { "struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >", int, "struct.std::__basic_file<char>", uint, %struct.__mbstate_t, %struct.__mbstate_t, int*, uint, bool, bool, bool, bool, int, int*, int*, bool, "struct.std::codecvt<char,char,__mbstate_t>"*, sbyte*, int, sbyte*, sbyte* } - "struct.std::basic_fstream<char,std::char_traits<char> >" = type { { "struct.std::locale::facet", "struct.__gnu_cxx::char_producer<char>" }, "struct.std::basic_filebuf<char,std::char_traits<char> >", "struct.std::basic_ios<char,std::char_traits<char> >" } - "struct.std::basic_fstream<wchar_t,std::char_traits<wchar_t> >" = type { { "struct.std::locale::facet", "struct.__gnu_cxx::char_producer<char>" }, "struct.std::basic_filebuf<wchar_t,std::char_traits<wchar_t> >", "struct.std::basic_ios<wchar_t,std::char_traits<wchar_t> >" } - "struct.std::basic_ios<char,std::char_traits<char> >" = type { "struct.std::ios_base", "struct.std::basic_ostream<char,std::char_traits<char> >"*, sbyte, bool, "struct.std::basic_streambuf<char,std::char_traits<char> >"*, "struct.std::ctype<char>"*, "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"*, "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"* } - "struct.std::basic_ios<wchar_t,std::char_traits<wchar_t> >" = type { "struct.std::ios_base", "struct.std::basic_ostream<wchar_t,std::char_traits<wchar_t> >"*, int, bool, "struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >"*, "struct.std::codecvt<char,char,__mbstate_t>"*, "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"*, "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"* } - "struct.std::basic_iostream<wchar_t,std::char_traits<wchar_t> >" = type { "struct.std::locale::facet", "struct.__gnu_cxx::char_producer<char>", "struct.std::basic_ios<wchar_t,std::char_traits<wchar_t> >" } - "struct.std::basic_ostream<char,std::char_traits<char> >" = type { int (...)**, "struct.std::basic_ios<char,std::char_traits<char> >" } - "struct.std::basic_ostream<wchar_t,std::char_traits<wchar_t> >" = type { int (...)**, "struct.std::basic_ios<wchar_t,std::char_traits<wchar_t> >" } - "struct.std::basic_streambuf<char,std::char_traits<char> >" = type { int (...)**, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, "struct.std::locale" } - "struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >" = type { int (...)**, int*, int*, int*, int*, int*, int*, "struct.std::locale" } - "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" = type { "struct.__gnu_cxx::__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" } - "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep" = type { "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep_base" } - "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep_base" = type { uint, uint, int } - "struct.std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >" = type { "struct.__gnu_cxx::__normal_iterator<const wchar_t*,std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" } - "struct.std::codecvt<char,char,__mbstate_t>" = type { "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>", %struct.__locale_struct* } - "struct.std::collate<char>" = type { "struct.std::locale::facet", %struct.__locale_struct* } - "struct.std::collate_byname<char>" = type { "struct.std::collate<char>" } - "struct.std::ctype<char>" = type { "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>", %struct.__locale_struct*, bool, int*, int*, ushort* } - "struct.std::ctype_byname<char>" = type { "struct.std::ctype<char>" } - "struct.std::domain_error" = type { "struct.std::logic_error" } - "struct.std::ios_base" = type { int (...)**, int, int, uint, uint, uint, "struct.std::ios_base::_Callback_list"*, "struct.std::ios_base::_Words", [8 x "struct.std::ios_base::_Words"], int, "struct.std::ios_base::_Words"*, "struct.std::locale" } - "struct.std::ios_base::_Callback_list" = type { "struct.std::ios_base::_Callback_list"*, void (uint, "struct.std::ios_base"*, int)*, int, int } - "struct.std::ios_base::_Words" = type { sbyte*, int } - "struct.std::istreambuf_iterator<char,std::char_traits<char> >" = type { "struct.std::basic_streambuf<char,std::char_traits<char> >"*, int } - "struct.std::istreambuf_iterator<wchar_t,std::char_traits<wchar_t> >" = type { "struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >"*, uint } - "struct.std::locale" = type { "struct.std::locale::_Impl"* } - "struct.std::locale::_Impl" = type { int, "struct.std::locale::facet"**, uint, "struct.std::locale::facet"**, sbyte** } - "struct.std::locale::facet" = type { int (...)**, int } - "struct.std::logic_error" = type { "struct.__gnu_cxx::char_producer<char>", "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" } - "struct.std::type_info" = type { int (...)**, sbyte* } -%.str_11 = external global [42 x sbyte] ; <[42 x sbyte]*> [#uses=0] -%.str_9 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] -%.str_1 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] - -implementation ; Functions: - -void %main() { -entry: - tail call fastcc void %_ZNSolsEi( ) - ret void -} - -fastcc void %_ZNSolsEi() { -entry: - %tmp.22 = seteq uint 0, 0 ; <bool> [#uses=1] - br bool %tmp.22, label %else, label %then - -then: ; preds = %entry - ret void - -else: ; preds = %entry - tail call fastcc void %_ZNSolsEl( ) - ret void -} - -void %_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_() { -entry: - ret void -} - -fastcc void %_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate() { -entry: - tail call fastcc void %_ZSt19__throw_ios_failurePKc( ) - ret void -} - -fastcc void %_ZNSo3putEc() { -entry: - ret void -} - -fastcc void %_ZNSolsEl() { -entry: - %tmp.21.i = seteq "struct.std::basic_ostream<char,std::char_traits<char> >"* null, null ; <bool> [#uses=1] - br bool %tmp.21.i, label %endif.0.i, label %shortcirc_next.i - -shortcirc_next.i: ; preds = %entry - ret void - -endif.0.i: ; preds = %entry - call fastcc void %_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate( ) - ret void -} - -fastcc void %_ZSt19__throw_ios_failurePKc() { -entry: - call fastcc void %_ZNSsC1EPKcRKSaIcE( ) - ret void -} - -fastcc void %_ZNSt8ios_baseD2Ev() { -entry: - unreachable -} - -void %_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE5uflowEv() { -entry: - unreachable -} - -void %_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED1Ev() { -entry: - unreachable -} - -void %_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci() { -entry: - ret void -} - -fastcc void %_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale() { -entry: - ret void -} - -declare fastcc void %_ZNSaIcED1Ev() - -fastcc void %_ZSt19__throw_logic_errorPKc() { -entry: - call fastcc void %_ZNSt11logic_errorC1ERKSs( ) - ret void -} - -fastcc void %_ZNSs4_Rep9_S_createEjRKSaIcE() { -entry: - br bool false, label %then.0, label %endif.0 - -then.0: ; preds = %entry - call fastcc void %_ZSt20__throw_length_errorPKc( ) - ret void - -endif.0: ; preds = %entry - ret void -} - -fastcc void %_ZSt20__throw_length_errorPKc() { -entry: - call fastcc void %_ZNSt12length_errorC1ERKSs( ) - unwind -} - -fastcc void %_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type() { -entry: - br bool false, label %then.1.i, label %endif.1.i - -then.1.i: ; preds = %entry - call fastcc void %_ZSt19__throw_logic_errorPKc( ) - ret void - -endif.1.i: ; preds = %entry - call fastcc void %_ZNSs4_Rep9_S_createEjRKSaIcE( ) - unreachable -} - -fastcc void %_ZNSsC1ERKSs() { -entry: - call fastcc void %_ZNSs4_Rep7_M_grabERKSaIcES2_( ) - invoke fastcc void %_ZNSaIcEC1ERKS_( ) - to label %invoke_cont.1 unwind label %invoke_catch.1 - -invoke_catch.1: ; preds = %entry - call fastcc void %_ZNSaIcED1Ev( ) - unwind - -invoke_cont.1: ; preds = %entry - call fastcc void %_ZNSaIcEC2ERKS_( ) - ret void -} - -fastcc void %_ZNSs7reserveEj() { -entry: - ret void -} - -fastcc void %_ZNSaIcEC1ERKS_() { -entry: - ret void -} - -fastcc void %_ZNSs4_Rep7_M_grabERKSaIcES2_() { -entry: - br bool false, label %else.i, label %cond_true - -cond_true: ; preds = %entry - ret void - -else.i: ; preds = %entry - tail call fastcc void %_ZNSs4_Rep9_S_createEjRKSaIcE( ) - ret void -} - -fastcc void %_ZNSsC1EPKcRKSaIcE() { -entry: - tail call fastcc void %_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type( ) - unreachable -} - -fastcc void %_ZNSaIcEC2ERKS_() { -entry: - ret void -} - -void %_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev() { -entry: - unreachable -} - -void %_ZNSt14collate_bynameIcED1Ev() { -entry: - unreachable -} - -void %_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy() { -entry: - ret void -} - -void %_ZNSt23__codecvt_abstract_baseIcc11__mbstate_tED1Ev() { -entry: - unreachable -} - -void %_ZNSt12ctype_bynameIcED0Ev() { -entry: - unreachable -} - -fastcc void %_ZNSt8messagesIwEC1Ej() { -entry: - ret void -} - -fastcc void %_ZSt14__convert_to_vIlEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi() { -entry: - ret void -} - -fastcc void %_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej() { -entry: - ret void -} - -fastcc void %_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej() { -entry: - ret void -} - -fastcc void %_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs() { -entry: - unreachable -} - -fastcc void %_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_() { -entry: - ret void -} - -void %_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev() { -entry: - unreachable -} - -void %_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv() { -entry: - ret void -} - -void %_ZNSt9exceptionD0Ev() { -entry: - unreachable -} - -fastcc void %_ZNSt11logic_errorC1ERKSs() { -entry: - call fastcc void %_ZNSsC1ERKSs( ) - ret void -} - -fastcc void %_ZNSt11logic_errorD2Ev() { -entry: - unreachable -} - -fastcc void %_ZNSt12length_errorC1ERKSs() { -entry: - invoke fastcc void %_ZNSsC1ERKSs( ) - to label %_ZNSt11logic_errorC2ERKSs.exit unwind label %invoke_catch.i - -invoke_catch.i: ; preds = %entry - unwind - -_ZNSt11logic_errorC2ERKSs.exit: ; preds = %entry - ret void -} - -void %_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_() { -entry: - ret void -} - -fastcc void %_ZNSbIwSt11char_traitsIwESaIwEE16_S_construct_auxIPKwEEPwT_S7_RKS1_12__false_type() { -entry: - ret void -} - -void %_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev() { -entry: - ret void -} - -void %_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev() { -entry: - unreachable -} - -fastcc void %_ZNSt5ctypeIcEC1EPKtbj() { -entry: - ret void -} diff --git a/llvm/test/Regression/Transforms/Inline/alloca_test.ll b/llvm/test/Regression/Transforms/Inline/alloca_test.ll deleted file mode 100644 index 35ded4f0d76..00000000000 --- a/llvm/test/Regression/Transforms/Inline/alloca_test.ll +++ /dev/null @@ -1,20 +0,0 @@ -; This test ensures that alloca instructions in the entry block for an inlined -; function are moved to the top of the function they are inlined into. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | %prcontext alloca 1 | grep Entry: - -int %func(int %i) { - %X = alloca int - store int %i, int* %X - ret int %i -} - -declare void %bar() - -int %main(int %argc) { -Entry: - call void %bar() - %X = call int %func(int 7) - %Y = add int %X, %argc - ret int %Y -} diff --git a/llvm/test/Regression/Transforms/Inline/basictest.ll b/llvm/test/Regression/Transforms/Inline/basictest.ll deleted file mode 100644 index 30d87b25bc3..00000000000 --- a/llvm/test/Regression/Transforms/Inline/basictest.ll +++ /dev/null @@ -1,11 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output -print - -int %func(int %i) { - ret int %i -} - -int %main(int %argc) { - %X = call int %func(int 7) - %Y = add int %X, %argc - ret int %Y -} diff --git a/llvm/test/Regression/Transforms/Inline/casts.ll b/llvm/test/Regression/Transforms/Inline/casts.ll deleted file mode 100644 index e7b17443a85..00000000000 --- a/llvm/test/Regression/Transforms/Inline/casts.ll +++ /dev/null @@ -1,20 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | grep 'ret i32 1' -; ModuleID = 'short.opt.bc' - -implementation ; Functions: - -int %testBool(bool %X) { - %tmp = zext bool %X to int ; <int> [#uses=1] - ret int %tmp -} - -int %testByte(sbyte %X) { - %tmp = setne sbyte %X, 0 ; <bool> [#uses=1] - %tmp.i = zext bool %tmp to int ; <int> [#uses=1] - ret int %tmp.i -} - -int %main() { - %rslt = call int %testByte( sbyte 123) - ret int %rslt -} diff --git a/llvm/test/Regression/Transforms/Inline/cfg_preserve_test.ll b/llvm/test/Regression/Transforms/Inline/cfg_preserve_test.ll deleted file mode 100644 index c444f3a2298..00000000000 --- a/llvm/test/Regression/Transforms/Inline/cfg_preserve_test.ll +++ /dev/null @@ -1,15 +0,0 @@ -; This test ensures that inlining an "empty" function does not destroy the CFG -; -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep br - -int %func(int %i) { - ret int %i -} - -declare void %bar() - -int %main(int %argc) { -Entry: - %X = call int %func(int 7) - ret int %X -} diff --git a/llvm/test/Regression/Transforms/Inline/dg.exp b/llvm/test/Regression/Transforms/Inline/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/Inline/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/Inline/dynamic_alloca_test.ll b/llvm/test/Regression/Transforms/Inline/dynamic_alloca_test.ll deleted file mode 100644 index 2b30b30ab76..00000000000 --- a/llvm/test/Regression/Transforms/Inline/dynamic_alloca_test.ll +++ /dev/null @@ -1,28 +0,0 @@ -; Test that functions with dynamic allocas get inlined in a case where -; naively inlining it would result in a miscompilation. - -; RUN: llvm-upgrade < %s | llvm-as | opt -inline && -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | grep llvm.stacksave && -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep callee - -declare void %ext(int*) -implementation - -internal void %callee(uint %N) { - %P = alloca int, uint %N ;; dynamic alloca - call void %ext(int* %P) - ret void -} - -void %foo(uint %N) { - br label %Loop -Loop: - %count = phi uint [0, %0], [%next, %Loop] - %next = add uint %count, 1 - call void %callee(uint %N) - %cond = seteq uint %count, 100000 - br bool %cond, label %out, label %Loop -out: - ret void -} - diff --git a/llvm/test/Regression/Transforms/Inline/inline-tail.ll b/llvm/test/Regression/Transforms/Inline/inline-tail.ll deleted file mode 100644 index 31e036fe65a..00000000000 --- a/llvm/test/Regression/Transforms/Inline/inline-tail.ll +++ /dev/null @@ -1,16 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep tail - -implementation - -declare void %bar(int*) - -internal void %foo(int* %P) { ;; to be inlined - tail call void %bar(int* %P) - ret void -} - -void %caller() { - %A = alloca int - call void %foo(int* %A) ;; not a tail call - ret void -} diff --git a/llvm/test/Regression/Transforms/Inline/inline_cleanup.ll b/llvm/test/Regression/Transforms/Inline/inline_cleanup.ll deleted file mode 100644 index f0c153b4ca0..00000000000 --- a/llvm/test/Regression/Transforms/Inline/inline_cleanup.ll +++ /dev/null @@ -1,65 +0,0 @@ -; Test that the inliner doesn't leave around dead allocas, and that it folds -; uncond branches away after it is done specializing. - -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep 'alloca.*uses=0' && -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep 'br label' - -%A = weak global int 0 ; <int*> [#uses=1] -%B = weak global int 0 ; <int*> [#uses=1] -%C = weak global int 0 ; <int*> [#uses=1] - -implementation ; Functions: - -internal fastcc void %foo(int %X) { -entry: - %ALL = alloca int, align 4 ; <int*> [#uses=1] - %tmp1 = and int %X, 1 ; <int> [#uses=1] - %tmp1 = seteq int %tmp1, 0 ; <bool> [#uses=1] - br bool %tmp1, label %cond_next, label %cond_true - -cond_true: ; preds = %entry - store int 1, int* %A - br label %cond_next - -cond_next: ; preds = %entry, %cond_true - %tmp4 = and int %X, 2 ; <int> [#uses=1] - %tmp4 = seteq int %tmp4, 0 ; <bool> [#uses=1] - br bool %tmp4, label %cond_next7, label %cond_true5 - -cond_true5: ; preds = %cond_next - store int 1, int* %B - br label %cond_next7 - -cond_next7: ; preds = %cond_next, %cond_true5 - %tmp10 = and int %X, 4 ; <int> [#uses=1] - %tmp10 = seteq int %tmp10, 0 ; <bool> [#uses=1] - br bool %tmp10, label %cond_next13, label %cond_true11 - -cond_true11: ; preds = %cond_next7 - store int 1, int* %C - br label %cond_next13 - -cond_next13: ; preds = %cond_next7, %cond_true11 - %tmp16 = and int %X, 8 ; <int> [#uses=1] - %tmp16 = seteq int %tmp16, 0 ; <bool> [#uses=1] - br bool %tmp16, label %UnifiedReturnBlock, label %cond_true17 - -cond_true17: ; preds = %cond_next13 - call void %ext( int* %ALL ) - ret void - -UnifiedReturnBlock: ; preds = %cond_next13 - ret void -} - -declare void %ext(int*) - -void %test() { -entry: - tail call fastcc void %foo( int 1 ) - tail call fastcc void %foo( int 2 ) - tail call fastcc void %foo( int 3 ) - tail call fastcc void %foo( int 8 ) - ret void -} diff --git a/llvm/test/Regression/Transforms/Inline/inline_constprop.ll b/llvm/test/Regression/Transforms/Inline/inline_constprop.ll deleted file mode 100644 index d76a88be37f..00000000000 --- a/llvm/test/Regression/Transforms/Inline/inline_constprop.ll +++ /dev/null @@ -1,15 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep callee && -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep div - -implementation - -internal int %callee(int %A, int %B) { - %C = div int %A, %B - ret int %C -} - -int %test() { - %X = call int %callee(int 10, int 3) - ret int %X -} diff --git a/llvm/test/Regression/Transforms/Inline/inline_dce.ll b/llvm/test/Regression/Transforms/Inline/inline_dce.ll deleted file mode 100644 index 9dc7a774ae6..00000000000 --- a/llvm/test/Regression/Transforms/Inline/inline_dce.ll +++ /dev/null @@ -1,25 +0,0 @@ -; This checks to ensure that the inline pass deletes functions if they get -; inlined into all of their callers. - -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep %reallysmall - -implementation - -internal int %reallysmall(int %A) { - ret int %A -} - -void %caller1() { - call int %reallysmall(int 5) - ret void -} - -void %caller2(int %A) { - call int %reallysmall(int %A) - ret void -} - -int %caller3(int %A) { - %B = call int %reallysmall(int %A) - ret int %B -} diff --git a/llvm/test/Regression/Transforms/Inline/inline_prune.ll b/llvm/test/Regression/Transforms/Inline/inline_prune.ll deleted file mode 100644 index dff38802e1f..00000000000 --- a/llvm/test/Regression/Transforms/Inline/inline_prune.ll +++ /dev/null @@ -1,40 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep 'callee[12](' && -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep mul - -implementation - -internal int %callee1(int %A, int %B) { - %cond = seteq int %A, 123 - br bool %cond, label %T, label %F -T: - %C = mul int %B, %B - ret int %C -F: - ret int 0 -} - -internal int %callee2(int %A, int %B) { - switch int %A, label %T [ - int 10, label %F - int 1234, label %G - ] - %cond = seteq int %A, 123 - br bool %cond, label %T, label %F -T: - %C = mul int %B, %B - ret int %C -F: - ret int 0 -G: - %D = mul int %B, %B - %E = mul int %D, %B - ret int %E -} - -int %test(int %A) { - %X = call int %callee1(int 10, int %A) - %Y = call int %callee2(int 10, int %A) - %Z = add int %X, %Y - ret int %Z -} diff --git a/llvm/test/Regression/Transforms/Inline/invoke_test-1.ll b/llvm/test/Regression/Transforms/Inline/invoke_test-1.ll deleted file mode 100644 index 8409a21561b..00000000000 --- a/llvm/test/Regression/Transforms/Inline/invoke_test-1.ll +++ /dev/null @@ -1,22 +0,0 @@ -; Test that we can inline a simple function, turning the calls in it into invoke -; instructions - -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep 'call[^e]' - -declare void %might_throw() - -implementation - -internal void %callee() { - call void %might_throw() - ret void -} - -; caller returns true if might_throw throws an exception... -int %caller() { - invoke void %callee() to label %cont except label %exc -cont: - ret int 0 -exc: - ret int 1 -} diff --git a/llvm/test/Regression/Transforms/Inline/invoke_test-2.ll b/llvm/test/Regression/Transforms/Inline/invoke_test-2.ll deleted file mode 100644 index 0913f7c24d9..00000000000 --- a/llvm/test/Regression/Transforms/Inline/invoke_test-2.ll +++ /dev/null @@ -1,27 +0,0 @@ -; Test that if an invoked function is inlined, and if that function cannot -; throw, that the dead handler is now unreachable. - -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -simplifycfg | llvm-dis | not grep UnreachableExceptionHandler - -declare void %might_throw() - -implementation - -internal int %callee() { - invoke void %might_throw() to label %cont except label %exc -cont: - ret int 0 -exc: - ; This just consumes the exception! - ret int 1 -} - -; caller returns true if might_throw throws an exception... callee cannot throw. -int %caller() { - %X = invoke int %callee() to label %cont - except label %UnreachableExceptionHandler -cont: - ret int %X -UnreachableExceptionHandler: - ret int -1 ; This is dead! -} diff --git a/llvm/test/Regression/Transforms/Inline/invoke_test-3.ll b/llvm/test/Regression/Transforms/Inline/invoke_test-3.ll deleted file mode 100644 index b471afe2fb5..00000000000 --- a/llvm/test/Regression/Transforms/Inline/invoke_test-3.ll +++ /dev/null @@ -1,28 +0,0 @@ -; Test that any rethrown exceptions in an inlined function are automatically -; turned into branches to the invoke destination. - -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep unwind$ - -declare void %might_throw() - -implementation - -internal int %callee() { - invoke void %might_throw() to label %cont except label %exc -cont: - ret int 0 -exc: ; This just rethrows the exception! - unwind -} - -; caller returns true if might_throw throws an exception... which gets -; propagated by callee. -int %caller() { - %X = invoke int %callee() to label %cont - except label %Handler -cont: - ret int %X -Handler: - ; This consumes an exception thrown by might_throw - ret int 1 -} diff --git a/llvm/test/Regression/Transforms/InstCombine/.cvsignore b/llvm/test/Regression/Transforms/InstCombine/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/InstCombine/2002-03-11-InstCombineHang.ll b/llvm/test/Regression/Transforms/InstCombine/2002-03-11-InstCombineHang.ll deleted file mode 100644 index dd683a3d99a..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2002-03-11-InstCombineHang.ll +++ /dev/null @@ -1,11 +0,0 @@ -; This testcase causes instcombine to hang. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine - -implementation - -void "test"(int %X) -begin - %reg117 = add int %X, 0 - ret void -end diff --git a/llvm/test/Regression/Transforms/InstCombine/2002-05-14-SubFailure.ll b/llvm/test/Regression/Transforms/InstCombine/2002-05-14-SubFailure.ll deleted file mode 100644 index 1228fd0acae..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2002-05-14-SubFailure.ll +++ /dev/null @@ -1,12 +0,0 @@ -; Instcombine was missing a test that caused it to make illegal transformations -; sometimes. In this case, it transforms the sub into an add: -; RUN: echo foo -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep add -; - - -int "test"(int %i, int %j) { - %A = mul int %i, %j - %B = sub int 2, %A - ret int %B -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2002-05-14-TouchDeletedInst.ll b/llvm/test/Regression/Transforms/InstCombine/2002-05-14-TouchDeletedInst.ll deleted file mode 100644 index 9c278edc8dc..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2002-05-14-TouchDeletedInst.ll +++ /dev/null @@ -1,509 +0,0 @@ -; This testcase, obviously distilled from a large program (bzip2 from Specint2000) -; caused instcombine to fail because it got the same instruction on it's worklist -; more than once (which is ok), but then deleted the instruction. Since the inst -; stayed on the worklist, as soon as it came back up to be processed, bad things -; happened, and opt asserted. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -; - -%.LC0 = internal global [21 x sbyte] c"hbMakeCodeLengths(1)\00" ; <[21 x sbyte]*> [#uses=1] -%.LC1 = internal global [21 x sbyte] c"hbMakeCodeLengths(2)\00" ; <[21 x sbyte]*> [#uses=1] - -implementation ; Functions: - -void %hbMakeCodeLengths(ubyte* %len, int* %freq, int %alphaSize, int %maxLen) { -bb0: ;[#uses=0] - %len = alloca ubyte* ; <ubyte**> [#uses=2] - store ubyte* %len, ubyte** %len - %freq = alloca int* ; <int**> [#uses=2] - store int* %freq, int** %freq - %alphaSize = alloca int ; <int*> [#uses=2] - store int %alphaSize, int* %alphaSize - %maxLen = alloca int ; <int*> [#uses=2] - store int %maxLen, int* %maxLen - %heap = alloca int, uint 260 ; <int*> [#uses=27] - %weight = alloca int, uint 516 ; <int*> [#uses=18] - %parent = alloca int, uint 516 ; <int*> [#uses=7] - br label %bb1 - -bb1: ;[#uses=2] - %reg107 = load ubyte** %len ; <ubyte*> [#uses=1] - %reg108 = load int** %freq ; <int*> [#uses=1] - %reg109 = load int* %alphaSize ; <int> [#uses=10] - %reg110 = load int* %maxLen ; <int> [#uses=1] - %cond747 = setge int 0, %reg109 ; <bool> [#uses=1] - br bool %cond747, label %bb6, label %bb2 - -bb2: ;[#uses=2] - %reg591 = phi int [ %reg594, %bb5 ], [ 0, %bb1 ] ; <int> [#uses=3] - %reg591-idxcast1 = cast int %reg591 to uint ; <uint> [#uses=1] - %reg591-idxcast1-offset = add uint %reg591-idxcast1, 1 ; <uint> [#uses=1] - %reg591-idxcast1-offset = cast uint %reg591-idxcast1-offset to long ; <long> [#uses=1] - %reg126 = getelementptr int* %weight, long %reg591-idxcast1-offset ; <int*> [#uses=1] - %reg591-idxcast = cast int %reg591 to long ; <long> [#uses=1] - %reg132 = getelementptr int* %reg108, long %reg591-idxcast ; <int*> [#uses=1] - %reg133 = load int* %reg132 ; <int> [#uses=2] - %cond748 = seteq int %reg133, 0 ; <bool> [#uses=1] - br bool %cond748, label %bb4, label %bb3 - -bb3: ;[#uses=2] - %reg127 = shl int %reg133, ubyte 8 ; <int> [#uses=1] - br label %bb5 - -bb4: ;[#uses=2] - br label %bb5 - -bb5: ;[#uses=3] - %reg593 = phi int [ 256, %bb4 ], [ %reg127, %bb3 ] ; <int> [#uses=1] - store int %reg593, int* %reg126 - %reg594 = add int %reg591, 1 ; <int> [#uses=2] - %cond749 = setlt int %reg594, %reg109 ; <bool> [#uses=1] - br bool %cond749, label %bb2, label %bb6 - -bb6: ;[#uses=6] - store int 0, int* %heap - store int 0, int* %weight - store int -2, int* %parent - %cond750 = setgt int 1, %reg109 ; <bool> [#uses=1] - br bool %cond750, label %bb11, label %bb7 - -bb7: ;[#uses=3] - %reg597 = phi uint [ %reg598, %bb10 ], [ 0, %bb6 ] ; <uint> [#uses=5] - %reg597-casted = cast uint %reg597 to int ; <int> [#uses=1] - %reg596 = add int %reg597-casted, 1 ; <int> [#uses=3] - %reg597-offset = add uint %reg597, 1 ; <uint> [#uses=1] - %reg597-offset = cast uint %reg597-offset to long ; <long> [#uses=1] - %reg149 = getelementptr int* %parent, long %reg597-offset ; <int*> [#uses=1] - store int -1, int* %reg149 - %reg598 = add uint %reg597, 1 ; <uint> [#uses=3] - %reg597-offset1 = add uint %reg597, 1 ; <uint> [#uses=1] - %reg597-offset1 = cast uint %reg597-offset1 to long ; <long> [#uses=1] - %reg157 = getelementptr int* %heap, long %reg597-offset1 ; <int*> [#uses=1] - store int %reg596, int* %reg157 - br label %bb9 - -bb8: ;[#uses=2] - %reg599 = cast uint %reg599 to long ; <long> [#uses=1] - %reg198 = getelementptr int* %heap, long %reg599 ; <int*> [#uses=1] - store int %reg182, int* %reg198 - %cast938 = cast int %reg174 to uint ; <uint> [#uses=1] - br label %bb9 - -bb9: ;[#uses=2] - %reg599 = phi uint [ %cast938, %bb8 ], [ %reg598, %bb7 ] ; <uint> [#uses=3] - %cast807 = cast uint %reg599 to int ; <int> [#uses=1] - %reg597-offset2 = add uint %reg597, 1 ; <uint> [#uses=1] - %reg597-offset2 = cast uint %reg597-offset2 to long ; <long> [#uses=1] - %reg173 = getelementptr int* %weight, long %reg597-offset2 ; <int*> [#uses=1] - %reg174 = shr int %cast807, ubyte 1 ; <int> [#uses=2] - %reg174-idxcast = cast int %reg174 to uint ; <uint> [#uses=1] - cast uint %reg174-idxcast to long ; <long>:0 [#uses=1] - %reg181 = getelementptr int* %heap, long %0 ; <int*> [#uses=1] - %reg182 = load int* %reg181 ; <int> [#uses=2] - %reg182-idxcast = cast int %reg182 to uint ; <uint> [#uses=1] - cast uint %reg182-idxcast to long ; <long>:1 [#uses=1] - %reg189 = getelementptr int* %weight, long %1 ; <int*> [#uses=1] - %reg190 = load int* %reg173 ; <int> [#uses=1] - %reg191 = load int* %reg189 ; <int> [#uses=1] - %cond751 = setlt int %reg190, %reg191 ; <bool> [#uses=1] - br bool %cond751, label %bb8, label %bb10 - -bb10: ;[#uses=3] - cast uint %reg599 to long ; <long>:2 [#uses=1] - %reg214 = getelementptr int* %heap, long %2 ; <int*> [#uses=1] - store int %reg596, int* %reg214 - %reg601 = add int %reg596, 1 ; <int> [#uses=1] - %cond752 = setle int %reg601, %reg109 ; <bool> [#uses=1] - br bool %cond752, label %bb7, label %bb11 - -bb11: ;[#uses=2] - %reg602 = phi uint [ %reg598, %bb10 ], [ 0, %bb6 ] ; <uint> [#uses=3] - %cast819 = cast uint %reg602 to int ; <int> [#uses=1] - %cast818 = cast uint %reg602 to int ; <int> [#uses=1] - %cond753 = setle int %cast818, 259 ; <bool> [#uses=1] - br bool %cond753, label %bb13, label %bb12 - -bb12: ;[#uses=1] - cast uint 0 to long ; <long>:3 [#uses=1] - cast uint 0 to long ; <long>:4 [#uses=1] - %cast784 = getelementptr [21 x sbyte]* %.LC0, long %3, long %4 ; <sbyte*> [#uses=1] - call void %panic( sbyte* %cast784 ) - br label %bb13 - -bb13: ;[#uses=4] - %cond754 = setle int %cast819, 1 ; <bool> [#uses=1] - %cast918 = cast int %reg109 to uint ; <uint> [#uses=1] - %cast940 = cast uint %reg602 to int ; <int> [#uses=1] - %cast942 = cast int %reg109 to uint ; <uint> [#uses=1] - br bool %cond754, label %bb32, label %bb14 - -bb14: ;[#uses=5] - %cann-indvar1 = phi uint [ 0, %bb13 ], [ %add1-indvar1, %bb31 ] ; <uint> [#uses=3] - %cann-indvar1-casted = cast uint %cann-indvar1 to int ; <int> [#uses=1] - %reg603-scale = mul int %cann-indvar1-casted, -1 ; <int> [#uses=1] - %reg603 = add int %reg603-scale, %cast940 ; <int> [#uses=4] - %reg604 = add uint %cann-indvar1, %cast942 ; <uint> [#uses=4] - %add1-indvar1 = add uint %cann-indvar1, 1 ; <uint> [#uses=1] - cast uint 1 to long ; <long>:5 [#uses=1] - %reg7551 = getelementptr int* %heap, long %5 ; <int*> [#uses=1] - %reg113 = load int* %reg7551 ; <int> [#uses=2] - %reg603-idxcast = cast int %reg603 to uint ; <uint> [#uses=1] - cast uint %reg603-idxcast to long ; <long>:6 [#uses=1] - %reg222 = getelementptr int* %heap, long %6 ; <int*> [#uses=1] - %reg223 = load int* %reg222 ; <int> [#uses=1] - cast uint 1 to long ; <long>:7 [#uses=1] - %reg7561 = getelementptr int* %heap, long %7 ; <int*> [#uses=1] - store int %reg223, int* %reg7561 - %reg605 = add int %reg603, -1 ; <int> [#uses=4] - cast uint 1 to long ; <long>:8 [#uses=1] - %reg757 = getelementptr int* %heap, long %8 ; <int*> [#uses=1] - %reg226 = load int* %reg757 ; <int> [#uses=2] - %cond758 = setgt int 2, %reg605 ; <bool> [#uses=1] - br bool %cond758, label %bb20, label %bb15 - -bb15: ;[#uses=3] - %reg606 = phi int [ %reg611, %bb19 ], [ 2, %bb14 ] ; <int> [#uses=6] - %reg607 = phi int [ %reg609, %bb19 ], [ 1, %bb14 ] ; <int> [#uses=2] - %cond759 = setge int %reg606, %reg605 ; <bool> [#uses=1] - br bool %cond759, label %bb18, label %bb16 - -bb16: ;[#uses=2] - %reg606-idxcast = cast int %reg606 to uint ; <uint> [#uses=1] - %reg606-idxcast-offset = add uint %reg606-idxcast, 1 ; <uint> [#uses=1] - cast uint %reg606-idxcast-offset to long ; <long>:9 [#uses=1] - %reg241 = getelementptr int* %heap, long %9 ; <int*> [#uses=1] - %reg242 = load int* %reg241 ; <int> [#uses=1] - %reg242-idxcast = cast int %reg242 to uint ; <uint> [#uses=1] - cast uint %reg242-idxcast to long ; <long>:10 [#uses=1] - %reg249 = getelementptr int* %weight, long %10 ; <int*> [#uses=1] - %reg606-idxcast1 = cast int %reg606 to uint ; <uint> [#uses=1] - cast uint %reg606-idxcast1 to long ; <long>:11 [#uses=1] - %reg256 = getelementptr int* %heap, long %11 ; <int*> [#uses=1] - %reg257 = load int* %reg256 ; <int> [#uses=1] - %reg257-idxcast = cast int %reg257 to uint ; <uint> [#uses=1] - cast uint %reg257-idxcast to long ; <long>:12 [#uses=1] - %reg264 = getelementptr int* %weight, long %12 ; <int*> [#uses=1] - %reg265 = load int* %reg249 ; <int> [#uses=1] - %reg266 = load int* %reg264 ; <int> [#uses=1] - %cond760 = setge int %reg265, %reg266 ; <bool> [#uses=1] - br bool %cond760, label %bb18, label %bb17 - -bb17: ;[#uses=2] - %reg608 = add int %reg606, 1 ; <int> [#uses=1] - br label %bb18 - -bb18: ;[#uses=4] - %reg609 = phi int [ %reg608, %bb17 ], [ %reg606, %bb16 ], [ %reg606, %bb15 ] ; <int> [#uses=4] - %reg226-idxcast = cast int %reg226 to uint ; <uint> [#uses=1] - cast uint %reg226-idxcast to long ; <long>:13 [#uses=1] - %reg273 = getelementptr int* %weight, long %13 ; <int*> [#uses=1] - %reg609-idxcast = cast int %reg609 to uint ; <uint> [#uses=1] - cast uint %reg609-idxcast to long ; <long>:14 [#uses=1] - %reg280 = getelementptr int* %heap, long %14 ; <int*> [#uses=1] - %reg281 = load int* %reg280 ; <int> [#uses=2] - %reg281-idxcast = cast int %reg281 to uint ; <uint> [#uses=1] - cast uint %reg281-idxcast to long ; <long>:15 [#uses=1] - %reg288 = getelementptr int* %weight, long %15 ; <int*> [#uses=1] - %reg289 = load int* %reg273 ; <int> [#uses=1] - %reg290 = load int* %reg288 ; <int> [#uses=1] - %cond761 = setlt int %reg289, %reg290 ; <bool> [#uses=1] - br bool %cond761, label %bb20, label %bb19 - -bb19: ;[#uses=4] - %reg607-idxcast = cast int %reg607 to uint ; <uint> [#uses=1] - cast uint %reg607-idxcast to long ; <long>:16 [#uses=1] - %reg297 = getelementptr int* %heap, long %16 ; <int*> [#uses=1] - store int %reg281, int* %reg297 - %reg611 = shl int %reg609, ubyte 1 ; <int> [#uses=2] - %cond762 = setle int %reg611, %reg605 ; <bool> [#uses=1] - br bool %cond762, label %bb15, label %bb20 - -bb20: ;[#uses=6] - %reg612 = phi int [ %reg609, %bb19 ], [ %reg607, %bb18 ], [ 1, %bb14 ] ; <int> [#uses=1] - %reg612-idxcast = cast int %reg612 to uint ; <uint> [#uses=1] - cast uint %reg612-idxcast to long ; <long>:17 [#uses=1] - %reg312 = getelementptr int* %heap, long %17 ; <int*> [#uses=1] - store int %reg226, int* %reg312 - cast uint 1 to long ; <long>:18 [#uses=1] - %reg7631 = getelementptr int* %heap, long %18 ; <int*> [#uses=1] - %reg114 = load int* %reg7631 ; <int> [#uses=2] - %reg603-idxcast1 = cast int %reg603 to uint ; <uint> [#uses=1] - %reg603-idxcast1-offset = add uint %reg603-idxcast1, 1073741823 ; <uint> [#uses=1] - cast uint %reg603-idxcast1-offset to long ; <long>:19 [#uses=1] - %reg319 = getelementptr int* %heap, long %19 ; <int*> [#uses=1] - %reg320 = load int* %reg319 ; <int> [#uses=1] - cast uint 1 to long ; <long>:20 [#uses=1] - %reg7641 = getelementptr int* %heap, long %20 ; <int*> [#uses=1] - store int %reg320, int* %reg7641 - %reg613 = add int %reg605, -1 ; <int> [#uses=4] - cast uint 1 to long ; <long>:21 [#uses=1] - %reg765 = getelementptr int* %heap, long %21 ; <int*> [#uses=1] - %reg323 = load int* %reg765 ; <int> [#uses=2] - %cond766 = setgt int 2, %reg613 ; <bool> [#uses=1] - br bool %cond766, label %bb26, label %bb21 - -bb21: ;[#uses=3] - %reg614 = phi int [ %reg619, %bb25 ], [ 2, %bb20 ] ; <int> [#uses=6] - %reg615 = phi int [ %reg617, %bb25 ], [ 1, %bb20 ] ; <int> [#uses=2] - %cond767 = setge int %reg614, %reg613 ; <bool> [#uses=1] - br bool %cond767, label %bb24, label %bb22 - -bb22: ;[#uses=2] - %reg614-idxcast = cast int %reg614 to uint ; <uint> [#uses=1] - %reg614-idxcast-offset = add uint %reg614-idxcast, 1 ; <uint> [#uses=1] - cast uint %reg614-idxcast-offset to long ; <long>:22 [#uses=1] - %reg338 = getelementptr int* %heap, long %22 ; <int*> [#uses=1] - %reg339 = load int* %reg338 ; <int> [#uses=1] - %reg339-idxcast = cast int %reg339 to uint ; <uint> [#uses=1] - cast uint %reg339-idxcast to long ; <long>:23 [#uses=1] - %reg346 = getelementptr int* %weight, long %23 ; <int*> [#uses=1] - %reg614-idxcast1 = cast int %reg614 to uint ; <uint> [#uses=1] - cast uint %reg614-idxcast1 to long ; <long>:24 [#uses=1] - %reg353 = getelementptr int* %heap, long %24 ; <int*> [#uses=1] - %reg354 = load int* %reg353 ; <int> [#uses=1] - %reg354-idxcast = cast int %reg354 to uint ; <uint> [#uses=1] - cast uint %reg354-idxcast to long ; <long>:25 [#uses=1] - %reg361 = getelementptr int* %weight, long %25 ; <int*> [#uses=1] - %reg362 = load int* %reg346 ; <int> [#uses=1] - %reg363 = load int* %reg361 ; <int> [#uses=1] - %cond768 = setge int %reg362, %reg363 ; <bool> [#uses=1] - br bool %cond768, label %bb24, label %bb23 - -bb23: ;[#uses=2] - %reg616 = add int %reg614, 1 ; <int> [#uses=1] - br label %bb24 - -bb24: ;[#uses=4] - %reg617 = phi int [ %reg616, %bb23 ], [ %reg614, %bb22 ], [ %reg614, %bb21 ] ; <int> [#uses=4] - %reg323-idxcast = cast int %reg323 to uint ; <uint> [#uses=1] - cast uint %reg323-idxcast to long ; <long>:26 [#uses=1] - %reg370 = getelementptr int* %weight, long %26 ; <int*> [#uses=1] - %reg617-idxcast = cast int %reg617 to uint ; <uint> [#uses=1] - cast uint %reg617-idxcast to long ; <long>:27 [#uses=1] - %reg377 = getelementptr int* %heap, long %27 ; <int*> [#uses=1] - %reg378 = load int* %reg377 ; <int> [#uses=2] - %reg378-idxcast = cast int %reg378 to uint ; <uint> [#uses=1] - cast uint %reg378-idxcast to long ; <long>:28 [#uses=1] - %reg385 = getelementptr int* %weight, long %28 ; <int*> [#uses=1] - %reg386 = load int* %reg370 ; <int> [#uses=1] - %reg387 = load int* %reg385 ; <int> [#uses=1] - %cond769 = setlt int %reg386, %reg387 ; <bool> [#uses=1] - br bool %cond769, label %bb26, label %bb25 - -bb25: ;[#uses=4] - %reg615-idxcast = cast int %reg615 to uint ; <uint> [#uses=1] - cast uint %reg615-idxcast to long ; <long>:29 [#uses=1] - %reg394 = getelementptr int* %heap, long %29 ; <int*> [#uses=1] - store int %reg378, int* %reg394 - %reg619 = shl int %reg617, ubyte 1 ; <int> [#uses=2] - %cond770 = setle int %reg619, %reg613 ; <bool> [#uses=1] - br bool %cond770, label %bb21, label %bb26 - -bb26: ;[#uses=4] - %reg620 = phi int [ %reg617, %bb25 ], [ %reg615, %bb24 ], [ 1, %bb20 ] ; <int> [#uses=1] - %reg620-idxcast = cast int %reg620 to uint ; <uint> [#uses=1] - cast uint %reg620-idxcast to long ; <long>:30 [#uses=1] - %reg409 = getelementptr int* %heap, long %30 ; <int*> [#uses=1] - store int %reg323, int* %reg409 - %reg621 = add uint %reg604, 1 ; <uint> [#uses=5] - %reg113-idxcast = cast int %reg113 to uint ; <uint> [#uses=1] - cast uint %reg113-idxcast to long ; <long>:31 [#uses=1] - %reg416 = getelementptr int* %parent, long %31 ; <int*> [#uses=1] - %reg114-idxcast = cast int %reg114 to uint ; <uint> [#uses=1] - cast uint %reg114-idxcast to long ; <long>:32 [#uses=1] - %reg423 = getelementptr int* %parent, long %32 ; <int*> [#uses=1] - %cast889 = cast uint %reg621 to int ; <int> [#uses=1] - store int %cast889, int* %reg423 - %cast890 = cast uint %reg621 to int ; <int> [#uses=1] - store int %cast890, int* %reg416 - %reg604-offset = add uint %reg604, 1 ; <uint> [#uses=1] - cast uint %reg604-offset to long ; <long>:33 [#uses=1] - %reg431 = getelementptr int* %weight, long %33 ; <int*> [#uses=1] - %reg113-idxcast2 = cast int %reg113 to uint ; <uint> [#uses=1] - cast uint %reg113-idxcast2 to long ; <long>:34 [#uses=1] - %reg4381 = getelementptr int* %weight, long %34 ; <int*> [#uses=1] - %reg439 = load int* %reg4381 ; <int> [#uses=2] - %reg440 = and int %reg439, -256 ; <int> [#uses=1] - %reg114-idxcast2 = cast int %reg114 to uint ; <uint> [#uses=1] - cast uint %reg114-idxcast2 to long ; <long>:35 [#uses=1] - %reg4471 = getelementptr int* %weight, long %35 ; <int*> [#uses=1] - %reg448 = load int* %reg4471 ; <int> [#uses=2] - %reg449 = and int %reg448, -256 ; <int> [#uses=1] - %reg450 = add int %reg440, %reg449 ; <int> [#uses=1] - %reg460 = and int %reg439, 255 ; <int> [#uses=2] - %reg451 = and int %reg448, 255 ; <int> [#uses=2] - %cond771 = setge int %reg451, %reg460 ; <bool> [#uses=1] - br bool %cond771, label %bb28, label %bb27 - -bb27: ;[#uses=2] - br label %bb28 - -bb28: ;[#uses=3] - %reg623 = phi int [ %reg460, %bb27 ], [ %reg451, %bb26 ] ; <int> [#uses=1] - %reg469 = add int %reg623, 1 ; <int> [#uses=1] - %reg470 = or int %reg450, %reg469 ; <int> [#uses=1] - store int %reg470, int* %reg431 - %reg604-offset1 = add uint %reg604, 1 ; <uint> [#uses=1] - cast uint %reg604-offset1 to long ; <long>:36 [#uses=1] - %reg4771 = getelementptr int* %parent, long %36 ; <int*> [#uses=1] - store int -1, int* %reg4771 - %reg624 = add int %reg613, 1 ; <int> [#uses=2] - %reg603-idxcast2 = cast int %reg603 to uint ; <uint> [#uses=1] - %reg603-idxcast2-offset = add uint %reg603-idxcast2, 1073741823 ; <uint> [#uses=1] - cast uint %reg603-idxcast2-offset to long ; <long>:37 [#uses=1] - %reg485 = getelementptr int* %heap, long %37 ; <int*> [#uses=1] - %cast902 = cast uint %reg621 to int ; <int> [#uses=1] - store int %cast902, int* %reg485 - br label %bb30 - -bb29: ;[#uses=2] - %reg625-idxcast = cast int %reg625 to uint ; <uint> [#uses=1] - cast uint %reg625-idxcast to long ; <long>:38 [#uses=1] - %reg526 = getelementptr int* %heap, long %38 ; <int*> [#uses=1] - store int %reg510, int* %reg526 - br label %bb30 - -bb30: ;[#uses=2] - %reg625 = phi int [ %reg502, %bb29 ], [ %reg624, %bb28 ] ; <int> [#uses=3] - %reg604-offset2 = add uint %reg604, 1 ; <uint> [#uses=1] - cast uint %reg604-offset2 to long ; <long>:39 [#uses=1] - %reg501 = getelementptr int* %weight, long %39 ; <int*> [#uses=1] - %reg502 = shr int %reg625, ubyte 1 ; <int> [#uses=2] - %reg502-idxcast = cast int %reg502 to uint ; <uint> [#uses=1] - cast uint %reg502-idxcast to long ; <long>:40 [#uses=1] - %reg509 = getelementptr int* %heap, long %40 ; <int*> [#uses=1] - %reg510 = load int* %reg509 ; <int> [#uses=2] - %reg510-idxcast = cast int %reg510 to uint ; <uint> [#uses=1] - cast uint %reg510-idxcast to long ; <long>:41 [#uses=1] - %reg517 = getelementptr int* %weight, long %41 ; <int*> [#uses=1] - %reg518 = load int* %reg501 ; <int> [#uses=1] - %reg519 = load int* %reg517 ; <int> [#uses=1] - %cond772 = setlt int %reg518, %reg519 ; <bool> [#uses=1] - br bool %cond772, label %bb29, label %bb31 - -bb31: ;[#uses=3] - %reg625-idxcast1 = cast int %reg625 to uint ; <uint> [#uses=1] - cast uint %reg625-idxcast1 to long ; <long>:42 [#uses=1] - %reg542 = getelementptr int* %heap, long %42 ; <int*> [#uses=1] - %cast916 = cast uint %reg621 to int ; <int> [#uses=1] - store int %cast916, int* %reg542 - %cond773 = setgt int %reg624, 1 ; <bool> [#uses=1] - br bool %cond773, label %bb14, label %bb32 - -bb32: ;[#uses=2] - %reg627 = phi uint [ %reg621, %bb31 ], [ %cast918, %bb13 ] ; <uint> [#uses=1] - %cast919 = cast uint %reg627 to int ; <int> [#uses=1] - %cond774 = setle int %cast919, 515 ; <bool> [#uses=1] - br bool %cond774, label %bb34, label %bb33 - -bb33: ;[#uses=1] - cast uint 0 to long ; <long>:43 [#uses=1] - cast uint 0 to long ; <long>:44 [#uses=1] - %cast785 = getelementptr [21 x sbyte]* %.LC1, long %43, long %44 ; <sbyte*> [#uses=1] - call void %panic( sbyte* %cast785 ) - br label %bb34 - -bb34: ;[#uses=5] - %cond775 = setgt int 1, %reg109 ; <bool> [#uses=1] - br bool %cond775, label %bb40, label %bb35 - -bb35: ;[#uses=5] - %reg629 = phi ubyte [ %reg639, %bb39 ], [ 0, %bb34 ] ; <ubyte> [#uses=1] - %cann-indvar = phi uint [ 0, %bb34 ], [ %add1-indvar, %bb39 ] ; <uint> [#uses=4] - %cann-indvar-casted = cast uint %cann-indvar to int ; <int> [#uses=1] - %reg630 = add int %cann-indvar-casted, 1 ; <int> [#uses=2] - %add1-indvar = add uint %cann-indvar, 1 ; <uint> [#uses=1] - %cann-indvar-offset1 = add uint %cann-indvar, 1 ; <uint> [#uses=1] - cast uint %cann-indvar-offset1 to long ; <long>:45 [#uses=1] - %reg589 = getelementptr int* %parent, long %45 ; <int*> [#uses=1] - %reg590 = load int* %reg589 ; <int> [#uses=1] - %cond776 = setlt int %reg590, 0 ; <bool> [#uses=1] - %parent-idxcast = cast int* %parent to uint ; <uint> [#uses=1] - %cast948 = cast int %reg630 to uint ; <uint> [#uses=1] - br bool %cond776, label %bb37, label %bb36 - -bb36: ;[#uses=5] - %reg632 = phi uint [ %reg634, %bb36 ], [ %cast948, %bb35 ] ; <uint> [#uses=1] - %reg633 = phi uint [ %reg635, %bb36 ], [ 0, %bb35 ] ; <uint> [#uses=3] - %reg633-casted = cast uint %reg633 to sbyte* ; <sbyte*> [#uses=0] - %reg631-scale = mul uint %reg633, 0 ; <uint> [#uses=1] - %reg631-scale = cast uint %reg631-scale to sbyte* ; <sbyte*> [#uses=1] - cast uint %parent-idxcast to long ; <long>:46 [#uses=1] - %reg6311 = getelementptr sbyte* %reg631-scale, long %46 ; <sbyte*> [#uses=2] - %reg632-scale = mul uint %reg632, 4 ; <uint> [#uses=1] - cast uint %reg632-scale to long ; <long>:47 [#uses=1] - %reg5581 = getelementptr sbyte* %reg6311, long %47 ; <sbyte*> [#uses=1] - %cast924 = cast sbyte* %reg5581 to uint* ; <uint*> [#uses=1] - %reg634 = load uint* %cast924 ; <uint> [#uses=2] - %reg635 = add uint %reg633, 1 ; <uint> [#uses=2] - %reg634-scale = mul uint %reg634, 4 ; <uint> [#uses=1] - cast uint %reg634-scale to long ; <long>:48 [#uses=1] - %reg5501 = getelementptr sbyte* %reg6311, long %48 ; <sbyte*> [#uses=1] - %cast925 = cast sbyte* %reg5501 to int* ; <int*> [#uses=1] - %reg551 = load int* %cast925 ; <int> [#uses=1] - %cond777 = setge int %reg551, 0 ; <bool> [#uses=1] - br bool %cond777, label %bb36, label %bb37 - -bb37: ;[#uses=3] - %reg637 = phi uint [ %reg635, %bb36 ], [ 0, %bb35 ] ; <uint> [#uses=2] - %cast928 = cast uint %reg637 to int ; <int> [#uses=1] - %cann-indvar-offset = add uint %cann-indvar, 1 ; <uint> [#uses=1] - cast uint %cann-indvar-offset to long ; <long>:49 [#uses=1] - %reg561 = getelementptr ubyte* %reg107, long %49 ; <ubyte*> [#uses=1] - cast uint 4294967295 to long ; <long>:50 [#uses=1] - %reg778 = getelementptr ubyte* %reg561, long %50 ; <ubyte*> [#uses=1] - %cast788 = cast uint %reg637 to ubyte ; <ubyte> [#uses=1] - store ubyte %cast788, ubyte* %reg778 - %cond779 = setle int %cast928, %reg110 ; <bool> [#uses=1] - br bool %cond779, label %bb39, label %bb38 - -bb38: ;[#uses=2] - br label %bb39 - -bb39: ;[#uses=5] - %reg639 = phi ubyte [ 1, %bb38 ], [ %reg629, %bb37 ] ; <ubyte> [#uses=2] - %reg640 = add int %reg630, 1 ; <int> [#uses=1] - %cond780 = setle int %reg640, %reg109 ; <bool> [#uses=1] - br bool %cond780, label %bb35, label %bb40 - -bb40: ;[#uses=2] - %reg641 = phi ubyte [ %reg639, %bb39 ], [ 0, %bb34 ] ; <ubyte> [#uses=1] - %cond781 = seteq ubyte %reg641, 0 ; <bool> [#uses=1] - br bool %cond781, label %bb44, label %bb41 - -bb41: ;[#uses=2] - %cond782 = setge int 1, %reg109 ; <bool> [#uses=1] - br bool %cond782, label %bb6, label %bb42 - -bb42: ;[#uses=3] - %cann-indvar2 = phi int [ 0, %bb41 ], [ %add1-indvar2, %bb42 ] ; <int> [#uses=3] - %reg643 = add int %cann-indvar2, 1 ; <int> [#uses=1] - %add1-indvar2 = add int %cann-indvar2, 1 ; <int> [#uses=1] - %cann-indvar2-idxcast = cast int %cann-indvar2 to uint ; <uint> [#uses=1] - %cann-indvar2-idxcast-offset = add uint %cann-indvar2-idxcast, 1 ; <uint> [#uses=1] - cast uint %cann-indvar2-idxcast-offset to long ; <long>:51 [#uses=1] - %reg569 = getelementptr int* %weight, long %51 ; <int*> [#uses=2] - %reg570 = load int* %reg569 ; <int> [#uses=2] - %reg644 = shr int %reg570, ubyte 8 ; <int> [#uses=1] - %reg572 = shr int %reg570, ubyte 31 ; <int> [#uses=1] - %cast933 = cast int %reg572 to uint ; <uint> [#uses=1] - %reg573 = shr uint %cast933, ubyte 31 ; <uint> [#uses=1] - %cast934 = cast uint %reg573 to int ; <int> [#uses=1] - %reg574 = add int %reg644, %cast934 ; <int> [#uses=1] - %reg571 = shr int %reg574, ubyte 1 ; <int> [#uses=1] - %reg645 = add int %reg571, 1 ; <int> [#uses=1] - %reg582 = shl int %reg645, ubyte 8 ; <int> [#uses=1] - store int %reg582, int* %reg569 - %reg646 = add int %reg643, 1 ; <int> [#uses=1] - %cond783 = setlt int %reg646, %reg109 ; <bool> [#uses=1] - br bool %cond783, label %bb42, label %bb43 - -bb43: ;[#uses=1] - br label %bb6 - -bb44: ;[#uses=1] - ret void -} - -declare void %panic(sbyte*) diff --git a/llvm/test/Regression/Transforms/InstCombine/2002-08-02-CastTest.ll b/llvm/test/Regression/Transforms/InstCombine/2002-08-02-CastTest.ll deleted file mode 100644 index 55609f1e7f8..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2002-08-02-CastTest.ll +++ /dev/null @@ -1,11 +0,0 @@ -; This testcase is incorrectly getting completely eliminated. There should be -; SOME instruction named %c here, even if it's a bitwise and. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep '%c' -; -ulong %test3(ulong %A) { - %c1 = cast ulong %A to ubyte - %c2 = cast ubyte %c1 to ulong - ret ulong %c2 -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/2002-09-17-GetElementPtrCrash.ll b/llvm/test/Regression/Transforms/InstCombine/2002-09-17-GetElementPtrCrash.ll deleted file mode 100644 index 69bec19b2be..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2002-09-17-GetElementPtrCrash.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine - -%bob = type { int } - -int %alias() { - %pbob1 = alloca %bob - %pbob2 = getelementptr %bob* %pbob1 - %pbobel = getelementptr %bob* %pbob2, long 0, uint 0 - %rval = load int* %pbobel - ret int %rval -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/2002-12-05-MissedConstProp.ll b/llvm/test/Regression/Transforms/InstCombine/2002-12-05-MissedConstProp.ll deleted file mode 100644 index 6233e5027b6..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2002-12-05-MissedConstProp.ll +++ /dev/null @@ -1,10 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep add - -int %test(int %A) { - %A.neg = sub int 0, %A - %.neg = sub int 0, 1 - %X = add int %.neg, 1 - %Y.neg.ra = add int %A, %X - %r = add int %A.neg, %Y.neg.ra - ret int %r -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2003-05-26-CastMiscompile.ll b/llvm/test/Regression/Transforms/InstCombine/2003-05-26-CastMiscompile.ll deleted file mode 100644 index 453258980d5..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2003-05-26-CastMiscompile.ll +++ /dev/null @@ -1,7 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep 4294967295 - -ulong %test(ulong %Val) { - %tmp.3 = cast ulong %Val to uint ; <uint> [#uses=1] - %tmp.8 = cast uint %tmp.3 to ulong ; <ulong> [#uses=1] - ret ulong %tmp.8 -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2003-05-27-ConstExprCrash.ll b/llvm/test/Regression/Transforms/InstCombine/2003-05-27-ConstExprCrash.ll deleted file mode 100644 index 6222169e08d..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2003-05-27-ConstExprCrash.ll +++ /dev/null @@ -1,8 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output - -%X = global int 5 -long %test() { - %C = add long 1, 2 - %V = add long cast(int* %X to long), %C - ret long %V -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2003-06-05-BranchInvertInfLoop.ll b/llvm/test/Regression/Transforms/InstCombine/2003-06-05-BranchInvertInfLoop.ll deleted file mode 100644 index ae823d6bf68..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2003-06-05-BranchInvertInfLoop.ll +++ /dev/null @@ -1,14 +0,0 @@ -; This testcase causes an infinite loop in the instruction combiner, -; because it things that the constant value is a not expression... and -; constantly inverts the branch back and forth. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output - -ubyte %test19(bool %c) { - br bool true, label %True, label %False -True: - ret ubyte 1 -False: - ret ubyte 3 -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/2003-06-22-ConstantExprCrash.ll b/llvm/test/Regression/Transforms/InstCombine/2003-06-22-ConstantExprCrash.ll deleted file mode 100644 index 92a32d5d35b..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2003-06-22-ConstantExprCrash.ll +++ /dev/null @@ -1,12 +0,0 @@ -; This is a bug in the VMcode library, not instcombine, it's just convenient -; to expose it here. - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output - -%A = global int 1 -%B = global int 2 - -bool %test() { - %C = setlt int* getelementptr (int* %A, long 1), getelementptr (int* %B, long 2) ; Will get promoted to constantexpr - ret bool %C -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2003-07-21-ExternalConstant.ll b/llvm/test/Regression/Transforms/InstCombine/2003-07-21-ExternalConstant.ll deleted file mode 100644 index c9e3b4c5420..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2003-07-21-ExternalConstant.ll +++ /dev/null @@ -1,46 +0,0 @@ -; -; Test: ExternalConstant -; -; Description: -; This regression test helps check whether the instruction combining -; optimization pass correctly handles global variables which are marked -; as external and constant. -; -; If a problem occurs, we should die on an assert(). Otherwise, we -; should pass through the optimizer without failure. -; -; Extra code: -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -; - -target endian = little -target pointersize = 32 -%silly = external constant int ; <int*> [#uses=1] - -implementation ; Functions: - -declare void %bzero(sbyte*, uint) - -declare void %bcopy(sbyte*, sbyte*, uint) - -declare int %bcmp(sbyte*, sbyte*, uint) - -declare int %fputs(sbyte*, sbyte*) - -declare int %fputs_unlocked(sbyte*, sbyte*) - -int %function(int %a.1) { -entry: ; No predecessors! - %a.0 = alloca int ; <int*> [#uses=2] - %result = alloca int ; <int*> [#uses=2] - store int %a.1, int* %a.0 - %tmp.0 = load int* %a.0 ; <int> [#uses=1] - %tmp.1 = load int* %silly ; <int> [#uses=1] - %tmp.2 = add int %tmp.0, %tmp.1 ; <int> [#uses=1] - store int %tmp.2, int* %result - br label %return - -return: ; preds = %entry - %tmp.3 = load int* %result ; <int> [#uses=1] - ret int %tmp.3 -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2003-08-12-AllocaNonNull.ll b/llvm/test/Regression/Transforms/InstCombine/2003-08-12-AllocaNonNull.ll deleted file mode 100644 index 52b778c10d0..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2003-08-12-AllocaNonNull.ll +++ /dev/null @@ -1,22 +0,0 @@ -; This testcase can be simplified by "realizing" that alloca can never return -; null. -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -simplifycfg | llvm-dis | not grep 'br ' - -implementation ; Functions: - -declare int %bitmap_clear(...) - -int %oof() { -entry: - %live_head = alloca int ; <int*> [#uses=2] - %tmp.1 = setne int* %live_head, null ; <bool> [#uses=1] - br bool %tmp.1, label %then, label %UnifiedExitNode - -then: - %tmp.4 = call int (...)* %bitmap_clear( int* %live_head ) ; <int> [#uses=0] - br label %UnifiedExitNode - -UnifiedExitNode: - ret int 0 -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/2003-09-09-VolatileLoadElim.ll b/llvm/test/Regression/Transforms/InstCombine/2003-09-09-VolatileLoadElim.ll deleted file mode 100644 index adb1474a98c..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2003-09-09-VolatileLoadElim.ll +++ /dev/null @@ -1,5 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep load -void %test(int* %P) { - %X = volatile load int* %P ; Dead but not deletable! - ret void -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2003-10-23-InstcombineNullFail.ll b/llvm/test/Regression/Transforms/InstCombine/2003-10-23-InstcombineNullFail.ll deleted file mode 100644 index 837494f5301..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2003-10-23-InstcombineNullFail.ll +++ /dev/null @@ -1,13 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep false -; -; This actually looks like a constant propagation bug - -%X = type { [10 x int], float } - -implementation - -bool %test() { - %A = getelementptr %X* null, long 0, uint 0, long 0 - %B = setne int* %A, null - ret bool %B -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2003-10-29-CallSiteResolve.ll b/llvm/test/Regression/Transforms/InstCombine/2003-10-29-CallSiteResolve.ll deleted file mode 100644 index d23dc32a074..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2003-10-29-CallSiteResolve.ll +++ /dev/null @@ -1,13 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output - -declare int* %bar() - -float* %foo() { - %tmp.11 = invoke float* cast (int* ()* %bar to float* ()*)() - to label %invoke_cont except label %X - -invoke_cont: - ret float *%tmp.11 -X: - ret float *null -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2003-11-03-VarargsCallBug.ll b/llvm/test/Regression/Transforms/InstCombine/2003-11-03-VarargsCallBug.ll deleted file mode 100644 index a2e28d97a11..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2003-11-03-VarargsCallBug.ll +++ /dev/null @@ -1,13 +0,0 @@ -; The cast in this testcase is not eliminable on a 32-bit target! -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep inttoptr - -target endian = little -target pointersize = 32 - -declare void %foo(...) - -void %test(long %X) { - %Y = cast long %X to int* - call void (...)* %foo(int* %Y) - ret void -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2003-11-13-ConstExprCastCall.ll b/llvm/test/Regression/Transforms/InstCombine/2003-11-13-ConstExprCastCall.ll deleted file mode 100644 index d257286d859..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2003-11-13-ConstExprCastCall.ll +++ /dev/null @@ -1,9 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep call | notcast - -declare void %free(sbyte*) - -void %test(int* %X) { - call int (...)* cast (void (sbyte*)* %free to int (...)*)(int * %X) - ret void -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/2004-01-13-InstCombineInvokePHI.ll b/llvm/test/Regression/Transforms/InstCombine/2004-01-13-InstCombineInvokePHI.ll deleted file mode 100644 index ff90c32dafa..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2004-01-13-InstCombineInvokePHI.ll +++ /dev/null @@ -1,24 +0,0 @@ -; Test for a problem afflicting several C++ programs in the testsuite. The -; instcombine pass is trying to get rid of the cast in the invoke instruction, -; inserting a cast of the return value after the PHI instruction, but which is -; used by the PHI instruction. This is bad: because of the semantics of the -; invoke instruction, we really cannot perform this transformation at all at -; least without splitting the critical edge. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output - -declare sbyte* %test() - -int %foo() { -entry: - br bool true, label %cont, label %call -call: - %P = invoke int*()* cast (sbyte*()* %test to int*()*)() - to label %cont except label %N -cont: - %P2 = phi int* [%P, %call], [null, %entry] - %V = load int* %P2 - ret int %V -N: - ret int 0 -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2004-02-23-ShiftShiftOverflow.ll b/llvm/test/Regression/Transforms/InstCombine/2004-02-23-ShiftShiftOverflow.ll deleted file mode 100644 index 85095bf0057..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2004-02-23-ShiftShiftOverflow.ll +++ /dev/null @@ -1,15 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep 34 - -int %test(int %X) { - ; Do not fold into shr X, 34, as this uses undefined behavior! - %Y = shr int %X, ubyte 17 - %Z = shr int %Y, ubyte 17 - ret int %Z -} - -int %test2(int %X) { - ; Do not fold into shl X, 34, as this uses undefined behavior! - %Y = shl int %X, ubyte 17 - %Z = shl int %Y, ubyte 17 - ret int %Z -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2004-03-13-InstCombineInfLoop.ll b/llvm/test/Regression/Transforms/InstCombine/2004-03-13-InstCombineInfLoop.ll deleted file mode 100644 index fd7a2e346c9..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2004-03-13-InstCombineInfLoop.ll +++ /dev/null @@ -1,13 +0,0 @@ -; This testcase caused the combiner to go into an infinite loop, moving the -; cast back and forth, changing the seteq to operate on int vs uint and back. - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output - -bool %test(uint %A, int %B) { - %C = sub uint 0, %A - %Cc = cast uint %C to int - %D = sub int 0, %B - %E = seteq int %Cc, %D - ret bool %E -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/2004-04-04-InstCombineReplaceAllUsesWith.ll b/llvm/test/Regression/Transforms/InstCombine/2004-04-04-InstCombineReplaceAllUsesWith.ll deleted file mode 100644 index 4c6ff1b52bf..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2004-04-04-InstCombineReplaceAllUsesWith.ll +++ /dev/null @@ -1,8 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output - -int %test() { - ret int 0 -Loop: - %X = add int %X, 1 - br label %Loop -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2004-05-07-UnsizedCastLoad.ll b/llvm/test/Regression/Transforms/InstCombine/2004-05-07-UnsizedCastLoad.ll deleted file mode 100644 index 8e8f019c661..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2004-05-07-UnsizedCastLoad.ll +++ /dev/null @@ -1,9 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output - -%Ty = type opaque - -int %test(%Ty *%X) { - %Y = cast %Ty* %X to int* - %Z = load int* %Y - ret int %Z -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2004-07-27-ConstantExprMul.ll b/llvm/test/Regression/Transforms/InstCombine/2004-07-27-ConstantExprMul.ll deleted file mode 100644 index 7994d45c9f4..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2004-07-27-ConstantExprMul.ll +++ /dev/null @@ -1,8 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output - -%p = weak global int 0 - -int %test(int %x) { - %y = mul int %x, cast (int* %p to int) - ret int %y -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2004-08-09-RemInfLoop.llx b/llvm/test/Regression/Transforms/InstCombine/2004-08-09-RemInfLoop.llx deleted file mode 100644 index 98b35fe3cba..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2004-08-09-RemInfLoop.llx +++ /dev/null @@ -1,8 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine - -; This testcase should not send the instcombiner into an infinite loop! - -int %test(int %X) { - %Y = rem int %X, 0 - ret int %Y -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2004-08-10-BoolSetCC.ll b/llvm/test/Regression/Transforms/InstCombine/2004-08-10-BoolSetCC.ll deleted file mode 100644 index e1144b61b0e..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2004-08-10-BoolSetCC.ll +++ /dev/null @@ -1,6 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep 'ret i1 false' -bool %test(bool %V) { - %Y = setlt bool %V, false - ret bool %Y -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/2004-09-20-BadLoadCombine.llx b/llvm/test/Regression/Transforms/InstCombine/2004-09-20-BadLoadCombine.llx deleted file mode 100644 index 3fcbb88e2de..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2004-09-20-BadLoadCombine.llx +++ /dev/null @@ -1,20 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -mem2reg | llvm-dis | not grep 'int 1' - -; When propagating the load through the select, make sure that the load is -; inserted where the original load was, not where the select is. Not doing -; so could produce incorrect results! - -implementation - -int %test(bool %C) { - %X = alloca int - %X2 = alloca int - store int 1, int* %X - store int 2, int* %X2 - - %Y = select bool %C, int* %X, int* %X2 - store int 3, int* %X - %Z = load int* %Y - ret int %Z -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/2004-09-20-BadLoadCombine2.llx b/llvm/test/Regression/Transforms/InstCombine/2004-09-20-BadLoadCombine2.llx deleted file mode 100644 index 83acd702c66..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2004-09-20-BadLoadCombine2.llx +++ /dev/null @@ -1,24 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -mem2reg -simplifycfg | llvm-dis | \ -; RUN: grep -v store | not grep 'int 1' - -; Test to make sure that instcombine does not accidentally propagate the load -; into the PHI, which would break the program. - -int %test(bool %C) { -entry: - %X = alloca int - %X2 = alloca int - store int 1, int* %X - store int 2, int* %X2 - br bool %C, label %cond_true.i, label %cond_continue.i - -cond_true.i: - br label %cond_continue.i - -cond_continue.i: - %mem_tmp.i.0 = phi int* [ %X, %cond_true.i ], [ %X2, %entry ] - store int 3, int* %X - %tmp.3 = load int* %mem_tmp.i.0 - ret int %tmp.3 -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/2004-09-28-BadShiftAndSetCC.llx b/llvm/test/Regression/Transforms/InstCombine/2004-09-28-BadShiftAndSetCC.llx deleted file mode 100644 index bb55b5c67ca..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2004-09-28-BadShiftAndSetCC.llx +++ /dev/null @@ -1,9 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep -- -65536 - -bool %test(int %tmp.124) { - %tmp.125 = shl int %tmp.124, ubyte 8 - %tmp.126.mask = and int %tmp.125, -16777216 ; <int> [#uses=1] - %tmp.128 = seteq int %tmp.126.mask, 167772160 ; <bool> [#uses=1] - ret bool %tmp.128 -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/2004-11-22-Missed-and-fold.ll b/llvm/test/Regression/Transforms/InstCombine/2004-11-22-Missed-and-fold.ll deleted file mode 100644 index 1a741c996fe..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2004-11-22-Missed-and-fold.ll +++ /dev/null @@ -1,8 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep and - -sbyte %test21(sbyte %A) { - %C = shr sbyte %A, ubyte 7 ;; sign extend - %D = and sbyte %C, 1 ;; chop off sign - ret sbyte %D -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/2004-11-27-SetCCForCastLargerAndConstant.ll b/llvm/test/Regression/Transforms/InstCombine/2004-11-27-SetCCForCastLargerAndConstant.ll deleted file mode 100644 index 17958e198a4..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2004-11-27-SetCCForCastLargerAndConstant.ll +++ /dev/null @@ -1,134 +0,0 @@ -; This test case tests the InstructionCombining optimization that -; reduces things like: -; %Y = cast sbyte %X to uint -; %C = setlt uint %Y, 1024 -; to -; %C = bool true -; It includes test cases for different constant values, signedness of the -; cast operands, and types of setCC operators. In all cases, the cast should -; be eliminated. In many cases the setCC is also eliminated based on the -; constant value and the range of the casted value. -; -; RUN: llvm-upgrade %s -o - | llvm-as | opt -instcombine | llvm-dis | notcast '.*int' - -implementation ; Functions: - -bool %lt_signed_to_large_unsigned(sbyte %SB) { - %Y = cast sbyte %SB to uint ; <uint> [#uses=1] - %C = setlt uint %Y, 1024 ; <bool> [#uses=1] - ret bool %C -} - -bool %lt_signed_to_large_signed(sbyte %SB) { - %Y = cast sbyte %SB to int - %C = setlt int %Y, 1024 - ret bool %C -} - -bool %lt_signed_to_large_negative(sbyte %SB) { - %Y = cast sbyte %SB to int - %C = setlt int %Y, -1024 - ret bool %C -} - -bool %lt_signed_to_small_signed(sbyte %SB) { - %Y = cast sbyte %SB to int - %C = setlt int %Y, 17 - ret bool %C -} - -bool %lt_signed_to_small_negative(sbyte %SB) { - %Y = cast sbyte %SB to int - %C = setlt int %Y, -17 - ret bool %C -} - -bool %lt_unsigned_to_large_unsigned(ubyte %SB) { - %Y = cast ubyte %SB to uint ; <uint> [#uses=1] - %C = setlt uint %Y, 1024 ; <bool> [#uses=1] - ret bool %C -} - -bool %lt_unsigned_to_large_signed(ubyte %SB) { - %Y = cast ubyte %SB to int - %C = setlt int %Y, 1024 - ret bool %C -} - -bool %lt_unsigned_to_large_negative(ubyte %SB) { - %Y = cast ubyte %SB to int - %C = setlt int %Y, -1024 - ret bool %C -} - -bool %lt_unsigned_to_small_unsigned(ubyte %SB) { - %Y = cast ubyte %SB to uint ; <uint> [#uses=1] - %C = setlt uint %Y, 17 ; <bool> [#uses=1] - ret bool %C -} - -bool %lt_unsigned_to_small_negative(ubyte %SB) { - %Y = cast ubyte %SB to int - %C = setlt int %Y, -17 - ret bool %C -} - -bool %gt_signed_to_large_unsigned(sbyte %SB) { - %Y = cast sbyte %SB to uint ; <uint> [#uses=1] - %C = setgt uint %Y, 1024 ; <bool> [#uses=1] - ret bool %C -} - -bool %gt_signed_to_large_signed(sbyte %SB) { - %Y = cast sbyte %SB to int - %C = setgt int %Y, 1024 - ret bool %C -} - -bool %gt_signed_to_large_negative(sbyte %SB) { - %Y = cast sbyte %SB to int - %C = setgt int %Y, -1024 - ret bool %C -} - -bool %gt_signed_to_small_signed(sbyte %SB) { - %Y = cast sbyte %SB to int - %C = setgt int %Y, 17 - ret bool %C -} - -bool %gt_signed_to_small_negative(sbyte %SB) { - %Y = cast sbyte %SB to int - %C = setgt int %Y, -17 - ret bool %C -} - -bool %gt_unsigned_to_large_unsigned(ubyte %SB) { - %Y = cast ubyte %SB to uint ; <uint> [#uses=1] - %C = setgt uint %Y, 1024 ; <bool> [#uses=1] - ret bool %C -} - -bool %gt_unsigned_to_large_signed(ubyte %SB) { - %Y = cast ubyte %SB to int - %C = setgt int %Y, 1024 - ret bool %C -} - -bool %gt_unsigned_to_large_negative(ubyte %SB) { - %Y = cast ubyte %SB to int - %C = setgt int %Y, -1024 - ret bool %C -} - -bool %gt_unsigned_to_small_unsigned(ubyte %SB) { - %Y = cast ubyte %SB to uint ; <uint> [#uses=1] - %C = setgt uint %Y, 17 ; <bool> [#uses=1] - ret bool %C -} - -bool %gt_unsigned_to_small_negative(ubyte %SB) { - %Y = cast ubyte %SB to int - %C = setgt int %Y, -17 - ret bool %C -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2004-12-08-InstCombineCrash.ll b/llvm/test/Regression/Transforms/InstCombine/2004-12-08-InstCombineCrash.ll deleted file mode 100644 index 6e241f4e782..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2004-12-08-InstCombineCrash.ll +++ /dev/null @@ -1,14 +0,0 @@ -; RUN: llvm-upgrade %s -o - | llvm-as | opt -instcombine - - %struct.llvm_java_object_base = type opaque - "java/lang/Object" = type { %struct.llvm_java_object_base } - "java/lang/StringBuffer" = type { "java/lang/Object", int, { "java/lang/Object", uint, [0 x ushort] }*, bool } - -implementation ; Functions: - -void "java/lang/StringBuffer/append(Ljava/lang/String;)Ljava/lang/StringBuffer;"() { -bc0: - %tmp53 = getelementptr "java/lang/StringBuffer"* null, int 0, uint 1 ; <int*> [#uses=1] - store int 0, int* %tmp53 - ret void -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2004-12-08-RemInfiniteLoop.ll b/llvm/test/Regression/Transforms/InstCombine/2004-12-08-RemInfiniteLoop.ll deleted file mode 100644 index fb18ea24c10..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2004-12-08-RemInfiniteLoop.ll +++ /dev/null @@ -1,6 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine - -int %test(int %X) { - %Y = rem int %X, undef - ret int %Y -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2005-03-04-ShiftOverflow.ll b/llvm/test/Regression/Transforms/InstCombine/2005-03-04-ShiftOverflow.ll deleted file mode 100644 index c203bb1c442..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2005-03-04-ShiftOverflow.ll +++ /dev/null @@ -1,7 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep 'ret bool false' -bool %test(ulong %tmp.169) { - %tmp.1710 = shr ulong %tmp.169, ubyte 1 - %tmp.1912 = setgt ulong %tmp.1710, 0 - ret bool %tmp.1912 -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/2005-04-07-UDivSelectCrash.ll b/llvm/test/Regression/Transforms/InstCombine/2005-04-07-UDivSelectCrash.ll deleted file mode 100644 index 8e523d3faef..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2005-04-07-UDivSelectCrash.ll +++ /dev/null @@ -1,7 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output - -uint %test(bool %C, uint %tmp.15) { - %tmp.16 = select bool %C, uint 8, uint 1 - %tmp.18 = div uint %tmp.15, %tmp.16 - ret uint %tmp.18 -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2005-06-15-DivSelectCrash.ll b/llvm/test/Regression/Transforms/InstCombine/2005-06-15-DivSelectCrash.ll deleted file mode 100644 index fa862fed2a8..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2005-06-15-DivSelectCrash.ll +++ /dev/null @@ -1,9 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output - -int %_Z13func_31585107li(int %l_39521025, int %l_59244666) { - %shortcirc_val = select bool false, uint 1, uint 0 ; <uint> [#uses=1] - %tmp.8 = div uint 0, %shortcirc_val ; <uint> [#uses=1] - %tmp.9 = seteq uint %tmp.8, 0 ; <bool> [#uses=1] - %retval = select bool %tmp.9, int %l_59244666, int -1621308501 ; <int> [#uses=1] - ret int %retval -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2005-06-15-ShiftSetCCCrash.ll b/llvm/test/Regression/Transforms/InstCombine/2005-06-15-ShiftSetCCCrash.ll deleted file mode 100644 index deb61246cf3..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2005-06-15-ShiftSetCCCrash.ll +++ /dev/null @@ -1,8 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output -; PR577 - -bool %test() { - %tmp.3 = shl int 0, ubyte 41 ; <int> [#uses=1] - %tmp.4 = setne int %tmp.3, 0 ; <bool> [#uses=1] - ret bool %tmp.4 -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2005-06-16-RangeCrash.ll b/llvm/test/Regression/Transforms/InstCombine/2005-06-16-RangeCrash.ll deleted file mode 100644 index ef443012252..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2005-06-16-RangeCrash.ll +++ /dev/null @@ -1,7 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output -; PR585 -bool %test() { - %tmp.26 = div int 0, -2147483648 ; <int> [#uses=1] - %tmp.27 = seteq int %tmp.26, 0 ; <bool> [#uses=1] - ret bool %tmp.27 -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2005-06-16-SetCCOrSetCCMiscompile.ll b/llvm/test/Regression/Transforms/InstCombine/2005-06-16-SetCCOrSetCCMiscompile.ll deleted file mode 100644 index f4d6703873b..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2005-06-16-SetCCOrSetCCMiscompile.ll +++ /dev/null @@ -1,16 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ -; RUN: grep 'ret i1 true' -; PR586 - -%g_07918478 = external global uint ; <uint*> [#uses=1] - -implementation ; Functions: - -bool %test() { - %tmp.0 = load uint* %g_07918478 ; <uint> [#uses=2] - %tmp.1 = setne uint %tmp.0, 0 ; <bool> [#uses=1] - %tmp.4 = setlt uint %tmp.0, 4111 ; <bool> [#uses=1] - %bothcond = or bool %tmp.1, %tmp.4 ; <bool> [#uses=1] - ret bool %bothcond -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/2005-07-07-DeadPHILoop.ll b/llvm/test/Regression/Transforms/InstCombine/2005-07-07-DeadPHILoop.ll deleted file mode 100644 index be9837dc43a..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2005-07-07-DeadPHILoop.ll +++ /dev/null @@ -1,13 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output - -; This example caused instcombine to spin into an infinite loop. - -void %test(int *%P) { - ret void -Dead: - %X = phi int [%Y, %Dead] - %Y = div int %X, 10 - store int %Y, int* %P - br label %Dead -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/2006-02-07-SextZextCrash.ll b/llvm/test/Regression/Transforms/InstCombine/2006-02-07-SextZextCrash.ll deleted file mode 100644 index e06dca914e0..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2006-02-07-SextZextCrash.ll +++ /dev/null @@ -1,22 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output - - %struct.rtx_const = type { uint, { %union.real_extract } } - %struct.rtx_def = type { int, [1 x %union.rtunion_def] } - %union.real_extract = type { double } - %union.rtunion_def = type { uint } - -implementation ; Functions: - -fastcc void %decode_rtx_const(%struct.rtx_def* %x, %struct.rtx_const* %value) { - %tmp.54 = getelementptr %struct.rtx_const* %value, int 0, uint 0 ; <uint*> [#uses=1] - %tmp.56 = getelementptr %struct.rtx_def* %x, int 0, uint 0 ; <int*> [#uses=1] - %tmp.57 = load int* %tmp.56 ; <int> [#uses=1] - %tmp.58 = shl int %tmp.57, ubyte 8 ; <int> [#uses=1] - %tmp.59 = shr int %tmp.58, ubyte 24 ; <int> [#uses=1] - %tmp.60 = cast int %tmp.59 to ushort ; <ushort> [#uses=1] - %tmp.61 = cast ushort %tmp.60 to uint ; <uint> [#uses=1] - %tmp.62 = shl uint %tmp.61, ubyte 16 ; <uint> [#uses=1] - %tmp.65 = or uint 0, %tmp.62 ; <uint> [#uses=1] - store uint %tmp.65, uint* %tmp.54 - ret void -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2006-02-13-DemandedMiscompile.ll b/llvm/test/Regression/Transforms/InstCombine/2006-02-13-DemandedMiscompile.ll deleted file mode 100644 index f3457751492..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2006-02-13-DemandedMiscompile.ll +++ /dev/null @@ -1,9 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep undef - -int %test(sbyte %A) { - %B = cast sbyte %A to int - %C = shr int %B, ubyte 8 - ret int %C -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/2006-02-28-Crash.ll b/llvm/test/Regression/Transforms/InstCombine/2006-02-28-Crash.ll deleted file mode 100644 index 241c254dc4a..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2006-02-28-Crash.ll +++ /dev/null @@ -1,6 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output -int %test() { - %tmp203 = seteq uint 1, 2 ; <bool> [#uses=1] - %tmp203 = cast bool %tmp203 to int ; <int> [#uses=1] - ret int %tmp203 -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2006-03-30-ExtractElement.ll b/llvm/test/Regression/Transforms/InstCombine/2006-03-30-ExtractElement.ll deleted file mode 100644 index 314946085f5..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2006-03-30-ExtractElement.ll +++ /dev/null @@ -1,7 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output - -float %test(<4 x float> %V) { - %V2 = insertelement <4 x float> %V, float 1.0, uint 3 - %R = extractelement <4 x float> %V2, uint 2 - ret float %R -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2006-04-01-InfLoop.ll b/llvm/test/Regression/Transforms/InstCombine/2006-04-01-InfLoop.ll deleted file mode 100644 index 260b9b3ff4c..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2006-04-01-InfLoop.ll +++ /dev/null @@ -1,441 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output - - %struct.DecRefPicMarking_s = type { int, int, int, int, int, %struct.DecRefPicMarking_s* } - %struct.datapartition = type { %typedef.Bitstream*, %typedef.DecodingEnvironment, int (%struct.syntaxelement*, %struct.img_par*, %struct.inp_par*, %struct.datapartition*)* } - %struct.img_par = type { int, uint, uint, int, int*, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, [16 x [16 x ushort]], [6 x [32 x int]], [16 x [16 x int]], [4 x [12 x [4 x [4 x int]]]], [16 x int], int**, int*, int***, int**, int, int, int, int, %typedef.Slice*, %struct.macroblock*, int, int, int, int, int, int, int**, %struct.DecRefPicMarking_s*, int, int, int, int, int, int, int, uint, int, int, int, uint, uint, uint, uint, int, [3 x int], int, uint, int, uint, int, int, int, uint, uint, int, int, int, int, uint, uint, int***, int***, int****, int, int, uint, int, int, int, int, uint, uint, uint, uint, uint, uint, uint, int, int, int, int, int, int, int, int, int, int, int, uint, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, %struct.timeb, %struct.timeb, int, int, int, int, int, uint, int, int } - %struct.inp_par = type { [100 x sbyte], [100 x sbyte], [100 x sbyte], int, int, int, int, int, int, int } - %struct.macroblock = type { int, int, int, %struct.macroblock*, %struct.macroblock*, int, [2 x [4 x [4 x [2 x int]]]], int, long, long, int, int, [4 x int], [4 x int], int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int } - %struct.pix_pos = type { int, int, int, int, int, int } - %struct.storable_picture = type { uint, int, int, int, int, [50 x [6 x [33 x long]]], [50 x [6 x [33 x long]]], [50 x [6 x [33 x long]]], [50 x [6 x [33 x long]]], uint, int, int, int, int, int, int, int, short, int, int, int, int, int, int, int, uint, uint, ushort**, ushort***, ubyte*, short**, sbyte***, long***, long***, short****, ubyte**, ubyte**, %struct.storable_picture*, %struct.storable_picture*, %struct.storable_picture*, int, int, int, int, int, int, int, int, int, int, int, int, int, [2 x int], int, %struct.DecRefPicMarking_s*, int } - %struct.syntaxelement = type { int, int, int, int, int, uint, int, int, void (int, int, int*, int*)*, void (%struct.syntaxelement*, %struct.inp_par*, %struct.img_par*, %typedef.DecodingEnvironment*)* } - %struct.timeb = type { int, ushort, short, short } - %typedef.BiContextType = type { ushort, ubyte } - %typedef.Bitstream = type { int, int, int, int, ubyte*, int } - %typedef.DecodingEnvironment = type { uint, uint, uint, uint, int, ubyte*, int* } - %typedef.MotionInfoContexts = type { [4 x [11 x %typedef.BiContextType]], [2 x [9 x %typedef.BiContextType]], [2 x [10 x %typedef.BiContextType]], [2 x [6 x %typedef.BiContextType]], [4 x %typedef.BiContextType], [4 x %typedef.BiContextType], [3 x %typedef.BiContextType] } - %typedef.Slice = type { int, int, int, int, uint, int, int, int, int, %struct.datapartition*, %typedef.MotionInfoContexts*, %typedef.TextureInfoContexts*, int, int*, int*, int*, int, int*, int*, int*, int (%struct.img_par*, %struct.inp_par*)*, int, int, int, int } - %typedef.TextureInfoContexts = type { [2 x %typedef.BiContextType], [4 x %typedef.BiContextType], [3 x [4 x %typedef.BiContextType]], [10 x [4 x %typedef.BiContextType]], [10 x [15 x %typedef.BiContextType]], [10 x [15 x %typedef.BiContextType]], [10 x [5 x %typedef.BiContextType]], [10 x [5 x %typedef.BiContextType]], [10 x [15 x %typedef.BiContextType]], [10 x [15 x %typedef.BiContextType]] } -%dec_picture = external global %struct.storable_picture* ; <%struct.storable_picture**> [#uses=1] -%last_dquant = external global int ; <int*> [#uses=1] - -implementation ; Functions: - -void %readCBP_CABAC(%struct.syntaxelement* %se, %struct.inp_par* %inp, %struct.img_par* %img.1, %typedef.DecodingEnvironment* %dep_dp) { -entry: - %block_a = alloca %struct.pix_pos ; <%struct.pix_pos*> [#uses=5] - %tmp.1 = getelementptr %struct.img_par* %img.1, int 0, uint 37 ; <%typedef.Slice**> [#uses=1] - %tmp.2 = load %typedef.Slice** %tmp.1 ; <%typedef.Slice*> [#uses=1] - %tmp.3 = getelementptr %typedef.Slice* %tmp.2, int 0, uint 11 ; <%typedef.TextureInfoContexts**> [#uses=1] - %tmp.4 = load %typedef.TextureInfoContexts** %tmp.3 ; <%typedef.TextureInfoContexts*> [#uses=3] - %tmp.6 = getelementptr %struct.img_par* %img.1, int 0, uint 38 ; <%struct.macroblock**> [#uses=1] - %tmp.7 = load %struct.macroblock** %tmp.6 ; <%struct.macroblock*> [#uses=1] - %tmp.9 = getelementptr %struct.img_par* %img.1, int 0, uint 1 ; <uint*> [#uses=1] - %tmp.10 = load uint* %tmp.9 ; <uint> [#uses=1] - %tmp.11 = cast uint %tmp.10 to int ; <int> [#uses=1] - %tmp.12 = getelementptr %struct.macroblock* %tmp.7, int %tmp.11 ; <%struct.macroblock*> [#uses=18] - br label %loopentry.0 - -loopentry.0: ; preds = %loopexit.1, %entry - %mask.1 = phi int [ undef, %entry ], [ %mask.0, %loopexit.1 ] ; <int> [#uses=1] - %cbp_bit.1 = phi int [ undef, %entry ], [ %cbp_bit.0, %loopexit.1 ] ; <int> [#uses=1] - %cbp.2 = phi int [ 0, %entry ], [ %cbp.1, %loopexit.1 ] ; <int> [#uses=5] - %curr_cbp_ctx.1 = phi int [ undef, %entry ], [ %curr_cbp_ctx.0, %loopexit.1 ] ; <int> [#uses=1] - %b.2 = phi int [ undef, %entry ], [ %b.1, %loopexit.1 ] ; <int> [#uses=1] - %a.2 = phi int [ undef, %entry ], [ %a.1, %loopexit.1 ] ; <int> [#uses=1] - %mb_y.0 = phi int [ 0, %entry ], [ %tmp.152, %loopexit.1 ] ; <int> [#uses=7] - %mb_x.0 = phi int [ undef, %entry ], [ %mb_x.1, %loopexit.1 ] ; <int> [#uses=0] - %tmp.14 = setle int %mb_y.0, 3 ; <bool> [#uses=2] - %tmp.15 = cast bool %tmp.14 to int ; <int> [#uses=0] - br bool %tmp.14, label %no_exit.0, label %loopexit.0 - -no_exit.0: ; preds = %loopentry.0 - br label %loopentry.1 - -loopentry.1: ; preds = %endif.7, %no_exit.0 - %mask.0 = phi int [ %mask.1, %no_exit.0 ], [ %tmp.131, %endif.7 ] ; <int> [#uses=1] - %cbp_bit.0 = phi int [ %cbp_bit.1, %no_exit.0 ], [ %tmp.142, %endif.7 ] ; <int> [#uses=1] - %cbp.1 = phi int [ %cbp.2, %no_exit.0 ], [ %cbp.0, %endif.7 ] ; <int> [#uses=5] - %curr_cbp_ctx.0 = phi int [ %curr_cbp_ctx.1, %no_exit.0 ], [ %tmp.125, %endif.7 ] ; <int> [#uses=1] - %b.1 = phi int [ %b.2, %no_exit.0 ], [ %b.0, %endif.7 ] ; <int> [#uses=1] - %a.1 = phi int [ %a.2, %no_exit.0 ], [ %a.0, %endif.7 ] ; <int> [#uses=1] - %mb_x.1 = phi int [ 0, %no_exit.0 ], [ %tmp.150, %endif.7 ] ; <int> [#uses=9] - %tmp.17 = setle int %mb_x.1, 3 ; <bool> [#uses=2] - %tmp.18 = cast bool %tmp.17 to int ; <int> [#uses=0] - br bool %tmp.17, label %no_exit.1, label %loopexit.1 - -no_exit.1: ; preds = %loopentry.1 - %tmp.20 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 12 ; <[4 x int]*> [#uses=1] - %tmp.22 = div int %mb_x.1, 2 ; <int> [#uses=1] - %tmp.24 = add int %tmp.22, %mb_y.0 ; <int> [#uses=1] - %tmp.25 = getelementptr [4 x int]* %tmp.20, int 0, int %tmp.24 ; <int*> [#uses=1] - %tmp.26 = load int* %tmp.25 ; <int> [#uses=1] - %tmp.27 = seteq int %tmp.26, 11 ; <bool> [#uses=2] - %tmp.28 = cast bool %tmp.27 to int ; <int> [#uses=0] - br bool %tmp.27, label %then.0, label %else.0 - -then.0: ; preds = %no_exit.1 - br label %endif.0 - -else.0: ; preds = %no_exit.1 - br label %endif.0 - -endif.0: ; preds = %else.0, %then.0 - %tmp.30 = seteq int %mb_y.0, 0 ; <bool> [#uses=2] - %tmp.31 = cast bool %tmp.30 to int ; <int> [#uses=0] - br bool %tmp.30, label %then.1, label %else.1 - -then.1: ; preds = %endif.0 - %tmp.33 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 3 ; <%struct.macroblock**> [#uses=1] - %tmp.34 = load %struct.macroblock** %tmp.33 ; <%struct.macroblock*> [#uses=1] - %tmp.35 = cast %struct.macroblock* %tmp.34 to sbyte* ; <sbyte*> [#uses=1] - %tmp.36 = seteq sbyte* %tmp.35, null ; <bool> [#uses=2] - %tmp.37 = cast bool %tmp.36 to int ; <int> [#uses=0] - br bool %tmp.36, label %then.2, label %else.2 - -then.2: ; preds = %then.1 - br label %endif.1 - -else.2: ; preds = %then.1 - %tmp.39 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 3 ; <%struct.macroblock**> [#uses=1] - %tmp.40 = load %struct.macroblock** %tmp.39 ; <%struct.macroblock*> [#uses=1] - %tmp.41 = getelementptr %struct.macroblock* %tmp.40, int 0, uint 5 ; <int*> [#uses=1] - %tmp.42 = load int* %tmp.41 ; <int> [#uses=1] - %tmp.43 = seteq int %tmp.42, 14 ; <bool> [#uses=2] - %tmp.44 = cast bool %tmp.43 to int ; <int> [#uses=0] - br bool %tmp.43, label %then.3, label %else.3 - -then.3: ; preds = %else.2 - br label %endif.1 - -else.3: ; preds = %else.2 - %tmp.46 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 3 ; <%struct.macroblock**> [#uses=1] - %tmp.47 = load %struct.macroblock** %tmp.46 ; <%struct.macroblock*> [#uses=1] - %tmp.48 = getelementptr %struct.macroblock* %tmp.47, int 0, uint 7 ; <int*> [#uses=1] - %tmp.49 = load int* %tmp.48 ; <int> [#uses=1] - %tmp.51 = div int %mb_x.1, 2 ; <int> [#uses=1] - %tmp.52 = add int %tmp.51, 2 ; <int> [#uses=1] - %tmp.53 = cast int %tmp.52 to ubyte ; <ubyte> [#uses=1] - %tmp.54 = shr int %tmp.49, ubyte %tmp.53 ; <int> [#uses=1] - %tmp.55 = cast int %tmp.54 to uint ; <uint> [#uses=1] - %tmp.57 = xor uint %tmp.55, 1 ; <uint> [#uses=1] - %tmp.58 = cast uint %tmp.57 to int ; <int> [#uses=1] - %tmp.59 = and int %tmp.58, 1 ; <int> [#uses=1] - br label %endif.1 - -else.1: ; preds = %endif.0 - %tmp.62 = div int %mb_x.1, 2 ; <int> [#uses=1] - %tmp.63 = cast int %tmp.62 to ubyte ; <ubyte> [#uses=1] - %tmp.64 = shr int %cbp.1, ubyte %tmp.63 ; <int> [#uses=1] - %tmp.65 = cast int %tmp.64 to uint ; <uint> [#uses=1] - %tmp.67 = xor uint %tmp.65, 1 ; <uint> [#uses=1] - %tmp.68 = cast uint %tmp.67 to int ; <int> [#uses=1] - %tmp.69 = and int %tmp.68, 1 ; <int> [#uses=1] - br label %endif.1 - -endif.1: ; preds = %else.1, %else.3, %then.3, %then.2 - %b.0 = phi int [ 0, %then.2 ], [ 0, %then.3 ], [ %tmp.59, %else.3 ], [ %tmp.69, %else.1 ] ; <int> [#uses=2] - %tmp.71 = seteq int %mb_x.1, 0 ; <bool> [#uses=2] - %tmp.72 = cast bool %tmp.71 to int ; <int> [#uses=0] - br bool %tmp.71, label %then.4, label %else.4 - -then.4: ; preds = %endif.1 - %tmp.74 = getelementptr %struct.img_par* %img.1, int 0, uint 1 ; <uint*> [#uses=1] - %tmp.75 = load uint* %tmp.74 ; <uint> [#uses=1] - %tmp.76 = cast uint %tmp.75 to int ; <int> [#uses=1] - call void %getLuma4x4Neighbour( int %tmp.76, int %mb_x.1, int %mb_y.0, int -1, int 0, %struct.pix_pos* %block_a ) - %tmp.79 = getelementptr %struct.pix_pos* %block_a, int 0, uint 0 ; <int*> [#uses=1] - %tmp.80 = load int* %tmp.79 ; <int> [#uses=1] - %tmp.81 = setne int %tmp.80, 0 ; <bool> [#uses=2] - %tmp.82 = cast bool %tmp.81 to int ; <int> [#uses=0] - br bool %tmp.81, label %then.5, label %else.5 - -then.5: ; preds = %then.4 - %tmp.84 = getelementptr %struct.img_par* %img.1, int 0, uint 38 ; <%struct.macroblock**> [#uses=1] - %tmp.85 = load %struct.macroblock** %tmp.84 ; <%struct.macroblock*> [#uses=1] - %tmp.86 = getelementptr %struct.pix_pos* %block_a, int 0, uint 1 ; <int*> [#uses=1] - %tmp.87 = load int* %tmp.86 ; <int> [#uses=1] - %tmp.88 = getelementptr %struct.macroblock* %tmp.85, int %tmp.87 ; <%struct.macroblock*> [#uses=1] - %tmp.89 = getelementptr %struct.macroblock* %tmp.88, int 0, uint 5 ; <int*> [#uses=1] - %tmp.90 = load int* %tmp.89 ; <int> [#uses=1] - %tmp.91 = seteq int %tmp.90, 14 ; <bool> [#uses=2] - %tmp.92 = cast bool %tmp.91 to int ; <int> [#uses=0] - br bool %tmp.91, label %then.6, label %else.6 - -then.6: ; preds = %then.5 - br label %endif.4 - -else.6: ; preds = %then.5 - %tmp.94 = getelementptr %struct.img_par* %img.1, int 0, uint 38 ; <%struct.macroblock**> [#uses=1] - %tmp.95 = load %struct.macroblock** %tmp.94 ; <%struct.macroblock*> [#uses=1] - %tmp.96 = getelementptr %struct.pix_pos* %block_a, int 0, uint 1 ; <int*> [#uses=1] - %tmp.97 = load int* %tmp.96 ; <int> [#uses=1] - %tmp.98 = getelementptr %struct.macroblock* %tmp.95, int %tmp.97 ; <%struct.macroblock*> [#uses=1] - %tmp.99 = getelementptr %struct.macroblock* %tmp.98, int 0, uint 7 ; <int*> [#uses=1] - %tmp.100 = load int* %tmp.99 ; <int> [#uses=1] - %tmp.101 = getelementptr %struct.pix_pos* %block_a, int 0, uint 3 ; <int*> [#uses=1] - %tmp.102 = load int* %tmp.101 ; <int> [#uses=1] - %tmp.103 = div int %tmp.102, 2 ; <int> [#uses=1] - %tmp.104 = mul int %tmp.103, 2 ; <int> [#uses=1] - %tmp.105 = add int %tmp.104, 1 ; <int> [#uses=1] - %tmp.106 = cast int %tmp.105 to ubyte ; <ubyte> [#uses=1] - %tmp.107 = shr int %tmp.100, ubyte %tmp.106 ; <int> [#uses=1] - %tmp.108 = cast int %tmp.107 to uint ; <uint> [#uses=1] - %tmp.110 = xor uint %tmp.108, 1 ; <uint> [#uses=1] - %tmp.111 = cast uint %tmp.110 to int ; <int> [#uses=1] - %tmp.112 = and int %tmp.111, 1 ; <int> [#uses=1] - br label %endif.4 - -else.5: ; preds = %then.4 - br label %endif.4 - -else.4: ; preds = %endif.1 - %tmp.115 = cast int %mb_y.0 to ubyte ; <ubyte> [#uses=1] - %tmp.116 = shr int %cbp.1, ubyte %tmp.115 ; <int> [#uses=1] - %tmp.117 = cast int %tmp.116 to uint ; <uint> [#uses=1] - %tmp.119 = xor uint %tmp.117, 1 ; <uint> [#uses=1] - %tmp.120 = cast uint %tmp.119 to int ; <int> [#uses=1] - %tmp.121 = and int %tmp.120, 1 ; <int> [#uses=1] - br label %endif.4 - -endif.4: ; preds = %else.4, %else.5, %else.6, %then.6 - %a.0 = phi int [ 0, %then.6 ], [ %tmp.112, %else.6 ], [ 0, %else.5 ], [ %tmp.121, %else.4 ] ; <int> [#uses=2] - %tmp.123 = mul int %b.0, 2 ; <int> [#uses=1] - %tmp.125 = add int %tmp.123, %a.0 ; <int> [#uses=2] - %tmp.127 = div int %mb_x.1, 2 ; <int> [#uses=1] - %tmp.129 = add int %tmp.127, %mb_y.0 ; <int> [#uses=1] - %tmp.130 = cast int %tmp.129 to ubyte ; <ubyte> [#uses=1] - %tmp.131 = shl int 1, ubyte %tmp.130 ; <int> [#uses=2] - %tmp.135 = getelementptr %typedef.TextureInfoContexts* %tmp.4, int 0, uint 2 ; <[3 x [4 x %typedef.BiContextType]]*> [#uses=1] - %tmp.136 = getelementptr [3 x [4 x %typedef.BiContextType]]* %tmp.135, int 0, int 0 ; <[4 x %typedef.BiContextType]*> [#uses=1] - %tmp.137 = getelementptr [4 x %typedef.BiContextType]* %tmp.136, int 0, int 0 ; <%typedef.BiContextType*> [#uses=1] - %tmp.139 = cast int %tmp.125 to uint ; <uint> [#uses=1] - %tmp.140 = cast uint %tmp.139 to int ; <int> [#uses=1] - %tmp.141 = getelementptr %typedef.BiContextType* %tmp.137, int %tmp.140 ; <%typedef.BiContextType*> [#uses=1] - %tmp.132 = call uint %biari_decode_symbol( %typedef.DecodingEnvironment* %dep_dp, %typedef.BiContextType* %tmp.141 ) ; <uint> [#uses=1] - %tmp.142 = cast uint %tmp.132 to int ; <int> [#uses=2] - %tmp.144 = setne int %tmp.142, 0 ; <bool> [#uses=2] - %tmp.145 = cast bool %tmp.144 to int ; <int> [#uses=0] - br bool %tmp.144, label %then.7, label %endif.7 - -then.7: ; preds = %endif.4 - %tmp.148 = add int %cbp.1, %tmp.131 ; <int> [#uses=1] - br label %endif.7 - -endif.7: ; preds = %then.7, %endif.4 - %cbp.0 = phi int [ %tmp.148, %then.7 ], [ %cbp.1, %endif.4 ] ; <int> [#uses=1] - %tmp.150 = add int %mb_x.1, 2 ; <int> [#uses=1] - br label %loopentry.1 - -loopexit.1: ; preds = %loopentry.1 - %tmp.152 = add int %mb_y.0, 2 ; <int> [#uses=1] - br label %loopentry.0 - -loopexit.0: ; preds = %loopentry.0 - %tmp.153 = load %struct.storable_picture** %dec_picture ; <%struct.storable_picture*> [#uses=1] - %tmp.154 = getelementptr %struct.storable_picture* %tmp.153, int 0, uint 45 ; <int*> [#uses=1] - %tmp.155 = load int* %tmp.154 ; <int> [#uses=1] - %tmp.156 = setne int %tmp.155, 0 ; <bool> [#uses=2] - %tmp.157 = cast bool %tmp.156 to int ; <int> [#uses=0] - br bool %tmp.156, label %then.8, label %endif.8 - -then.8: ; preds = %loopexit.0 - %tmp.159 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 3 ; <%struct.macroblock**> [#uses=1] - %tmp.160 = load %struct.macroblock** %tmp.159 ; <%struct.macroblock*> [#uses=1] - %tmp.161 = cast %struct.macroblock* %tmp.160 to sbyte* ; <sbyte*> [#uses=1] - %tmp.162 = setne sbyte* %tmp.161, null ; <bool> [#uses=2] - %tmp.163 = cast bool %tmp.162 to int ; <int> [#uses=0] - br bool %tmp.162, label %then.9, label %endif.9 - -then.9: ; preds = %then.8 - %tmp.165 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 3 ; <%struct.macroblock**> [#uses=1] - %tmp.166 = load %struct.macroblock** %tmp.165 ; <%struct.macroblock*> [#uses=1] - %tmp.167 = getelementptr %struct.macroblock* %tmp.166, int 0, uint 5 ; <int*> [#uses=1] - %tmp.168 = load int* %tmp.167 ; <int> [#uses=1] - %tmp.169 = seteq int %tmp.168, 14 ; <bool> [#uses=2] - %tmp.170 = cast bool %tmp.169 to int ; <int> [#uses=0] - br bool %tmp.169, label %then.10, label %else.7 - -then.10: ; preds = %then.9 - br label %endif.9 - -else.7: ; preds = %then.9 - %tmp.172 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 3 ; <%struct.macroblock**> [#uses=1] - %tmp.173 = load %struct.macroblock** %tmp.172 ; <%struct.macroblock*> [#uses=1] - %tmp.174 = getelementptr %struct.macroblock* %tmp.173, int 0, uint 7 ; <int*> [#uses=1] - %tmp.175 = load int* %tmp.174 ; <int> [#uses=1] - %tmp.176 = setgt int %tmp.175, 15 ; <bool> [#uses=1] - %tmp.177 = cast bool %tmp.176 to int ; <int> [#uses=1] - br label %endif.9 - -endif.9: ; preds = %else.7, %then.10, %then.8 - %b.4 = phi int [ 1, %then.10 ], [ %tmp.177, %else.7 ], [ 0, %then.8 ] ; <int> [#uses=1] - %tmp.179 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 4 ; <%struct.macroblock**> [#uses=1] - %tmp.180 = load %struct.macroblock** %tmp.179 ; <%struct.macroblock*> [#uses=1] - %tmp.181 = cast %struct.macroblock* %tmp.180 to sbyte* ; <sbyte*> [#uses=1] - %tmp.182 = setne sbyte* %tmp.181, null ; <bool> [#uses=2] - %tmp.183 = cast bool %tmp.182 to int ; <int> [#uses=0] - br bool %tmp.182, label %then.11, label %endif.11 - -then.11: ; preds = %endif.9 - %tmp.185 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 4 ; <%struct.macroblock**> [#uses=1] - %tmp.186 = load %struct.macroblock** %tmp.185 ; <%struct.macroblock*> [#uses=1] - %tmp.187 = getelementptr %struct.macroblock* %tmp.186, int 0, uint 5 ; <int*> [#uses=1] - %tmp.188 = load int* %tmp.187 ; <int> [#uses=1] - %tmp.189 = seteq int %tmp.188, 14 ; <bool> [#uses=2] - %tmp.190 = cast bool %tmp.189 to int ; <int> [#uses=0] - br bool %tmp.189, label %then.12, label %else.8 - -then.12: ; preds = %then.11 - br label %endif.11 - -else.8: ; preds = %then.11 - %tmp.192 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 4 ; <%struct.macroblock**> [#uses=1] - %tmp.193 = load %struct.macroblock** %tmp.192 ; <%struct.macroblock*> [#uses=1] - %tmp.194 = getelementptr %struct.macroblock* %tmp.193, int 0, uint 7 ; <int*> [#uses=1] - %tmp.195 = load int* %tmp.194 ; <int> [#uses=1] - %tmp.196 = setgt int %tmp.195, 15 ; <bool> [#uses=1] - %tmp.197 = cast bool %tmp.196 to int ; <int> [#uses=1] - br label %endif.11 - -endif.11: ; preds = %else.8, %then.12, %endif.9 - %a.4 = phi int [ 1, %then.12 ], [ %tmp.197, %else.8 ], [ 0, %endif.9 ] ; <int> [#uses=1] - %tmp.199 = mul int %b.4, 2 ; <int> [#uses=1] - %tmp.201 = add int %tmp.199, %a.4 ; <int> [#uses=1] - %tmp.205 = getelementptr %typedef.TextureInfoContexts* %tmp.4, int 0, uint 2 ; <[3 x [4 x %typedef.BiContextType]]*> [#uses=1] - %tmp.206 = getelementptr [3 x [4 x %typedef.BiContextType]]* %tmp.205, int 0, int 1 ; <[4 x %typedef.BiContextType]*> [#uses=1] - %tmp.207 = getelementptr [4 x %typedef.BiContextType]* %tmp.206, int 0, int 0 ; <%typedef.BiContextType*> [#uses=1] - %tmp.209 = cast int %tmp.201 to uint ; <uint> [#uses=1] - %tmp.210 = cast uint %tmp.209 to int ; <int> [#uses=1] - %tmp.211 = getelementptr %typedef.BiContextType* %tmp.207, int %tmp.210 ; <%typedef.BiContextType*> [#uses=1] - %tmp.202 = call uint %biari_decode_symbol( %typedef.DecodingEnvironment* %dep_dp, %typedef.BiContextType* %tmp.211 ) ; <uint> [#uses=1] - %tmp.212 = cast uint %tmp.202 to int ; <int> [#uses=1] - %tmp.214 = setne int %tmp.212, 0 ; <bool> [#uses=2] - %tmp.215 = cast bool %tmp.214 to int ; <int> [#uses=0] - br bool %tmp.214, label %then.13, label %endif.8 - -then.13: ; preds = %endif.11 - %tmp.217 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 3 ; <%struct.macroblock**> [#uses=1] - %tmp.218 = load %struct.macroblock** %tmp.217 ; <%struct.macroblock*> [#uses=1] - %tmp.219 = cast %struct.macroblock* %tmp.218 to sbyte* ; <sbyte*> [#uses=1] - %tmp.220 = setne sbyte* %tmp.219, null ; <bool> [#uses=2] - %tmp.221 = cast bool %tmp.220 to int ; <int> [#uses=0] - br bool %tmp.220, label %then.14, label %endif.14 - -then.14: ; preds = %then.13 - %tmp.223 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 3 ; <%struct.macroblock**> [#uses=1] - %tmp.224 = load %struct.macroblock** %tmp.223 ; <%struct.macroblock*> [#uses=1] - %tmp.225 = getelementptr %struct.macroblock* %tmp.224, int 0, uint 5 ; <int*> [#uses=1] - %tmp.226 = load int* %tmp.225 ; <int> [#uses=1] - %tmp.227 = seteq int %tmp.226, 14 ; <bool> [#uses=2] - %tmp.228 = cast bool %tmp.227 to int ; <int> [#uses=0] - br bool %tmp.227, label %then.15, label %else.9 - -then.15: ; preds = %then.14 - br label %endif.14 - -else.9: ; preds = %then.14 - %tmp.230 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 3 ; <%struct.macroblock**> [#uses=1] - %tmp.231 = load %struct.macroblock** %tmp.230 ; <%struct.macroblock*> [#uses=1] - %tmp.232 = getelementptr %struct.macroblock* %tmp.231, int 0, uint 7 ; <int*> [#uses=1] - %tmp.233 = load int* %tmp.232 ; <int> [#uses=1] - %tmp.234 = setgt int %tmp.233, 15 ; <bool> [#uses=2] - %tmp.235 = cast bool %tmp.234 to int ; <int> [#uses=0] - br bool %tmp.234, label %then.16, label %endif.14 - -then.16: ; preds = %else.9 - %tmp.237 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 3 ; <%struct.macroblock**> [#uses=1] - %tmp.238 = load %struct.macroblock** %tmp.237 ; <%struct.macroblock*> [#uses=1] - %tmp.239 = getelementptr %struct.macroblock* %tmp.238, int 0, uint 7 ; <int*> [#uses=1] - %tmp.240 = load int* %tmp.239 ; <int> [#uses=1] - %tmp.242 = shr int %tmp.240, ubyte 4 ; <int> [#uses=1] - %tmp.243 = seteq int %tmp.242, 2 ; <bool> [#uses=1] - %tmp.244 = cast bool %tmp.243 to int ; <int> [#uses=1] - br label %endif.14 - -endif.14: ; preds = %then.16, %else.9, %then.15, %then.13 - %b.5 = phi int [ 1, %then.15 ], [ %tmp.244, %then.16 ], [ 0, %else.9 ], [ 0, %then.13 ] ; <int> [#uses=1] - %tmp.246 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 4 ; <%struct.macroblock**> [#uses=1] - %tmp.247 = load %struct.macroblock** %tmp.246 ; <%struct.macroblock*> [#uses=1] - %tmp.248 = cast %struct.macroblock* %tmp.247 to sbyte* ; <sbyte*> [#uses=1] - %tmp.249 = setne sbyte* %tmp.248, null ; <bool> [#uses=2] - %tmp.250 = cast bool %tmp.249 to int ; <int> [#uses=0] - br bool %tmp.249, label %then.17, label %endif.17 - -then.17: ; preds = %endif.14 - %tmp.252 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 4 ; <%struct.macroblock**> [#uses=1] - %tmp.253 = load %struct.macroblock** %tmp.252 ; <%struct.macroblock*> [#uses=1] - %tmp.254 = getelementptr %struct.macroblock* %tmp.253, int 0, uint 5 ; <int*> [#uses=1] - %tmp.255 = load int* %tmp.254 ; <int> [#uses=1] - %tmp.256 = seteq int %tmp.255, 14 ; <bool> [#uses=2] - %tmp.257 = cast bool %tmp.256 to int ; <int> [#uses=0] - br bool %tmp.256, label %then.18, label %else.10 - -then.18: ; preds = %then.17 - br label %endif.17 - -else.10: ; preds = %then.17 - %tmp.259 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 4 ; <%struct.macroblock**> [#uses=1] - %tmp.260 = load %struct.macroblock** %tmp.259 ; <%struct.macroblock*> [#uses=1] - %tmp.261 = getelementptr %struct.macroblock* %tmp.260, int 0, uint 7 ; <int*> [#uses=1] - %tmp.262 = load int* %tmp.261 ; <int> [#uses=1] - %tmp.263 = setgt int %tmp.262, 15 ; <bool> [#uses=2] - %tmp.264 = cast bool %tmp.263 to int ; <int> [#uses=0] - br bool %tmp.263, label %then.19, label %endif.17 - -then.19: ; preds = %else.10 - %tmp.266 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 4 ; <%struct.macroblock**> [#uses=1] - %tmp.267 = load %struct.macroblock** %tmp.266 ; <%struct.macroblock*> [#uses=1] - %tmp.268 = getelementptr %struct.macroblock* %tmp.267, int 0, uint 7 ; <int*> [#uses=1] - %tmp.269 = load int* %tmp.268 ; <int> [#uses=1] - %tmp.271 = shr int %tmp.269, ubyte 4 ; <int> [#uses=1] - %tmp.272 = seteq int %tmp.271, 2 ; <bool> [#uses=1] - %tmp.273 = cast bool %tmp.272 to int ; <int> [#uses=1] - br label %endif.17 - -endif.17: ; preds = %then.19, %else.10, %then.18, %endif.14 - %a.5 = phi int [ 1, %then.18 ], [ %tmp.273, %then.19 ], [ 0, %else.10 ], [ 0, %endif.14 ] ; <int> [#uses=1] - %tmp.275 = mul int %b.5, 2 ; <int> [#uses=1] - %tmp.277 = add int %tmp.275, %a.5 ; <int> [#uses=1] - %tmp.281 = getelementptr %typedef.TextureInfoContexts* %tmp.4, int 0, uint 2 ; <[3 x [4 x %typedef.BiContextType]]*> [#uses=1] - %tmp.282 = getelementptr [3 x [4 x %typedef.BiContextType]]* %tmp.281, int 0, int 2 ; <[4 x %typedef.BiContextType]*> [#uses=1] - %tmp.283 = getelementptr [4 x %typedef.BiContextType]* %tmp.282, int 0, int 0 ; <%typedef.BiContextType*> [#uses=1] - %tmp.285 = cast int %tmp.277 to uint ; <uint> [#uses=1] - %tmp.286 = cast uint %tmp.285 to int ; <int> [#uses=1] - %tmp.287 = getelementptr %typedef.BiContextType* %tmp.283, int %tmp.286 ; <%typedef.BiContextType*> [#uses=1] - %tmp.278 = call uint %biari_decode_symbol( %typedef.DecodingEnvironment* %dep_dp, %typedef.BiContextType* %tmp.287 ) ; <uint> [#uses=1] - %tmp.288 = cast uint %tmp.278 to int ; <int> [#uses=1] - %tmp.290 = seteq int %tmp.288, 1 ; <bool> [#uses=2] - %tmp.291 = cast bool %tmp.290 to int ; <int> [#uses=0] - br bool %tmp.290, label %cond_true, label %cond_false - -cond_true: ; preds = %endif.17 - %tmp.293 = add int %cbp.2, 32 ; <int> [#uses=1] - br label %cond_continue - -cond_false: ; preds = %endif.17 - %tmp.295 = add int %cbp.2, 16 ; <int> [#uses=1] - br label %cond_continue - -cond_continue: ; preds = %cond_false, %cond_true - %mem_tmp.0 = phi int [ %tmp.293, %cond_true ], [ %tmp.295, %cond_false ] ; <int> [#uses=1] - br label %endif.8 - -endif.8: ; preds = %cond_continue, %endif.11, %loopexit.0 - %cbp.3 = phi int [ %mem_tmp.0, %cond_continue ], [ %cbp.2, %endif.11 ], [ %cbp.2, %loopexit.0 ] ; <int> [#uses=2] - %tmp.298 = getelementptr %struct.syntaxelement* %se, int 0, uint 1 ; <int*> [#uses=1] - store int %cbp.3, int* %tmp.298 - %tmp.301 = seteq int %cbp.3, 0 ; <bool> [#uses=2] - %tmp.302 = cast bool %tmp.301 to int ; <int> [#uses=0] - br bool %tmp.301, label %then.20, label %return - -then.20: ; preds = %endif.8 - store int 0, int* %last_dquant - ret void - -return: ; preds = %endif.8 - ret void -} - -declare uint %biari_decode_symbol(%typedef.DecodingEnvironment*, %typedef.BiContextType*) - -declare void %getLuma4x4Neighbour(int, int, int, int, int, %struct.pix_pos*) diff --git a/llvm/test/Regression/Transforms/InstCombine/2006-04-28-ShiftShiftLongLong.ll b/llvm/test/Regression/Transforms/InstCombine/2006-04-28-ShiftShiftLongLong.ll deleted file mode 100644 index 12fc742a5fe..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2006-04-28-ShiftShiftLongLong.ll +++ /dev/null @@ -1,10 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep shl && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | notcast - -; This cannot be turned into a sign extending cast! - -long %test(long %X) { - %Y = shl long %X, ubyte 16 - %Z = shr long %Y, ubyte 16 - ret long %Z -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2006-05-04-DemandedBitCrash.ll b/llvm/test/Regression/Transforms/InstCombine/2006-05-04-DemandedBitCrash.ll deleted file mode 100644 index 6f95e925c70..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2006-05-04-DemandedBitCrash.ll +++ /dev/null @@ -1,50 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output - -void %test() { -bb38.i: - %varspec.0.i1014 = cast long 123814269237067777 to ulong ; <ulong> [#uses=1] - %locspec.0.i1015 = cast int 1 to uint ; <uint> [#uses=2] - %tmp51391.i1018 = shr ulong %varspec.0.i1014, ubyte 16 ; <ulong> [#uses=1] - %tmp51392.i1019 = cast ulong %tmp51391.i1018 to uint ; <uint> [#uses=2] - %tmp51392.mask.i1020 = shr uint %tmp51392.i1019, ubyte 29 ; <uint> [#uses=1] - %tmp7.i1021 = and uint %tmp51392.mask.i1020, 1 ; <uint> [#uses=2] - %tmp18.i1026 = shr uint %tmp51392.i1019, ubyte 31 ; <uint> [#uses=2] - %tmp18.i1027 = cast uint %tmp18.i1026 to ubyte ; <ubyte> [#uses=1] - br bool false, label %cond_false1148.i1653, label %bb377.i1259 - -bb377.i1259: ; preds = %bb38.i - br bool false, label %cond_true541.i1317, label %cond_false1148.i1653 - -cond_true541.i1317: ; preds = %bb377.i1259 - %tmp545.i1318 = shr uint %locspec.0.i1015, ubyte 10 ; <uint> [#uses=1] - %tmp550.i1319 = shr uint %locspec.0.i1015, ubyte 4 ; <uint> [#uses=1] - %tmp550551.i1320 = and uint %tmp550.i1319, 63 ; <uint> [#uses=1] - %tmp553.i1321 = setlt uint %tmp550551.i1320, 4 ; <bool> [#uses=1] - %tmp558.i1322 = seteq uint %tmp7.i1021, 0 ; <bool> [#uses=1] - %bothcond.i1326 = or bool %tmp553.i1321, false ; <bool> [#uses=1] - %bothcond1.i1327 = or bool %bothcond.i1326, false ; <bool> [#uses=1] - %bothcond2.not.i1328 = or bool %bothcond1.i1327, false ; <bool> [#uses=1] - %bothcond3.i1329 = or bool %bothcond2.not.i1328, %tmp558.i1322 ; <bool> [#uses=0] - br bool false, label %cond_true583.i1333, label %cond_next592.i1337 - -cond_true583.i1333: ; preds = %cond_true541.i1317 - br bool false, label %cond_true586.i1335, label %cond_next592.i1337 - -cond_true586.i1335: ; preds = %cond_true583.i1333 - br label %cond_true.i - -cond_next592.i1337: ; preds = %cond_true583.i1333, %cond_true541.i1317 - %mask_z.0.i1339 = phi uint [ %tmp18.i1026, %cond_true541.i1317 ], [ 0, %cond_true583.i1333 ] ; <uint> [#uses=0] - %tmp594.i1340 = and uint %tmp545.i1318, 15 ; <uint> [#uses=0] - br label %cond_true.i - -cond_false1148.i1653: ; preds = %bb377.i1259, %bb38.i - %tmp1150.i1654 = seteq uint %tmp7.i1021, 0 ; <bool> [#uses=1] - %tmp1160.i1656 = seteq ubyte %tmp18.i1027, 0 ; <bool> [#uses=1] - %bothcond8.i1658 = or bool %tmp1150.i1654, %tmp1160.i1656 ; <bool> [#uses=1] - %bothcond9.i1659 = or bool %bothcond8.i1658, false ; <bool> [#uses=0] - br label %cond_true.i - -cond_true.i: ; preds = %cond_false1148.i1653, %cond_next592.i1337, %cond_true586.i1335 - ret void -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2006-05-06-Infloop.ll b/llvm/test/Regression/Transforms/InstCombine/2006-05-06-Infloop.ll deleted file mode 100644 index ef05e6b3542..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2006-05-06-Infloop.ll +++ /dev/null @@ -1,522 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output - - %struct.gs_matrix = type { float, int, float, int, float, int, float, int, float, int, float, int } - %struct.gx_bitmap = type { ubyte*, int, int, int } - %struct.gx_device = type { int, %struct.gx_device_procs*, sbyte*, int, int, float, float, int, ushort, int, int } - %struct.gx_device_memory = type { int, %struct.gx_device_procs*, sbyte*, int, int, float, float, int, ushort, int, int, %struct.gs_matrix, int, ubyte*, ubyte**, int (%struct.gx_device_memory*, int, int, int, int, int)*, int, int, ubyte* } - %struct.gx_device_procs = type { int (%struct.gx_device*)*, void (%struct.gx_device*, %struct.gs_matrix*)*, int (%struct.gx_device*)*, int (%struct.gx_device*)*, int (%struct.gx_device*)*, uint (%struct.gx_device*, ushort, ushort, ushort)*, int (%struct.gx_device*, uint, ushort*)*, int (%struct.gx_device*, int, int, int, int, uint)*, int (%struct.gx_device*, %struct.gx_bitmap*, int, int, int, int, uint, uint)*, int (%struct.gx_device*, ubyte*, int, int, int, int, int, int, uint, uint)*, int (%struct.gx_device*, ubyte*, int, int, int, int, int, int)*, int (%struct.gx_device*, int, int, int, int, uint)*, int (%struct.gx_device*, int, int, int, int, int, int, uint)*, int (%struct.gx_device*, %struct.gx_bitmap*, int, int, int, int, int, int, uint, uint)* } - -implementation ; Functions: - -int %mem_mono_copy_mono(%struct.gx_device* %dev, ubyte* %base, int %sourcex, int %raster, int %x, int %y, int %w, int %h, uint %zero, uint %one) { -entry: - %raster = cast int %raster to uint ; <uint> [#uses=3] - %tmp = seteq uint %one, %zero ; <bool> [#uses=1] - br bool %tmp, label %cond_true, label %cond_next - -cond_true: ; preds = %entry - %tmp6 = tail call int %mem_mono_fill_rectangle( %struct.gx_device* %dev, int %x, int %y, int %w, int %h, uint %zero ) ; <int> [#uses=1] - ret int %tmp6 - -cond_next: ; preds = %entry - %tmp8 = cast %struct.gx_device* %dev to %struct.gx_device_memory* ; <%struct.gx_device_memory*> [#uses=6] - %tmp = getelementptr %struct.gx_device_memory* %tmp8, int 0, uint 15 ; <int (%struct.gx_device_memory*, int, int, int, int, int)**> [#uses=1] - %tmp = load int (%struct.gx_device_memory*, int, int, int, int, int)** %tmp ; <int (%struct.gx_device_memory*, int, int, int, int, int)*> [#uses=2] - %tmp9 = seteq int (%struct.gx_device_memory*, int, int, int, int, int)* %tmp, %mem_no_fault_proc ; <bool> [#uses=1] - br bool %tmp9, label %cond_next46, label %cond_true10 - -cond_true10: ; preds = %cond_next - %tmp16 = add int %x, 7 ; <int> [#uses=1] - %tmp17 = add int %tmp16, %w ; <int> [#uses=1] - %tmp18 = shr int %tmp17, ubyte 3 ; <int> [#uses=1] - %tmp20 = shr int %x, ubyte 3 ; <int> [#uses=2] - %tmp21 = sub int %tmp18, %tmp20 ; <int> [#uses=1] - %tmp27 = tail call int %tmp( %struct.gx_device_memory* %tmp8, int %tmp20, int %y, int %tmp21, int %h, int 1 ) ; <int> [#uses=2] - %tmp29 = setlt int %tmp27, 0 ; <bool> [#uses=1] - br bool %tmp29, label %cond_true30, label %cond_next46 - -cond_true30: ; preds = %cond_true10 - %tmp41 = tail call int %mem_copy_mono_recover( %struct.gx_device* %dev, ubyte* %base, int %sourcex, int %raster, int %x, int %y, int %w, int %h, uint %zero, uint %one, int %tmp27 ) ; <int> [#uses=1] - ret int %tmp41 - -cond_next46: ; preds = %cond_true10, %cond_next - %tmp48 = setgt int %w, 0 ; <bool> [#uses=1] - %tmp53 = setgt int %h, 0 ; <bool> [#uses=1] - %bothcond = and bool %tmp53, %tmp48 ; <bool> [#uses=1] - br bool %bothcond, label %bb58, label %return - -bb58: ; preds = %cond_next46 - %tmp60 = setlt int %x, 0 ; <bool> [#uses=1] - br bool %tmp60, label %return, label %cond_next63 - -cond_next63: ; preds = %bb58 - %tmp65 = getelementptr %struct.gx_device_memory* %tmp8, int 0, uint 3 ; <int*> [#uses=1] - %tmp66 = load int* %tmp65 ; <int> [#uses=1] - %tmp68 = sub int %tmp66, %w ; <int> [#uses=1] - %tmp70 = setlt int %tmp68, %x ; <bool> [#uses=1] - %tmp75 = setlt int %y, 0 ; <bool> [#uses=1] - %bothcond1 = or bool %tmp70, %tmp75 ; <bool> [#uses=1] - br bool %bothcond1, label %return, label %cond_next78 - -cond_next78: ; preds = %cond_next63 - %tmp80 = getelementptr %struct.gx_device_memory* %tmp8, int 0, uint 4 ; <int*> [#uses=1] - %tmp81 = load int* %tmp80 ; <int> [#uses=1] - %tmp83 = sub int %tmp81, %h ; <int> [#uses=1] - %tmp85 = setlt int %tmp83, %y ; <bool> [#uses=1] - br bool %tmp85, label %return, label %bb91 - -bb91: ; preds = %cond_next78 - %tmp93 = shr int %x, ubyte 3 ; <int> [#uses=4] - %tmp = getelementptr %struct.gx_device_memory* %tmp8, int 0, uint 14 ; <ubyte***> [#uses=1] - %tmp = load ubyte*** %tmp ; <ubyte**> [#uses=1] - %tmp96 = getelementptr ubyte** %tmp, int %y ; <ubyte**> [#uses=4] - %tmp98 = load ubyte** %tmp96 ; <ubyte*> [#uses=1] - %tmp100 = getelementptr ubyte* %tmp98, int %tmp93 ; <ubyte*> [#uses=3] - %tmp102 = shr int %sourcex, ubyte 3 ; <int> [#uses=3] - %tmp106 = and int %sourcex, 7 ; <int> [#uses=1] - %tmp107 = sub int 8, %tmp106 ; <int> [#uses=4] - %tmp109 = and int %x, 7 ; <int> [#uses=3] - %tmp110 = sub int 8, %tmp109 ; <int> [#uses=8] - %tmp112 = sub int 8, %tmp110 ; <int> [#uses=1] - %tmp112 = cast int %tmp112 to ubyte ; <ubyte> [#uses=1] - %tmp113464 = shr uint 255, ubyte %tmp112 ; <uint> [#uses=4] - %tmp116 = setgt int %tmp110, %w ; <bool> [#uses=1] - %tmp132 = getelementptr %struct.gx_device_memory* %tmp8, int 0, uint 16 ; <int*> [#uses=2] - br bool %tmp116, label %cond_true117, label %cond_false123 - -cond_true117: ; preds = %bb91 - %tmp119 = cast int %w to ubyte ; <ubyte> [#uses=1] - %tmp120 = shr uint %tmp113464, ubyte %tmp119 ; <uint> [#uses=1] - %tmp122 = sub uint %tmp113464, %tmp120 ; <uint> [#uses=2] - %tmp13315 = load int* %tmp132 ; <int> [#uses=1] - %tmp13416 = seteq int %tmp13315, 0 ; <bool> [#uses=1] - br bool %tmp13416, label %cond_next151, label %cond_true135 - -cond_false123: ; preds = %bb91 - %tmp126 = sub int %w, %tmp110 ; <int> [#uses=1] - %tmp126 = cast int %tmp126 to ubyte ; <ubyte> [#uses=1] - %tmp127 = and ubyte %tmp126, 7 ; <ubyte> [#uses=1] - %tmp128 = shr uint 255, ubyte %tmp127 ; <uint> [#uses=1] - %tmp1295 = sub uint 255, %tmp128 ; <uint> [#uses=2] - %tmp133 = load int* %tmp132 ; <int> [#uses=1] - %tmp134 = seteq int %tmp133, 0 ; <bool> [#uses=1] - br bool %tmp134, label %cond_next151, label %cond_true135 - -cond_true135: ; preds = %cond_false123, %cond_true117 - %rmask.0.0 = phi uint [ undef, %cond_true117 ], [ %tmp1295, %cond_false123 ] ; <uint> [#uses=2] - %mask.1.0 = phi uint [ %tmp122, %cond_true117 ], [ %tmp113464, %cond_false123 ] ; <uint> [#uses=2] - %not.tmp137 = setne uint %zero, 4294967295 ; <bool> [#uses=1] - %tmp140 = cast bool %not.tmp137 to uint ; <uint> [#uses=1] - %zero_addr.0 = xor uint %tmp140, %zero ; <uint> [#uses=2] - %tmp144 = seteq uint %one, 4294967295 ; <bool> [#uses=1] - br bool %tmp144, label %cond_next151, label %cond_true145 - -cond_true145: ; preds = %cond_true135 - %tmp147 = xor uint %one, 1 ; <uint> [#uses=1] - br label %cond_next151 - -cond_next151: ; preds = %cond_true145, %cond_true135, %cond_false123, %cond_true117 - %rmask.0.1 = phi uint [ %rmask.0.0, %cond_true145 ], [ undef, %cond_true117 ], [ %tmp1295, %cond_false123 ], [ %rmask.0.0, %cond_true135 ] ; <uint> [#uses=4] - %mask.1.1 = phi uint [ %mask.1.0, %cond_true145 ], [ %tmp122, %cond_true117 ], [ %tmp113464, %cond_false123 ], [ %mask.1.0, %cond_true135 ] ; <uint> [#uses=4] - %one_addr.0 = phi uint [ %tmp147, %cond_true145 ], [ %one, %cond_true117 ], [ %one, %cond_false123 ], [ %one, %cond_true135 ] ; <uint> [#uses=2] - %zero_addr.1 = phi uint [ %zero_addr.0, %cond_true145 ], [ %zero, %cond_true117 ], [ %zero, %cond_false123 ], [ %zero_addr.0, %cond_true135 ] ; <uint> [#uses=2] - %tmp153 = seteq uint %zero_addr.1, 1 ; <bool> [#uses=2] - %tmp158 = seteq uint %one_addr.0, 0 ; <bool> [#uses=2] - %bothcond2 = or bool %tmp153, %tmp158 ; <bool> [#uses=1] - %iftmp.35.0 = select bool %bothcond2, uint 4294967295, uint 0 ; <uint> [#uses=8] - %tmp167 = seteq uint %zero_addr.1, 0 ; <bool> [#uses=1] - %bothcond3 = or bool %tmp167, %tmp158 ; <bool> [#uses=1] - %iftmp.36.0 = select bool %bothcond3, uint 0, uint 4294967295 ; <uint> [#uses=4] - %tmp186 = seteq uint %one_addr.0, 1 ; <bool> [#uses=1] - %bothcond4 = or bool %tmp153, %tmp186 ; <bool> [#uses=1] - %iftmp.37.0 = select bool %bothcond4, uint 4294967295, uint 0 ; <uint> [#uses=6] - %tmp196 = seteq int %tmp107, %tmp110 ; <bool> [#uses=1] - br bool %tmp196, label %cond_true197, label %cond_false299 - -cond_true197: ; preds = %cond_next151 - %tmp29222 = add int %h, -1 ; <int> [#uses=3] - %tmp29424 = setlt int %tmp29222, 0 ; <bool> [#uses=1] - br bool %tmp29424, label %return, label %cond_true295.preheader - -cond_true249.preheader: ; preds = %cond_true295 - br label %cond_true249 - -cond_true249: ; preds = %cond_true249, %cond_true249.preheader - %indvar = phi uint [ 0, %cond_true249.preheader ], [ %indvar.next, %cond_true249 ] ; <uint> [#uses=2] - %optr.3.2 = phi ubyte* [ %tmp232, %cond_true249 ], [ %dest.1.0, %cond_true249.preheader ] ; <ubyte*> [#uses=1] - %bptr.3.2 = phi ubyte* [ %tmp226, %cond_true249 ], [ %line.1.0, %cond_true249.preheader ] ; <ubyte*> [#uses=1] - %tmp. = add int %tmp109, %w ; <int> [#uses=1] - %indvar = cast uint %indvar to int ; <int> [#uses=1] - %tmp.58 = mul int %indvar, -8 ; <int> [#uses=1] - %tmp.57 = add int %tmp., -16 ; <int> [#uses=1] - %tmp246.2 = add int %tmp.58, %tmp.57 ; <int> [#uses=1] - %tmp225 = cast ubyte* %bptr.3.2 to uint ; <uint> [#uses=1] - %tmp226 = add uint %tmp225, 1 ; <uint> [#uses=1] - %tmp226 = cast uint %tmp226 to ubyte* ; <ubyte*> [#uses=3] - %tmp228 = load ubyte* %tmp226 ; <ubyte> [#uses=1] - %tmp228 = cast ubyte %tmp228 to uint ; <uint> [#uses=1] - %tmp230 = xor uint %tmp228, %iftmp.35.0 ; <uint> [#uses=2] - %tmp231 = cast ubyte* %optr.3.2 to uint ; <uint> [#uses=1] - %tmp232 = add uint %tmp231, 1 ; <uint> [#uses=1] - %tmp232 = cast uint %tmp232 to ubyte* ; <ubyte*> [#uses=4] - %tmp235 = or uint %tmp230, %iftmp.36.0 ; <uint> [#uses=1] - %tmp235 = cast uint %tmp235 to ubyte ; <ubyte> [#uses=1] - %tmp237 = load ubyte* %tmp232 ; <ubyte> [#uses=1] - %tmp238 = and ubyte %tmp235, %tmp237 ; <ubyte> [#uses=1] - %tmp241 = and uint %tmp230, %iftmp.37.0 ; <uint> [#uses=1] - %tmp241 = cast uint %tmp241 to ubyte ; <ubyte> [#uses=1] - %tmp242 = or ubyte %tmp238, %tmp241 ; <ubyte> [#uses=1] - store ubyte %tmp242, ubyte* %tmp232 - %tmp24629 = add int %tmp246.2, -8 ; <int> [#uses=2] - %tmp24831 = setlt int %tmp24629, 0 ; <bool> [#uses=1] - %indvar.next = add uint %indvar, 1 ; <uint> [#uses=1] - br bool %tmp24831, label %bb252.loopexit, label %cond_true249 - -bb252.loopexit: ; preds = %cond_true249 - br label %bb252 - -bb252: ; preds = %cond_true295, %bb252.loopexit - %optr.3.3 = phi ubyte* [ %dest.1.0, %cond_true295 ], [ %tmp232, %bb252.loopexit ] ; <ubyte*> [#uses=1] - %bptr.3.3 = phi ubyte* [ %line.1.0, %cond_true295 ], [ %tmp226, %bb252.loopexit ] ; <ubyte*> [#uses=1] - %tmp246.3 = phi int [ %tmp246, %cond_true295 ], [ %tmp24629, %bb252.loopexit ] ; <int> [#uses=1] - %tmp254 = setgt int %tmp246.3, -8 ; <bool> [#uses=1] - br bool %tmp254, label %cond_true255, label %cond_next280 - -cond_true255: ; preds = %bb252 - %tmp256 = cast ubyte* %bptr.3.3 to uint ; <uint> [#uses=1] - %tmp257 = add uint %tmp256, 1 ; <uint> [#uses=1] - %tmp257 = cast uint %tmp257 to ubyte* ; <ubyte*> [#uses=1] - %tmp259 = load ubyte* %tmp257 ; <ubyte> [#uses=1] - %tmp259 = cast ubyte %tmp259 to uint ; <uint> [#uses=1] - %tmp261 = xor uint %tmp259, %iftmp.35.0 ; <uint> [#uses=2] - %tmp262 = cast ubyte* %optr.3.3 to uint ; <uint> [#uses=1] - %tmp263 = add uint %tmp262, 1 ; <uint> [#uses=1] - %tmp263 = cast uint %tmp263 to ubyte* ; <ubyte*> [#uses=2] - %tmp265 = cast uint %tmp261 to ubyte ; <ubyte> [#uses=1] - %tmp268 = or ubyte %tmp266, %tmp265 ; <ubyte> [#uses=1] - %tmp270 = load ubyte* %tmp263 ; <ubyte> [#uses=1] - %tmp271 = and ubyte %tmp268, %tmp270 ; <ubyte> [#uses=1] - %tmp276 = and uint %tmp274, %tmp261 ; <uint> [#uses=1] - %tmp276 = cast uint %tmp276 to ubyte ; <ubyte> [#uses=1] - %tmp277 = or ubyte %tmp271, %tmp276 ; <ubyte> [#uses=1] - store ubyte %tmp277, ubyte* %tmp263 - br label %cond_next280 - -cond_next280: ; preds = %cond_true255, %bb252 - %tmp281 = cast ubyte** %dest_line.1.0 to uint ; <uint> [#uses=1] - %tmp282 = add uint %tmp281, 4 ; <uint> [#uses=1] - %tmp282 = cast uint %tmp282 to ubyte** ; <ubyte**> [#uses=2] - %tmp284 = load ubyte** %tmp282 ; <ubyte*> [#uses=1] - %tmp286 = getelementptr ubyte* %tmp284, int %tmp93 ; <ubyte*> [#uses=1] - %tmp292 = add int %tmp292.0, -1 ; <int> [#uses=1] - %tmp294 = setlt int %tmp292, 0 ; <bool> [#uses=1] - %indvar.next61 = add uint %indvar60, 1 ; <uint> [#uses=1] - br bool %tmp294, label %return.loopexit, label %cond_true295 - -cond_true295.preheader: ; preds = %cond_true197 - %tmp200 = sub int %w, %tmp110 ; <int> [#uses=1] - %tmp209 = cast uint %mask.1.1 to ubyte ; <ubyte> [#uses=1] - %tmp209not = xor ubyte %tmp209, 255 ; <ubyte> [#uses=1] - %tmp212 = cast uint %iftmp.36.0 to ubyte ; <ubyte> [#uses=2] - %tmp211 = or ubyte %tmp212, %tmp209not ; <ubyte> [#uses=2] - %tmp219 = and uint %iftmp.37.0, %mask.1.1 ; <uint> [#uses=2] - %tmp246 = add int %tmp200, -8 ; <int> [#uses=3] - %tmp248 = setlt int %tmp246, 0 ; <bool> [#uses=1] - %tmp264 = cast uint %rmask.0.1 to ubyte ; <ubyte> [#uses=1] - %tmp264not = xor ubyte %tmp264, 255 ; <ubyte> [#uses=1] - %tmp266 = or ubyte %tmp212, %tmp264not ; <ubyte> [#uses=2] - %tmp274 = and uint %iftmp.37.0, %rmask.0.1 ; <uint> [#uses=2] - br bool %tmp248, label %cond_true295.preheader.split.us, label %cond_true295.preheader.split - -cond_true295.preheader.split.us: ; preds = %cond_true295.preheader - br label %cond_true295.us - -cond_true295.us: ; preds = %cond_next280.us, %cond_true295.preheader.split.us - %indvar86 = phi uint [ 0, %cond_true295.preheader.split.us ], [ %indvar.next87, %cond_next280.us ] ; <uint> [#uses=3] - %dest.1.0.us = phi ubyte* [ %tmp286.us, %cond_next280.us ], [ %tmp100, %cond_true295.preheader.split.us ] ; <ubyte*> [#uses=3] - %dest_line.1.0.us = phi ubyte** [ %tmp282.us, %cond_next280.us ], [ %tmp96, %cond_true295.preheader.split.us ] ; <ubyte**> [#uses=1] - %tmp.89 = sub uint 0, %indvar86 ; <uint> [#uses=1] - %tmp.89 = cast uint %tmp.89 to int ; <int> [#uses=1] - %tmp292.0.us = add int %tmp.89, %tmp29222 ; <int> [#uses=1] - %tmp.91 = mul uint %indvar86, %raster ; <uint> [#uses=1] - %tmp.91 = cast uint %tmp.91 to int ; <int> [#uses=1] - %tmp104.sum101 = add int %tmp102, %tmp.91 ; <int> [#uses=1] - %line.1.0.us = getelementptr ubyte* %base, int %tmp104.sum101 ; <ubyte*> [#uses=2] - %tmp.us = load ubyte* %line.1.0.us ; <ubyte> [#uses=1] - %tmp206.us = cast ubyte %tmp.us to uint ; <uint> [#uses=1] - %tmp208.us = xor uint %tmp206.us, %iftmp.35.0 ; <uint> [#uses=2] - %tmp210.us = cast uint %tmp208.us to ubyte ; <ubyte> [#uses=1] - %tmp213.us = or ubyte %tmp211, %tmp210.us ; <ubyte> [#uses=1] - %tmp215.us = load ubyte* %dest.1.0.us ; <ubyte> [#uses=1] - %tmp216.us = and ubyte %tmp213.us, %tmp215.us ; <ubyte> [#uses=1] - %tmp221.us = and uint %tmp219, %tmp208.us ; <uint> [#uses=1] - %tmp221.us = cast uint %tmp221.us to ubyte ; <ubyte> [#uses=1] - %tmp222.us = or ubyte %tmp216.us, %tmp221.us ; <ubyte> [#uses=1] - store ubyte %tmp222.us, ubyte* %dest.1.0.us - br bool true, label %bb252.us, label %cond_true249.preheader.us - -cond_next280.us: ; preds = %bb252.us, %cond_true255.us - %tmp281.us = cast ubyte** %dest_line.1.0.us to uint ; <uint> [#uses=1] - %tmp282.us = add uint %tmp281.us, 4 ; <uint> [#uses=1] - %tmp282.us = cast uint %tmp282.us to ubyte** ; <ubyte**> [#uses=2] - %tmp284.us = load ubyte** %tmp282.us ; <ubyte*> [#uses=1] - %tmp286.us = getelementptr ubyte* %tmp284.us, int %tmp93 ; <ubyte*> [#uses=1] - %tmp292.us = add int %tmp292.0.us, -1 ; <int> [#uses=1] - %tmp294.us = setlt int %tmp292.us, 0 ; <bool> [#uses=1] - %indvar.next87 = add uint %indvar86, 1 ; <uint> [#uses=1] - br bool %tmp294.us, label %return.loopexit.us, label %cond_true295.us - -cond_true255.us: ; preds = %bb252.us - %tmp256.us = cast ubyte* %bptr.3.3.us to uint ; <uint> [#uses=1] - %tmp257.us = add uint %tmp256.us, 1 ; <uint> [#uses=1] - %tmp257.us = cast uint %tmp257.us to ubyte* ; <ubyte*> [#uses=1] - %tmp259.us = load ubyte* %tmp257.us ; <ubyte> [#uses=1] - %tmp259.us = cast ubyte %tmp259.us to uint ; <uint> [#uses=1] - %tmp261.us = xor uint %tmp259.us, %iftmp.35.0 ; <uint> [#uses=2] - %tmp262.us = cast ubyte* %optr.3.3.us to uint ; <uint> [#uses=1] - %tmp263.us = add uint %tmp262.us, 1 ; <uint> [#uses=1] - %tmp263.us = cast uint %tmp263.us to ubyte* ; <ubyte*> [#uses=2] - %tmp265.us = cast uint %tmp261.us to ubyte ; <ubyte> [#uses=1] - %tmp268.us = or ubyte %tmp266, %tmp265.us ; <ubyte> [#uses=1] - %tmp270.us = load ubyte* %tmp263.us ; <ubyte> [#uses=1] - %tmp271.us = and ubyte %tmp268.us, %tmp270.us ; <ubyte> [#uses=1] - %tmp276.us = and uint %tmp274, %tmp261.us ; <uint> [#uses=1] - %tmp276.us = cast uint %tmp276.us to ubyte ; <ubyte> [#uses=1] - %tmp277.us = or ubyte %tmp271.us, %tmp276.us ; <ubyte> [#uses=1] - store ubyte %tmp277.us, ubyte* %tmp263.us - br label %cond_next280.us - -bb252.us: ; preds = %bb252.loopexit.us, %cond_true295.us - %optr.3.3.us = phi ubyte* [ %dest.1.0.us, %cond_true295.us ], [ undef, %bb252.loopexit.us ] ; <ubyte*> [#uses=1] - %bptr.3.3.us = phi ubyte* [ %line.1.0.us, %cond_true295.us ], [ undef, %bb252.loopexit.us ] ; <ubyte*> [#uses=1] - %tmp246.3.us = phi int [ %tmp246, %cond_true295.us ], [ undef, %bb252.loopexit.us ] ; <int> [#uses=1] - %tmp254.us = setgt int %tmp246.3.us, -8 ; <bool> [#uses=1] - br bool %tmp254.us, label %cond_true255.us, label %cond_next280.us - -cond_true249.us: ; preds = %cond_true249.preheader.us, %cond_true249.us - br bool undef, label %bb252.loopexit.us, label %cond_true249.us - -cond_true249.preheader.us: ; preds = %cond_true295.us - br label %cond_true249.us - -bb252.loopexit.us: ; preds = %cond_true249.us - br label %bb252.us - -return.loopexit.us: ; preds = %cond_next280.us - br label %return.loopexit.split - -cond_true295.preheader.split: ; preds = %cond_true295.preheader - br label %cond_true295 - -cond_true295: ; preds = %cond_true295.preheader.split, %cond_next280 - %indvar60 = phi uint [ 0, %cond_true295.preheader.split ], [ %indvar.next61, %cond_next280 ] ; <uint> [#uses=3] - %dest.1.0 = phi ubyte* [ %tmp286, %cond_next280 ], [ %tmp100, %cond_true295.preheader.split ] ; <ubyte*> [#uses=4] - %dest_line.1.0 = phi ubyte** [ %tmp282, %cond_next280 ], [ %tmp96, %cond_true295.preheader.split ] ; <ubyte**> [#uses=1] - %tmp.63 = sub uint 0, %indvar60 ; <uint> [#uses=1] - %tmp.63 = cast uint %tmp.63 to int ; <int> [#uses=1] - %tmp292.0 = add int %tmp.63, %tmp29222 ; <int> [#uses=1] - %tmp.65 = mul uint %indvar60, %raster ; <uint> [#uses=1] - %tmp.65 = cast uint %tmp.65 to int ; <int> [#uses=1] - %tmp104.sum97 = add int %tmp102, %tmp.65 ; <int> [#uses=1] - %line.1.0 = getelementptr ubyte* %base, int %tmp104.sum97 ; <ubyte*> [#uses=3] - %tmp = load ubyte* %line.1.0 ; <ubyte> [#uses=1] - %tmp206 = cast ubyte %tmp to uint ; <uint> [#uses=1] - %tmp208 = xor uint %tmp206, %iftmp.35.0 ; <uint> [#uses=2] - %tmp210 = cast uint %tmp208 to ubyte ; <ubyte> [#uses=1] - %tmp213 = or ubyte %tmp211, %tmp210 ; <ubyte> [#uses=1] - %tmp215 = load ubyte* %dest.1.0 ; <ubyte> [#uses=1] - %tmp216 = and ubyte %tmp213, %tmp215 ; <ubyte> [#uses=1] - %tmp221 = and uint %tmp219, %tmp208 ; <uint> [#uses=1] - %tmp221 = cast uint %tmp221 to ubyte ; <ubyte> [#uses=1] - %tmp222 = or ubyte %tmp216, %tmp221 ; <ubyte> [#uses=1] - store ubyte %tmp222, ubyte* %dest.1.0 - br bool false, label %bb252, label %cond_true249.preheader - -cond_false299: ; preds = %cond_next151 - %tmp302 = sub int %tmp107, %tmp110 ; <int> [#uses=1] - %tmp303 = and int %tmp302, 7 ; <int> [#uses=3] - %tmp305 = sub int 8, %tmp303 ; <int> [#uses=1] - %tmp45438 = add int %h, -1 ; <int> [#uses=2] - %tmp45640 = setlt int %tmp45438, 0 ; <bool> [#uses=1] - br bool %tmp45640, label %return, label %cond_true457.preheader - -cond_true316: ; preds = %cond_true457 - %tmp318 = cast ubyte %tmp318 to uint ; <uint> [#uses=1] - %tmp320 = shr uint %tmp318, ubyte %tmp319 ; <uint> [#uses=1] - br label %cond_next340 - -cond_false321: ; preds = %cond_true457 - %tmp3188 = cast ubyte %tmp318 to uint ; <uint> [#uses=1] - %tmp325 = shl uint %tmp3188, ubyte %tmp324 ; <uint> [#uses=2] - %tmp326 = cast ubyte* %line.3.0 to uint ; <uint> [#uses=1] - %tmp327 = add uint %tmp326, 1 ; <uint> [#uses=1] - %tmp327 = cast uint %tmp327 to ubyte* ; <ubyte*> [#uses=3] - br bool %tmp330, label %cond_true331, label %cond_next340 - -cond_true331: ; preds = %cond_false321 - %tmp333 = load ubyte* %tmp327 ; <ubyte> [#uses=1] - %tmp333 = cast ubyte %tmp333 to uint ; <uint> [#uses=1] - %tmp335 = shr uint %tmp333, ubyte %tmp319 ; <uint> [#uses=1] - %tmp337 = add uint %tmp335, %tmp325 ; <uint> [#uses=1] - br label %cond_next340 - -cond_next340: ; preds = %cond_true331, %cond_false321, %cond_true316 - %bits.0 = phi uint [ %tmp320, %cond_true316 ], [ %tmp337, %cond_true331 ], [ %tmp325, %cond_false321 ] ; <uint> [#uses=1] - %bptr307.3 = phi ubyte* [ %line.3.0, %cond_true316 ], [ %tmp327, %cond_true331 ], [ %tmp327, %cond_false321 ] ; <ubyte*> [#uses=2] - %tmp343 = xor uint %bits.0, %iftmp.35.0 ; <uint> [#uses=2] - %tmp345 = cast uint %tmp343 to ubyte ; <ubyte> [#uses=1] - %tmp348 = or ubyte %tmp346, %tmp345 ; <ubyte> [#uses=1] - %tmp350 = load ubyte* %dest.3.0 ; <ubyte> [#uses=1] - %tmp351 = and ubyte %tmp348, %tmp350 ; <ubyte> [#uses=1] - %tmp356 = and uint %tmp354, %tmp343 ; <uint> [#uses=1] - %tmp356 = cast uint %tmp356 to ubyte ; <ubyte> [#uses=1] - %tmp357 = or ubyte %tmp351, %tmp356 ; <ubyte> [#uses=1] - store ubyte %tmp357, ubyte* %dest.3.0 - %tmp362 = cast ubyte* %dest.3.0 to uint ; <uint> [#uses=1] - %optr309.3.in51 = add uint %tmp362, 1 ; <uint> [#uses=2] - %optr309.353 = cast uint %optr309.3.in51 to ubyte* ; <ubyte*> [#uses=2] - br bool %tmp39755, label %cond_true398.preheader, label %bb401 - -cond_true398.preheader: ; preds = %cond_next340 - br label %cond_true398 - -cond_true398: ; preds = %cond_true398, %cond_true398.preheader - %indvar66 = phi uint [ 0, %cond_true398.preheader ], [ %indvar.next67, %cond_true398 ] ; <uint> [#uses=3] - %bptr307.4.0 = phi ubyte* [ %tmp370, %cond_true398 ], [ %bptr307.3, %cond_true398.preheader ] ; <ubyte*> [#uses=2] - %optr309.3.0 = phi ubyte* [ %optr309.3, %cond_true398 ], [ %optr309.353, %cond_true398.preheader ] ; <ubyte*> [#uses=2] - %optr309.3.in.0 = add uint %indvar66, %optr309.3.in51 ; <uint> [#uses=1] - %tmp.70 = add int %tmp109, %w ; <int> [#uses=1] - %indvar66 = cast uint %indvar66 to int ; <int> [#uses=1] - %tmp.72 = mul int %indvar66, -8 ; <int> [#uses=1] - %tmp.71 = add int %tmp.70, -8 ; <int> [#uses=1] - %count308.3.0 = add int %tmp.72, %tmp.71 ; <int> [#uses=1] - %tmp366 = load ubyte* %bptr307.4.0 ; <ubyte> [#uses=1] - %tmp366 = cast ubyte %tmp366 to uint ; <uint> [#uses=1] - %tmp369 = cast ubyte* %bptr307.4.0 to uint ; <uint> [#uses=1] - %tmp370 = add uint %tmp369, 1 ; <uint> [#uses=1] - %tmp370 = cast uint %tmp370 to ubyte* ; <ubyte*> [#uses=3] - %tmp372 = load ubyte* %tmp370 ; <ubyte> [#uses=1] - %tmp372 = cast ubyte %tmp372 to uint ; <uint> [#uses=1] - %tmp374463 = shr uint %tmp372, ubyte %tmp319 ; <uint> [#uses=1] - %tmp368 = shl uint %tmp366, ubyte %tmp324 ; <uint> [#uses=1] - %tmp377 = add uint %tmp374463, %tmp368 ; <uint> [#uses=1] - %tmp379 = xor uint %tmp377, %iftmp.35.0 ; <uint> [#uses=2] - %tmp382 = or uint %tmp379, %iftmp.36.0 ; <uint> [#uses=1] - %tmp382 = cast uint %tmp382 to ubyte ; <ubyte> [#uses=1] - %tmp384 = load ubyte* %optr309.3.0 ; <ubyte> [#uses=1] - %tmp385 = and ubyte %tmp382, %tmp384 ; <ubyte> [#uses=1] - %tmp388 = and uint %tmp379, %iftmp.37.0 ; <uint> [#uses=1] - %tmp388 = cast uint %tmp388 to ubyte ; <ubyte> [#uses=1] - %tmp389 = or ubyte %tmp385, %tmp388 ; <ubyte> [#uses=1] - store ubyte %tmp389, ubyte* %optr309.3.0 - %tmp392 = add int %count308.3.0, -8 ; <int> [#uses=2] - %optr309.3.in = add uint %optr309.3.in.0, 1 ; <uint> [#uses=1] - %optr309.3 = cast uint %optr309.3.in to ubyte* ; <ubyte*> [#uses=2] - %tmp397 = setgt int %tmp392, 7 ; <bool> [#uses=1] - %indvar.next67 = add uint %indvar66, 1 ; <uint> [#uses=1] - br bool %tmp397, label %cond_true398, label %bb401.loopexit - -bb401.loopexit: ; preds = %cond_true398 - br label %bb401 - -bb401: ; preds = %bb401.loopexit, %cond_next340 - %count308.3.1 = phi int [ %tmp361, %cond_next340 ], [ %tmp392, %bb401.loopexit ] ; <int> [#uses=2] - %bptr307.4.1 = phi ubyte* [ %bptr307.3, %cond_next340 ], [ %tmp370, %bb401.loopexit ] ; <ubyte*> [#uses=2] - %optr309.3.1 = phi ubyte* [ %optr309.353, %cond_next340 ], [ %optr309.3, %bb401.loopexit ] ; <ubyte*> [#uses=2] - %tmp403 = setgt int %count308.3.1, 0 ; <bool> [#uses=1] - br bool %tmp403, label %cond_true404, label %cond_next442 - -cond_true404: ; preds = %bb401 - %tmp406 = load ubyte* %bptr307.4.1 ; <ubyte> [#uses=1] - %tmp406 = cast ubyte %tmp406 to int ; <int> [#uses=1] - %tmp408 = shl int %tmp406, ubyte %tmp324 ; <int> [#uses=2] - %tmp413 = setgt int %count308.3.1, %tmp303 ; <bool> [#uses=1] - br bool %tmp413, label %cond_true414, label %cond_next422 - -cond_true414: ; preds = %cond_true404 - %tmp409 = cast ubyte* %bptr307.4.1 to uint ; <uint> [#uses=1] - %tmp410 = add uint %tmp409, 1 ; <uint> [#uses=1] - %tmp410 = cast uint %tmp410 to ubyte* ; <ubyte*> [#uses=1] - %tmp416 = load ubyte* %tmp410 ; <ubyte> [#uses=1] - %tmp416 = cast ubyte %tmp416 to uint ; <uint> [#uses=1] - %tmp418 = shr uint %tmp416, ubyte %tmp319 ; <uint> [#uses=1] - %tmp418 = cast uint %tmp418 to int ; <int> [#uses=1] - %tmp420 = add int %tmp418, %tmp408 ; <int> [#uses=1] - br label %cond_next422 - -cond_next422: ; preds = %cond_true414, %cond_true404 - %bits.6 = phi int [ %tmp420, %cond_true414 ], [ %tmp408, %cond_true404 ] ; <int> [#uses=1] - %tmp425 = xor int %bits.6, %iftmp.35.0 ; <int> [#uses=1] - %tmp427 = cast int %tmp425 to ubyte ; <ubyte> [#uses=2] - %tmp430 = or ubyte %tmp428, %tmp427 ; <ubyte> [#uses=1] - %tmp432 = load ubyte* %optr309.3.1 ; <ubyte> [#uses=1] - %tmp433 = and ubyte %tmp430, %tmp432 ; <ubyte> [#uses=1] - %tmp438 = and ubyte %tmp436, %tmp427 ; <ubyte> [#uses=1] - %tmp439 = or ubyte %tmp433, %tmp438 ; <ubyte> [#uses=1] - store ubyte %tmp439, ubyte* %optr309.3.1 - br label %cond_next442 - -cond_next442: ; preds = %cond_next422, %bb401 - %tmp443 = cast ubyte** %dest_line.3.0 to uint ; <uint> [#uses=1] - %tmp444 = add uint %tmp443, 4 ; <uint> [#uses=1] - %tmp444 = cast uint %tmp444 to ubyte** ; <ubyte**> [#uses=2] - %tmp446 = load ubyte** %tmp444 ; <ubyte*> [#uses=1] - %tmp448 = getelementptr ubyte* %tmp446, int %tmp93 ; <ubyte*> [#uses=1] - %tmp454 = add int %tmp454.0, -1 ; <int> [#uses=1] - %tmp456 = setlt int %tmp454, 0 ; <bool> [#uses=1] - %indvar.next75 = add uint %indvar74, 1 ; <uint> [#uses=1] - br bool %tmp456, label %return.loopexit56, label %cond_true457 - -cond_true457.preheader: ; preds = %cond_false299 - %tmp315 = setlt int %tmp107, %tmp110 ; <bool> [#uses=1] - %tmp319 = cast int %tmp303 to ubyte ; <ubyte> [#uses=4] - %tmp324 = cast int %tmp305 to ubyte ; <ubyte> [#uses=3] - %tmp330 = setlt int %tmp107, %w ; <bool> [#uses=1] - %tmp344 = cast uint %mask.1.1 to ubyte ; <ubyte> [#uses=1] - %tmp344not = xor ubyte %tmp344, 255 ; <ubyte> [#uses=1] - %tmp347 = cast uint %iftmp.36.0 to ubyte ; <ubyte> [#uses=2] - %tmp346 = or ubyte %tmp347, %tmp344not ; <ubyte> [#uses=1] - %tmp354 = and uint %iftmp.37.0, %mask.1.1 ; <uint> [#uses=1] - %tmp361 = sub int %w, %tmp110 ; <int> [#uses=2] - %tmp39755 = setgt int %tmp361, 7 ; <bool> [#uses=1] - %iftmp.35.0 = cast uint %iftmp.35.0 to int ; <int> [#uses=1] - %tmp426 = cast uint %rmask.0.1 to ubyte ; <ubyte> [#uses=1] - %tmp426not = xor ubyte %tmp426, 255 ; <ubyte> [#uses=1] - %tmp428 = or ubyte %tmp347, %tmp426not ; <ubyte> [#uses=1] - %tmp436 = and uint %iftmp.37.0, %rmask.0.1 ; <uint> [#uses=1] - %tmp436 = cast uint %tmp436 to ubyte ; <ubyte> [#uses=1] - br label %cond_true457 - -cond_true457: ; preds = %cond_true457.preheader, %cond_next442 - %indvar74 = phi uint [ 0, %cond_true457.preheader ], [ %indvar.next75, %cond_next442 ] ; <uint> [#uses=3] - %dest.3.0 = phi ubyte* [ %tmp448, %cond_next442 ], [ %tmp100, %cond_true457.preheader ] ; <ubyte*> [#uses=3] - %dest_line.3.0 = phi ubyte** [ %tmp444, %cond_next442 ], [ %tmp96, %cond_true457.preheader ] ; <ubyte**> [#uses=1] - %tmp.77 = sub uint 0, %indvar74 ; <uint> [#uses=1] - %tmp.77 = cast uint %tmp.77 to int ; <int> [#uses=1] - %tmp454.0 = add int %tmp.77, %tmp45438 ; <int> [#uses=1] - %tmp.79 = mul uint %indvar74, %raster ; <uint> [#uses=1] - %tmp.79 = cast uint %tmp.79 to int ; <int> [#uses=1] - %tmp104.sum = add int %tmp102, %tmp.79 ; <int> [#uses=1] - %line.3.0 = getelementptr ubyte* %base, int %tmp104.sum ; <ubyte*> [#uses=3] - %tmp318 = load ubyte* %line.3.0 ; <ubyte> [#uses=2] - br bool %tmp315, label %cond_false321, label %cond_true316 - -return.loopexit: ; preds = %cond_next280 - br label %return.loopexit.split - -return.loopexit.split: ; preds = %return.loopexit, %return.loopexit.us - br label %return - -return.loopexit56: ; preds = %cond_next442 - br label %return - -return: ; preds = %return.loopexit56, %return.loopexit.split, %cond_false299, %cond_true197, %cond_next78, %cond_next63, %bb58, %cond_next46 - %retval.0 = phi int [ 0, %cond_next46 ], [ -1, %bb58 ], [ -1, %cond_next63 ], [ -1, %cond_next78 ], [ 0, %cond_true197 ], [ 0, %cond_false299 ], [ 0, %return.loopexit.split ], [ 0, %return.loopexit56 ] ; <int> [#uses=1] - ret int %retval.0 -} - -declare int %mem_no_fault_proc(%struct.gx_device_memory*, int, int, int, int, int) - -declare int %mem_mono_fill_rectangle(%struct.gx_device*, int, int, int, int, uint) - -declare int %mem_copy_mono_recover(%struct.gx_device*, ubyte*, int, int, int, int, int, int, uint, uint, int) diff --git a/llvm/test/Regression/Transforms/InstCombine/2006-05-10-InvalidIndexUndef.ll b/llvm/test/Regression/Transforms/InstCombine/2006-05-10-InvalidIndexUndef.ll deleted file mode 100644 index 8cdaa5841f8..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2006-05-10-InvalidIndexUndef.ll +++ /dev/null @@ -1,9 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep undef -; XFAIL: * - -%str = constant [4 x ubyte] c"str\00" - -ubyte %main() { - %A = load ubyte* getelementptr ([4 x ubyte]* %str, long 0, long 5) - ret ubyte %A -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2006-06-28-infloop.ll b/llvm/test/Regression/Transforms/InstCombine/2006-06-28-infloop.ll deleted file mode 100644 index bd1dbd009c0..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2006-06-28-infloop.ll +++ /dev/null @@ -1,21 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output -target endian = big -target pointersize = 32 -target triple = "powerpc-apple-darwin8" - -implementation ; Functions: - -void %test() { -entry: - %tmp = getelementptr { long, long, long, long }* null, int 0, uint 3 - %tmp = load long* %tmp ; <long> [#uses=1] - %tmp8.ui = load ulong* null ; <ulong> [#uses=1] - %tmp8 = cast ulong %tmp8.ui to long ; <long> [#uses=1] - %tmp9 = and long %tmp8, %tmp ; <long> [#uses=1] - %sext = cast long %tmp9 to int ; <int> [#uses=1] - %tmp27.i = cast int %sext to long ; <long> [#uses=1] - tail call void %foo( uint 0, long %tmp27.i ) - unreachable -} - -declare void %foo(uint, long) diff --git a/llvm/test/Regression/Transforms/InstCombine/2006-09-11-EmptyStructCrash.ll b/llvm/test/Regression/Transforms/InstCombine/2006-09-11-EmptyStructCrash.ll deleted file mode 100644 index a8f9cd41bad..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2006-09-11-EmptyStructCrash.ll +++ /dev/null @@ -1,47 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output -; PR905 - - %RPYTHON_EXCEPTION = type { %RPYTHON_EXCEPTION_VTABLE* } - %RPYTHON_EXCEPTION_VTABLE = type { %RPYTHON_EXCEPTION_VTABLE*, int, int, %RPyOpaque_RuntimeTypeInfo*, %arraytype_Char*, %functiontype_12* } - %RPyOpaque_RuntimeTypeInfo = type opaque* - %arraytype_Char = type { int, [0 x sbyte] } - %fixarray_array1019 = type [1019 x sbyte*] - %functiontype_12 = type %RPYTHON_EXCEPTION* () - %functiontype_14 = type void (%structtype_pypy.rpython.memory.gc.MarkSweepGC*) - %structtype_AddressLinkedListChunk = type { %structtype_AddressLinkedListChunk*, int, %fixarray_array1019 } - %structtype_exceptions.Exception = type { %RPYTHON_EXCEPTION } - %structtype_gc_pool = type { } - %structtype_gc_pool_node = type { %structtype_header*, %structtype_gc_pool_node* } - %structtype_header = type { int, %structtype_header* } - %structtype_pypy.rpython.memory.gc.MarkSweepGC = type { %structtype_exceptions.Exception, int, int, bool, %structtype_gc_pool*, int, %structtype_header*, %structtype_header*, %structtype_gc_pool_node*, double, double } - -implementation ; Functions: - -fastcc void %pypy_MarkSweepGC.collect() { -block0: - %v1221 = load %structtype_AddressLinkedListChunk** null ; <%structtype_AddressLinkedListChunk*> [#uses=1] - %v1222 = setne %structtype_AddressLinkedListChunk* %v1221, null ; <bool> [#uses=1] - br bool %v1222, label %block79, label %block4 - -block4: ; preds = %block0 - ret void - -block22: ; preds = %block79 - ret void - -block67: ; preds = %block79 - %v1459 = load %structtype_gc_pool** null ; <%structtype_gc_pool*> [#uses=1] - %v1460 = cast %structtype_gc_pool* %v1459 to sbyte* ; <sbyte*> [#uses=1] - %tmp_873 = cast sbyte* %v1460 to int ; <int> [#uses=1] - %tmp_874 = sub int %tmp_873, 0 ; <int> [#uses=1] - %v1461 = cast int %tmp_874 to sbyte* ; <sbyte*> [#uses=1] - %v1462 = cast sbyte* %v1461 to %structtype_header* ; <%structtype_header*> [#uses=1] - %tmp_876 = getelementptr %structtype_header* %v1462, int 0, uint 0 ; <int*> [#uses=1] - store int 0, int* %tmp_876 - ret void - -block79: ; preds = %block0 - %v1291 = load %structtype_gc_pool** null ; <%structtype_gc_pool*> [#uses=1] - %v1292 = setne %structtype_gc_pool* %v1291, null ; <bool> [#uses=1] - br bool %v1292, label %block67, label %block22 -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2006-09-15-CastToBool.ll b/llvm/test/Regression/Transforms/InstCombine/2006-09-15-CastToBool.ll deleted file mode 100644 index 051d91f91fb..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2006-09-15-CastToBool.ll +++ /dev/null @@ -1,14 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep and -; PR913 - -int %test(int* %tmp1) { - %tmp.i = load int* %tmp1 ; <int> [#uses=1] - %tmp = cast int %tmp.i to uint ; <uint> [#uses=1] - %tmp2.ui = shr uint %tmp, ubyte 5 ; <uint> [#uses=1] - %tmp2 = cast uint %tmp2.ui to int ; <int> [#uses=1] - %tmp3 = and int %tmp2, 1 ; <int> [#uses=1] - %tmp3 = cast int %tmp3 to bool ; <bool> [#uses=1] - %tmp34 = cast bool %tmp3 to int ; <int> [#uses=1] - ret int %tmp34 -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst-2.ll b/llvm/test/Regression/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst-2.ll deleted file mode 100644 index 89ec03dbbee..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst-2.ll +++ /dev/null @@ -1,9 +0,0 @@ -; The optimizer should be able to remove cast operation here. -; RUN: llvm-upgrade %s -o - | llvm-as | opt -instcombine | llvm-dis | not grep 'sext.*i32' - -bool %eq_signed_to_small_unsigned(sbyte %SB) { - %Y = cast sbyte %SB to uint ; <uint> [#uses=1] - %C = seteq uint %Y, 17 ; <bool> [#uses=1] - ret bool %C - } - diff --git a/llvm/test/Regression/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst.ll b/llvm/test/Regression/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst.ll deleted file mode 100644 index edd9054f2f5..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst.ll +++ /dev/null @@ -1,9 +0,0 @@ -; This test case is reduced from llvmAsmParser.cpp -; The optimizer should not remove the cast here. -; RUN: llvm-upgrade %s -o - | llvm-as | opt -instcombine | llvm-dis | grep 'sext.*i32' - -bool %test(short %X) { - %A = cast short %X to uint - %B = setgt uint %A, 1330 - ret bool %B -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2006-10-20-mask.ll b/llvm/test/Regression/Transforms/InstCombine/2006-10-20-mask.ll deleted file mode 100644 index 51855cd9b5d..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2006-10-20-mask.ll +++ /dev/null @@ -1,8 +0,0 @@ -; RUN: llvm-upgrade %s -o - | llvm-as | opt -instcombine | llvm-dis | grep 'and' -ulong %foo(ulong %tmp, ulong %tmp2) { - %tmp = cast ulong %tmp to uint - %tmp2 = cast ulong %tmp2 to uint - %tmp3 = and uint %tmp, %tmp2 - %tmp4 = cast uint %tmp3 to ulong - ret ulong %tmp4 -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2006-10-26-VectorReassoc.ll b/llvm/test/Regression/Transforms/InstCombine/2006-10-26-VectorReassoc.ll deleted file mode 100644 index a7172b8a09e..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2006-10-26-VectorReassoc.ll +++ /dev/null @@ -1,8 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep mul | wc -l | grep 2 - - -<4 x float> %test(<4 x float> %V) { - %Y = mul <4 x float> %V, <float 1.0, float 2.0, float 3.0, float 4.0> - %Z = mul <4 x float> %Y, <float 1.0, float 200000.0, float -3.0, float 4.0> - ret <4 x float> %Z -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2006-11-03-Memmove64.ll b/llvm/test/Regression/Transforms/InstCombine/2006-11-03-Memmove64.ll deleted file mode 100644 index e863ab86e89..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2006-11-03-Memmove64.ll +++ /dev/null @@ -1,18 +0,0 @@ -;RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis |not grep memmove.i32 -; Instcombine was trying to turn this into a memmove.i32 - -target datalayout = "e-p:64:64" -target endian = little -target pointersize = 64 -target triple = "alphaev67-unknown-linux-gnu" -%str10 = internal constant [1 x sbyte] zeroinitializer ; <[1 x sbyte]*> [#uses=1] - -implementation ; Functions: - -void %do_join(sbyte* %b) { -entry: - call void %llvm.memmove.i64( sbyte* %b, sbyte* getelementptr ([1 x sbyte]* %str10, int 0, ulong 0), ulong 1, uint 1 ) - ret void -} - -declare void %llvm.memmove.i64(sbyte*, sbyte*, ulong, uint) diff --git a/llvm/test/Regression/Transforms/InstCombine/2006-11-10-ashr-miscompile.ll b/llvm/test/Regression/Transforms/InstCombine/2006-11-10-ashr-miscompile.ll deleted file mode 100644 index 1809d3ce917..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2006-11-10-ashr-miscompile.ll +++ /dev/null @@ -1,7 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep lshr -; Verify this is not turned into -1. - -int %test(ubyte %amt) { - %B = lshr int -1, ubyte %amt - ret int %B -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2006-11-27-XorBug.ll b/llvm/test/Regression/Transforms/InstCombine/2006-11-27-XorBug.ll deleted file mode 100644 index 61501668298..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2006-11-27-XorBug.ll +++ /dev/null @@ -1,11 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep 'and.*32' && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep 'or.*153' -; PR1014 - -int %test(int %tmp1) { - %ovm = and int %tmp1, 32 ; <int> [#uses=1] - %ov3 = add int %ovm, 145 ; <int> [#uses=2] - %ov110 = xor int %ov3, 153 - ret int %ov110 -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/2006-12-01-BadFPVectorXform.ll b/llvm/test/Regression/Transforms/InstCombine/2006-12-01-BadFPVectorXform.ll deleted file mode 100644 index 54f70746d1d..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2006-12-01-BadFPVectorXform.ll +++ /dev/null @@ -1,9 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep sub && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep add - -<4 x float> %test(<4 x float> %tmp26, <4 x float> %tmp53) { - ; (X+Y)-Y != X for fp vectors. - %tmp64 = add <4 x float> %tmp26, %tmp53 - %tmp75 = sub <4 x float> %tmp64, %tmp53 - ret <4 x float> %tmp75 -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2006-12-05-fp-to-int-ext.ll b/llvm/test/Regression/Transforms/InstCombine/2006-12-05-fp-to-int-ext.ll deleted file mode 100644 index 4661dfe55bb..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2006-12-05-fp-to-int-ext.ll +++ /dev/null @@ -1,13 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep zext - -; Never merge these two conversions, even though it's possible: this is -; significantly more expensive than the two conversions on some targets -; and it causes libgcc to be compile __fixunsdfdi into a recursive -; function. - - -long %test(double %D) { - %A = fptoui double %D to uint - %B = zext uint %A to long - ret long %B -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2006-12-08-ICmp-Combining.ll b/llvm/test/Regression/Transforms/InstCombine/2006-12-08-ICmp-Combining.ll deleted file mode 100644 index 7d4e3f3f779..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2006-12-08-ICmp-Combining.ll +++ /dev/null @@ -1,16 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep '%bothcond =' -bool %Doit_bb(int %i.0) { -bb: ; preds = %newFuncRoot - %tmp = setgt int %i.0, 0 ; <bool> [#uses=1] - %tmp.not = xor bool %tmp, true ; <bool> [#uses=1] - %tmp2 = setgt int %i.0, 8 ; <bool> [#uses=1] - %bothcond = or bool %tmp.not, %tmp2 ; <bool> [#uses=1] - br bool %bothcond, label %exitTrue, label %exitFalse - -exitTrue: ; preds = %bb - ret bool true - -exitFalse: ; preds = %bb - ret bool false - -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2006-12-08-Phi-ICmp-Op-Fold.ll b/llvm/test/Regression/Transforms/InstCombine/2006-12-08-Phi-ICmp-Op-Fold.ll deleted file mode 100644 index 3c2c25c31d1..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2006-12-08-Phi-ICmp-Op-Fold.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis|grep 'icmp slt' -; ModuleID = 'visible.bc' -target datalayout = "e-p:32:32" -target endian = little -target pointersize = 32 -target triple = "i686-pc-linux-gnu" - %struct.point = type { int, int } - -implementation ; Functions: - -int %visible(int %direction, long %p1.0, long %p2.0, long %p3.0) { -entry: - %p1_addr = alloca %struct.point ; <%struct.point*> [#uses=2] - %p2_addr = alloca %struct.point ; <%struct.point*> [#uses=2] - %p3_addr = alloca %struct.point ; <%struct.point*> [#uses=2] - "alloca point" = bitcast int 0 to int ; <int> [#uses=0] - %tmp = bitcast %struct.point* %p1_addr to { long }* ; <{ long }*> [#uses=1] - %tmp = getelementptr { long }* %tmp, uint 0, uint 0 ; <long*> [#uses=1] - store long %p1.0, long* %tmp - %tmp1 = bitcast %struct.point* %p2_addr to { long }* ; <{ long }*> [#uses=1] - %tmp2 = getelementptr { long }* %tmp1, uint 0, uint 0 ; <long*> [#uses=1] - store long %p2.0, long* %tmp2 - %tmp3 = bitcast %struct.point* %p3_addr to { long }* ; <{ long }*> [#uses=1] - %tmp4 = getelementptr { long }* %tmp3, uint 0, uint 0 ; <long*> [#uses=1] - store long %p3.0, long* %tmp4 - %tmp = seteq int %direction, 0 ; <bool> [#uses=1] - %tmp5 = bitcast %struct.point* %p1_addr to { long }* ; <{ long }*> [#uses=1] - %tmp6 = getelementptr { long }* %tmp5, uint 0, uint 0 ; <long*> [#uses=1] - %tmp = load long* %tmp6 ; <long> [#uses=1] - %tmp7 = bitcast %struct.point* %p2_addr to { long }* ; <{ long }*> [#uses=1] - %tmp8 = getelementptr { long }* %tmp7, uint 0, uint 0 ; <long*> [#uses=1] - %tmp9 = load long* %tmp8 ; <long> [#uses=1] - %tmp10 = bitcast %struct.point* %p3_addr to { long }* ; <{ long }*> [#uses=1] - %tmp11 = getelementptr { long }* %tmp10, uint 0, uint 0 ; <long*> [#uses=1] - %tmp12 = load long* %tmp11 ; <long> [#uses=1] - %tmp13 = call int %determinant( long %tmp, long %tmp9, long %tmp12 ) ; <int> [#uses=2] - br bool %tmp, label %cond_true, label %cond_false - -cond_true: ; preds = %entry - %tmp14 = setlt int %tmp13, 0 ; <bool> [#uses=1] - %tmp14 = zext bool %tmp14 to int ; <int> [#uses=1] - br label %return - -cond_false: ; preds = %entry - %tmp26 = setgt int %tmp13, 0 ; <bool> [#uses=1] - %tmp26 = zext bool %tmp26 to int ; <int> [#uses=1] - br label %return - -return: ; preds = %cond_false, %cond_true - %retval.0 = phi int [ %tmp14, %cond_true ], [ %tmp26, %cond_false ] ; <int> [#uses=1] - ret int %retval.0 -} - -declare int %determinant(long, long, long) diff --git a/llvm/test/Regression/Transforms/InstCombine/2006-12-08-Select-ICmp.ll b/llvm/test/Regression/Transforms/InstCombine/2006-12-08-Select-ICmp.ll deleted file mode 100644 index 647e15df98f..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2006-12-08-Select-ICmp.ll +++ /dev/null @@ -1,42 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep select -target datalayout = "e-p:32:32" -target endian = little -target pointersize = 32 -target triple = "i686-pc-linux-gnu" - %struct.point = type { int, int } - -implementation ; Functions: - -int %visible(int %direction, long %p1.0, long %p2.0, long %p3.0) { -entry: - %p1_addr = alloca %struct.point ; <%struct.point*> [#uses=2] - %p2_addr = alloca %struct.point ; <%struct.point*> [#uses=2] - %p3_addr = alloca %struct.point ; <%struct.point*> [#uses=2] - %tmp = bitcast %struct.point* %p1_addr to { long }* ; <{ long }*> [#uses=1] - %tmp = getelementptr { long }* %tmp, int 0, uint 0 ; <long*> [#uses=1] - store long %p1.0, long* %tmp - %tmp1 = bitcast %struct.point* %p2_addr to { long }* ; <{ long }*> [#uses=1] - %tmp2 = getelementptr { long }* %tmp1, int 0, uint 0 ; <long*> [#uses=1] - store long %p2.0, long* %tmp2 - %tmp3 = bitcast %struct.point* %p3_addr to { long }* ; <{ long }*> [#uses=1] - %tmp4 = getelementptr { long }* %tmp3, int 0, uint 0 ; <long*> [#uses=1] - store long %p3.0, long* %tmp4 - %tmp = seteq int %direction, 0 ; <bool> [#uses=1] - %tmp5 = bitcast %struct.point* %p1_addr to { long }* ; <{ long }*> [#uses=1] - %tmp6 = getelementptr { long }* %tmp5, int 0, uint 0 ; <long*> [#uses=1] - %tmp = load long* %tmp6 ; <long> [#uses=1] - %tmp7 = bitcast %struct.point* %p2_addr to { long }* ; <{ long }*> [#uses=1] - %tmp8 = getelementptr { long }* %tmp7, int 0, uint 0 ; <long*> [#uses=1] - %tmp9 = load long* %tmp8 ; <long> [#uses=1] - %tmp10 = bitcast %struct.point* %p3_addr to { long }* ; <{ long }*> [#uses=1] - %tmp11 = getelementptr { long }* %tmp10, int 0, uint 0 ; <long*> [#uses=1] - %tmp12 = load long* %tmp11 ; <long> [#uses=1] - %tmp13 = call int %determinant( long %tmp, long %tmp9, long %tmp12 ) ; <int> [#uses=2] - %tmp14 = setlt int %tmp13, 0 ; <bool> [#uses=1] - %tmp26 = setgt int %tmp13, 0 ; <bool> [#uses=1] - %retval.0.in = select bool %tmp, bool %tmp14, bool %tmp26 ; <bool> [#uses=1] - %retval.0 = zext bool %retval.0.in to int ; <int> [#uses=1] - ret int %retval.0 -} - -declare int %determinant(long, long, long) diff --git a/llvm/test/Regression/Transforms/InstCombine/2006-12-10-ICmp-GEP-GEP.ll b/llvm/test/Regression/Transforms/InstCombine/2006-12-10-ICmp-GEP-GEP.ll deleted file mode 100644 index e5ac37b950b..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2006-12-10-ICmp-GEP-GEP.ll +++ /dev/null @@ -1,165 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ -; RUN: grep -v 'icmp ult int' -; ModuleID = 'good.bc' -target datalayout = "e-p:32:32" -target endian = little -target pointersize = 32 -target triple = "i686-pc-linux-gnu" - %struct.edgeBox = type { short, short, short, short, short, short } -%qsz = external global int ; <int*> [#uses=12] -%thresh = external global int ; <int*> [#uses=2] -%mthresh = external global int ; <int*> [#uses=1] - -implementation ; Functions: - -int %qsorte(sbyte* %base, int %n, int %size) { -entry: - %tmp = setgt int %n, 1 ; <bool> [#uses=1] - br bool %tmp, label %cond_next, label %return - -cond_next: ; preds = %entry - store int %size, int* %qsz - %tmp3 = shl int %size, ubyte 2 ; <int> [#uses=1] - store int %tmp3, int* %thresh - %tmp4 = load int* %qsz ; <int> [#uses=1] - %tmp5 = mul int %tmp4, 6 ; <int> [#uses=1] - store int %tmp5, int* %mthresh - %tmp6 = load int* %qsz ; <int> [#uses=1] - %tmp8 = mul int %tmp6, %n ; <int> [#uses=1] - %tmp9 = getelementptr sbyte* %base, int %tmp8 ; <sbyte*> [#uses=3] - %tmp11 = setgt int %n, 3 ; <bool> [#uses=1] - br bool %tmp11, label %cond_true12, label %bb30 - -cond_true12: ; preds = %cond_next - %tmp156 = call int %qste( sbyte* %base, sbyte* %tmp9 ) ; <int> [#uses=0] - %tmp16 = load int* %thresh ; <int> [#uses=1] - %tmp18 = getelementptr sbyte* %base, int %tmp16 ; <sbyte*> [#uses=2] - %tmp3117 = load int* %qsz ; <int> [#uses=1] - %tmp3318 = getelementptr sbyte* %base, int %tmp3117 ; <sbyte*> [#uses=2] - %tmp3621 = setlt sbyte* %tmp3318, %tmp18 ; <bool> [#uses=1] - br bool %tmp3621, label %bb, label %bb37 - -bb: ; preds = %bb30, %cond_true12 - %hi.0.0 = phi sbyte* [ %tmp18, %cond_true12 ], [ %hi.0, %bb30 ] ; <sbyte*> [#uses=4] - %j.1.0 = phi sbyte* [ %base, %cond_true12 ], [ %j.1, %bb30 ] ; <sbyte*> [#uses=4] - %tmp33.0 = phi sbyte* [ %tmp3318, %cond_true12 ], [ %tmp33, %bb30 ] ; <sbyte*> [#uses=6] - %tmp3 = bitcast sbyte* %j.1.0 to %struct.edgeBox* ; <%struct.edgeBox*> [#uses=1] - %tmp4 = bitcast sbyte* %tmp33.0 to %struct.edgeBox* ; <%struct.edgeBox*> [#uses=1] - %tmp255 = call int %comparee( %struct.edgeBox* %tmp3, %struct.edgeBox* %tmp4 ) ; <int> [#uses=1] - %tmp26 = setgt int %tmp255, 0 ; <bool> [#uses=1] - br bool %tmp26, label %cond_true27, label %bb30 - -cond_true27: ; preds = %bb - br label %bb30 - -bb30: ; preds = %cond_true27, %bb, %cond_next - %hi.0.3 = phi sbyte* [ %hi.0.0, %cond_true27 ], [ %hi.0.0, %bb ], [ undef, %cond_next ] ; <sbyte*> [#uses=0] - %j.1.3 = phi sbyte* [ %j.1.0, %cond_true27 ], [ %j.1.0, %bb ], [ undef, %cond_next ] ; <sbyte*> [#uses=0] - %tmp33.3 = phi sbyte* [ %tmp33.0, %cond_true27 ], [ %tmp33.0, %bb ], [ undef, %cond_next ] ; <sbyte*> [#uses=0] - %hi.0 = phi sbyte* [ %tmp9, %cond_next ], [ %hi.0.0, %bb ], [ %hi.0.0, %cond_true27 ] ; <sbyte*> [#uses=2] - %lo.1 = phi sbyte* [ %tmp33.0, %cond_true27 ], [ %tmp33.0, %bb ], [ %base, %cond_next ] ; <sbyte*> [#uses=1] - %j.1 = phi sbyte* [ %tmp33.0, %cond_true27 ], [ %j.1.0, %bb ], [ %base, %cond_next ] ; <sbyte*> [#uses=2] - %tmp31 = load int* %qsz ; <int> [#uses=1] - %tmp33 = getelementptr sbyte* %lo.1, int %tmp31 ; <sbyte*> [#uses=2] - %tmp36 = setlt sbyte* %tmp33, %hi.0 ; <bool> [#uses=1] - br bool %tmp36, label %bb, label %bb37 - -bb37: ; preds = %bb30, %cond_true12 - %j.1.1 = phi sbyte* [ %j.1, %bb30 ], [ %base, %cond_true12 ] ; <sbyte*> [#uses=4] - %tmp40 = seteq sbyte* %j.1.1, %base ; <bool> [#uses=1] - br bool %tmp40, label %bb115, label %cond_true41 - -cond_true41: ; preds = %bb37 - %tmp43 = load int* %qsz ; <int> [#uses=1] - %tmp45 = getelementptr sbyte* %base, int %tmp43 ; <sbyte*> [#uses=2] - %tmp6030 = setlt sbyte* %base, %tmp45 ; <bool> [#uses=1] - br bool %tmp6030, label %bb46, label %bb115 - -bb46: ; preds = %bb46, %cond_true41 - %j.2.0 = phi sbyte* [ %j.1.1, %cond_true41 ], [ %tmp52, %bb46 ] ; <sbyte*> [#uses=3] - %i.2.0 = phi sbyte* [ %base, %cond_true41 ], [ %tmp56, %bb46 ] ; <sbyte*> [#uses=3] - %tmp = load sbyte* %j.2.0 ; <sbyte> [#uses=2] - %tmp49 = load sbyte* %i.2.0 ; <sbyte> [#uses=1] - store sbyte %tmp49, sbyte* %j.2.0 - %tmp52 = getelementptr sbyte* %j.2.0, int 1 ; <sbyte*> [#uses=2] - store sbyte %tmp, sbyte* %i.2.0 - %tmp56 = getelementptr sbyte* %i.2.0, int 1 ; <sbyte*> [#uses=3] - %tmp60 = setlt sbyte* %tmp56, %tmp45 ; <bool> [#uses=1] - br bool %tmp60, label %bb46, label %bb115 - -bb66: ; preds = %bb115, %bb66 - %hi.3 = phi sbyte* [ %tmp118, %bb115 ], [ %tmp70, %bb66 ] ; <sbyte*> [#uses=2] - %tmp67 = load int* %qsz ; <int> [#uses=2] - %tmp68 = sub int 0, %tmp67 ; <int> [#uses=1] - %tmp70 = getelementptr sbyte* %hi.3, int %tmp68 ; <sbyte*> [#uses=2] - %tmp = bitcast sbyte* %tmp70 to %struct.edgeBox* ; <%struct.edgeBox*> [#uses=1] - %tmp1 = bitcast sbyte* %tmp118 to %struct.edgeBox* ; <%struct.edgeBox*> [#uses=1] - %tmp732 = call int %comparee( %struct.edgeBox* %tmp, %struct.edgeBox* %tmp1 ) ; <int> [#uses=1] - %tmp74 = setgt int %tmp732, 0 ; <bool> [#uses=1] - br bool %tmp74, label %bb66, label %bb75 - -bb75: ; preds = %bb66 - %tmp76 = load int* %qsz ; <int> [#uses=1] - %tmp70.sum = sub int %tmp76, %tmp67 ; <int> [#uses=1] - %tmp78 = getelementptr sbyte* %hi.3, int %tmp70.sum ; <sbyte*> [#uses=3] - %tmp81 = seteq sbyte* %tmp78, %tmp118 ; <bool> [#uses=1] - br bool %tmp81, label %bb115, label %cond_true82 - -cond_true82: ; preds = %bb75 - %tmp83 = load int* %qsz ; <int> [#uses=1] - %tmp118.sum = add int %tmp116, %tmp83 ; <int> [#uses=1] - %tmp85 = getelementptr sbyte* %min.1, int %tmp118.sum ; <sbyte*> [#uses=1] - %tmp10937 = getelementptr sbyte* %tmp85, int -1 ; <sbyte*> [#uses=3] - %tmp11239 = setlt sbyte* %tmp10937, %tmp118 ; <bool> [#uses=1] - br bool %tmp11239, label %bb115, label %bb86 - -bb86: ; preds = %bb104, %cond_true82 - %tmp109.0 = phi sbyte* [ %tmp10937, %cond_true82 ], [ %tmp109, %bb104 ] ; <sbyte*> [#uses=5] - %i.5.2 = phi sbyte* [ %i.5.3, %cond_true82 ], [ %i.5.1, %bb104 ] ; <sbyte*> [#uses=0] - %tmp100.2 = phi sbyte* [ %tmp100.3, %cond_true82 ], [ %tmp100.1, %bb104 ] ; <sbyte*> [#uses=0] - %tmp88 = load sbyte* %tmp109.0 ; <sbyte> [#uses=2] - %tmp9746 = load int* %qsz ; <int> [#uses=1] - %tmp9847 = sub int 0, %tmp9746 ; <int> [#uses=1] - %tmp10048 = getelementptr sbyte* %tmp109.0, int %tmp9847 ; <sbyte*> [#uses=3] - %tmp10350 = setlt sbyte* %tmp10048, %tmp78 ; <bool> [#uses=1] - br bool %tmp10350, label %bb104, label %bb91 - -bb91: ; preds = %bb91, %bb86 - %i.5.0 = phi sbyte* [ %tmp109.0, %bb86 ], [ %tmp100.0, %bb91 ] ; <sbyte*> [#uses=1] - %tmp100.0 = phi sbyte* [ %tmp10048, %bb86 ], [ %tmp100, %bb91 ] ; <sbyte*> [#uses=4] - %tmp93 = load sbyte* %tmp100.0 ; <sbyte> [#uses=1] - store sbyte %tmp93, sbyte* %i.5.0 - %tmp97 = load int* %qsz ; <int> [#uses=1] - %tmp98 = sub int 0, %tmp97 ; <int> [#uses=1] - %tmp100 = getelementptr sbyte* %tmp100.0, int %tmp98 ; <sbyte*> [#uses=3] - %tmp103 = setlt sbyte* %tmp100, %tmp78 ; <bool> [#uses=1] - br bool %tmp103, label %bb104, label %bb91 - -bb104: ; preds = %bb91, %bb86 - %i.5.1 = phi sbyte* [ %tmp109.0, %bb86 ], [ %tmp100.0, %bb91 ] ; <sbyte*> [#uses=4] - %tmp100.1 = phi sbyte* [ %tmp10048, %bb86 ], [ %tmp100, %bb91 ] ; <sbyte*> [#uses=3] - store sbyte %tmp88, sbyte* %i.5.1 - %tmp109 = getelementptr sbyte* %tmp109.0, int -1 ; <sbyte*> [#uses=3] - %tmp112 = setlt sbyte* %tmp109, %tmp118 ; <bool> [#uses=1] - br bool %tmp112, label %bb115, label %bb86 - -bb115: ; preds = %bb104, %cond_true82, %bb75, %bb46, %cond_true41, %bb37 - %tmp109.1 = phi sbyte* [ undef, %bb37 ], [ %tmp109.1, %bb75 ], [ %tmp10937, %cond_true82 ], [ %tmp109, %bb104 ], [ undef, %bb46 ], [ undef, %cond_true41 ] ; <sbyte*> [#uses=1] - %i.5.3 = phi sbyte* [ undef, %bb37 ], [ %i.5.3, %bb75 ], [ %i.5.3, %cond_true82 ], [ %i.5.1, %bb104 ], [ undef, %bb46 ], [ undef, %cond_true41 ] ; <sbyte*> [#uses=3] - %tmp100.3 = phi sbyte* [ undef, %bb37 ], [ %tmp100.3, %bb75 ], [ %tmp100.3, %cond_true82 ], [ %tmp100.1, %bb104 ], [ undef, %bb46 ], [ undef, %cond_true41 ] ; <sbyte*> [#uses=3] - %min.1 = phi sbyte* [ %tmp118, %bb104 ], [ %tmp118, %bb75 ], [ %base, %bb37 ], [ %base, %bb46 ], [ %base, %cond_true41 ], [ %tmp118, %cond_true82 ] ; <sbyte*> [#uses=2] - %j.5 = phi sbyte* [ %tmp100.1, %bb104 ], [ %j.5, %bb75 ], [ %tmp52, %bb46 ], [ %j.1.1, %bb37 ], [ %j.1.1, %cond_true41 ], [ %j.5, %cond_true82 ] ; <sbyte*> [#uses=2] - %i.4 = phi sbyte* [ %i.5.1, %bb104 ], [ %i.4, %bb75 ], [ %tmp56, %bb46 ], [ undef, %bb37 ], [ %base, %cond_true41 ], [ %i.4, %cond_true82 ] ; <sbyte*> [#uses=2] - %c.4 = phi sbyte [ %tmp88, %bb104 ], [ %c.4, %bb75 ], [ %tmp, %bb46 ], [ undef, %bb37 ], [ undef, %cond_true41 ], [ %c.4, %cond_true82 ] ; <sbyte> [#uses=2] - %tmp116 = load int* %qsz ; <int> [#uses=2] - %tmp118 = getelementptr sbyte* %min.1, int %tmp116 ; <sbyte*> [#uses=9] - %tmp122 = setlt sbyte* %tmp118, %tmp9 ; <bool> [#uses=1] - br bool %tmp122, label %bb66, label %return - -return: ; preds = %bb115, %entry - ret int undef -} - -declare int %qste(sbyte*, sbyte*) - -declare int %comparee(%struct.edgeBox*, %struct.edgeBox*) diff --git a/llvm/test/Regression/Transforms/InstCombine/2006-12-15-Range-Test.ll b/llvm/test/Regression/Transforms/InstCombine/2006-12-15-Range-Test.ll deleted file mode 100644 index 30ea4ee445a..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2006-12-15-Range-Test.ll +++ /dev/null @@ -1,35 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ -; RUN: grep 'icmp' | wc -l | grep 1 -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ -; RUN: grep 'icmp ugt' | wc -l | grep 1 -; -; ModuleID = 'bugpoint-tooptimize.bc' -target datalayout = "e-p:32:32" -target endian = little -target pointersize = 32 -target triple = "i686-pc-linux-gnu" -%r = external global [17 x int] ; <[17 x int]*> [#uses=1] - -implementation ; Functions: - -bool %print_pgm_cond_true(int %tmp12.reload, int* %tmp16.out) { -newFuncRoot: - br label %cond_true - -bb27.exitStub: ; preds = %cond_true - store int %tmp16, int* %tmp16.out - ret bool true - -cond_next23.exitStub: ; preds = %cond_true - store int %tmp16, int* %tmp16.out - ret bool false - -cond_true: ; preds = %newFuncRoot - %tmp15 = getelementptr [17 x int]* %r, int 0, int %tmp12.reload ; <int*> [#uses=1] - %tmp16 = load int* %tmp15 ; <int> [#uses=4] - %tmp18 = icmp slt int %tmp16, -31 ; <bool> [#uses=1] - %tmp21 = icmp sgt int %tmp16, 31 ; <bool> [#uses=1] - %bothcond = or bool %tmp18, %tmp21 ; <bool> [#uses=1] - br bool %bothcond, label %bb27.exitStub, label %cond_next23.exitStub -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/2006-12-23-Select-Cmp-Cmp.ll b/llvm/test/Regression/Transforms/InstCombine/2006-12-23-Select-Cmp-Cmp.ll deleted file mode 100644 index b9881e3624b..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2006-12-23-Select-Cmp-Cmp.ll +++ /dev/null @@ -1,33 +0,0 @@ -; For PR1065. This causes an assertion in instcombine if a select with two cmp -; operands is encountered. -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output -; ModuleID = 'PR1065.bc' -target datalayout = "e-p:32:32" -target endian = little -target pointersize = 32 -target triple = "i686-pc-linux-gnu" - %struct.internal_state = type { int } - %struct.mng_data = type { uint, sbyte*, uint, uint, uint, uint, uint, uint, uint, uint, uint, ubyte, uint, uint, uint, sbyte, uint, uint, uint, uint, ushort, ushort, ushort, sbyte, sbyte, double, double, double, sbyte, sbyte, sbyte, sbyte, uint, uint, uint, uint, int, sbyte, int, int, sbyte*, sbyte* (uint)*, void (sbyte*, uint)*, void (sbyte*, sbyte*, uint)*, sbyte (%struct.mng_data*)*, sbyte (%struct.mng_data*)*, sbyte (%struct.mng_data*, sbyte*, uint, uint*)*, sbyte (%struct.mng_data*, sbyte*, uint, uint*)*, sbyte (%struct.mng_data*, int, sbyte, int, uint, int, int, sbyte*)*, sbyte (%struct.mng_data*, int, int, sbyte*)*, sbyte (%struct.mng_data*, uint, uint)*, sbyte (%struct.mng_data*, ubyte, sbyte*, sbyte*, sbyte*, sbyte*)*, sbyte (%struct.mng_data*)*, sbyte (%struct.mng_data*, sbyte*)*, sbyte (%struct.mng_data*, sbyte*)*, sbyte (%struct.mng_data*, uint, uint)*, sbyte (%struct.mng_data*, int, uint, sbyte*)*, sbyte (%struct.mng_data*, ubyte, ubyte, uint, uint)*, sbyte* (%struct.mng_data*, uint)*, sbyte* (%struct.mng_data*, uint)*, sbyte* (%struct.mng_data*, uint)*, sbyte (%struct.mng_data*, uint, uint, uint, uint)*, uint (%struct.mng_data*)*, sbyte (%struct.mng_data*, uint)*, sbyte (%struct.mng_data*, uint)*, sbyte (%struct.mng_data*, uint, uint, uint, uint, uint, uint, uint, uint)*, sbyte (%struct.mng_data*, ubyte)*, sbyte (%struct.mng_data*, uint, sbyte*)*, sbyte (%struct.mng_data*, uint, sbyte, sbyte*)*, sbyte, int, uint, 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, uint, uint, ubyte, ubyte, ubyte, ubyte, ubyte, uint, sbyte, sbyte, sbyte, uint, ubyte*, uint, ubyte*, uint, sbyte, ubyte, sbyte, uint, ubyte*, ubyte*, uint, uint, ubyte*, ubyte*, %struct.mng_pushdata*, %struct.mng_pushdata*, %struct.mng_pushdata*, %struct.mng_pushdata*, sbyte, sbyte, int, uint, ubyte*, sbyte, sbyte, uint, uint, uint, uint, uint, uint, sbyte, sbyte, sbyte, sbyte, int, int, sbyte*, uint, uint, uint, sbyte, sbyte, uint, uint, uint, uint, sbyte, sbyte, ubyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, uint, sbyte*, sbyte*, sbyte*, uint, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, %struct.mng_savedata*, uint, uint, uint, uint, sbyte, int, int, int, int, int, int, int, int, int, int, int, int, uint, uint, uint, uint, ubyte*, ubyte*, ubyte*, sbyte, sbyte, int, int, int, int, int, int, int, int, int, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, [256 x ubyte], double, void ()*, void ()*, void ()*, void ()*, void ()*, void ()*, void ()*, void ()*, void ()*, void ()*, void ()*, void ()*, ushort, sbyte, ubyte, sbyte, ubyte, sbyte, int, int, sbyte, int, int, int, int, ushort, ushort, ushort, ubyte, ushort, ubyte, int, int, uint, uint, ubyte, uint, uint, sbyte, int, int, int, int, ubyte, uint, uint, sbyte, int, int, int, int, uint, sbyte, uint, ubyte, ushort, ushort, ushort, short, uint, [256 x %struct.mng_palette8e], uint, [256 x ubyte], uint, uint, uint, uint, uint, uint, uint, uint, uint, ubyte, uint, sbyte*, ushort, ushort, ushort, sbyte*, ubyte, ubyte, uint, uint, uint, uint, sbyte, void ()*, void ()*, void ()*, void ()*, void ()*, void ()*, sbyte*, ubyte, ubyte, ubyte, uint, sbyte*, sbyte*, ushort, ushort, ushort, ushort, int, int, sbyte*, %struct.z_stream, int, int, int, int, int, uint, sbyte, sbyte, [256 x uint], sbyte } - %struct.mng_palette8e = type { ubyte, ubyte, ubyte } - %struct.mng_pushdata = type { sbyte*, sbyte*, uint, sbyte, ubyte*, uint } - %struct.mng_savedata = type { sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, ushort, ushort, ushort, ubyte, ushort, ubyte, ubyte, uint, uint, sbyte, int, int, int, int, uint, [256 x %struct.mng_palette8e], uint, [256 x ubyte], uint, uint, uint, uint, uint, uint, uint, uint, uint, ubyte, uint, sbyte*, ushort, ushort, ushort } - %struct.z_stream = type { ubyte*, uint, uint, ubyte*, uint, uint, sbyte*, %struct.internal_state*, sbyte* (sbyte*, uint, uint)*, void (sbyte*, sbyte*)*, sbyte*, int, uint, uint } - -implementation ; Functions: - -void %mng_write_basi() { -entry: - %tmp = load ubyte* null ; <ubyte> [#uses=1] - %tmp = icmp ugt ubyte %tmp, 8 ; <bool> [#uses=1] - %tmp = load ushort* null ; <ushort> [#uses=2] - %tmp3 = icmp eq ushort %tmp, 255 ; <bool> [#uses=1] - %tmp7 = icmp eq ushort %tmp, -1 ; <bool> [#uses=1] - %bOpaque.0.in = select bool %tmp, bool %tmp7, bool %tmp3 ; <bool> [#uses=1] - br bool %bOpaque.0.in, label %cond_next90, label %bb95 - -cond_next90: ; preds = %entry - ret void - -bb95: ; preds = %entry - ret void -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2007-01-13-ExtCompareMiscompile.ll b/llvm/test/Regression/Transforms/InstCombine/2007-01-13-ExtCompareMiscompile.ll deleted file mode 100644 index 0add14bf24d..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2007-01-13-ExtCompareMiscompile.ll +++ /dev/null @@ -1,9 +0,0 @@ -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep zext -; PR1107 - -define i1 %test(i8 %A, i8 %B) { - %a = zext i8 %A to i32 - %b = zext i8 %B to i32 - %c = icmp sgt i32 %a, %b - ret i1 %c -} diff --git a/llvm/test/Regression/Transforms/InstCombine/2007-01-14-FcmpSelf.ll b/llvm/test/Regression/Transforms/InstCombine/2007-01-14-FcmpSelf.ll deleted file mode 100644 index 3b34a7db9dc..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/2007-01-14-FcmpSelf.ll +++ /dev/null @@ -1,6 +0,0 @@ -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep 'fcmp uno.*0.0' -; PR1111 -define i1 %test(double %X) { -%tmp = fcmp une double %X, %X - ret i1 %tmp -} diff --git a/llvm/test/Regression/Transforms/InstCombine/CPP_min_max.llx b/llvm/test/Regression/Transforms/InstCombine/CPP_min_max.llx deleted file mode 100644 index e64d0b91887..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/CPP_min_max.llx +++ /dev/null @@ -1,34 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep select | not grep 'int\*' - -; This testcase corresponds to PR362, which notices that this horrible code -; is generated by the C++ front-end and LLVM optimizers, which has lots of -; loads and other stuff that are unneeded. -; -; Instcombine should propagate the load through the select instructions to -; allow elimination of the extra stuff by the mem2reg pass. - -implementation ; Functions: - -void %_Z5test1RiS_(int* %x, int* %y) { -entry: - %tmp.1.i = load int* %y ; <int> [#uses=1] - %tmp.3.i = load int* %x ; <int> [#uses=1] - %tmp.4.i = setlt int %tmp.1.i, %tmp.3.i ; <bool> [#uses=1] - %retval.i = select bool %tmp.4.i, int* %y, int* %x ; <int*> [#uses=1] - %tmp.4 = load int* %retval.i ; <int> [#uses=1] - store int %tmp.4, int* %x - ret void -} - -void %_Z5test2RiS_(int* %x, int* %y) { -entry: - %tmp.0 = alloca int ; <int*> [#uses=2] - %tmp.2 = load int* %x ; <int> [#uses=2] - store int %tmp.2, int* %tmp.0 - %tmp.3.i = load int* %y ; <int> [#uses=1] - %tmp.4.i = setlt int %tmp.2, %tmp.3.i ; <bool> [#uses=1] - %retval.i = select bool %tmp.4.i, int* %y, int* %tmp.0 ; <int*> [#uses=1] - %tmp.6 = load int* %retval.i ; <int> [#uses=1] - store int %tmp.6, int* %y - ret void -} diff --git a/llvm/test/Regression/Transforms/InstCombine/GEPIdxCanon.ll b/llvm/test/Regression/Transforms/InstCombine/GEPIdxCanon.ll deleted file mode 100644 index afaabc3e2f0..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/GEPIdxCanon.ll +++ /dev/null @@ -1,8 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -gcse -instcombine | llvm-dis | not grep getelementptr - -bool %test(int* %A) { - %B = getelementptr int* %A, int 1 - %C = getelementptr int* %A, uint 1 - %V = seteq int* %B, %C - ret bool %V -} diff --git a/llvm/test/Regression/Transforms/InstCombine/IntPtrCast.ll b/llvm/test/Regression/Transforms/InstCombine/IntPtrCast.ll deleted file mode 100644 index 9f509b6fbc0..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/IntPtrCast.ll +++ /dev/null @@ -1,8 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | notcast -target pointersize = 32 - -int *%test(int *%P) { - %V = cast int* %P to int - %P2 = cast int %V to int* - ret int* %P2 -} diff --git a/llvm/test/Regression/Transforms/InstCombine/JavaCompare.ll b/llvm/test/Regression/Transforms/InstCombine/JavaCompare.ll deleted file mode 100644 index 11f706e5662..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/JavaCompare.ll +++ /dev/null @@ -1,14 +0,0 @@ -; This is the sequence of stuff that the Java front-end expands for a single -; <= comparison. Check to make sure we turn it into a <= (only) - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep -v 'icmp sle'| not grep '#uses' - -bool %le(int %A, int %B) { - %c1 = setgt int %A, %B; - %tmp = select bool %c1, int 1, int 0; - %c2 = setlt int %A, %B; - %result = select bool %c2, int -1, int %tmp; - %c3 = setle int %result, 0; - ret bool %c3; -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/README.txt b/llvm/test/Regression/Transforms/InstCombine/README.txt deleted file mode 100644 index de043c77489..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/README.txt +++ /dev/null @@ -1,4 +0,0 @@ -This directory contains test cases for the instcombine transformation. The -dated tests are actual bug tests, whereas the named tests are used to test -for features that the this pass should be capable of performing. - diff --git a/llvm/test/Regression/Transforms/InstCombine/add.ll b/llvm/test/Regression/Transforms/InstCombine/add.ll deleted file mode 100644 index ec3aea3c877..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/add.ll +++ /dev/null @@ -1,249 +0,0 @@ -; This test makes sure that add instructions are properly eliminated. - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep -v OK | not grep add - -implementation - -int %test1(int %A) { - %B = add int %A, 0 - ret int %B -} - -int %test2(int %A) { - %B = add int %A, 5 - %C = add int %B, -5 - ret int %C -} - -int %test3(int %A) { - %B = add int %A, 5 - %C = sub int %B, 5 ;; This should get converted to an add - ret int %C -} - -int %test4(int %A, int %B) { - %C = sub int 0, %A - %D = add int %B, %C ; D = B + -A = B - A - ret int %D -} - -int %test5(int %A, int %B) { - %C = sub int 0, %A - %D = add int %C, %B ; D = -A + B = B - A - ret int %D -} - -int %test6(int %A) { - %B = mul int 7, %A - %C = add int %B, %A ; C = 7*A+A == 8*A == A << 3 - ret int %C -} - -int %test7(int %A) { - %B = mul int 7, %A - %C = add int %A, %B ; C = A+7*A == 8*A == A << 3 - ret int %C -} - -int %test8(int %A, int %B) { ; (A & C1)+(B & C2) -> (A & C1)|(B & C2) iff C1&C2 == 0 - %A1 = and int %A, 7 - %B1 = and int %B, 128 - %C = add int %A1, %B1 - ret int %C -} - -int %test9(int %A) { - %B = shl int %A, ubyte 4 - %C = add int %B, %B ; === shl int %A, 5 - ret int %C -} - -bool %test10(ubyte %A, ubyte %b) { - %B = add ubyte %A, %b - %c = setne ubyte %B, 0 ; === A != -b - ret bool %c -} - -bool %test11(ubyte %A) { - %B = add ubyte %A, 255 - %c = setne ubyte %B, 0 ; === A != 1 - ret bool %c -} - -int %test12(int %A, int %B) { - %C_OK = add int %B, %A ; Should be transformed into shl A, 1 - br label %X -X: - %D = add int %C_OK, %A - ret int %D -} - -int %test13(int %A, int %B, int %C) { - %D_OK = add int %A, %B - %E_OK = add int %D_OK, %C - %F = add int %E_OK, %A ;; shl A, 1 - ret int %F -} - -uint %test14(uint %offset, uint %difference) { - %tmp.2 = and uint %difference, 3 - %tmp.3_OK = add uint %tmp.2, %offset - %tmp.5.mask = and uint %difference, 4294967292 - %tmp.8 = add uint %tmp.3_OK, %tmp.5.mask ; == add %offset, %difference - ret uint %tmp.8 -} - -ubyte %test15(ubyte %A) { - %B = add ubyte %A, 192 ; Does not effect result - %C = and ubyte %B, 16 ; Only one bit set - ret ubyte %C -} - -ubyte %test16(ubyte %A) { - %B = add ubyte %A, 16 ; Turn this into a XOR - %C = and ubyte %B, 16 ; Only one bit set - ret ubyte %C -} - -int %test17(int %A) { - %B = xor int %A, -1 - %C = add int %B, 1 ; == sub int 0, %A - ret int %C -} - -ubyte %test18(ubyte %A) { - %B = xor ubyte %A, 255 - %C = add ubyte %B, 17 ; == sub ubyte 16, %A - ret ubyte %C -} - -int %test19(bool %C) { - %A = select bool %C, int 1000, int 10 - %V = add int %A, 123 - ret int %V -} - -int %test20(int %x) { - %tmp.2 = xor int %x, -2147483648 - ;; Add of sign bit -> xor of sign bit. - %tmp.4 = add int %tmp.2, -2147483648 - ret int %tmp.4 -} - -bool %test21(uint %x) { - %t = add uint %x, 4 - %y = seteq uint %t, 123 - ret bool %y -} - -int %test22(uint %V) { - %V2 = add uint %V, 10 - switch uint %V2, label %Default [ - uint 20, label %Lab1 - uint 30, label %Lab2 - ] -Default: - ret int 123 -Lab1: - ret int 12312 -Lab2: - ret int 1231231 -} - -int %test23(bool %C, int %a) { -entry: - br bool %C, label %endif, label %else - -else: - br label %endif - -endif: - %b.0 = phi int [ 0, %entry ], [ 1, %else ] - %tmp.4 = add int %b.0, 1 - ret int %tmp.4 -} - -int %test24(int %A) { - %B = add int %A, 1 - %C = shl int %B, ubyte 1 - %D = sub int %C, 2 - ret int %D ;; A << 1 -} - -long %test25(long %Y) { - %tmp.4 = shl long %Y, ubyte 2 - %tmp.12 = shl long %Y, ubyte 2 - %tmp.8 = add long %tmp.4, %tmp.12 ;; Y << 3 - ret long %tmp.8 -} - -int %test26(int %A, int %B) { - %C = add int %A, %B - %D = sub int %C, %B - ret int %D -} - -int %test27(bool %C, int %X, int %Y) { - %A = add int %X, %Y - %B = add int %Y, 123 - %C = select bool %C, int %A, int %B ;; Fold add through select. - %D = sub int %C, %Y - ret int %D -} - -int %test28(int %X) { - %Y = add int %X, 1234 - %Z = sub int 42, %Y - ret int %Z -} - -uint %test29(uint %X, uint %x) { - %tmp.2 = sub uint %X, %x - %tmp.2.mask = and uint %tmp.2, 63 ; <uint> [#uses=1] - %tmp.6 = add uint %tmp.2.mask, %x ; <uint> [#uses=1] - %tmp.7 = and uint %tmp.6, 63 ; <uint> [#uses=1] - %tmp.9 = and uint %tmp.2, 4294967232 ; <uint> [#uses=1] - %tmp.10 = or uint %tmp.7, %tmp.9 ; <uint> [#uses=1] - ret uint %tmp.10 -} - -long %test30(long %x) { - %tmp.2 = xor long %x, -9223372036854775808 - ;; Add of sign bit -> xor of sign bit. - %tmp.4 = add long %tmp.2, -9223372036854775808 - ret long %tmp.4 -} - -int %test31(int %A) { - %B = add int %A, 4 - %C = mul int %B, 5 - %D = sub int %C, 20 - ret int %D -} - -int %test32(int %A) { - %B = add int %A, 4 - %C = shl int %B, ubyte 2 - %D = sub int %C, 16 - ret int %D -} - -ubyte %test33(ubyte %A) { ;; OR A, 1 - %B = and ubyte %A, 254 - %C = add ubyte %B, 1 - ret ubyte %C -} - -ubyte %test34(ubyte %A) { - %B = add ubyte %A, 64 ;; dead - %C = and ubyte %B, 12 - ret ubyte %C -} - -i32 %test34(i32 %a) { ;; -> -1 - %tmpnot = xor i32 %a, -1 - %tmp2 = add i32 %tmpnot, %a - ret i32 %tmp2 -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/alloca.ll b/llvm/test/Regression/Transforms/InstCombine/alloca.ll deleted file mode 100644 index 8ce7b65b0c0..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/alloca.ll +++ /dev/null @@ -1,27 +0,0 @@ -; Zero byte allocas should be deleted. - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep alloca - -declare void %use(...) -void %test() { - %X = alloca [0 x int] - call void(...)* %use([0 x int] *%X) - %Y = alloca int, uint 0 - call void(...)* %use(int* %Y) - %Z = alloca {} - call void(...)* %use({}* %Z) - ret void -} - -void %test2() { - %A = alloca int ;; dead. - store int 123, int* %A - ret void -} - -void %test3() { - %A = alloca {int} ;; dead. - %B = getelementptr {int}* %A, int 0, uint 0 - store int 123, int* %B - ret void -} diff --git a/llvm/test/Regression/Transforms/InstCombine/and-compare.ll b/llvm/test/Regression/Transforms/InstCombine/and-compare.ll deleted file mode 100644 index 864b8c25e21..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/and-compare.ll +++ /dev/null @@ -1,10 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep and | wc -l | grep 1 - -; Should be optimized to one and. -bool %test1(uint %a, uint %b) { - %tmp1 = and uint %a, 65280 - %tmp3 = and uint %b, 65280 - %tmp = setne uint %tmp1, %tmp3 - ret bool %tmp -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/and-or-and.ll b/llvm/test/Regression/Transforms/InstCombine/and-or-and.ll deleted file mode 100644 index 1c8465c7302..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/and-or-and.ll +++ /dev/null @@ -1,54 +0,0 @@ -; If we have an 'and' of the result of an 'or', and one of the 'or' operands -; cannot have contributed any of the resultant bits, delete the or. This -; occurs for very common C/C++ code like this: -; -; struct foo { int A : 16; int B : 16; }; -; void test(struct foo *F, int X, int Y) { -; F->A = X; F->B = Y; -; } -; -; Which corresponds to test1. - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep 'or ' - -int %test1(int %X, int %Y) { - %A = and int %X, 7 - %B = and int %Y, 8 - %C = or int %A, %B - %D = and int %C, 7 ;; This cannot include any bits from %Y! - ret int %D -} - -int %test2(int %X, ubyte %Y) { - %B = cast ubyte %Y to int - %C = or int %X, %B - %D = and int %C, 65536 ;; This cannot include any bits from %Y! - ret int %D -} - -int %test3(int %X, int %Y) { - %B = shl int %Y, ubyte 1 - %C = or int %X, %B - %D = and int %C, 1 ;; This cannot include any bits from %Y! - ret int %D -} - -uint %test4(uint %X, uint %Y) { - %B = shr uint %Y, ubyte 31 - %C = or uint %X, %B - %D = and uint %C, 2 ;; This cannot include any bits from %Y! - ret uint %D -} - -int %or_test1(int %X, int %Y) { - %A = and int %X, 1 - %B = or int %A, 1 ;; This cannot include any bits from X! - ret int %B -} - -ubyte %or_test2(ubyte %X, ubyte %Y) { - %A = shl ubyte %X, ubyte 7 - %B = or ubyte %A, 128 ;; This cannot include any bits from X! - ret ubyte %B -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/and.ll b/llvm/test/Regression/Transforms/InstCombine/and.ll deleted file mode 100644 index dc30c564d02..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/and.ll +++ /dev/null @@ -1,228 +0,0 @@ -; This test makes sure that these instructions are properly eliminated. -; - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep and - -implementation - -int %test1(int %A) { - %B = and int %A, 0 ; zero result - ret int %B -} - -int %test2(int %A) { - %B = and int %A, -1 ; noop - ret int %B -} - -bool %test3(bool %A) { - %B = and bool %A, false ; always = false - ret bool %B -} - -bool %test4(bool %A) { - %B = and bool %A, true ; noop - ret bool %B -} - -int %test5(int %A) { - %B = and int %A, %A - ret int %B -} - -bool %test6(bool %A) { - %B = and bool %A, %A - ret bool %B -} - -int %test7(int %A) { ; A & ~A == 0 - %NotA = xor int %A, -1 - %B = and int %A, %NotA - ret int %B -} - -ubyte %test8(ubyte %A) { ; AND associates - %B = and ubyte %A, 3 - %C = and ubyte %B, 4 - ret ubyte %C -} - -bool %test9(int %A) { - %B = and int %A, -2147483648 ; Test of sign bit, convert to setle %A, 0 - %C = setne int %B, 0 - ret bool %C -} - -bool %test9(uint %A) { - %B = and uint %A, 2147483648 ; Test of sign bit, convert to setle %A, 0 - %C = setne uint %B, 0 - ret bool %C -} - -uint %test10(uint %A) { - %B = and uint %A, 12 - %C = xor uint %B, 15 - %D = and uint %C, 1 ; (X ^ C1) & C2 --> (X & C2) ^ (C1&C2) - ret uint %D -} - -uint %test11(uint %A, uint* %P) { - %B = or uint %A, 3 - %C = xor uint %B, 12 - store uint %C, uint* %P ; additional use of C - %D = and uint %C, 3 ; %C = and uint %B, 3 --> 3 - ret uint %D -} - -bool %test12(uint %A, uint %B) { - %C1 = setlt uint %A, %B - %C2 = setle uint %A, %B - %D = and bool %C1, %C2 ; (A < B) & (A <= B) === (A < B) - ret bool %D -} - -bool %test13(uint %A, uint %B) { - %C1 = setlt uint %A, %B - %C2 = setgt uint %A, %B - %D = and bool %C1, %C2 ; (A < B) & (A > B) === false - ret bool %D -} - -bool %test14(ubyte %A) { - %B = and ubyte %A, 128 - %C = setne ubyte %B, 0 - ret bool %C -} - -ubyte %test15(ubyte %A) { - %B = shr ubyte %A, ubyte 7 - %C = and ubyte %B, 2 ; Always equals zero - ret ubyte %C -} - -ubyte %test16(ubyte %A) { - %B = shl ubyte %A, ubyte 2 - %C = and ubyte %B, 3 - ret ubyte %C -} - -sbyte %test17(sbyte %X, sbyte %Y) { ;; ~(~X & Y) --> (X | ~Y) - %B = xor sbyte %X, -1 - %C = and sbyte %B, %Y - %D = xor sbyte %C, -1 - ret sbyte %D -} - -bool %test18(int %A) { - %B = and int %A, -128 - %C = setne int %B, 0 ;; C >= 128 - ret bool %C -} - -bool %test18a(ubyte %A) { - %B = and ubyte %A, 254 - %C = seteq ubyte %B, 0 - ret bool %C -} - -int %test19(int %A) { - %B = shl int %A, ubyte 3 - %C = and int %B, -2 ;; Clearing a zero bit - ret int %C -} - -ubyte %test20(ubyte %A) { - %C = shr ubyte %A, ubyte 7 - %D = and ubyte %C, 1 ;; Unneeded - ret ubyte %D -} - -bool %test22(int %A) { - %B = seteq int %A, 1 - %C = setge int %A, 3 - %D = and bool %B, %C ;; False - ret bool %D -} - -bool %test23(int %A) { - %B = setgt int %A, 1 - %C = setle int %A, 2 - %D = and bool %B, %C ;; A == 2 - ret bool %D -} - -bool %test24(int %A) { - %B = setgt int %A, 1 - %C = setne int %A, 2 - %D = and bool %B, %C ;; A > 2 - ret bool %D -} - -bool %test25(int %A) { - %B = setge int %A, 50 - %C = setlt int %A, 100 - %D = and bool %B, %C ;; (A-50) <u 50 - ret bool %D -} - -bool %test26(int %A) { - %B = setne int %A, 50 - %C = setne int %A, 51 - %D = and bool %B, %C ;; (A-50) > 1 - ret bool %D -} - -ubyte %test27(ubyte %A) { - %B = and ubyte %A, 4 - %C = sub ubyte %B, 16 - %D = and ubyte %C, 240 ;; 0xF0 - %E = add ubyte %D, 16 - ret ubyte %E -} - -int %test28(int %X) { ;; This is juse a zero extending shr. - %Y = shr int %X, ubyte 24 ;; Sign extend - %Z = and int %Y, 255 ;; Mask out sign bits - ret int %Z -} - -int %test29(ubyte %X) { - %Y = cast ubyte %X to int - %Z = and int %Y, 255 ;; Zero extend makes this unneeded. - ret int %Z -} - -int %test30(bool %X) { - %Y = cast bool %X to int - %Z = and int %Y, 1 - ret int %Z -} - -uint %test31(bool %X) { - %Y = cast bool %X to uint - %Z = shl uint %Y, ubyte 4 - %A = and uint %Z, 16 - ret uint %A -} - -uint %test32(uint %In) { - %Y = and uint %In, 16 - %Z = shr uint %Y, ubyte 2 - %A = and uint %Z, 1 - ret uint %A -} - -uint %test33(uint %b) { ;; Code corresponding to one-bit bitfield ^1. - %tmp.4.mask = and uint %b, 1 - %tmp.10 = xor uint %tmp.4.mask, 1 - %tmp.12 = and uint %b, 4294967294 - %tmp.13 = or uint %tmp.12, %tmp.10 - ret uint %tmp.13 -} - -int %test34(int %A, int %B) { - %tmp.2 = or int %B, %A - %tmp.4 = and int %tmp.2, %B - ret int %tmp.4 -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/binop-cast.ll b/llvm/test/Regression/Transforms/InstCombine/binop-cast.ll deleted file mode 100644 index 7ca01511597..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/binop-cast.ll +++ /dev/null @@ -1,7 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | notcast - -uint %testAdd(int %X, int %Y) { - %tmp = add int %X, %Y - %tmp.l = sext int %tmp to uint - ret uint %tmp.l -} diff --git a/llvm/test/Regression/Transforms/InstCombine/bit-tracking.ll b/llvm/test/Regression/Transforms/InstCombine/bit-tracking.ll deleted file mode 100644 index f6654738d7f..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/bit-tracking.ll +++ /dev/null @@ -1,26 +0,0 @@ -; This file contains various testcases that require tracking whether bits are -; set or cleared by various instructions. -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -instcombine -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -instcombine | llvm-dis | not grep %ELIM - -; Reduce down to a single XOR -int %test3(int %B) { - %ELIMinc = and int %B, 1 - %tmp.5 = xor int %ELIMinc, 1 - %ELIM7 = and int %B, -2 - %tmp.8 = or int %tmp.5, %ELIM7 - ret int %tmp.8 -} - -; Finally, a bigger case where we chain things together. This corresponds to -; incrementing a single-bit bitfield, which should become just an xor. -int %test4(int %B) { - %ELIM3 = shl int %B, ubyte 31 - %ELIM4 = shr int %ELIM3, ubyte 31 - %inc = add int %ELIM4, 1 - %ELIM5 = and int %inc, 1 - %ELIM7 = and int %B, -2 - %tmp.8 = or int %ELIM5, %ELIM7 - ret int %tmp.8 -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/bittest.ll b/llvm/test/Regression/Transforms/InstCombine/bittest.ll deleted file mode 100644 index 7fb5fdee577..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/bittest.ll +++ /dev/null @@ -1,29 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -simplifycfg -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -simplifycfg | llvm-dis | not grep 'call void %abort' - -%b_rec.0 = external global int - -void %_Z12h000007_testv(uint *%P) { -entry: - %tmp.2 = load int* %b_rec.0 ; <int> [#uses=1] - %tmp.9 = or int %tmp.2, -989855744 ; <int> [#uses=2] - %tmp.16 = and int %tmp.9, -805306369 ; <int> [#uses=2] - %tmp.17 = and int %tmp.9, -973078529 ; <int> [#uses=1] - store int %tmp.17, int* %b_rec.0 - %tmp.17.shrunk = cast int %tmp.16 to uint ; <uint> [#uses=1] - %tmp.22 = and uint %tmp.17.shrunk, 3221225472 ; <uint> [#uses=1] - %tmp.23 = seteq uint %tmp.22, 3221225472 ; <bool> [#uses=1] - br bool %tmp.23, label %endif.0, label %then.0 - -then.0: ; preds = %entry - tail call void %abort( ) - unreachable - -endif.0: ; preds = %entry - %tmp.17.shrunk2 = cast int %tmp.16 to uint ; <uint> [#uses=1] - %tmp.27.mask = and uint %tmp.17.shrunk2, 100663295 ; <uint> [#uses=1] - store uint %tmp.27.mask, uint* %P - ret void -} - -declare void %abort() diff --git a/llvm/test/Regression/Transforms/InstCombine/bswap-fold.ll b/llvm/test/Regression/Transforms/InstCombine/bswap-fold.ll deleted file mode 100644 index 0ee486ad1aa..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/bswap-fold.ll +++ /dev/null @@ -1,26 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep ret | wc -l | grep 3 && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep 'call.*bswap' - -bool %test1(ushort %tmp2) { - %tmp10 = call ushort %llvm.bswap.i16( ushort %tmp2 ) - %tmp = seteq ushort %tmp10, 1 - ret bool %tmp -} - -bool %test2(uint %tmp) { - %tmp34 = tail call uint %llvm.bswap.i32( uint %tmp ) - %tmp = seteq uint %tmp34, 1 - ret bool %tmp -} - -declare uint %llvm.bswap.i32(uint) - -bool %test3(ulong %tmp) { - %tmp34 = tail call ulong %llvm.bswap.i64( ulong %tmp ) - %tmp = seteq ulong %tmp34, 1 - ret bool %tmp -} - -declare ulong %llvm.bswap.i64(ulong) - -declare ushort %llvm.bswap.i16(ushort) diff --git a/llvm/test/Regression/Transforms/InstCombine/bswap.ll b/llvm/test/Regression/Transforms/InstCombine/bswap.ll deleted file mode 100644 index 5eed8b37227..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/bswap.ll +++ /dev/null @@ -1,61 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep 'call.*llvm.bswap' | wc -l | grep 5 - -uint %test1(uint %i) { - %tmp1 = shr uint %i, ubyte 24 ; <uint> [#uses=1] - %tmp3 = shr uint %i, ubyte 8 ; <uint> [#uses=1] - %tmp4 = and uint %tmp3, 65280 ; <uint> [#uses=1] - %tmp5 = or uint %tmp1, %tmp4 ; <uint> [#uses=1] - %tmp7 = shl uint %i, ubyte 8 ; <uint> [#uses=1] - %tmp8 = and uint %tmp7, 16711680 ; <uint> [#uses=1] - %tmp9 = or uint %tmp5, %tmp8 ; <uint> [#uses=1] - %tmp11 = shl uint %i, ubyte 24 ; <uint> [#uses=1] - %tmp12 = or uint %tmp9, %tmp11 ; <uint> [#uses=1] - ret uint %tmp12 -} - -uint %test2(uint %arg) { - %tmp2 = shl uint %arg, ubyte 24 ; <uint> [#uses=1] - %tmp4 = shl uint %arg, ubyte 8 ; <uint> [#uses=1] - %tmp5 = and uint %tmp4, 16711680 ; <uint> [#uses=1] - %tmp6 = or uint %tmp2, %tmp5 ; <uint> [#uses=1] - %tmp8 = shr uint %arg, ubyte 8 ; <uint> [#uses=1] - %tmp9 = and uint %tmp8, 65280 ; <uint> [#uses=1] - %tmp10 = or uint %tmp6, %tmp9 ; <uint> [#uses=1] - %tmp12 = shr uint %arg, ubyte 24 ; <uint> [#uses=1] - %tmp14 = or uint %tmp10, %tmp12 ; <uint> [#uses=1] - ret uint %tmp14 -} - -ushort %test3(ushort %s) { - %tmp2 = shr ushort %s, ubyte 8 - %tmp4 = shl ushort %s, ubyte 8 - %tmp5 = or ushort %tmp2, %tmp4 - ret ushort %tmp5 -} - -ushort %test4(ushort %s) { - %tmp2 = shr ushort %s, ubyte 8 - %tmp4 = shl ushort %s, ubyte 8 - %tmp5 = or ushort %tmp4, %tmp2 - ret ushort %tmp5 -} - -; unsigned short test5(unsigned short a) { -; return ((a & 0xff00) >> 8 | (a & 0x00ff) << 8); -;} -ushort %test5(ushort %a) { - %tmp = zext ushort %a to int - %tmp1 = and int %tmp, 65280 - %tmp2 = ashr int %tmp1, ubyte 8 - %tmp2 = trunc int %tmp2 to short - %tmp3 = zext ushort %a to int - %tmp4 = and int %tmp3, 255 - %tmp5 = shl int %tmp4, ubyte 8 - %tmp5 = trunc int %tmp5 to short - %tmp = or short %tmp2, %tmp5 - %tmp6 = bitcast short %tmp to ushort - %tmp6 = zext ushort %tmp6 to int - %retval = trunc int %tmp6 to ushort - ret ushort %retval -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/call-cast-target.ll b/llvm/test/Regression/Transforms/InstCombine/call-cast-target.ll deleted file mode 100644 index 4a3cb2af228..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/call-cast-target.ll +++ /dev/null @@ -1,15 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep call | not grep bitcast - -target endian = little -target pointersize = 32 -target triple = "i686-pc-linux-gnu" - -implementation ; Functions: - -int %main() { -entry: - %tmp = call int cast (sbyte* (int*)* %ctime to int (int*)*)( int* null ) - ret int %tmp -} - -declare sbyte* %ctime(int*) diff --git a/llvm/test/Regression/Transforms/InstCombine/call-intrinsics.ll b/llvm/test/Regression/Transforms/InstCombine/call-intrinsics.ll deleted file mode 100644 index e8549981e1d..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/call-intrinsics.ll +++ /dev/null @@ -1,17 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis - -declare void %llvm.memmove.i32(sbyte*, sbyte*, uint, uint) -declare void %llvm.memcpy.i32(sbyte*, sbyte*, uint, uint) -declare void %llvm.memset.i32(sbyte*, ubyte, uint, uint) - -%X = global sbyte 0 -%Y = global sbyte 12 - -void %zero_byte_test() { - ; These process zero bytes, so they are a noop. - call void %llvm.memmove.i32(sbyte* %X, sbyte* %Y, uint 0, uint 100) - call void %llvm.memcpy.i32(sbyte* %X, sbyte* %Y, uint 0, uint 100) - call void %llvm.memset.i32(sbyte* %X, ubyte 123, uint 0, uint 100) - ret void -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/call.ll b/llvm/test/Regression/Transforms/InstCombine/call.ll deleted file mode 100644 index aa9495e0c27..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/call.ll +++ /dev/null @@ -1,56 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep call | notcast - -implementation - -; Simple case, argument translatable without changing the value -declare void %test1a(sbyte *%A) -void %test1(int *%A) { - call void(int*)* cast (void(sbyte*)* %test1a to void(int*)*)(int* %A) - ret void -} - -; More complex case, translate argument because of resolution. This is safe -; because we have the body of the function -void %test2a(sbyte %A) { ret void } -int %test2(int %A) { - call void(int)* cast (void(sbyte)* %test2a to void(int)*)(int %A) - ret int %A -} - -; Resolving this should insert a cast from sbyte to int, following the C -; promotion rules. -declare void %test3a(sbyte %A, ...) -void %test3(sbyte %A, sbyte %B) { - call void(sbyte, sbyte)* cast (void(sbyte,...)* %test3a to void(sbyte,sbyte)*)(sbyte %A, sbyte %B) - ret void -} - -; test conversion of return value... -sbyte %test4a() { ret sbyte 0 } -int %test4() { - %X = call int()* cast (sbyte()* %test4a to int()*)() - ret int %X -} - -; test conversion of return value... no value conversion occurs so we can do -; this with just a prototype... -declare uint %test5a() -int %test5() { - %X = call int()* cast (uint()* %test5a to int()*)() - ret int %X -} - -; test addition of new arguments... -declare int %test6a(int %X) -int %test6() { - %X = call int()* cast (int(int)* %test6a to int()*)() - ret int %X -} - -; test removal of arguments, only can happen with a function body -void %test7a() { ret void } -void %test7() { - call void(int)* cast (void()* %test7a to void(int)*)(int 5) - ret void -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/canonicalize_branch.ll b/llvm/test/Regression/Transforms/InstCombine/canonicalize_branch.ll deleted file mode 100644 index 1434c7bee08..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/canonicalize_branch.ll +++ /dev/null @@ -1,27 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep 'setne\|setle\|setge' - -int %test1(uint %X, uint %Y) { - %C = setne uint %X, %Y - br bool %C, label %T, label %F -T: - ret int 12 -F: - ret int 123 -} - -int %test2(uint %X, uint %Y) { - %C = setle uint %X, %Y - br bool %C, label %T, label %F -T: - ret int 12 -F: - ret int 123 -} -int %test3(uint %X, uint %Y) { - %C = setge uint %X, %Y - br bool %C, label %T, label %F -T: - ret int 12 -F: - ret int 123 -} diff --git a/llvm/test/Regression/Transforms/InstCombine/cast-and-cast.ll b/llvm/test/Regression/Transforms/InstCombine/cast-and-cast.ll deleted file mode 100644 index b141974bece..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/cast-and-cast.ll +++ /dev/null @@ -1,15 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep bitcast - -bool %test1(uint %val) { - %t1 = bitcast uint %val to int - %t2 = and int %t1, 1 - %t3 = trunc int %t2 to bool - ret bool %t3 -} - -short %test1(uint %val) { - %t1 = bitcast uint %val to int - %t2 = and int %t1, 1 - %t3 = trunc int %t2 to short - ret short %t3 -} diff --git a/llvm/test/Regression/Transforms/InstCombine/cast-cast-to-and.ll b/llvm/test/Regression/Transforms/InstCombine/cast-cast-to-and.ll deleted file mode 100644 index 8789b98b44b..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/cast-cast-to-and.ll +++ /dev/null @@ -1,8 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep ubyte - -int %test1(uint %X) { - %Y = cast uint %X to ubyte ;; Turn into an AND - %Z = cast ubyte %Y to int - ret int %Z -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/cast-load-gep.ll b/llvm/test/Regression/Transforms/InstCombine/cast-load-gep.ll deleted file mode 100644 index 0a369bce039..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/cast-load-gep.ll +++ /dev/null @@ -1,22 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -globaldce | llvm-dis | not grep Array - -; Pulling the cast out of the load allows us to eliminate the load, and then -; the whole array. - -%unop = type {int } -%op = type {float} - -%Array = internal constant [1 x %op* (%op*)*] [ %op* (%op*)* %foo ] - -implementation - -%op* %foo(%op* %X) { - ret %op* %X -} - -%unop* %caller(%op* %O) { - %tmp = load %unop* (%op*)** cast ([1 x %op* (%op*)*]* %Array to %unop* (%op*)**) - %tmp.2 = call %unop* (%op*)* %tmp(%op* %O) - ret %unop* %tmp.2 -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/cast-malloc.ll b/llvm/test/Regression/Transforms/InstCombine/cast-malloc.ll deleted file mode 100644 index 2458bf3ea44..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/cast-malloc.ll +++ /dev/null @@ -1,8 +0,0 @@ -; test that casted mallocs get converted to malloc of the right type -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep bitcast - -int* %test(uint %size) { - %X = malloc long, uint %size - %ret = bitcast long* %X to int* - ret int* %ret -} diff --git a/llvm/test/Regression/Transforms/InstCombine/cast-propagate.ll b/llvm/test/Regression/Transforms/InstCombine/cast-propagate.ll deleted file mode 100644 index d4f07a4d842..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/cast-propagate.ll +++ /dev/null @@ -1,9 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -mem2reg | llvm-dis | not grep load - -int %test1(uint* %P) { - %A = alloca uint - store uint 123, uint* %A - %Q = cast uint* %A to int* ; Cast the result of the load not the source - %V = load int* %Q - ret int %V -} diff --git a/llvm/test/Regression/Transforms/InstCombine/cast-set.ll b/llvm/test/Regression/Transforms/InstCombine/cast-set.ll deleted file mode 100644 index 801aa1bfc50..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/cast-set.ll +++ /dev/null @@ -1,49 +0,0 @@ -; This tests for various complex cast elimination cases instcombine should -; handle. - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | notcast - -bool %test1(int %X) { - %A = cast int %X to uint - %c = setne uint %A, 12 ; Convert to setne int %X, 12 - ret bool %c -} - -bool %test2(int %X, int %Y) { - %A = cast int %X to uint - %B = cast int %Y to uint - %c = setne uint %A, %B ; Convert to setne int %X, %Y - ret bool %c -} - -int %test4(int %A) { - %B = cast int %A to uint - %C = shl uint %B, ubyte 2 - %D = cast uint %C to int - ret int %D -} - -short %test5(short %A) { - %B = cast short %A to uint - %C = and uint %B, 15 - %D = cast uint %C to short - ret short %D -} - -bool %test6(bool %A) { - %B = cast bool %A to int - %C = setne int %B, 0 - ret bool %C -} - -bool %test6a(bool %A) { - %B = cast bool %A to int - %C = setne int %B, -1 ; Always true! - ret bool %C -} - -bool %test7(sbyte* %A) { - %B = cast sbyte* %A to int* - %C = seteq int* %B, null - ret bool %C -} diff --git a/llvm/test/Regression/Transforms/InstCombine/cast.ll b/llvm/test/Regression/Transforms/InstCombine/cast.ll deleted file mode 100644 index 6cad43bd7dc..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/cast.ll +++ /dev/null @@ -1,229 +0,0 @@ -; Tests to make sure elimination of casts is working correctly -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep '%c' | notcast - -%inbuf = external global [32832 x ubyte] - -implementation - -int %test1(int %A) { - %c1 = cast int %A to uint - %c2 = cast uint %c1 to int - ret int %c2 -} - -ulong %test2(ubyte %A) { - %c1 = cast ubyte %A to ushort - %c2 = cast ushort %c1 to uint - %Ret = cast uint %c2 to ulong - ret ulong %Ret -} - -ulong %test3(ulong %A) { ; This function should just use bitwise AND - %c1 = cast ulong %A to ubyte - %c2 = cast ubyte %c1 to ulong - ret ulong %c2 -} - -uint %test4(int %A, int %B) { - %COND = setlt int %A, %B - %c = cast bool %COND to ubyte ; Booleans are unsigned integrals - %result = cast ubyte %c to uint ; for the cast elim purpose - ret uint %result -} - -int %test5(bool %B) { - %c = cast bool %B to ubyte ; This cast should get folded into - %result = cast ubyte %c to int ; this cast - ret int %result -} - -int %test6(ulong %A) { - %c1 = cast ulong %A to uint - %res = cast uint %c1 to int - ret int %res -} - -long %test7(bool %A) { - %c1 = cast bool %A to int - %res = cast int %c1 to long - ret long %res -} - -long %test8(sbyte %A) { - %c1 = cast sbyte %A to ulong - %res = cast ulong %c1 to long - ret long %res -} - -short %test9(short %A) { - %c1 = cast short %A to int - %c2 = cast int %c1 to short - ret short %c2 -} - -short %test10(short %A) { - %c1 = cast short %A to uint - %c2 = cast uint %c1 to short - ret short %c2 -} - -declare void %varargs(int, ...) - -void %test11(int* %P) { - %c = cast int* %P to short* - call void(int, ...)* %varargs(int 5, short* %c) - ret void -} - -int* %test12() { - %p = malloc [4 x sbyte] - %c = cast [4 x sbyte]* %p to int* - ret int* %c -} - -ubyte *%test13(long %A) { - %c = getelementptr [0 x ubyte]* cast ([32832 x ubyte]* %inbuf to [0 x ubyte]*), long 0, long %A - ret ubyte* %c -} - -bool %test14(sbyte %A) { - %c = cast sbyte %A to ubyte - %X = setlt ubyte %c, 128 ; setge %A, 0 - ret bool %X -} - -; This just won't occur when there's no difference between ubyte and sbyte -;bool %test15(ubyte %A) { -; %c = cast ubyte %A to sbyte -; %X = setlt sbyte %c, 0 ; setgt %A, 127 -; ret bool %X -;} - -bool %test16(int* %P) { - %c = cast int* %P to bool ;; setne P, null - ret bool %c -} - -short %test17(bool %tmp3) { - %c = cast bool %tmp3 to int - %t86 = cast int %c to short - ret short %t86 -} - -short %test18(sbyte %tmp3) { - %c = cast sbyte %tmp3 to int - %t86 = cast int %c to short - ret short %t86 -} - -bool %test19(int %X) { - %c = cast int %X to long - %Z = setlt long %c, 12345 - ret bool %Z -} - -bool %test20(bool %B) { - %c = cast bool %B to int - %D = setlt int %c, -1 - ret bool %D ;; false -} - -uint %test21(uint %X) { - %c1 = cast uint %X to sbyte - %c2 = cast sbyte %c1 to uint ;; sext -> zext -> and -> nop - %RV = and uint %c2, 255 - ret uint %RV -} - -uint %test22(uint %X) { - %c1 = cast uint %X to sbyte - %c2 = cast sbyte %c1 to uint ;; sext -> zext -> and -> nop - %RV = shl uint %c2, ubyte 24 - ret uint %RV -} - -int %test23(int %X) { - %c1 = cast int %X to ushort ;; Turn into an AND even though X - %c2 = cast ushort %c1 to int ;; and Z are signed. - ret int %c2 -} - -bool %test24(bool %C) { - %X = select bool %C, uint 14, uint 1234 - %c = cast uint %X to bool ;; Fold cast into select - ret bool %c -} - -void %test25(int** %P) { - %c = cast int** %P to float** - store float* null, float** %c ;; Fold cast into null - ret void -} - -int %test26(float %F) { - %c = cast float %F to double ;; no need to cast from float->double. - %D = cast double %c to int - ret int %D -} - -[4 x float]* %test27([9 x [4 x float]]* %A) { - %c = cast [9 x [4 x float]]* %A to [4 x float]* - ret [4 x float]* %c -} - -float* %test28([4 x float]* %A) { - %c = cast [4 x float]* %A to float* - ret float* %c -} - -uint %test29(uint %c1, uint %c2) { - %tmp1 = cast uint %c1 to ubyte - %tmp4.mask = cast uint %c2 to ubyte - %tmp = or ubyte %tmp4.mask, %tmp1 - %tmp10 = cast ubyte %tmp to uint - ret uint %tmp10 -} - -uint %test30(uint %c1) { - %c2 = cast uint %c1 to ubyte - %c3 = xor ubyte %c2, 1 - %c4 = cast ubyte %c3 to uint - ret uint %c4 -} - -bool %test31(ulong %A) { - %B = cast ulong %A to int - %C = and int %B, 42 - %D = seteq int %C, 10 - ret bool %D -} - - -void %test32(double** %tmp) { - %tmp8 = malloc [16 x sbyte] - %tmp8 = cast [16 x sbyte]* %tmp8 to double* - store double* %tmp8, double** %tmp - ret void -} - -uint %test33(uint %c1) { - %x = bitcast uint %c1 to float - %y = bitcast float %x to uint - ret uint %y -} - -ushort %test34(ushort %a) { - %c1 = zext ushort %a to int - %tmp21 = lshr int %c1, ubyte 8 - %c2 = trunc int %tmp21 to ushort - ret ushort %c2 -} - -ushort %test35(ushort %a) { - %c1 = bitcast ushort %a to short - %tmp2 = lshr short %c1, ubyte 8 - %c2 = bitcast short %tmp2 to ushort - ret ushort %c2 -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/cast_ptr.ll b/llvm/test/Regression/Transforms/InstCombine/cast_ptr.ll deleted file mode 100644 index 19d3ca6f8e8..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/cast_ptr.ll +++ /dev/null @@ -1,15 +0,0 @@ -; Tests to make sure elimination of casts is working correctly -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep '\([sz]ext\)\|\(trunc\)' - -target pointersize = 32 - -implementation - -sbyte* %test1(sbyte* %t) { - %tmpc = cast sbyte* %t to uint - %tmpa = add uint %tmpc, 32 - %tv = cast uint %tmpa to sbyte* - ret sbyte* %tv -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/deadcode.ll b/llvm/test/Regression/Transforms/InstCombine/deadcode.ll deleted file mode 100644 index 836d6147f23..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/deadcode.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep 'ret i32 %A' - -int %test(int %A) { - %X = or bool false, false - br bool %X, label %T, label %C -T: - %B = add int %A, 1 - br label %C -C: - %C = phi int [%B, %T], [%A, %0] - ret int %C -} diff --git a/llvm/test/Regression/Transforms/InstCombine/dg.exp b/llvm/test/Regression/Transforms/InstCombine/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/InstCombine/div.ll b/llvm/test/Regression/Transforms/InstCombine/div.ll deleted file mode 100644 index 18d93c2a76d..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/div.ll +++ /dev/null @@ -1,68 +0,0 @@ -; This test makes sure that div instructions are properly eliminated. -; - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep div - -implementation - -int %test1(int %A) { - %B = div int %A, 1 - ret int %B -} - -uint %test2(uint %A) { - %B = div uint %A, 8 ; => Shift - ret uint %B -} - -int %test3(int %A) { - %B = div int 0, %A ; => 0, don't need to keep traps - ret int %B -} - -int %test4(int %A) { - %B = div int %A, -1 ; 0-A - ret int %B -} - -uint %test5(uint %A) { - %B = div uint %A, 4294967280 - %C = div uint %B, 4294967292 - ret uint %C -} - -bool %test6(uint %A) { - %B = div uint %A, 123 - %C = seteq uint %B, 0 ; A < 123 - ret bool %C -} - -bool %test7(uint %A) { - %B = div uint %A, 10 - %C = seteq uint %B, 2 ; A >= 20 && A < 30 - ret bool %C -} - -bool %test8(ubyte %A) { - %B = div ubyte %A, 123 - %C = seteq ubyte %B, 2 ; A >= 246 - ret bool %C -} - -bool %test9(ubyte %A) { - %B = div ubyte %A, 123 - %C = setne ubyte %B, 2 ; A < 246 - ret bool %C -} - -uint %test10(uint %X, bool %C) { - %V = select bool %C, uint 64, uint 8 - %R = udiv uint %X, %V - ret uint %R -} - -int %test11(int %X, bool %C) { - %A = select bool %C, int 1024, int 32 - %B = udiv int %X, %A - ret int %B -} diff --git a/llvm/test/Regression/Transforms/InstCombine/fpcast.ll b/llvm/test/Regression/Transforms/InstCombine/fpcast.ll deleted file mode 100644 index 1da8e42edf4..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/fpcast.ll +++ /dev/null @@ -1,14 +0,0 @@ -; Test some floating point casting cases -; RUN: llvm-upgrade %s -o - | llvm-as | opt -instcombine | llvm-dis | notcast -; RUN: llvm-upgrade %s -o - | llvm-as | opt -instcombine | llvm-dis | \ -; RUN: grep 'ret i8 \(-1\)\|\(255\)' - -sbyte %test1() { - %x = fptoui float 255.0 to sbyte - ret sbyte %x -} - -ubyte %test2() { - %x = fptosi float -1.0 to ubyte - ret ubyte %x -} diff --git a/llvm/test/Regression/Transforms/InstCombine/getelementptr-setcc.ll b/llvm/test/Regression/Transforms/InstCombine/getelementptr-setcc.ll deleted file mode 100644 index 4b637f2cfb1..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/getelementptr-setcc.ll +++ /dev/null @@ -1,32 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep getelementptr - -bool %test1(short* %P, int %I, int %J) { - %X = getelementptr short* %P, int %I - %Y = getelementptr short* %P, int %J - - %C = setlt short* %X, %Y - ret bool %C -} - -bool %test2(short* %P, int %I) { - %X = getelementptr short* %P, int %I - - %C = setlt short* %X, %P - ret bool %C -} - -int %test3(int* %P, int %A, int %B) { - %tmp.4 = getelementptr int* %P, int %A ; <int*> [#uses=1] - %tmp.9 = getelementptr int* %P, int %B ; <int*> [#uses=1] - %tmp.10 = seteq int* %tmp.4, %tmp.9 ; <bool> [#uses=1] - %tmp.11 = cast bool %tmp.10 to int ; <int> [#uses=1] - ret int %tmp.11 -} - -int %test4(int* %P, int %A, int %B) { - %tmp.4 = getelementptr int* %P, int %A ; <int*> [#uses=1] - %tmp.6 = seteq int* %tmp.4, %P ; <bool> [#uses=1] - %tmp.7 = cast bool %tmp.6 to int ; <int> [#uses=1] - ret int %tmp.7 -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/getelementptr.ll b/llvm/test/Regression/Transforms/InstCombine/getelementptr.ll deleted file mode 100644 index 53a2892dc74..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/getelementptr.ll +++ /dev/null @@ -1,73 +0,0 @@ -; The %A getelementptr instruction should be eliminated here - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep -v '%B' | not grep getelementptr - -%Global = constant [10 x sbyte] c"helloworld" - -implementation - -int *%foo1(int* %I) { ; Test noop elimination - %A = getelementptr int* %I, long 0 - ret int * %A -} - -int* %foo2(int* %I) { ; Test noop elimination - %A = getelementptr int* %I - ret int* %A -} -int* %foo3(int * %I) { ; Test that two array indexing geps fold - %A = getelementptr int* %I, long 17 - %B = getelementptr int* %A, long 4 - ret int* %B -} - -int* %foo4({int} *%I) { ; Test that two getelementptr insts fold - %A = getelementptr {int}* %I, long 1 - %B = getelementptr {int}* %A, long 0, uint 0 - ret int* %B -} - -void %foo5(sbyte %B) { - ; This should be turned into a constexpr instead of being an instruction - %A = getelementptr [10 x sbyte]* %Global, long 0, long 4 - store sbyte %B, sbyte* %A - ret void -} - -int* %foo6() { - %M = malloc [4 x int] - %A = getelementptr [4 x int]* %M, long 0, long 0 - %B = getelementptr int* %A, long 2 - ret int* %B -} - -int* %foo7(int* %I, long %C, long %D) { - %A = getelementptr int* %I, long %C - %B = getelementptr int* %A, long %D - ret int* %B -} - -sbyte* %foo8([10 x int]* %X) { - %A = getelementptr [10 x int]* %X, long 0, long 0 ;; Fold into the cast. - %B = cast int* %A to sbyte* - ret sbyte * %B -} - -int %test9() { - %A = getelementptr {int, double}* null, int 0, uint 1 - %B = cast double* %A to int - ret int %B -} - -bool %test10({int, int} * %x, {int, int} * %y) { - %tmp.1 = getelementptr {int,int}* %x, int 0, uint 1 - %tmp.3 = getelementptr {int,int}* %y, int 0, uint 1 - %tmp.4 = seteq int* %tmp.1, %tmp.3 ;; seteq x, y - ret bool %tmp.4 -} - -bool %test11({int,int} *%X) { - %P = getelementptr {int,int}* %X, int 0, uint 0 - %Q = seteq int* %P, null - ret bool %Q -} diff --git a/llvm/test/Regression/Transforms/InstCombine/getelementptr_cast.ll b/llvm/test/Regression/Transforms/InstCombine/getelementptr_cast.ll deleted file mode 100644 index 9d629d3bad3..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/getelementptr_cast.ll +++ /dev/null @@ -1,9 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | notcast '' 'getelementptr.*' -%G = external global [3 x sbyte] - -implementation - -ubyte *%foo(uint %Idx) { - %tmp = getelementptr ubyte* cast ([3 x sbyte]* %G to ubyte*), uint %Idx - ret ubyte* %tmp -} diff --git a/llvm/test/Regression/Transforms/InstCombine/getelementptr_const.ll b/llvm/test/Regression/Transforms/InstCombine/getelementptr_const.ll deleted file mode 100644 index 9a078c50fd1..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/getelementptr_const.ll +++ /dev/null @@ -1,13 +0,0 @@ -; Test folding of constantexpr geps into normal geps. -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -gcse -instcombine | llvm-dis | not grep getelementptr - -%Array = external global [40 x int] - -int %test(long %X) { - %A = getelementptr int* getelementptr ([40 x int]* %Array, long 0, long 0), long %X - %B = getelementptr [40 x int]* %Array, long 0, long %X - %a = cast int* %A to int - %b = cast int* %B to int - %c = sub int %a, %b - ret int %c -} diff --git a/llvm/test/Regression/Transforms/InstCombine/getelementptr_index.ll b/llvm/test/Regression/Transforms/InstCombine/getelementptr_index.ll deleted file mode 100644 index c4a7317bdeb..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/getelementptr_index.ll +++ /dev/null @@ -1,10 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep trunc - -target endian = little -target pointersize = 32 - -int* %test(int* %X, long %Idx) { - ; Should insert a cast to int on this target - %R = getelementptr int* %X, long %Idx - ret int* %R -} diff --git a/llvm/test/Regression/Transforms/InstCombine/hoist_instr.ll b/llvm/test/Regression/Transforms/InstCombine/hoist_instr.ll deleted file mode 100644 index 4059563dc23..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/hoist_instr.ll +++ /dev/null @@ -1,16 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | %prcontext div 1 | grep then: - -;; This tests that the div is hoisted into the then block. - -int %foo(bool %C, int %A, int %B) { -entry: - br bool %C, label %then, label %endif - -then: - br label %endif - -endif: - %X = phi int [%A, %then], [15, %entry] - %Y = div int %X, 42 - ret int %Y -} diff --git a/llvm/test/Regression/Transforms/InstCombine/load.ll b/llvm/test/Regression/Transforms/InstCombine/load.ll deleted file mode 100644 index 58f9894903b..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/load.ll +++ /dev/null @@ -1,74 +0,0 @@ -; This test makes sure that these instructions are properly eliminated. -; - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep load - -%X = constant int 42 -%X2 = constant int 47 -%Y = constant [2 x { int, float }] [ { int, float } { int 12, float 1.0 }, - { int, float } { int 37, float 1.2312 } ] -%Z = constant [2 x { int, float }] zeroinitializer - -int %test1() { - %B = load int* %X - ret int %B -} - -float %test2() { - %A = getelementptr [2 x { int, float}]* %Y, long 0, long 1, uint 1 - %B = load float* %A - ret float %B -} - - -int %test3() { - %A = getelementptr [2 x { int, float}]* %Y, long 0, long 0, uint 0 - %B = load int* %A - ret int %B -} - -int %test4() { - %A = getelementptr [2 x { int, float}]* %Z, long 0, long 1, uint 0 - %B = load int* %A - ret int %B -} - -; load (select (Cond, &V1, &V2)) --> select(Cond, load &V1, load &V2) -int %test5(bool %C) { - %Y = select bool %C, int* %X, int* %X2 - %Z = load int* %Y - ret int %Z -} - -int %test7(int %X) { - %V = getelementptr int* null, int %X - %R = load int* %V - ret int %R -} - -int %test8(int* %P) { - store int 1, int* %P - %X = load int* %P ;; Trivial store->load forwarding - ret int %X -} - -int %test9(int* %P) { - %X = load int* %P ;; Trivial load cse - %Y = load int* %P - %Z = sub int %X, %Y - ret int %Z -} - -int %test10(bool %C, int* %P, int* %Q) { - br bool %C, label %T, label %F -T: - store int 1, int* %Q - store int 0, int* %P - br label %C -F: - store int 0, int* %P - br label %C -C: - %V = load int* %P ;; always 0 - ret int %V -} diff --git a/llvm/test/Regression/Transforms/InstCombine/malloc.ll b/llvm/test/Regression/Transforms/InstCombine/malloc.ll deleted file mode 100644 index 34fdfe862e8..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/malloc.ll +++ /dev/null @@ -1,7 +0,0 @@ -; test that malloc's with a constant argument are promoted to array allocations -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep getelementptr - -int* %test() { - %X = malloc int, uint 4 - ret int* %X -} diff --git a/llvm/test/Regression/Transforms/InstCombine/memmove.ll b/llvm/test/Regression/Transforms/InstCombine/memmove.ll deleted file mode 100644 index fb20dbc873c..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/memmove.ll +++ /dev/null @@ -1,23 +0,0 @@ -; This test makes sure that memmove instructions are properly eliminated. -; - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep 'call void %llvm.memmove' - -%S = internal constant [33 x sbyte] c"panic: restorelist inconsistency\00" - -implementation - -declare void %llvm.memmove(sbyte*, sbyte*, uint, uint) - -void %test1(sbyte* %A, sbyte* %B, uint %N) { - ;; 0 bytes -> noop. - call void %llvm.memmove(sbyte* %A, sbyte* %B, uint 0, uint 1) - ret void -} - -void %test2(sbyte *%A, uint %N) { - ;; dest can't alias source since we can't write to source! - call void %llvm.memmove(sbyte* %A, sbyte* getelementptr ([33 x sbyte]* %S, int 0, int 0), - uint %N, uint 1) - ret void -} diff --git a/llvm/test/Regression/Transforms/InstCombine/mul.ll b/llvm/test/Regression/Transforms/InstCombine/mul.ll deleted file mode 100644 index ccec6b894a7..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/mul.ll +++ /dev/null @@ -1,74 +0,0 @@ -; This test makes sure that mul instructions are properly eliminated. -; - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep mul - -implementation - -int %test1(int %A) { - %B = mul int %A, 1 - ret int %B -} - -int %test2(int %A) { - %B = mul int %A, 2 ; Should convert to an add instruction - ret int %B -} - -int %test3(int %A) { - %B = mul int %A, 0 ; This should disappear entirely - ret int %B -} - -double %test4(double %A) { - %B = mul double 1.0, %A ; This is safe for FP - ret double %B -} - -int %test5(int %A) { - %B = mul int %A, 8 - ret int %B -} - -ubyte %test6(ubyte %A) { - %B = mul ubyte %A, 8 - %C = mul ubyte %B, 8 - ret ubyte %C -} - -int %test7(int %i) { - %tmp = mul int %i, -1 ; %tmp = sub 0, %i - ret int %tmp -} - -ulong %test8(ulong %i) { - %j = mul ulong %i, 18446744073709551615 ; tmp = sub 0, %i - ret ulong %j -} - -uint %test9(uint %i) { - %j = mul uint %i, 4294967295 ; %j = sub 0, %i - ret uint %j -} - -uint %test10(int %a, uint %b) { - %c = setlt int %a, 0 - %d = cast bool %c to uint - %e = mul uint %d, %b ; e = b & (a >> 31) - ret uint %e -} - -uint %test11(int %a, uint %b) { - %c = setle int %a, -1 - %d = cast bool %c to uint - %e = mul uint %d, %b ; e = b & (a >> 31) - ret uint %e -} - -uint %test11(ubyte %a, uint %b) { - %c = setgt ubyte %a, 127 - %d = cast bool %c to uint - %e = mul uint %d, %b ; e = b & (a >> 31) - ret uint %e -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/narrow.ll b/llvm/test/Regression/Transforms/InstCombine/narrow.ll deleted file mode 100644 index bff2b88a5db..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/narrow.ll +++ /dev/null @@ -1,18 +0,0 @@ -; This file contains various testcases that check to see that instcombine -; is narrowing computations when possible. - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ -; RUN: grep 'ret i1 false' - -; test1 - Eliminating the casts in this testcase (by narrowing the AND -; operation) allows instcombine to realize the function always returns false. -; -bool %test1(int %A, int %B) { - %C1 = setlt int %A, %B - %ELIM1 = zext bool %C1 to uint - %C2 = setgt int %A, %B - %ELIM2 = zext bool %C2 to uint - %C3 = and uint %ELIM1, %ELIM2 - %ELIM3 = trunc uint %C3 to bool - ret bool %ELIM3 -} diff --git a/llvm/test/Regression/Transforms/InstCombine/not.ll b/llvm/test/Regression/Transforms/InstCombine/not.ll deleted file mode 100644 index 3e85692500e..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/not.ll +++ /dev/null @@ -1,45 +0,0 @@ -; This test makes sure that these instructions are properly eliminated. -; - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep xor - -implementation - -int %test1(int %A) { - %B = xor int %A, -1 - %C = xor int %B, -1 - ret int %C -} - -bool %test2(int %A, int %B) { - %cond = setle int %A, %B ; Can change into setge - %Ret = xor bool %cond, true - ret bool %Ret -} - - -; Test that demorgans law can be instcombined -int %test3(int %A, int %B) { - %a = xor int %A, -1 - %b = xor int %B, -1 - %c = and int %a, %b - %d = xor int %c, -1 - ret int %d -} - -; Test that demorgens law can work with constants -int %test4(int %A, int %B) { - %a = xor int %A, -1 - %c = and int %a, 5 ; 5 = ~c2 - %d = xor int %c, -1 - ret int %d -} - -; test the mirror of demorgans law... -int %test5(int %A, int %B) { - %a = xor int %A, -1 - %b = xor int %B, -1 - %c = or int %a, %b - %d = xor int %c, -1 - ret int %d -} diff --git a/llvm/test/Regression/Transforms/InstCombine/or.ll b/llvm/test/Regression/Transforms/InstCombine/or.ll deleted file mode 100644 index 933f5f006a4..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/or.ll +++ /dev/null @@ -1,158 +0,0 @@ -; This test makes sure that these instructions are properly eliminated. -; - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep -v xor | not grep 'or ' - -implementation - -int %test1(int %A) { - %B = or int %A, 0 - ret int %B -} - -int %test2(int %A) { - %B = or int %A, -1 - ret int %B -} - -ubyte %test2a(ubyte %A) { - %B = or ubyte %A, 255 - ret ubyte %B -} - -bool %test3(bool %A) { - %B = or bool %A, false - ret bool %B -} - -bool %test4(bool %A) { - %B = or bool %A, true - ret bool %B -} - -bool %test5(bool %A) { - %B = or bool %A, %A - ret bool %B -} - -int %test6(int %A) { - %B = or int %A, %A - ret int %B -} - -int %test7(int %A) { ; A | ~A == -1 - %NotA = xor int -1, %A - %B = or int %A, %NotA - ret int %B -} - -ubyte %test8(ubyte %A) { - %B = or ubyte %A, 254 - %C = or ubyte %B, 1 - ret ubyte %C -} - -ubyte %test9(ubyte %A, ubyte %B) { ; Test that (A|c1)|(B|c2) == (A|B)|(c1|c2) - %C = or ubyte %A, 1 - %D = or ubyte %B, 254 - %E = or ubyte %C, %D - ret ubyte %E -} - -ubyte %test10(ubyte %A) { - %B = or ubyte %A, 1 - %C = and ubyte %B, 254 - %D = or ubyte %C, 254 ; (X & C1) | C2 --> (X | C2) & (C1|C2) - ret ubyte %D -} - -ubyte %test11(ubyte %A) { - %B = or ubyte %A, 254 - %C = xor ubyte %B, 13 - %D = or ubyte %C, 1 ; (X ^ C1) | C2 --> (X | C2) ^ (C1&~C2) - %E = xor ubyte %D, 12 - ret ubyte %E -} - -uint %test12(uint %A) { - %B = or uint %A, 4 ; Should be eliminated - %C = and uint %B, 8 - ret uint %C -} - -uint %test13(uint %A) { - %B = or uint %A, 12 - %C = and uint %B, 8 ; Always equal to 8 - ret uint %C -} - -bool %test14(uint %A, uint %B) { - %C1 = setlt uint %A, %B - %C2 = setgt uint %A, %B - %D = or bool %C1, %C2 ; (A < B) | (A > B) === A != B - ret bool %D -} - -bool %test15(uint %A, uint %B) { - %C1 = setlt uint %A, %B - %C2 = seteq uint %A, %B - %D = or bool %C1, %C2 ; (A < B) | (A == B) === A <= B - ret bool %D -} - -int %test16(int %A) { - %B = and int %A, 1 - %C = and int %A, -2 ; -2 = ~1 - %D = or int %B, %C ; %D = and int %B, -1 == %B - ret int %D -} - -int %test17(int %A) { - %B = and int %A, 1 - %C = and int %A, 4 - %D = or int %B, %C ; %D = and int %B, 5 - ret int %D -} - -bool %test18(int %A) { - %B = setge int %A, 100 - %C = setlt int %A, 50 - %D = or bool %B, %C ;; (A-50) >u 50 - ret bool %D -} - -bool %test19(int %A) { - %B = seteq int %A, 50 - %C = seteq int %A, 51 - %D = or bool %B, %C ;; (A-50) < 2 - ret bool %D -} - -int %test20(int %x) { - %y = and int %x, 123 - %z = or int %y, %x - ret int %z -} - -uint %test21(uint %tmp.1) { - %tmp.1.mask1 = add uint %tmp.1, 2 - %tmp.3 = and uint %tmp.1.mask1, 4294967294 - %tmp.5 = and uint %tmp.1, 1 - %tmp.6 = or uint %tmp.5, %tmp.3 ;; add tmp.1, 2 - ret uint %tmp.6 -} - -int %test22(int %B) { - %ELIM41 = and int %B, 1 ; <int> [#uses=1] - %ELIM7 = and int %B, -2 ; <int> [#uses=1] - %ELIM5 = or int %ELIM41, %ELIM7 ; <int> [#uses=1] - ret int %ELIM5 -} - -ushort %test23(ushort %A) { - %B = shr ushort %A, ubyte 1 - %C = or ushort %B, 32768 ;; fold or into xor - %D = xor ushort %C, 8193 - ret ushort %D -} diff --git a/llvm/test/Regression/Transforms/InstCombine/phi.ll b/llvm/test/Regression/Transforms/InstCombine/phi.ll deleted file mode 100644 index 44841b76431..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/phi.ll +++ /dev/null @@ -1,79 +0,0 @@ -; This test makes sure that these instructions are properly eliminated. -; - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep phi - -implementation - -int %test1(int %A, bool %b) { -BB0: br bool %b, label %BB1, label %BB2 -BB1: - %B = phi int [%A, %BB0] ; Combine away one argument PHI nodes - ret int %B -BB2: - ret int %A -} - -int %test2(int %A, bool %b) { -BB0: br bool %b, label %BB1, label %BB2 -BB1: - br label %BB2 -BB2: - %B = phi int [%A, %BB0], [%A, %BB1] ; Combine away PHI nodes with same values - ret int %B -} - -int %test3(int %A, bool %b) { -BB0: br label %Loop - -Loop: - %B = phi int [%A, %BB0], [%B, %Loop] ; PHI has same value always. - br bool %b, label %Loop, label %Exit -Exit: - ret int %B -} - -int %test4(bool %b) { -BB0: ret int 7 ; Loop is unreachable - -Loop: - %B = phi int [%B, %L2], [%B, %Loop] ; PHI has same value always. - br bool %b, label %L2, label %Loop -L2: - br label %Loop -} - -int %test5(int %A, bool %b) { -BB0: br label %Loop - -Loop: - %B = phi int [%A, %BB0], [undef, %Loop] ; PHI has same value always. - br bool %b, label %Loop, label %Exit -Exit: - ret int %B -} - -uint %test6(int %A, bool %b) { -BB0: - %X = cast int %A to uint - br bool %b, label %BB1, label %BB2 -BB1: - %Y = cast int %A to uint - br label %BB2 -BB2: - %B = phi uint [%X, %BB0], [%Y, %BB1] ;; Suck casts into phi - ret uint %B -} - -int %test7(int %A, bool %b) { -BB0: br label %Loop - -Loop: - %B = phi int [%A, %BB0], [%C, %Loop] ; PHI is dead. - %C = add int %B, 123 - br bool %b, label %Loop, label %Exit -Exit: - ret int 0 -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/rem.ll b/llvm/test/Regression/Transforms/InstCombine/rem.ll deleted file mode 100644 index ccb358de4d8..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/rem.ll +++ /dev/null @@ -1,79 +0,0 @@ -; This test makes sure that these instructions are properly eliminated. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep rem - -implementation - -int %test1(int %A) { - %B = rem int %A, 1 ; ISA constant 0 - ret int %B -} - -int %test2(int %A) { ; 0 % X = 0, we don't need to preserve traps - %B = rem int 0, %A - ret int %B -} - -uint %test3(uint %A) { - %B = rem uint %A, 8 ; & 7 - ret uint %B -} - -bool %test3(int %A) { - %B = rem int %A, -8 ; & 7 - %C = setne int %B, 0 - ret bool %C -} - -uint %test4(uint %X, bool %C) { - %V = select bool %C, uint 1, uint 8 - %R = rem uint %X, %V - ret uint %R -} - -uint %test5(uint %X, ubyte %B) { - %Amt = shl uint 32, ubyte %B - %V = rem uint %X, %Amt - ret uint %V -} - -int %test6(int %A) { - %B = rem int %A, 0 ;; undef - ret int %B -} - -int %test7(int %A) { - %B = mul int %A, 26 - %C = rem int %B, 13 - ret int %C -} - -int %test8(int %A) { - %B = shl int %A, ubyte 4 - %C = rem int %B, 8 - ret int %C -} - -uint %test9(uint %A) { - %B = mul uint %A, 124 - %C = rem uint %B, 62 - ret uint %C -} - -int %test10(ubyte %c) { - %tmp.1 = cast ubyte %c to int - %tmp.2 = mul int %tmp.1, 3 - %tmp.3 = cast int %tmp.2 to ulong - %tmp.5 = rem ulong %tmp.3, 3 - %tmp.6 = cast ulong %tmp.5 to int - ret int %tmp.6 -} - -int %test11(int %i) { - %tmp.1 = and int %i, -2 - %tmp.3 = mul int %tmp.1, 3 - %tmp.5 = rem int %tmp.3, 6 - ret int %tmp.5 -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/select.ll b/llvm/test/Regression/Transforms/InstCombine/select.ll deleted file mode 100644 index a9dd75d9ead..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/select.ll +++ /dev/null @@ -1,181 +0,0 @@ -; This test makes sure that these instructions are properly eliminated. - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep select && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output - -implementation - -int %test1(int %A, int %B) { - %C = select bool false, int %A, int %B - ret int %C -} - -int %test2(int %A, int %B) { - %C = select bool true, int %A, int %B - ret int %C -} - -int %test3(bool %C, int %I) { - %V = select bool %C, int %I, int %I ; V = I - ret int %V -} - -bool %test4(bool %C) { - %V = select bool %C, bool true, bool false ; V = C - ret bool %V -} - -bool %test5(bool %C) { - %V = select bool %C, bool false, bool true ; V = !C - ret bool %V -} - -int %test6(bool %C) { - %V = select bool %C, int 1, int 0 ; V = cast C to int - ret int %V -} - -bool %test7(bool %C, bool %X) { - %R = select bool %C, bool true, bool %X ; R = or C, X - ret bool %R -} - -bool %test8(bool %C, bool %X) { - %R = select bool %C, bool %X, bool false ; R = and C, X - ret bool %R -} - -bool %test9(bool %C, bool %X) { - %R = select bool %C, bool false, bool %X ; R = and !C, X - ret bool %R -} - -bool %test10(bool %C, bool %X) { - %R = select bool %C, bool %X, bool true ; R = or !C, X - ret bool %R -} - -int %test11(int %a) { - %C = seteq int %a, 0 - %R = select bool %C, int 0, int 1 - ret int %R -} - -int %test12(bool %cond, int %a) { - %b = or int %a, 1 - %c = select bool %cond, int %b, int %a - ret int %c -} - -int %test12a(bool %cond, int %a) { - %b = shr int %a, ubyte 1 - %c = select bool %cond, int %b, int %a - ret int %c -} - -int %test12b(bool %cond, int %a) { - %b = shr int %a, ubyte 1 - %c = select bool %cond, int %a, int %b - ret int %c -} - -int %test13(int %a, int %b) { - %C = seteq int %a, %b - %V = select bool %C, int %a, int %b - ret int %V -} - -int %test13a(int %a, int %b) { - %C = setne int %a, %b - %V = select bool %C, int %a, int %b - ret int %V -} - -int %test13b(int %a, int %b) { - %C = seteq int %a, %b - %V = select bool %C, int %b, int %a - ret int %V -} - -bool %test14a(bool %C, int %X) { - %V = select bool %C, int %X, int 0 - %R = setlt int %V, 1 ; (X < 1) | !C - ret bool %R -} - -bool %test14b(bool %C, int %X) { - %V = select bool %C, int 0, int %X - %R = setlt int %V, 1 ; (X < 1) | C - ret bool %R -} - -int %test15a(int %X) { ;; Code sequence for (X & 16) ? 16 : 0 - %t1 = and int %X, 16 - %t2 = seteq int %t1, 0 - %t3 = select bool %t2, int 0, int 16 ;; X & 16 - ret int %t3 -} - -int %test15b(int %X) { ;; Code sequence for (X & 32) ? 0 : 24 - %t1 = and int %X, 32 - %t2 = seteq int %t1, 0 - %t3 = select bool %t2, int 32, int 0 ;; ~X & 32 - ret int %t3 -} - -int %test15c(int %X) { ;; Alternate code sequence for (X & 16) ? 16 : 0 - %t1 = and int %X, 16 - %t2 = seteq int %t1, 16 - %t3 = select bool %t2, int 16, int 0 ;; X & 16 - ret int %t3 -} - -int %test15d(int %X) { ;; Alternate code sequence for (X & 16) ? 16 : 0 - %t1 = and int %X, 16 - %t2 = setne int %t1, 0 - %t3 = select bool %t2, int 16, int 0 ;; X & 16 - ret int %t3 -} - -int %test16(bool %C, int* %P) { - %P2 = select bool %C, int* %P, int* null - %V = load int* %P2 - ret int %V -} - -bool %test17(int* %X, bool %C) { - %R = select bool %C, int* %X, int* null - %RV = seteq int* %R, null - ret bool %RV -} - -int %test18(int %X, int %Y, bool %C) { - %R = select bool %C, int %X, int 0 - %V = div int %Y, %R ; div Y,X - ret int %V -} - -int %test19(uint %x) { - %tmp = setgt uint %x, 2147483647 - %retval = select bool %tmp, int -1, int 0 - ret int %retval -} - -int %test20(int %x) { - %tmp = setlt int %x, 0 - %retval = select bool %tmp, int -1, int 0 - ret int %retval -} - -long %test21(int %x) { - %tmp = setlt int %x, 0 - %retval = select bool %tmp, long -1, long 0 - ret long %retval -} - -short %test22(int %x) { - %tmp = setlt int %x, 0 - %retval = select bool %tmp, short -1, short 0 - ret short %retval -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/set.ll b/llvm/test/Regression/Transforms/InstCombine/set.ll deleted file mode 100644 index ca1ccffe6b4..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/set.ll +++ /dev/null @@ -1,147 +0,0 @@ -; This test makes sure that these instructions are properly eliminated. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep icmp - -%X = uninitialized global int - -bool %test1(int %A) { - %B = seteq int %A, %A - %C = seteq int* %X, null ; Never true - %D = and bool %B, %C - ret bool %D -} - -bool %test2(int %A) { - %B = setne int %A, %A - %C = setne int* %X, null ; Never false - %D = or bool %B, %C - ret bool %D -} - -bool %test3(int %A) { - %B = setlt int %A, %A - ret bool %B -} - -bool %test4(int %A) { - %B = setgt int %A, %A - ret bool %B -} - -bool %test5(int %A) { - %B = setle int %A, %A - ret bool %B -} - -bool %test6(int %A) { - %B = setge int %A, %A - ret bool %B -} - -bool %test7(uint %A) { - %B = setge uint %A, 0 ; true - ret bool %B -} - -bool %test8(uint %A) { - %B = setlt uint %A, 0 ; false - ret bool %B -} - -;; test operations on boolean values these should all be eliminated$a -bool %test9(bool %A) { - %B = setlt bool %A, false ; false - ret bool %B -} -bool %test10(bool %A) { - %B = setgt bool %A, true ; false - ret bool %B -} -bool %test11(bool %A) { - %B = setle bool %A, true ; true - ret bool %B -} -bool %test12(bool %A) { - %B = setge bool %A, false ; true - ret bool %B -} -bool %test13(bool %A, bool %B) { - %C = setge bool %A, %B ; A | ~B - ret bool %C -} -bool %test14(bool %A, bool %B) { - %C = seteq bool %A, %B ; ~(A ^ B) - ret bool %C -} - -bool %test16(uint %A) { - %B = and uint %A, 5 - %C = seteq uint %B, 8 ; Is never true - ret bool %C -} - -bool %test17(ubyte %A) { - %B = or ubyte %A, 1 - %C = seteq ubyte %B, 2 ; Always false - ret bool %C -} - -bool %test18(bool %C, int %a) { -entry: - br bool %C, label %endif, label %else - -else: - br label %endif - -endif: - %b.0 = phi int [ 0, %entry ], [ 1, %else ] - %tmp.4 = setlt int %b.0, 123 - ret bool %tmp.4 -} - -bool %test19(bool %A, bool %B) { - %a = cast bool %A to int - %b = cast bool %B to int - %C = seteq int %a, %b - ret bool %C -} - -uint %test20(uint %A) { - %B = and uint %A, 1 - %C = setne uint %B, 0 - %D = cast bool %C to uint - ret uint %D -} - -int %test21(int %a) { - %tmp.6 = and int %a, 4 - %not.tmp.7 = setne int %tmp.6, 0 - %retval = cast bool %not.tmp.7 to int - ret int %retval -} - -bool %test22(uint %A, int %X) { - %B = and uint %A, 100663295 - %C = setlt uint %B, 268435456 - %Y = and int %X, 7 - %Z = setgt int %Y, -1 - %R = or bool %C, %Z - ret bool %R -} - -int %test23(int %a) { - %tmp.1 = and int %a, 1 - %tmp.2 = seteq int %tmp.1, 0 - %tmp.3 = cast bool %tmp.2 to int ;; xor tmp1, 1 - ret int %tmp.3 -} - -int %test24(uint %a) { - %tmp1 = and uint %a, 4 - %tmp.1 = shr uint %tmp1, ubyte 2 - %tmp.2 = seteq uint %tmp.1, 0 - %tmp.3 = cast bool %tmp.2 to int ;; xor tmp1, 1 - ret int %tmp.3 -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/setcc-cast-cast.ll b/llvm/test/Regression/Transforms/InstCombine/setcc-cast-cast.ll deleted file mode 100644 index a25fa0c37d4..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/setcc-cast-cast.ll +++ /dev/null @@ -1,42 +0,0 @@ -; This test case was reduced from MultiSource/Applications/hbd. It makes sure -; that folding doesn't happen in case a zext is applied where a sext should have -; been when a setcc is used with two casts. -; RUN: llvm-upgrade < %s | llvm-as | llc -instcombine | llvm-dis | not grep 'br bool false' -int %bug(ubyte %inbuff) { -entry: - %tmp = bitcast ubyte %inbuff to sbyte ; <sbyte> [#uses=1] - %tmp = sext sbyte %tmp to int ; <int> [#uses=3] - %tmp = seteq int %tmp, 1 ; <bool> [#uses=1] - br bool %tmp, label %cond_true, label %cond_next - -cond_true: ; preds = %entry - br label %bb - -cond_next: ; preds = %entry - %tmp3 = seteq int %tmp, -1 ; <bool> [#uses=1] - br bool %tmp3, label %cond_true4, label %cond_next5 - -cond_true4: ; preds = %cond_next - br label %bb - -cond_next5: ; preds = %cond_next - %tmp7 = setgt int %tmp, 1 ; <bool> [#uses=1] - br bool %tmp7, label %cond_true8, label %cond_false - -cond_true8: ; preds = %cond_next5 - br label %cond_next9 - -cond_false: ; preds = %cond_next5 - br label %cond_next9 - -cond_next9: ; preds = %cond_false, %cond_true8 - %iftmp.1.0 = phi int [ 42, %cond_true8 ], [ 23, %cond_false ] ; <int> [#uses=1] - br label %return - -bb: ; preds = %cond_true4, %cond_true - br label %return - -return: ; preds = %bb, %cond_next9 - %retval.0 = phi int [ 17, %bb ], [ %iftmp.1.0, %cond_next9 ] ; <int> [#uses=1] - ret int %retval.0 -} diff --git a/llvm/test/Regression/Transforms/InstCombine/setcc-strength-reduce.ll b/llvm/test/Regression/Transforms/InstCombine/setcc-strength-reduce.ll deleted file mode 100644 index d38c6686d0b..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/setcc-strength-reduce.ll +++ /dev/null @@ -1,31 +0,0 @@ -; This test ensures that "strength reduction" of conditional expressions are -; working. Basically this boils down to converting setlt,gt,le,ge instructions -; into equivalent setne,eq instructions. -; - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep -v 'icmp eq' | grep -v 'icmp ne' | not grep icmp - -bool %test1(uint %A) { - %B = setge uint %A, 1 ; setne %A, 0 - ret bool %B -} - -bool %test2(uint %A) { - %B = setgt uint %A, 0 ; setne %A, 0 - ret bool %B -} - -bool %test3(sbyte %A) { - %B = setge sbyte %A, -127 ; setne %A, -128 - ret bool %B -} - -bool %test4(sbyte %A) { - %B = setle sbyte %A, 126 ; setne %A, 127 - ret bool %B -} - -bool %test5(sbyte %A) { - %B = setlt sbyte %A, 127 ; setne %A, 127 - ret bool %B -} diff --git a/llvm/test/Regression/Transforms/InstCombine/shift-simplify.ll b/llvm/test/Regression/Transforms/InstCombine/shift-simplify.ll deleted file mode 100644 index ce19384d165..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/shift-simplify.ll +++ /dev/null @@ -1,22 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | egrep 'shl|lshr|ashr' | wc -l | grep 3 - -int %test0(int %A, int %B, ubyte %C) { - %X = shl int %A, ubyte %C - %Y = shl int %B, ubyte %C - %Z = and int %X, %Y - ret int %Z -} - -int %test1(int %A, int %B, ubyte %C) { - %X = lshr int %A, ubyte %C - %Y = lshr int %B, ubyte %C - %Z = or int %X, %Y - ret int %Z -} - -int %test2(int %A, int %B, ubyte %C) { - %X = ashr int %A, ubyte %C - %Y = ashr int %B, ubyte %C - %Z = xor int %X, %Y - ret int %Z -} diff --git a/llvm/test/Regression/Transforms/InstCombine/shift-sra.ll b/llvm/test/Regression/Transforms/InstCombine/shift-sra.ll deleted file mode 100644 index a887d61196a..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/shift-sra.ll +++ /dev/null @@ -1,17 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep 'lshr i32' | wc -l | grep 2 && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep ashr - -int %test1(int %X, ubyte %A) { - %Y = shr int %X, ubyte %A ; can be logical shift. - %Z = and int %Y, 1 - ret int %Z -} - -int %test2(ubyte %tmp) { - %tmp3 = cast ubyte %tmp to int - %tmp4 = add int %tmp3, 7 - %tmp5 = ashr int %tmp4, ubyte 3 ; lshr - ret int %tmp5 -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/shift.ll b/llvm/test/Regression/Transforms/InstCombine/shift.ll deleted file mode 100644 index 28c517018e4..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/shift.ll +++ /dev/null @@ -1,190 +0,0 @@ -; This test makes sure that these instructions are properly eliminated. -; - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep sh - -implementation - -int %test1(int %A) { - %B = shl int %A, ubyte 0 - ret int %B -} - -int %test2(ubyte %A) { - %B = shl int 0, ubyte %A - ret int %B -} - -int %test3(int %A) { - %B = shr int %A, ubyte 0 - ret int %B -} - -int %test4(ubyte %A) { - %B = shr int 0, ubyte %A - ret int %B -} - -uint %test5(uint %A) { - %B = shr uint %A, ubyte 32 ;; shift all bits out - ret uint %B -} - -uint %test5a(uint %A) { - %B = shl uint %A, ubyte 32 ;; shift all bits out - ret uint %B -} - -uint %test6(uint %A) { - %B = shl uint %A, ubyte 1 ;; convert to an mul instruction - %C = mul uint %B, 3 - ret uint %C -} - -int %test7(ubyte %A) { - %B = shr int -1, ubyte %A ;; Always equal to -1 - ret int %B -} - -ubyte %test8(ubyte %A) { ;; (A << 5) << 3 === A << 8 == 0 - %B = shl ubyte %A, ubyte 5 - %C = shl ubyte %B, ubyte 3 - ret ubyte %C -} - -ubyte %test9(ubyte %A) { ;; (A << 7) >> 7 === A & 1 - %B = shl ubyte %A, ubyte 7 - %C = shr ubyte %B, ubyte 7 - ret ubyte %C -} - -ubyte %test10(ubyte %A) { ;; (A >> 7) << 7 === A & 128 - %B = shr ubyte %A, ubyte 7 - %C = shl ubyte %B, ubyte 7 - ret ubyte %C -} - -ubyte %test11(ubyte %A) { ;; (A >> 3) << 4 === (A & 0x1F) << 1 - %a = mul ubyte %A, 3 - %B = shr ubyte %a, ubyte 3 - %C = shl ubyte %B, ubyte 4 - ret ubyte %C -} - -int %test12(int %A) { - %B = shr int %A, ubyte 8 ;; (A >> 8) << 8 === A & -256 - %C = shl int %B, ubyte 8 - ret int %C -} - -sbyte %test13(sbyte %A) { ;; (A >> 3) << 4 === (A & -8) * 2 - %a = mul sbyte %A, 3 - %B = shr sbyte %a, ubyte 3 - %C = shl sbyte %B, ubyte 4 - ret sbyte %C -} - -uint %test14(uint %A) { - %B = shr uint %A, ubyte 4 - %C = or uint %B, 1234 - %D = shl uint %C, ubyte 4 ;; D = ((B | 1234) << 4) === ((B << 4)|(1234 << 4) - ret uint %D -} -uint %test14a(uint %A) { - %B = shl uint %A, ubyte 4 - %C = and uint %B, 1234 - %D = shr uint %C, ubyte 4 ;; D = ((B | 1234) << 4) === ((B << 4)|(1234 << 4) - ret uint %D -} - -int %test15(bool %C) { - %A = select bool %C, int 3, int 1 - %V = shl int %A, ubyte 2 - ret int %V -} - -int %test15a(bool %C) { - %A = select bool %C, ubyte 3, ubyte 1 - %V = shl int 64, ubyte %A - ret int %V -} - -bool %test16(int %X) { - %tmp.3 = shr int %X, ubyte 4 - %tmp.6 = and int %tmp.3, 1 - %tmp.7 = setne int %tmp.6, 0 ;; X & 16 != 0 - ret bool %tmp.7 -} - -bool %test17(uint %A) { - %B = shr uint %A, ubyte 3 - %C = seteq uint %B, 1234 - ret bool %C -} - -bool %test18(ubyte %A) { - %B = shr ubyte %A, ubyte 7 - %C = seteq ubyte %B, 123 ;; false - ret bool %C -} - -bool %test19(int %A) { - %B = shr int %A, ubyte 2 - %C = seteq int %B, 0 ;; (X & -4) == 0 - ret bool %C -} - -bool %test19a(int %A) { - %B = shr int %A, ubyte 2 - %C = seteq int %B, -1 ;; (X & -4) == -4 - ret bool %C -} - -bool %test20(sbyte %A) { - %B = shr sbyte %A, ubyte 7 - %C = seteq sbyte %B, 123 ;; false - ret bool %C -} - -bool %test21(ubyte %A) { - %B = shl ubyte %A, ubyte 4 - %C = seteq ubyte %B, 128 - ret bool %C -} - -bool %test22(ubyte %A) { - %B = shl ubyte %A, ubyte 4 - %C = seteq ubyte %B, 0 - ret bool %C -} - -sbyte %test23(int %A) { - %B = shl int %A, ubyte 24 ;; casts not needed - %C = shr int %B, ubyte 24 - %D = cast int %C to sbyte - ret sbyte %D -} - -sbyte %test24(sbyte %X) { - %Y = and sbyte %X, -5 ; ~4 - %Z = shl sbyte %Y, ubyte 5 - %Q = shr sbyte %Z, ubyte 5 - ret sbyte %Q -} - -uint %test25(uint %tmp.2, uint %AA) { - %x = shr uint %AA, ubyte 17 - %tmp.3 = shr uint %tmp.2, ubyte 17 ; <uint> [#uses=1] - %tmp.5 = add uint %tmp.3, %x ; <uint> [#uses=1] - %tmp.6 = shl uint %tmp.5, ubyte 17 ; <uint> [#uses=1] - ret uint %tmp.6 -} - -int %test26(uint %A) { ;; handle casts between shifts. - %B = shr uint %A, ubyte 1 - %C = cast uint %B to int - %D = shl int %C, ubyte 1 - ret int %D -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/shl-trunc.ll b/llvm/test/Regression/Transforms/InstCombine/shl-trunc.ll deleted file mode 100644 index bfd41a87fc7..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/shl-trunc.ll +++ /dev/null @@ -1,7 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep shl - -bool %test(int %X, ubyte %A) { - %B = lshr int %X, ubyte %A - %D = trunc int %B to bool - ret bool %D -} diff --git a/llvm/test/Regression/Transforms/InstCombine/signext.ll b/llvm/test/Regression/Transforms/InstCombine/signext.ll deleted file mode 100644 index 7dcb466ad64..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/signext.ll +++ /dev/null @@ -1,43 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep '(and\|xor\|add\|shl\|shr)' - -int %test1(int %x) { - %tmp.1 = and int %x, 65535 ; <int> [#uses=1] - %tmp.2 = xor int %tmp.1, -32768 ; <int> [#uses=1] - %tmp.3 = add int %tmp.2, 32768 ; <int> [#uses=1] - ret int %tmp.3 -} - -int %test2(int %x) { - %tmp.1 = and int %x, 65535 ; <int> [#uses=1] - %tmp.2 = xor int %tmp.1, 32768 ; <int> [#uses=1] - %tmp.3 = add int %tmp.2, -32768 ; <int> [#uses=1] - ret int %tmp.3 -} - -int %test3(ushort %P) { - %tmp.1 = cast ushort %P to int ; <int> [#uses=1] - %tmp.4 = xor int %tmp.1, 32768 ; <int> [#uses=1] - %tmp.5 = add int %tmp.4, -32768 ; <int> [#uses=1] - ret int %tmp.5 -} - -uint %test4(ushort %P) { - %tmp.1 = cast ushort %P to uint ; <uint> [#uses=1] - %tmp.4 = xor uint %tmp.1, 32768 ; <uint> [#uses=1] - %tmp.5 = add uint %tmp.4, 4294934528 ; <uint> [#uses=1] - ret uint %tmp.5 -} - -int %test5(int %x) { - %tmp.1 = and int %x, 254 - %tmp.2 = xor int %tmp.1, 128 - %tmp.3 = add int %tmp.2, -128 - ret int %tmp.3 -} - -int %test6(int %x) { - %tmp.2 = shl int %x, ubyte 16 ; <int> [#uses=1] - %tmp.4 = shr int %tmp.2, ubyte 16 ; <int> [#uses=1] - ret int %tmp.4 -} diff --git a/llvm/test/Regression/Transforms/InstCombine/sink_instruction.ll b/llvm/test/Regression/Transforms/InstCombine/sink_instruction.ll deleted file mode 100644 index a45c16163f7..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/sink_instruction.ll +++ /dev/null @@ -1,17 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | %prcontext div 1 | grep ret - -;; This tests that the instructions in the entry blocks are sunk into each -;; arm of the 'if'. - -int %foo(bool %C, int %A, int %B) { -entry: - %tmp.2 = div int %A, %B - %tmp.9 = add int %B, %A - br bool %C, label %then, label %endif - -then: - ret int %tmp.9 - -endif: - ret int %tmp.2 -} diff --git a/llvm/test/Regression/Transforms/InstCombine/stacksaverestore.ll b/llvm/test/Regression/Transforms/InstCombine/stacksaverestore.ll deleted file mode 100644 index d9633b5c3be..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/stacksaverestore.ll +++ /dev/null @@ -1,20 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep call - -;; Test that llvm.stackrestore is removed when possible. - -int* %test1(uint %P) { - %tmp = call sbyte* %llvm.stacksave() - call void %llvm.stackrestore(sbyte* %tmp) ;; not restoring anything - %A = alloca int, uint %P - ret int* %A -} - -void %test2(sbyte* %X) { - call void %llvm.stackrestore(sbyte* %X) ;; no allocas before return. - ret void -} - -declare sbyte* %llvm.stacksave() - -declare void %llvm.stackrestore(sbyte*) diff --git a/llvm/test/Regression/Transforms/InstCombine/store.ll b/llvm/test/Regression/Transforms/InstCombine/store.ll deleted file mode 100644 index 2102fec100c..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/store.ll +++ /dev/null @@ -1,16 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep -v 'store.*,.*null' | not grep store - -void %test1(int* %P) { - store int undef, int* %P - store int 123, int* undef - store int 124, int* null - ret void -} - -void %test2(int* %P) { - %X = load int* %P - %Y = add int %X, 0 - store int %Y, int* %P - ret void -} diff --git a/llvm/test/Regression/Transforms/InstCombine/sub.ll b/llvm/test/Regression/Transforms/InstCombine/sub.ll deleted file mode 100644 index be38da97e1d..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/sub.ll +++ /dev/null @@ -1,140 +0,0 @@ -; This test makes sure that these instructions are properly eliminated. -; - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ -; RUN: grep -v 'sub i32 %Cok.s, %Bok.s' | not grep sub - -implementation - -int %test1(int %A) { - %B = sub int %A, %A ; ISA constant 0 - ret int %B -} - -int %test2(int %A) { - %B = sub int %A, 0 - ret int %B -} - -int %test3(int %A) { - %B = sub int 0, %A ; B = -A - %C = sub int 0, %B ; C = -B = A - ret int %C -} - -int %test4(int %A, int %x) { - %B = sub int 0, %A - %C = sub int %x, %B - ret int %C -} - -int %test5(int %A, int %Bok, int %Cok) { - %D = sub int %Bok, %Cok - %E = sub int %A, %D - ret int %E -} - -int %test6(int %A, int %B) { - %C = and int %A, %B ; A - (A & B) => A & ~B - %D = sub int %A, %C - ret int %D -} - -int %test7(int %A) { - %B = sub int -1, %A ; B = ~A - ret int %B -} - -int %test8(int %A) { - %B = mul int 9, %A - %C = sub int %B, %A ; C = 9*A-A == A*8 == A << 3 - ret int %C -} - -int %test9(int %A) { - %B = mul int 3, %A - %C = sub int %A, %B ; C = A-3*A == A*-2 - ret int %C -} - -int %test10(int %A, int %B) { ; -A*-B == A*B - %C = sub int 0, %A - %D = sub int 0, %B - %E = mul int %C, %D - ret int %E -} - -int %test10(int %A) { ; -A *c1 == A * -c1 - %C = sub int 0, %A - %E = mul int %C, 7 - ret int %E -} - -bool %test11(ubyte %A, ubyte %B) { - %C = sub ubyte %A, %B - %cD = setne ubyte %C, 0 ; == setne A, B - ret bool %cD -} - -int %test12(int %A) { - %B = shr int %A, ubyte 31 - %C = sub int 0, %B ; == ushr A, 31 - ret int %C -} - -uint %test13(uint %A) { - %B = shr uint %A, ubyte 31 - %C = sub uint 0, %B ; == sar A, 31 - ret uint %C -} - -int %test14(uint %A) { - %B = shr uint %A, ubyte 31 - %C = cast uint %B to int - %D = sub int 0, %C - ret int %D -} - -int %test15(int %A, int %B) { - %C = sub int 0, %A - %D = rem int %B, %C ;; X % -Y === X % Y - ret int %D -} - -int %test16(int %A) { - %X = div int %A, 1123 - %Y = sub int 0, %X - ret int %Y -} - -int %test17(int %A) { - %B = sub int 0, %A - %C = div int %B, 1234 - ret int %C -} - -long %test18(long %Y) { - %tmp.4 = shl long %Y, ubyte 2 - %tmp.12 = shl long %Y, ubyte 2 - %tmp.8 = sub long %tmp.4, %tmp.12 ;; 0 - ret long %tmp.8 -} - -int %test19(int %X, int %Y) { - %Z = sub int %X, %Y - %Q = add int %Z, %Y - ret int %Q -} - -bool %test20(int %g, int %h) { - %tmp.2 = sub int %g, %h - %tmp.4 = setne int %tmp.2, %g - ret bool %tmp.4 -} - -bool %test21(int %g, int %h) { - %tmp.2 = sub int %g, %h - %tmp.4 = setne int %tmp.2, %g - ret bool %tmp.4 -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/vec_demanded_elts.ll b/llvm/test/Regression/Transforms/InstCombine/vec_demanded_elts.ll deleted file mode 100644 index 9642ffda56c..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/vec_demanded_elts.ll +++ /dev/null @@ -1,30 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep 'sub float' && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep 'mul float' && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep 'insertelement.*0.00' && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep 'call.*llvm.x86.sse.mul' && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep 'call.*llvm.x86.sse.sub' - -ushort %Convert_sse(float %f) { -entry: - %tmp = insertelement <4 x float> undef, float %f, uint 0 ; <<4 x float>> [#uses=1] - %tmp10 = insertelement <4 x float> %tmp, float 0.000000e+00, uint 1 ; <<4 x float>> [#uses=1] - %tmp11 = insertelement <4 x float> %tmp10, float 0.000000e+00, uint 2 ; <<4 x float>> [#uses=1] - %tmp12 = insertelement <4 x float> %tmp11, float 0.000000e+00, uint 3 ; <<4 x float>> [#uses=1] - %tmp28 = tail call <4 x float> %llvm.x86.sse.sub.ss( <4 x float> %tmp12, <4 x float> < float 1.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00 > ) ; <<4 x float>> [#uses=1] - %tmp37 = tail call <4 x float> %llvm.x86.sse.mul.ss( <4 x float> %tmp28, <4 x float> < float 5.000000e-01, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00 > ) ; <<4 x float>> [#uses=1] - %tmp48 = tail call <4 x float> %llvm.x86.sse.min.ss( <4 x float> %tmp37, <4 x float> < float 6.553500e+04, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00 > ) ; <<4 x float>> [#uses=1] - %tmp59 = tail call <4 x float> %llvm.x86.sse.max.ss( <4 x float> %tmp48, <4 x float> zeroinitializer ) ; <<4 x float>> [#uses=1] - %tmp = tail call int %llvm.x86.sse.cvttss2si( <4 x float> %tmp59 ) ; <int> [#uses=1] - %tmp69 = cast int %tmp to ushort ; <ushort> [#uses=1] - ret ushort %tmp69 -} - -declare <4 x float> %llvm.x86.sse.sub.ss(<4 x float>, <4 x float>) - -declare <4 x float> %llvm.x86.sse.mul.ss(<4 x float>, <4 x float>) - -declare <4 x float> %llvm.x86.sse.min.ss(<4 x float>, <4 x float>) - -declare <4 x float> %llvm.x86.sse.max.ss(<4 x float>, <4 x float>) - -declare int %llvm.x86.sse.cvttss2si(<4 x float>) diff --git a/llvm/test/Regression/Transforms/InstCombine/vec_insert_to_shuffle.ll b/llvm/test/Regression/Transforms/InstCombine/vec_insert_to_shuffle.ll deleted file mode 100644 index 0611305beea..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/vec_insert_to_shuffle.ll +++ /dev/null @@ -1,14 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep shufflevec | wc -l | grep 1 && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep insertelement && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep extractelement - -<4 x float> %test(<4 x float> %tmp, <4 x float> %tmp1) { - %tmp4 = extractelement <4 x float> %tmp, uint 1 ; <float> [#uses=1] - %tmp2 = extractelement <4 x float> %tmp, uint 3 ; <float> [#uses=1] - %tmp1 = extractelement <4 x float> %tmp1, uint 0 ; <float> [#uses=1] - %tmp128 = insertelement <4 x float> undef, float %tmp4, uint 0 ; <<4 x float>> [#uses=1] - %tmp130 = insertelement <4 x float> %tmp128, float undef, uint 1 ; <<4 x float>> [#uses=1] - %tmp132 = insertelement <4 x float> %tmp130, float %tmp2, uint 2 ; <<4 x float>> [#uses=1] - %tmp134 = insertelement <4 x float> %tmp132, float %tmp1, uint 3 ; <<4 x float>> [#uses=1] - ret <4 x float> %tmp134 -} diff --git a/llvm/test/Regression/Transforms/InstCombine/vec_narrow.ll b/llvm/test/Regression/Transforms/InstCombine/vec_narrow.ll deleted file mode 100644 index 1ad671c5091..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/vec_narrow.ll +++ /dev/null @@ -1,11 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep 'add float' - -%V = type <4 x float> - -float %test(%V %A, %V %B, float %f) { - %C = insertelement %V %A, float %f, uint 0 - %D = add %V %C, %B - %E = extractelement %V %D, uint 0 - ret float %E -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/vec_shuffle.ll b/llvm/test/Regression/Transforms/InstCombine/vec_shuffle.ll deleted file mode 100644 index e90d3bef619..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/vec_shuffle.ll +++ /dev/null @@ -1,48 +0,0 @@ -; RUN: llvm-as < %s | opt -instcombine -disable-output && -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep vector_shuffle - -%T = type <4 x float> - -implementation - -define %T %test1(%T %v1) { - %v2 = shufflevector %T %v1, %T undef, <4 x i32> <i32 0, i32 1, i32 2, i32 3> - ret %T %v2 -} - -define %T %test2(%T %v1) { - %v2 = shufflevector %T %v1, %T %v1, <4 x i32> <i32 0, i32 5, i32 2, i32 7> - ret %T %v2 -} - -define float %test3(%T %A, %T %B, float %f) { - %C = insertelement %T %A, float %f, i32 0 - %D = shufflevector %T %C, %T %B, <4 x i32> <i32 5, i32 0, i32 2, i32 7> - %E = extractelement %T %D, i32 1 - ret float %E -} - -define i32 %test4(<4 x i32> %X) { - %tmp152.i53899.i = shufflevector <4 x i32> %X, <4 x i32> undef, <4 x i32> zeroinitializer - %tmp34 = extractelement <4 x i32> %tmp152.i53899.i, i32 0 - ret i32 %tmp34 -} - -define i32 %test5(<4 x i32> %X) { - %tmp152.i53899.i = shufflevector <4 x i32> %X, <4 x i32> undef, <4 x i32> <i32 3, i32 2, i32 undef, i32 undef> - %tmp34 = extractelement <4 x i32> %tmp152.i53899.i, i32 0 - ret i32 %tmp34 -} - -define float %test6(<4 x float> %X) { - %X = bitcast <4 x float> %X to <4 x i32> - %tmp152.i53899.i = shufflevector <4 x i32> %X, <4 x i32> undef, <4 x i32> zeroinitializer - %tmp152.i53900.i = bitcast <4 x i32> %tmp152.i53899.i to <4 x float> - %tmp34 = extractelement <4 x float> %tmp152.i53900.i, i32 0 - ret float %tmp34 -} - -define <4 x float> %test7(<4 x float> %tmp45.i) { - %tmp1642.i = shufflevector <4 x float> %tmp45.i, <4 x float> undef, <4 x i32> < i32 0, i32 1, i32 6, i32 7 > - ret <4 x float> %tmp1642.i -} diff --git a/llvm/test/Regression/Transforms/InstCombine/xor.ll b/llvm/test/Regression/Transforms/InstCombine/xor.ll deleted file mode 100644 index f87e53a9227..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/xor.ll +++ /dev/null @@ -1,192 +0,0 @@ -; This test makes sure that these instructions are properly eliminated. -; - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep 'xor ' - -%G1 = global uint 0 -%G2 = global uint 0 - -implementation - -bool %test0(bool %A) { - %B = xor bool %A, false - ret bool %B -} - -int %test1(int %A) { - %B = xor int %A, 0 - ret int %B -} - -bool %test2(bool %A) { - %B = xor bool %A, %A - ret bool %B -} - -int %test3(int %A) { - %B = xor int %A, %A - ret int %B -} - -int %test4(int %A) { ; A ^ ~A == -1 - %NotA = xor int -1, %A - %B = xor int %A, %NotA - ret int %B -} - -uint %test5(uint %A) { ; (A|B)^B == A & (~B) - %t1 = or uint %A, 123 - %r = xor uint %t1, 123 - ret uint %r -} - -ubyte %test6(ubyte %A) { - %B = xor ubyte %A, 17 - %C = xor ubyte %B, 17 - ret ubyte %C -} - -; (A & C1)^(B & C2) -> (A & C1)|(B & C2) iff C1&C2 == 0 -int %test7(int %A, int %B) { - - %A1 = and int %A, 7 - %B1 = and int %B, 128 - %C1 = xor int %A1, %B1 - ret int %C1 -} - -ubyte %test8(bool %c) { - %d = xor bool %c, true ; invert the condition - br bool %d, label %True, label %False -True: - ret ubyte 1 -False: - ret ubyte 3 -} - -bool %test9(ubyte %A) { - %B = xor ubyte %A, 123 ; xor can be eliminated - %C = seteq ubyte %B, 34 - ret bool %C -} - -ubyte %test10(ubyte %A) { - %B = and ubyte %A, 3 - %C = xor ubyte %B, 4 ; transform into an OR - ret ubyte %C -} - -ubyte %test11(ubyte %A) { - %B = or ubyte %A, 12 - %C = xor ubyte %B, 4 ; transform into an AND - ret ubyte %C -} - -bool %test12(ubyte %A) { - %B = xor ubyte %A, 4 - %c = setne ubyte %B, 0 - ret bool %c -} - -bool %test13(ubyte %A, ubyte %B) { - %C = setlt ubyte %A, %B - %D = setgt ubyte %A, %B - %E = xor bool %C, %D ; E = setne %A, %B - ret bool %E -} - -bool %test14(ubyte %A, ubyte %B) { - %C = seteq ubyte %A, %B - %D = setne ubyte %B, %A - %E = xor bool %C, %D ; E = true - ret bool %E -} - -uint %test15(uint %A) { ; ~(X-1) == -X - %B = add uint %A, 4294967295 - %C = xor uint %B, 4294967295 - ret uint %C -} - -uint %test16(uint %A) { ; ~(X+c) == (-c-1)-X - %B = add uint %A, 123 ; A generalization of the previous case - %C = xor uint %B, 4294967295 - ret uint %C -} - -uint %test17(uint %A) { ; ~(c-X) == X-(c-1) == X+(-c+1) - %B = sub uint 123, %A - %C = xor uint %B, 4294967295 - ret uint %C -} - -uint %test18(uint %A) { ; C - ~X == X + (1+C) - %B = xor uint %A, 4294967295; -~X == 0 - ~X == X+1 - %C = sub uint 123, %B - ret uint %C -} - -uint %test19(uint %A, uint %B) { - %C = xor uint %A, %B - %D = xor uint %C, %A ; A terms cancel, D = B - ret uint %D -} - -void %test20(uint %A, uint %B) { ; The "swap idiom" - %tmp.2 = xor uint %B, %A - %tmp.5 = xor uint %tmp.2, %B - %tmp.8 = xor uint %tmp.5, %tmp.2 - store uint %tmp.8, uint* %G1 ; tmp.8 = B - store uint %tmp.5, uint* %G2 ; tmp.5 = A - ret void -} - -int %test21(bool %C, int %A, int %B) { - %C2 = xor bool %C, true - %D = select bool %C2, int %A, int %B - ret int %D -} - -int %test22(bool %X) { - %Y = xor bool %X, true - %Z = cast bool %Y to int - %Q = xor int %Z, 1 - ret int %Q -} - -bool %test23(int %a, int %b) { - %tmp.2 = xor int %b, %a - %tmp.4 = seteq int %tmp.2, %a - ret bool %tmp.4 -} - -bool %test24(int %c, int %d) { - %tmp.2 = xor int %d, %c - %tmp.4 = setne int %tmp.2, %c - ret bool %tmp.4 -} - -int %test25(int %g, int %h) { - %h2 = xor int %h, -1 - %tmp2 = and int %h2, %g - %tmp4 = xor int %tmp2, %g ; (h2&g)^g -> ~h2 & g -> h & g - ret int %tmp4 -} - -int %test26(int %a, int %b) { - %b2 = xor int %b, -1 - %tmp2 = xor int %a, %b2 - %tmp4 = and int %tmp2, %a ; (a^b2)&a -> ~b2 & a -> b & a - ret int %tmp4 -} - - -i32 %test27(i32 %b, i32 %c, i32 %d) { - %tmp2 = xor i32 %d, %b - %tmp5 = xor i32 %d, %c - %tmp = icmp eq i32 %tmp2, %tmp5 - %tmp6 = zext bool %tmp to i32 - ret i32 %tmp6 -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/zeroext-and-reduce.ll b/llvm/test/Regression/Transforms/InstCombine/zeroext-and-reduce.ll deleted file mode 100644 index e171f3aacb0..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/zeroext-and-reduce.ll +++ /dev/null @@ -1,9 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ -; RUN: grep 'and i32 %Y.s, 8' - -int %test1(ubyte %X) { - %Y = cast ubyte %X to int - %Z = and int %Y, 65544 ;; Prune this to and Y, 8 - ret int %Z -} - diff --git a/llvm/test/Regression/Transforms/InstCombine/zext.ll b/llvm/test/Regression/Transforms/InstCombine/zext.ll deleted file mode 100644 index 7835fe690b2..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/zext.ll +++ /dev/null @@ -1,9 +0,0 @@ -; Tests to make sure elimination of casts is working correctly -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | notcast '' '%c1.*' - -long %test_sext_zext(short %A) { - %c1 = zext short %A to uint - %c2 = sext uint %c1 to long - ret long %c2 -} diff --git a/llvm/test/Regression/Transforms/LCSSA/.cvsignore b/llvm/test/Regression/Transforms/LCSSA/.cvsignore deleted file mode 100644 index 83260f862f2..00000000000 --- a/llvm/test/Regression/Transforms/LCSSA/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -Output diff --git a/llvm/test/Regression/Transforms/LCSSA/2006-06-03-IncorrectIDFPhis.ll b/llvm/test/Regression/Transforms/LCSSA/2006-06-03-IncorrectIDFPhis.ll deleted file mode 100644 index 21ca2b16939..00000000000 --- a/llvm/test/Regression/Transforms/LCSSA/2006-06-03-IncorrectIDFPhis.ll +++ /dev/null @@ -1,28 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa | llvm-dis | \ -; RUN: grep "%SJE.0.0.pntr.s1.u1.lcssa = phi .struct.SetJmpMapEntry" && -; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa | llvm-dis | \ -; RUN: grep "%SJE.0.0.pntr.s1.u1.lcssa1 = phi .struct.SetJmpMapEntry" - -%struct.SetJmpMapEntry = type { sbyte*, uint, %struct.SetJmpMapEntry* } - -implementation ; Functions: - -void %__llvm_sjljeh_try_catching_longjmp_exception() { -entry: - br bool false, label %UnifiedReturnBlock, label %no_exit - -no_exit: ; preds = %endif, %entry - %SJE.0.0 = phi %struct.SetJmpMapEntry* [ %tmp.24, %endif ], [ null, %entry ] ; <%struct.SetJmpMapEntry*> [#uses=1] - br bool false, label %then, label %endif - -then: ; preds = %no_exit - %tmp.20 = getelementptr %struct.SetJmpMapEntry* %SJE.0.0, int 0, uint 1 ; <uint*> [#uses=0] - ret void - -endif: ; preds = %no_exit - %tmp.24 = load %struct.SetJmpMapEntry** null ; <%struct.SetJmpMapEntry*> [#uses=1] - br bool false, label %UnifiedReturnBlock, label %no_exit - -UnifiedReturnBlock: ; preds = %endif, %entry - ret void -} diff --git a/llvm/test/Regression/Transforms/LCSSA/2006-06-12-MultipleExitsSameBlock.ll b/llvm/test/Regression/Transforms/LCSSA/2006-06-12-MultipleExitsSameBlock.ll deleted file mode 100644 index e88660a1fb9..00000000000 --- a/llvm/test/Regression/Transforms/LCSSA/2006-06-12-MultipleExitsSameBlock.ll +++ /dev/null @@ -1,30 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa | llvm-dis | \ -; RUN: grep "%X.1.s.lcssa" && -; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa | llvm-dis | \ -; RUN: not grep "%X.1.s.lcssa1" - -declare bool %c1() -declare bool %c2() - -int %foo() { -entry: - br label %loop_begin - -loop_begin: - br bool true, label %loop_body.1, label %loop_exit2 - -loop_body.1: - %X.1 = add int 0, 1 - %rel.1 = call bool %c1() - br bool %rel.1, label %loop_exit, label %loop_body.2 - -loop_body.2: - %rel.2 = call bool %c2() - br bool %rel.2, label %loop_exit, label %loop_begin - -loop_exit: - ret int %X.1 - -loop_exit2: - ret int 1 -} diff --git a/llvm/test/Regression/Transforms/LCSSA/2006-07-09-NoDominator.ll b/llvm/test/Regression/Transforms/LCSSA/2006-07-09-NoDominator.ll deleted file mode 100644 index f90f6644afe..00000000000 --- a/llvm/test/Regression/Transforms/LCSSA/2006-07-09-NoDominator.ll +++ /dev/null @@ -1,31 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa - - %struct.SetJmpMapEntry = type { sbyte*, uint, %struct.SetJmpMapEntry* } - -implementation ; Functions: - -void %__llvm_sjljeh_try_catching_longjmp_exception() { -entry: - br label %loopentry - -loopentry: ; preds = %endif, %entry - %SJE.0 = phi %struct.SetJmpMapEntry* [ null, %entry ], [ %tmp.25, %endif ] ; <%struct.SetJmpMapEntry*> [#uses=1] - br bool false, label %no_exit, label %loopexit - -no_exit: ; preds = %loopentry - br bool false, label %then, label %endif - -then: ; preds = %no_exit - %tmp.21 = getelementptr %struct.SetJmpMapEntry* %SJE.0, int 0, uint 1 ; <uint*> [#uses=0] - br label %return - -endif: ; preds = %after_ret.0, %no_exit - %tmp.25 = load %struct.SetJmpMapEntry** null ; <%struct.SetJmpMapEntry*> [#uses=1] - br label %loopentry - -loopexit: ; preds = %loopentry - br label %return - -return: ; preds = %after_ret.1, %loopexit, %then - ret void -} diff --git a/llvm/test/Regression/Transforms/LCSSA/2006-10-31-UnreachableBlock-2.ll b/llvm/test/Regression/Transforms/LCSSA/2006-10-31-UnreachableBlock-2.ll deleted file mode 100644 index ac40ad5fd63..00000000000 --- a/llvm/test/Regression/Transforms/LCSSA/2006-10-31-UnreachableBlock-2.ll +++ /dev/null @@ -1,210 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa -disable-output -; PR977 - -declare int %opost_block() - -void %write_chan() { -entry: - br bool false, label %shortcirc_next.0, label %shortcirc_done.0 - -shortcirc_next.0: ; preds = %entry - br label %shortcirc_done.0 - -shortcirc_done.0: ; preds = %shortcirc_next.0, %entry - br bool false, label %shortcirc_next.1, label %shortcirc_done.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 %then.0, label %endif.0 - -then.0: ; preds = %shortcirc_done.1 - br bool false, label %then.1, label %endif.1 - -then.1: ; preds = %then.0 - br label %return - -after_ret.0: ; No predecessors! - br label %endif.1 - -endif.1: ; preds = %after_ret.0, %then.0 - br label %endif.0 - -endif.0: ; preds = %endif.1, %shortcirc_done.1 - br label %loopentry.0 - -loopentry.0: ; preds = %endif.12, %endif.0 - br bool false, label %then.2, label %endif.2 - -then.2: ; preds = %loopentry.0 - br label %loopexit.0 - -dead_block_after_break.0: ; No predecessors! - br label %endif.2 - -endif.2: ; preds = %dead_block_after_break.0, %loopentry.0 - br bool false, label %shortcirc_done.2, label %shortcirc_next.2 - -shortcirc_next.2: ; preds = %endif.2 - br bool false, label %shortcirc_next.3, label %shortcirc_done.3 - -shortcirc_next.3: ; preds = %shortcirc_next.2 - br label %shortcirc_done.3 - -shortcirc_done.3: ; preds = %shortcirc_next.3, %shortcirc_next.2 - br label %shortcirc_done.2 - -shortcirc_done.2: ; preds = %shortcirc_done.3, %endif.2 - br bool false, label %then.3, label %endif.3 - -then.3: ; preds = %shortcirc_done.2 - br label %loopexit.0 - -dead_block_after_break.1: ; No predecessors! - br label %endif.3 - -endif.3: ; preds = %dead_block_after_break.1, %shortcirc_done.2 - br bool false, label %shortcirc_next.4, label %shortcirc_done.4 - -shortcirc_next.4: ; preds = %endif.3 - br label %shortcirc_done.4 - -shortcirc_done.4: ; preds = %shortcirc_next.4, %endif.3 - br bool false, label %then.4, label %else - -then.4: ; preds = %shortcirc_done.4 - br label %loopentry.1 - -loopentry.1: ; preds = %endif.8, %then.4 - br bool false, label %no_exit, label %loopexit.1 - -no_exit: ; preds = %loopentry.1 - %tmp.94 = call int %opost_block( ) ; <int> [#uses=1] - br bool false, label %then.5, label %endif.5 - -then.5: ; preds = %no_exit - br bool false, label %then.6, label %endif.6 - -then.6: ; preds = %then.5 - br label %loopexit.1 - -dead_block_after_break.2: ; No predecessors! - br label %endif.6 - -endif.6: ; preds = %dead_block_after_break.2, %then.5 - br label %break_out - -dead_block_after_goto.0: ; No predecessors! - br label %endif.5 - -endif.5: ; preds = %dead_block_after_goto.0, %no_exit - br bool false, label %then.7, label %endif.7 - -then.7: ; preds = %endif.5 - br label %loopexit.1 - -dead_block_after_break.3: ; No predecessors! - br label %endif.7 - -endif.7: ; preds = %dead_block_after_break.3, %endif.5 - switch uint 1, label %switchexit [ - uint 4, label %label.2 - uint 2, label %label.1 - uint 1, label %label.0 - ] - -label.0: ; preds = %endif.7 - br label %switchexit - -dead_block_after_break.4: ; No predecessors! - br label %label.1 - -label.1: ; preds = %dead_block_after_break.4, %endif.7 - br label %switchexit - -dead_block_after_break.5: ; No predecessors! - br label %label.2 - -label.2: ; preds = %dead_block_after_break.5, %endif.7 - br label %switchexit - -dead_block_after_break.6: ; No predecessors! - br label %switchexit - -switchexit: ; preds = %dead_block_after_break.6, %label.2, %label.1, %label.0, %endif.7 - br bool false, label %then.8, label %endif.8 - -then.8: ; preds = %switchexit - br label %loopexit.1 - -dead_block_after_break.7: ; No predecessors! - br label %endif.8 - -endif.8: ; preds = %dead_block_after_break.7, %switchexit - br label %loopentry.1 - -loopexit.1: ; preds = %then.8, %then.7, %then.6, %loopentry.1 - br bool false, label %then.9, label %endif.9 - -then.9: ; preds = %loopexit.1 - br label %endif.9 - -endif.9: ; preds = %then.9, %loopexit.1 - br label %endif.4 - -else: ; preds = %shortcirc_done.4 - br bool false, label %then.10, label %endif.10 - -then.10: ; preds = %else - br label %break_out - -dead_block_after_goto.1: ; No predecessors! - br label %endif.10 - -endif.10: ; preds = %dead_block_after_goto.1, %else - br label %endif.4 - -endif.4: ; preds = %endif.10, %endif.9 - br bool false, label %then.11, label %endif.11 - -then.11: ; preds = %endif.4 - br label %loopexit.0 - -dead_block_after_break.8: ; No predecessors! - br label %endif.11 - -endif.11: ; preds = %dead_block_after_break.8, %endif.4 - br bool false, label %then.12, label %endif.12 - -then.12: ; preds = %endif.11 - br label %loopexit.0 - -dead_block_after_break.9: ; No predecessors! - br label %endif.12 - -endif.12: ; preds = %dead_block_after_break.9, %endif.11 - br label %loopentry.0 - -loopexit.0: ; preds = %then.12, %then.11, %then.3, %then.2 - br label %break_out - -break_out: ; preds = %loopexit.0, %then.10, %endif.6 - %retval.3 = phi int [ 0, %loopexit.0 ], [ %tmp.94, %endif.6 ], [ 0, %then.10 ] ; <int> [#uses=0] - br bool false, label %cond_true, label %cond_false - -cond_true: ; preds = %break_out - br label %cond_continue - -cond_false: ; preds = %break_out - br label %cond_continue - -cond_continue: ; preds = %cond_false, %cond_true - br label %return - -after_ret.1: ; No predecessors! - br label %return - -return: ; preds = %after_ret.1, %cond_continue, %then.1 - ret void -} diff --git a/llvm/test/Regression/Transforms/LCSSA/2006-10-31-UnreachableBlock.ll b/llvm/test/Regression/Transforms/LCSSA/2006-10-31-UnreachableBlock.ll deleted file mode 100644 index 9178411ece2..00000000000 --- a/llvm/test/Regression/Transforms/LCSSA/2006-10-31-UnreachableBlock.ll +++ /dev/null @@ -1,270 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa -disable-output -; PR977 - -void %process_backlog() { -entry: - br label %loopentry.preheader - -loopentry.preheader: ; preds = %dead_block_after_break, %entry - %work.0.ph = phi int [ %inc, %dead_block_after_break ], [ 0, %entry ] ; <int> [#uses=0] - br label %loopentry - -loopentry: ; preds = %endif.1, %loopentry.preheader - br bool false, label %then.i, label %loopentry.__skb_dequeue67.exit_crit_edge - -loopentry.__skb_dequeue67.exit_crit_edge: ; preds = %loopentry - br label %__skb_dequeue67.exit - -then.i: ; preds = %loopentry - br label %__skb_dequeue67.exit - -__skb_dequeue67.exit: ; preds = %then.i, %loopentry.__skb_dequeue67.exit_crit_edge - br bool false, label %then.0, label %__skb_dequeue67.exit.endif.0_crit_edge - -__skb_dequeue67.exit.endif.0_crit_edge: ; preds = %__skb_dequeue67.exit - br label %endif.0 - -then.0: ; preds = %__skb_dequeue67.exit - br label %job_done - -dead_block_after_goto: ; No predecessors! - unreachable - -endif.0: ; preds = %__skb_dequeue67.exit.endif.0_crit_edge - br bool false, label %then.0.i, label %endif.0.endif.0.i_crit_edge - -endif.0.endif.0.i_crit_edge: ; preds = %endif.0 - br label %endif.0.i - -then.0.i: ; preds = %endif.0 - br label %endif.0.i - -endif.0.i: ; preds = %then.0.i, %endif.0.endif.0.i_crit_edge - br bool false, label %then.i.i, label %endif.0.i.skb_bond.exit.i_crit_edge - -endif.0.i.skb_bond.exit.i_crit_edge: ; preds = %endif.0.i - br label %skb_bond.exit.i - -then.i.i: ; preds = %endif.0.i - br label %skb_bond.exit.i - -skb_bond.exit.i: ; preds = %then.i.i, %endif.0.i.skb_bond.exit.i_crit_edge - br label %loopentry.0.i - -loopentry.0.i: ; preds = %loopentry.0.i.backedge, %skb_bond.exit.i - br bool false, label %loopentry.0.i.no_exit.0.i_crit_edge, label %loopentry.0.i.loopexit.0.i_crit_edge - -loopentry.0.i.loopexit.0.i_crit_edge: ; preds = %loopentry.0.i - br label %loopexit.0.i - -loopentry.0.i.no_exit.0.i_crit_edge: ; preds = %loopentry.0.i - br label %no_exit.0.i - -no_exit.0.i: ; preds = %then.3.i.no_exit.0.i_crit_edge, %loopentry.0.i.no_exit.0.i_crit_edge - br bool false, label %no_exit.0.i.shortcirc_done.0.i_crit_edge, label %shortcirc_next.0.i - -no_exit.0.i.shortcirc_done.0.i_crit_edge: ; preds = %no_exit.0.i - br label %shortcirc_done.0.i - -shortcirc_next.0.i: ; preds = %no_exit.0.i - br label %shortcirc_done.0.i - -shortcirc_done.0.i: ; preds = %shortcirc_next.0.i, %no_exit.0.i.shortcirc_done.0.i_crit_edge - br bool false, label %then.1.i, label %endif.1.i - -then.1.i: ; preds = %shortcirc_done.0.i - br bool false, label %then.2.i, label %then.1.i.endif.2.i_crit_edge - -then.1.i.endif.2.i_crit_edge: ; preds = %then.1.i - br label %endif.2.i - -then.2.i: ; preds = %then.1.i - br bool false, label %then.3.i, label %else.0.i - -then.3.i: ; preds = %then.2.i - br bool false, label %then.3.i.no_exit.0.i_crit_edge, label %then.3.i.loopexit.0.i_crit_edge - -then.3.i.loopexit.0.i_crit_edge: ; preds = %then.3.i - br label %loopexit.0.i - -then.3.i.no_exit.0.i_crit_edge: ; preds = %then.3.i - br label %no_exit.0.i - -else.0.i: ; preds = %then.2.i - br label %endif.2.i - -endif.3.i: ; No predecessors! - unreachable - -endif.2.i: ; preds = %else.0.i, %then.1.i.endif.2.i_crit_edge - br label %loopentry.0.i.backedge - -endif.1.i: ; preds = %shortcirc_done.0.i - br label %loopentry.0.i.backedge - -loopentry.0.i.backedge: ; preds = %endif.1.i, %endif.2.i - br label %loopentry.0.i - -loopexit.0.i: ; preds = %then.3.i.loopexit.0.i_crit_edge, %loopentry.0.i.loopexit.0.i_crit_edge - br label %loopentry.1.i - -loopentry.1.i: ; preds = %loopentry.1.i.backedge, %loopexit.0.i - br bool false, label %loopentry.1.i.no_exit.1.i_crit_edge, label %loopentry.1.i.loopexit.1.i_crit_edge - -loopentry.1.i.loopexit.1.i_crit_edge: ; preds = %loopentry.1.i - br label %loopexit.1.i - -loopentry.1.i.no_exit.1.i_crit_edge: ; preds = %loopentry.1.i - br label %no_exit.1.i - -no_exit.1.i: ; preds = %then.6.i.no_exit.1.i_crit_edge, %loopentry.1.i.no_exit.1.i_crit_edge - br bool false, label %shortcirc_next.1.i, label %no_exit.1.i.shortcirc_done.1.i_crit_edge - -no_exit.1.i.shortcirc_done.1.i_crit_edge: ; preds = %no_exit.1.i - br label %shortcirc_done.1.i - -shortcirc_next.1.i: ; preds = %no_exit.1.i - br bool false, label %shortcirc_next.1.i.shortcirc_done.2.i_crit_edge, label %shortcirc_next.2.i - -shortcirc_next.1.i.shortcirc_done.2.i_crit_edge: ; preds = %shortcirc_next.1.i - br label %shortcirc_done.2.i - -shortcirc_next.2.i: ; preds = %shortcirc_next.1.i - br label %shortcirc_done.2.i - -shortcirc_done.2.i: ; preds = %shortcirc_next.2.i, %shortcirc_next.1.i.shortcirc_done.2.i_crit_edge - br label %shortcirc_done.1.i - -shortcirc_done.1.i: ; preds = %shortcirc_done.2.i, %no_exit.1.i.shortcirc_done.1.i_crit_edge - br bool false, label %then.4.i, label %endif.4.i - -then.4.i: ; preds = %shortcirc_done.1.i - br bool false, label %then.5.i, label %then.4.i.endif.5.i_crit_edge - -then.4.i.endif.5.i_crit_edge: ; preds = %then.4.i - br label %endif.5.i - -then.5.i: ; preds = %then.4.i - br bool false, label %then.6.i, label %else.1.i - -then.6.i: ; preds = %then.5.i - br bool false, label %then.6.i.no_exit.1.i_crit_edge, label %then.6.i.loopexit.1.i_crit_edge - -then.6.i.loopexit.1.i_crit_edge: ; preds = %then.6.i - br label %loopexit.1.i - -then.6.i.no_exit.1.i_crit_edge: ; preds = %then.6.i - br label %no_exit.1.i - -else.1.i: ; preds = %then.5.i - br label %endif.5.i - -endif.6.i: ; No predecessors! - unreachable - -endif.5.i: ; preds = %else.1.i, %then.4.i.endif.5.i_crit_edge - br label %loopentry.1.i.backedge - -endif.4.i: ; preds = %shortcirc_done.1.i - br label %loopentry.1.i.backedge - -loopentry.1.i.backedge: ; preds = %endif.4.i, %endif.5.i - br label %loopentry.1.i - -loopexit.1.i: ; preds = %then.6.i.loopexit.1.i_crit_edge, %loopentry.1.i.loopexit.1.i_crit_edge - br bool false, label %then.7.i, label %else.2.i - -then.7.i: ; preds = %loopexit.1.i - br bool false, label %then.8.i, label %else.3.i - -then.8.i: ; preds = %then.7.i - br label %netif_receive_skb.exit - -else.3.i: ; preds = %then.7.i - br label %netif_receive_skb.exit - -endif.8.i: ; No predecessors! - unreachable - -else.2.i: ; preds = %loopexit.1.i - br bool false, label %else.2.i.shortcirc_done.i.i_crit_edge, label %shortcirc_next.i.i - -else.2.i.shortcirc_done.i.i_crit_edge: ; preds = %else.2.i - br label %shortcirc_done.i.i - -shortcirc_next.i.i: ; preds = %else.2.i - br label %shortcirc_done.i.i - -shortcirc_done.i.i: ; preds = %shortcirc_next.i.i, %else.2.i.shortcirc_done.i.i_crit_edge - br bool false, label %then.i1.i, label %shortcirc_done.i.i.kfree_skb65.exit.i_crit_edge - -shortcirc_done.i.i.kfree_skb65.exit.i_crit_edge: ; preds = %shortcirc_done.i.i - br label %kfree_skb65.exit.i - -then.i1.i: ; preds = %shortcirc_done.i.i - br label %kfree_skb65.exit.i - -kfree_skb65.exit.i: ; preds = %then.i1.i, %shortcirc_done.i.i.kfree_skb65.exit.i_crit_edge - br label %netif_receive_skb.exit - -netif_receive_skb.exit: ; preds = %kfree_skb65.exit.i, %else.3.i, %then.8.i - br bool false, label %then.i1, label %netif_receive_skb.exit.dev_put69.exit_crit_edge - -netif_receive_skb.exit.dev_put69.exit_crit_edge: ; preds = %netif_receive_skb.exit - br label %dev_put69.exit - -then.i1: ; preds = %netif_receive_skb.exit - br label %dev_put69.exit - -dev_put69.exit: ; preds = %then.i1, %netif_receive_skb.exit.dev_put69.exit_crit_edge - %inc = add int 0, 1 ; <int> [#uses=1] - br bool false, label %dev_put69.exit.shortcirc_done_crit_edge, label %shortcirc_next - -dev_put69.exit.shortcirc_done_crit_edge: ; preds = %dev_put69.exit - br label %shortcirc_done - -shortcirc_next: ; preds = %dev_put69.exit - br label %shortcirc_done - -shortcirc_done: ; preds = %shortcirc_next, %dev_put69.exit.shortcirc_done_crit_edge - br bool false, label %then.1, label %endif.1 - -then.1: ; preds = %shortcirc_done - ret void - -dead_block_after_break: ; No predecessors! - br label %loopentry.preheader - -endif.1: ; preds = %shortcirc_done - br label %loopentry - -loopexit: ; No predecessors! - unreachable - -after_ret.0: ; No predecessors! - br label %job_done - -job_done: ; preds = %after_ret.0, %then.0 - br label %loopentry.i - -loopentry.i: ; preds = %no_exit.i, %job_done - br bool false, label %no_exit.i, label %clear_bit62.exit - -no_exit.i: ; preds = %loopentry.i - br label %loopentry.i - -clear_bit62.exit: ; preds = %loopentry.i - br bool false, label %then.2, label %endif.2 - -then.2: ; preds = %clear_bit62.exit - ret void - -endif.2: ; preds = %clear_bit62.exit - ret void - -after_ret.1: ; No predecessors! - ret void - -return: ; No predecessors! - unreachable -} diff --git a/llvm/test/Regression/Transforms/LCSSA/basictest.ll b/llvm/test/Regression/Transforms/LCSSA/basictest.ll deleted file mode 100644 index 92f754a157c..00000000000 --- a/llvm/test/Regression/Transforms/LCSSA/basictest.ll +++ /dev/null @@ -1,28 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa | llvm-dis | \ -; RUN: grep "X3.s.lcssa = phi i32" && -; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa | llvm-dis | \ -; RUN: grep "%X4.s = add i32 3, %X3.s.lcssa" - -void %lcssa(bool %S2) { -entry: - br label %loop.interior - -loop.interior: ; preds = %entry - br bool %S2, label %if.true, label %if.false - -if.true: - %X1 = add int 0, 0 - br label %post.if - -if.false: - %X2 = add int 0, 1 - br label %post.if - -post.if: - %X3 = phi int [%X1, %if.true], [%X2, %if.false] - br bool %S2, label %loop.exit, label %loop.interior - -loop.exit: - %X4 = add int 3, %X3 - ret void -} diff --git a/llvm/test/Regression/Transforms/LCSSA/dg.exp b/llvm/test/Regression/Transforms/LCSSA/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/LCSSA/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/LICM/.cvsignore b/llvm/test/Regression/Transforms/LICM/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/LICM/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/LICM/2003-02-26-LoopExitNotDominated.ll b/llvm/test/Regression/Transforms/LICM/2003-02-26-LoopExitNotDominated.ll deleted file mode 100644 index b437034e6dc..00000000000 --- a/llvm/test/Regression/Transforms/LICM/2003-02-26-LoopExitNotDominated.ll +++ /dev/null @@ -1,22 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -basicaa -licm -disable-output - -;%MoveArray = external global [64 x ulong] - -implementation ; Functions: - -void %InitMoveArray() { -bb3: ; No predecessors! - %X = alloca [2 x ulong] - br bool false, label %bb13, label %bb4 - -bb4: ; preds = %bb3 - %reg3011 = getelementptr [2 x ulong]* %X, long 0, long 0 - br label %bb8 - -bb8: ; preds = %bb8, %bb4 - store ulong 0, ulong* %reg3011 - br bool false, label %bb8, label %bb13 - -bb13: ; preds = %bb8, %bb3 - ret void -} diff --git a/llvm/test/Regression/Transforms/LICM/2003-02-27-NestedLoopExitBlocks.ll b/llvm/test/Regression/Transforms/LICM/2003-02-27-NestedLoopExitBlocks.ll deleted file mode 100644 index d0830bc6d0f..00000000000 --- a/llvm/test/Regression/Transforms/LICM/2003-02-27-NestedLoopExitBlocks.ll +++ /dev/null @@ -1,22 +0,0 @@ -; Exit blocks need to be updated for all nested loops... - -; RUN: llvm-upgrade < %s | llvm-as | opt -loopsimplify - -implementation ; Functions: - -int %yyparse() { -bb0: ; No predecessors! - br bool false, label %UnifiedExitNode, label %bb19 - -bb19: ; preds = %bb28, %bb0 - br bool false, label %bb28, label %UnifiedExitNode - -bb28: ; preds = %bb32, %bb19 - br bool false, label %bb32, label %bb19 - -bb32: ; preds = %bb28 - br bool false, label %UnifiedExitNode, label %bb28 - -UnifiedExitNode: ; preds = %bb32, %bb19, %bb0 - ret int 0 -} diff --git a/llvm/test/Regression/Transforms/LICM/2003-02-27-PreheaderExitNodeUpdate.ll b/llvm/test/Regression/Transforms/LICM/2003-02-27-PreheaderExitNodeUpdate.ll deleted file mode 100644 index 224116f89c1..00000000000 --- a/llvm/test/Regression/Transforms/LICM/2003-02-27-PreheaderExitNodeUpdate.ll +++ /dev/null @@ -1,19 +0,0 @@ -; This testcase fails because preheader insertion is not updating exit node -; information for loops. - -; RUN: llvm-upgrade < %s | llvm-as | opt -licm - -int %main(int %argc, sbyte** %argv) { -bb0: ; No predecessors! - br bool false, label %bb7, label %bb5 - -bb5: ; preds = %bb5, %bb0 - br bool false, label %bb5, label %bb7 - -bb7: ; preds = %bb7, %bb5, %bb0 - br bool false, label %bb7, label %bb10 - -bb10: ; preds = %bb7 - ret int 0 -} - diff --git a/llvm/test/Regression/Transforms/LICM/2003-02-27-PreheaderProblem.ll b/llvm/test/Regression/Transforms/LICM/2003-02-27-PreheaderProblem.ll deleted file mode 100644 index 96e11c33375..00000000000 --- a/llvm/test/Regression/Transforms/LICM/2003-02-27-PreheaderProblem.ll +++ /dev/null @@ -1,25 +0,0 @@ -; Here we have a case where there are two loops and LICM is hoisting an -; instruction from one loop into the other loop! This is obviously bad and -; happens because preheader insertion doesn't insert a preheader for this -; case... bad. - -; RUN: llvm-upgrade < %s | llvm-as | opt -licm -adce -simplifycfg | llvm-dis | not grep 'br ' - -int %main(int %argc) { - br label %bb5 - -bb5: ; preds = %bb5, %0 - %I = phi int [0, %0], [%I2, %bb5] - %I2 = add int %I, 1 - %c = seteq int %I2, 10 - br bool %c, label %bb5, label %bb8 - -bb8: ; preds = %bb8, %bb5 - %cann-indvar = phi uint [ 0, %bb8 ], [ 0, %bb5 ] - %X = add int %argc, %argc ; Loop invariant - br bool false, label %bb8, label %bb10 - -bb10: ; preds = %bb8 - ret int %X -} - diff --git a/llvm/test/Regression/Transforms/LICM/2003-02-27-StoreSinkPHIs.ll b/llvm/test/Regression/Transforms/LICM/2003-02-27-StoreSinkPHIs.ll deleted file mode 100644 index caf50eb5fad..00000000000 --- a/llvm/test/Regression/Transforms/LICM/2003-02-27-StoreSinkPHIs.ll +++ /dev/null @@ -1,13 +0,0 @@ -; LICM is adding stores before phi nodes. bad. - -; RUN: llvm-upgrade < %s | llvm-as | opt -licm - -bool %test(bool %c) { - br bool %c, label %Loop, label %Out -Loop: - store int 0, int* null - br bool %c, label %Loop, label %Out -Out: - %X = phi bool [%c, %0], [true, %Loop] - ret bool %X -} diff --git a/llvm/test/Regression/Transforms/LICM/2003-02-28-PromoteDifferentType.ll b/llvm/test/Regression/Transforms/LICM/2003-02-28-PromoteDifferentType.ll deleted file mode 100644 index 360871b82f4..00000000000 --- a/llvm/test/Regression/Transforms/LICM/2003-02-28-PromoteDifferentType.ll +++ /dev/null @@ -1,15 +0,0 @@ -; Test that hoisting is disabled for pointers of different types... -; -; RUN: llvm-upgrade < %s | llvm-as | opt -licm - -void %test(int* %P) { - br label %Loop -Loop: - store int 5, int* %P - %P2 = cast int* %P to sbyte* - store sbyte 4, sbyte* %P2 - br bool true, label %Loop, label %Out -Out: - ret void -} - diff --git a/llvm/test/Regression/Transforms/LICM/2003-05-02-LoadHoist.ll b/llvm/test/Regression/Transforms/LICM/2003-05-02-LoadHoist.ll deleted file mode 100644 index ce13e6d57e4..00000000000 --- a/llvm/test/Regression/Transforms/LICM/2003-05-02-LoadHoist.ll +++ /dev/null @@ -1,21 +0,0 @@ -; This testcase tests for a problem where LICM hoists loads out of a loop -; despite the fact that calls to unknown functions may modify what is being -; loaded from. Basically if the load gets hoisted, the subtract gets turned -; into a constant zero. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -licm -load-vn -gcse -instcombine | llvm-dis | grep load - -%X = global int 7 -declare void %foo() - -int %test(bool %c) { - %A = load int *%X - br label %Loop -Loop: - call void %foo() - %B = load int *%X ;; Should not hoist this load! - br bool %c, label %Loop, label %Out -Out: - %C = sub int %A, %B - ret int %C -} diff --git a/llvm/test/Regression/Transforms/LICM/2003-08-04-TrappingInstHoist.ll b/llvm/test/Regression/Transforms/LICM/2003-08-04-TrappingInstHoist.ll deleted file mode 100644 index 63a4ac00973..00000000000 --- a/llvm/test/Regression/Transforms/LICM/2003-08-04-TrappingInstHoist.ll +++ /dev/null @@ -1,27 +0,0 @@ -; This testcase tests for a problem where LICM hoists -; potentially trapping instructions when they are not guaranteed to execute. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -licm | llvm-dis | %prcontext "IfUnEqual" 2 | grep div - -%X = global int 0 -declare void %foo() - -int %test(bool %c) { - %A = load int *%X - br label %Loop -Loop: - call void %foo() - br bool %c, label %LoopTail, label %IfUnEqual - -IfUnEqual: - %B1 = div int 4, %A ;; Should not hoist this div! - br label %LoopTail - -LoopTail: - %B = phi int [ 0, %Loop ], [ %B1, %IfUnEqual] - br bool %c, label %Loop, label %Out - -Out: - %C = sub int %A, %B - ret int %C -} diff --git a/llvm/test/Regression/Transforms/LICM/2003-08-04-TrappingInstOkHoist.ll b/llvm/test/Regression/Transforms/LICM/2003-08-04-TrappingInstOkHoist.ll deleted file mode 100644 index 2c784c00617..00000000000 --- a/llvm/test/Regression/Transforms/LICM/2003-08-04-TrappingInstOkHoist.ll +++ /dev/null @@ -1,20 +0,0 @@ -; This testcase tests to make sure a trapping instruction is hoisted when -; it is guaranteed to execute. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -licm | llvm-dis | %prcontext "test" 2 | grep div - -%X = global int 0 -declare void %foo(int) - -int %test(bool %c) { - %A = load int *%X - br label %Loop -Loop: - %B = div int 4, %A ;; Should have hoisted this div! - call void %foo(int %B) - br bool %c, label %Loop, label %Out - -Out: - %C = sub int %A, %B - ret int %C -} diff --git a/llvm/test/Regression/Transforms/LICM/2003-12-11-SinkingToPHI.ll b/llvm/test/Regression/Transforms/LICM/2003-12-11-SinkingToPHI.ll deleted file mode 100644 index 955e70b8e95..00000000000 --- a/llvm/test/Regression/Transforms/LICM/2003-12-11-SinkingToPHI.ll +++ /dev/null @@ -1,20 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -licm | lli - -implementation ; Functions: - -int %main() { -entry: - br label %Loop - -Loop: - br bool true, label %LoopCont, label %Out -LoopCont: - %X = add int 1, 0 - br bool true, label %Out, label %Loop - -Out: - %V = phi int [ 2, %Loop], [ %X, %LoopCont] - %V2 = sub int %V, 1 - ret int %V2 -} - diff --git a/llvm/test/Regression/Transforms/LICM/2003-12-13-VolatilePromote.ll b/llvm/test/Regression/Transforms/LICM/2003-12-13-VolatilePromote.ll deleted file mode 100644 index 916a6e38333..00000000000 --- a/llvm/test/Regression/Transforms/LICM/2003-12-13-VolatilePromote.ll +++ /dev/null @@ -1,17 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -licm | llvm-dis | %prcontext volatile 1 | grep Loop - -%X = global int 7 - -void %testfunc(int %i) { - br label %Loop - -Loop: - %x = volatile load int* %X ; Should not promote this to a register - %x2 = add int %x, 1 - store int %x2, int* %X - br bool true, label %Out, label %Loop - -Out: - ret void -} - diff --git a/llvm/test/Regression/Transforms/LICM/2004-09-14-AliasAnalysisInvalidate.llx b/llvm/test/Regression/Transforms/LICM/2004-09-14-AliasAnalysisInvalidate.llx deleted file mode 100644 index f4dd108a0e7..00000000000 --- a/llvm/test/Regression/Transforms/LICM/2004-09-14-AliasAnalysisInvalidate.llx +++ /dev/null @@ -1,22 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globalsmodref-aa -licm -disable-output - -%PL_regcomp_parse = internal global sbyte* null - -implementation - -void %test() { - br label %Outer -Outer: - br label %Inner -Inner: - %tmp.114.i.i.i = load sbyte** %PL_regcomp_parse - %tmp.115.i.i.i = load sbyte* %tmp.114.i.i.i - - store sbyte* null, sbyte** %PL_regcomp_parse - - br bool false, label %Inner, label %Next -Next: - br bool false, label %Outer, label %Exit -Exit: - ret void -} diff --git a/llvm/test/Regression/Transforms/LICM/2004-11-17-UndefIndexCrash.ll b/llvm/test/Regression/Transforms/LICM/2004-11-17-UndefIndexCrash.ll deleted file mode 100644 index 848dd46549d..00000000000 --- a/llvm/test/Regression/Transforms/LICM/2004-11-17-UndefIndexCrash.ll +++ /dev/null @@ -1,24 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -licm -disable-output - - %struct.roadlet = type { sbyte*, %struct.vehicle*, [8 x %struct.roadlet*], [8 x %struct.roadlet* (%struct.roadlet*, %struct.vehicle*, int)*] } - %struct.vehicle = type { %struct.roadlet*, sbyte*, int, int, %union.._631., int } - %union.._631. = type { int } - -implementation ; Functions: - -declare %struct.roadlet* %_Z11return_nullP7roadletP7vehicle9direction(%struct.roadlet*, %struct.vehicle*, int) - -declare %struct.roadlet* %_Z14lane_switch_okP7roadletP7vehicle9direction(%struct.roadlet*, %struct.vehicle*, int) - -void %main() { -__main.entry: ; preds = %invoke_cont.1 - br label %invoke_cont.3 - -invoke_cont.3: ; preds = %__main.entry, %invoke_cont.3 - %tmp.34.i.i502.7 = getelementptr %struct.roadlet* null, int 0, uint 3, int 7 ; <%struct.roadlet* (%struct.roadlet*, %struct.vehicle*, int)**> [#uses=1] - store %struct.roadlet* (%struct.roadlet*, %struct.vehicle*, int)* %_Z11return_nullP7roadletP7vehicle9direction, %struct.roadlet* (%struct.roadlet*, %struct.vehicle*, int)** %tmp.34.i.i502.7 - store %struct.roadlet* (%struct.roadlet*, %struct.vehicle*, int)* %_Z14lane_switch_okP7roadletP7vehicle9direction, %struct.roadlet* (%struct.roadlet*, %struct.vehicle*, int)** null - %tmp.4.i.i339 = getelementptr %struct.roadlet* null, int 0, uint 3, int undef ; <%struct.roadlet* (%struct.roadlet*, %struct.vehicle*, int)**> [#uses=1] - store %struct.roadlet* (%struct.roadlet*, %struct.vehicle*, int)* %_Z11return_nullP7roadletP7vehicle9direction, %struct.roadlet* (%struct.roadlet*, %struct.vehicle*, int)** %tmp.4.i.i339 - br label %invoke_cont.3 -} diff --git a/llvm/test/Regression/Transforms/LICM/2005-03-24-LICM-Aggregate-Crash.ll b/llvm/test/Regression/Transforms/LICM/2005-03-24-LICM-Aggregate-Crash.ll deleted file mode 100644 index 544dee3a283..00000000000 --- a/llvm/test/Regression/Transforms/LICM/2005-03-24-LICM-Aggregate-Crash.ll +++ /dev/null @@ -1,10 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -licm -disable-output - -void %test({int}* %P) { - br label %Loop - -Loop: - free {int}* %P - br label %Loop -} - diff --git a/llvm/test/Regression/Transforms/LICM/2006-09-12-DeadUserOfSunkInstr.ll b/llvm/test/Regression/Transforms/LICM/2006-09-12-DeadUserOfSunkInstr.ll deleted file mode 100644 index 8eca08c793c..00000000000 --- a/llvm/test/Regression/Transforms/LICM/2006-09-12-DeadUserOfSunkInstr.ll +++ /dev/null @@ -1,215 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -licm -disable-output -; PR908 - - %struct.alloc_chain = type { sbyte*, %struct.alloc_chain* } - %struct.oggpack_buffer = type { int, int, ubyte*, ubyte*, int } - %struct.vorbis_block = type { float**, %struct.oggpack_buffer, int, int, int, int, int, int, long, long, %struct.vorbis_dsp_state*, sbyte*, int, int, int, %struct.alloc_chain*, int, int, int, int, sbyte* } - %struct.vorbis_dsp_state = type { int, %struct.vorbis_info*, float**, float**, int, int, int, int, int, int, int, int, int, long, long, long, long, long, long, sbyte* } - %struct.vorbis_info = type { int, int, int, int, int, int, int, sbyte* } - -implementation ; Functions: - -fastcc void %_01forward() { -entry: - br bool false, label %bb222.preheader, label %bb241 - -cond_true67: ; preds = %cond_true87 - br label %cond_next80 - -cond_next80: ; preds = %cond_true87, %cond_true67 - br label %bb83 - -bb83.preheader: ; preds = %cond_true226 - br bool false, label %bb83.us.preheader, label %bb83.preheader1 - -bb83.us.preheader: ; preds = %bb83.preheader - br label %bb83.us - -bb83.us: ; preds = %cond_next80.us, %bb83.us.preheader - br bool false, label %cond_true87.us, label %cond_next92.loopexit2 - -cond_next80.us: ; preds = %bb59.loopexit.us, %cond_true67.us - br label %bb83.us - -cond_true67.us: ; preds = %bb59.loopexit.us - br label %cond_next80.us - -cond_next.us: ; preds = %cond_true56.us, %cond_true38.us - br bool false, label %cond_true56.us, label %bb59.loopexit.us - -cond_true38.us: ; preds = %cond_true56.us - br label %cond_next.us - -cond_true56.us: ; preds = %cond_true87.us, %cond_next.us - br bool false, label %cond_true38.us, label %cond_next.us - -cond_true87.us: ; preds = %bb83.us - br label %cond_true56.us - -bb59.loopexit.us: ; preds = %cond_next.us - br bool false, label %cond_true67.us, label %cond_next80.us - -bb83.preheader1: ; preds = %bb83.preheader - br label %bb83 - -bb83: ; preds = %bb83.preheader1, %cond_next80 - br bool false, label %cond_next92.loopexit, label %cond_true87 - -cond_true87: ; preds = %bb83 - br bool false, label %cond_true67, label %cond_next80 - -cond_next92.loopexit: ; preds = %bb83 - br label %cond_next92 - -cond_next92.loopexit2: ; preds = %bb83.us - br label %cond_next92 - -cond_next92: ; preds = %cond_true226, %cond_next92.loopexit2, %cond_next92.loopexit - br bool false, label %cond_true218.loopexit, label %bb222 - -cond_true139: ; preds = %cond_true202 - br bool false, label %cond_next195, label %cond_true155 - -cond_true155: ; preds = %cond_true139 - br bool false, label %cond_true249.i.preheader, label %_encodepart.exit - -cond_true.i: ; preds = %cond_true115.i - br bool false, label %bb60.i.preheader, label %cond_next97.i - -bb60.i.preheader: ; preds = %cond_true.i - br label %bb60.i - -bb60.i: ; preds = %cond_true63.i, %bb60.i.preheader - br bool false, label %cond_true63.i, label %cond_next97.i.loopexit - -cond_true63.i: ; preds = %bb60.i - br bool false, label %bb60.i, label %cond_next97.i.loopexit - -bb86.i.preheader: ; preds = %cond_true115.i - br label %bb86.i - -bb86.i: ; preds = %cond_true93.i, %bb86.i.preheader - br bool false, label %cond_true93.i, label %cond_next97.i.loopexit3 - -cond_true93.i: ; preds = %bb86.i - br bool false, label %cond_next97.i.loopexit3, label %bb86.i - -cond_next97.i.loopexit: ; preds = %cond_true63.i, %bb60.i - br label %cond_next97.i - -cond_next97.i.loopexit3: ; preds = %cond_true93.i, %bb86.i - br label %cond_next97.i - -cond_next97.i: ; preds = %cond_next97.i.loopexit3, %cond_next97.i.loopexit, %cond_true.i - br bool false, label %bb118.i.loopexit, label %cond_true115.i - -cond_true115.i.preheader: ; preds = %cond_true249.i - br label %cond_true115.i - -cond_true115.i: ; preds = %cond_true115.i.preheader, %cond_next97.i - br bool false, label %cond_true.i, label %bb86.i.preheader - -bb118.i.loopexit: ; preds = %cond_next97.i - br label %bb118.i - -bb118.i: ; preds = %cond_true249.i, %bb118.i.loopexit - br bool false, label %cond_next204.i, label %cond_true128.i - -cond_true128.i: ; preds = %bb118.i - br bool false, label %cond_true199.i.preheader, label %cond_next204.i - -cond_true199.i.preheader: ; preds = %cond_true128.i - br label %cond_true199.i - -cond_true199.i.us: ; No predecessors! - br bool false, label %cond_true167.i.us, label %cond_next187.i.us - -cond_next187.i.us: ; preds = %bb170.i.loopexit.us, %bb170.i.us.cond_next187.i.us_crit_edge, %cond_true199.i.us - unreachable - -bb170.i.us.cond_next187.i.us_crit_edge: ; preds = %bb170.i.loopexit.us - br label %cond_next187.i.us - -cond_true167.i.us: ; preds = %cond_true167.i.us, %cond_true199.i.us - br bool false, label %cond_true167.i.us, label %bb170.i.loopexit.us - -bb170.i.loopexit.us: ; preds = %cond_true167.i.us - br bool false, label %cond_next187.i.us, label %bb170.i.us.cond_next187.i.us_crit_edge - -cond_true199.i: ; preds = %cond_true199.i, %cond_true199.i.preheader - br bool false, label %cond_next204.i.loopexit, label %cond_true199.i - -cond_next204.i.loopexit: ; preds = %cond_true199.i - br label %cond_next204.i - -cond_next204.i: ; preds = %cond_next204.i.loopexit, %cond_true128.i, %bb118.i - br label %bb233.i - -cond_true230.i: ; No predecessors! - %exitcond155 = seteq uint 0, %tmp16.i ; <bool> [#uses=0] - unreachable - -bb233.i: ; preds = %cond_next204.i - br bool false, label %_encodepart.exit.loopexit, label %cond_true249.i - -cond_true249.i.preheader: ; preds = %cond_true155 - br label %cond_true249.i - -cond_true249.i: ; preds = %cond_true249.i.preheader, %bb233.i - %tmp16.i = cast int 0 to uint ; <uint> [#uses=1] - br bool false, label %cond_true115.i.preheader, label %bb118.i - -_encodepart.exit.loopexit: ; preds = %bb233.i - br label %_encodepart.exit - -_encodepart.exit: ; preds = %_encodepart.exit.loopexit, %cond_true155 - br label %cond_next195 - -cond_next195: ; preds = %cond_true202, %_encodepart.exit, %cond_true139 - br bool false, label %bb205.loopexit, label %cond_true202 - -cond_true202.preheader: ; preds = %cond_true218 - br label %cond_true202 - -cond_true202: ; preds = %cond_true202.preheader, %cond_next195 - br bool false, label %cond_next195, label %cond_true139 - -bb205.loopexit: ; preds = %cond_next195 - br label %bb205 - -bb205: ; preds = %cond_true218, %bb205.loopexit - br bool false, label %cond_true218, label %bb222.outer105.loopexit - -cond_true218.loopexit: ; preds = %cond_next92 - br label %cond_true218 - -cond_true218: ; preds = %cond_true218.loopexit, %bb205 - br bool false, label %cond_true202.preheader, label %bb205 - -bb222.preheader: ; preds = %entry - br label %bb222.outer - -bb222.outer: ; preds = %bb229, %bb222.preheader - br label %bb222.outer105 - -bb222.outer105.loopexit: ; preds = %bb205 - br label %bb222.outer105 - -bb222.outer105: ; preds = %bb222.outer105.loopexit, %bb222.outer - br label %bb222 - -bb222: ; preds = %bb222.outer105, %cond_next92 - br bool false, label %cond_true226, label %bb229 - -cond_true226: ; preds = %bb222 - br bool false, label %bb83.preheader, label %cond_next92 - -bb229: ; preds = %bb222 - br bool false, label %bb222.outer, label %bb241.loopexit - -bb241.loopexit: ; preds = %bb229 - br label %bb241 - -bb241: ; preds = %bb241.loopexit, %entry - ret void -} diff --git a/llvm/test/Regression/Transforms/LICM/basictest.ll b/llvm/test/Regression/Transforms/LICM/basictest.ll deleted file mode 100644 index 6458f035c2e..00000000000 --- a/llvm/test/Regression/Transforms/LICM/basictest.ll +++ /dev/null @@ -1,17 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -licm | llvm-dis - -void "testfunc"(int %i) { - - br label %Loop - -Loop: - %j = phi uint [0, %0], [%Next, %Loop] - %i = cast int %i to uint - %i2 = mul uint %i, 17 - %Next = add uint %j, %i2 - %cond = seteq uint %Next, 0 - br bool %cond, label %Out, label %Loop - -Out: - ret void -} diff --git a/llvm/test/Regression/Transforms/LICM/call_sink_const_function.ll b/llvm/test/Regression/Transforms/LICM/call_sink_const_function.ll deleted file mode 100644 index a8a4b72d6d6..00000000000 --- a/llvm/test/Regression/Transforms/LICM/call_sink_const_function.ll +++ /dev/null @@ -1,16 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -basicaa -licm | llvm-dis | %prcontext sin 1 | grep Out: -declare double %sin(double) -declare void %foo() - -double %test(double %X) { - br label %Loop - -Loop: - call void %foo() ;; Unknown effects! - - %A = call double %sin(double %X) ;; Can still hoist/sink call - br bool true, label %Loop, label %Out - -Out: - ret double %A -} diff --git a/llvm/test/Regression/Transforms/LICM/call_sink_pure_function.ll b/llvm/test/Regression/Transforms/LICM/call_sink_pure_function.ll deleted file mode 100644 index e5857a62a6f..00000000000 --- a/llvm/test/Regression/Transforms/LICM/call_sink_pure_function.ll +++ /dev/null @@ -1,14 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -basicaa -licm | llvm-dis | %prcontext strlen 1 | grep Out: -declare int %strlen(sbyte*) -declare void %foo() - -int %test(sbyte* %P) { - br label %Loop - -Loop: - %A = call int %strlen(sbyte* %P) ;; Can hoist/sink call - br bool false, label %Loop, label %Out - -Out: - ret int %A -} diff --git a/llvm/test/Regression/Transforms/LICM/dg.exp b/llvm/test/Regression/Transforms/LICM/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/LICM/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/LICM/no-preheader-test.ll b/llvm/test/Regression/Transforms/LICM/no-preheader-test.ll deleted file mode 100644 index 7f4b51aef9d..00000000000 --- a/llvm/test/Regression/Transforms/LICM/no-preheader-test.ll +++ /dev/null @@ -1,21 +0,0 @@ -; Test that LICM works when there is not a loop-preheader -; RUN: llvm-upgrade < %s | llvm-as | opt -licm | llvm-dis - -void "testfunc"(int %i.s, bool %ifcond) { - br bool %ifcond, label %Then, label %Else -Then: - br label %Loop -Else: - br label %Loop - -Loop: - %j = phi uint [0, %Then], [12, %Else], [%Next, %Loop] - %i = cast int %i.s to uint - %i2 = mul uint %i, 17 - %Next = add uint %j, %i2 - %cond = seteq uint %Next, 0 - br bool %cond, label %Out, label %Loop - -Out: - ret void -} diff --git a/llvm/test/Regression/Transforms/LICM/scalar_promote.ll b/llvm/test/Regression/Transforms/LICM/scalar_promote.ll deleted file mode 100644 index 219b16bad09..00000000000 --- a/llvm/test/Regression/Transforms/LICM/scalar_promote.ll +++ /dev/null @@ -1,36 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -licm -stats 2>&1 | grep "memory locations promoted to register" - -%X = global int 7 - -void %testfunc(int %i) { - br label %Loop - -Loop: - %j = phi uint [0, %0], [%Next, %Loop] - - %x = load int* %X ; Should promote this to a register inside of loop! - %x2 = add int %x, 1 - store int %x2, int* %X - - %Next = add uint %j, 1 - %cond = seteq uint %Next, 0 - br bool %cond, label %Out, label %Loop - -Out: - ret void -} - -void %testhard(int %i) { - br label %Loop -Loop: - %X1 = getelementptr int* %X, long 0 - %A = load int* %X1 ; Aliases X, needs to be rewritten - %V = add int %A, 1 - %X2 = getelementptr int* %X, long 0 - store int %V, int* %X2 - br bool false, label %Loop, label %Exit - -Exit: - ret void - -} diff --git a/llvm/test/Regression/Transforms/LICM/sink_critical_edge.ll b/llvm/test/Regression/Transforms/LICM/sink_critical_edge.ll deleted file mode 100644 index bc8f2b2cf25..00000000000 --- a/llvm/test/Regression/Transforms/LICM/sink_critical_edge.ll +++ /dev/null @@ -1,19 +0,0 @@ -; This testcase checks to make sure the sinker does not cause problems with -; critical edges. - -; RUN: llvm-upgrade < %s | llvm-as | opt -licm | llvm-dis | %prcontext add 1 | grep Exit - -implementation ; Functions: - -void %test() { -Entry: - br bool false, label %Loop, label %Exit - -Loop: - %X = add int 0, 1 - br bool false, label %Loop, label %Exit - -Exit: - %Y = phi int [ 0, %Entry ], [ %X, %Loop ] - ret void -} diff --git a/llvm/test/Regression/Transforms/LICM/sink_inst.ll b/llvm/test/Regression/Transforms/LICM/sink_inst.ll deleted file mode 100644 index 82d93571e7a..00000000000 --- a/llvm/test/Regression/Transforms/LICM/sink_inst.ll +++ /dev/null @@ -1,19 +0,0 @@ -; If the result of an instruction is only used outside of the loop, sink -; the instruction to the exit blocks instead of executing it on every -; iteration of the loop. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -licm | llvm-dis | %prcontext mul 1 | grep Out: - -int %test(int %N) { -Entry: - br label %Loop -Loop: - %N_addr.0.pn = phi int [ %dec, %Loop ], [ %N, %Entry ] - %tmp.6 = mul int %N, %N_addr.0.pn - %tmp.7 = sub int %tmp.6, %N - %dec = add int %N_addr.0.pn, -1 - %tmp.1 = setne int %N_addr.0.pn, 1 - br bool %tmp.1, label %Loop, label %Out -Out: - ret int %tmp.7 -} diff --git a/llvm/test/Regression/Transforms/LICM/sink_load.ll b/llvm/test/Regression/Transforms/LICM/sink_load.ll deleted file mode 100644 index 5b19b6ffb76..00000000000 --- a/llvm/test/Regression/Transforms/LICM/sink_load.ll +++ /dev/null @@ -1,20 +0,0 @@ -; To reduce register pressure, if a load is hoistable out of the loop, and the -; result of the load is only used outside of the loop, sink the load instead of -; hoisting it! -; -; RUN: llvm-upgrade < %s | llvm-as | opt -licm | llvm-dis | %prcontext load 1 | grep Out: - -%X = global int 5 - -int %test(int %N) { -Entry: - br label %Loop -Loop: - %N_addr.0.pn = phi int [ %dec, %Loop ], [ %N, %Entry ] - %tmp.6 = load int* %X - %dec = add int %N_addr.0.pn, -1 - %tmp.1 = setne int %N_addr.0.pn, 1 - br bool %tmp.1, label %Loop, label %Out -Out: - ret int %tmp.6 -} diff --git a/llvm/test/Regression/Transforms/LICM/sink_multiple.ll b/llvm/test/Regression/Transforms/LICM/sink_multiple.ll deleted file mode 100644 index 61cf6909e6c..00000000000 --- a/llvm/test/Regression/Transforms/LICM/sink_multiple.ll +++ /dev/null @@ -1,19 +0,0 @@ -; The loop sinker was running from the bottom of the loop to the top, causing -; it to miss opportunities to sink instructions that depended on sinking other -; instructions from the loop. Instead they got hoisted, which is better than -; leaving them in the loop, but increases register pressure pointlessly. - -; RUN: llvm-upgrade < %s | llvm-as | opt -licm | llvm-dis | %prcontext getelementptr 1 | grep Out: - -%Ty = type { int, int } -%X = external global %Ty - -int %test() { - br label %Loop -Loop: - %dead = getelementptr %Ty* %X, long 0, uint 0 - %sunk2 = load int* %dead - br bool false, label %Loop, label %Out -Out: - ret int %sunk2 -} diff --git a/llvm/test/Regression/Transforms/LICM/sink_multiple_exits.ll b/llvm/test/Regression/Transforms/LICM/sink_multiple_exits.ll deleted file mode 100644 index 860d7306d5c..00000000000 --- a/llvm/test/Regression/Transforms/LICM/sink_multiple_exits.ll +++ /dev/null @@ -1,22 +0,0 @@ -; This testcase ensures that we can sink instructions from loops with -; multiple exits. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -licm | llvm-dis | %prcontext mul 1 | grep 'Out[12]:' - -int %test(int %N, bool %C) { -Entry: - br label %Loop -Loop: - %N_addr.0.pn = phi int [ %dec, %ContLoop ], [ %N, %Entry ] - %tmp.6 = mul int %N, %N_addr.0.pn - %tmp.7 = sub int %tmp.6, %N - %dec = add int %N_addr.0.pn, -1 - br bool %C, label %ContLoop, label %Out1 -ContLoop: - %tmp.1 = setne int %N_addr.0.pn, 1 - br bool %tmp.1, label %Loop, label %Out2 -Out1: - ret int %tmp.7 -Out2: - ret int %tmp.7 -} diff --git a/llvm/test/Regression/Transforms/LICM/sink_only_some_exits.ll b/llvm/test/Regression/Transforms/LICM/sink_only_some_exits.ll deleted file mode 100644 index e82166a685d..00000000000 --- a/llvm/test/Regression/Transforms/LICM/sink_only_some_exits.ll +++ /dev/null @@ -1,25 +0,0 @@ -; This testcase checks to make sure we can sink values which are only live on -; some exits out of the loop, and that we can do so without breaking dominator -; info. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -licm | llvm-dis | %prcontext add 1 | grep exit2: - -implementation ; Functions: - -int %test(bool %C1, bool %C2, int *%P, int* %Q) { -Entry: - br label %Loop - -Loop: - br bool %C1, label %Cont, label %exit1 -Cont: - %X = load int* %P - store int %X, int* %Q - %V = add int %X, 1 - br bool %C2, label %Loop, label %exit2 - -exit1: - ret int 0 -exit2: - ret int %V -} diff --git a/llvm/test/Regression/Transforms/LICM/sink_phi_node_use.ll b/llvm/test/Regression/Transforms/LICM/sink_phi_node_use.ll deleted file mode 100644 index d50f54e47f0..00000000000 --- a/llvm/test/Regression/Transforms/LICM/sink_phi_node_use.ll +++ /dev/null @@ -1,28 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -licm | llvm-dis | %prcontext add 1 | grep preheader.loopexit: - -implementation - -void %test() { -loopentry.2.i: - br bool false, label %no_exit.1.i.preheader, label %loopentry.3.i.preheader - -no_exit.1.i.preheader: - br label %no_exit.1.i - -no_exit.1.i: - br bool false, label %return.i, label %endif.8.i - -endif.8.i: - %inc.1.i = add int 0, 1 - br bool false, label %no_exit.1.i, label %loopentry.3.i.preheader.loopexit - -loopentry.3.i.preheader.loopexit: - br label %loopentry.3.i.preheader - -loopentry.3.i.preheader: - %arg_num.0.i.ph13000 = phi int [ 0, %loopentry.2.i ], [ %inc.1.i, %loopentry.3.i.preheader.loopexit ] - ret void - -return.i: - ret void -} diff --git a/llvm/test/Regression/Transforms/LICM/sink_trapping_inst.ll b/llvm/test/Regression/Transforms/LICM/sink_trapping_inst.ll deleted file mode 100644 index 8e67c005f59..00000000000 --- a/llvm/test/Regression/Transforms/LICM/sink_trapping_inst.ll +++ /dev/null @@ -1,17 +0,0 @@ -; Potentially trapping instructions may be sunk as long as they are guaranteed -; to be executed. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -licm | llvm-dis | %prcontext div 1 | grep Out: - -int %test(int %N) { -Entry: - br label %Loop -Loop: - %N_addr.0.pn = phi int [ %dec, %Loop ], [ %N, %Entry ] - %tmp.6 = div int %N, %N_addr.0.pn - %dec = add int %N_addr.0.pn, -1 - %tmp.1 = setne int %N_addr.0.pn, 0 - br bool %tmp.1, label %Loop, label %Out -Out: - ret int %tmp.6 -} diff --git a/llvm/test/Regression/Transforms/LevelRaise/.cvsignore b/llvm/test/Regression/Transforms/LevelRaise/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/LevelRaise/2002-02-14-BadAssertion.ll b/llvm/test/Regression/Transforms/LevelRaise/2002-02-14-BadAssertion.ll deleted file mode 100644 index 546b6544f88..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2002-02-14-BadAssertion.ll +++ /dev/null @@ -1,19 +0,0 @@ -; An invalid assertion killed the level raiser. Fixed. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -raise - -implementation - -declare int "connect_left"() - -int "do_merge"() -begin - %reg108 = call int %connect_left( ) - %cast1002 = cast ulong 8 to sbyte * - %reg108-idxcast = cast int %reg108 to long - %reg1000 = getelementptr sbyte * %cast1002, long %reg108-idxcast - %cast1003 = cast sbyte * %reg1000 to sbyte * * - %reg112 = load sbyte * * %cast1003 - %cast111 = cast sbyte * %reg112 to int - ret int %cast111 -end diff --git a/llvm/test/Regression/Transforms/LevelRaise/2002-03-11-Calls.ll b/llvm/test/Regression/Transforms/LevelRaise/2002-03-11-Calls.ll deleted file mode 100644 index 3e8a58fc360..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2002-03-11-Calls.ll +++ /dev/null @@ -1,15 +0,0 @@ -; Fixed a problem where level raise would try to forward substitute a cast of a -; method pointer type into a call. In doing so, it would have to change the -; types of the arguments to the call, but broke doing so. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -raise - -implementation - - -void "test"(void (int*) *%Fn, long* %Arg) -begin - %Fn2 = cast void (int*) *%Fn to void(long*) * - call void %Fn2(long *%Arg) - ret void -end diff --git a/llvm/test/Regression/Transforms/LevelRaise/2002-03-14-ConvertableToGEPHang.ll b/llvm/test/Regression/Transforms/LevelRaise/2002-03-14-ConvertableToGEPHang.ll deleted file mode 100644 index 895d5ae1109..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2002-03-14-ConvertableToGEPHang.ll +++ /dev/null @@ -1,24 +0,0 @@ -; This testcase found a bug in ConvertableToGEP that could cause an infinite loop -; Note that this code is actually miscompiled from the input source, but despite -; that, level raise should not hang! -; -; RUN: llvm-upgrade < %s | llvm-as | opt -raise - - %Disjunct = type { \2 *, short, sbyte, sbyte *, { short, short, sbyte, sbyte, \2, sbyte * } *, { short, short, sbyte, sbyte, \2, sbyte * } * } -%chosen_disjuncts = uninitialized global %Disjunct * * ; <%Disjunct * * *> [#uses=1] -implementation - -void "build_image_array"() -begin -bb0: ;[#uses=0] - %reg109 = getelementptr %Disjunct * * * %chosen_disjuncts, long 7 ; <%Disjunct * * *> [#uses=1] - %reg108 = load %Disjunct * * * %reg109 ; <%Disjunct * *> [#uses=1] - %reg1000 = getelementptr %Disjunct * * %reg108, long 3 ; <%Disjunct * *> [#uses=1] - %cast1007 = cast %Disjunct * * %reg1000 to sbyte * * ; <sbyte * *> [#uses=1] - %reg110 = load sbyte * * %cast1007 ; <sbyte *> [#uses=1] - %cast1008 = cast ulong 4 to sbyte * ; <sbyte *> [#uses=1] - %A = cast sbyte * %reg110 to ulong - %B = cast sbyte * %cast1008 to ulong - %reg1001 = add ulong %A, %B ; <sbyte *> [#uses=0] - ret void -end diff --git a/llvm/test/Regression/Transforms/LevelRaise/2002-03-20-BadCodegen.ll b/llvm/test/Regression/Transforms/LevelRaise/2002-03-20-BadCodegen.ll deleted file mode 100644 index 96961e330ca..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2002-03-20-BadCodegen.ll +++ /dev/null @@ -1,51 +0,0 @@ -; This testcase tests whether the raise pass generates bad code for a -; getelementptr instruction... with a bad level raise pass, this code -; will segfault on execution. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -raise |lli - - %Village = type { [4 x \3 *], \2 *, { \2 *, { int, int, int, \5 * } *, \2 * }, { int, int, int, { \2 *, { int, int, int, \6 * } *, \2 * }, { \2 *, { int, int, - int, \6 * } *, \2 * }, { \2 *, { int, int, int, \6 * } *, \2 * }, { \2 *, { int, int, int, \6 * } *, \2 * } }, int, int } - - - -implementation - -void "foo"(%Village *%V) -begin - ret void -end - -int %main(int %argc, sbyte **%argv) { -; <label>:0 ;[#uses=0] - %fval = alloca %Village *, uint 4 ; <%Village * *> [#uses=1] - %reg115 = malloc sbyte, uint 184 ; <sbyte *> [#uses=2] - br label %bb4 - -bb4: ;[#uses=2] - %reg130 = shl int %argc, ubyte 2 ; <int> [#uses=1] - %reg131 = add int %reg130, 3 ; <int> [#uses=1] - %reg132 = add int %reg131, 1 ; <int> [#uses=1] - %cast323 = cast sbyte * %reg115 to %Village * ; <%Village *> [#uses=1] - call void %foo(%Village * %cast323) ; <%Village *> [#uses=0] - br label %bb6 - -bb6: ;[#uses=3] - %reg176 = phi int [ %reg177, %bb6 ], [ 0, %bb4 ] ; <int> [#uses=2] - %cast370 = cast int %reg176 to int ; <int> [#uses=1] - %cast366 = cast int %reg176 to uint ; <uint> [#uses=1] - %reg159 = shl uint %cast366, ubyte 3 ; <uint> [#uses=1] - %cast161 = cast uint %reg159 to ulong ; <ulong> [#uses=1] - %cast367 = cast %Village * * %fval to ulong ; <sbyte *> [#uses=1] - %reg169 = add ulong %cast367, %cast161 - %cast368 = cast ulong %reg169 to sbyte * * ; <sbyte * *> [#uses=1] - %reg170 = load sbyte * * %cast368 ; <sbyte *> [#uses=1] - %V = cast sbyte *%reg170 to %Village* - call void %foo(%Village *%V) - %reg177 = add int %cast370, 1 ; <int> [#uses=2] - %cond303 = setle int %reg177, 3 ; <bool> [#uses=1] - br bool %cond303, label %bb6, label %bb7 - -bb7: ;[#uses=1] - ret int 0 -} diff --git a/llvm/test/Regression/Transforms/LevelRaise/2002-03-20-Crash.ll b/llvm/test/Regression/Transforms/LevelRaise/2002-03-20-Crash.ll deleted file mode 100644 index 35f4c8df60e..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2002-03-20-Crash.ll +++ /dev/null @@ -1,20 +0,0 @@ -; Level raise is making an incorrect transformation, which causes incorrect -; bytecode to be generated. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -raise | llvm-dis -; - - %Village = type { [4 x \3 *], \2 *, { \2 *, { int, int, int, \5 * } *, \2 * }, { int, int, int, { \2 *, { int, int, int, \6 * } *, \2 * }, { \2 *, { int, int, int, \6 * } *, \2 * }, { \2 *, { int, int, int, \6 * } *, \2 * }, { \2 *, { int, int, int, \6 * } *, \2 * } }, int, int } -implementation - -%Village *"get_results"(%Village * %village) -begin -bb0: ;[#uses=1] - %cast121 = cast int 24 to ulong ; <%Village *> [#uses=1] - %A = cast %Village* %village to ulong - %reg123 = add ulong %A, %cast121 ; <%Village *> [#uses=1] - %reg123 = cast ulong %reg123 to %Village* - %idx = getelementptr %Village * %reg123, long 0, uint 0, long 0 ; <%Village *> [#uses=1] - %reg118 = load %Village** %idx - ret %Village *%reg118 -end diff --git a/llvm/test/Regression/Transforms/LevelRaise/2002-03-21-MissedRaise.ll b/llvm/test/Regression/Transforms/LevelRaise/2002-03-21-MissedRaise.ll deleted file mode 100644 index d26b0570d3c..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2002-03-21-MissedRaise.ll +++ /dev/null @@ -1,22 +0,0 @@ -; This example should be raised to return a Hash directly without casting. -; LevelRaise should eliminate all cast instructions from this testcase. -; -; XFAIL: * -; RUN: llvm-upgrade < %s | llvm-as | opt -raise | llvm-dis | notcast - - %Hash = type { { uint, sbyte *, \2 } * *, int (uint) *, int } * - %hash = type { { uint, sbyte *, \2 } * *, int (uint) *, int } - %hash_el = type { uint, sbyte *, \2 } * -implementation - -%Hash "MakeHash"(int %size, int (uint) * %map) -begin - %reg112 = malloc sbyte, uint 24 ; <sbyte *> [#uses=5] - %reg115 = malloc sbyte, uint 96 ; <sbyte *> [#uses=1] - %cast237 = bitcast sbyte * %reg112 to sbyte * * ; <sbyte * *> [#uses=1] - store sbyte * %reg115, sbyte * * %cast237 - - %cast246 = bitcast sbyte * %reg112 to %Hash ; <%Hash> [#uses=1] - ret %Hash %cast246 -end - diff --git a/llvm/test/Regression/Transforms/LevelRaise/2002-03-21-MissedRaise2.ll b/llvm/test/Regression/Transforms/LevelRaise/2002-03-21-MissedRaise2.ll deleted file mode 100644 index e3b533c2826..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2002-03-21-MissedRaise2.ll +++ /dev/null @@ -1,29 +0,0 @@ -; Problem that occured because of obsolete code that only allowed malloc -; instructions to change type if they were 'array' allocations. This -; prevented reg115 from being able to change. -; -; XFAIL: * -; RUN: llvm-upgrade < %s | llvm-as | opt -raise | llvm-dis | not grep bitcast - - %Hash = type { { uint, sbyte *, \2 } * *, int (uint) *, int } * - %HashEntry = type { uint, sbyte *, \2 } * - %hash = type { { uint, sbyte *, \2 } * *, int (uint) *, int } - %hash_entry = type { uint, sbyte *, \2 * } -implementation - -%Hash "MakeHash"(int %size, int (uint) * %map) -begin -bb1: ;[#uses=0] - %reg112 = malloc sbyte * *, uint 3 ; <sbyte * * *> [#uses=4] - %reg115 = malloc sbyte *, uint 1 ; <sbyte * *> [#uses=1] - store sbyte * * %reg115, sbyte * * * %reg112 - %reg121 = load sbyte * * * %reg112 ; <sbyte * *> [#uses=1] - %size-idxcast1 = cast int %size to long ; <uint> [#uses=1] - %reg1221 = getelementptr sbyte * * %reg121, long %size-idxcast1 ; <sbyte * *> [#uses=1] - store sbyte * null, sbyte * * %reg1221 - %reg232 = getelementptr sbyte * * * %reg112, long 1 ; <sbyte * * *> [#uses=1] - %cast243 = cast int (uint) * %map to sbyte * * ; <sbyte * *> [#uses=1] - store sbyte * * %cast243, sbyte * * * %reg232 - %cast246 = cast sbyte * * * %reg112 to %Hash ; <%Hash> [#uses=1] - ret %Hash %cast246 -end diff --git a/llvm/test/Regression/Transforms/LevelRaise/2002-03-21-MissedRaise3.ll b/llvm/test/Regression/Transforms/LevelRaise/2002-03-21-MissedRaise3.ll deleted file mode 100644 index 310f34fb81a..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2002-03-21-MissedRaise3.ll +++ /dev/null @@ -1,19 +0,0 @@ -; XFAIL: * -; RUN: llvm-upgrade < %s | llvm-as | opt -raise | llvm-dis | not grep bitcast - - %Hash = type { { uint, sbyte *, \2 } * *, int (uint) *, int } * - %HashEntry = type { uint, sbyte *, \2 } * - %hash = type { { uint, sbyte *, \2 } * *, int (uint) *, int } - %hash_entry = type { uint, sbyte *, \2 * } -implementation - -%Hash "MakeHash"(int %size, int (uint) * %map) { - %reg112 = malloc sbyte * *, uint 3 ; <sbyte * * *> [#uses=5] - %reg107-uint = cast int %size to uint ; <uint> [#uses=1] - %reg115 = malloc sbyte *, uint %reg107-uint ; <sbyte * *> [#uses=1] - store sbyte * * %reg115, sbyte * * * %reg112 - - %cast246 = cast sbyte * * * %reg112 to %Hash ; <%Hash> [#uses=1] - ret %Hash %cast246 -} - diff --git a/llvm/test/Regression/Transforms/LevelRaise/2002-04-16-MissedRaise.ll b/llvm/test/Regression/Transforms/LevelRaise/2002-04-16-MissedRaise.ll deleted file mode 100644 index 3fa7320a207..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2002-04-16-MissedRaise.ll +++ /dev/null @@ -1,22 +0,0 @@ -; XFAIL: * -; this testcase is distilled from this C source: -; int *foo(unsigned N, unsigned M) { -; unsigned i = (N+1)*sizeof(int); -; unsigned j = (M+1)*sizeof(int); -; return (int*)malloc(i+j); -; } - -; RUN: llvm-upgrade < %s | llvm-as | opt -raise | llvm-dis | not grep bitcast - -implementation - -int* %test(uint %N, uint %M) { - %reg111 = shl uint %N, ubyte 2 ; <uint> [#uses=1] - %reg109 = add uint %reg111, 4 ; <uint> [#uses=1] - %reg114 = shl uint %M, ubyte 2 ; <uint> [#uses=1] - %reg112 = add uint %reg114, 4 ; <uint> [#uses=1] - %reg116 = add uint %reg109, %reg112 ; <uint> [#uses=1] - %reg117 = malloc sbyte, uint %reg116 ; <sbyte*> [#uses=1] - %cast221 = cast sbyte* %reg117 to int* ; <int*> [#uses=1] - ret int* %cast221 -} diff --git a/llvm/test/Regression/Transforms/LevelRaise/2002-05-02-BadCastElimination.ll b/llvm/test/Regression/Transforms/LevelRaise/2002-05-02-BadCastElimination.ll deleted file mode 100644 index 444d9d42364..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2002-05-02-BadCastElimination.ll +++ /dev/null @@ -1,24 +0,0 @@ -; This test contains two cast instructions that cannot be eliminated. If the -; input of the "test" function is negative, it should be correctly converted -; to a 32 bit version of the number with all upper 16 bits clear (ushort->uint -; involves no sign extension). Optimizing this to a single cast is invalid! -; -; RUN: llvm-upgrade < %s | llvm-as | opt -raise -q | lli -; -implementation - -uint "test"(short %argc) -begin - %cast223 = cast short %argc to ushort ; <ushort> [#uses=1] - %cast114 = cast ushort %cast223 to uint ; <uint> [#uses=1] - ret uint %cast114 -end - -int "main"() -begin - %Ret = call uint %test(short -1) - %test = cast uint %Ret to int - %Res = seteq int %test, -1 ; If it returns -1 as int, it's a failure - %Res = cast bool %Res to int - ret int %Res -end diff --git a/llvm/test/Regression/Transforms/LevelRaise/2002-05-02-MissedRaise.ll b/llvm/test/Regression/Transforms/LevelRaise/2002-05-02-MissedRaise.ll deleted file mode 100644 index 7335af090de..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2002-05-02-MissedRaise.ll +++ /dev/null @@ -1,20 +0,0 @@ -; This testcase is not level raised properly... -; XFAIL: * -; RUN: llvm-upgrade < %s | llvm-as | opt -raise | llvm-dis | not grep bitcast - - %List = type { int, %List* } - -implementation - -%List* "createList"(uint %Depth) -begin - %reg110 = malloc uint, uint 4 - store uint %Depth, uint* %reg110 - %reg113 = call %List* %createList( uint %Depth ) - %reg217 = getelementptr uint* %reg110, long 2 - %cast221 = cast uint* %reg217 to %List** - store %List* %reg113, %List** %cast221 - %cast222 = cast uint* %reg110 to %List* - ret %List* %cast222 -end - diff --git a/llvm/test/Regression/Transforms/LevelRaise/2002-05-10-LoadPeephole.ll b/llvm/test/Regression/Transforms/LevelRaise/2002-05-10-LoadPeephole.ll deleted file mode 100644 index 640415408d0..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2002-05-10-LoadPeephole.ll +++ /dev/null @@ -1,10 +0,0 @@ -; This testcase should have the cast propogated through the load -; just like a store does... -; -; RUN: llvm-upgrade < %s | llvm-as | opt -raise | llvm-dis | not grep 'bitcast uint \*' - -int "test"(uint * %Ptr) { - %P2 = cast uint *%Ptr to int * - %Val = load int * %P2 - ret int %Val -} diff --git a/llvm/test/Regression/Transforms/LevelRaise/2002-05-23-MissedRaise.ll b/llvm/test/Regression/Transforms/LevelRaise/2002-05-23-MissedRaise.ll deleted file mode 100644 index cbb77870e33..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2002-05-23-MissedRaise.ll +++ /dev/null @@ -1,20 +0,0 @@ -; XFAIL: * -; RUN: llvm-upgrade < %s | llvm-as | opt -raise | llvm-dis | not grep bitcast - -%FILE = type { int, ubyte*, ubyte*, ubyte, ubyte, uint, uint, uint } - -uint %addfile(%FILE* %f) { - %cast255 = cast %FILE* %f to sbyte* - - ; Addreses a ubyte member in memory... - %reg2421 = getelementptr sbyte* %cast255, long 24 - - ; Loads the ubyte - %reg130 = load sbyte* %reg2421 - - ; Error, cast cannot convert the source operand to ubyte because then - ; the sign extension would not be performed. Need to insert a cast. - ; - %cast250 = cast sbyte %reg130 to uint ; This is a sign extension instruction - ret uint %cast250 -} diff --git a/llvm/test/Regression/Transforms/LevelRaise/2002-07-16-MissedRaise.ll b/llvm/test/Regression/Transforms/LevelRaise/2002-07-16-MissedRaise.ll deleted file mode 100644 index 456b09fb6ad..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2002-07-16-MissedRaise.ll +++ /dev/null @@ -1,22 +0,0 @@ -; This case fails raise because the store requires that it's argument is of a -; particular type, but the gep is unable to propogate types backwards through -; it, because it doesn't know what type to ask it's operand to be. -; -; This could be fixed by making all stores add themselves to a list, and check -; their arguments are consistent AFTER all other values are propogated. -; XFAIL: * -; RUN: llvm-upgrade < %s | llvm-as | opt -raise | llvm-dis | notcast - - %Tree = type %struct.tree* - %struct.tree = type { int, double, double, %Tree, %Tree, %Tree, %Tree } - -void %reverse(%Tree %t) { -bb0: ;[#uses=0] - %cast219 = cast %Tree %t to sbyte*** ; <sbyte***> [#uses=2] - %reg2221 = getelementptr sbyte*** %cast219, long 6 ; <sbyte***> [#uses=1] - %reg108 = load sbyte*** %reg2221 ; <sbyte**> [#uses=2] - %reg247 = getelementptr sbyte*** %cast219, long 5 ; <sbyte***> [#uses=1] - store sbyte** %reg108, sbyte*** %reg247 - ret void -} - diff --git a/llvm/test/Regression/Transforms/LevelRaise/2002-07-16-RaiseCrash.ll b/llvm/test/Regression/Transforms/LevelRaise/2002-07-16-RaiseCrash.ll deleted file mode 100644 index ad8a1dc6731..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2002-07-16-RaiseCrash.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -raise - - %Tree = type %struct.tree* - %struct.tree = type { int, double, double, %Tree, %Tree, %Tree, %Tree } - -implementation ; Functions: - -void %reverse(%Tree %t) { -bb0: ;[#uses=0] - %cast219 = cast %Tree %t to sbyte*** ; <sbyte***> [#uses=7] - %cond220 = seteq sbyte*** %cast219, null ; <bool> [#uses=1] - br bool %cond220, label %bb5, label %bb2 - -bb2: ;[#uses=3] - %reg2221 = getelementptr sbyte*** %cast219, long 6 ; <sbyte***> [#uses=1] - %reg108 = load sbyte*** %reg2221 ; <sbyte**> [#uses=3] - %reg2251 = getelementptr sbyte** %reg108, long 5 ; <sbyte**> [#uses=1] - store sbyte* null, sbyte** %reg2251 - %reg2281 = getelementptr sbyte*** %cast219, long 6 ; <sbyte***> [#uses=1] - store sbyte** null, sbyte*** %reg2281 - %reg2311 = getelementptr sbyte*** %cast219, long 5 ; <sbyte***> [#uses=1] - %reg114 = load sbyte*** %reg2311 ; <sbyte**> [#uses=2] - %cond234 = seteq sbyte** %reg114, null ; <bool> [#uses=1] - br bool %cond234, label %bb4, label %bb3 - -bb3: ;[#uses=4] - %reg115 = phi sbyte*** [ %cast117, %bb3 ], [ %cast219, %bb2 ] ; <sbyte***> [#uses=2] - %reg116 = phi sbyte** [ %cast118, %bb3 ], [ %reg114, %bb2 ] ; <sbyte**> [#uses=4] - %reg236 = getelementptr sbyte** %reg116, long 5 ; <sbyte**> [#uses=1] - %reg110 = load sbyte** %reg236 ; <sbyte*> [#uses=1] - %reg239 = getelementptr sbyte** %reg116, long 5 ; <sbyte**> [#uses=1] - %cast241 = cast sbyte*** %reg115 to sbyte* ; <sbyte*> [#uses=1] - store sbyte* %cast241, sbyte** %reg239 - %reg242 = getelementptr sbyte*** %reg115, long 6 ; <sbyte***> [#uses=1] - store sbyte** %reg116, sbyte*** %reg242 - %cast117 = cast sbyte** %reg116 to sbyte*** ; <sbyte***> [#uses=1] - %cast118 = cast sbyte* %reg110 to sbyte** ; <sbyte**> [#uses=2] - %cond245 = setne sbyte** %cast118, null ; <bool> [#uses=1] - br bool %cond245, label %bb3, label %bb4 - -bb4: ;[#uses=2] - %reg247 = getelementptr sbyte*** %cast219, long 5 ; <sbyte***> [#uses=1] - store sbyte** %reg108, sbyte*** %reg247 - %reg250 = getelementptr sbyte** %reg108, long 6 ; <sbyte**> [#uses=2] - cast sbyte** %reg250 to sbyte**** ; <sbyte****>:0 [#uses=0] - %cast252 = cast sbyte*** %cast219 to sbyte* ; <sbyte*> [#uses=1] - store sbyte* %cast252, sbyte** %reg250 - br label %bb5 - -bb5: ;[#uses=2] - ret void -} - diff --git a/llvm/test/Regression/Transforms/LevelRaise/2002-07-16-RaiseCrash2.ll b/llvm/test/Regression/Transforms/LevelRaise/2002-07-16-RaiseCrash2.ll deleted file mode 100644 index 9c03684d950..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2002-07-16-RaiseCrash2.ll +++ /dev/null @@ -1,12 +0,0 @@ -; This crashes raise, with an cast<> failure - -; RUN: llvm-upgrade < %s | llvm-as | opt -raise - -implementation -sbyte* %test(int* %ptr) { - %A = cast int* %ptr to sbyte * - %A = cast sbyte* %A to ulong - %B = add ulong %A, %A - %B = cast ulong %B to sbyte* - ret sbyte * %B -} diff --git a/llvm/test/Regression/Transforms/LevelRaise/2002-07-16-SourceAndDestCrash.ll b/llvm/test/Regression/Transforms/LevelRaise/2002-07-16-SourceAndDestCrash.ll deleted file mode 100644 index 18121634dd9..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2002-07-16-SourceAndDestCrash.ll +++ /dev/null @@ -1,21 +0,0 @@ -; This testcase, which was distilled from a HUGE function, causes problems -; because both the source and the destination of the %Y cast are converted -; to a new type, which causes massive problems. - -; RUN: llvm-upgrade < %s | llvm-as | opt -raise -raise-start-inst=W - -int **%test(sbyte **%S) { -BB0: - br label %Loop - -Loop: - %X = phi sbyte* [null , %BB0], [%Z, %Loop] - - %Y = cast sbyte *%X to sbyte ** - %Z = load sbyte** %Y - br bool true, label %Loop, label %Out - -Out: - %W = cast sbyte** %Y to int** - ret int** %W -} diff --git a/llvm/test/Regression/Transforms/LevelRaise/2002-07-18-MissedAllocaRaise.ll b/llvm/test/Regression/Transforms/LevelRaise/2002-07-18-MissedAllocaRaise.ll deleted file mode 100644 index 7ab4ea360de..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2002-07-18-MissedAllocaRaise.ll +++ /dev/null @@ -1,11 +0,0 @@ -; Looks like we don't raise alloca's like we do mallocs -; XFAIL: * -; RUN: llvm-upgrade < %s | llvm-as | opt -raise | llvm-dis | not grep bitcast - -implementation ; Functions: - -int *%X() { - %reg107 = alloca ubyte, uint 4 - %cast213 = cast ubyte* %reg107 to int* - ret int* %cast213 -} diff --git a/llvm/test/Regression/Transforms/LevelRaise/2002-07-31-AssertionFailure.ll b/llvm/test/Regression/Transforms/LevelRaise/2002-07-31-AssertionFailure.ll deleted file mode 100644 index d875b1e71c0..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2002-07-31-AssertionFailure.ll +++ /dev/null @@ -1,26 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -raise -raise-start-inst=cast271 - - %CON_list = type { %CON_list*, %CON_node* } - %CON_node = type { %DIS_list*, %DIS_list*, int } - %DIS_list = type { %DIS_list*, %DIS_node* } - %DIS_node = type { %CON_list*, %List_o_links*, int } - %List_o_links = type { int, int, int, %List_o_links* } - -implementation ; Functions: - -%CON_node* %build_CON_node(int %reg107) { - br label %bb5 - -bb2: ;[#uses=3] - %reg126 = phi sbyte* [ %reg126, %bb2 ] - br bool true, label %bb2, label %bb5 - -bb5: ;[#uses=2] - %reg125 = phi sbyte* [ %reg126, %bb2], [ null, %0 ] - %reg263 = malloc sbyte*, uint 3 ; <sbyte**> [#uses=4] - %reg2641 = getelementptr sbyte** %reg263, long 1 ; <sbyte**> [#uses=1] - store sbyte* %reg125, sbyte** %reg2641 - store sbyte* %reg125, sbyte** %reg263 - %cast271 = cast sbyte** %reg263 to %CON_node* ; <%CON_node*> [#uses=1] - ret %CON_node* %cast271 -} diff --git a/llvm/test/Regression/Transforms/LevelRaise/2002-09-10-PointerAdds.ll b/llvm/test/Regression/Transforms/LevelRaise/2002-09-10-PointerAdds.ll deleted file mode 100644 index 6a2bc50ef24..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2002-09-10-PointerAdds.ll +++ /dev/null @@ -1,9 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -raise - -int* %test(int* %P, int* %Q) { - %P = cast int* %P to ulong - %Q = cast int* %Q to ulong - %V = add ulong %P, %Q - %V = cast ulong %V to int* - ret int* %V -} diff --git a/llvm/test/Regression/Transforms/LevelRaise/2002-10-02-SignExtensionProblem.ll b/llvm/test/Regression/Transforms/LevelRaise/2002-10-02-SignExtensionProblem.ll deleted file mode 100644 index d3b24304b7d..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2002-10-02-SignExtensionProblem.ll +++ /dev/null @@ -1,13 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -raise | llvm-dis | grep -v uint | not grep 4294967295 - -%length_code = uninitialized global [256 x ubyte] - -ubyte* %test(uint %length) { - %d = add uint 4294967295, %length - %e = cast uint %d to int - %g = cast int %e to ulong - %j = cast [256 x ubyte]* %length_code to ulong - %l = add ulong %j, %g - %m = cast ulong %l to ubyte* - ret ubyte* %m -} diff --git a/llvm/test/Regression/Transforms/LevelRaise/2002-10-08-VarArgCall.ll b/llvm/test/Regression/Transforms/LevelRaise/2002-10-08-VarArgCall.ll deleted file mode 100644 index 6ddcc45c0b0..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2002-10-08-VarArgCall.ll +++ /dev/null @@ -1,9 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -raise | llvm-dis | grep call | not grep '\.\.\.' - -implementation - -void %test(sbyte* %P) { - %Q = cast sbyte* %P to void (...)* - call void (...)* %Q(sbyte* %P) - ret void -} diff --git a/llvm/test/Regression/Transforms/LevelRaise/2002-10-08-VarArgCallInfLoop.ll b/llvm/test/Regression/Transforms/LevelRaise/2002-10-08-VarArgCallInfLoop.ll deleted file mode 100644 index a7ac87144f3..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2002-10-08-VarArgCallInfLoop.ll +++ /dev/null @@ -1,10 +0,0 @@ -; Due to a recent change, this testcase now sends the raise pass into an infinite loop -; -; RUN: llvm-upgrade < %s | llvm-as | opt -raise - -implementation - -void %test(sbyte* %P, void(...) * %F) { - call void (...)* %F(sbyte* %P) - ret void -} diff --git a/llvm/test/Regression/Transforms/LevelRaise/2002-11-04-ConstantSharing.ll b/llvm/test/Regression/Transforms/LevelRaise/2002-11-04-ConstantSharing.ll deleted file mode 100644 index 4e4b806b44b..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2002-11-04-ConstantSharing.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-as < 2002-11-04-ConstantSharing.ll | opt -raise | llvm-dis | notcast - -implementation - -bool %test(int *%X, uint* %Y) { - %A = cast int* %X to sbyte* - %B = cast uint* %Y to sbyte* - %c1 = seteq sbyte* %A, null - %c2 = seteq sbyte* %B, null - %c = and bool %c1, %c2 - ret bool %c -} diff --git a/llvm/test/Regression/Transforms/LevelRaise/2002-11-13-PointerFunction.ll b/llvm/test/Regression/Transforms/LevelRaise/2002-11-13-PointerFunction.ll deleted file mode 100644 index 2d518115019..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2002-11-13-PointerFunction.ll +++ /dev/null @@ -1,10 +0,0 @@ -; This testcase should be able to eliminate at least one of the casts. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -raise | llvm-dis | not grep 'REMOVE' - -int %foo(sbyte * %PF) { - %UPF = cast sbyte* %PF to uint()* - %Ret = call uint %UPF() - %REMOVE = cast uint %Ret to int - ret int %REMOVE -} diff --git a/llvm/test/Regression/Transforms/LevelRaise/2003-01-22-GEPProblem.ll b/llvm/test/Regression/Transforms/LevelRaise/2003-01-22-GEPProblem.ll deleted file mode 100644 index 540ffa26b90..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2003-01-22-GEPProblem.ll +++ /dev/null @@ -1,22 +0,0 @@ -; Testcase reduced from 197.parser by bugpoint -; RUN: llvm-upgrade < %s | llvm-as | opt -raise -raise-start-inst=cast455 > /dev/null - -void %conjunction_prune() { -; <label>:0 ; No predecessors! - br label %bb19 - -bb19: ; preds = %bb22, %0 - %reg205 = phi ulong [ %cast208, %bb22 ], [ 0, %0 ] ; <ulong> [#uses=2] - %reg449 = add ulong %reg205, 10 ; <ulong> [#uses=0] - %cast455 = cast ulong %reg205 to sbyte** ; <sbyte**> [#uses=1] - store sbyte* null, sbyte** %cast455 - br label %bb22 - -bb22: ; preds = %bb19 - %cast208 = cast sbyte* null to ulong ; <ulong> [#uses=1] - br bool false, label %bb19, label %bb28 - -bb28: ; preds = %bb22 - ret void -} - diff --git a/llvm/test/Regression/Transforms/LevelRaise/2003-01-30-ShiftCrash.ll b/llvm/test/Regression/Transforms/LevelRaise/2003-01-30-ShiftCrash.ll deleted file mode 100644 index 18c0900c88a..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2003-01-30-ShiftCrash.ll +++ /dev/null @@ -1,34 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -raise -raise-start-inst=cast459 - -int %deflateInit2_({ ubyte*, uint, ulong, ubyte*, uint, ulong, sbyte*, { \4, int, ubyte*, ulong, ubyte*, int, int, ubyte, ubyte, int, uint, uint, uint, ubyte*, ulong, ushort*, ushort*, uint, uint, uint, uint, uint, long, uint, uint, int, uint, uint, uint, uint, uint, uint, int, int, uint, int, [573 x { { ushort }, { ushort } }], [61 x { { ushort }, { ushort } }], [39 x { { ushort }, { ushort } }], { { { ushort }, { ushort } }*, int, { int }* }, { { { ushort }, { ushort } }*, int, { int }* }, { { { ushort }, { ushort } }*, int, { int }* }, [16 x ushort], [573 x int], int, int, [573 x ubyte], ubyte*, uint, uint, ushort*, ulong, ulong, uint, int, ushort, int }*, sbyte* (sbyte*, uint, uint)*, void (sbyte*, sbyte*)*, sbyte*, int, ulong, ulong }* %strm, int %level, int %method, int %windowBits, int %memLevel, int %strategy, sbyte* %version, int %stream_size) { -bb0: ; No predecessors! - %reg107 = load { ubyte*, uint, ulong, ubyte*, uint, ulong, sbyte*, { \4, int, ubyte*, ulong, ubyte*, int, int, ubyte, ubyte, int, uint, uint, uint, ubyte*, ulong, ushort*, ushort*, uint, uint, uint, uint, uint, long, uint, uint, int, uint, uint, uint, uint, uint, uint, int, int, uint, int, [573 x { { ushort }, { ushort } }], [61 x { { ushort }, { ushort } }], [39 x { { ushort }, { ushort } }], { { { ushort }, { ushort } }*, int, { int }* }, { { { ushort }, { ushort } }*, int, { int }* }, { { { ushort }, { ushort } }*, int, { int }* }, [16 x ushort], [573 x int], int, int, [573 x ubyte], ubyte*, uint, uint, ushort*, ulong, ulong, uint, int, ushort, int }*, sbyte* (sbyte*, uint, uint)*, void (sbyte*, sbyte*)*, sbyte*, int, ulong, ulong }** null ; <{ ubyte*, uint, ulong, ubyte*, uint, ulong, sbyte*, { \4, int, ubyte*, ulong, ubyte*, int, int, ubyte, ubyte, int, uint, uint, uint, ubyte*, ulong, ushort*, ushort*, uint, uint, uint, uint, uint, long, uint, uint, int, uint, uint, uint, uint, uint, uint, int, int, uint, int, [573 x { { ushort }, { ushort } }], [61 x { { ushort }, { ushort } }], [39 x { { ushort }, { ushort } }], { { { ushort }, { ushort } }*, int, { int }* }, { { { ushort }, { ushort } }*, int, { int }* }, { { { ushort }, { ushort } }*, int, { int }* }, [16 x ushort], [573 x int], int, int, [573 x ubyte], ubyte*, uint, uint, ushort*, ulong, ulong, uint, int, ushort, int }*, sbyte* (sbyte*, uint, uint)*, void (sbyte*, sbyte*)*, sbyte*, int, ulong, ulong }*> [#uses=2] - br bool false, label %bb5, label %UnifiedExitNode - -bb5: ; preds = %bb0 - br bool false, label %bb22, label %UnifiedExitNode - -bb22: ; preds = %bb5 - br bool false, label %bb24, label %UnifiedExitNode - -bb24: ; preds = %bb22 - %reg399 = getelementptr { ubyte*, uint, ulong, ubyte*, uint, ulong, sbyte*, { \4, int, ubyte*, ulong, ubyte*, int, int, ubyte, ubyte, int, uint, uint, uint, ubyte*, ulong, ushort*, ushort*, uint, uint, uint, uint, uint, long, uint, uint, int, uint, uint, uint, uint, uint, uint, int, int, uint, int, [573 x { { ushort }, { ushort } }], [61 x { { ushort }, { ushort } }], [39 x { { ushort }, { ushort } }], { { { ushort }, { ushort } }*, int, { int }* }, { { { ushort }, { ushort } }*, int, { int }* }, { { { ushort }, { ushort } }*, int, { int }* }, [16 x ushort], [573 x int], int, int, [573 x ubyte], ubyte*, uint, uint, ushort*, ulong, ulong, uint, int, ushort, int }*, sbyte* (sbyte*, uint, uint)*, void (sbyte*, sbyte*)*, sbyte*, int, ulong, ulong }* %reg107, long 0, uint 8 ; <sbyte* (sbyte*, uint, uint)**> [#uses=1] - %reg137 = load sbyte* (sbyte*, uint, uint)** %reg399 ; <sbyte* (sbyte*, uint, uint)*> [#uses=1] - %reg402 = call sbyte* %reg137( sbyte* null, uint 0, uint 0 ) ; <sbyte*> [#uses=1] - br bool false, label %bb26, label %UnifiedExitNode - -bb26: ; preds = %bb24 - %reg457 = getelementptr sbyte* %reg402, long 0 ; <sbyte*> [#uses=1] - %cast459 = cast sbyte* %reg457 to ubyte* ; <ubyte*> [#uses=1] - %reg146 = load ubyte* %cast459 ; <ubyte> [#uses=1] - %reg145 = shl uint 0, ubyte %reg146 ; <uint> [#uses=1] - store uint %reg145, uint* null - %reg647 = call int %deflateEnd( { ubyte*, uint, ulong, ubyte*, uint, ulong, sbyte*, { \4, int, ubyte*, ulong, ubyte*, int, int, ubyte, ubyte, int, uint, uint, uint, ubyte*, ulong, ushort*, ushort*, uint, uint, uint, uint, uint, long, uint, uint, int, uint, uint, uint, uint, uint, uint, int, int, uint, int, [573 x { { ushort }, { ushort } }], [61 x { { ushort }, { ushort } }], [39 x { { ushort }, { ushort } }], { { { ushort }, { ushort } }*, int, { int }* }, { { { ushort }, { ushort } }*, int, { int }* }, { { { ushort }, { ushort } }*, int, { int }* }, [16 x ushort], [573 x int], int, int, [573 x ubyte], ubyte*, uint, uint, ushort*, ulong, ulong, uint, int, ushort, int }*, sbyte* (sbyte*, uint, uint)*, void (sbyte*, sbyte*)*, sbyte*, int, ulong, ulong }* %reg107 ) ; <int> [#uses=0] - br label %UnifiedExitNode - -UnifiedExitNode: ; preds = %bb26, %bb24, %bb22, %bb5, %bb0 - ret int 0 -} - -declare int %deflateEnd({ ubyte*, uint, ulong, ubyte*, uint, ulong, sbyte*, { \4, int, ubyte*, ulong, ubyte*, int, int, ubyte, ubyte, int, uint, uint, uint, ubyte*, ulong, ushort*, ushort*, uint, uint, uint, uint, uint, long, uint, uint, int, uint, uint, uint, uint, uint, uint, int, int, uint, int, [573 x { { ushort }, { ushort } }], [61 x { { ushort }, { ushort } }], [39 x { { ushort }, { ushort } }], { { { ushort }, { ushort } }*, int, { int }* }, { { { ushort }, { ushort } }*, int, { int }* }, { { { ushort }, { ushort } }*, int, { int }* }, [16 x ushort], [573 x int], int, int, [573 x ubyte], ubyte*, uint, uint, ushort*, ulong, ulong, uint, int, ushort, int }*, sbyte* (sbyte*, uint, uint)*, void (sbyte*, sbyte*)*, sbyte*, int, ulong, ulong }*) - diff --git a/llvm/test/Regression/Transforms/LevelRaise/2003-02-13-CallRaise.ll b/llvm/test/Regression/Transforms/LevelRaise/2003-02-13-CallRaise.ll deleted file mode 100644 index c52fc562944..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2003-02-13-CallRaise.ll +++ /dev/null @@ -1,9 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -raise - -declare void %foo() - -void %test() { - %X = cast void()* %foo to int()* - %retval = call int %X() - ret void -} diff --git a/llvm/test/Regression/Transforms/LevelRaise/2003-05-01-CallCast.ll b/llvm/test/Regression/Transforms/LevelRaise/2003-05-01-CallCast.ll deleted file mode 100644 index 7ab0f6f17d9..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2003-05-01-CallCast.ll +++ /dev/null @@ -1,8 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -raise | llvm-dis | notcast - -void %test(...) { ret void } - -void %caller() { - call void (...) *%test() - ret void -} diff --git a/llvm/test/Regression/Transforms/LevelRaise/2003-06-07-EmptyArrayTest.ll b/llvm/test/Regression/Transforms/LevelRaise/2003-06-07-EmptyArrayTest.ll deleted file mode 100644 index 141b807362b..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2003-06-07-EmptyArrayTest.ll +++ /dev/null @@ -1,10 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -raise -disable-output - -%T = type { [0 x ubyte] } - -void %test(%T* %tmp.22) { - %tmp.23 = getelementptr %T* %tmp.22, long 0, uint 0 - %tmp.24 = cast [0 x ubyte]* %tmp.23 to sbyte** - %tmp.25 = load sbyte** %tmp.24 - ret void -} diff --git a/llvm/test/Regression/Transforms/LevelRaise/2003-06-25-ExprAnalysis.ll b/llvm/test/Regression/Transforms/LevelRaise/2003-06-25-ExprAnalysis.ll deleted file mode 100644 index f507e729096..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2003-06-25-ExprAnalysis.ll +++ /dev/null @@ -1,24 +0,0 @@ -; The expr analysis routines were being too aggressive across cast instructions! - -; RUN: llvm-upgrade < %s | llvm-as | opt -raise | llvm-dis | not grep 4294967295 - -target endian = big -target pointersize = 64 - %struct..istack_struct = type { %struct..istack_struct*, %struct..istk_entry*, uint } - %struct..istk_entry = type { double, int, int, double, double, sbyte* } - -implementation ; Functions: -bool %Intersection(%struct..istack_struct* %tmp.0, uint %tmp.12) { ; No predecessors! - %tmp.8 = getelementptr %struct..istack_struct* %tmp.0, long 0, uint 1 ; <%struct..istk_entry**> [#uses=1] - %tmp.9 = load %struct..istk_entry** %tmp.8 ; <%struct..istk_entry*> [#uses=1] - %dec = sub uint %tmp.12, 1 ; <uint> [#uses=1] - %tmp.13 = cast uint %dec to ulong ; <ulong> [#uses=1] - %tmp.14 = mul ulong %tmp.13, 40 ; <ulong> [#uses=1] - %tmp.16 = cast %struct..istk_entry* %tmp.9 to long ; <long> [#uses=1] - %tmp.17 = cast ulong %tmp.14 to long ; <long> [#uses=1] - %tmp.18 = add long %tmp.16, %tmp.17 ; <long> [#uses=1] - %tmp.19 = cast long %tmp.18 to %struct..istk_entry* ; <%struct..istk_entry*> [#uses=1] - %tmp.21 = setne %struct..istk_entry* %tmp.19, null ; <bool> [#uses=1] - ret bool %tmp.21 -} - diff --git a/llvm/test/Regression/Transforms/LevelRaise/2003-11-28-IllegalTypeConversion.ll b/llvm/test/Regression/Transforms/LevelRaise/2003-11-28-IllegalTypeConversion.ll deleted file mode 100644 index 0addb212d72..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/2003-11-28-IllegalTypeConversion.ll +++ /dev/null @@ -1,10 +0,0 @@ -; The program should not just cast 2143289344 to float and store it! -; -; RUN: llvm-upgrade < %s | llvm-as | opt -raise | llvm-dis | not grep 41DFF - -void %test() { - %mem_tmp = alloca float - %tmp.0 = cast float* %mem_tmp to uint* - store uint 2143289344, uint* %tmp.0 - ret void -} diff --git a/llvm/test/Regression/Transforms/LevelRaise/dg.exp b/llvm/test/Regression/Transforms/LevelRaise/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/LevelRaise/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/LoopSimplify/.cvsignore b/llvm/test/Regression/Transforms/LoopSimplify/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/LoopSimplify/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/LoopSimplify/2003-04-25-AssertFail.ll b/llvm/test/Regression/Transforms/LoopSimplify/2003-04-25-AssertFail.ll deleted file mode 100644 index 90de721fe0d..00000000000 --- a/llvm/test/Regression/Transforms/LoopSimplify/2003-04-25-AssertFail.ll +++ /dev/null @@ -1,25 +0,0 @@ -; This testcase exposed a problem with the loop identification pass (LoopInfo). -; Basically, it was incorrectly calculating the loop nesting information. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -loopsimplify - -implementation ; Functions: - -int %yylex() { ; No predecessors! - br label %loopentry.0 - -loopentry.0: ; preds = %0, %yy_find_action, %else.4 - br label %loopexit.2 - -loopexit.2: ; preds = %loopentry.0, %else.4, %loopexit.2 - br bool false, label %loopexit.2, label %else.4 - -yy_find_action: ; preds = %loopexit.2, %else.4 - br label %else.4 - -else.4: ; preds = %yy_find_action - switch uint 0, label %loopexit.2 [ - uint 2, label %yy_find_action - uint 0, label %loopentry.0 - ] -} diff --git a/llvm/test/Regression/Transforms/LoopSimplify/2003-05-12-PreheaderExitOfChild.ll b/llvm/test/Regression/Transforms/LoopSimplify/2003-05-12-PreheaderExitOfChild.ll deleted file mode 100644 index 0880da6f542..00000000000 --- a/llvm/test/Regression/Transforms/LoopSimplify/2003-05-12-PreheaderExitOfChild.ll +++ /dev/null @@ -1,57 +0,0 @@ -; This (complex) testcase causes an assertion failure because a preheader is -; inserted for the "fail" loop, but the exit block of a loop is not updated -; to be the preheader instead of the exit loop itself. - -; RUN: llvm-upgrade < %s | llvm-as | opt -loopsimplify - -int %re_match_2() { - br label %loopentry.1 - -loopentry.1: ; preds = %then.6, %endif.7, %loopexit.20, %endif.83 - br label %shortcirc_done.36 - -shortcirc_done.36: ; preds = %label.13, %shortcirc_next.36 - br bool false, label %fail, label %endif.40 - -endif.40: ; preds = %shortcirc_done.36 - br label %loopexit.20 - -loopentry.20: ; preds = %shortcirc_done.40, %endif.46 - br label %loopexit.20 - -loopexit.20: ; preds = %loopentry.20 - br label %loopentry.21 - -loopentry.21: ; preds = %loopexit.20, %no_exit.19 - br bool false, label %no_exit.19, label %loopexit.21 - -no_exit.19: ; preds = %loopentry.21 - br bool false, label %fail, label %loopentry.21 - -loopexit.21: ; preds = %loopentry.21 - br label %endif.45 - -endif.45: ; preds = %loopexit.21 - br label %cond_true.15 - -cond_true.15: ; preds = %endif.45 - br bool false, label %fail, label %endif.46 - -endif.46: ; preds = %cond_true.15 - br label %loopentry.20 - -fail: ; preds = %shortcirc_done.36, %loopexit.37, %cond_true.15, %no_exit.19 - br label %then.80 - -then.80: ; preds = %fail - br label %endif.81 - -endif.81: ; preds = %then.80 - br label %loopexit.37 - -loopexit.37: ; preds = %endif.81 - br bool false, label %fail, label %endif.82 - -endif.82: ; preds = %loopexit.37 - br label %loopentry.1 -} diff --git a/llvm/test/Regression/Transforms/LoopSimplify/2003-08-15-PreheadersFail.ll b/llvm/test/Regression/Transforms/LoopSimplify/2003-08-15-PreheadersFail.ll deleted file mode 100644 index 59f49e3771b..00000000000 --- a/llvm/test/Regression/Transforms/LoopSimplify/2003-08-15-PreheadersFail.ll +++ /dev/null @@ -1,65 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -tailduplicate -instcombine -simplifycfg -licm -disable-output - -target endian = little -target pointersize = 32 -%yy_base = external global [787 x short] ; <[787 x short]*> [#uses=1] -%yy_state_ptr = external global int* ; <int**> [#uses=3] -%yy_state_buf = external global [16386 x int] ; <[16386 x int]*> [#uses=1] -%yy_lp = external global int ; <int*> [#uses=1] - -implementation ; Functions: - -int %_yylex() { ; No predecessors! - br label %loopentry.0 - -loopentry.0: ; preds = %0, %else.26 - store int* getelementptr ([16386 x int]* %yy_state_buf, long 0, long 0), int** %yy_state_ptr - %tmp.35 = load int** %yy_state_ptr ; <int*> [#uses=2] - %inc.0 = getelementptr int* %tmp.35, long 1 ; <int*> [#uses=1] - store int* %inc.0, int** %yy_state_ptr - %tmp.36 = load int* null ; <int> [#uses=1] - store int %tmp.36, int* %tmp.35 - br label %loopexit.2 - -loopexit.2: ; preds = %loopentry.0, %else.26, %loopexit.2 - store sbyte* null, sbyte** null - %tmp.91 = load int* null ; <int> [#uses=1] - %tmp.92 = cast int %tmp.91 to long ; <long> [#uses=1] - %tmp.93 = getelementptr [787 x short]* %yy_base, long 0, long %tmp.92 ; <short*> [#uses=1] - %tmp.94 = load short* %tmp.93 ; <short> [#uses=1] - %tmp.95 = setne short %tmp.94, 4394 ; <bool> [#uses=1] - br bool %tmp.95, label %loopexit.2, label %yy_find_action - -yy_find_action: ; preds = %loopexit.2, %else.26 - br label %loopentry.3 - -loopentry.3: ; preds = %yy_find_action, %shortcirc_done.0, %then.9 - %tmp.105 = load int* %yy_lp ; <int> [#uses=1] - %tmp.106 = setne int %tmp.105, 0 ; <bool> [#uses=1] - br bool %tmp.106, label %shortcirc_next.0, label %shortcirc_done.0 - -shortcirc_next.0: ; preds = %loopentry.3 - %tmp.114 = load short* null ; <short> [#uses=1] - %tmp.115 = cast short %tmp.114 to int ; <int> [#uses=1] - %tmp.116 = setlt int 0, %tmp.115 ; <bool> [#uses=1] - br label %shortcirc_done.0 - -shortcirc_done.0: ; preds = %loopentry.3, %shortcirc_next.0 - %shortcirc_val.0 = phi bool [ false, %loopentry.3 ], [ %tmp.116, %shortcirc_next.0 ] ; <bool> [#uses=1] - br bool %shortcirc_val.0, label %else.0, label %loopentry.3 - -else.0: ; preds = %shortcirc_done.0 - %tmp.144 = load int* null ; <int> [#uses=1] - %tmp.145 = and int %tmp.144, 8192 ; <int> [#uses=1] - %tmp.146 = setne int %tmp.145, 0 ; <bool> [#uses=1] - br bool %tmp.146, label %then.9, label %else.26 - -then.9: ; preds = %else.0 - br label %loopentry.3 - -else.26: ; preds = %else.1 - switch uint 0, label %loopentry.0 [ - uint 2, label %yy_find_action - uint 0, label %loopexit.2 - ] -} diff --git a/llvm/test/Regression/Transforms/LoopSimplify/2003-12-10-ExitBlocksProblem.ll b/llvm/test/Regression/Transforms/LoopSimplify/2003-12-10-ExitBlocksProblem.ll deleted file mode 100644 index e47112bb9b3..00000000000 --- a/llvm/test/Regression/Transforms/LoopSimplify/2003-12-10-ExitBlocksProblem.ll +++ /dev/null @@ -1,42 +0,0 @@ -; LoopSimplify is breaking LICM on this testcase because the exit blocks from -; the loop are reachable from more than just the exit nodes: the exit blocks -; have predecessors from outside of the loop! -; -; This is distilled from a monsterous crafty example. - -; RUN: llvm-upgrade < %s | llvm-as | opt -licm -disable-output - -%G = weak global int 0 ; <int*> [#uses=13] - -implementation ; Functions: - -int %main() { -entry: - store int 123, int* %G - br label %loopentry.i - -loopentry.i: ; preds = %entry, %endif.1.i - %tmp.0.i = load int* %G ; <int> [#uses=1] - %tmp.1.i = seteq int %tmp.0.i, 123 ; <bool> [#uses=1] - br bool %tmp.1.i, label %Out.i, label %endif.0.i - -endif.0.i: ; preds = %loopentry.i - %tmp.3.i = load int* %G ; <int> [#uses=1] - %tmp.4.i = seteq int %tmp.3.i, 126 ; <bool> [#uses=1] - br bool %tmp.4.i, label %ExitBlock.i, label %endif.1.i - -endif.1.i: ; preds = %endif.0.i - %tmp.6.i = load int* %G ; <int> [#uses=1] - %inc.i = add int %tmp.6.i, 1 ; <int> [#uses=1] - store int %inc.i, int* %G - br label %loopentry.i - -Out.i: ; preds = %loopentry.i - store int 0, int* %G - br label %ExitBlock.i - -ExitBlock.i: ; preds = %endif.0.i, %Out.i - %tmp.7.i = load int* %G ; <int> [#uses=1] - ret int %tmp.7.i -} - diff --git a/llvm/test/Regression/Transforms/LoopSimplify/2004-02-05-DominatorInfoCorruption.ll b/llvm/test/Regression/Transforms/LoopSimplify/2004-02-05-DominatorInfoCorruption.ll deleted file mode 100644 index f25460e5d33..00000000000 --- a/llvm/test/Regression/Transforms/LoopSimplify/2004-02-05-DominatorInfoCorruption.ll +++ /dev/null @@ -1,17 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loopsimplify -verify -licm -disable-output -implementation ; Functions: - -void %.subst_48() { -entry: - br label %loopentry.0 - -loopentry.0: ; preds = %entry, %loopentry.0 - br bool false, label %loopentry.0, label %loopentry.2 - -loopentry.2: ; preds = %loopentry.0, %loopentry.2 - %tmp.968 = setle int 0, 3 ; <bool> [#uses=1] - br bool %tmp.968, label %loopentry.2, label %UnifiedReturnBlock - -UnifiedReturnBlock: ; preds = %entry, %loopentry.2 - ret void -} diff --git a/llvm/test/Regression/Transforms/LoopSimplify/2004-03-15-IncorrectDomUpdate.ll b/llvm/test/Regression/Transforms/LoopSimplify/2004-03-15-IncorrectDomUpdate.ll deleted file mode 100644 index 607f1fea1fd..00000000000 --- a/llvm/test/Regression/Transforms/LoopSimplify/2004-03-15-IncorrectDomUpdate.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loopsimplify -licm -disable-output -void %main() { -entry: - br bool false, label %Out, label %loop - -loop: - %LI = setgt int 0, 0 - br bool %LI, label %loop, label %Out - -Out: - ret void -} diff --git a/llvm/test/Regression/Transforms/LoopSimplify/2004-04-01-IncorrectDomUpdate.ll b/llvm/test/Regression/Transforms/LoopSimplify/2004-04-01-IncorrectDomUpdate.ll deleted file mode 100644 index b98431357e3..00000000000 --- a/llvm/test/Regression/Transforms/LoopSimplify/2004-04-01-IncorrectDomUpdate.ll +++ /dev/null @@ -1,24 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loopsimplify -licm -disable-output - -; This is PR306 - -void %NormalizeCoeffsVecFFE() { -entry: - br label %loopentry.0 - -loopentry.0: ; preds = %entry, %no_exit.0 - br bool false, label %loopentry.1, label %no_exit.0 - -no_exit.0: ; preds = %loopentry.0 - br bool false, label %loopentry.0, label %loopentry.1 - -loopentry.1: ; preds = %loopentry.0, %no_exit.0, %no_exit.1 - br bool false, label %no_exit.1, label %loopexit.1 - -no_exit.1: ; preds = %loopentry.1 - %tmp.43 = seteq ushort 0, 0 ; <bool> [#uses=1] - br bool %tmp.43, label %loopentry.1, label %loopexit.1 - -loopexit.1: ; preds = %loopentry.1, %no_exit.1 - ret void -} diff --git a/llvm/test/Regression/Transforms/LoopSimplify/2004-04-12-LoopSimplify-SwitchBackedges.ll b/llvm/test/Regression/Transforms/LoopSimplify/2004-04-12-LoopSimplify-SwitchBackedges.ll deleted file mode 100644 index 12250b78ebd..00000000000 --- a/llvm/test/Regression/Transforms/LoopSimplify/2004-04-12-LoopSimplify-SwitchBackedges.ll +++ /dev/null @@ -1,22 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loopsimplify -disable-output - -implementation - -void %test() { -loopentry.0: - br label %loopentry.1 - -loopentry.1: - %pixel.4 = phi int [ 0, %loopentry.0 ], [ %pixel.4, %loopentry.1], [ %tmp.370, %then.6 ], [ %tmp.370, %then.6 ] - br bool false, label %then.6, label %loopentry.1 - -then.6: - %tmp.370 = add int 0, 0 ; <int> [#uses=2] - switch uint 0, label %label.7 [ - uint 6408, label %loopentry.1 - uint 32841, label %loopentry.1 - ] - -label.7: ; preds = %then.6 - ret void -} diff --git a/llvm/test/Regression/Transforms/LoopSimplify/2004-04-13-LoopSimplifyUpdateDomFrontier.ll b/llvm/test/Regression/Transforms/LoopSimplify/2004-04-13-LoopSimplifyUpdateDomFrontier.ll deleted file mode 100644 index 7f16400d44e..00000000000 --- a/llvm/test/Regression/Transforms/LoopSimplify/2004-04-13-LoopSimplifyUpdateDomFrontier.ll +++ /dev/null @@ -1,22 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl -loopsimplify -licm -disable-output - -implementation ; Functions: - -void %inflate() { -entry: - br label %loopentry.0.outer1111 - -loopentry.0.outer1111: ; preds = %entry, %loopentry.0.outer1111, %label.11, %then.41 - %left.0.ph1107 = phi uint [ %tmp.1172, %then.41 ], [ 0, %entry ], [ %tmp.1172, %label.11 ], [ %left.0.ph1107, %loopentry.0.outer1111 ] ; <uint> [#uses=2] - %tmp.1172 = sub uint %left.0.ph1107, 0 ; <uint> [#uses=2] - switch uint 0, label %label.11 [ - uint 23, label %loopentry.0.outer1111 - uint 13, label %then.41 - ] - -label.11: ; preds = %loopentry.0.outer1111 - br label %loopentry.0.outer1111 - -then.41: ; preds = %loopentry.0.outer1111 - br label %loopentry.0.outer1111 -} diff --git a/llvm/test/Regression/Transforms/LoopSimplify/basictest.ll b/llvm/test/Regression/Transforms/LoopSimplify/basictest.ll deleted file mode 100644 index 2b01b475fc7..00000000000 --- a/llvm/test/Regression/Transforms/LoopSimplify/basictest.ll +++ /dev/null @@ -1,17 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loopsimplify - -implementation - -; This function should get a preheader inserted before BB3, that is jumped -; to by BB1 & BB2 -; -void "test"() -begin - br bool true, label %BB1, label %BB2 -BB1: br label %BB3 -BB2: br label %BB3 - - -BB3: - br label %BB3 -end diff --git a/llvm/test/Regression/Transforms/LoopSimplify/dg.exp b/llvm/test/Regression/Transforms/LoopSimplify/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/LoopSimplify/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/LoopSimplify/hardertest.ll b/llvm/test/Regression/Transforms/LoopSimplify/hardertest.ll deleted file mode 100644 index a4465b75de5..00000000000 --- a/llvm/test/Regression/Transforms/LoopSimplify/hardertest.ll +++ /dev/null @@ -1,17 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loopsimplify - -void %foo(bool %C) { - br bool %C, label %T, label %F -T: - br label %Loop -F: - br label %Loop - -Loop: ; Two backedges, two incoming edges. - %Val = phi int [0, %T], [1, %F], [2, %Loop], [3, %L2] - - br bool %C, label %Loop, label %L2 - -L2: - br label %Loop -} diff --git a/llvm/test/Regression/Transforms/LoopSimplify/phi-node-simplify.ll b/llvm/test/Regression/Transforms/LoopSimplify/phi-node-simplify.ll deleted file mode 100644 index aa52d66cf96..00000000000 --- a/llvm/test/Regression/Transforms/LoopSimplify/phi-node-simplify.ll +++ /dev/null @@ -1,59 +0,0 @@ -; Loop Simplify should turn phi nodes like X = phi [X, Y] into just Y, eliminating them. -; RUN: llvm-upgrade < %s | llvm-as | opt -loopsimplify | llvm-dis | grep phi | wc -l | grep 6 - -%A = weak global [3000000 x int] zeroinitializer ; <[3000000 x int]*> [#uses=1] -%B = weak global [20000 x int] zeroinitializer ; <[20000 x int]*> [#uses=1] -%C = weak global [100 x int] zeroinitializer ; <[100 x int]*> [#uses=1] -%Z = weak global int 0 ; <int*> [#uses=2] - -implementation ; Functions: - -int %main() { -entry: - tail call void %__main( ) - br label %loopentry.1 - -loopentry.1: ; preds = %loopexit.1, %entry - %indvar20 = phi uint [ 0, %entry ], [ %indvar.next21, %loopexit.1 ] ; <uint> [#uses=1] - %a.1 = phi int* [ getelementptr ([3000000 x int]* %A, int 0, int 0), %entry ], [ %inc.0, %loopexit.1 ] ; <int*> [#uses=1] - br label %no_exit.2 - -no_exit.2: ; preds = %loopexit.2, %no_exit.2, %loopentry.1 - %a.0.4.ph = phi int* [ %a.1, %loopentry.1 ], [ %inc.0, %loopexit.2 ], [ %a.0.4.ph, %no_exit.2 ] ; <int*> [#uses=3] - %b.1.4.ph = phi int* [ getelementptr ([20000 x int]* %B, int 0, int 0), %loopentry.1 ], [ %inc.1, %loopexit.2 ], [ %b.1.4.ph, %no_exit.2 ] ; <int*> [#uses=3] - %indvar17 = phi uint [ 0, %loopentry.1 ], [ %indvar.next18, %loopexit.2 ], [ %indvar17, %no_exit.2 ] ; <uint> [#uses=2] - %indvar = phi uint [ %indvar.next, %no_exit.2 ], [ 0, %loopexit.2 ], [ 0, %loopentry.1 ] ; <uint> [#uses=5] - %b.1.4.rec = cast uint %indvar to int ; <int> [#uses=1] - %c.2.4 = getelementptr [100 x int]* %C, int 0, uint %indvar ; <int*> [#uses=1] - %a.0.4 = getelementptr int* %a.0.4.ph, uint %indvar ; <int*> [#uses=1] - %b.1.4 = getelementptr int* %b.1.4.ph, uint %indvar ; <int*> [#uses=1] - %inc.0.rec = add int %b.1.4.rec, 1 ; <int> [#uses=2] - %inc.0 = getelementptr int* %a.0.4.ph, int %inc.0.rec ; <int*> [#uses=2] - %tmp.13 = load int* %a.0.4 ; <int> [#uses=1] - %inc.1 = getelementptr int* %b.1.4.ph, int %inc.0.rec ; <int*> [#uses=1] - %tmp.15 = load int* %b.1.4 ; <int> [#uses=1] - %tmp.18 = load int* %c.2.4 ; <int> [#uses=1] - %tmp.16 = mul int %tmp.15, %tmp.13 ; <int> [#uses=1] - %tmp.19 = mul int %tmp.16, %tmp.18 ; <int> [#uses=1] - %tmp.20 = load int* %Z ; <int> [#uses=1] - %tmp.21 = add int %tmp.19, %tmp.20 ; <int> [#uses=1] - store int %tmp.21, int* %Z - %indvar.next = add uint %indvar, 1 ; <uint> [#uses=2] - %exitcond = seteq uint %indvar.next, 100 ; <bool> [#uses=1] - br bool %exitcond, label %loopexit.2, label %no_exit.2 - -loopexit.2: ; preds = %no_exit.2 - %indvar.next18 = add uint %indvar17, 1 ; <uint> [#uses=2] - %exitcond19 = seteq uint %indvar.next18, 200 ; <bool> [#uses=1] - br bool %exitcond19, label %loopexit.1, label %no_exit.2 - -loopexit.1: ; preds = %loopexit.2 - %indvar.next21 = add uint %indvar20, 1 ; <uint> [#uses=2] - %exitcond22 = seteq uint %indvar.next21, 300 ; <bool> [#uses=1] - br bool %exitcond22, label %return, label %loopentry.1 - -return: ; preds = %loopexit.1 - ret int undef -} - -declare void %__main() diff --git a/llvm/test/Regression/Transforms/LoopSimplify/single-backedge.ll b/llvm/test/Regression/Transforms/LoopSimplify/single-backedge.ll deleted file mode 100644 index 53a6ffbf982..00000000000 --- a/llvm/test/Regression/Transforms/LoopSimplify/single-backedge.ll +++ /dev/null @@ -1,17 +0,0 @@ -; The loop canonicalization pass should guarantee that there is one backedge -; for all loops. This allows the -indvars pass to recognize the %IV -; induction variable in this testcase. - -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | grep indvar - -int %test(bool %C) { - br label %Loop -Loop: - %IV = phi uint [1, %0], [%IV2, %BE1], [%IV2, %BE2] - %IV2 = add uint %IV, 2 - br bool %C, label %BE1, label %BE2 -BE1: - br label %Loop -BE2: - br label %Loop -} diff --git a/llvm/test/Regression/Transforms/LoopStrengthReduce/.cvsignore b/llvm/test/Regression/Transforms/LoopStrengthReduce/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/LoopStrengthReduce/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/LoopStrengthReduce/2005-08-15-AddRecIV.ll b/llvm/test/Regression/Transforms/LoopStrengthReduce/2005-08-15-AddRecIV.ll deleted file mode 100644 index b2104051c9d..00000000000 --- a/llvm/test/Regression/Transforms/LoopStrengthReduce/2005-08-15-AddRecIV.ll +++ /dev/null @@ -1,77 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce -disable-output - -void %try_swap() { -entry: - br bool 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 - -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 - -endif.3.i: ; preds = %cond_continue.1.i - br bool 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 - -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 - -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 - -save_region_occ.exit: ; preds = %find_affected_nets.exit - br bool 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 - -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 - -endif.16: ; preds = %loopentry.3 - %indvar.next343 = add uint %indvar342, 1 ; <uint> [#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] - br label %loopentry.4 -} diff --git a/llvm/test/Regression/Transforms/LoopStrengthReduce/2005-08-17-OutOfLoopVariant.ll b/llvm/test/Regression/Transforms/LoopStrengthReduce/2005-08-17-OutOfLoopVariant.ll deleted file mode 100644 index 5724bad72c0..00000000000 --- a/llvm/test/Regression/Transforms/LoopStrengthReduce/2005-08-17-OutOfLoopVariant.ll +++ /dev/null @@ -1,18 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce -disable-output - -int %image_to_texture(uint %indvar454) { -loopentry.1.outer: - %j.2.1.ph = cast uint %indvar454 to int ; <int> [#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 -} diff --git a/llvm/test/Regression/Transforms/LoopStrengthReduce/2005-09-12-UsesOutOutsideOfLoop.ll b/llvm/test/Regression/Transforms/LoopStrengthReduce/2005-09-12-UsesOutOutsideOfLoop.ll deleted file mode 100644 index 81d3c25128d..00000000000 --- a/llvm/test/Regression/Transforms/LoopStrengthReduce/2005-09-12-UsesOutOutsideOfLoop.ll +++ /dev/null @@ -1,43 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce -disable-output - -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 - -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 - -then.i55: ; preds = %no_exit.0 - br bool 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] - ret void - -else.1: ; preds = %then.i55 - br bool 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 - -then.5: ; preds = %loopexit.i97 - %arg_index.1.ph.be = add int %arg_index.1.1, 2 ; <int> [#uses=1] - br label %loopentry.0 - -else.2: ; preds = %loopexit.i97 - ret void - -loopexit.0: ; preds = %loopentry.0 - ret void -} diff --git a/llvm/test/Regression/Transforms/LoopStrengthReduce/dg.exp b/llvm/test/Regression/Transforms/LoopStrengthReduce/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/LoopStrengthReduce/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/LoopStrengthReduce/different-type-ivs.ll b/llvm/test/Regression/Transforms/LoopStrengthReduce/different-type-ivs.ll deleted file mode 100644 index 1383fd692f0..00000000000 --- a/llvm/test/Regression/Transforms/LoopStrengthReduce/different-type-ivs.ll +++ /dev/null @@ -1,26 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | 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() { -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: - ret void -} - -declare bool %pred() - -declare int %bar(...) diff --git a/llvm/test/Regression/Transforms/LoopStrengthReduce/dont-hoist-simple-loop-constants.ll b/llvm/test/Regression/Transforms/LoopStrengthReduce/dont-hoist-simple-loop-constants.ll deleted file mode 100644 index b8f318b307f..00000000000 --- a/llvm/test/Regression/Transforms/LoopStrengthReduce/dont-hoist-simple-loop-constants.ll +++ /dev/null @@ -1,24 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | not grep 'cast uint 1 to uint' -; 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) { -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 -} diff --git a/llvm/test/Regression/Transforms/LoopStrengthReduce/dont_insert_redundant_ops.ll b/llvm/test/Regression/Transforms/LoopStrengthReduce/dont_insert_redundant_ops.ll deleted file mode 100644 index aecade80d79..00000000000 --- a/llvm/test/Regression/Transforms/LoopStrengthReduce/dont_insert_redundant_ops.ll +++ /dev/null @@ -1,40 +0,0 @@ -; Check that this test makes INDVAR and related stuff dead. -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | grep phi | wc -l | grep 2 - -declare bool %pred() - -void %test1({ int, int }* %P) { - 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: - ret void -} - -void %test2([2 x int]* %P) { - 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: - ret void -} diff --git a/llvm/test/Regression/Transforms/LoopStrengthReduce/dont_reduce_bytes.ll b/llvm/test/Regression/Transforms/LoopStrengthReduce/dont_reduce_bytes.ll deleted file mode 100644 index 2c679800a7a..00000000000 --- a/llvm/test/Regression/Transforms/LoopStrengthReduce/dont_reduce_bytes.ll +++ /dev/null @@ -1,21 +0,0 @@ -; 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 - -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 - - %INDVAR2 = add int %INDVAR, 1 - %cond = call bool %pred(int %INDVAR2) ;; cannot eliminate indvar - br bool %cond, label %Loop, label %Out -Out: - ret void -} diff --git a/llvm/test/Regression/Transforms/LoopStrengthReduce/exit_compare_live_range.ll b/llvm/test/Regression/Transforms/LoopStrengthReduce/exit_compare_live_range.ll deleted file mode 100644 index 79beb0bff74..00000000000 --- a/llvm/test/Regression/Transforms/LoopStrengthReduce/exit_compare_live_range.ll +++ /dev/null @@ -1,21 +0,0 @@ -; Make sure that the compare instruction occurs after the increment to avoid -; 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: %prcontext 'br i1' 1 | grep icmp - -void %foo(float* %D, uint %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: - ret void -} diff --git a/llvm/test/Regression/Transforms/LoopStrengthReduce/invariant_value_first.ll b/llvm/test/Regression/Transforms/LoopStrengthReduce/invariant_value_first.ll deleted file mode 100644 index 5e05e755508..00000000000 --- a/llvm/test/Regression/Transforms/LoopStrengthReduce/invariant_value_first.ll +++ /dev/null @@ -1,21 +0,0 @@ -; Check that the index of 'P[outer]' is pulled out of the loop. -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | not grep 'getelementptr.*%outer.*%INDVAR' - -declare bool %pred() -declare int %foo() - -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 - - %INDVAR2 = add int %INDVAR, 1 - %cond = call bool %pred() - br bool %cond, label %Loop, label %Out -Out: - ret void -} diff --git a/llvm/test/Regression/Transforms/LoopStrengthReduce/invariant_value_first_arg.ll b/llvm/test/Regression/Transforms/LoopStrengthReduce/invariant_value_first_arg.ll deleted file mode 100644 index 0289badddc4..00000000000 --- a/llvm/test/Regression/Transforms/LoopStrengthReduce/invariant_value_first_arg.ll +++ /dev/null @@ -1,19 +0,0 @@ -; Check that the index of 'P[outer]' is pulled out of the loop. -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | not grep 'getelementptr.*%outer.*%INDVAR' - -declare bool %pred() - -void %test([10000 x int]* %P, int %outer) { - 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: - ret void -} diff --git a/llvm/test/Regression/Transforms/LoopStrengthReduce/nested-reduce.ll b/llvm/test/Regression/Transforms/LoopStrengthReduce/nested-reduce.ll deleted file mode 100644 index 1959832d51c..00000000000 --- a/llvm/test/Regression/Transforms/LoopStrengthReduce/nested-reduce.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce && -; RUN: llvm-upgrade < %s | llvm-as | 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) { -entry: - %tmp.5 = setgt int %C, 0 ; <bool> [#uses=1] - %tmp.25 = and int %A, 1 ; <int> [#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 - -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] - 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] - 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 - -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 - -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 - -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 - -loopexit.0: ; preds = %loopexit.1 - ret int %k.1.3 -} diff --git a/llvm/test/Regression/Transforms/LoopStrengthReduce/ops_after_indvar.ll b/llvm/test/Regression/Transforms/LoopStrengthReduce/ops_after_indvar.ll deleted file mode 100644 index 59da48b9e57..00000000000 --- a/llvm/test/Regression/Transforms/LoopStrengthReduce/ops_after_indvar.ll +++ /dev/null @@ -1,22 +0,0 @@ -; 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 - -declare bool %pred() -declare int %getidx() - -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 - - %INDVAR2 = add int %INDVAR, 1 - %cond = call bool %pred() - br bool %cond, label %Loop, label %Out -Out: - ret void -} diff --git a/llvm/test/Regression/Transforms/LoopStrengthReduce/phi_node_update_multiple_preds.ll b/llvm/test/Regression/Transforms/LoopStrengthReduce/phi_node_update_multiple_preds.ll deleted file mode 100644 index cd0afe1936b..00000000000 --- a/llvm/test/Regression/Transforms/LoopStrengthReduce/phi_node_update_multiple_preds.ll +++ /dev/null @@ -1,29 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce -disable-output -; LSR should not crash on this. - -fastcc void %loadloop() { -entry: - switch sbyte 0, label %shortcirc_next [ - sbyte 32, label %loopexit.2 - sbyte 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 - -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 - ] - -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] - ret void -} diff --git a/llvm/test/Regression/Transforms/LoopStrengthReduce/related_indvars.ll b/llvm/test/Regression/Transforms/LoopStrengthReduce/related_indvars.ll deleted file mode 100644 index 533279b9eb1..00000000000 --- a/llvm/test/Regression/Transforms/LoopStrengthReduce/related_indvars.ll +++ /dev/null @@ -1,28 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | grep phi | wc -l | grep 1 - -; This should only result in one PHI node! - -; void foo(double *D, double *E, double F) { -; while (D != E) -; *D++ = F; -; } - -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 - -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] - 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 - -return: ; preds = %no_exit, %entry - ret void -} diff --git a/llvm/test/Regression/Transforms/LoopStrengthReduce/remove_indvar.ll b/llvm/test/Regression/Transforms/LoopStrengthReduce/remove_indvar.ll deleted file mode 100644 index 517180b7f02..00000000000 --- a/llvm/test/Regression/Transforms/LoopStrengthReduce/remove_indvar.ll +++ /dev/null @@ -1,19 +0,0 @@ -; Check that this test makes INDVAR and related stuff dead. -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | not grep INDVAR - -declare bool %pred() - -void %test(int* %P) { - 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: - ret void -} diff --git a/llvm/test/Regression/Transforms/LoopStrengthReduce/share_code_in_preheader.ll b/llvm/test/Regression/Transforms/LoopStrengthReduce/share_code_in_preheader.ll deleted file mode 100644 index d8316a52bcc..00000000000 --- a/llvm/test/Regression/Transforms/LoopStrengthReduce/share_code_in_preheader.ll +++ /dev/null @@ -1,28 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | grep mul | wc -l | grep 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) { -entry: - %tmp.6 = mul int %Q, %L ; <int> [#uses=1] - %N = cast int %N.s to uint ; <uint> [#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 -} diff --git a/llvm/test/Regression/Transforms/LoopStrengthReduce/share_ivs.ll b/llvm/test/Regression/Transforms/LoopStrengthReduce/share_ivs.ll deleted file mode 100644 index 76bfe1d529c..00000000000 --- a/llvm/test/Regression/Transforms/LoopStrengthReduce/share_ivs.ll +++ /dev/null @@ -1,24 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | grep phi | wc -l | grep 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) - -void %test(uint %B) { - 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: - ret void -} diff --git a/llvm/test/Regression/Transforms/LoopStrengthReduce/use_postinc_value_outside_loop.ll b/llvm/test/Regression/Transforms/LoopStrengthReduce/use_postinc_value_outside_loop.ll deleted file mode 100644 index 028400c47f0..00000000000 --- a/llvm/test/Regression/Transforms/LoopStrengthReduce/use_postinc_value_outside_loop.ll +++ /dev/null @@ -1,28 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | grep 'add i32 %iv.*inc, 1' -; -; Make sure that the use of the IV outside of the loop (the store) uses the -; post incremented value of the IV, not the preincremented value. This -; prevents the loop from having to keep the post and pre-incremented value -; around for the duration of the loop, adding a copy and an extra register -; to the loop. - -declare bool %pred(int %X) - -void %test([700 x int]* %nbeaux_.0__558, int* %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 -} diff --git a/llvm/test/Regression/Transforms/LoopStrengthReduce/var_stride_used_by_compare.ll b/llvm/test/Regression/Transforms/LoopStrengthReduce/var_stride_used_by_compare.ll deleted file mode 100644 index 3e8f63abe3b..00000000000 --- a/llvm/test/Regression/Transforms/LoopStrengthReduce/var_stride_used_by_compare.ll +++ /dev/null @@ -1,48 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis && - -; Base should not be i*3, it should be i*2. -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | not grep 'mul.*%i, 3' && - -; Indvar should not start at zero: -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | not grep 'phi uint .* 0' - -; 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] - -implementation ; Functions: - -void %foo(int %k, int %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 - -bb.preheader: ; preds = %entry - %tmp. = shl uint %i, ubyte 1 ; <uint> [#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 - -return.loopexit: ; preds = %bb - br label %return - -return: ; preds = %return.loopexit, %entry - ret void -} diff --git a/llvm/test/Regression/Transforms/LoopStrengthReduce/variable_stride.ll b/llvm/test/Regression/Transforms/LoopStrengthReduce/variable_stride.ll deleted file mode 100644 index 83aeaa6a9c6..00000000000 --- a/llvm/test/Regression/Transforms/LoopStrengthReduce/variable_stride.ll +++ /dev/null @@ -1,17 +0,0 @@ -; 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' - -declare bool %pred(int) - -void %test([10000 x int]* %P, int %STRIDE) { - 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: - ret void -} diff --git a/llvm/test/Regression/Transforms/LoopUnroll/.cvsignore b/llvm/test/Regression/Transforms/LoopUnroll/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/LoopUnroll/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/LoopUnroll/2004-05-13-DontUnrollTooMuch.ll b/llvm/test/Regression/Transforms/LoopUnroll/2004-05-13-DontUnrollTooMuch.ll deleted file mode 100644 index 8c3e697c89a..00000000000 --- a/llvm/test/Regression/Transforms/LoopUnroll/2004-05-13-DontUnrollTooMuch.ll +++ /dev/null @@ -1,15 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-unroll -disable-output - -int %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 -} diff --git a/llvm/test/Regression/Transforms/LoopUnroll/2005-03-06-BadLoopInfoUpdate.ll b/llvm/test/Regression/Transforms/LoopUnroll/2005-03-06-BadLoopInfoUpdate.ll deleted file mode 100644 index 1681506acbd..00000000000 --- a/llvm/test/Regression/Transforms/LoopUnroll/2005-03-06-BadLoopInfoUpdate.ll +++ /dev/null @@ -1,29 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-unroll -loopsimplify -disable-output - -implementation ; Functions: - -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 - -loopexit.2: ; preds = %no_exit.2 - br bool 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 - -loopexit.1: ; preds = %cond_false.2 - ret void -} diff --git a/llvm/test/Regression/Transforms/LoopUnroll/2006-08-24-MultiBlockLoop.ll b/llvm/test/Regression/Transforms/LoopUnroll/2006-08-24-MultiBlockLoop.ll deleted file mode 100644 index c21ae484db0..00000000000 --- a/llvm/test/Regression/Transforms/LoopUnroll/2006-08-24-MultiBlockLoop.ll +++ /dev/null @@ -1,18 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-unroll | llvm-dis | grep "bb72.2" - -void %vorbis_encode_noisebias_setup() { -entry: - br label %cond_true.outer - -cond_true.outer: - %indvar1.ph = phi uint [ 0, %entry ], [ %indvar.next2, %bb72 ] - 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: - ret void -} diff --git a/llvm/test/Regression/Transforms/LoopUnroll/dg.exp b/llvm/test/Regression/Transforms/LoopUnroll/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/LoopUnroll/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/LoopUnswitch/.cvsignore b/llvm/test/Regression/Transforms/LoopUnswitch/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/LoopUnswitch/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/LoopUnswitch/2006-02-14-LoopSimplifyCrash.ll b/llvm/test/Regression/Transforms/LoopUnswitch/2006-02-14-LoopSimplifyCrash.ll deleted file mode 100644 index 38df259ed81..00000000000 --- a/llvm/test/Regression/Transforms/LoopUnswitch/2006-02-14-LoopSimplifyCrash.ll +++ /dev/null @@ -1,1705 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-unswitch -disable-output - -target endian = big -target pointersize = 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.__sFILEX = type opaque - %struct.__sbuf = type { ubyte*, int } - %struct.fd_set = type { [32 x int] } - %struct.timeval = type { int, int } - %struct.tm = type { int, int, int, int, int, int, int, int, int, int, sbyte* } - %typedef.CHESS_PATH = type { [65 x int], ubyte, ubyte, ubyte } - %typedef.CHESS_POSITION = type { ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, uint, int, sbyte, sbyte, [64 x sbyte], sbyte, sbyte, sbyte, sbyte, sbyte } - %typedef.HASH_ENTRY = type { ulong, ulong } - %typedef.NEXT_MOVE = type { int, int, int* } - %typedef.PAWN_HASH_ENTRY = type { uint, short, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte } - %typedef.SEARCH_POSITION = type { ubyte, sbyte, sbyte, ubyte } - %union.doub0. = type { ulong } -%search = external global %typedef.CHESS_POSITION ; <%typedef.CHESS_POSITION*> [#uses=1] -%w_pawn_attacks = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%b_pawn_attacks = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%knight_attacks = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%bishop_attacks_rl45 = external global [64 x [256 x ulong]] ; <[64 x [256 x ulong]]*> [#uses=0] -%bishop_shift_rl45 = external global [64 x int] ; <[64 x int]*> [#uses=0] -%bishop_attacks_rr45 = external global [64 x [256 x ulong]] ; <[64 x [256 x ulong]]*> [#uses=0] -%bishop_shift_rr45 = external global [64 x int] ; <[64 x int]*> [#uses=0] -%rook_attacks_r0 = external global [64 x [256 x ulong]] ; <[64 x [256 x ulong]]*> [#uses=0] -%rook_attacks_rl90 = external global [64 x [256 x ulong]] ; <[64 x [256 x ulong]]*> [#uses=0] -%king_attacks = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%set_mask = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%first_ones = external global [65536 x ubyte] ; <[65536 x ubyte]*> [#uses=0] -%last_ones = external global [65536 x ubyte] ; <[65536 x ubyte]*> [#uses=0] -%draw_score_is_zero = external global int ; <int*> [#uses=0] -%default_draw_score = external global int ; <int*> [#uses=0] -%opening = external global int ; <int*> [#uses=0] -%middle_game = external global int ; <int*> [#uses=0] -%tc_increment = external global int ; <int*> [#uses=0] -%tc_time_remaining_opponent = external global int ; <int*> [#uses=0] -%.ctor_1 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%input_stream = external global %struct.__sFILE* ; <%struct.__sFILE**> [#uses=0] -%__sF = external global [0 x %struct.__sFILE] ; <[0 x %struct.__sFILE]*> [#uses=1] -%xboard = external global int ; <int*> [#uses=0] -%.str_1 = external global [14 x sbyte] ; <[14 x sbyte]*> [#uses=0] -%.str_2 = external global [14 x sbyte] ; <[14 x sbyte]*> [#uses=0] -%buffer = external global [512 x sbyte] ; <[512 x sbyte]*> [#uses=0] -%nargs = external global int ; <int*> [#uses=0] -%args = external global [32 x sbyte*] ; <[32 x sbyte*]*> [#uses=0] -%.str_3 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_4 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.str_5 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_6 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_7 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_8 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_9 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_10 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_11 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_12 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] -%.str_14 = external global [23 x sbyte] ; <[23 x sbyte]*> [#uses=0] -%position = external global [67 x %typedef.SEARCH_POSITION] ; <[67 x %typedef.SEARCH_POSITION]*> [#uses=0] -%log_file = external global %struct.__sFILE* ; <%struct.__sFILE**> [#uses=0] -%move_number = external global int ; <int*> [#uses=0] -%rephead_b = external global ulong* ; <ulong**> [#uses=0] -%replist_b = external global [82 x ulong] ; <[82 x ulong]*> [#uses=0] -%rephead_w = external global ulong* ; <ulong**> [#uses=0] -%replist_w = external global [82 x ulong] ; <[82 x ulong]*> [#uses=0] -%moves_out_of_book = external global int ; <int*> [#uses=0] -%largest_positional_score = external global int ; <int*> [#uses=0] -%end_game = external global int ; <int*> [#uses=0] -%p_values = external global [15 x int] ; <[15 x int]*> [#uses=0] -%clear_mask = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%directions = external global [64 x [64 x sbyte]] ; <[64 x [64 x sbyte]]*> [#uses=0] -%root_wtm = external global int ; <int*> [#uses=0] -%all_pawns = external global ulong ; <ulong*> [#uses=0] -%pawn_score = external global %typedef.PAWN_HASH_ENTRY ; <%typedef.PAWN_HASH_ENTRY*> [#uses=0] -%pawn_probes = external global int ; <int*> [#uses=0] -%pawn_hits = external global int ; <int*> [#uses=0] -%outside_passed = external global [128 x int] ; <[128 x int]*> [#uses=0] -%root_total_black_pieces = external global int ; <int*> [#uses=0] -%root_total_white_pawns = external global int ; <int*> [#uses=0] -%root_total_white_pieces = external global int ; <int*> [#uses=0] -%root_total_black_pawns = external global int ; <int*> [#uses=0] -%mask_A7H7 = external global ulong ; <ulong*> [#uses=0] -%mask_B6B7 = external global ulong ; <ulong*> [#uses=0] -%mask_G6G7 = external global ulong ; <ulong*> [#uses=0] -%mask_A2H2 = external global ulong ; <ulong*> [#uses=0] -%mask_B2B3 = external global ulong ; <ulong*> [#uses=0] -%mask_G2G3 = external global ulong ; <ulong*> [#uses=0] -%king_defects_w = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%good_bishop_kw = external global ulong ; <ulong*> [#uses=0] -%mask_F3H3 = external global ulong ; <ulong*> [#uses=0] -%file_mask = external global [8 x ulong] ; <[8 x ulong]*> [#uses=0] -%good_bishop_qw = external global ulong ; <ulong*> [#uses=0] -%mask_A3C3 = external global ulong ; <ulong*> [#uses=0] -%king_defects_b = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%good_bishop_kb = external global ulong ; <ulong*> [#uses=0] -%mask_F6H6 = external global ulong ; <ulong*> [#uses=0] -%good_bishop_qb = external global ulong ; <ulong*> [#uses=0] -%mask_A6C6 = external global ulong ; <ulong*> [#uses=0] -%square_color = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%evaluations = external global uint ; <uint*> [#uses=0] -%king_value_w = external global [64 x int] ; <[64 x int]*> [#uses=0] -%rank_mask = external global [8 x ulong] ; <[8 x ulong]*> [#uses=0] -%mask_kr_trapped_w = external global [3 x ulong] ; <[3 x ulong]*> [#uses=0] -%mask_qr_trapped_w = external global [3 x ulong] ; <[3 x ulong]*> [#uses=0] -%king_value_b = external global [64 x int] ; <[64 x int]*> [#uses=0] -%mask_kr_trapped_b = external global [3 x ulong] ; <[3 x ulong]*> [#uses=0] -%mask_qr_trapped_b = external global [3 x ulong] ; <[3 x ulong]*> [#uses=0] -%white_outpost = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%mask_no_pawn_attacks_b = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%knight_value_w = external global [64 x int] ; <[64 x int]*> [#uses=0] -%black_outpost = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%mask_no_pawn_attacks_w = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%knight_value_b = external global [64 x int] ; <[64 x int]*> [#uses=0] -%bishop_value_w = external global [64 x int] ; <[64 x int]*> [#uses=0] -%bishop_mobility_rl45 = external global [64 x [256 x int]] ; <[64 x [256 x int]]*> [#uses=0] -%bishop_mobility_rr45 = external global [64 x [256 x int]] ; <[64 x [256 x int]]*> [#uses=0] -%bishop_value_b = external global [64 x int] ; <[64 x int]*> [#uses=0] -%rook_value_w = external global [64 x int] ; <[64 x int]*> [#uses=0] -%plus8dir = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%mask_abs7_w = external global ulong ; <ulong*> [#uses=0] -%rook_value_b = external global [64 x int] ; <[64 x int]*> [#uses=0] -%minus8dir = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%mask_abs7_b = external global ulong ; <ulong*> [#uses=0] -%queen_value_w = external global [64 x int] ; <[64 x int]*> [#uses=0] -%queen_value_b = external global [64 x int] ; <[64 x int]*> [#uses=0] -%white_minor_pieces = external global ulong ; <ulong*> [#uses=0] -%black_minor_pieces = external global ulong ; <ulong*> [#uses=0] -%not_rook_pawns = external global ulong ; <ulong*> [#uses=0] -%dark_squares = external global ulong ; <ulong*> [#uses=0] -%b_n_mate_dark_squares = external global [64 x int] ; <[64 x int]*> [#uses=0] -%b_n_mate_light_squares = external global [64 x int] ; <[64 x int]*> [#uses=0] -%mate = external global [64 x int] ; <[64 x int]*> [#uses=0] -%first_ones_8bit = external global [256 x ubyte] ; <[256 x ubyte]*> [#uses=0] -%reduced_material_passer = external global [20 x int] ; <[20 x int]*> [#uses=0] -%supported_passer = external global [8 x int] ; <[8 x int]*> [#uses=0] -%passed_pawn_value = external global [8 x int] ; <[8 x int]*> [#uses=0] -%connected_passed = external global [256 x ubyte] ; <[256 x ubyte]*> [#uses=0] -%black_pawn_race_btm = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%white_pawn_race_wtm = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%black_pawn_race_wtm = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%white_pawn_race_btm = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%obstructed = external global [64 x [64 x ulong]] ; <[64 x [64 x ulong]]*> [#uses=0] -%pawn_hash_table = external global %typedef.PAWN_HASH_ENTRY* ; <%typedef.PAWN_HASH_ENTRY**> [#uses=0] -%pawn_hash_mask = external global uint ; <uint*> [#uses=0] -%pawn_value_w = external global [64 x int] ; <[64 x int]*> [#uses=0] -%mask_pawn_isolated = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%mask_pawn_passed_w = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%mask_pawn_protected_w = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%pawn_value_b = external global [64 x int] ; <[64 x int]*> [#uses=0] -%mask_pawn_passed_b = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%mask_pawn_protected_b = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%unblocked_pawns = external global [9 x int] ; <[9 x int]*> [#uses=0] -%mask_wk_4th = external global ulong ; <ulong*> [#uses=0] -%mask_wk_5th = external global ulong ; <ulong*> [#uses=0] -%mask_wq_4th = external global ulong ; <ulong*> [#uses=0] -%mask_wq_5th = external global ulong ; <ulong*> [#uses=0] -%stonewall_white = external global ulong ; <ulong*> [#uses=0] -%mask_bk_4th = external global ulong ; <ulong*> [#uses=0] -%mask_bk_5th = external global ulong ; <ulong*> [#uses=0] -%mask_bq_5th = external global ulong ; <ulong*> [#uses=0] -%mask_bq_4th = external global ulong ; <ulong*> [#uses=0] -%stonewall_black = external global ulong ; <ulong*> [#uses=0] -%last_ones_8bit = external global [256 x ubyte] ; <[256 x ubyte]*> [#uses=0] -%right_side_mask = external global [8 x ulong] ; <[8 x ulong]*> [#uses=0] -%left_side_empty_mask = external global [8 x ulong] ; <[8 x ulong]*> [#uses=0] -%left_side_mask = external global [8 x ulong] ; <[8 x ulong]*> [#uses=0] -%right_side_empty_mask = external global [8 x ulong] ; <[8 x ulong]*> [#uses=0] -%pv = external global [65 x %typedef.CHESS_PATH] ; <[65 x %typedef.CHESS_PATH]*> [#uses=0] -%history_w = external global [4096 x int] ; <[4096 x int]*> [#uses=0] -%history_b = external global [4096 x int] ; <[4096 x int]*> [#uses=0] -%killer_move1 = external global [65 x int] ; <[65 x int]*> [#uses=0] -%killer_count1 = external global [65 x int] ; <[65 x int]*> [#uses=0] -%killer_move2 = external global [65 x int] ; <[65 x int]*> [#uses=0] -%killer_count2 = external global [65 x int] ; <[65 x int]*> [#uses=0] -%current_move = external global [65 x int] ; <[65 x int]*> [#uses=0] -%init_r90 = external global [64 x int] ; <[64 x int]*> [#uses=0] -%init_l90 = external global [64 x int] ; <[64 x int]*> [#uses=0] -%init_l45 = external global [64 x int] ; <[64 x int]*> [#uses=0] -%init_ul45 = external global [64 x int] ; <[64 x int]*> [#uses=0] -%init_r45 = external global [64 x int] ; <[64 x int]*> [#uses=0] -%init_ur45 = external global [64 x int] ; <[64 x int]*> [#uses=0] -%diagonal_length = external global [64 x int] ; <[64 x int]*> [#uses=0] -%last = external global [65 x int*] ; <[65 x int*]*> [#uses=0] -%move_list = external global [5120 x int] ; <[5120 x int]*> [#uses=0] -%history_file = external global %struct.__sFILE* ; <%struct.__sFILE**> [#uses=0] -%.str_1 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_2 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_3 = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%.str_5 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_6 = external global [14 x sbyte] ; <[14 x sbyte]*> [#uses=0] -%trans_ref_wa = external global %typedef.HASH_ENTRY* ; <%typedef.HASH_ENTRY**> [#uses=0] -%hash_table_size = external global int ; <int*> [#uses=0] -%trans_ref_wb = external global %typedef.HASH_ENTRY* ; <%typedef.HASH_ENTRY**> [#uses=0] -%trans_ref_ba = external global %typedef.HASH_ENTRY* ; <%typedef.HASH_ENTRY**> [#uses=0] -%trans_ref_bb = external global %typedef.HASH_ENTRY* ; <%typedef.HASH_ENTRY**> [#uses=0] -%pawn_hash_table_size = external global int ; <int*> [#uses=0] -%.str_9 = external global [37 x sbyte] ; <[37 x sbyte]*> [#uses=0] -%log_hash = external global int ; <int*> [#uses=0] -%log_pawn_hash = external global int ; <int*> [#uses=0] -%hash_maska = external global int ; <int*> [#uses=0] -%hash_maskb = external global int ; <int*> [#uses=0] -%mask_1 = external global ulong ; <ulong*> [#uses=0] -%bishop_attacks = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%queen_attacks = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%plus7dir = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%plus9dir = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%minus7dir = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%minus9dir = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%plus1dir = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%minus1dir = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%rook_attacks = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%king_attacks_1 = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%king_attacks_2 = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%.ctor_1 = external global [64 x int] ; <[64 x int]*> [#uses=0] -%.ctor_2 = external global [64 x int] ; <[64 x int]*> [#uses=0] -%rook_mobility_r0 = external global [64 x [256 x int]] ; <[64 x [256 x int]]*> [#uses=0] -%rook_mobility_rl90 = external global [64 x [256 x int]] ; <[64 x [256 x int]]*> [#uses=0] -%initial_position = external global [80 x sbyte] ; <[80 x sbyte]*> [#uses=5] -"a1.0__" = external global [80 x sbyte] ; <[80 x sbyte]*> [#uses=0] -"a2.1__" = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -"a3.2__" = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -"a4.3__" = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -"a5.4__" = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -"args.5__" = external global [16 x sbyte*] ; <[16 x sbyte*]*> [#uses=0] -%.str_10 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%w_pawn_random = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%w_pawn_random32 = external global [64 x uint] ; <[64 x uint]*> [#uses=0] -%b_pawn_random = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%b_pawn_random32 = external global [64 x uint] ; <[64 x uint]*> [#uses=0] -%w_knight_random = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%b_knight_random = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%w_bishop_random = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%b_bishop_random = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%w_rook_random = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%b_rook_random = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%w_queen_random = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%b_queen_random = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%w_king_random = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%b_king_random = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%enpassant_random = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%castle_random_w = external global [2 x ulong] ; <[2 x ulong]*> [#uses=0] -%castle_random_b = external global [2 x ulong] ; <[2 x ulong]*> [#uses=0] -%set_mask_rl90 = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%set_mask_rl45 = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%set_mask_rr45 = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%transposition_id = external global sbyte ; <sbyte*> [#uses=0] -%mask_2 = external global ulong ; <ulong*> [#uses=0] -%mask_3 = external global ulong ; <ulong*> [#uses=0] -%mask_4 = external global ulong ; <ulong*> [#uses=0] -%mask_8 = external global ulong ; <ulong*> [#uses=0] -%mask_16 = external global ulong ; <ulong*> [#uses=0] -%mask_32 = external global ulong ; <ulong*> [#uses=0] -%mask_72 = external global ulong ; <ulong*> [#uses=0] -%mask_80 = external global ulong ; <ulong*> [#uses=0] -%mask_85 = external global ulong ; <ulong*> [#uses=0] -%mask_96 = external global ulong ; <ulong*> [#uses=0] -%mask_107 = external global ulong ; <ulong*> [#uses=0] -%mask_108 = external global ulong ; <ulong*> [#uses=0] -%mask_112 = external global ulong ; <ulong*> [#uses=0] -%mask_118 = external global ulong ; <ulong*> [#uses=0] -%mask_120 = external global ulong ; <ulong*> [#uses=0] -%mask_121 = external global ulong ; <ulong*> [#uses=0] -%mask_127 = external global ulong ; <ulong*> [#uses=0] -%mask_clear_entry = external global ulong ; <ulong*> [#uses=0] -%clear_mask_rl45 = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%clear_mask_rr45 = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%clear_mask_rl90 = external global [65 x ulong] ; <[65 x ulong]*> [#uses=0] -%right_half_mask = external global ulong ; <ulong*> [#uses=0] -%left_half_mask = external global ulong ; <ulong*> [#uses=0] -%mask_not_rank8 = external global ulong ; <ulong*> [#uses=0] -%mask_not_rank1 = external global ulong ; <ulong*> [#uses=0] -%center = external global ulong ; <ulong*> [#uses=0] -%mask_pawn_connected = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%mask_eptest = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%mask_kingside_attack_w1 = external global ulong ; <ulong*> [#uses=0] -%mask_kingside_attack_w2 = external global ulong ; <ulong*> [#uses=0] -%mask_queenside_attack_w1 = external global ulong ; <ulong*> [#uses=0] -%mask_queenside_attack_w2 = external global ulong ; <ulong*> [#uses=0] -%mask_kingside_attack_b1 = external global ulong ; <ulong*> [#uses=0] -%mask_kingside_attack_b2 = external global ulong ; <ulong*> [#uses=0] -%mask_queenside_attack_b1 = external global ulong ; <ulong*> [#uses=0] -%mask_queenside_attack_b2 = external global ulong ; <ulong*> [#uses=0] -%pawns_cramp_black = external global ulong ; <ulong*> [#uses=0] -%pawns_cramp_white = external global ulong ; <ulong*> [#uses=0] -%light_squares = external global ulong ; <ulong*> [#uses=0] -%mask_left_edge = external global ulong ; <ulong*> [#uses=0] -%mask_right_edge = external global ulong ; <ulong*> [#uses=0] -%mask_advance_2_w = external global ulong ; <ulong*> [#uses=0] -%mask_advance_2_b = external global ulong ; <ulong*> [#uses=0] -%mask_corner_squares = external global ulong ; <ulong*> [#uses=0] -%mask_promotion_threat_w = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%mask_promotion_threat_b = external global [64 x ulong] ; <[64 x ulong]*> [#uses=0] -%promote_mask_w = external global ulong ; <ulong*> [#uses=0] -%promote_mask_b = external global ulong ; <ulong*> [#uses=0] -%mask_a1_corner = external global ulong ; <ulong*> [#uses=0] -%mask_h1_corner = external global ulong ; <ulong*> [#uses=0] -%mask_a8_corner = external global ulong ; <ulong*> [#uses=0] -%mask_h8_corner = external global ulong ; <ulong*> [#uses=0] -%white_center_pawns = external global ulong ; <ulong*> [#uses=0] -%black_center_pawns = external global ulong ; <ulong*> [#uses=0] -%wtm_random = external global [2 x ulong] ; <[2 x ulong]*> [#uses=0] -%endgame_random_w = external global ulong ; <ulong*> [#uses=0] -%endgame_random_b = external global ulong ; <ulong*> [#uses=0] -%w_rooks_random = external global ulong ; <ulong*> [#uses=0] -%b_rooks_random = external global ulong ; <ulong*> [#uses=0] -%.ctor_11 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.ctor_2 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.str_1 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_2 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_32 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_4 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_5 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_6 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_7 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_8 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_9 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_10 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_11 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_12 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_13 = external global [15 x sbyte] ; <[15 x sbyte]*> [#uses=0] -%num_ponder_moves = external global int ; <int*> [#uses=0] -%ponder_moves = external global [220 x int] ; <[220 x int]*> [#uses=0] -%.str_14 = external global [15 x sbyte] ; <[15 x sbyte]*> [#uses=0] -%.str_15 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_16 = external global [20 x sbyte] ; <[20 x sbyte]*> [#uses=0] -%auto232 = external global int ; <int*> [#uses=0] -%puzzling = external global sbyte ; <sbyte*> [#uses=0] -%abort_search = external global sbyte ; <sbyte*> [#uses=0] -%.str_24 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%wtm = external global int ; <int*> [#uses=0] -%.str_3 = external global [15 x sbyte] ; <[15 x sbyte]*> [#uses=0] -%.str_4 = external global [15 x sbyte] ; <[15 x sbyte]*> [#uses=0] -%end_time = external global uint ; <uint*> [#uses=0] -%time_type = external global uint ; <uint*> [#uses=0] -%start_time = external global uint ; <uint*> [#uses=0] -%.str_6 = external global [12 x sbyte] ; <[12 x sbyte]*> [#uses=0] -%.str_7 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%nodes_searched = external global uint ; <uint*> [#uses=0] -%iteration_depth = external global int ; <int*> [#uses=0] -%searched_this_root_move = external global [256 x sbyte] ; <[256 x sbyte]*> [#uses=0] -%.str_9 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_10 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_11 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_12 = external global [12 x sbyte] ; <[12 x sbyte]*> [#uses=0] -%.str_14 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_16 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%thinking = external global sbyte ; <sbyte*> [#uses=0] -%time_abort = external global int ; <int*> [#uses=0] -%.str_17 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] -%analyze_move_read = external global int ; <int*> [#uses=0] -%analyze_mode = external global int ; <int*> [#uses=0] -%pondering = external global sbyte ; <sbyte*> [#uses=0] -%auto232_delay = external global int ; <int*> [#uses=0] -%auto_file = external global %struct.__sFILE* ; <%struct.__sFILE**> [#uses=0] -%.str_19 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_20 = external global [11 x sbyte] ; <[11 x sbyte]*> [#uses=0] -%.str_21 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%ponder_move = external global int ; <int*> [#uses=0] -%predicted = external global int ; <int*> [#uses=0] -%made_predicted_move = external global int ; <int*> [#uses=0] -%opponent_end_time = external global uint ; <uint*> [#uses=0] -%program_start_time = external global uint ; <uint*> [#uses=0] -%.str_23 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_24 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_25 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_26 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_28 = external global [31 x sbyte] ; <[31 x sbyte]*> [#uses=0] -%book_move = external global int ; <int*> [#uses=0] -%elapsed_start = external global uint ; <uint*> [#uses=0] -%burp = external global int ; <int*> [#uses=0] -%cpu_percent = external global int ; <int*> [#uses=0] -%next_time_check = external global int ; <int*> [#uses=0] -%nodes_between_time_checks = external global int ; <int*> [#uses=0] -%transposition_hits = external global int ; <int*> [#uses=0] -%transposition_probes = external global int ; <int*> [#uses=0] -%tb_probes = external global int ; <int*> [#uses=0] -%tb_probes_successful = external global int ; <int*> [#uses=0] -%check_extensions_done = external global int ; <int*> [#uses=0] -%recapture_extensions_done = external global int ; <int*> [#uses=0] -%passed_pawn_extensions_done = external global int ; <int*> [#uses=0] -%one_reply_extensions_done = external global int ; <int*> [#uses=0] -%program_end_time = external global uint ; <uint*> [#uses=0] -%root_value = external global int ; <int*> [#uses=0] -%last_search_value = external global int ; <int*> [#uses=0] -%.str_1 = external global [48 x sbyte] ; <[48 x sbyte]*> [#uses=0] -%.str_2 = external global [48 x sbyte] ; <[48 x sbyte]*> [#uses=0] -%booking = external global sbyte ; <sbyte*> [#uses=0] -%annotate_mode = external global int ; <int*> [#uses=0] -%.str_4 = external global [38 x sbyte] ; <[38 x sbyte]*> [#uses=0] -%.str_5 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%last_pv = external global %typedef.CHESS_PATH ; <%typedef.CHESS_PATH*> [#uses=0] -%.str_8 = external global [53 x sbyte] ; <[53 x sbyte]*> [#uses=0] -%root_alpha = external global int ; <int*> [#uses=0] -%last_value = external global int ; <int*> [#uses=0] -%root_beta = external global int ; <int*> [#uses=0] -%root_nodes = external global [256 x uint] ; <[256 x uint]*> [#uses=0] -%trace_level = external global int ; <int*> [#uses=0] -%.str_9 = external global [36 x sbyte] ; <[36 x sbyte]*> [#uses=0] -%.str_10 = external global [37 x sbyte] ; <[37 x sbyte]*> [#uses=0] -%search_failed_high = external global int ; <int*> [#uses=0] -%search_failed_low = external global int ; <int*> [#uses=0] -%nodes_per_second = external global int ; <int*> [#uses=0] -%time_limit = external global int ; <int*> [#uses=0] -%easy_move = external global int ; <int*> [#uses=0] -%noise_level = external global uint ; <uint*> [#uses=0] -%.str_12 = external global [34 x sbyte] ; <[34 x sbyte]*> [#uses=0] -%.str_136 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%solution_type = external global int ; <int*> [#uses=0] -%number_of_solutions = external global int ; <int*> [#uses=0] -%solutions = external global [10 x int] ; <[10 x int]*> [#uses=0] -%early_exit = external global int ; <int*> [#uses=0] -%.str_14 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_15 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_16 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%whisper_value = external global int ; <int*> [#uses=0] -%.str_17 = external global [29 x sbyte] ; <[29 x sbyte]*> [#uses=0] -%.str_19 = external global [37 x sbyte] ; <[37 x sbyte]*> [#uses=0] -%last_mate_score = external global int ; <int*> [#uses=0] -%search_depth = external global int ; <int*> [#uses=0] -%elapsed_end = external global uint ; <uint*> [#uses=0] -%.str_20 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_21 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_22 = external global [13 x sbyte] ; <[13 x sbyte]*> [#uses=0] -%.str_23 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_24 = external global [48 x sbyte] ; <[48 x sbyte]*> [#uses=0] -%.str_25 = external global [67 x sbyte] ; <[67 x sbyte]*> [#uses=0] -%.str_26 = external global [69 x sbyte] ; <[69 x sbyte]*> [#uses=0] -%hash_move = external global [65 x int] ; <[65 x int]*> [#uses=0] -%version = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%mode = external global uint ; <uint*> [#uses=0] -%batch_mode = external global int ; <int*> [#uses=0] -%crafty_rating = external global int ; <int*> [#uses=0] -%opponent_rating = external global int ; <int*> [#uses=0] -%pgn_event = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%pgn_site = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%pgn_date = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%pgn_round = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%pgn_white = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%pgn_white_elo = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%pgn_black = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%pgn_black_elo = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%pgn_result = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%number_auto_kibitzers = external global int ; <int*> [#uses=0] -%auto_kibitz_list = external global [100 x [20 x sbyte]] ; <[100 x [20 x sbyte]]*> [#uses=0] -%number_of_computers = external global int ; <int*> [#uses=0] -%computer_list = external global [100 x [20 x sbyte]] ; <[100 x [20 x sbyte]]*> [#uses=0] -%number_of_GMs = external global int ; <int*> [#uses=0] -%GM_list = external global [100 x [20 x sbyte]] ; <[100 x [20 x sbyte]]*> [#uses=0] -%number_of_IMs = external global int ; <int*> [#uses=0] -%IM_list = external global [100 x [20 x sbyte]] ; <[100 x [20 x sbyte]]*> [#uses=0] -%ics = external global int ; <int*> [#uses=0] -%output_format = external global int ; <int*> [#uses=0] -%EGTBlimit = external global int ; <int*> [#uses=0] -%whisper = external global int ; <int*> [#uses=0] -%channel = external global int ; <int*> [#uses=0] -%new_game = external global int ; <int*> [#uses=0] -%channel_title = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%initialized = external global int ; <int*> [#uses=0] -%kibitz = external global int ; <int*> [#uses=0] -%post = external global int ; <int*> [#uses=0] -%log_id = external global int ; <int*> [#uses=0] -%crafty_is_white = external global int ; <int*> [#uses=0] -%last_opponent_move = external global int ; <int*> [#uses=0] -%search_move = external global int ; <int*> [#uses=0] -%time_used = external global int ; <int*> [#uses=0] -%time_used_opponent = external global int ; <int*> [#uses=0] -%auto_kibitzing = external global int ; <int*> [#uses=0] -%test_mode = external global int ; <int*> [#uses=0] -%resign = external global sbyte ; <sbyte*> [#uses=0] -%resign_counter = external global sbyte ; <sbyte*> [#uses=0] -%resign_count = external global sbyte ; <sbyte*> [#uses=0] -%draw_counter = external global sbyte ; <sbyte*> [#uses=0] -%draw_count = external global sbyte ; <sbyte*> [#uses=0] -%tc_moves = external global int ; <int*> [#uses=0] -%tc_time = external global int ; <int*> [#uses=0] -%tc_time_remaining = external global int ; <int*> [#uses=0] -%tc_moves_remaining = external global int ; <int*> [#uses=0] -%tc_secondary_moves = external global int ; <int*> [#uses=0] -%tc_secondary_time = external global int ; <int*> [#uses=0] -%tc_sudden_death = external global int ; <int*> [#uses=0] -%tc_operator_time = external global int ; <int*> [#uses=0] -%tc_safety_margin = external global int ; <int*> [#uses=0] -%force = external global int ; <int*> [#uses=0] -%over = external global int ; <int*> [#uses=0] -%usage_level = external global int ; <int*> [#uses=0] -%audible_alarm = external global sbyte ; <sbyte*> [#uses=0] -%ansi = external global int ; <int*> [#uses=0] -%book_accept_mask = external global int ; <int*> [#uses=0] -%book_reject_mask = external global int ; <int*> [#uses=0] -%book_random = external global int ; <int*> [#uses=0] -%book_search_trigger = external global int ; <int*> [#uses=0] -%learning = external global int ; <int*> [#uses=0] -%show_book = external global int ; <int*> [#uses=0] -%book_selection_width = external global int ; <int*> [#uses=0] -%ponder = external global int ; <int*> [#uses=0] -%verbosity_level = external global int ; <int*> [#uses=0] -%push_extensions = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%.str_28 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_3 = external global [43 x sbyte] ; <[43 x sbyte]*> [#uses=0] -%display = external global %typedef.CHESS_POSITION ; <%typedef.CHESS_POSITION*> [#uses=0] -%.str_4 = external global [14 x sbyte] ; <[14 x sbyte]*> [#uses=0] -%opponent_start_time = external global uint ; <uint*> [#uses=0] -%.str_8 = external global [12 x sbyte] ; <[12 x sbyte]*> [#uses=0] -%.str_9 = external global [12 x sbyte] ; <[12 x sbyte]*> [#uses=0] -%.str_18 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_19 = external global [35 x sbyte] ; <[35 x sbyte]*> [#uses=0] -%.str_2013 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_21 = external global [41 x sbyte] ; <[41 x sbyte]*> [#uses=0] -%.str_22 = external global [29 x sbyte] ; <[29 x sbyte]*> [#uses=0] -%.str_23 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%whisper_text = external global [500 x sbyte] ; <[500 x sbyte]*> [#uses=0] -%.str_24 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_25 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_26 = external global [11 x sbyte] ; <[11 x sbyte]*> [#uses=0] -%.str_28 = external global [13 x sbyte] ; <[13 x sbyte]*> [#uses=0] -%.str_29 = external global [13 x sbyte] ; <[13 x sbyte]*> [#uses=0] -%.str_30 = external global [33 x sbyte] ; <[33 x sbyte]*> [#uses=0] -%.str_31 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_32 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_36 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=1] -%.str_37 = external global [15 x sbyte] ; <[15 x sbyte]*> [#uses=0] -%.str_44 = external global [12 x sbyte] ; <[12 x sbyte]*> [#uses=0] -%.str_45 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_49 = external global [15 x sbyte] ; <[15 x sbyte]*> [#uses=0] -%.str_52 = external global [12 x sbyte] ; <[12 x sbyte]*> [#uses=0] -%previous_search_value = external global int ; <int*> [#uses=0] -%.str_64 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%whisper_depth = external global int ; <int*> [#uses=0] -%.str_65 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_66 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%total_moves = external global int ; <int*> [#uses=0] -%book_file = external global %struct.__sFILE* ; <%struct.__sFILE**> [#uses=0] -%books_file = external global %struct.__sFILE* ; <%struct.__sFILE**> [#uses=0] -%book_lrn_file = external global %struct.__sFILE* ; <%struct.__sFILE**> [#uses=0] -%position_file = external global %struct.__sFILE* ; <%struct.__sFILE**> [#uses=0] -%position_lrn_file = external global %struct.__sFILE* ; <%struct.__sFILE**> [#uses=0] -%log_filename = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%history_filename = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%book_path = external global [128 x sbyte] ; <[128 x sbyte]*> [#uses=0] -%log_path = external global [128 x sbyte] ; <[128 x sbyte]*> [#uses=0] -%tb_path = external global [128 x sbyte] ; <[128 x sbyte]*> [#uses=0] -%cmd_buffer = external global [512 x sbyte] ; <[512 x sbyte]*> [#uses=0] -%root_move = external global int ; <int*> [#uses=0] -%hint = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -%absolute_time_limit = external global int ; <int*> [#uses=0] -%search_time_limit = external global int ; <int*> [#uses=0] -%in_check = external global [65 x sbyte] ; <[65 x sbyte]*> [#uses=0] -%extended_reason = external global [65 x sbyte] ; <[65 x sbyte]*> [#uses=0] -%current_phase = external global [65 x sbyte] ; <[65 x sbyte]*> [#uses=0] -%sort_value = external global [256 x int] ; <[256 x int]*> [#uses=0] -%next_status = external global [65 x %typedef.NEXT_MOVE] ; <[65 x %typedef.NEXT_MOVE]*> [#uses=0] -%save_hash_key = external global [67 x ulong] ; <[67 x ulong]*> [#uses=0] -%save_pawn_hash_key = external global [67 x uint] ; <[67 x uint]*> [#uses=0] -%pawn_advance = external global [8 x int] ; <[8 x int]*> [#uses=0] -%bit_move = external global ulong ; <ulong*> [#uses=0] -%.str_1 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.str_2 = external global [36 x sbyte] ; <[36 x sbyte]*> [#uses=0] -%.str_3 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_1 = external global [34 x sbyte] ; <[34 x sbyte]*> [#uses=0] -%.str_2 = external global [46 x sbyte] ; <[46 x sbyte]*> [#uses=0] -%.str_2 = external global [47 x sbyte] ; <[47 x sbyte]*> [#uses=0] -%.str_1 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_2 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_3 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_4 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_5 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_615 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_7 = external global [21 x sbyte] ; <[21 x sbyte]*> [#uses=0] -%.str_10 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_11 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_12 = external global [18 x sbyte] ; <[18 x sbyte]*> [#uses=0] -%.str_1318 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_1419 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_15 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.str_16 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_19 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_20 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_2222 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_2323 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_25 = external global [29 x sbyte] ; <[29 x sbyte]*> [#uses=0] -%.str_27 = external global [48 x sbyte] ; <[48 x sbyte]*> [#uses=0] -%.str_28 = external global [42 x sbyte] ; <[42 x sbyte]*> [#uses=0] -%.str_29 = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%.str_30 = external global [27 x sbyte] ; <[27 x sbyte]*> [#uses=0] -%.str_31 = external global [18 x sbyte] ; <[18 x sbyte]*> [#uses=0] -%.str_32 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_33 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_34 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_35 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_36 = external global [46 x sbyte] ; <[46 x sbyte]*> [#uses=0] -%.str_37 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_38 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_41 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_42 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_43 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_44 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_4525 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_46 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_47 = external global [19 x sbyte] ; <[19 x sbyte]*> [#uses=0] -%.str_48 = external global [35 x sbyte] ; <[35 x sbyte]*> [#uses=0] -%.str_49 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_50 = external global [19 x sbyte] ; <[19 x sbyte]*> [#uses=0] -%.str_51 = external global [25 x sbyte] ; <[25 x sbyte]*> [#uses=0] -%.str_52 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_53 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_54 = external global [23 x sbyte] ; <[23 x sbyte]*> [#uses=0] -%.str_55 = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%.str_56 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_57 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_58 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_59 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_60 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_61 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_62 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_63 = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -%.str_64 = external global [37 x sbyte] ; <[37 x sbyte]*> [#uses=0] -%.str_66 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_67 = external global [21 x sbyte] ; <[21 x sbyte]*> [#uses=0] -%.str_68 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_69 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_71 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_72 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_73 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_74 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_75 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_81 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_83 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_84 = external global [23 x sbyte] ; <[23 x sbyte]*> [#uses=0] -%.str_86 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_87 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_89 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_90 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_91 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_92 = external global [47 x sbyte] ; <[47 x sbyte]*> [#uses=0] -%.str_94 = external global [37 x sbyte] ; <[37 x sbyte]*> [#uses=0] -%.str_95 = external global [33 x sbyte] ; <[33 x sbyte]*> [#uses=0] -%.str_96 = external global [34 x sbyte] ; <[34 x sbyte]*> [#uses=0] -%.str_97 = external global [33 x sbyte] ; <[33 x sbyte]*> [#uses=0] -%.str_98 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_100 = external global [42 x sbyte] ; <[42 x sbyte]*> [#uses=0] -%.str_101 = external global [38 x sbyte] ; <[38 x sbyte]*> [#uses=0] -%.str_102 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_103 = external global [38 x sbyte] ; <[38 x sbyte]*> [#uses=0] -%.str_104 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_105 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_106 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_107 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_108 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_109 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_110 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_111 = external global [54 x sbyte] ; <[54 x sbyte]*> [#uses=0] -%.str_112 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_113 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_114 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_115 = external global [48 x sbyte] ; <[48 x sbyte]*> [#uses=0] -%.str_116 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_117 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_118 = external global [63 x sbyte] ; <[63 x sbyte]*> [#uses=0] -%.str_119 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_120 = external global [63 x sbyte] ; <[63 x sbyte]*> [#uses=0] -%.str_121 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_122 = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%.str_123 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_124 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_125 = external global [65 x sbyte] ; <[65 x sbyte]*> [#uses=0] -%.str_126 = external global [65 x sbyte] ; <[65 x sbyte]*> [#uses=0] -%.str_127 = external global [69 x sbyte] ; <[69 x sbyte]*> [#uses=0] -%.str_128 = external global [66 x sbyte] ; <[66 x sbyte]*> [#uses=0] -%.str_129 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_130 = external global [63 x sbyte] ; <[63 x sbyte]*> [#uses=0] -%.str_131 = external global [67 x sbyte] ; <[67 x sbyte]*> [#uses=0] -%.str_132 = external global [63 x sbyte] ; <[63 x sbyte]*> [#uses=0] -%.str_133 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_134 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_135 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_136 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_137 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_138 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_139 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_140 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_141 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_142 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_143 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_144 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_145 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_146 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_147 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_148 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_149 = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%.str_150 = external global [65 x sbyte] ; <[65 x sbyte]*> [#uses=0] -%.str_151 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_152 = external global [46 x sbyte] ; <[46 x sbyte]*> [#uses=0] -%.str_153 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_154 = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%.str_156 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_157 = external global [31 x sbyte] ; <[31 x sbyte]*> [#uses=0] -%.str_158 = external global [71 x sbyte] ; <[71 x sbyte]*> [#uses=0] -%.str_159 = external global [72 x sbyte] ; <[72 x sbyte]*> [#uses=0] -%.str_160 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_161 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_162 = external global [63 x sbyte] ; <[63 x sbyte]*> [#uses=0] -%.str_163 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_164 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_165 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_166 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_167 = external global [63 x sbyte] ; <[63 x sbyte]*> [#uses=0] -%.str_168 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_169 = external global [65 x sbyte] ; <[65 x sbyte]*> [#uses=0] -%.str_170 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_171 = external global [63 x sbyte] ; <[63 x sbyte]*> [#uses=0] -%.str_172 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_173 = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%.str_174 = external global [51 x sbyte] ; <[51 x sbyte]*> [#uses=0] -%.str_175 = external global [70 x sbyte] ; <[70 x sbyte]*> [#uses=0] -%.str_176 = external global [67 x sbyte] ; <[67 x sbyte]*> [#uses=0] -%.str_177 = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%.str_178 = external global [48 x sbyte] ; <[48 x sbyte]*> [#uses=0] -%.str_180 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_181 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_182 = external global [53 x sbyte] ; <[53 x sbyte]*> [#uses=0] -%.str_183 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_184 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_185 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_186 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_187 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_188 = external global [35 x sbyte] ; <[35 x sbyte]*> [#uses=0] -%.str_189 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_190 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_191 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_192 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_193 = external global [55 x sbyte] ; <[55 x sbyte]*> [#uses=0] -%.str_194 = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%.str_195 = external global [33 x sbyte] ; <[33 x sbyte]*> [#uses=0] -%.str_196 = external global [46 x sbyte] ; <[46 x sbyte]*> [#uses=0] -%.str_197 = external global [11 x sbyte] ; <[11 x sbyte]*> [#uses=0] -%.str_198 = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -%.str_201 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_202 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_203 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_204 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_206 = external global [48 x sbyte] ; <[48 x sbyte]*> [#uses=0] -%.str_207 = external global [46 x sbyte] ; <[46 x sbyte]*> [#uses=0] -%.str_208 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_209 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_210 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_211 = external global [43 x sbyte] ; <[43 x sbyte]*> [#uses=0] -%.str_213 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_214 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_215 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_216 = external global [14 x sbyte] ; <[14 x sbyte]*> [#uses=0] -%.str_218 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_219 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_220 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_221 = external global [37 x sbyte] ; <[37 x sbyte]*> [#uses=0] -%.str_222 = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%.str_223 = external global [66 x sbyte] ; <[66 x sbyte]*> [#uses=0] -%.str_224 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_225 = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%.str_226 = external global [63 x sbyte] ; <[63 x sbyte]*> [#uses=0] -%.str_227 = external global [46 x sbyte] ; <[46 x sbyte]*> [#uses=0] -%.str_228 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_229 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_230 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_231 = external global [19 x sbyte] ; <[19 x sbyte]*> [#uses=0] -%.str_232 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_233 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_234 = external global [54 x sbyte] ; <[54 x sbyte]*> [#uses=0] -%.str_235 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_236 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.str_237 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_238 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_239 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_240 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.str_241 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_242 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_243 = external global [35 x sbyte] ; <[35 x sbyte]*> [#uses=0] -%.str_245 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_246 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_247 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_248 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_249 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_250 = external global [45 x sbyte] ; <[45 x sbyte]*> [#uses=0] -%.str_253 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_254 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.str_256 = external global [43 x sbyte] ; <[43 x sbyte]*> [#uses=0] -%.str_258 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_259 = external global [27 x sbyte] ; <[27 x sbyte]*> [#uses=0] -%.str_261 = external global [43 x sbyte] ; <[43 x sbyte]*> [#uses=0] -%.str_262 = external global [43 x sbyte] ; <[43 x sbyte]*> [#uses=0] -%.str_263 = external global [43 x sbyte] ; <[43 x sbyte]*> [#uses=0] -%.str_266 = external global [43 x sbyte] ; <[43 x sbyte]*> [#uses=0] -%.str_267 = external global [43 x sbyte] ; <[43 x sbyte]*> [#uses=0] -%.str_268 = external global [43 x sbyte] ; <[43 x sbyte]*> [#uses=0] -%.str_270 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_271 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_272 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_273 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_274 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_275 = external global [44 x sbyte] ; <[44 x sbyte]*> [#uses=0] -%.str_276 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_277 = external global [21 x sbyte] ; <[21 x sbyte]*> [#uses=0] -%.str_278 = external global [48 x sbyte] ; <[48 x sbyte]*> [#uses=0] -%.str_279 = external global [51 x sbyte] ; <[51 x sbyte]*> [#uses=0] -%.str_280 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_281 = external global [53 x sbyte] ; <[53 x sbyte]*> [#uses=0] -%.str_282 = external global [50 x sbyte] ; <[50 x sbyte]*> [#uses=0] -%.str_283 = external global [53 x sbyte] ; <[53 x sbyte]*> [#uses=0] -%.str_284 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_285 = external global [55 x sbyte] ; <[55 x sbyte]*> [#uses=0] -%.str_286 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_287 = external global [54 x sbyte] ; <[54 x sbyte]*> [#uses=0] -%.str_288 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_289 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_290 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_291 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_292 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_293 = external global [54 x sbyte] ; <[54 x sbyte]*> [#uses=0] -%.str_294 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_295 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_296 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_297 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_298 = external global [51 x sbyte] ; <[51 x sbyte]*> [#uses=0] -%.str_299 = external global [54 x sbyte] ; <[54 x sbyte]*> [#uses=0] -%.str_300 = external global [49 x sbyte] ; <[49 x sbyte]*> [#uses=0] -%.str_301 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_302 = external global [18 x sbyte] ; <[18 x sbyte]*> [#uses=0] -%.str_304 = external global [50 x sbyte] ; <[50 x sbyte]*> [#uses=0] -%.str_305 = external global [50 x sbyte] ; <[50 x sbyte]*> [#uses=0] -%.str_306 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_308 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_310 = external global [50 x sbyte] ; <[50 x sbyte]*> [#uses=0] -%.str_311 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_312 = external global [53 x sbyte] ; <[53 x sbyte]*> [#uses=0] -%.str_313 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_314 = external global [53 x sbyte] ; <[53 x sbyte]*> [#uses=0] -%.str_315 = external global [54 x sbyte] ; <[54 x sbyte]*> [#uses=0] -%.str_316 = external global [51 x sbyte] ; <[51 x sbyte]*> [#uses=0] -%.str_317 = external global [26 x sbyte] ; <[26 x sbyte]*> [#uses=0] -%.str_319 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_320 = external global [53 x sbyte] ; <[53 x sbyte]*> [#uses=0] -%.str_321 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_322 = external global [55 x sbyte] ; <[55 x sbyte]*> [#uses=0] -%.str_323 = external global [20 x sbyte] ; <[20 x sbyte]*> [#uses=0] -%.str_325 = external global [26 x sbyte] ; <[26 x sbyte]*> [#uses=0] -%.str_327 = external global [51 x sbyte] ; <[51 x sbyte]*> [#uses=0] -%.str_328 = external global [51 x sbyte] ; <[51 x sbyte]*> [#uses=0] -%.str_329 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_330 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_331 = external global [53 x sbyte] ; <[53 x sbyte]*> [#uses=0] -%.str_332 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_333 = external global [50 x sbyte] ; <[50 x sbyte]*> [#uses=0] -%.str_334 = external global [54 x sbyte] ; <[54 x sbyte]*> [#uses=0] -%.str_335 = external global [48 x sbyte] ; <[48 x sbyte]*> [#uses=0] -%.str_336 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_337 = external global [50 x sbyte] ; <[50 x sbyte]*> [#uses=0] -%.str_338 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_339 = external global [36 x sbyte] ; <[36 x sbyte]*> [#uses=0] -%.str_340 = external global [55 x sbyte] ; <[55 x sbyte]*> [#uses=0] -%.str_341 = external global [54 x sbyte] ; <[54 x sbyte]*> [#uses=0] -%.str_342 = external global [49 x sbyte] ; <[49 x sbyte]*> [#uses=0] -%.str_343 = external global [63 x sbyte] ; <[63 x sbyte]*> [#uses=0] -%.str_344 = external global [49 x sbyte] ; <[49 x sbyte]*> [#uses=0] -%.str_345 = external global [47 x sbyte] ; <[47 x sbyte]*> [#uses=0] -%.str_346 = external global [49 x sbyte] ; <[49 x sbyte]*> [#uses=0] -%.str_347 = external global [43 x sbyte] ; <[43 x sbyte]*> [#uses=0] -%.str_348 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_349 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_350 = external global [55 x sbyte] ; <[55 x sbyte]*> [#uses=0] -%.str_351 = external global [47 x sbyte] ; <[47 x sbyte]*> [#uses=0] -%.str_352 = external global [49 x sbyte] ; <[49 x sbyte]*> [#uses=0] -%.str_353 = external global [49 x sbyte] ; <[49 x sbyte]*> [#uses=0] -%.str_354 = external global [42 x sbyte] ; <[42 x sbyte]*> [#uses=0] -%.str_355 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_356 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_357 = external global [53 x sbyte] ; <[53 x sbyte]*> [#uses=0] -%.str_358 = external global [47 x sbyte] ; <[47 x sbyte]*> [#uses=0] -%.str_359 = external global [63 x sbyte] ; <[63 x sbyte]*> [#uses=0] -%.str_360 = external global [54 x sbyte] ; <[54 x sbyte]*> [#uses=0] -%.str_362 = external global [53 x sbyte] ; <[53 x sbyte]*> [#uses=0] -%.str_363 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_364 = external global [56 x sbyte] ; <[56 x sbyte]*> [#uses=0] -%.str_365 = external global [51 x sbyte] ; <[51 x sbyte]*> [#uses=0] -%.str_366 = external global [64 x sbyte] ; <[64 x sbyte]*> [#uses=0] -%.str_367 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_368 = external global [48 x sbyte] ; <[48 x sbyte]*> [#uses=0] -%.str_369 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_370 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_371 = external global [49 x sbyte] ; <[49 x sbyte]*> [#uses=0] -%.str_372 = external global [58 x sbyte] ; <[58 x sbyte]*> [#uses=0] -%.str_373 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_374 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_375 = external global [63 x sbyte] ; <[63 x sbyte]*> [#uses=0] -%.str_376 = external global [63 x sbyte] ; <[63 x sbyte]*> [#uses=0] -%.str_377 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_378 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_379 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_380 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_381 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_382 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_383 = external global [49 x sbyte] ; <[49 x sbyte]*> [#uses=0] -%.str_384 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_385 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_387 = external global [53 x sbyte] ; <[53 x sbyte]*> [#uses=0] -%.str_388 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_389 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_390 = external global [55 x sbyte] ; <[55 x sbyte]*> [#uses=0] -%.str_391 = external global [55 x sbyte] ; <[55 x sbyte]*> [#uses=0] -%.str_392 = external global [71 x sbyte] ; <[71 x sbyte]*> [#uses=0] -%.str_393 = external global [46 x sbyte] ; <[46 x sbyte]*> [#uses=0] -%.str_394 = external global [51 x sbyte] ; <[51 x sbyte]*> [#uses=0] -%.str_395 = external global [54 x sbyte] ; <[54 x sbyte]*> [#uses=0] -%.str_396 = external global [60 x sbyte] ; <[60 x sbyte]*> [#uses=0] -%.str_397 = external global [49 x sbyte] ; <[49 x sbyte]*> [#uses=0] -%.str_398 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_399 = external global [67 x sbyte] ; <[67 x sbyte]*> [#uses=0] -%.str_400 = external global [55 x sbyte] ; <[55 x sbyte]*> [#uses=0] -%.str_401 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_402 = external global [62 x sbyte] ; <[62 x sbyte]*> [#uses=0] -%.str_403 = external global [47 x sbyte] ; <[47 x sbyte]*> [#uses=0] -%.str_404 = external global [59 x sbyte] ; <[59 x sbyte]*> [#uses=0] -%.str_405 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_406 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_407 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_408 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_409 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_410 = external global [26 x sbyte] ; <[26 x sbyte]*> [#uses=0] -%.str_411 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_412 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_413 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_414 = external global [19 x sbyte] ; <[19 x sbyte]*> [#uses=0] -%.str_421 = external global [53 x sbyte] ; <[53 x sbyte]*> [#uses=0] -%.str_422 = external global [55 x sbyte] ; <[55 x sbyte]*> [#uses=0] -%.str_423 = external global [23 x sbyte] ; <[23 x sbyte]*> [#uses=0] -%.str_424 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_426 = external global [42 x sbyte] ; <[42 x sbyte]*> [#uses=0] -%.str_427 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_429 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_430 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] -%.str_431 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_432 = external global [23 x sbyte] ; <[23 x sbyte]*> [#uses=0] -%.str_433 = external global [23 x sbyte] ; <[23 x sbyte]*> [#uses=0] -%.str_434 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] -%.str_435 = external global [27 x sbyte] ; <[27 x sbyte]*> [#uses=0] -%.str_436 = external global [28 x sbyte] ; <[28 x sbyte]*> [#uses=0] -%.str_437 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_438 = external global [38 x sbyte] ; <[38 x sbyte]*> [#uses=0] -%.str_440 = external global [44 x sbyte] ; <[44 x sbyte]*> [#uses=0] -%.str_445 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_446 = external global [26 x sbyte] ; <[26 x sbyte]*> [#uses=0] -%.str_447 = external global [36 x sbyte] ; <[36 x sbyte]*> [#uses=0] -%.str_448 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_449 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_450 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_451 = external global [44 x sbyte] ; <[44 x sbyte]*> [#uses=0] -%.str_452 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_453 = external global [26 x sbyte] ; <[26 x sbyte]*> [#uses=0] -%.str_454 = external global [36 x sbyte] ; <[36 x sbyte]*> [#uses=0] -%.str_455 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_456 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_459 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_460 = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%.str_461 = external global [42 x sbyte] ; <[42 x sbyte]*> [#uses=0] -%.str_462 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_463 = external global [28 x sbyte] ; <[28 x sbyte]*> [#uses=0] -%.str_466 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_467 = external global [35 x sbyte] ; <[35 x sbyte]*> [#uses=0] -%.str_468 = external global [45 x sbyte] ; <[45 x sbyte]*> [#uses=0] -%.str_469 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_470 = external global [31 x sbyte] ; <[31 x sbyte]*> [#uses=0] -%.str_474 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_477 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_480 = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -%.str_483 = external global [19 x sbyte] ; <[19 x sbyte]*> [#uses=0] -%.str_485 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_487 = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%.str_490 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_494 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_495 = external global [33 x sbyte] ; <[33 x sbyte]*> [#uses=0] -%.str_497 = external global [12 x sbyte] ; <[12 x sbyte]*> [#uses=0] -%.str_498 = external global [13 x sbyte] ; <[13 x sbyte]*> [#uses=0] -%.str_507 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_508 = external global [11 x sbyte] ; <[11 x sbyte]*> [#uses=0] -%.str_509 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_510 = external global [37 x sbyte] ; <[37 x sbyte]*> [#uses=0] -%.str_511 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_512 = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%.str_513 = external global [18 x sbyte] ; <[18 x sbyte]*> [#uses=0] -%.str_514 = external global [14 x sbyte] ; <[14 x sbyte]*> [#uses=0] -%.str_515 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_516 = external global [21 x sbyte] ; <[21 x sbyte]*> [#uses=0] -%.str_517 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_519 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.str_520 = external global [21 x sbyte] ; <[21 x sbyte]*> [#uses=0] -%.str_521 = external global [15 x sbyte] ; <[15 x sbyte]*> [#uses=0] -%.str_522 = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -%.str_523 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_524 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_525 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_526 = external global [19 x sbyte] ; <[19 x sbyte]*> [#uses=0] -%.str_527 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] -%.str_528 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_529 = external global [28 x sbyte] ; <[28 x sbyte]*> [#uses=0] -%.str_530 = external global [54 x sbyte] ; <[54 x sbyte]*> [#uses=0] -%.str_531 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_532 = external global [38 x sbyte] ; <[38 x sbyte]*> [#uses=0] -%.str_533 = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%.str_534 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_535 = external global [27 x sbyte] ; <[27 x sbyte]*> [#uses=0] -%.str_536 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_537 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_539 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_540 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_541 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_542 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_543 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_544 = external global [49 x sbyte] ; <[49 x sbyte]*> [#uses=0] -%.str_546 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_550 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_551 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_552 = external global [31 x sbyte] ; <[31 x sbyte]*> [#uses=0] -%.str_553 = external global [52 x sbyte] ; <[52 x sbyte]*> [#uses=0] -%.str_554 = external global [43 x sbyte] ; <[43 x sbyte]*> [#uses=0] -%.str_555 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_556 = external global [26 x sbyte] ; <[26 x sbyte]*> [#uses=0] -%.str_557 = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -%.str_559 = external global [27 x sbyte] ; <[27 x sbyte]*> [#uses=0] -%.str_560 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_562 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_564 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_565 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_567 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_568 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_570 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_571 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_572 = external global [30 x sbyte] ; <[30 x sbyte]*> [#uses=0] -%.str_574 = external global [20 x sbyte] ; <[20 x sbyte]*> [#uses=0] -%.str_576 = external global [21 x sbyte] ; <[21 x sbyte]*> [#uses=0] -%.str_577 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_578 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_579 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_580 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_581 = external global [36 x sbyte] ; <[36 x sbyte]*> [#uses=0] -%.str_582 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_583 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] -%.str_584 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_586 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_587 = external global [28 x sbyte] ; <[28 x sbyte]*> [#uses=0] -%.str_589 = external global [28 x sbyte] ; <[28 x sbyte]*> [#uses=0] -%.str_590 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_591 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_592 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_596 = external global [25 x sbyte] ; <[25 x sbyte]*> [#uses=0] -%.str_597 = external global [27 x sbyte] ; <[27 x sbyte]*> [#uses=0] -%.str_598 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.str_599 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.str_605 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_610 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_613 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_616 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_621 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_622 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] -%.str_623 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_624 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] -%.str_625 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_626 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_628 = external global [30 x sbyte] ; <[30 x sbyte]*> [#uses=0] -%.str_629 = external global [14 x sbyte] ; <[14 x sbyte]*> [#uses=0] -%.str_630 = external global [13 x sbyte] ; <[13 x sbyte]*> [#uses=0] -%.str_631 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] -%.str_632 = external global [14 x sbyte] ; <[14 x sbyte]*> [#uses=0] -%.str_633 = external global [14 x sbyte] ; <[14 x sbyte]*> [#uses=0] -%.str_634 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.str_635 = external global [14 x sbyte] ; <[14 x sbyte]*> [#uses=0] -%.str_636 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.str_637 = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -%.str_639 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_643 = external global [20 x sbyte] ; <[20 x sbyte]*> [#uses=0] -%.str_644 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_645 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_646 = external global [1 x sbyte] ; <[1 x sbyte]*> [#uses=0] -%.str_649 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_654 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=1] -%.str_656 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_658 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_660 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_662 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_664 = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0] -%.str_666 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_667 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_669 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_670 = external global [20 x sbyte] ; <[20 x sbyte]*> [#uses=0] -%.str_671 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_672 = external global [23 x sbyte] ; <[23 x sbyte]*> [#uses=0] -%.str_674 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_675 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_676 = external global [30 x sbyte] ; <[30 x sbyte]*> [#uses=0] -%.str_680 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_682 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_683 = external global [37 x sbyte] ; <[37 x sbyte]*> [#uses=0] -%.str_684 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_685 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_686 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_687 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_688 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_689 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_690 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_691 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_692 = external global [20 x sbyte] ; <[20 x sbyte]*> [#uses=0] -%.str_694 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_695 = external global [19 x sbyte] ; <[19 x sbyte]*> [#uses=0] -%.str_697 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_698 = external global [28 x sbyte] ; <[28 x sbyte]*> [#uses=0] -%.str_700 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_701 = external global [19 x sbyte] ; <[19 x sbyte]*> [#uses=0] -%.str_702 = external global [26 x sbyte] ; <[26 x sbyte]*> [#uses=0] -%.str_703 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_704 = external global [25 x sbyte] ; <[25 x sbyte]*> [#uses=0] -%.str_707 = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=0] -%.str_708 = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -%.str_709 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_710 = external global [20 x sbyte] ; <[20 x sbyte]*> [#uses=0] -%.str_711 = external global [37 x sbyte] ; <[37 x sbyte]*> [#uses=0] -%.str_722 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_723 = external global [34 x sbyte] ; <[34 x sbyte]*> [#uses=0] -%.str_726 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_727 = external global [23 x sbyte] ; <[23 x sbyte]*> [#uses=0] -%.str_728 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_729 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_730 = external global [12 x sbyte] ; <[12 x sbyte]*> [#uses=0] -%.str_732 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_734 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_735 = external global [28 x sbyte] ; <[28 x sbyte]*> [#uses=0] -%.str_736 = external global [61 x sbyte] ; <[61 x sbyte]*> [#uses=0] -%.str_738 = external global [25 x sbyte] ; <[25 x sbyte]*> [#uses=0] -%.str_739 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_740 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_741 = external global [25 x sbyte] ; <[25 x sbyte]*> [#uses=0] -%.str_742 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_743 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_744 = external global [31 x sbyte] ; <[31 x sbyte]*> [#uses=0] -%.str_745 = external global [42 x sbyte] ; <[42 x sbyte]*> [#uses=0] -%.str_747 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_748 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_750 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -"text_move.0__" = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -"new_text.1__" = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_1 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -"text_move.2__" = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_1 = external global [15 x sbyte] ; <[15 x sbyte]*> [#uses=0] -%.str_2 = external global [19 x sbyte] ; <[19 x sbyte]*> [#uses=0] -%.str_3 = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -%.str_130 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_231 = external global [47 x sbyte] ; <[47 x sbyte]*> [#uses=0] -%.str_3 = external global [27 x sbyte] ; <[27 x sbyte]*> [#uses=0] -%.str_4 = external global [27 x sbyte] ; <[27 x sbyte]*> [#uses=0] -%.str_7 = external global [30 x sbyte] ; <[30 x sbyte]*> [#uses=0] -"hashing_pawns.0__" = external global int ; <int*> [#uses=0] -"hashing_opening.1__" = external global int ; <int*> [#uses=0] -"hashing_middle_game.2__" = external global int ; <int*> [#uses=0] -"hashing_end_game.3__" = external global int ; <int*> [#uses=0] -"last_wtm.4__" = external global int ; <int*> [#uses=0] -%.str_1 = external global [37 x sbyte] ; <[37 x sbyte]*> [#uses=0] -%.str_1 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_1 = external global [19 x sbyte] ; <[19 x sbyte]*> [#uses=0] -%.str_2 = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -%.str_3 = external global [30 x sbyte] ; <[30 x sbyte]*> [#uses=0] -%.str_4 = external global [30 x sbyte] ; <[30 x sbyte]*> [#uses=0] -%.str_5 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_6 = external global [25 x sbyte] ; <[25 x sbyte]*> [#uses=0] -%.str_7 = external global [14 x sbyte] ; <[14 x sbyte]*> [#uses=0] -%.str_934 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_1 = external global [28 x sbyte] ; <[28 x sbyte]*> [#uses=0] -%.str_3 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_1 = external global [38 x sbyte] ; <[38 x sbyte]*> [#uses=0] -%.str_2 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_4 = external global [28 x sbyte] ; <[28 x sbyte]*> [#uses=0] -%.str_5 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_1 = external global [11 x sbyte] ; <[11 x sbyte]*> [#uses=0] -%.str_2 = external global [27 x sbyte] ; <[27 x sbyte]*> [#uses=0] -%.str_7 = external global [29 x sbyte] ; <[29 x sbyte]*> [#uses=0] -%.str_10 = external global [34 x sbyte] ; <[34 x sbyte]*> [#uses=0] -%.str_1141 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_12 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_14 = external global [20 x sbyte] ; <[20 x sbyte]*> [#uses=0] -%.str_1542 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.ctor_1 = external global [25 x sbyte] ; <[25 x sbyte]*> [#uses=0] -%.str_1 = external global [33 x sbyte] ; <[33 x sbyte]*> [#uses=0] -%.str_3 = external global [21 x sbyte] ; <[21 x sbyte]*> [#uses=0] -%.str_4 = external global [25 x sbyte] ; <[25 x sbyte]*> [#uses=0] -%.str_5 = external global [26 x sbyte] ; <[26 x sbyte]*> [#uses=0] -%.str_6 = external global [55 x sbyte] ; <[55 x sbyte]*> [#uses=0] -%.str_143 = external global [33 x sbyte] ; <[33 x sbyte]*> [#uses=0] -%.str_2 = external global [15 x sbyte] ; <[15 x sbyte]*> [#uses=0] -%.str_1 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_2 = external global [51 x sbyte] ; <[51 x sbyte]*> [#uses=0] -%bit_move44 = external global ulong ; <ulong*> [#uses=0] -%.str_1 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_248 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_349 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.ctor_1 = external global [46 x sbyte] ; <[46 x sbyte]*> [#uses=0] -%.str_5 = external global [43 x sbyte] ; <[43 x sbyte]*> [#uses=0] -%.str_6 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_751 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_852 = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%.str_9 = external global [42 x sbyte] ; <[42 x sbyte]*> [#uses=0] -%.str_10 = external global [41 x sbyte] ; <[41 x sbyte]*> [#uses=0] -"out.0__" = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_1153 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_12 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_13 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_14 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_15 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_16 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_17 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -"out.1__" = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_18 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_19 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_20 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_21 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_2254 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_2355 = external global [8 x sbyte] ; <[8 x sbyte]*> [#uses=0] -%.str_24 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] -%.str_25 = external global [45 x sbyte] ; <[45 x sbyte]*> [#uses=0] -%.str_26 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] -"out.2__" = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_31 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -"out.3__" = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -"out.4__" = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_3457 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_35 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_36 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_37 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_41 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_45 = external global [55 x sbyte] ; <[55 x sbyte]*> [#uses=0] -"save_book_selection_width.5__" = external global int ; <int*> [#uses=0] -"save_book_random.6__" = external global int ; <int*> [#uses=0] -"save_whisper.7__" = external global int ; <int*> [#uses=0] -"save_kibitz.8__" = external global int ; <int*> [#uses=0] -"save_channel.9__" = external global int ; <int*> [#uses=0] -"save_resign.10" = external global int ; <int*> [#uses=0] -"save_resign_count.11" = external global int ; <int*> [#uses=0] -"save_draw_count.12" = external global int ; <int*> [#uses=0] -"save_learning.13" = external global int ; <int*> [#uses=0] -%.str_49 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_51 = external global [44 x sbyte] ; <[44 x sbyte]*> [#uses=0] -"x.14" = external global [55 x uint] ; <[55 x uint]*> [#uses=0] -"init.15.b" = external global bool ; <bool*> [#uses=0] -"y.16" = external global [55 x uint] ; <[55 x uint]*> [#uses=0] -"j.17" = external global int ; <int*> [#uses=0] -"k.18" = external global int ; <int*> [#uses=0] -%.str_52 = external global [50 x sbyte] ; <[50 x sbyte]*> [#uses=0] -"text.19" = external global [128 x sbyte] ; <[128 x sbyte]*> [#uses=0] -%.str_5659 = external global [12 x sbyte] ; <[12 x sbyte]*> [#uses=0] -%.str_62 = external global [14 x sbyte] ; <[14 x sbyte]*> [#uses=0] -%.str_6662 = external global [5 x sbyte] ; <[5 x sbyte]*> [#uses=0] -%.str_68 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_69 = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -%.str_70 = external global [16 x sbyte] ; <[16 x sbyte]*> [#uses=0] -%.str_72 = external global [35 x sbyte] ; <[35 x sbyte]*> [#uses=0] -%.str_74 = external global [23 x sbyte] ; <[23 x sbyte]*> [#uses=0] -%.str_76 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] -%.str_78 = external global [57 x sbyte] ; <[57 x sbyte]*> [#uses=0] -%.str_80 = external global [45 x sbyte] ; <[45 x sbyte]*> [#uses=0] -%.str_82 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_84 = external global [10 x sbyte] ; <[10 x sbyte]*> [#uses=0] -%.str_86 = external global [19 x sbyte] ; <[19 x sbyte]*> [#uses=0] -%.str_88 = external global [7 x sbyte] ; <[7 x sbyte]*> [#uses=0] -%.str_90 = external global [31 x sbyte] ; <[31 x sbyte]*> [#uses=0] -%.str_92 = external global [19 x sbyte] ; <[19 x sbyte]*> [#uses=0] -%.str_94 = external global [30 x sbyte] ; <[30 x sbyte]*> [#uses=0] -%.str_95 = external global [48 x sbyte] ; <[48 x sbyte]*> [#uses=0] -%.str_97 = external global [18 x sbyte] ; <[18 x sbyte]*> [#uses=0] -%.str_98 = external global [36 x sbyte] ; <[36 x sbyte]*> [#uses=0] -%.str_100 = external global [22 x sbyte] ; <[22 x sbyte]*> [#uses=0] -%.str_163 = external global [38 x sbyte] ; <[38 x sbyte]*> [#uses=0] -%.str_2 = external global [38 x sbyte] ; <[38 x sbyte]*> [#uses=0] -%.str_3 = external global [50 x sbyte] ; <[50 x sbyte]*> [#uses=0] -%.str_4 = external global [50 x sbyte] ; <[50 x sbyte]*> [#uses=0] -%.str_5 = external global [51 x sbyte] ; <[51 x sbyte]*> [#uses=0] -%.str_6 = external global [30 x sbyte] ; <[30 x sbyte]*> [#uses=0] -%.str_7 = external global [28 x sbyte] ; <[28 x sbyte]*> [#uses=0] -%.str_8 = external global [33 x sbyte] ; <[33 x sbyte]*> [#uses=0] -%.str_9 = external global [54 x sbyte] ; <[54 x sbyte]*> [#uses=0] -%.str_10 = external global [47 x sbyte] ; <[47 x sbyte]*> [#uses=0] -%.str_11 = external global [46 x sbyte] ; <[46 x sbyte]*> [#uses=0] -%.str_12 = external global [47 x sbyte] ; <[47 x sbyte]*> [#uses=0] -%.str_13 = external global [46 x sbyte] ; <[46 x sbyte]*> [#uses=0] -%.str_14 = external global [35 x sbyte] ; <[35 x sbyte]*> [#uses=0] -%.str_15 = external global [36 x sbyte] ; <[36 x sbyte]*> [#uses=0] -%.str_16 = external global [35 x sbyte] ; <[35 x sbyte]*> [#uses=0] -%.str_17 = external global [36 x sbyte] ; <[36 x sbyte]*> [#uses=0] -%.str_18 = external global [35 x sbyte] ; <[35 x sbyte]*> [#uses=0] -%.str_19 = external global [41 x sbyte] ; <[41 x sbyte]*> [#uses=0] -%.str_20 = external global [36 x sbyte] ; <[36 x sbyte]*> [#uses=0] -%.str_22 = external global [35 x sbyte] ; <[35 x sbyte]*> [#uses=0] -%.str_23 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_24 = external global [36 x sbyte] ; <[36 x sbyte]*> [#uses=0] -%.str_26 = external global [35 x sbyte] ; <[35 x sbyte]*> [#uses=0] -%.str_27 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_28 = external global [36 x sbyte] ; <[36 x sbyte]*> [#uses=0] -%.str_30 = external global [35 x sbyte] ; <[35 x sbyte]*> [#uses=0] -%.str_31 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_32 = external global [36 x sbyte] ; <[36 x sbyte]*> [#uses=0] -%.str_33 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_34 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_3565 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_36 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_37 = external global [41 x sbyte] ; <[41 x sbyte]*> [#uses=0] -%.str_38 = external global [41 x sbyte] ; <[41 x sbyte]*> [#uses=0] -%.str_39 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_40 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_41 = external global [40 x sbyte] ; <[40 x sbyte]*> [#uses=0] -%.str_42 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_43 = external global [41 x sbyte] ; <[41 x sbyte]*> [#uses=0] -%.str_44 = external global [41 x sbyte] ; <[41 x sbyte]*> [#uses=0] -%.str_45 = external global [39 x sbyte] ; <[39 x sbyte]*> [#uses=0] -%.str_46 = external global [35 x sbyte] ; <[35 x sbyte]*> [#uses=0] -%.str_47 = external global [50 x sbyte] ; <[50 x sbyte]*> [#uses=0] -%.str_48 = external global [26 x sbyte] ; <[26 x sbyte]*> [#uses=0] -%.str_49 = external global [31 x sbyte] ; <[31 x sbyte]*> [#uses=0] -%.str_50 = external global [15 x sbyte] ; <[15 x sbyte]*> [#uses=0] -%.str_51 = external global [6 x sbyte] ; <[6 x sbyte]*> [#uses=0] -%.str_52 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] -%.str_53 = external global [9 x sbyte] ; <[9 x sbyte]*> [#uses=0] - -implementation ; Functions: - -declare ulong %AttacksFrom(int, int) - -declare ulong %AttacksTo(int) - -declare int %Attacked(int, int) - -declare ulong %Mask(int) - -declare int %PopCnt(ulong) - -declare int %FirstOne(ulong) - -declare int %LastOne(ulong) - -declare int %DrawScore() - -declare int %Drawn(int) - -declare sbyte* %strchr(sbyte*, int) - -declare int %strcmp(sbyte*, sbyte*) - -declare uint %strlen(sbyte*) - -declare int %printf(sbyte*, ...) - -declare void %Edit() - -declare void %llvm.memcpy(sbyte*, sbyte*, uint, uint) - -declare int %fflush(%struct.__sFILE*) - -declare int %Read(int, sbyte*) - -declare int %ReadParse(sbyte*, sbyte**, sbyte*) - -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 void %SetChessBitBoards(%typedef.SEARCH_POSITION*) - -declare int %EnPrise(int, int) - -declare ulong %SwapXray(ulong, int, int) - -declare int %Evaluate(int, int, int, int) - -declare int %EvaluateMate() - -declare int %EvaluatePawns() - -declare int %EvaluatePassedPawns() - -declare int %EvaluatePassedPawnRaces(int) - -declare int %Swap(int, int, int) - -declare int %EvaluateDevelopment(int) - -declare int %EvaluateDraws() - -declare int %HasOpposition(int, int, int) - -declare void %HistoryBest(int, int, int) - -declare void %HistoryRefutation(int, int, int) - -declare int %sprintf(sbyte*, sbyte*, ...) - -declare void %Initialize(int) - -declare void %InitializeZeroMasks() - -declare void %InitializeMasks() - -declare void %InitializeRandomHash() - -declare void %InitializeAttackBoards() - -declare void %InitializePawnMasks() - -declare void %InitializePieceMasks() - -declare void %InitializeChessBoard(%typedef.SEARCH_POSITION*) - -declare %struct.__sFILE* %fopen(sbyte*, sbyte*) - -int %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] - 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 - -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 - -then.358: ; preds = %then.357 - ret int 0 - -endif.358: ; preds = %then.357 - br bool %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 - -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 - -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 - -loopexit.56: ; preds = %else.166, %else.168, %then.360 - br bool %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 - -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 -} - -declare void %InitializeHashTables() - -declare int %InitializeFindAttacks(int, int, int) - -declare void %SetBoard(int, sbyte**, int) - -declare int %KingPawnSquare(int, int, int, int) - -declare ulong %Random64() - -declare uint %Random32() - -declare sbyte* %strcpy(sbyte*, sbyte*) - -declare int %InputMove(sbyte*, int, int, int, int) - -declare int %InputMoveICS(sbyte*, int, int, int, int) - -declare int* %GenerateCaptures(int, int, int*) - -declare int* %GenerateNonCaptures(int, int, int*) - -declare void %MakeMove(int, int, int) - -declare void %UnMakeMove(int, int, int) - -declare void %Interrupt(int) - -declare uint %GetTime(uint) - -declare sbyte* %DisplayTime(uint) - -declare sbyte* %OutputMoveICS(int*) - -declare void %Delay(int) - -declare int %fprintf(%struct.__sFILE*, sbyte*, ...) - -declare void %SignalInterrupt(int) - -declare void (int)* %signal(int, void (int)*) - -declare int %Iterate(int, int, int) - -declare void %PreEvaluate(int) - -declare void %RootMoveList(int) - -declare sbyte* %OutputMove(int*, int, int) - -declare void %TimeSet(int) - -declare void %StorePV(int, int) - -declare int %SearchRoot(int, int, int, int) - -declare void %Whisper(int, int, int, int, uint, int, sbyte*) - -declare sbyte* %DisplayEvaluation(int) - -declare int %LookUp(int, int, int, int*, int*) - -declare sbyte* %strstr(sbyte*, sbyte*) - -declare int %main(int, sbyte**) - -declare void %__main() - -declare int %atoi(sbyte*) - -declare void %NewGame(int) - -declare int %Ponder(int) - -declare int %fseek(%struct.__sFILE*, int, int) - -declare void %MakeMoveRoot(int, int) - -declare int %RepetitionDraw(int) - -declare sbyte* %Reverse() - -declare sbyte* %Normal() - -declare void %TimeAdjust(int, uint) - -declare void %ValidatePosition(int, int, sbyte*) - -declare int %ValidMove(int, int, int) - -declare int* %GenerateCheckEvasions(int, int, int*) - -declare ulong %InterposeSquares(int, int, int) - -declare int %PinnedOnKing(int, int) - -declare int %NextMove(int, int) - -declare int %NextEvasion(int, int) - -declare int %NextRootMove(int) - -declare int %TimeCheck(int) - -declare int %strncmp(sbyte*, sbyte*, uint) - -declare void %exit(int) - -declare int %OptionMatch(sbyte*, sbyte*) - -declare int %fclose(%struct.__sFILE*) - -declare int %ParseTime(sbyte*) - -declare sbyte* %DisplayHHMM(uint) - -declare void %DisplayPieceBoards(int*, int*) - -declare int %fscanf(%struct.__sFILE*, sbyte*, ...) - -declare int %feof(%struct.__sFILE*) - -declare sbyte* %fgets(sbyte*, int, %struct.__sFILE*) - -declare int %remove(sbyte*) - -declare int %__tolower(int) - -declare uint %clock() - -declare void %OptionPerft(int, int, int) - -declare void %Phase() - -declare int %ReadNextMove(sbyte*, int, int) - -declare int %time(int*) - -declare %struct.tm* %localtime(int*) - -declare sbyte* %gets(sbyte*) - -declare int %OutputGood(sbyte*, int, int) - -declare int %CheckInput() - -declare void %ClearHashTables() - -declare int %Quiesce(int, int, int, int) - -declare void %SearchTrace(int, int, int, int, int, sbyte*, int) - -declare int %RepetitionCheck(int, int) - -declare void %ResignOrDraw(int, int) - -declare int %Search(int, int, int, int, int, int) - -declare void %StoreRefutation(int, int, int, int) - -declare void %StoreBest(int, int, int, int, int) - -declare void %SearchOutput(int, int) - -declare uint %strspn(sbyte*, sbyte*) - -declare int %isatty(int) - -declare int %fileno(%struct.__sFILE*) - -declare void %llvm.memset(sbyte*, ubyte, uint, uint) - -declare int %select(int, %struct.fd_set*, %struct.fd_set*, %struct.fd_set*, %struct.timeval*) - -declare void %DisplayBitBoard(ulong) - -declare sbyte* %DisplayEvaluationWhisper(int) - -declare sbyte* %DisplayTimeWhisper(uint) - -declare void %Display64bitWord(ulong) - -declare void %Display2BitBoards(ulong, ulong) - -declare void %DisplayChessMove(sbyte*, int) - -declare void %llvm.memmove(sbyte*, sbyte*, uint, uint) - -declare void %ReadClear() - -declare sbyte* %strtok(sbyte*, sbyte*) - -declare int %SpecReadRaw() - -declare int %read(int, sbyte*, uint) - -declare int* %__error() - -declare int %ReadChessMove(%struct.__sFILE*, int, int) - -declare ulong %ValidateComputeBishopAttacks(int) - -declare ulong %ValidateComputeRookAttacks(int) - -declare sbyte* %memchr(sbyte*, int, uint) - -declare uint %fwrite(sbyte*, uint, uint, %struct.__sFILE*) diff --git a/llvm/test/Regression/Transforms/LoopUnswitch/2006-02-22-UnswitchCrash.ll b/llvm/test/Regression/Transforms/LoopUnswitch/2006-02-22-UnswitchCrash.ll deleted file mode 100644 index 469c6d755a5..00000000000 --- a/llvm/test/Regression/Transforms/LoopUnswitch/2006-02-22-UnswitchCrash.ll +++ /dev/null @@ -1,42 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-unswitch -disable-output - -void %sort_Eq(int * %S2) { -entry: - br bool 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 - -cond_true.i5: ; preds = %list_Length.exit - ret void - -list_Length.exit9: ; preds = %list_Length.exit - br bool false, label %bb78, label %return - -bb44: ; preds = %bb78, %cond_next68 - br bool %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 - -cond_next68: ; preds = %bb62 - br bool false, label %return.loopexit, label %bb44 - -bb78: ; preds = %list_Length.exit9 - %tmp49.not = seteq int* %S2, null ; <bool> [#uses=1] - br label %bb44 - -return.loopexit: ; preds = %cond_next68, %bb62 - %retval.0.ph = phi uint [ 1, %cond_next68 ], [ 0, %bb62 ] ; <uint> [#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] - ret void -} diff --git a/llvm/test/Regression/Transforms/LoopUnswitch/2006-06-13-SingleEntryPHI.ll b/llvm/test/Regression/Transforms/LoopUnswitch/2006-06-13-SingleEntryPHI.ll deleted file mode 100644 index 072ad20967d..00000000000 --- a/llvm/test/Regression/Transforms/LoopUnswitch/2006-06-13-SingleEntryPHI.ll +++ /dev/null @@ -1,44 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | 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.anon = type { float, [3 x double] } - -implementation ; Functions: - -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] - 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 - -cond_true1099: ; preds = %bb1096 - switch int 0, label %bb1096.outer20.loopexit [ - int 161, label %bb671 - int 359, label %bb1096 - ] - -bb1102: ; preds = %bb1096 - %Local_Turb.0.ph24.lcssa1 = phi %struct.TURB* [ %Local_Turb.0.ph24, %bb1096 ] ; <%struct.TURB*> [#uses=0] - ret void -} diff --git a/llvm/test/Regression/Transforms/LoopUnswitch/2006-06-27-DeadSwitchCase.ll b/llvm/test/Regression/Transforms/LoopUnswitch/2006-06-27-DeadSwitchCase.ll deleted file mode 100644 index 0d5a452da20..00000000000 --- a/llvm/test/Regression/Transforms/LoopUnswitch/2006-06-27-DeadSwitchCase.ll +++ /dev/null @@ -1,31 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-unswitch -disable-output -implementation ; Functions: - -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] - br label %bb54 - -bb54: ; preds = %cond_true78, %bb31 - br bool 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 - ] - -bb75: ; preds = %bb54 - %tmp74.0 = add int %i.0.0, 1 ; <int> [#uses=1] - br label %cond_true78 - -cond_true78: ; preds = %bb75, %entry - %i.0.0 = phi int [ 0, %entry ], [ %tmp74.0, %bb75 ] ; <int> [#uses=2] - br label %bb54 -} diff --git a/llvm/test/Regression/Transforms/LoopUnswitch/basictest.ll b/llvm/test/Regression/Transforms/LoopUnswitch/basictest.ll deleted file mode 100644 index c0c14b95007..00000000000 --- a/llvm/test/Regression/Transforms/LoopUnswitch/basictest.ll +++ /dev/null @@ -1,35 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-unswitch -disable-output -implementation ; Functions: - -int %test(int* %A, bool %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 - -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] - 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 -} diff --git a/llvm/test/Regression/Transforms/LoopUnswitch/dg.exp b/llvm/test/Regression/Transforms/LoopUnswitch/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/LoopUnswitch/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/LowerInvoke/.cvsignore b/llvm/test/Regression/Transforms/LowerInvoke/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/LowerInvoke/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/LowerInvoke/2003-12-10-Crash.llx b/llvm/test/Regression/Transforms/LowerInvoke/2003-12-10-Crash.llx deleted file mode 100644 index 495099ae944..00000000000 --- a/llvm/test/Regression/Transforms/LowerInvoke/2003-12-10-Crash.llx +++ /dev/null @@ -1,24 +0,0 @@ -; This testcase was reduced from Shootout-C++/reversefile.cpp by bugpoint - -; RUN: llvm-upgrade < %s | llvm-as | opt -lowerinvoke -disable-output - -declare void %baz() - -declare void %bar() - -void %foo() { -then: ; preds = %entry - invoke void %baz( ) - to label %invoke_cont.0 except 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 ] - ret void - -try_exit: ; preds = %invoke_cont.0 - ret void -} diff --git a/llvm/test/Regression/Transforms/LowerInvoke/2004-02-29-PHICrash.llx b/llvm/test/Regression/Transforms/LowerInvoke/2004-02-29-PHICrash.llx deleted file mode 100644 index 90182574e0b..00000000000 --- a/llvm/test/Regression/Transforms/LowerInvoke/2004-02-29-PHICrash.llx +++ /dev/null @@ -1,16 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -lowerinvoke -enable-correct-eh-support -disable-output - -void %_ZNKSt11__use_cacheISt16__numpunct_cacheIcEEclERKSt6locale() { -entry: - br bool false, label %then, label %UnifiedReturnBlock - -then: ; preds = %entry - invoke void %_Znwj( ) - to label %UnifiedReturnBlock unwind label %UnifiedReturnBlock - -UnifiedReturnBlock: ; preds = %entry, %then, %then - %UnifiedRetVal = phi int* [ null, %entry ], [ null, %then ], [ null, %then ] - ret void -} - -declare void %_Znwj() diff --git a/llvm/test/Regression/Transforms/LowerInvoke/2005-08-03-InvokeWithPHI.ll b/llvm/test/Regression/Transforms/LowerInvoke/2005-08-03-InvokeWithPHI.ll deleted file mode 100644 index 51f3fb2a029..00000000000 --- a/llvm/test/Regression/Transforms/LowerInvoke/2005-08-03-InvokeWithPHI.ll +++ /dev/null @@ -1,20 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -lowerinvoke -enable-correct-eh-support -disable-output - -implementation ; Functions: - -declare void %ll_listnext__listiterPtr() - -void %WorkTask.fn() { -block0: - 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] - ret void -} diff --git a/llvm/test/Regression/Transforms/LowerInvoke/2005-08-03-InvokeWithPHIUse.ll b/llvm/test/Regression/Transforms/LowerInvoke/2005-08-03-InvokeWithPHIUse.ll deleted file mode 100644 index 636625743a5..00000000000 --- a/llvm/test/Regression/Transforms/LowerInvoke/2005-08-03-InvokeWithPHIUse.ll +++ /dev/null @@ -1,16 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -lowerinvoke -enable-correct-eh-support -disable-output - -declare fastcc int %ll_listnext__listiterPtr() - -fastcc int %WorkTask.fn() { -block0: - %v2679 = invoke fastcc int %ll_listnext__listiterPtr( ) - to label %block9 unwind label %block8_exception_handling ; <int> [#uses=1] - -block8_exception_handling: ; preds = %block0 - ret int 0 - -block9: ; preds = %block0 - %i_2689 = phi int [ %v2679, %block0 ] ; <int> [#uses=0] - ret int %i_2689 -} diff --git a/llvm/test/Regression/Transforms/LowerInvoke/basictest.ll b/llvm/test/Regression/Transforms/LowerInvoke/basictest.ll deleted file mode 100644 index 4150ad3efbd..00000000000 --- a/llvm/test/Regression/Transforms/LowerInvoke/basictest.ll +++ /dev/null @@ -1,28 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -lowerinvoke -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | 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 -} - -int %bar(int %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 -} diff --git a/llvm/test/Regression/Transforms/LowerInvoke/dg.exp b/llvm/test/Regression/Transforms/LowerInvoke/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/LowerInvoke/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/LowerSetJmp/.cvsignore b/llvm/test/Regression/Transforms/LowerSetJmp/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/LowerSetJmp/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/LowerSetJmp/2003-11-05-DominanceProperties.ll b/llvm/test/Regression/Transforms/LowerSetJmp/2003-11-05-DominanceProperties.ll deleted file mode 100644 index 4eb21336287..00000000000 --- a/llvm/test/Regression/Transforms/LowerSetJmp/2003-11-05-DominanceProperties.ll +++ /dev/null @@ -1,16 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -lowersetjmp -disable-output - %struct.jmpenv = type { int, sbyte } - -implementation - -declare void %Perl_sv_setpv() -declare int %llvm.setjmp(int *) - -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 - ret void -} - diff --git a/llvm/test/Regression/Transforms/LowerSetJmp/dg.exp b/llvm/test/Regression/Transforms/LowerSetJmp/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/LowerSetJmp/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/LowerSetJmp/simpletest.ll b/llvm/test/Regression/Transforms/LowerSetJmp/simpletest.ll deleted file mode 100644 index d749d5ff134..00000000000 --- a/llvm/test/Regression/Transforms/LowerSetJmp/simpletest.ll +++ /dev/null @@ -1,32 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -lowersetjmp | llvm-dis | grep invoke - -%JmpBuf = type int -%.str_1 = internal constant [13 x sbyte] c"returned %d\0A\00" - -implementation - -declare void %llvm.longjmp(%JmpBuf *%B, int %Val) -declare int %llvm.setjmp(%JmpBuf *%B) - -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 -} - -declare int %printf(sbyte*, ...) - -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 -} diff --git a/llvm/test/Regression/Transforms/LowerSwitch/.cvsignore b/llvm/test/Regression/Transforms/LowerSwitch/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/LowerSwitch/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/LowerSwitch/2003-05-01-PHIProblem.ll b/llvm/test/Regression/Transforms/LowerSwitch/2003-05-01-PHIProblem.ll deleted file mode 100644 index 0ff1f5c6d50..00000000000 --- a/llvm/test/Regression/Transforms/LowerSwitch/2003-05-01-PHIProblem.ll +++ /dev/null @@ -1,17 +0,0 @@ -; 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 -} - diff --git a/llvm/test/Regression/Transforms/LowerSwitch/2003-08-23-EmptySwitch.ll b/llvm/test/Regression/Transforms/LowerSwitch/2003-08-23-EmptySwitch.ll deleted file mode 100644 index a193cd4645e..00000000000 --- a/llvm/test/Regression/Transforms/LowerSwitch/2003-08-23-EmptySwitch.ll +++ /dev/null @@ -1,7 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -lowerswitch - -void %test() { - switch uint 0, label %Next [] -Next: - ret void -} diff --git a/llvm/test/Regression/Transforms/LowerSwitch/2004-03-13-SwitchIsDefaultCrash.ll b/llvm/test/Regression/Transforms/LowerSwitch/2004-03-13-SwitchIsDefaultCrash.ll deleted file mode 100644 index 1cbe8535571..00000000000 --- a/llvm/test/Regression/Transforms/LowerSwitch/2004-03-13-SwitchIsDefaultCrash.ll +++ /dev/null @@ -1,21 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -lowerswitch -disable-output - -void %solve() { -entry: - %targetBlock = call ushort %solve_code( ) ; <ushort> [#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 - ] -} - -declare ushort %solve_code() diff --git a/llvm/test/Regression/Transforms/LowerSwitch/dg.exp b/llvm/test/Regression/Transforms/LowerSwitch/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/LowerSwitch/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/Mem2Reg/.cvsignore b/llvm/test/Regression/Transforms/Mem2Reg/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/Mem2Reg/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/Mem2Reg/2002-03-28-UninitializedVal.ll b/llvm/test/Regression/Transforms/Mem2Reg/2002-03-28-UninitializedVal.ll deleted file mode 100644 index b2776592a9c..00000000000 --- a/llvm/test/Regression/Transforms/Mem2Reg/2002-03-28-UninitializedVal.ll +++ /dev/null @@ -1,13 +0,0 @@ -; Uninitialized values are not handled correctly. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -mem2reg -; - -implementation - -int "test"() -begin - %X = alloca int ; To be promoted - %Y = load int* %X - ret int %Y -end diff --git a/llvm/test/Regression/Transforms/Mem2Reg/2002-05-01-ShouldNotPromoteThisAlloca.ll b/llvm/test/Regression/Transforms/Mem2Reg/2002-05-01-ShouldNotPromoteThisAlloca.ll deleted file mode 100644 index c3d803c34fb..00000000000 --- a/llvm/test/Regression/Transforms/Mem2Reg/2002-05-01-ShouldNotPromoteThisAlloca.ll +++ /dev/null @@ -1,15 +0,0 @@ -; This input caused the mem2reg pass to die because it was trying to promote -; the %r alloca, even though it is invalid to do so in this case! -; -; RUN: llvm-upgrade < %s | llvm-as | opt -mem2reg - - -implementation - -void "test"() -begin - %r = alloca int ; <int*> [#uses=2] - store int 4, int* %r - store int* %r, int** null - ret void -end diff --git a/llvm/test/Regression/Transforms/Mem2Reg/2003-04-10-DFNotFound.ll b/llvm/test/Regression/Transforms/Mem2Reg/2003-04-10-DFNotFound.ll deleted file mode 100644 index 918431adf1d..00000000000 --- a/llvm/test/Regression/Transforms/Mem2Reg/2003-04-10-DFNotFound.ll +++ /dev/null @@ -1,11 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -mem2reg - -implementation ; Functions: - -void %_Z3barv() { - %result = alloca int - ret void - - store int 0, int* %result ; DF not set! - ret void -} diff --git a/llvm/test/Regression/Transforms/Mem2Reg/2003-04-18-DeadBlockProblem.ll b/llvm/test/Regression/Transforms/Mem2Reg/2003-04-18-DeadBlockProblem.ll deleted file mode 100644 index d6f1b779e19..00000000000 --- a/llvm/test/Regression/Transforms/Mem2Reg/2003-04-18-DeadBlockProblem.ll +++ /dev/null @@ -1,17 +0,0 @@ -; This testcases makes sure that mem2reg can handle unreachable blocks. -; RUN: llvm-upgrade < %s | llvm-as | opt -mem2reg - -int %test() { - %X = alloca int - - store int 6, int* %X - br label %Loop -Loop: - store int 5, int* %X - br label %EndOfLoop -Unreachable: - br label %EndOfLoop - -EndOfLoop: - br label %Loop -} diff --git a/llvm/test/Regression/Transforms/Mem2Reg/2003-04-24-MultipleIdenticalSuccessors.ll b/llvm/test/Regression/Transforms/Mem2Reg/2003-04-24-MultipleIdenticalSuccessors.ll deleted file mode 100644 index 7cd38c2f0c6..00000000000 --- a/llvm/test/Regression/Transforms/Mem2Reg/2003-04-24-MultipleIdenticalSuccessors.ll +++ /dev/null @@ -1,15 +0,0 @@ -; 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 - -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 -} diff --git a/llvm/test/Regression/Transforms/Mem2Reg/2003-06-26-IterativePromote.ll b/llvm/test/Regression/Transforms/Mem2Reg/2003-06-26-IterativePromote.ll deleted file mode 100644 index ce274fa327e..00000000000 --- a/llvm/test/Regression/Transforms/Mem2Reg/2003-06-26-IterativePromote.ll +++ /dev/null @@ -1,16 +0,0 @@ -; Promoting some values allows promotion of other values. -; RUN: llvm-upgrade < %s | llvm-as | 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 -} - diff --git a/llvm/test/Regression/Transforms/Mem2Reg/2003-10-05-DeadPHIInsertion.ll b/llvm/test/Regression/Transforms/Mem2Reg/2003-10-05-DeadPHIInsertion.ll deleted file mode 100644 index ab4b6619dc8..00000000000 --- a/llvm/test/Regression/Transforms/Mem2Reg/2003-10-05-DeadPHIInsertion.ll +++ /dev/null @@ -1,21 +0,0 @@ -; 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 - -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) - br label %L3 -L2: - %E = load int* %A - call void %test(int %E, bool true) - br label %L3 -L3: - ret void -} diff --git a/llvm/test/Regression/Transforms/Mem2Reg/2005-06-30-ReadBeforeWrite.ll b/llvm/test/Regression/Transforms/Mem2Reg/2005-06-30-ReadBeforeWrite.ll deleted file mode 100644 index c64d848a61b..00000000000 --- a/llvm/test/Regression/Transforms/Mem2Reg/2005-06-30-ReadBeforeWrite.ll +++ /dev/null @@ -1,51 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -mem2reg -instcombine | llvm-dis | grep store -; PR590 - -void %zero(sbyte* %p, int %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 - 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 - -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 - -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 - 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 - br label %loopentry - -return: ; preds = %loopentry - ret void -} diff --git a/llvm/test/Regression/Transforms/Mem2Reg/2005-11-28-Crash.ll b/llvm/test/Regression/Transforms/Mem2Reg/2005-11-28-Crash.ll deleted file mode 100644 index 01e8b851be3..00000000000 --- a/llvm/test/Regression/Transforms/Mem2Reg/2005-11-28-Crash.ll +++ /dev/null @@ -1,88 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -mem2reg -disable-output -; PR670 - -void %printk(int, ...) { -entry: - %flags = alloca uint ; <uint*> [#uses=2] - br bool 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 - br label %loopentry - -loopentry: ; preds = %endif.3, %endif.0 - br bool false, label %no_exit, label %loopexit - -no_exit: ; preds = %loopentry - br bool false, label %then.1, label %endif.1 - -then.1: ; preds = %no_exit - br bool 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 - -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 - -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 - -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 - -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] - 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 - -then.5: ; preds = %endif.4 - br label %endif.5 - -else: ; preds = %endif.4 - br label %endif.5 - -endif.5: ; preds = %else, %then.5 - br label %out - -out: ; preds = %endif.5, %then.4 - br label %return - -after_ret: ; No predecessors! - br label %return - -return: ; preds = %after_ret, %out - ret void -} diff --git a/llvm/test/Regression/Transforms/Mem2Reg/DifferingTypes.ll b/llvm/test/Regression/Transforms/Mem2Reg/DifferingTypes.ll deleted file mode 100644 index f859808c2fb..00000000000 --- a/llvm/test/Regression/Transforms/Mem2Reg/DifferingTypes.ll +++ /dev/null @@ -1,19 +0,0 @@ -; This is a feature test. Hopefully one day this will be implemented. The -; generated code should perform the appropriate masking operations required -; depending on the endianness of the target... -; XFAIL: * -; RUN: llvm-upgrade < %s | llvm-as | opt -mem2reg | llvm-dis | not grep 'alloca' - -implementation - -int %testfunc(int %i, sbyte %j) { - %I = alloca int - - store int %i, int* %I - - %P = cast int* %I to sbyte* - store sbyte %j, sbyte* %P - - %t = load int* %I - ret int %t -} diff --git a/llvm/test/Regression/Transforms/Mem2Reg/PromoteMemToRegister.ll b/llvm/test/Regression/Transforms/Mem2Reg/PromoteMemToRegister.ll deleted file mode 100644 index 49de1b6bcee..00000000000 --- a/llvm/test/Regression/Transforms/Mem2Reg/PromoteMemToRegister.ll +++ /dev/null @@ -1,24 +0,0 @@ -; Simple sanity check testcase. Both alloca's should be eliminated. -; RUN: llvm-upgrade < %s | llvm-as | 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 - 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 - - ret double %t6 -end diff --git a/llvm/test/Regression/Transforms/Mem2Reg/UndefValuesMerge.ll b/llvm/test/Regression/Transforms/Mem2Reg/UndefValuesMerge.ll deleted file mode 100644 index dc2f011e240..00000000000 --- a/llvm/test/Regression/Transforms/Mem2Reg/UndefValuesMerge.ll +++ /dev/null @@ -1,14 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | 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 - br label %Cont -Cont: - %Y = load int* %I ;; %Y = phi %i, undef -> %Y = %i - ret int %Y -} diff --git a/llvm/test/Regression/Transforms/Mem2Reg/dg.exp b/llvm/test/Regression/Transforms/Mem2Reg/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/Mem2Reg/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/PredicateSimplifier/.cvsignore b/llvm/test/Regression/Transforms/PredicateSimplifier/.cvsignore deleted file mode 100644 index 83260f862f2..00000000000 --- a/llvm/test/Regression/Transforms/PredicateSimplifier/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -Output diff --git a/llvm/test/Regression/Transforms/PredicateSimplifier/2006-08-02-Switch.ll b/llvm/test/Regression/Transforms/PredicateSimplifier/2006-08-02-Switch.ll deleted file mode 100644 index 1d19516f0e2..00000000000 --- a/llvm/test/Regression/Transforms/PredicateSimplifier/2006-08-02-Switch.ll +++ /dev/null @@ -1,22 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -predsimplify -disable-output - -fastcc void %_ov_splice(int %n1, int %n2, int %ch2) { -entry: - %tmp = setgt int %n1, %n2 ; <bool> [#uses=1] - %n.0 = select bool %tmp, int %n2, int %n1 ; <int> [#uses=1] - %tmp104 = setlt int 0, %ch2 ; <bool> [#uses=1] - br bool %tmp104, label %cond_true105, label %return - -cond_true95: ; preds = %cond_true105 - ret void - -bb98: ; preds = %cond_true105 - ret void - -cond_true105: ; preds = %entry - %tmp94 = setgt int %n.0, 0 ; <bool> [#uses=1] - br bool %tmp94, label %cond_true95, label %bb98 - -return: ; preds = %entry - ret void -} diff --git a/llvm/test/Regression/Transforms/PredicateSimplifier/2006-08-07-LeaderOffByOne.ll b/llvm/test/Regression/Transforms/PredicateSimplifier/2006-08-07-LeaderOffByOne.ll deleted file mode 100644 index 1322b90f486..00000000000 --- a/llvm/test/Regression/Transforms/PredicateSimplifier/2006-08-07-LeaderOffByOne.ll +++ /dev/null @@ -1,28 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -predsimplify -disable-output - -void %safe_strcpy(uint %size1) { -entry: - %tmp = seteq uint %size1, 0 ; <bool> [#uses=1] - br bool %tmp, label %return, label %strlen.exit - -strlen.exit: ; preds = %entry - %tmp = cast ulong 0 to uint ; <uint> [#uses=2] - %tmp6 = setlt uint %tmp, %size1 ; <bool> [#uses=1] - br bool %tmp6, label %cond_true7, label %cond_false19 - -cond_true7: ; preds = %strlen.exit - %tmp9 = seteq uint %tmp, 0 ; <bool> [#uses=1] - br bool %tmp9, label %cond_next15, label %cond_true10 - -cond_true10: ; preds = %cond_true7 - ret void - -cond_next15: ; preds = %cond_true7 - ret void - -cond_false19: ; preds = %strlen.exit - ret void - -return: ; preds = %entry - ret void -} diff --git a/llvm/test/Regression/Transforms/PredicateSimplifier/2006-09-20-ResolveCycle.ll b/llvm/test/Regression/Transforms/PredicateSimplifier/2006-09-20-ResolveCycle.ll deleted file mode 100644 index 83e5eacceda..00000000000 --- a/llvm/test/Regression/Transforms/PredicateSimplifier/2006-09-20-ResolveCycle.ll +++ /dev/null @@ -1,28 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -predsimplify -disable-output - -void %gs_image_next() { -entry: - %tmp = load uint* null ; <uint> [#uses=2] - br bool false, label %cond_next21, label %UnifiedReturnBlock - -cond_next21: ; preds = %entry - br bool false, label %cond_next42, label %UnifiedReturnBlock - -cond_next42: ; preds = %cond_next21 - br label %cond_true158 - -cond_next134: ; preds = %cond_true158 - %tmp1571 = seteq uint 0, %min ; <bool> [#uses=0] - ret void - -cond_true158: ; preds = %cond_true158, %cond_next42 - %tmp47 = sub uint %tmp, 0 ; <uint> [#uses=2] - %tmp49 = setle uint %tmp47, 0 ; <bool> [#uses=1] - %min = select bool %tmp49, uint %tmp47, uint 0 ; <uint> [#uses=2] - %tmp92 = add uint %min, 0 ; <uint> [#uses=1] - %tmp101 = seteq uint %tmp92, %tmp ; <bool> [#uses=1] - br bool %tmp101, label %cond_next134, label %cond_true158 - -UnifiedReturnBlock: ; preds = %cond_next21, %entry - ret void -} diff --git a/llvm/test/Regression/Transforms/PredicateSimplifier/2006-09-20-SetCC.ll b/llvm/test/Regression/Transforms/PredicateSimplifier/2006-09-20-SetCC.ll deleted file mode 100644 index 1023497ee31..00000000000 --- a/llvm/test/Regression/Transforms/PredicateSimplifier/2006-09-20-SetCC.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -predsimplify | llvm-dis | grep br | grep return.i.bb8_crit_edge | grep false - -%str = external global [4 x sbyte] ; <[4 x sbyte]*> [#uses=1] - -implementation ; Functions: - -declare int %sprintf(sbyte*, sbyte*, ...) - -int %main() { -entry: - br label %cond_true.outer - -cond_true.outer: ; preds = %cond_true.i, %entry - %i.0.0.ph = phi int [ 0, %entry ], [ %tmp5, %cond_true.i ] ; <int> [#uses=1] - %j.0.0.ph = phi int [ 0, %entry ], [ %tmp312, %cond_true.i ] ; <int> [#uses=2] - br label %cond_true - -cond_true: ; preds = %return.i, %cond_true.outer - %indvar.ui = phi uint [ 0, %cond_true.outer ], [ %indvar.next, %return.i ] ; <uint> [#uses=2] - %indvar = cast uint %indvar.ui to int ; <int> [#uses=1] - %i.0.0 = add int %indvar, %i.0.0.ph ; <int> [#uses=3] - %savedstack = call sbyte* %llvm.stacksave( ) ; <sbyte*> [#uses=2] - %tmp.i = seteq int %i.0.0, 0 ; <bool> [#uses=1] - %tmp5 = add int %i.0.0, 1 ; <int> [#uses=3] - br bool %tmp.i, label %return.i, label %cond_true.i - -cond_true.i: ; preds = %cond_true - %tmp.i = alloca [1000 x sbyte] ; <[1000 x sbyte]*> [#uses=1] - %tmp.sub.i = getelementptr [1000 x sbyte]* %tmp.i, int 0, int 0 ; <sbyte*> [#uses=2] - %tmp4.i = call int (sbyte*, sbyte*, ...)* %sprintf( sbyte* %tmp.sub.i, sbyte* getelementptr ([4 x sbyte]* %str, int 0, uint 0), int %i.0.0 ) ; <int> [#uses=0] - %tmp.i = load sbyte* %tmp.sub.i ; <sbyte> [#uses=1] - %tmp7.i = cast sbyte %tmp.i to int ; <int> [#uses=1] - call void %llvm.stackrestore( sbyte* %savedstack ) - %tmp312 = add int %tmp7.i, %j.0.0.ph ; <int> [#uses=2] - %tmp19 = setgt int %tmp5, 9999 ; <bool> [#uses=1] - br bool %tmp19, label %bb8, label %cond_true.outer - -return.i: ; preds = %cond_true - call void %llvm.stackrestore( sbyte* %savedstack ) - %tmp21 = setgt int %tmp5, 9999 ; <bool> [#uses=1] - %indvar.next = add uint %indvar.ui, 1 ; <uint> [#uses=1] - br bool %tmp21, label %bb8, label %cond_true - -bb8: ; preds = %return.i, %cond_true.i - %j.0.1 = phi int [ %j.0.0.ph, %return.i ], [ %tmp312, %cond_true.i ] ; <int> [#uses=1] - %tmp10 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([4 x sbyte]* %str, int 0, uint 0), int %j.0.1 ) ; <int> [#uses=0] - ret int undef -} - -declare int %printf(sbyte*, ...) - -declare sbyte* %llvm.stacksave() - -declare void %llvm.stackrestore(sbyte*) diff --git a/llvm/test/Regression/Transforms/PredicateSimplifier/2006-10-22-IntOr.ll b/llvm/test/Regression/Transforms/PredicateSimplifier/2006-10-22-IntOr.ll deleted file mode 100644 index 0cdd58085b7..00000000000 --- a/llvm/test/Regression/Transforms/PredicateSimplifier/2006-10-22-IntOr.ll +++ /dev/null @@ -1,52 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -predsimplify -instcombine -simplifycfg -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -predsimplify -instcombine -simplifycfg | llvm-dis | grep -v declare | not grep fail && -; RUN: llvm-upgrade < %s | llvm-as | opt -predsimplify -instcombine -simplifycfg | llvm-dis | grep -v declare | grep -c pass | grep 3 - -int %test1(int %x, int %y) { -entry: - %tmp2 = or int %x, %y ; <int> [#uses=1] - %tmp = seteq int %tmp2, 0 ; <bool> [#uses=1] - br bool %tmp, label %cond_true, label %return - -cond_true: ; preds = %entry - %tmp4 = seteq int %x, 0 ; <bool> [#uses=1] - br bool %tmp4, label %cond_true5, label %cond_false - -cond_true5: ; preds = %cond_true - %tmp6 = call int %pass( ) ; <int> [#uses=1] - ret int %tmp6 - -cond_false: - %tmp8 = call int %fail ( ) ; <int> [#uses=1] - ret int %tmp8 - -return: ; preds = %cond_next7 - ret int 0 -} - -int %test2(int %x, int %y) { -entry: - %tmp2 = or int %x, %y ; <int> [#uses=1] - %tmp = setne int %tmp2, 0 ; <bool> [#uses=1] - br bool %tmp, label %cond_true, label %return - -cond_true: ; preds = %entry - %tmp4 = seteq int %x, 0 ; <bool> [#uses=1] - br bool %tmp4, label %cond_true5, label %cond_false - -cond_true5: ; preds = %cond_true - %tmp6 = call int %pass1( ) ; <int> [#uses=1] - ret int %tmp6 - -cond_false: - %tmp8 = call int %pass2( ) ; <int> [#uses=1] - ret int %tmp8 - -return: ; preds = %cond_next7 - ret int 0 -} - -declare int %fail() -declare int %pass() -declare int %pass1() -declare int %pass2() diff --git a/llvm/test/Regression/Transforms/PredicateSimplifier/2006-10-25-AddSetCC.ll b/llvm/test/Regression/Transforms/PredicateSimplifier/2006-10-25-AddSetCC.ll deleted file mode 100644 index 5c5a4a48d46..00000000000 --- a/llvm/test/Regression/Transforms/PredicateSimplifier/2006-10-25-AddSetCC.ll +++ /dev/null @@ -1,27 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -predsimplify -instcombine -simplifycfg -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -predsimplify -instcombine -simplifycfg | llvm-dis | grep -v declare | grep -c pass | grep 2 - -int %test(int %x, int %y) { -entry: - %tmp2 = setlt int %x, %y - %tmp = setne bool %tmp2, true - br bool %tmp, label %cond_true, label %return - -cond_true: ; preds = %entry - %tmp4 = seteq int %x, %y ; <bool> [#uses=1] - br bool %tmp4, label %cond_true5, label %cond_false - -cond_true5: ; preds = %cond_true - %tmp6 = call int %pass1( ) ; <int> [#uses=1] - ret int %tmp6 - -cond_false: - %tmp8 = call int %pass2( ) ; <int> [#uses=1] - ret int %tmp8 - -return: ; preds = %cond_next7 - ret int 0 -} - -declare int %pass1() -declare int %pass2() diff --git a/llvm/test/Regression/Transforms/PredicateSimplifier/2006-11-04-ImpossibleGT.ll b/llvm/test/Regression/Transforms/PredicateSimplifier/2006-11-04-ImpossibleGT.ll deleted file mode 100644 index 32ed49554f2..00000000000 --- a/llvm/test/Regression/Transforms/PredicateSimplifier/2006-11-04-ImpossibleGT.ll +++ /dev/null @@ -1,19 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -predsimplify -disable-output - -void %readMotionInfoFromNAL() { -entry: - br bool false, label %bb2425, label %cond_next30 - -cond_next30: ; preds = %entry - ret void - -bb2418: ; preds = %bb2425 - ret void - -bb2425: ; preds = %entry - %tmp2427 = setgt int 0, 3 ; <bool> [#uses=1] - br bool %tmp2427, label %cond_next2429, label %bb2418 - -cond_next2429: ; preds = %bb2425 - ret void -} diff --git a/llvm/test/Regression/Transforms/PredicateSimplifier/2006-11-04-ReplacingZeros.ll b/llvm/test/Regression/Transforms/PredicateSimplifier/2006-11-04-ReplacingZeros.ll deleted file mode 100644 index 74daa7e82b5..00000000000 --- a/llvm/test/Regression/Transforms/PredicateSimplifier/2006-11-04-ReplacingZeros.ll +++ /dev/null @@ -1,30 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -predsimplify -disable-output - -int %test_wp_B_slice(int %select_method) { -entry: - br label %bb309 - -cond_true114: ; preds = %bb309 - %tmp130 = setlt int 0, 128 ; <bool> [#uses=1] - %min = select bool %tmp130, int 0, int 127 ; <int> [#uses=2] - %tmp143 = load int* null ; <int> [#uses=1] - br bool false, label %bb303, label %bb314 - -cond_true166: ; preds = %bb303 - ret int 0 - -cond_false200: ; preds = %bb303 - %tmp205 = sdiv int %min, 2 ; <int> [#uses=1] - %iftmp.380.0.p = select bool false, int 0, int %tmp205 ; <int> [#uses=0] - ret int 0 - -bb303: ; preds = %cond_true114 - %tmp165 = seteq int %min, 0 ; <bool> [#uses=1] - br bool %tmp165, label %cond_true166, label %cond_false200 - -bb309: ; preds = %bb19 - br bool false, label %cond_true114, label %bb314 - -bb314: ; preds = %bb309 - ret int 0 -} diff --git a/llvm/test/Regression/Transforms/PredicateSimplifier/2006-11-05-CycleGTLT.ll b/llvm/test/Regression/Transforms/PredicateSimplifier/2006-11-05-CycleGTLT.ll deleted file mode 100644 index fccc6db6cad..00000000000 --- a/llvm/test/Regression/Transforms/PredicateSimplifier/2006-11-05-CycleGTLT.ll +++ /dev/null @@ -1,14 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -predsimplify -disable-output - -void %diff(int %N) { -entry: - %tmp = setgt int %N, 0 ; <bool> [#uses=1] - br bool %tmp, label %bb519, label %bb744 - -bb519: ; preds = %entry - %tmp720101 = setlt int %N, 0 ; <bool> [#uses=1] - br bool %tmp720101, label %bb744, label %bb744 - -bb744: ; preds = %bb519, %entry - ret void -} diff --git a/llvm/test/Regression/Transforms/PredicateSimplifier/2006-11-11-Squeeze.ll b/llvm/test/Regression/Transforms/PredicateSimplifier/2006-11-11-Squeeze.ll deleted file mode 100644 index cf748cd9200..00000000000 --- a/llvm/test/Regression/Transforms/PredicateSimplifier/2006-11-11-Squeeze.ll +++ /dev/null @@ -1,31 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -predsimplify -disable-output - - %struct.cube_struct = type { int, int, int, int*, int*, int*, int*, int*, uint*, uint*, uint**, uint**, uint*, uint*, uint, int, int*, int, int } -%cube = external global %struct.cube_struct ; <%struct.cube_struct*> [#uses=2] - -implementation ; Functions: - -fastcc void %cube_setup() { -entry: - %tmp = load int* getelementptr (%struct.cube_struct* %cube, int 0, uint 2) ; <int> [#uses=2] - %tmp = setlt int %tmp, 0 ; <bool> [#uses=1] - br bool %tmp, label %bb, label %cond_next - -cond_next: ; preds = %entry - %tmp2 = load int* getelementptr (%struct.cube_struct* %cube, int 0, uint 1) ; <int> [#uses=2] - %tmp5 = setlt int %tmp2, %tmp ; <bool> [#uses=1] - br bool %tmp5, label %bb, label %bb6 - -bb: ; preds = %cond_next, %entry - unreachable - -bb6: ; preds = %cond_next - %tmp98124 = setgt int %tmp2, 0 ; <bool> [#uses=1] - br bool %tmp98124, label %bb42, label %bb99 - -bb42: ; preds = %bb6 - ret void - -bb99: ; preds = %bb6 - ret void -} diff --git a/llvm/test/Regression/Transforms/PredicateSimplifier/2006-11-12-MergeNodes.ll b/llvm/test/Regression/Transforms/PredicateSimplifier/2006-11-12-MergeNodes.ll deleted file mode 100644 index 5f143ed4a8b..00000000000 --- a/llvm/test/Regression/Transforms/PredicateSimplifier/2006-11-12-MergeNodes.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -predsimplify -disable-output - -; ModuleID = 'b.bc' -target datalayout = "e-p:32:32" -target endian = little -target pointersize = 32 -target triple = "i686-pc-linux-gnu" -deplibs = [ "c", "crtend" ] - %struct.VDIR_ST = type { int, int, int, %struct.acl*, %struct.pfile*, %struct.vlink*, %struct.vlink*, %struct.vlink*, %struct.VDIR_ST*, %struct.VDIR_ST* } - %struct.acl = type { int, sbyte*, sbyte*, sbyte*, %struct.restrict*, %struct.acl*, %struct.acl* } - %struct.avalue = type { sbyte* } - %struct.pattrib = type { sbyte, sbyte*, sbyte*, %struct.avalue, %struct.pattrib*, %struct.pattrib* } - %struct.pfile = type { int, int, int, int, int, %struct.vlink*, %struct.vlink*, %struct.pattrib*, %struct.pfile*, %struct.pfile* } - %struct.restrict = type { %struct.acl*, %struct.acl* } - %struct.vlink = type { int, sbyte*, sbyte, int, sbyte*, %struct.vlink*, %struct.vlink*, sbyte*, sbyte*, sbyte*, sbyte*, int, int, %struct.acl*, int, int, sbyte*, %struct.pattrib*, %struct.pfile*, %struct.vlink*, %struct.vlink* } - -implementation ; Functions: - -void %vl_insert(%struct.vlink* %vl) { -entry: - %tmp91 = call int %vl_comp( ) ; <int> [#uses=2] - %tmp93 = setgt int %tmp91, 0 ; <bool> [#uses=1] - br bool %tmp93, label %cond_next84, label %bb94 - -cond_next84: ; preds = %entry - ret void - -bb94: ; preds = %entry - %tmp96 = seteq int %tmp91, 0 ; <bool> [#uses=1] - br bool %tmp96, label %cond_true97, label %cond_next203 - -cond_true97: ; preds = %bb94 - br bool false, label %cond_next105, label %cond_true102 - -cond_true102: ; preds = %cond_true97 - ret void - -cond_next105: ; preds = %cond_true97 - %tmp110 = getelementptr %struct.vlink* %vl, int 0, uint 12 ; <int*> [#uses=1] - %tmp111 = load int* %tmp110 ; <int> [#uses=1] - %tmp129 = seteq int %tmp111, 0 ; <bool> [#uses=1] - br bool %tmp129, label %cond_true130, label %cond_next133 - -cond_true130: ; preds = %cond_next105 - ret void - -cond_next133: ; preds = %cond_next105 - ret void - -cond_next203: ; preds = %bb94 - ret void -} - -declare int %vl_comp() diff --git a/llvm/test/Regression/Transforms/PredicateSimplifier/2007-01-04-SelectSwitch.ll b/llvm/test/Regression/Transforms/PredicateSimplifier/2007-01-04-SelectSwitch.ll deleted file mode 100644 index 141d4e27c69..00000000000 --- a/llvm/test/Regression/Transforms/PredicateSimplifier/2007-01-04-SelectSwitch.ll +++ /dev/null @@ -1,19 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -predsimplify -disable-output - -void %ercMarkCurrMBConcealed(int %comp) { -entry: - %tmp5 = icmp slt int %comp, 0 ; <bool> [#uses=2] - %comp_addr.0 = select bool %tmp5, int 0, int %comp ; <int> [#uses=1] - switch int %comp_addr.0, label %return [ - int 0, label %bb - ] - -bb: ; preds = %entry - br bool %tmp5, label %bb87.bb97_crit_edge.critedge, label %return - -bb87.bb97_crit_edge.critedge: ; preds = %bb - ret void - -return: ; preds = %bb, %entry - ret void -} diff --git a/llvm/test/Regression/Transforms/PredicateSimplifier/dg.exp b/llvm/test/Regression/Transforms/PredicateSimplifier/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/PredicateSimplifier/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/PredicateSimplifier/predsimplify.ll b/llvm/test/Regression/Transforms/PredicateSimplifier/predsimplify.ll deleted file mode 100644 index efe28d184ab..00000000000 --- a/llvm/test/Regression/Transforms/PredicateSimplifier/predsimplify.ll +++ /dev/null @@ -1,307 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -predsimplify -instcombine -simplifycfg | llvm-dis | grep -v declare | not grep fail && -; RUN: llvm-upgrade < %s | llvm-as | opt -predsimplify -instcombine -simplifycfg | llvm-dis | grep -v declare | grep -c pass | grep 4 - -void %test1(int %x) { -entry: - %A = seteq int %x, 0 - br bool %A, label %then.1, label %else.1 -then.1: - %B = seteq int %x, 1 - br bool %B, label %then.2, label %else.1 -then.2: - call void (...)* %fail( ) - ret void -else.1: - ret void -} - -void %test2(int %x) { -entry: - %A = seteq int %x, 0 - %B = seteq int %x, 1 - br bool %A, label %then.1, label %else.1 -then.1: - br bool %B, label %then.2, label %else.1 -then.2: - call void (...)* %fail( ) - ret void -else.1: - ret void -} - -void %test3(int %x) { -entry: - %A = seteq int %x, 0 - %B = seteq int %x, 1 - br bool %A, label %then.1, label %else.1 -then.1: - br bool %B, label %then.2, label %else.1 -then.2: - call void (...)* %fail( ) - ret void -else.1: - ret void -} - -void %test4(int %x, int %y) { -entry: - %A = seteq int %x, 0 - %B = seteq int %y, 0 - %C = and bool %A, %B - br bool %C, label %then.1, label %else.1 -then.1: - %D = seteq int %x, 0 - br bool %D, label %then.2, label %else.2 -then.2: - %E = seteq int %y, 0 - br bool %E, label %else.1, label %else.2 -else.1: - ret void -else.2: - call void (...)* %fail( ) - ret void -} - -void %test5(int %x) { -entry: - %A = seteq int %x, 0 - br bool %A, label %then.1, label %else.1 -then.1: - ret void -then.2: - call void (...)* %fail( ) - ret void -else.1: - %B = seteq int %x, 0 - br bool %B, label %then.2, label %then.1 -} - -void %test6(int %x, int %y) { -entry: - %A = seteq int %x, 0 - %B = seteq int %y, 0 - %C = or bool %A, %B - br bool %C, label %then.1, label %else.1 -then.1: - ret void -then.2: - call void (...)* %fail( ) - ret void -else.1: - %D = seteq int %x, 0 - br bool %D, label %then.2, label %else.2 -else.2: - %E = setne int %y, 0 - br bool %E, label %then.1, label %then.2 -} - -void %test7(int %x) { -entry: - %A = setne int %x, 0 - %B = xor bool %A, true - br bool %B, label %then.1, label %else.1 -then.1: - %C = seteq int %x, 1 - br bool %C, label %then.2, label %else.1 -then.2: - call void (...)* %fail( ) - ret void -else.1: - ret void -} - -void %test8(int %x) { -entry: - %A = add int %x, 1 - %B = seteq int %x, 0 - br bool %B, label %then.1, label %then.2 -then.1: - %C = seteq int %A, 1 - br bool %C, label %then.2, label %else.2 -then.2: - ret void -else.2: - call void (...)* %fail( ) - ret void -} - -void %test9(int %y, int %z) { -entry: - %x = add int %y, %z - %A = seteq int %y, 3 - %B = seteq int %z, 5 - %C = and bool %A, %B - br bool %C, label %cond_true, label %return - -cond_true: - %D = seteq int %x, 8 - br bool %D, label %then, label %oops - -then: - call void (...)* %pass( ) - ret void - -oops: - call void (...)* %fail( ) - ret void - -return: - ret void -} - -void %test10() { -entry: - %A = alloca int - %B = seteq int* %A, null - br bool %B, label %cond_true, label %cond_false - -cond_true: - call void (...)* %fail ( ) - ret void - -cond_false: - call void (...)* %pass ( ) - ret void -} - -void %switch1(int %x) { -entry: - %A = seteq int %x, 10 - br bool %A, label %return, label %cond_false - -cond_false: - switch int %x, label %return [ - int 9, label %then1 - int 10, label %then2 - ] - -then1: - call void (...)* %pass( ) - ret void - -then2: - call void (...)* %fail( ) - ret void - -return: - ret void -} - -void %switch2(int %x) { -entry: - %A = seteq int %x, 10 - br bool %A, label %return, label %cond_false - -cond_false: - switch int %x, label %return [ - int 8, label %then1 - int 9, label %then1 - int 10, label %then1 - ] - -then1: - %B = setne int %x, 8 - br bool %B, label %then2, label %return - -then2: - call void (...)* %pass( ) - ret void - -return: - ret void -} - -void %switch3(int %x) { -entry: - %A = seteq int %x, 10 - br bool %A, label %return, label %cond_false - -cond_false: - switch int %x, label %return [ - int 9, label %then1 - int 10, label %then1 - ] - -then1: - %B = seteq int %x, 9 - br bool %B, label %return, label %oops - -oops: - call void (...)* %fail( ) - ret void - -return: - ret void -} - -void %switch4(int %x) { -entry: - %A = seteq int %x, 10 - br bool %A, label %then1, label %cond_false - -cond_false: - switch int %x, label %default [ - int 9, label %then1 - int 10, label %then2 - ] - -then1: - ret void - -then2: - ret void - -default: - %B = seteq int %x, 9 - br bool %B, label %oops, label %then1 - -oops: - call void (...)* %fail( ) - ret void -} - -void %select1(int %x) { -entry: - %A = seteq int %x, 10 - %B = select bool %A, int 1, int 2 - %C = seteq int %B, 1 - br bool %C, label %then, label %else - -then: - br bool %A, label %return, label %oops - -else: - br bool %A, label %oops, label %return - -oops: - call void (...)* %fail( ) - ret void - -return: - ret void -} - -void %select2(int %x) { -entry: - %A = seteq int %x, 10 - %B = select bool %A, int 1, int 2 - %C = seteq int %B, 1 - br bool %A, label %then, label %else - -then: - br bool %C, label %return, label %oops - -else: - br bool %C, label %oops, label %return - -oops: - call void (...)* %fail( ) - ret void - -return: - ret void -} - -declare void %fail(...) - -declare void %pass(...) diff --git a/llvm/test/Regression/Transforms/PredicateSimplifier/predsimplify.reg1.ll b/llvm/test/Regression/Transforms/PredicateSimplifier/predsimplify.reg1.ll deleted file mode 100644 index caa41b32803..00000000000 --- a/llvm/test/Regression/Transforms/PredicateSimplifier/predsimplify.reg1.ll +++ /dev/null @@ -1,23 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -predsimplify -verify - -void %dgefa() { -entry: - br label %cond_true96 - -cond_true: ; preds = %cond_true96 - %tmp19 = seteq int %tmp10, %k.0 ; <bool> [#uses=1] - br bool %tmp19, label %cond_next, label %cond_true20 - -cond_true20: ; preds = %cond_true - br label %cond_next - -cond_next: ; preds = %cond_true20, %cond_true - %tmp84 = setgt int %tmp3, 1999 ; <bool> [#uses=0] - ret void - -cond_true96: ; preds = %cond_true96, %entry - %k.0 = phi int [ 0, %entry ], [ 0, %cond_true96 ] ; <int> [#uses=3] - %tmp3 = add int %k.0, 1 ; <int> [#uses=1] - %tmp10 = add int 0, %k.0 ; <int> [#uses=1] - br bool false, label %cond_true96, label %cond_true -} diff --git a/llvm/test/Regression/Transforms/PredicateSimplifier/predsimplify.reg2.ll b/llvm/test/Regression/Transforms/PredicateSimplifier/predsimplify.reg2.ll deleted file mode 100644 index e7593fa7ba1..00000000000 --- a/llvm/test/Regression/Transforms/PredicateSimplifier/predsimplify.reg2.ll +++ /dev/null @@ -1,49 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -predsimplify -verify - -; ModuleID = 'bugpoint-reduced-simplified.bc' -target endian = little -target pointersize = 32 -target triple = "i686-pc-linux-gnu" -deplibs = [ "c", "crtend" ] - %struct.anon = type { %struct.set_family*, %struct.set_family*, %struct.set_family*, sbyte*, int, uint*, %struct.pair_struct*, sbyte**, %struct.symbolic_t*, %struct.symbolic_t* } - %struct.pair_struct = type { int, int*, int* } - %struct.set_family = type { int, int, int, int, int, uint*, %struct.set_family* } - %struct.symbolic_label_t = type { sbyte*, %struct.symbolic_label_t* } - %struct.symbolic_list_t = type { int, int, %struct.symbolic_list_t* } - %struct.symbolic_t = type { %struct.symbolic_list_t*, int, %struct.symbolic_label_t*, int, %struct.symbolic_t* } - -implementation ; Functions: - -void %find_pairing_cost(int %strategy) { -entry: - br bool false, label %cond_true299, label %bb314 - -bb94: ; preds = %cond_true299 - switch int %strategy, label %bb246 [ - int 0, label %bb196 - int 1, label %bb159 - ] - -cond_next113: ; preds = %cond_true299 - switch int %strategy, label %bb246 [ - int 0, label %bb196 - int 1, label %bb159 - ] - -bb159: ; preds = %cond_next113, %bb94 - ret void - -bb196: ; preds = %cond_next113, %bb94 - %Rsave.0.3 = phi %struct.set_family* [ null, %bb94 ], [ null, %cond_next113 ] ; <%struct.set_family*> [#uses=0] - ret void - -bb246: ; preds = %cond_next113, %bb94 - br label %bb314 - -cond_true299: ; preds = %entry - %tmp55 = setgt int %strategy, 0 ; <bool> [#uses=1] - br bool %tmp55, label %bb94, label %cond_next113 - -bb314: ; preds = %bb246, %entry - ret void -} diff --git a/llvm/test/Regression/Transforms/PredicateSimplifier/predsimplify.reg3.ll b/llvm/test/Regression/Transforms/PredicateSimplifier/predsimplify.reg3.ll deleted file mode 100644 index 82e48b744ab..00000000000 --- a/llvm/test/Regression/Transforms/PredicateSimplifier/predsimplify.reg3.ll +++ /dev/null @@ -1,21 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -predsimplify -simplifycfg | llvm-dis | grep pass - -void %regtest(int %x) { -entry: - %A = seteq int %x, 0 - br bool %A, label %middle, label %after -middle: - br label %after -after: - %B = seteq int %x, 0 - br bool %B, label %then, label %else -then: - br label %end -else: - call void (...)* %pass( ) - br label %end -end: - ret void -} - -declare void %pass(...) diff --git a/llvm/test/Regression/Transforms/PredicateSimplifier/predsimplify.reg4.ll b/llvm/test/Regression/Transforms/PredicateSimplifier/predsimplify.reg4.ll deleted file mode 100644 index 3817e87cde9..00000000000 --- a/llvm/test/Regression/Transforms/PredicateSimplifier/predsimplify.reg4.ll +++ /dev/null @@ -1,36 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -predsimplify -disable-output - -; ModuleID = '<stdin>' -target endian = little -target pointersize = 32 -target triple = "i686-pc-linux-gnu" - -implementation ; Functions: - -void %f(int %x, int %y) { -entry: - %tmp = seteq int %x, 10 ; <bool> [#uses=1] - %tmp.not = xor bool %tmp, true ; <bool> [#uses=1] - %tmp3 = seteq int %x, %y ; <bool> [#uses=1] - %bothcond = and bool %tmp.not, %tmp3 ; <bool> [#uses=1] - br bool %bothcond, label %cond_true4, label %return - -cond_true4: ; preds = %entry - switch int %y, label %return [ - int 9, label %bb - int 10, label %bb6 - ] - -bb: ; preds = %cond_true4 - call void %g( int 9 ) - ret void - -bb6: ; preds = %cond_true4 - call void %g( int 10 ) - ret void - -return: ; preds = %cond_true4, %entry - ret void -} - -declare void %g(int) diff --git a/llvm/test/Regression/Transforms/PruneEH/.cvsignore b/llvm/test/Regression/Transforms/PruneEH/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/PruneEH/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/PruneEH/2003-09-14-ExternalCall.llx b/llvm/test/Regression/Transforms/PruneEH/2003-09-14-ExternalCall.llx deleted file mode 100644 index 0ca05d6e423..00000000000 --- a/llvm/test/Regression/Transforms/PruneEH/2003-09-14-ExternalCall.llx +++ /dev/null @@ -1,11 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -prune-eh | llvm-dis | grep invoke - -declare void %External() - -implementation - -void %foo() { - invoke void %External() to label %Cont except label %Cont -Cont: - ret void -} diff --git a/llvm/test/Regression/Transforms/PruneEH/2003-11-21-PHIUpdate.llx b/llvm/test/Regression/Transforms/PruneEH/2003-11-21-PHIUpdate.llx deleted file mode 100644 index 3b272fce3f5..00000000000 --- a/llvm/test/Regression/Transforms/PruneEH/2003-11-21-PHIUpdate.llx +++ /dev/null @@ -1,15 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -prune-eh -disable-output - -implementation - -internal void %callee() { ; does not throw - ret void -} - -int %caller() { - invoke void %callee() to label %E except label %E - -E: - %X = phi int [0, %0], [0, %0] - ret int %X -} diff --git a/llvm/test/Regression/Transforms/PruneEH/dg.exp b/llvm/test/Regression/Transforms/PruneEH/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/PruneEH/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/PruneEH/recursivetest.llx b/llvm/test/Regression/Transforms/PruneEH/recursivetest.llx deleted file mode 100644 index 0ef33b54eb2..00000000000 --- a/llvm/test/Regression/Transforms/PruneEH/recursivetest.llx +++ /dev/null @@ -1,19 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -prune-eh | llvm-dis | not grep invoke - -implementation - -internal int %foo() { - invoke int %foo() to label %Normal except label %Except -Normal: - ret int 12 -Except: - ret int 123 -} - -int %caller() { - invoke int %foo() to label %Normal except label %Except -Normal: - ret int 0 -Except: - ret int 1 -} diff --git a/llvm/test/Regression/Transforms/PruneEH/simplenoreturntest.ll b/llvm/test/Regression/Transforms/PruneEH/simplenoreturntest.ll deleted file mode 100644 index cc3a86d985c..00000000000 --- a/llvm/test/Regression/Transforms/PruneEH/simplenoreturntest.ll +++ /dev/null @@ -1,16 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -prune-eh | llvm-dis | not grep 'ret int' - -void %noreturn() { - unwind -} - -int %caller() { - ; noreturn never returns, so the ret is unreachable. - call void %noreturn() - ret int 17 -} - -int %caller2() { - %T = call int %caller() - ret int %T ;; this is also unreachable! -} diff --git a/llvm/test/Regression/Transforms/PruneEH/simpletest.llx b/llvm/test/Regression/Transforms/PruneEH/simpletest.llx deleted file mode 100644 index c368534eda8..00000000000 --- a/llvm/test/Regression/Transforms/PruneEH/simpletest.llx +++ /dev/null @@ -1,15 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -prune-eh | llvm-dis | not grep invoke - -implementation - -internal void %foo() { - ret void ; does not throw -} - -int %caller() { - invoke void %foo() to label %Normal except label %Except -Normal: - ret int 0 -Except: - ret int 1 -} diff --git a/llvm/test/Regression/Transforms/RaiseAllocations/.cvsignore b/llvm/test/Regression/Transforms/RaiseAllocations/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/RaiseAllocations/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/RaiseAllocations/2004-11-08-FreeUseCrash.ll b/llvm/test/Regression/Transforms/RaiseAllocations/2004-11-08-FreeUseCrash.ll deleted file mode 100644 index 389047edc46..00000000000 --- a/llvm/test/Regression/Transforms/RaiseAllocations/2004-11-08-FreeUseCrash.ll +++ /dev/null @@ -1,10 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -raiseallocs -disable-output -implementation ; Functions: - -void %main() { - %tmp.13 = call int (...)* %free( int 32 ) - %tmp.14 = cast int %tmp.13 to int* - ret void -} - -declare int %free(...) diff --git a/llvm/test/Regression/Transforms/RaiseAllocations/FreeCastConstantExpr.ll b/llvm/test/Regression/Transforms/RaiseAllocations/FreeCastConstantExpr.ll deleted file mode 100644 index 008aea4fe20..00000000000 --- a/llvm/test/Regression/Transforms/RaiseAllocations/FreeCastConstantExpr.ll +++ /dev/null @@ -1,10 +0,0 @@ -; This situation can occur due to the funcresolve pass. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -raiseallocs | llvm-dis | not grep call - -declare void %free(sbyte*) - -void %test(int *%P) { - call void(int*)* cast (void(sbyte*)* %free to void(int*)*)(int* %P) - ret void -} diff --git a/llvm/test/Regression/Transforms/RaiseAllocations/dg.exp b/llvm/test/Regression/Transforms/RaiseAllocations/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/RaiseAllocations/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/Reassociate/.cvsignore b/llvm/test/Regression/Transforms/Reassociate/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/Reassociate/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/Reassociate/2002-05-15-AgressiveSubMove.ll b/llvm/test/Regression/Transforms/Reassociate/2002-05-15-AgressiveSubMove.ll deleted file mode 100644 index a7b0df1e8be..00000000000 --- a/llvm/test/Regression/Transforms/Reassociate/2002-05-15-AgressiveSubMove.ll +++ /dev/null @@ -1,8 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -instcombine -constprop -dce | llvm-dis | not grep add - -int %test(int %A) { - %X = add int %A, 1 - %Y = add int %A, 1 - %r = sub int %X, %Y - ret int %r ; Should be equal to 0! -} diff --git a/llvm/test/Regression/Transforms/Reassociate/2002-05-15-MissedTree.ll b/llvm/test/Regression/Transforms/Reassociate/2002-05-15-MissedTree.ll deleted file mode 100644 index 176948a7f9b..00000000000 --- a/llvm/test/Regression/Transforms/Reassociate/2002-05-15-MissedTree.ll +++ /dev/null @@ -1,8 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -instcombine -constprop -die | llvm-dis | not grep 5 - -int %test(int %A, int %B) { - %W = add int %B, -5 - %Y = add int %A, 5 - %Z = add int %W, %Y - ret int %Z -} diff --git a/llvm/test/Regression/Transforms/Reassociate/2002-05-15-SubReassociate.ll b/llvm/test/Regression/Transforms/Reassociate/2002-05-15-SubReassociate.ll deleted file mode 100644 index be204e92142..00000000000 --- a/llvm/test/Regression/Transforms/Reassociate/2002-05-15-SubReassociate.ll +++ /dev/null @@ -1,11 +0,0 @@ -; With sub reassociation, constant folding can eliminate all of the constants. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -constprop -instcombine -dce | llvm-dis | not grep add - -int %test(int %A, int %B) { - %W = add int 5, %B - %X = add int -7, %A - %Y = sub int %X, %W - %Z = add int %Y, 12 - ret int %Z -} diff --git a/llvm/test/Regression/Transforms/Reassociate/2002-05-15-SubReassociate2.ll b/llvm/test/Regression/Transforms/Reassociate/2002-05-15-SubReassociate2.ll deleted file mode 100644 index c46cc2ebb1c..00000000000 --- a/llvm/test/Regression/Transforms/Reassociate/2002-05-15-SubReassociate2.ll +++ /dev/null @@ -1,12 +0,0 @@ -; With sub reassociation, constant folding can eliminate the two 12 constants. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -constprop -dce | llvm-dis | not grep 12 - -int "test"(int %A, int %B, int %C, int %D) { - %M = add int %A, 12 - %N = add int %M, %B - %O = add int %N, %C - %P = sub int %D, %O - %Q = add int %P, 12 - ret int %Q -} diff --git a/llvm/test/Regression/Transforms/Reassociate/2002-07-09-DominanceProblem.ll b/llvm/test/Regression/Transforms/Reassociate/2002-07-09-DominanceProblem.ll deleted file mode 100644 index 6a0ef53279a..00000000000 --- a/llvm/test/Regression/Transforms/Reassociate/2002-07-09-DominanceProblem.ll +++ /dev/null @@ -1,10 +0,0 @@ -; The reassociate pass is not preserving dominance properties correctly -; -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate - -int %compute_dist(int %i, int %j) { - %reg119 = sub int %j, %i - ret int %reg119 -} - - diff --git a/llvm/test/Regression/Transforms/Reassociate/2003-08-12-InfiniteLoop.ll b/llvm/test/Regression/Transforms/Reassociate/2003-08-12-InfiniteLoop.ll deleted file mode 100644 index a84297b8b45..00000000000 --- a/llvm/test/Regression/Transforms/Reassociate/2003-08-12-InfiniteLoop.ll +++ /dev/null @@ -1,10 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -disable-output - -implementation ; Functions: - -int %test(int %A.1, int %B.1, int %C.1, int %D.1) { - %tmp.16 = and int %A.1, %B.1 ; <int> [#uses=1] - %tmp.18 = and int %tmp.16, %C.1 ; <int> [#uses=1] - %tmp.20 = and int %tmp.18, %D.1 ; <int> [#uses=1] - ret int %tmp.20 -} diff --git a/llvm/test/Regression/Transforms/Reassociate/2005-08-24-Crash.ll b/llvm/test/Regression/Transforms/Reassociate/2005-08-24-Crash.ll deleted file mode 100644 index 7e8e5d5a3f6..00000000000 --- a/llvm/test/Regression/Transforms/Reassociate/2005-08-24-Crash.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -disable-output - -void %test(int %a, int %b, int %c, int %d) { - %tmp.2 = xor int %a, %b ; <int> [#uses=1] - %tmp.5 = xor int %c, %d ; <int> [#uses=1] - %tmp.6 = xor int %tmp.2, %tmp.5 ; <int> [#uses=1] - %tmp.9 = xor int %c, %a ; <int> [#uses=1] - %tmp.12 = xor int %b, %d ; <int> [#uses=1] - %tmp.13 = xor int %tmp.9, %tmp.12 ; <int> [#uses=1] - %tmp.16 = xor int %tmp.6, %tmp.13 ; <int> [#uses=0] - ret void -} diff --git a/llvm/test/Regression/Transforms/Reassociate/2005-09-01-ArrayOutOfBounds.ll b/llvm/test/Regression/Transforms/Reassociate/2005-09-01-ArrayOutOfBounds.ll deleted file mode 100644 index 4583769a84c..00000000000 --- a/llvm/test/Regression/Transforms/Reassociate/2005-09-01-ArrayOutOfBounds.ll +++ /dev/null @@ -1,21 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -instcombine | llvm-dis | grep 'ret i32 0' - -int %f(int %a0, int %a1, int %a2, int %a3, int %a4) { - %tmp.2 = add int %a4, %a3 ; <int> [#uses=1] - %tmp.4 = add int %tmp.2, %a2 ; <int> [#uses=1] - %tmp.6 = add int %tmp.4, %a1 ; <int> [#uses=1] - %tmp.8 = add int %tmp.6, %a0 ; <int> [#uses=1] - %tmp.11 = add int %a3, %a2 ; <int> [#uses=1] - %tmp.13 = add int %tmp.11, %a1 ; <int> [#uses=1] - %tmp.15 = add int %tmp.13, %a0 ; <int> [#uses=1] - %tmp.18 = add int %a2, %a1 ; <int> [#uses=1] - %tmp.20 = add int %tmp.18, %a0 ; <int> [#uses=1] - %tmp.23 = add int %a1, %a0 ; <int> [#uses=1] - %tmp.26 = sub int %tmp.8, %tmp.15 ; <int> [#uses=1] - %tmp.28 = add int %tmp.26, %tmp.20 ; <int> [#uses=1] - %tmp.30 = sub int %tmp.28, %tmp.23 ; <int> [#uses=1] - %tmp.32 = sub int %tmp.30, %a4 ; <int> [#uses=1] - %tmp.34 = sub int %tmp.32, %a2 ; <int> [#uses=2] - %T = mul int %tmp.34, %tmp.34 - ret int %T -} diff --git a/llvm/test/Regression/Transforms/Reassociate/2006-04-27-ReassociateVector.ll b/llvm/test/Regression/Transforms/Reassociate/2006-04-27-ReassociateVector.ll deleted file mode 100644 index 2a5b5cd9819..00000000000 --- a/llvm/test/Regression/Transforms/Reassociate/2006-04-27-ReassociateVector.ll +++ /dev/null @@ -1,7 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -disable-output - -void %foo() { - %tmp162 = sub <4 x float> zeroinitializer, zeroinitializer - %tmp164 = mul <4 x float> zeroinitializer, %tmp162 - ret void -} diff --git a/llvm/test/Regression/Transforms/Reassociate/backwards.ll b/llvm/test/Regression/Transforms/Reassociate/backwards.ll deleted file mode 100644 index b1fefc5f20a..00000000000 --- a/llvm/test/Regression/Transforms/Reassociate/backwards.ll +++ /dev/null @@ -1,66 +0,0 @@ -; RUN: llvm-as < %s | opt -reassociate -dce -gcse | llvm-dis | grep add | wc -l | grep 8 -; This test corresponds to GCC PR16157. Reassociate should arrange for 4 additions to be -; left in each function. - -; We currently don't implement this. This would require looking globally to -; find out which expressions are available, which we currently do not do. - -; XFAIL: * - -%a4 = external global int -%a3 = external global int -%a2 = external global int -%a1 = external global int -%a0 = external global int -%b4 = external global int -%b3 = external global int -%b2 = external global int -%b1 = external global int - -implementation ; Functions: - -void %test1() { - %tmp.0 = load int* %a4 ; <int> [#uses=1] - %tmp.1 = load int* %a3 ; <int> [#uses=2] - %tmp.2 = add int %tmp.0, %tmp.1 ; <int> [#uses=1] - %tmp.3 = load int* %a2 ; <int> [#uses=3] - %tmp.4 = add int %tmp.2, %tmp.3 ; <int> [#uses=1] - %tmp.5 = load int* %a1 ; <int> [#uses=4] - %tmp.6 = add int %tmp.4, %tmp.5 ; <int> [#uses=1] - %tmp.7 = load int* %a0 ; <int> [#uses=4] - %tmp.8 = add int %tmp.6, %tmp.7 ; <int> [#uses=1] - store int %tmp.8, int* %a4 - %tmp.11 = add int %tmp.1, %tmp.3 ; <int> [#uses=1] - %tmp.13 = add int %tmp.11, %tmp.5 ; <int> [#uses=1] - %tmp.15 = add int %tmp.13, %tmp.7 ; <int> [#uses=1] - store int %tmp.15, int* %a3 - %tmp.18 = add int %tmp.3, %tmp.5 ; <int> [#uses=1] - %tmp.20 = add int %tmp.18, %tmp.7 ; <int> [#uses=1] - store int %tmp.20, int* %a2 - %tmp.23 = add int %tmp.5, %tmp.7 ; <int> [#uses=1] - store int %tmp.23, int* %a1 - ret void -} - -void %test2() { - %tmp.0 = load int* %a4 ; <int> [#uses=1] - %tmp.1 = load int* %a3 ; <int> [#uses=2] - %tmp.2 = add int %tmp.0, %tmp.1 ; <int> [#uses=1] - %tmp.3 = load int* %a2 ; <int> [#uses=3] - %tmp.4 = add int %tmp.2, %tmp.3 ; <int> [#uses=1] - %tmp.5 = load int* %a1 ; <int> [#uses=4] - %tmp.6 = add int %tmp.4, %tmp.5 ; <int> [#uses=1] - %tmp.7 = load int* %a0 ; <int> [#uses=4] - %tmp.8 = add int %tmp.6, %tmp.7 ; <int> [#uses=1] - store int %tmp.8, int* %b4 - %tmp.11 = add int %tmp.1, %tmp.3 ; <int> [#uses=1] - %tmp.13 = add int %tmp.11, %tmp.5 ; <int> [#uses=1] - %tmp.15 = add int %tmp.13, %tmp.7 ; <int> [#uses=1] - store int %tmp.15, int* %b3 - %tmp.18 = add int %tmp.3, %tmp.5 ; <int> [#uses=1] - %tmp.20 = add int %tmp.18, %tmp.7 ; <int> [#uses=1] - store int %tmp.20, int* %b2 - %tmp.23 = add int %tmp.5, %tmp.7 ; <int> [#uses=1] - store int %tmp.23, int* %b1 - ret void -} diff --git a/llvm/test/Regression/Transforms/Reassociate/basictest.ll b/llvm/test/Regression/Transforms/Reassociate/basictest.ll deleted file mode 100644 index a7ff84a65e6..00000000000 --- a/llvm/test/Regression/Transforms/Reassociate/basictest.ll +++ /dev/null @@ -1,9 +0,0 @@ -; With reassociation, constant folding can eliminate the 12 and -12 constants. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -constprop -instcombine -die | llvm-dis | not grep add - -int %test(int %arg) { - %tmp1 = sub int -12, %arg - %tmp2 = add int %tmp1, 12 - ret int %tmp2 -} diff --git a/llvm/test/Regression/Transforms/Reassociate/basictest2.ll b/llvm/test/Regression/Transforms/Reassociate/basictest2.ll deleted file mode 100644 index 7efa3cca81a..00000000000 --- a/llvm/test/Regression/Transforms/Reassociate/basictest2.ll +++ /dev/null @@ -1,10 +0,0 @@ -; With reassociation, constant folding can eliminate the +/- 30 constants. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -constprop -instcombine -die | llvm-dis | not grep 30 - -int "test"(int %reg109, int %reg1111) { - %reg115 = add int %reg109, -30 ; <int> [#uses=1] - %reg116 = add int %reg115, %reg1111 ; <int> [#uses=1] - %reg117 = add int %reg116, 30 ; <int> [#uses=1] - ret int %reg117 -} diff --git a/llvm/test/Regression/Transforms/Reassociate/basictest3.ll b/llvm/test/Regression/Transforms/Reassociate/basictest3.ll deleted file mode 100644 index a3da5a0400a..00000000000 --- a/llvm/test/Regression/Transforms/Reassociate/basictest3.ll +++ /dev/null @@ -1,50 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -gcse | llvm-dis | grep add | wc -l | grep 6 -; Each of these functions should turn into two adds each. - -%e = external global int -%a = external global int -%b = external global int -%c = external global int -%f = external global int - -implementation - -void %test1() { - %A = load int* %a - %B = load int* %b - %C = load int* %c - %t1 = add int %A, %B - %t2 = add int %t1, %C - %t3 = add int %C, %A - %t4 = add int %t3, %B - store int %t2, int* %e ; e = (a+b)+c; - store int %t4, int* %f ; f = (a+c)+b - ret void -} - -void %test2() { - %A = load int* %a - %B = load int* %b - %C = load int* %c - %t1 = add int %A, %B - %t2 = add int %t1, %C - %t3 = add int %C, %A - %t4 = add int %t3, %B - store int %t2, int* %e ; e = c+(a+b) - store int %t4, int* %f ; f = (c+a)+b - ret void -} - -void %test3() { - %A = load int* %a - %B = load int* %b - %C = load int* %c - %t1 = add int %B, %A - %t2 = add int %t1, %C - %t3 = add int %C, %A - %t4 = add int %t3, %B - store int %t2, int* %e ; e = c+(b+a) - store int %t4, int* %f ; f = (c+a)+b - ret void -} - diff --git a/llvm/test/Regression/Transforms/Reassociate/basictest4.ll b/llvm/test/Regression/Transforms/Reassociate/basictest4.ll deleted file mode 100644 index dcf7a55bcd9..00000000000 --- a/llvm/test/Regression/Transforms/Reassociate/basictest4.ll +++ /dev/null @@ -1,20 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -gcse -instcombine | llvm-dis | not grep add - -%a = weak global int 0 -%b = weak global int 0 -%c = weak global int 0 -%d = weak global int 0 - -implementation - -int %foo() { - %tmp.0 = load int* %a - %tmp.1 = load int* %b - %tmp.2 = add int %tmp.0, %tmp.1 ; (a+b) - %tmp.4 = load int* %c - %tmp.5 = add int %tmp.2, %tmp.4 ; (a+b)+c - %tmp.8 = add int %tmp.0, %tmp.4 ; (a+c) - %tmp.11 = add int %tmp.8, %tmp.1 ; (a+c)+b - %RV = xor int %tmp.5, %tmp.11 ; X ^ X = 0 - ret int %RV -} diff --git a/llvm/test/Regression/Transforms/Reassociate/dg.exp b/llvm/test/Regression/Transforms/Reassociate/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/Reassociate/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/Reassociate/inverses.ll b/llvm/test/Regression/Transforms/Reassociate/inverses.ll deleted file mode 100644 index eff3e6b34bf..00000000000 --- a/llvm/test/Regression/Transforms/Reassociate/inverses.ll +++ /dev/null @@ -1,24 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -dce | llvm-dis | not grep '\(and\|sub\)' - -int %test1(int %a, int %b) { - %tmp.2 = and int %b, %a - %tmp.4 = xor int %a, -1 - %tmp.5 = and int %tmp.2, %tmp.4 ; (A&B)&~A == 0 - ret int %tmp.5 -} - -int %test2(int %a, int %b) { - %tmp.1 = and int %a, 1234 - %tmp.2 = and int %b, %tmp.1 - %tmp.4 = xor int %a, -1 - %tmp.5 = and int %tmp.2, %tmp.4 ; A&~A == 0 - ret int %tmp.5 -} - -int %test3(int %b, int %a) { - %tmp.1 = add int %a, 1234 - %tmp.2 = add int %b, %tmp.1 - %tmp.4 = sub int 0, %a - %tmp.5 = add int %tmp.2, %tmp.4 ; (b+(a+1234))+-a -> b+1234 - ret int %tmp.5 -} diff --git a/llvm/test/Regression/Transforms/Reassociate/looptest.ll b/llvm/test/Regression/Transforms/Reassociate/looptest.ll deleted file mode 100644 index 97127bb9509..00000000000 --- a/llvm/test/Regression/Transforms/Reassociate/looptest.ll +++ /dev/null @@ -1,56 +0,0 @@ -; This testcase comes from this C fragment: -; -; void test(unsigned Num, int *Array) { -; unsigned i, j, k; -; -; for (i = 0; i != Num; ++i) -; for (j = 0; j != Num; ++j) -; for (k = 0; k != Num; ++k) -; printf("%d\n", i+k+j); /* Reassociate to (i+j)+k */ -;} -; -; In this case, we want to reassociate the specified expr so that i+j can be -; hoisted out of the inner most loop. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate | llvm-dis | grep 115 | not grep 117 - -%.LC0 = internal global [4 x sbyte] c"%d\0A\00" ; <[4 x sbyte]*> [#uses=1] - -declare int "printf"(sbyte*, ...) - -void "test"(uint %Num, int* %Array) { -bb0: ;[#uses=1] - %cond221 = seteq uint 0, %Num ; <bool> [#uses=3] - br bool %cond221, label %bb7, label %bb2 - -bb2: ;[#uses=3] - %reg115 = phi uint [ %reg120, %bb6 ], [ 0, %bb0 ] ; <uint> [#uses=2] - br bool %cond221, label %bb6, label %bb3 - -bb3: ;[#uses=3] - %reg116 = phi uint [ %reg119, %bb5 ], [ 0, %bb2 ] ; <uint> [#uses=2] - br bool %cond221, label %bb5, label %bb4 - -bb4: ;[#uses=3] - %reg117 = phi uint [ %reg118, %bb4 ], [ 0, %bb3 ] ; <uint> [#uses=2] - %reg113 = add uint %reg115, %reg117 ; <uint> [#uses=1] - %reg114 = add uint %reg113, %reg116 ; <uint> [#uses=1] - %cast227 = getelementptr [4 x sbyte]* %.LC0, long 0, long 0 ; <sbyte*> [#uses=1] - call int (sbyte*, ...)* %printf( sbyte* %cast227, uint %reg114 ) ; <int>:0 [#uses=0] - %reg118 = add uint %reg117, 1 ; <uint> [#uses=2] - %cond224 = setne uint %reg118, %Num ; <bool> [#uses=1] - br bool %cond224, label %bb4, label %bb5 - -bb5: ;[#uses=3] - %reg119 = add uint %reg116, 1 ; <uint> [#uses=2] - %cond225 = setne uint %reg119, %Num ; <bool> [#uses=1] - br bool %cond225, label %bb3, label %bb6 - -bb6: ;[#uses=3] - %reg120 = add uint %reg115, 1 ; <uint> [#uses=2] - %cond226 = setne uint %reg120, %Num ; <bool> [#uses=1] - br bool %cond226, label %bb2, label %bb7 - -bb7: ;[#uses=2] - ret void -} diff --git a/llvm/test/Regression/Transforms/Reassociate/mul-factor3.ll b/llvm/test/Regression/Transforms/Reassociate/mul-factor3.ll deleted file mode 100644 index 5e06fbca847..00000000000 --- a/llvm/test/Regression/Transforms/Reassociate/mul-factor3.ll +++ /dev/null @@ -1,14 +0,0 @@ -; This should be one add and two multiplies. - -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -instcombine | llvm-dis | grep mul | wc -l | grep 2 && -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -instcombine | llvm-dis | grep add | wc -l | grep 1 - -int %test(int %A, int %B, int %C) { - %aa = mul int %A, %A - %aab = mul int %aa, %B - - %ac = mul int %A, %C - %aac = mul int %ac, %A - %r = add int %aab, %aac - ret int %r -} diff --git a/llvm/test/Regression/Transforms/Reassociate/mul-neg-add.ll b/llvm/test/Regression/Transforms/Reassociate/mul-neg-add.ll deleted file mode 100644 index d7c39a5808e..00000000000 --- a/llvm/test/Regression/Transforms/Reassociate/mul-neg-add.ll +++ /dev/null @@ -1,8 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -instcombine | llvm-dis | not grep 'sub int 0' - -int %test(int %X, int %Y, int %Z) { - %A = sub int 0, %X - %B = mul int %A, %Y - %C = add int %B, %Z ; (-X)*Y + Z -> Z-X*Y - ret int %C -} diff --git a/llvm/test/Regression/Transforms/Reassociate/mulfactor.ll b/llvm/test/Regression/Transforms/Reassociate/mulfactor.ll deleted file mode 100644 index bb7efc3f7a2..00000000000 --- a/llvm/test/Regression/Transforms/Reassociate/mulfactor.ll +++ /dev/null @@ -1,14 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -instcombine | llvm-dis | grep mul | wc -l | grep 2 - -; This should have exactly 2 multiplies when we're done. - -int %f(int %a, int %b) { - %tmp.2 = mul int %a, %a - %tmp.5 = shl int %a, ubyte 1 - %tmp.6 = mul int %tmp.5, %b - %tmp.10 = mul int %b, %b - %tmp.7 = add int %tmp.6, %tmp.2 - %tmp.11 = add int %tmp.7, %tmp.10 - ret int %tmp.11 -} - diff --git a/llvm/test/Regression/Transforms/Reassociate/mulfactor2.ll b/llvm/test/Regression/Transforms/Reassociate/mulfactor2.ll deleted file mode 100644 index 062e3af4f50..00000000000 --- a/llvm/test/Regression/Transforms/Reassociate/mulfactor2.ll +++ /dev/null @@ -1,13 +0,0 @@ -; This should turn into one multiply and one add. - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -reassociate -instcombine | llvm-dis | grep mul | wc -l | grep 1 && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -reassociate -instcombine | llvm-dis | grep add | wc -l | grep 1 -int %main(int %t) { - %tmp.3 = mul int %t, 12 ; <int> [#uses=1] - %tmp.4 = add int %tmp.3, 5 ; <int> [#uses=1] - %tmp.6 = mul int %t, 6 ; <int> [#uses=1] - %tmp.8 = mul int %tmp.4, 3 ; <int> [#uses=1] - %tmp.9 = add int %tmp.8, %tmp.6 ; <int> [#uses=1] - ret int %tmp.9 -} - diff --git a/llvm/test/Regression/Transforms/Reassociate/negation.ll b/llvm/test/Regression/Transforms/Reassociate/negation.ll deleted file mode 100644 index 56e087a1fc7..00000000000 --- a/llvm/test/Regression/Transforms/Reassociate/negation.ll +++ /dev/null @@ -1,20 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -instcombine | llvm-dis | not grep sub - -; Test that we can turn things like X*-(Y*Z) -> X*-1*Y*Z. - -int %test1(int %a, int %b, int %z) { - %c = sub int 0, %z - %d = mul int %a, %b - %e = mul int %c, %d - %f = mul int %e, 12345 - %g = sub int 0, %f - ret int %g -} - -int %test2(int %a, int %b, int %z) { - %d = mul int %z, 40 - %c = sub int 0, %d - %e = mul int %a, %c - %f = sub int 0, %e - ret int %f -} diff --git a/llvm/test/Regression/Transforms/Reassociate/otherops.ll b/llvm/test/Regression/Transforms/Reassociate/otherops.ll deleted file mode 100644 index 9e99d2c8589..00000000000 --- a/llvm/test/Regression/Transforms/Reassociate/otherops.ll +++ /dev/null @@ -1,28 +0,0 @@ -; Reassociation should apply to Add, Mul, And, Or, & Xor -; -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -constprop -instcombine -die | llvm-dis | not grep 12 - -int "test_mul"(int %arg) { - %tmp1 = mul int 12, %arg - %tmp2 = mul int %tmp1, 12 - ret int %tmp2 -} - -int "test_and"(int %arg) { - %tmp1 = and int 14, %arg - %tmp2 = and int %tmp1, 14 - ret int %tmp2 -} - -int "test_or"(int %arg) { - %tmp1 = or int 14, %arg - %tmp2 = or int %tmp1, 14 - ret int %tmp2 -} - -int "test_xor"(int %arg) { - %tmp1 = xor int 12, %arg - %tmp2 = xor int %tmp1, 12 - ret int %tmp2 -} - diff --git a/llvm/test/Regression/Transforms/Reassociate/shift-factor.ll b/llvm/test/Regression/Transforms/Reassociate/shift-factor.ll deleted file mode 100644 index 51513c28956..00000000000 --- a/llvm/test/Regression/Transforms/Reassociate/shift-factor.ll +++ /dev/null @@ -1,11 +0,0 @@ -; There should be exactly one shift and one add left. -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -instcombine | llvm-dis | grep shl | wc -l | grep 1 && -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -instcombine | llvm-dis | grep add | wc -l | grep 1 - -int %test(int %X, int %Y) { - %tmp.2 = shl int %X, ubyte 1 ; <int> [#uses=1] - %tmp.6 = shl int %Y, ubyte 1 ; <int> [#uses=1] - %tmp.4 = add int %tmp.6, %tmp.2 ; <int> [#uses=1] - ret int %tmp.4 -} - diff --git a/llvm/test/Regression/Transforms/Reassociate/shifttest.ll b/llvm/test/Regression/Transforms/Reassociate/shifttest.ll deleted file mode 100644 index 0bfe0ec2df6..00000000000 --- a/llvm/test/Regression/Transforms/Reassociate/shifttest.ll +++ /dev/null @@ -1,10 +0,0 @@ -; With shl->mul reassociation, we can see that this is (shl A, 9) * A -; -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -instcombine | llvm-dis | grep 'shl .*, i8 9' - -int %test(int %A, int %B) { - %X = shl int %A, ubyte 5 - %Y = shl int %A, ubyte 4 - %Z = mul int %Y, %X - ret int %Z -} diff --git a/llvm/test/Regression/Transforms/Reassociate/subtest.ll b/llvm/test/Regression/Transforms/Reassociate/subtest.ll deleted file mode 100644 index 097c355aaa4..00000000000 --- a/llvm/test/Regression/Transforms/Reassociate/subtest.ll +++ /dev/null @@ -1,10 +0,0 @@ -; With sub reassociation, constant folding can eliminate the 12 and -12 constants. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -constprop -instcombine -die | llvm-dis | not grep 12 - -int "test"(int %A, int %B) { - %X = add int -12, %A - %Y = sub int %X, %B - %Z = add int %Y, 12 - ret int %Z -} diff --git a/llvm/test/Regression/Transforms/SCCP/.cvsignore b/llvm/test/Regression/Transforms/SCCP/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/SCCP/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/SCCP/2002-05-02-EdgeFailure.ll b/llvm/test/Regression/Transforms/SCCP/2002-05-02-EdgeFailure.ll deleted file mode 100644 index 2136ca644c8..00000000000 --- a/llvm/test/Regression/Transforms/SCCP/2002-05-02-EdgeFailure.ll +++ /dev/null @@ -1,23 +0,0 @@ -; edgefailure - This function illustrates how SCCP is not doing it's job. This -; function should be optimized almost completely away: the loop should be -; analyzed to detect that the body executes exactly once, and thus the branch -; can be eliminated and code becomes trivially dead. This is distilled from a -; real benchmark (mst from Olden benchmark, MakeGraph function). When SCCP is -; fixed, this should be eliminated by a single SCCP application. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp | llvm-dis | not grep loop - -int* %test() { -bb1: - %A = malloc int - br label %bb2 -bb2: - %i = phi int [ %i2, %bb2 ], [ 0, %bb1 ] ;; Always 0 - %i2 = add int %i, 1 ;; Always 1 - store int %i, int *%A - %loop = setle int %i2, 0 ;; Always false - br bool %loop, label %bb2, label %bb3 - -bb3: - ret int * %A -} diff --git a/llvm/test/Regression/Transforms/SCCP/2002-05-02-MissSecondInst.ll b/llvm/test/Regression/Transforms/SCCP/2002-05-02-MissSecondInst.ll deleted file mode 100644 index 24e99b19e39..00000000000 --- a/llvm/test/Regression/Transforms/SCCP/2002-05-02-MissSecondInst.ll +++ /dev/null @@ -1,7 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp | llvm-dis | not grep sub - -void %test3(int, int) { - add int 0, 0 - sub int 0, 4 - ret void -} diff --git a/llvm/test/Regression/Transforms/SCCP/2002-05-20-MissedIncomingValue.ll b/llvm/test/Regression/Transforms/SCCP/2002-05-20-MissedIncomingValue.ll deleted file mode 100644 index c851efdb0e1..00000000000 --- a/llvm/test/Regression/Transforms/SCCP/2002-05-20-MissedIncomingValue.ll +++ /dev/null @@ -1,20 +0,0 @@ -; This test shows a case where SCCP is incorrectly eliminating the PHI node -; because it thinks it has a constant 0 value, when it really doesn't. - -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp | llvm-dis | grep phi - -int "test"(int %A, bool %c) { -bb1: - br label %BB2 -BB2: - %V = phi int [0, %bb1], [%A, %BB4] - br label %BB3 - -BB3: - br bool %c, label %BB4, label %BB5 -BB4: - br label %BB2 - -BB5: - ret int %V -} diff --git a/llvm/test/Regression/Transforms/SCCP/2002-05-21-InvalidSimplify.ll b/llvm/test/Regression/Transforms/SCCP/2002-05-21-InvalidSimplify.ll deleted file mode 100644 index c31a421d0e5..00000000000 --- a/llvm/test/Regression/Transforms/SCCP/2002-05-21-InvalidSimplify.ll +++ /dev/null @@ -1,39 +0,0 @@ -; This test shows SCCP "proving" that the loop (from bb6 to 14) loops infinitely -; this is in fact NOT the case, so the return should still be alive in the code -; after sccp and CFG simplification have been performed. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp -simplifycfg | llvm-dis | grep ret - - -void "old_main"() { -bb3: ;[#uses=1] - br label %bb6 - -bb6: ;[#uses=3] - %reg403 = phi int [ %reg155, %bb14 ], [ 0, %bb3 ] ; <int> [#uses=2] - %reg155 = add int %reg403, 1 ; <int> [#uses=3] - - br label %bb11 - -bb11: - %reg407 = phi int [ %reg408, %bb11 ], [ 0, %bb6 ] ; <int> [#uses=2] - %reg408 = add int %reg407, 1 ; <int> [#uses=2] - %cond550 = setle int %reg407, 1 ; <bool> [#uses=1] - br bool %cond550, label %bb11, label %bb12 - -bb12: ;[#uses=2] - br label %bb13 - -bb13: ;[#uses=3] - %reg409 = phi int [ %reg410, %bb13 ], [ 0, %bb12 ] ; <int> [#uses=1] - %reg410 = add int %reg409, 1 ; <int> [#uses=2] - %cond552 = setle int %reg410, 2 ; <bool> [#uses=1] - br bool %cond552, label %bb13, label %bb14 - -bb14: ;[#uses=2] - %cond553 = setle int %reg155, 31 ; <bool> [#uses=1] - br bool %cond553, label %bb6, label %bb15 - -bb15: ;[#uses=1] - ret void -} diff --git a/llvm/test/Regression/Transforms/SCCP/2002-08-30-GetElementPtrTest.ll b/llvm/test/Regression/Transforms/SCCP/2002-08-30-GetElementPtrTest.ll deleted file mode 100644 index dad9c7e70d6..00000000000 --- a/llvm/test/Regression/Transforms/SCCP/2002-08-30-GetElementPtrTest.ll +++ /dev/null @@ -1,10 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp | llvm-dis | not grep '%X' - -%G = uninitialized global [40x int] - -implementation - -int* %test() { - %X = getelementptr [40x int]* %G, uint 0, uint 0 - ret int* %X -} diff --git a/llvm/test/Regression/Transforms/SCCP/2003-06-24-OverdefinedPHIValue.ll b/llvm/test/Regression/Transforms/SCCP/2003-06-24-OverdefinedPHIValue.ll deleted file mode 100644 index bf33950e34d..00000000000 --- a/llvm/test/Regression/Transforms/SCCP/2003-06-24-OverdefinedPHIValue.ll +++ /dev/null @@ -1,33 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp -simplifycfg | llvm-dis | not grep then: - -void %cprop_test11(int* %data.1) { -entry: ; No predecessors! - %tmp.1 = load int* %data.1 ; <int> [#uses=3] - %tmp.41 = setgt int %tmp.1, 1 ; <bool> [#uses=1] - br bool %tmp.41, label %no_exit, label %loopexit - -no_exit: ; preds = %entry, %then, %endif - %j.0 = phi int [ %j.0, %endif ], [ %i.0, %then ], [ 1, %entry ] ; <int> [#uses=3] - %i.0 = phi int [ %inc, %endif ], [ %inc1, %then ], [ 1, %entry ] ; <int> [#uses=4] - %tmp.8.not = cast int %j.0 to bool ; <bool> [#uses=1] - br bool %tmp.8.not, label %endif, label %then - -then: ; preds = %no_exit - %inc1 = add int %i.0, 1 ; <int> [#uses=3] - %tmp.42 = setlt int %inc1, %tmp.1 ; <bool> [#uses=1] - br bool %tmp.42, label %no_exit, label %loopexit - -endif: ; preds = %no_exit - %inc = add int %i.0, 1 ; <int> [#uses=3] - %tmp.4 = setlt int %inc, %tmp.1 ; <bool> [#uses=1] - br bool %tmp.4, label %no_exit, label %loopexit - -loopexit: ; preds = %entry, %endif, %then - %j.1 = phi int [ 1, %entry ], [ %j.0, %endif ], [ %i.0, %then ] ; <int> [#uses=1] - %i.1 = phi int [ 1, %entry ], [ %inc, %endif ], [ %inc1, %then ] ; <int> [#uses=1] - %tmp.17 = getelementptr int* %data.1, long 1 ; <int*> [#uses=1] - store int %j.1, int* %tmp.17 - %tmp.23 = getelementptr int* %data.1, long 2 ; <int*> [#uses=1] - store int %i.1, int* %tmp.23 - ret void -} diff --git a/llvm/test/Regression/Transforms/SCCP/2003-08-26-InvokeHandling.ll b/llvm/test/Regression/Transforms/SCCP/2003-08-26-InvokeHandling.ll deleted file mode 100644 index 36bfba4a404..00000000000 --- a/llvm/test/Regression/Transforms/SCCP/2003-08-26-InvokeHandling.ll +++ /dev/null @@ -1,15 +0,0 @@ -; The PHI cannot be eliminated from this testcase, SCCP is mishandling invoke's! -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp | llvm-dis | grep phi - -declare void %foo() -int %test(bool %cond) { -Entry: - br bool %cond, label %Inv, label %Cont -Inv: - invoke void %foo() to label %Ok except label %Cont -Ok: - br label %Cont -Cont: - %X = phi int [0, %Entry], [1,%Ok], [0, %Inv] - ret int %X -} diff --git a/llvm/test/Regression/Transforms/SCCP/2004-11-16-DeadInvoke.ll b/llvm/test/Regression/Transforms/SCCP/2004-11-16-DeadInvoke.ll deleted file mode 100644 index 544edc0b3c5..00000000000 --- a/llvm/test/Regression/Transforms/SCCP/2004-11-16-DeadInvoke.ll +++ /dev/null @@ -1,14 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp -disable-output - -implementation - -declare int %foo() - -void %caller() { - br bool true, label %T, label %F -F: - %X = invoke int %foo() to label %T unwind label %T - -T: - ret void -} diff --git a/llvm/test/Regression/Transforms/SCCP/2004-12-10-UndefBranchBug.ll b/llvm/test/Regression/Transforms/SCCP/2004-12-10-UndefBranchBug.ll deleted file mode 100644 index 52cda01e165..00000000000 --- a/llvm/test/Regression/Transforms/SCCP/2004-12-10-UndefBranchBug.ll +++ /dev/null @@ -1,11 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp | llvm-dis | grep 'ret i32 1' - -; This function definitely returns 1, even if we don't know the direction -; of the branch. - -int %foo() { - br bool undef, label %T, label %T -T: - %X = add int 0, 1 - ret int %X -} diff --git a/llvm/test/Regression/Transforms/SCCP/2006-10-23-IPSCCP-Crash.ll b/llvm/test/Regression/Transforms/SCCP/2006-10-23-IPSCCP-Crash.ll deleted file mode 100644 index edfbe016c40..00000000000 --- a/llvm/test/Regression/Transforms/SCCP/2006-10-23-IPSCCP-Crash.ll +++ /dev/null @@ -1,128 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp -disable-output - -target endian = big -target pointersize = 32 -target triple = "powerpc-apple-darwin8.7.0" - %struct.pat_list = type { int, %struct.pat_list* } -%JUMP = external global int ; <int*> [#uses=1] -%old_D_pat = external global [16 x ubyte] ; <[16 x ubyte]*> [#uses=0] - -implementation ; Functions: - -void %asearch1(uint %D) { -entry: - %tmp80 = setlt uint 0, %D ; <bool> [#uses=1] - br bool %tmp80, label %bb647.preheader, label %cond_true81.preheader - -cond_true81.preheader: ; preds = %entry - ret void - -bb647.preheader: ; preds = %entry - %tmp3.i = call int %read( ) ; <int> [#uses=1] - %tmp6.i = add int %tmp3.i, 0 ; <int> [#uses=1] - %tmp653 = setgt int %tmp6.i, 0 ; <bool> [#uses=1] - br bool %tmp653, label %cond_true654, label %UnifiedReturnBlock - -cond_true612: ; preds = %cond_true654 - ret void - -cond_next624: ; preds = %cond_true654 - ret void - -cond_true654: ; preds = %bb647.preheader - br bool undef, label %cond_true612, label %cond_next624 - -UnifiedReturnBlock: ; preds = %bb647.preheader - ret void -} - -void %bitap(int %D) { -entry: - %tmp29 = seteq int 0, 0 ; <bool> [#uses=1] - br bool %tmp29, label %cond_next50, label %cond_next37 - -cond_next37: ; preds = %entry - ret void - -cond_next50: ; preds = %entry - %tmp52 = setgt int %D, 0 ; <bool> [#uses=1] - br bool %tmp52, label %cond_true53, label %cond_next71 - -cond_true53: ; preds = %cond_next50 - %tmp54 = load int* %JUMP ; <int> [#uses=1] - %tmp55 = seteq int %tmp54, 1 ; <bool> [#uses=1] - br bool %tmp55, label %cond_true56, label %cond_next63 - -cond_true56: ; preds = %cond_true53 - %tmp57 = cast int %D to uint ; <uint> [#uses=1] - call void %asearch1( uint %tmp57 ) - ret void - -cond_next63: ; preds = %cond_true53 - ret void - -cond_next71: ; preds = %cond_next50 - ret void -} - -declare int %read() - -void %initial_value() { -entry: - ret void -} - -void %main() { -entry: - br label %cond_next252 - -cond_next208: ; preds = %cond_true260 - %tmp229 = call int %atoi( ) ; <int> [#uses=1] - br label %cond_next252 - -bb217: ; preds = %cond_true260 - ret void - -cond_next252: ; preds = %cond_next208, %entry - %D.0.0 = phi int [ 0, %entry ], [ %tmp229, %cond_next208 ] ; <int> [#uses=1] - %tmp254 = getelementptr sbyte** null, int 1 ; <sbyte**> [#uses=1] - %tmp256 = load sbyte** %tmp254 ; <sbyte*> [#uses=1] - %tmp258 = load sbyte* %tmp256 ; <sbyte> [#uses=1] - %tmp259 = seteq sbyte %tmp258, 45 ; <bool> [#uses=1] - br bool %tmp259, label %cond_true260, label %bb263 - -cond_true260: ; preds = %cond_next252 - %tmp205818 = setgt sbyte 0, -1 ; <bool> [#uses=1] - br bool %tmp205818, label %cond_next208, label %bb217 - -bb263: ; preds = %cond_next252 - %tmp265 = seteq int 0, 0 ; <bool> [#uses=1] - br bool %tmp265, label %cond_next276, label %cond_true266 - -cond_true266: ; preds = %bb263 - ret void - -cond_next276: ; preds = %bb263 - %tmp278 = seteq int 0, 0 ; <bool> [#uses=1] - br bool %tmp278, label %cond_next298, label %cond_true279 - -cond_true279: ; preds = %cond_next276 - ret void - -cond_next298: ; preds = %cond_next276 - call void %bitap( int %D.0.0 ) - ret void -} - -declare int %atoi() - -void %subset_pset() { -entry: - ret void -} - -void %strcmp() { -entry: - ret void -} - diff --git a/llvm/test/Regression/Transforms/SCCP/2006-12-04-PackedType.ll b/llvm/test/Regression/Transforms/SCCP/2006-12-04-PackedType.ll deleted file mode 100644 index 7942b657f63..00000000000 --- a/llvm/test/Regression/Transforms/SCCP/2006-12-04-PackedType.ll +++ /dev/null @@ -1,149 +0,0 @@ -; Test PackedType handling by SCCP. -; SCCP ignores PackedTypes until PR 1034 is fixed -; -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp -target datalayout = "E-p:32:32" -target endian = big -target pointersize = 32 -target triple = "powerpc-apple-darwin8" - %struct.GLDAlphaTest = type { float, ushort, ubyte, ubyte } - %struct.GLDArrayRange = type { ubyte, ubyte, ubyte, ubyte } - %struct.GLDBlendMode = type { ushort, ushort, ushort, ushort, %struct.GLTColor4, ushort, ushort, ubyte, ubyte, ubyte, ubyte } - %struct.GLDBufferRec = type opaque - %struct.GLDBufferstate = type { %struct.GLTDimensions, %struct.GLTDimensions, %struct.GLTFixedColor4, %struct.GLTFixedColor4, ubyte, ubyte, ubyte, ubyte, [2 x %struct.GLSBuffer], [4 x %struct.GLSBuffer], %struct.GLSBuffer, %struct.GLSBuffer, %struct.GLSBuffer, [4 x %struct.GLSBuffer*], %struct.GLSBuffer*, %struct.GLSBuffer*, %struct.GLSBuffer*, ubyte, ubyte } - %struct.GLDClearColor = type { double, %struct.GLTColor4, %struct.GLTColor4, float, int } - %struct.GLDClipPlane = type { uint, [6 x %struct.GLTColor4] } - %struct.GLDColorBuffer = type { ushort, ushort, [4 x ushort] } - %struct.GLDColorMatrix = type { [16 x float]*, %struct.GLDImagingColorScale } - %struct.GLDContextRec = type { float, float, float, float, float, float, float, float, %struct.GLTColor4, %struct.GLTColor4, %struct.GLVMFPContext, %struct.GLDTextureMachine, %struct.GLGProcessor, %struct._GLVMConstants*, void (%struct.GLDContextRec*, int, int, %struct.GLVMFragmentAttribRec*, %struct.GLVMFragmentAttribRec*, int)*, %struct._GLVMFunction*, void (%struct.GLDContextRec*, %struct.GLDVertex*)*, void (%struct.GLDContextRec*, %struct.GLDVertex*, %struct.GLDVertex*)*, void (%struct.GLDContextRec*, %struct.GLDVertex*, %struct.GLDVertex*, %struct.GLDVertex*)*, %struct._GLVMFunction*, %struct._GLVMFunction*, %struct._GLVMFunction*, uint, uint, uint, float, float, float, uint, %struct.GLSDrawable, %struct.GLDRect, %struct.GLDFormat, %struct.GLDBufferstate, %struct.GLDSharedRec*, %struct.GLDState*, %struct.GLDPluginState*, %struct.GLTDimensions, %struct.GLTColor4*, %struct.GLTColor4*, %struct.GLVMFragmentAttribRec*, %struct.GLVMFragmentAttribRec*, %struct.GLVMFragmentAttribRec*, %struct.GLDPipelineProgramRec*, %struct.GLDStateProgramRec, %struct.GLVMTextures, { [4 x sbyte*], sbyte*, sbyte* }, [64 x float], %struct.GLDStippleData, ushort, ubyte, ubyte, uint, %struct.GLDFramebufferRec*, ubyte, %struct.GLDQueryRec*, %struct.GLDQueryRec* } - %struct.GLDConvolution = type { %struct.GLTColor4, %struct.GLDImagingColorScale, ushort, ushort, float*, int, int } - %struct.GLDDepthTest = type { ushort, ushort, ubyte, ubyte, ubyte, ubyte, double, double } - %struct.GLDFogMode = type { %struct.GLTColor4, float, float, float, float, float, ushort, ushort, ushort, ubyte, ubyte } - %struct.GLDFormat = type { int, int, int, int, int, int, uint, uint, ubyte, ubyte, ubyte, ubyte, int, int, int } - %struct.GLDFramebufferAttachment = type { uint, uint, uint, int, uint, uint } - %struct.GLDFramebufferData = type { [6 x %struct.GLDFramebufferAttachment], [4 x ushort], ushort, ushort, ushort, ushort, uint } - %struct.GLDFramebufferRec = type { %struct.GLDFramebufferData*, %struct.GLDPluginFramebufferData*, %struct.GLDPixelFormat } - %struct.GLDHintMode = type { ushort, ushort, ushort, ushort, ushort, ushort, ushort, ushort, ushort, ushort } - %struct.GLDHistogram = type { %struct.GLTFixedColor4*, int, ushort, ubyte, ubyte } - %struct.GLDImagingColorScale = type { { float, float }, { float, float }, { float, float }, { float, float } } - %struct.GLDImagingSubset = type { %struct.GLDConvolution, %struct.GLDConvolution, %struct.GLDConvolution, %struct.GLDColorMatrix, %struct.GLDMinmax, %struct.GLDHistogram, %struct.GLDImagingColorScale, %struct.GLDImagingColorScale, %struct.GLDImagingColorScale, %struct.GLDImagingColorScale, uint } - %struct.GLDLight = type { %struct.GLTColor4, %struct.GLTColor4, %struct.GLTColor4, %struct.GLTColor4, %struct.GLTCoord3, float, float, float, float, float, %struct.GLTCoord3, float, float, float, float, float } - %struct.GLDLightModel = type { %struct.GLTColor4, [8 x %struct.GLDLight], [2 x %struct.GLDMaterial], uint, ushort, ushort, ushort, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte } - %struct.GLDLightProduct = type { %struct.GLTColor4, %struct.GLTColor4, %struct.GLTColor4 } - %struct.GLDLineMode = type { float, int, ushort, ushort, ubyte, ubyte, ubyte, ubyte } - %struct.GLDLogicOp = type { ushort, ubyte, ubyte } - %struct.GLDMaskMode = type { uint, [3 x uint], ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte } - %struct.GLDMaterial = type { %struct.GLTColor4, %struct.GLTColor4, %struct.GLTColor4, %struct.GLTColor4, float, float, float, float, [8 x %struct.GLDLightProduct], %struct.GLTColor4, [6 x int], [2 x int] } - %struct.GLDMinmax = type { %struct.GLDMinmaxTable*, ushort, ubyte, ubyte } - %struct.GLDMinmaxTable = type { %struct.GLTColor4, %struct.GLTColor4 } - %struct.GLDMipmaplevel = type { [4 x uint], [4 x float], [4 x uint], [4 x uint], [4 x float], [4 x uint], [3 x uint], uint, float*, float*, float*, uint, uint, sbyte*, short, ushort, ushort, short } - %struct.GLDMultisample = type { float, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte } - %struct.GLDPipelineProgramData = type { ushort, ushort, uint, %struct._PPStreamToken*, ulong, %struct.GLDShaderSourceData*, %struct.GLTColor4*, uint } - %struct.GLDPipelineProgramRec = type { %struct.GLDPipelineProgramData*, %struct._PPStreamToken*, %struct._PPStreamToken*, %struct._GLVMFunction*, uint, uint, uint } - %struct.GLDPipelineProgramState = type { ubyte, ubyte, ubyte, ubyte, %struct.GLTColor4* } - %struct.GLDPixelFormat = type { ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte } - %struct.GLDPixelMap = type { int*, float*, float*, float*, float*, float*, float*, float*, float*, int*, int, int, int, int, int, int, int, int, int, int } - %struct.GLDPixelMode = type { float, float, %struct.GLDPixelStore, %struct.GLDPixelTransfer, %struct.GLDPixelMap, %struct.GLDImagingSubset, uint, uint } - %struct.GLDPixelPack = type { int, int, int, int, int, int, int, int, ubyte, ubyte, ubyte, ubyte } - %struct.GLDPixelStore = type { %struct.GLDPixelPack, %struct.GLDPixelPack } - %struct.GLDPixelTransfer = type { float, float, float, float, float, float, float, float, float, float, int, int, float, float, float, float, float, float, float, float, float, float, float, float } - %struct.GLDPluginFramebufferData = type { [6 x %struct.GLDTextureRec*], uint, uint } - %struct.GLDPluginProgramData = type { [3 x %struct.GLDPipelineProgramRec*], %struct.GLDBufferRec**, uint } - %struct.GLDPluginState = type { [16 x [5 x %struct.GLDTextureRec*]], [3 x %struct.GLDTextureRec*], [16 x %struct.GLDTextureRec*], [3 x %struct.GLDPipelineProgramRec*], %struct.GLDProgramRec*, %struct.GLDVertexArrayRec*, [16 x %struct.GLDBufferRec*], %struct.GLDFramebufferRec*, %struct.GLDFramebufferRec* } - %struct.GLDPointMode = type { float, float, float, float, %struct.GLTCoord3, float, ubyte, ubyte, ubyte, ubyte, ushort, ushort, uint, ushort, ushort } - %struct.GLDPolygonMode = type { [128 x ubyte], float, float, ushort, ushort, ushort, ushort, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte } - %struct.GLDProgramData = type { uint, [16 x int], int, int, uint, int } - %struct.GLDProgramRec = type { %struct.GLDProgramData*, %struct.GLDPluginProgramData*, uint } - %struct.GLDQueryRec = type { uint, uint, %struct.GLDQueryRec* } - %struct.GLDRect = type { int, int, int, int, int, int } - %struct.GLDRegisterCombiners = type { ubyte, ubyte, ubyte, ubyte, int, [2 x %struct.GLTColor4], [8 x %struct.GLDRegisterCombinersPerStageState], %struct.GLDRegisterCombinersFinalStageState } - %struct.GLDRegisterCombinersFinalStageState = type { ubyte, ubyte, ubyte, ubyte, [7 x %struct.GLDRegisterCombinersPerVariableState] } - %struct.GLDRegisterCombinersPerPortionState = type { [4 x %struct.GLDRegisterCombinersPerVariableState], ubyte, ubyte, ubyte, ubyte, ushort, ushort, ushort, ushort, ushort, ushort } - %struct.GLDRegisterCombinersPerStageState = type { [2 x %struct.GLDRegisterCombinersPerPortionState], [2 x %struct.GLTColor4] } - %struct.GLDRegisterCombinersPerVariableState = type { ushort, ushort, ushort, ushort } - %struct.GLDScissorTest = type { %struct.GLTFixedColor4, ubyte, ubyte, ubyte, ubyte } - %struct.GLDShaderSourceData = type { uint, uint, sbyte*, int*, uint, uint, sbyte*, int*, sbyte* } - %struct.GLDSharedRec = type opaque - %struct.GLDState = type { short, short, uint, uint, uint, [256 x %struct.GLTColor4], [128 x %struct.GLTColor4], %struct.GLDViewport, %struct.GLDTransform, %struct.GLDLightModel, uint*, int, int, int, %struct.GLDAlphaTest, %struct.GLDBlendMode, %struct.GLDClearColor, %struct.GLDColorBuffer, %struct.GLDDepthTest, %struct.GLDArrayRange, %struct.GLDFogMode, %struct.GLDHintMode, %struct.GLDLineMode, %struct.GLDLogicOp, %struct.GLDMaskMode, %struct.GLDPixelMode, %struct.GLDPointMode, %struct.GLDPolygonMode, %struct.GLDScissorTest, uint, %struct.GLDStencilTest, [16 x %struct.GLDTextureMode], %struct.GLDArrayRange, [8 x %struct.GLDTextureCoordGen], %struct.GLDClipPlane, %struct.GLDMultisample, %struct.GLDRegisterCombiners, %struct.GLDArrayRange, %struct.GLDArrayRange, [3 x %struct.GLDPipelineProgramState], %struct.GLDTransformFeedback } - %struct.GLDStateProgramRec = type { %struct.GLDPipelineProgramData*, %struct.GLDPipelineProgramRec* } - %struct.GLDStencilTest = type { [3 x { uint, int, ushort, ushort, ushort, ushort }], uint, [4 x ubyte] } - %struct.GLDStippleData = type { uint, ushort, ushort, [32 x [32 x ubyte]] } - %struct.GLDTextureCoordGen = type { { ushort, ushort, %struct.GLTColor4, %struct.GLTColor4 }, { ushort, ushort, %struct.GLTColor4, %struct.GLTColor4 }, { ushort, ushort, %struct.GLTColor4, %struct.GLTColor4 }, { ushort, ushort, %struct.GLTColor4, %struct.GLTColor4 }, ubyte, ubyte, ubyte, ubyte } - %struct.GLDTextureGeomState = type { ushort, ushort, ushort, ushort, ushort, ubyte, ubyte, ushort, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, [6 x ushort], [6 x ushort] } - %struct.GLDTextureLevel = type { uint, uint, ushort, ushort, ushort, ubyte, ubyte, ushort, ushort, ushort, ushort, ubyte* } - %struct.GLDTextureMachine = type { [8 x %struct.GLDTextureRec*], %struct.GLDTextureRec*, ubyte, ubyte, ubyte, ubyte } - %struct.GLDTextureMode = type { %struct.GLTColor4, uint, ushort, ushort, ushort, ushort, ushort, ushort, ushort, ushort, ushort, ushort, ushort, ushort, ushort, ushort, ushort, ushort, float, float, float, ushort, ushort, ushort, ushort, ushort, ushort, [4 x ushort], ubyte, ubyte, ubyte, ubyte, [3 x float], [4 x float], float, float } - %struct.GLDTextureParamState = type { ushort, ushort, ushort, ushort, ushort, ushort, %struct.GLTColor4, float, float, float, float, short, short, ushort, ushort, float, ushort, ubyte, ubyte, int, sbyte* } - %struct.GLDTextureRec = type { %struct.GLDTextureState*, int, [2 x float], float, uint, float, float, float, float, float, float, %struct.GLDMipmaplevel*, %struct.GLDMipmaplevel*, int, int, uint, uint, uint, uint, %struct.GLDTextureParamState, uint, [2 x %struct._PPStreamToken] } - %struct.GLDTextureState = type { ushort, ushort, ushort, float, uint, ushort, %struct.GLISWRSurface*, ubyte, ubyte, ubyte, ubyte, %struct.GLDTextureParamState, %struct.GLDTextureGeomState, %struct.GLDTextureLevel, [6 x [15 x %struct.GLDTextureLevel]] } - %struct.GLDTransform = type { [24 x [16 x float]], [24 x [16 x float]], [16 x float], float, float, float, float, int, float, ushort, ushort, ubyte, ubyte, ubyte, ubyte } - %struct.GLDTransformFeedback = type { ubyte, ubyte, ubyte, [16 x uint], [16 x uint] } - %struct.GLDVertex = type { %struct.GLTColor4, %struct.GLTColor4, %struct.GLTColor4, %struct.GLTColor4, %struct.GLTColor4, %struct.GLTCoord3, float, %struct.GLTColor4, float, float, float, ubyte, ubyte, ubyte, ubyte, [4 x float], [2 x %struct.GLDMaterial*], uint, uint, [8 x %struct.GLTColor4] } - %struct.GLDVertexArrayRec = type opaque - %struct.GLDViewport = type { float, float, float, float, float, float, float, float, double, double, int, int, int, int, float, float, float, float } - %struct.GLGColorTable = type { uint, uint, int, sbyte* } - %struct.GLGOperation = type { sbyte*, sbyte*, int, uint, uint, int, uint, uint, uint, uint, uint, uint, uint, float, float, %struct.GLGColorTable, %struct.GLGColorTable, %struct.GLGColorTable } - %struct.GLGProcessor = type { void (%struct.GLDPixelMode*, %struct.GLGOperation*, %struct._GLGFunctionKey*)*, %struct._GLVMFunction*, %struct._GLGFunctionKey* } - %struct.GLISWRSurface = type { int, int, int, int, int, int, int, int, int, int, ubyte*, ubyte*, ubyte*, [4 x ubyte*], uint } - %struct.GLIWindow = type { uint, uint, uint } - %struct.GLSBuffer = type { sbyte* } - %struct.GLSDrawable = type { %struct.GLSWindowRec* } - %struct.GLSWindowRec = type { %struct.GLTDimensions, %struct.GLTDimensions, uint, uint, %struct.GLSDrawable, [2 x ubyte*], ubyte*, ubyte*, ubyte*, [4 x ubyte*], uint, uint, uint, uint, [4 x uint], ushort, ushort, ushort, %struct.GLIWindow, uint, uint, sbyte*, ubyte* } - %struct.GLTColor4 = type { float, float, float, float } - %struct.GLTCoord3 = type { float, float, float } - %struct.GLTDimensions = type { int, int } - %struct.GLTFixedColor4 = type { int, int, int, int } - %struct.GLVMFPContext = type { float, uint, uint, uint } - %struct.GLVMFragmentAttribRec = type { <4 x float>, <4 x float>, <4 x float>, <4 x float>, [8 x <4 x float>] } - %struct.GLVMTextures = type { [8 x %struct.GLDTextureRec*] } - %struct._GLGFunctionKey = type opaque - %struct._GLVMConstants = type opaque - %struct._GLVMFunction = type opaque - %struct._PPStreamToken = type { { ushort, ubyte, ubyte, uint } } - -implementation ; Functions: - -void %gldLLVMVecPointRender(%struct.GLDContextRec* %ctx) { -entry: - %tmp.uip = getelementptr %struct.GLDContextRec* %ctx, int 0, uint 22 ; <uint*> [#uses=1] - %tmp = load uint* %tmp.uip ; <uint> [#uses=3] - %tmp91 = lshr uint %tmp, ubyte 5 ; <uint> [#uses=1] - %tmp92 = trunc uint %tmp91 to bool ; <bool> [#uses=1] - br bool %tmp92, label %cond_true93, label %cond_next116 - -cond_true93: ; preds = %entry - %tmp = getelementptr %struct.GLDContextRec* %ctx, int 0, uint 31, uint 14 ; <int*> [#uses=1] - %tmp95 = load int* %tmp ; <int> [#uses=1] - %tmp95 = sitofp int %tmp95 to float ; <float> [#uses=1] - %tmp108 = mul float undef, %tmp95 ; <float> [#uses=1] - br label %cond_next116 - -cond_next116: ; preds = %cond_true93, %entry - %point_size.2 = phi float [ %tmp108, %cond_true93 ], [ undef, %entry ] ; <float> [#uses=2] - %tmp457 = setlt float %point_size.2, 1.000000e+00 ; <bool> [#uses=1] - %tmp460 = lshr uint %tmp, ubyte 6 ; <uint> [#uses=1] - %tmp461 = trunc uint %tmp460 to bool ; <bool> [#uses=1] - br bool %tmp457, label %cond_true458, label %cond_next484 - -cond_true458: ; preds = %cond_next116 - br bool %tmp461, label %cond_true462, label %cond_next487 - -cond_true462: ; preds = %cond_true458 - %tmp26 = bitcast uint %tmp to int ; <int> [#uses=1] - %tmp465 = and int %tmp26, 128 ; <int> [#uses=1] - %tmp466 = seteq int %tmp465, 0 ; <bool> [#uses=1] - br bool %tmp466, label %cond_true467, label %cond_next487 - -cond_true467: ; preds = %cond_true462 - ret void - -cond_next484: ; preds = %cond_next116 - %tmp486 = mul float %point_size.2, 5.000000e-01 ; <float> [#uses=1] - br label %cond_next487 - -cond_next487: ; preds = %cond_next484, %cond_true462, %cond_true458 - %radius.0 = phi float [ %tmp486, %cond_next484 ], [ 5.000000e-01, %cond_true458 ], [ 5.000000e-01, %cond_true462 ] ; <float> [#uses=2] - %tmp494 = insertelement <4 x float> zeroinitializer, float %radius.0, uint 2 ; <<4 x float>> [#uses=1] - %tmp495 = insertelement <4 x float> %tmp494, float %radius.0, uint 3 ; <<4 x float>> [#uses=0] - ret void -} diff --git a/llvm/test/Regression/Transforms/SCCP/2006-12-19-UndefBug.ll b/llvm/test/Regression/Transforms/SCCP/2006-12-19-UndefBug.ll deleted file mode 100644 index e991818b6c9..00000000000 --- a/llvm/test/Regression/Transforms/SCCP/2006-12-19-UndefBug.ll +++ /dev/null @@ -1,7 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp | llvm-dis | \ -; RUN: grep 'ret i1 false' - -bool %foo() { - %X = and bool false, undef - ret bool %X -} diff --git a/llvm/test/Regression/Transforms/SCCP/basictest.ll b/llvm/test/Regression/Transforms/SCCP/basictest.ll deleted file mode 100644 index 417f847e64a..00000000000 --- a/llvm/test/Regression/Transforms/SCCP/basictest.ll +++ /dev/null @@ -1,16 +0,0 @@ -; This is a basic sanity check for constant propogation. The add instruction -; should be eliminated. - -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp | llvm-dis | not grep add - -int %test(bool %B) { - br bool %B, label %BB1, label %BB2 -BB1: - %Val = add int 0, 0 - br label %BB3 -BB2: - br label %BB3 -BB3: - %Ret = phi int [%Val, %BB1], [1, %BB2] - ret int %Ret -} diff --git a/llvm/test/Regression/Transforms/SCCP/calltest.ll b/llvm/test/Regression/Transforms/SCCP/calltest.ll deleted file mode 100644 index 2e46b691832..00000000000 --- a/llvm/test/Regression/Transforms/SCCP/calltest.ll +++ /dev/null @@ -1,24 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp -adce -simplifycfg | llvm-dis | not grep br - -; No matter how hard you try, sqrt(1.0) is always 1.0. This allows the -; optimizer to delete this loop. - -declare double %sqrt(double) - -double %test(uint %param) { -entry: - br label %Loop - -Loop: - %I2 = phi uint [ 0, %entry ], [ %I3, %Loop ] - %V = phi double [ 1.0, %entry], [ %V2, %Loop ] - - %V2 = call double %sqrt(double %V) - - %I3 = add uint %I2, 1 - %tmp.7 = setne uint %I3, %param - br bool %tmp.7, label %Loop, label %Exit - -Exit: - ret double %V -} diff --git a/llvm/test/Regression/Transforms/SCCP/dg.exp b/llvm/test/Regression/Transforms/SCCP/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/SCCP/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/SCCP/ipsccp-basic.ll b/llvm/test/Regression/Transforms/SCCP/ipsccp-basic.ll deleted file mode 100644 index 2c42dface54..00000000000 --- a/llvm/test/Regression/Transforms/SCCP/ipsccp-basic.ll +++ /dev/null @@ -1,13 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -ipsccp | llvm-dis | grep -v 'ret i32 17' | grep -v 'ret i32 undef' | not grep ret - -implementation - -internal int %bar(int %A) { - %X = add int 1, 2 - ret int %A -} - -int %foo() { - %X = call int %bar(int 17) - ret int %X -} diff --git a/llvm/test/Regression/Transforms/SCCP/ipsccp-conditional.ll b/llvm/test/Regression/Transforms/SCCP/ipsccp-conditional.ll deleted file mode 100644 index 5f06df3e8e1..00000000000 --- a/llvm/test/Regression/Transforms/SCCP/ipsccp-conditional.ll +++ /dev/null @@ -1,19 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -ipsccp | llvm-dis | grep -v 'ret i32 0' | grep -v 'ret i32 undef' | not grep ret - -implementation - -internal int %bar(int %A) { - %C = seteq int %A, 0 - br bool %C, label %T, label %F -T: - %B = call int %bar(int 0) - ret int 0 -F: ; unreachable - %C = call int %bar(int 1) - ret int %C -} - -int %foo() { - %X = call int %bar(int 0) - ret int %X -} diff --git a/llvm/test/Regression/Transforms/SCCP/ipsccp-gvar.ll b/llvm/test/Regression/Transforms/SCCP/ipsccp-gvar.ll deleted file mode 100644 index d76b4810cb0..00000000000 --- a/llvm/test/Regression/Transforms/SCCP/ipsccp-gvar.ll +++ /dev/null @@ -1,23 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -ipsccp | llvm-dis | not grep global - -%G = internal global int undef - -implementation - -void %foo() { - %X = load int* %G - store int %X, int* %G - ret void -} - -int %bar() { - %V = load int* %G - %C = seteq int %V, 17 - br bool %C, label %T, label %F -T: - store int 17, int* %G - ret int %V -F: - store int 123, int* %G - ret int 0 -} diff --git a/llvm/test/Regression/Transforms/SCCP/loadtest.ll b/llvm/test/Regression/Transforms/SCCP/loadtest.ll deleted file mode 100644 index 99da7285cf2..00000000000 --- a/llvm/test/Regression/Transforms/SCCP/loadtest.ll +++ /dev/null @@ -1,26 +0,0 @@ -; This test makes sure that these instructions are properly constant propagated. -; - -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp | llvm-dis | not grep load - -%X = constant int 42 -%Y = constant [2 x { int, float }] [ { int, float } { int 12, float 1.0 }, - { int, float } { int 37, float 1.2312 } ] -int %test1() { - %B = load int* %X - ret int %B -} - -float %test2() { - %A = getelementptr [2 x { int, float}]* %Y, long 0, long 1, uint 1 - %B = load float* %A - ret float %B -} - -int %test3() { - %A = getelementptr [2 x { int, float}]* %Y, long 0, long 0, uint 0 - %B = load int* %A - ret int %B -} - - diff --git a/llvm/test/Regression/Transforms/SCCP/logical-nuke.ll b/llvm/test/Regression/Transforms/SCCP/logical-nuke.ll deleted file mode 100644 index c0a555a3002..00000000000 --- a/llvm/test/Regression/Transforms/SCCP/logical-nuke.ll +++ /dev/null @@ -1,8 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp | llvm-dis | grep 'ret i32 0' - -; Test that SCCP has basic knowledge of when and/or nuke overdefined values. - -int %test(int %X) { - %Y = and int %X, 0 - ret int %Y -} diff --git a/llvm/test/Regression/Transforms/SCCP/phitest.ll b/llvm/test/Regression/Transforms/SCCP/phitest.ll deleted file mode 100644 index cdbdb2ce08a..00000000000 --- a/llvm/test/Regression/Transforms/SCCP/phitest.ll +++ /dev/null @@ -1,23 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp -dce -simplifycfg | llvm-dis | not grep br - -int %test(int %param) { -entry: - %tmp.1 = setne int %param, 0 - br bool %tmp.1, label %endif.0, label %else - -else: - br label %endif.0 - -endif.0: - %a.0 = phi int [ 2, %else ], [ 3, %entry ] - %b.0 = phi int [ 3, %else ], [ 2, %entry ] - %tmp.5 = add int %a.0, %b.0 - %tmp.7 = setne int %tmp.5, 5 - br bool %tmp.7, label %UnifiedReturnBlock, label %endif.1 - -endif.1: - ret int 0 - -UnifiedReturnBlock: - ret int 2 -} diff --git a/llvm/test/Regression/Transforms/SCCP/sccptest.ll b/llvm/test/Regression/Transforms/SCCP/sccptest.ll deleted file mode 100644 index 6fae7ce957d..00000000000 --- a/llvm/test/Regression/Transforms/SCCP/sccptest.ll +++ /dev/null @@ -1,34 +0,0 @@ -; This is the test case taken from appel's book that illustrates a hard case -; that SCCP gets right. BB3 should be completely eliminated. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp -constprop -dce -cfgsimplify | llvm-dis | not grep BB3 - -int %testfunction(int %i0, int %j0) { -BB1: - br label %BB2 -BB2: - %j2 = phi int [%j4, %BB7], [1, %BB1] - %k2 = phi int [%k4, %BB7], [0, %BB1] - %kcond = setlt int %k2, 100 - br bool %kcond, label %BB3, label %BB4 - -BB3: - %jcond = setlt int %j2, 20 - br bool %jcond, label %BB5, label %BB6 - -BB4: - ret int %j2 - -BB5: - %k3 = add int %k2, 1 - br label %BB7 - -BB6: - %k5 = add int %k2, 1 - br label %BB7 - -BB7: - %j4 = phi int [1, %BB5], [%k2, %BB6] - %k4 = phi int [%k3, %BB5], [%k5, %BB6] - br label %BB2 -} diff --git a/llvm/test/Regression/Transforms/SCCP/select.ll b/llvm/test/Regression/Transforms/SCCP/select.ll deleted file mode 100644 index 0209681c787..00000000000 --- a/llvm/test/Regression/Transforms/SCCP/select.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp | llvm-dis | not grep select - -int %test1(bool %C) { - %X = select bool %C, int 0, int 0 - ret int %X -} - -int %test2(bool %C) { - %X = select bool %C, int 0, int undef - ret int %X -} diff --git a/llvm/test/Regression/Transforms/ScalarRepl/.cvsignore b/llvm/test/Regression/Transforms/ScalarRepl/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/ScalarRepl/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/ScalarRepl/2003-05-29-ArrayFail.ll b/llvm/test/Regression/Transforms/ScalarRepl/2003-05-29-ArrayFail.ll deleted file mode 100644 index fb6b1dad4ef..00000000000 --- a/llvm/test/Regression/Transforms/ScalarRepl/2003-05-29-ArrayFail.ll +++ /dev/null @@ -1,11 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl | llvm-dis | grep alloca | grep '4 x' - -; Test that an array is not incorrectly deconstructed... - -int %test() { - %X = alloca [4 x int] - %Y = getelementptr [4 x int]* %X, long 0, long 0 - %Z = getelementptr int* %Y, long 1 ; Must preserve arrayness! - %A = load int* %Z - ret int %A -} diff --git a/llvm/test/Regression/Transforms/ScalarRepl/2003-05-30-InvalidIndices.ll b/llvm/test/Regression/Transforms/ScalarRepl/2003-05-30-InvalidIndices.ll deleted file mode 100644 index a66e575e88a..00000000000 --- a/llvm/test/Regression/Transforms/ScalarRepl/2003-05-30-InvalidIndices.ll +++ /dev/null @@ -1,7 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl - -void %main() { - %E = alloca { { int, float, double, long }, { int, float, double, long } } ; <{ { int, float, double, long }, { int, float, double, long } }*> [#uses=1] - %tmp.151 = getelementptr { { int, float, double, long }, { int, float, double, long } }* %E, long 0, uint 1, uint 3 ; <long*> [#uses=0] - ret void -} diff --git a/llvm/test/Regression/Transforms/ScalarRepl/2003-05-30-MultiLevel.ll b/llvm/test/Regression/Transforms/ScalarRepl/2003-05-30-MultiLevel.ll deleted file mode 100644 index 20beadc502e..00000000000 --- a/llvm/test/Regression/Transforms/ScalarRepl/2003-05-30-MultiLevel.ll +++ /dev/null @@ -1,9 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl - -int %test() { - %X = alloca { [ 4 x int] } - %Y = getelementptr { [ 4 x int] }* %X, long 0, uint 0, long 2 - store int 4, int* %Y - %Z = load int* %Y - ret int %Z -} diff --git a/llvm/test/Regression/Transforms/ScalarRepl/2003-09-12-IncorrectPromote.ll b/llvm/test/Regression/Transforms/ScalarRepl/2003-09-12-IncorrectPromote.ll deleted file mode 100644 index 5bf1c5358b6..00000000000 --- a/llvm/test/Regression/Transforms/ScalarRepl/2003-09-12-IncorrectPromote.ll +++ /dev/null @@ -1,11 +0,0 @@ -; Scalar replacement was incorrectly promoting this alloca!! -; -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl | llvm-dis | sed 's/;.*//g' | grep '\[' - -sbyte *%test() { - %A = alloca [30 x sbyte] - %B = getelementptr [30 x sbyte]* %A, long 0, long 0 - %C = getelementptr sbyte* %B, long 1 - store sbyte 0, sbyte* %B - ret sbyte* %C -} diff --git a/llvm/test/Regression/Transforms/ScalarRepl/2003-10-29-ArrayProblem.ll b/llvm/test/Regression/Transforms/ScalarRepl/2003-10-29-ArrayProblem.ll deleted file mode 100644 index 742db46f298..00000000000 --- a/llvm/test/Regression/Transforms/ScalarRepl/2003-10-29-ArrayProblem.ll +++ /dev/null @@ -1,14 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl | llvm-dis | grep alloca | grep '{' -implementation ; Functions: - -declare int %.callback_1(sbyte*) -declare void %.iter_2(int (sbyte*)*, sbyte*) - -int %main() { - %d = alloca { [80 x sbyte], int, uint } - %tmp.0 = getelementptr { [80 x sbyte], int, uint }* %d, long 0, uint 2 - store uint 0, uint* %tmp.0 - %tmp.1 = getelementptr { [80 x sbyte], int, uint }* %d, long 0, uint 0, long 0 - call void %.iter_2( int (sbyte*)* %.callback_1, sbyte* %tmp.1 ) - ret int 0 -} diff --git a/llvm/test/Regression/Transforms/ScalarRepl/2005-12-14-UnionPromoteCrash.ll b/llvm/test/Regression/Transforms/ScalarRepl/2005-12-14-UnionPromoteCrash.ll deleted file mode 100644 index f7f15932480..00000000000 --- a/llvm/test/Regression/Transforms/ScalarRepl/2005-12-14-UnionPromoteCrash.ll +++ /dev/null @@ -1,34 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl -disable-output -target endian = big -target pointersize = 32 - %struct.rtx_def = type { [2 x ubyte], int, [1 x %union.rtunion_def] } - %union.rtunion_def = type { uint } - -implementation ; Functions: - -void %find_reloads() { -entry: - %c_addr.i = alloca sbyte ; <sbyte*> [#uses=1] - switch uint 0, label %return [ - uint 36, label %label.7 - uint 34, label %label.7 - uint 41, label %label.5 - ] - -label.5: ; preds = %entry - ret void - -label.7: ; preds = %entry, %entry - br bool false, label %then.4, label %switchexit.0 - -then.4: ; preds = %label.7 - %tmp.0.i = cast sbyte* %c_addr.i to int* ; <int*> [#uses=1] - store int 44, int* %tmp.0.i - ret void - -switchexit.0: ; preds = %label.7 - ret void - -return: ; preds = %entry - ret void -} diff --git a/llvm/test/Regression/Transforms/ScalarRepl/2006-01-24-IllegalUnionPromoteCrash.ll b/llvm/test/Regression/Transforms/ScalarRepl/2006-01-24-IllegalUnionPromoteCrash.ll deleted file mode 100644 index d9749319411..00000000000 --- a/llvm/test/Regression/Transforms/ScalarRepl/2006-01-24-IllegalUnionPromoteCrash.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl -disable-output - -target endian = big -target pointersize = 32 - -int %test(long %L) { - %X = alloca int - %Y = cast int* %X to ulong* - store ulong 0, ulong* %Y - %Z = load int *%X - ret int %Z -} diff --git a/llvm/test/Regression/Transforms/ScalarRepl/2006-04-20-PromoteCrash.ll b/llvm/test/Regression/Transforms/ScalarRepl/2006-04-20-PromoteCrash.ll deleted file mode 100644 index a4d39334fa2..00000000000 --- a/llvm/test/Regression/Transforms/ScalarRepl/2006-04-20-PromoteCrash.ll +++ /dev/null @@ -1,18 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl -disable-output - -void %output_toc() { -entry: - %buf = alloca [256 x sbyte], align 16 ; <[256 x sbyte]*> [#uses=1] - %name = alloca sbyte*, align 4 ; <sbyte**> [#uses=1] - %real_name = alloca sbyte*, align 4 ; <sbyte**> [#uses=0] - "alloca point" = cast int 0 to int ; <int> [#uses=0] - %buf = cast [256 x sbyte]* %buf to sbyte* ; <sbyte*> [#uses=1] - store sbyte* %buf, sbyte** %name - call void %abort( ) - unreachable - -return: ; No predecessors! - ret void -} - -declare void %abort() diff --git a/llvm/test/Regression/Transforms/ScalarRepl/2006-10-23-PointerUnionCrash.ll b/llvm/test/Regression/Transforms/ScalarRepl/2006-10-23-PointerUnionCrash.ll deleted file mode 100644 index 9fcf16d4ee8..00000000000 --- a/llvm/test/Regression/Transforms/ScalarRepl/2006-10-23-PointerUnionCrash.ll +++ /dev/null @@ -1,75 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl -disable-output - -target datalayout = "e-p:32:32" -target endian = little -target pointersize = 32 -target triple = "i686-apple-darwin8.7.2" - -implementation ; Functions: - -void %glgProcessColor() { -entry: - %source_ptr = alloca sbyte*, align 4 ; <sbyte**> [#uses=2] - br bool false, label %bb1357, label %cond_next583 - -cond_next583: ; preds = %entry - ret void - -bb1357: ; preds = %entry - br bool false, label %bb1365, label %bb27055 - -bb1365: ; preds = %bb1357 - switch uint 0, label %cond_next10377 [ - uint 0, label %bb4679 - uint 1, label %bb4679 - uint 2, label %bb4679 - uint 3, label %bb4679 - uint 4, label %bb5115 - uint 5, label %bb6651 - uint 6, label %bb7147 - uint 7, label %bb8683 - uint 8, label %bb9131 - uint 9, label %bb9875 - uint 10, label %bb4679 - uint 11, label %bb4859 - uint 12, label %bb4679 - uint 16, label %bb10249 - ] - -bb4679: ; preds = %bb1365, %bb1365, %bb1365, %bb1365, %bb1365, %bb1365 - ret void - -bb4859: ; preds = %bb1365 - ret void - -bb5115: ; preds = %bb1365 - ret void - -bb6651: ; preds = %bb1365 - ret void - -bb7147: ; preds = %bb1365 - ret void - -bb8683: ; preds = %bb1365 - ret void - -bb9131: ; preds = %bb1365 - ret void - -bb9875: ; preds = %bb1365 - %source_ptr9884 = cast sbyte** %source_ptr to ubyte** ; <ubyte**> [#uses=1] - %tmp9885 = load ubyte** %source_ptr9884 ; <ubyte*> [#uses=0] - ret void - -bb10249: ; preds = %bb1365 - %source_ptr10257 = cast sbyte** %source_ptr to ushort** ; <ushort**> [#uses=1] - %tmp10258 = load ushort** %source_ptr10257 ; <ushort*> [#uses=0] - ret void - -cond_next10377: ; preds = %bb1365 - ret void - -bb27055: ; preds = %bb1357 - ret void -} diff --git a/llvm/test/Regression/Transforms/ScalarRepl/2006-11-07-InvalidArrayPromote.ll b/llvm/test/Regression/Transforms/ScalarRepl/2006-11-07-InvalidArrayPromote.ll deleted file mode 100644 index 82bb1edd7f1..00000000000 --- a/llvm/test/Regression/Transforms/ScalarRepl/2006-11-07-InvalidArrayPromote.ll +++ /dev/null @@ -1,19 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl | llvm-dis && -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl | llvm-dis | grep -F 'alloca [2 x <4 x i32>]' - -int %func(<4 x float> %v0, <4 x float> %v1) { - %vsiidx = alloca [2 x <4 x int>], align 16 ; <[2 x <4 x int>]*> [#uses=3] - %tmp = call <4 x int> %llvm.x86.sse2.cvttps2dq( <4 x float> %v0 ) ; <<4 x int>> [#uses=2] - %tmp = cast <4 x int> %tmp to <2 x long> ; <<2 x long>> [#uses=0] - %tmp = getelementptr [2 x <4 x int>]* %vsiidx, int 0, int 0 ; <<4 x int>*> [#uses=1] - store <4 x int> %tmp, <4 x int>* %tmp - %tmp10 = call <4 x int> %llvm.x86.sse2.cvttps2dq( <4 x float> %v1 ) ; <<4 x int>> [#uses=2] - %tmp10 = cast <4 x int> %tmp10 to <2 x long> ; <<2 x long>> [#uses=0] - %tmp14 = getelementptr [2 x <4 x int>]* %vsiidx, int 0, int 1 ; <<4 x int>*> [#uses=1] - store <4 x int> %tmp10, <4 x int>* %tmp14 - %tmp15 = getelementptr [2 x <4 x int>]* %vsiidx, int 0, int 0, int 4 ; <int*> [#uses=1] - %tmp = load int* %tmp15 ; <int> [#uses=1] - ret int %tmp -} - -declare <4 x int> %llvm.x86.sse2.cvttps2dq(<4 x float>) diff --git a/llvm/test/Regression/Transforms/ScalarRepl/2006-12-11-SROA-Crash.ll b/llvm/test/Regression/Transforms/ScalarRepl/2006-12-11-SROA-Crash.ll deleted file mode 100644 index 0b87a63e399..00000000000 --- a/llvm/test/Regression/Transforms/ScalarRepl/2006-12-11-SROA-Crash.ll +++ /dev/null @@ -1,24 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl -disable-output -; PR1045 - -target datalayout = "e-p:32:32" -target endian = little -target pointersize = 32 -target triple = "i686-pc-linux-gnu" - "struct.__gnu_cxx::balloc::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*>" = type { "struct.__gnu_cxx::bitmap_allocator<char>::_Alloc_block"* } - "struct.__gnu_cxx::bitmap_allocator<char>" = type { ubyte } - "struct.__gnu_cxx::bitmap_allocator<char>::_Alloc_block" = type { [8 x sbyte] } - -implementation ; Functions: - -void %_ZN9__gnu_cxx16bitmap_allocatorIwE27_M_deallocate_single_objectEPw() { -entry: - %this_addr.i = alloca "struct.__gnu_cxx::balloc::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*>"* ; <"struct.__gnu_cxx::balloc::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*>"**> [#uses=3] - %tmp = alloca "struct.__gnu_cxx::balloc::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*>", align 4 ; <"struct.__gnu_cxx::balloc::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*>"*> [#uses=1] - store "struct.__gnu_cxx::balloc::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*>"* %tmp, "struct.__gnu_cxx::balloc::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*>"** %this_addr.i - %tmp.i = load "struct.__gnu_cxx::balloc::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*>"** %this_addr.i ; <"struct.__gnu_cxx::balloc::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*>"*> [#uses=1] - %tmp.i = bitcast "struct.__gnu_cxx::balloc::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*>"* %tmp.i to "struct.__gnu_cxx::bitmap_allocator<char>"* ; <"struct.__gnu_cxx::bitmap_allocator<char>"*> [#uses=0] - %tmp1.i = load "struct.__gnu_cxx::balloc::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*>"** %this_addr.i ; <"struct.__gnu_cxx::balloc::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*>"*> [#uses=1] - %tmp.i = getelementptr "struct.__gnu_cxx::balloc::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*>"* %tmp1.i, int 0, uint 0 ; <"struct.__gnu_cxx::bitmap_allocator<char>::_Alloc_block"**> [#uses=0] - unreachable -} diff --git a/llvm/test/Regression/Transforms/ScalarRepl/AggregatePromote.ll b/llvm/test/Regression/Transforms/ScalarRepl/AggregatePromote.ll deleted file mode 100644 index ea16b5e5eea..00000000000 --- a/llvm/test/Regression/Transforms/ScalarRepl/AggregatePromote.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl | llvm-dis | not grep alloca && -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl -disable-output - -target endian = big -target pointersize = 32 -target triple = "powerpc-apple-darwin8.0.0" - -long %test1(long %X) { - %A = alloca long - store long %X, long* %A - %B = cast long* %A to int* - %C = cast int* %B to sbyte* - store sbyte 0, sbyte* %C - %Y = load long *%A - ret long %Y -} - - -sbyte %test2(long %X) { - %X_addr = alloca long ; <long*> [#uses=2] - store long %X, long* %X_addr - %tmp.0 = cast long* %X_addr to int* ; <int*> [#uses=1] - %tmp.1 = getelementptr int* %tmp.0, int 1 ; <int*> [#uses=1] - %tmp.2 = cast int* %tmp.1 to sbyte* - %tmp.3 = getelementptr sbyte* %tmp.2, int 3 - %tmp.2 = load sbyte* %tmp.3 ; <int> [#uses=1] - ret sbyte %tmp.2 -} - -short %crafty(long %X) { - %a = alloca { long } - %tmp.0 = getelementptr { long }* %a, int 0, uint 0 ; <long*> [#uses=1] - store long %X, long* %tmp.0 - %tmp.3 = cast { long }* %a to [4 x short]* ; <[4 x short]*> [#uses=2] - %tmp.4 = getelementptr [4 x short]* %tmp.3, int 0, int 3 ; <short*> [#uses=1] - %tmp.5 = load short* %tmp.4 ; <short> [#uses=1] - %tmp.8 = getelementptr [4 x short]* %tmp.3, int 0, int 2 ; <short*> [#uses=1] - %tmp.9 = load short* %tmp.8 ; <short> [#uses=1] - %tmp.10 = or short %tmp.9, %tmp.5 ; <short> [#uses=1] - ret short %tmp.10 -} - -short %crafty2(long %X) { - %a = alloca long - store long %X, long* %a - %tmp.3 = cast long* %a to [4 x short]* ; <[4 x short]*> [#uses=2] - %tmp.4 = getelementptr [4 x short]* %tmp.3, int 0, int 3 ; <short*> [#uses=1] - %tmp.5 = load short* %tmp.4 ; <short> [#uses=1] - %tmp.8 = getelementptr [4 x short]* %tmp.3, int 0, int 2 ; <short*> [#uses=1] - %tmp.9 = load short* %tmp.8 ; <short> [#uses=1] - %tmp.10 = or short %tmp.9, %tmp.5 ; <short> [#uses=1] - ret short %tmp.10 -} - diff --git a/llvm/test/Regression/Transforms/ScalarRepl/arraytest.ll b/llvm/test/Regression/Transforms/ScalarRepl/arraytest.ll deleted file mode 100644 index e6fe1a63793..00000000000 --- a/llvm/test/Regression/Transforms/ScalarRepl/arraytest.ll +++ /dev/null @@ -1,10 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl -mem2reg | llvm-dis | not grep alloca - -int %test() { - %X = alloca [ 4 x int ] - %Y = getelementptr [4x int]* %X, long 0, long 0 - store int 0, int* %Y - - %Z = load int* %Y - ret int %Z -} diff --git a/llvm/test/Regression/Transforms/ScalarRepl/badarray.ll b/llvm/test/Regression/Transforms/ScalarRepl/badarray.ll deleted file mode 100644 index f525255b41f..00000000000 --- a/llvm/test/Regression/Transforms/ScalarRepl/badarray.ll +++ /dev/null @@ -1,10 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl -mem2reg | llvm-dis | grep alloca - -int %test() { - %X = alloca [ 4 x int ] - %Y = getelementptr [4x int]* %X, long 0, long 6 ; Off end of array! - store int 0, int* %Y - - %Z = load int* %Y - ret int %Z -} diff --git a/llvm/test/Regression/Transforms/ScalarRepl/basictest.ll b/llvm/test/Regression/Transforms/ScalarRepl/basictest.ll deleted file mode 100644 index b7e0a295e38..00000000000 --- a/llvm/test/Regression/Transforms/ScalarRepl/basictest.ll +++ /dev/null @@ -1,10 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl -mem2reg | llvm-dis | not grep alloca - -int %test() { - %X = alloca { int, float } - %Y = getelementptr {int,float}* %X, long 0, uint 0 - store int 0, int* %Y - - %Z = load int* %Y - ret int %Z -} diff --git a/llvm/test/Regression/Transforms/ScalarRepl/dg.exp b/llvm/test/Regression/Transforms/ScalarRepl/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/ScalarRepl/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/ScalarRepl/phinodepromote.ll b/llvm/test/Regression/Transforms/ScalarRepl/phinodepromote.ll deleted file mode 100644 index 4dc70233e07..00000000000 --- a/llvm/test/Regression/Transforms/ScalarRepl/phinodepromote.ll +++ /dev/null @@ -1,37 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -instcombine -mem2reg | llvm-dis | not grep alloca -; -; This tests to see if mem2reg can promote alloca instructions whose addresses -; are used by PHI nodes that are immediately loaded. The LLVM C++ front-end -; often generates code that looks like this (when it codegen's ?: exprs as -; lvalues), so handling this simple extension is quite useful. -; -; This testcase is what the following program looks like when it reaches -; instcombine: -; -; template<typename T> -; const T& max(const T& a1, const T& a2) { return a1 < a2 ? a1 : a2; } -; int main() { return max(0, 1); } -; -; This test checks to make sure the combination of instcombine and mem2reg -; perform the transformation. - -int %main() { -entry: - %mem_tmp.0 = alloca int - %mem_tmp.1 = alloca int - store int 0, int* %mem_tmp.0 - store int 1, int* %mem_tmp.1 - %tmp.1.i = load int* %mem_tmp.1 - %tmp.3.i = load int* %mem_tmp.0 - %tmp.4.i = setle int %tmp.1.i, %tmp.3.i - br bool %tmp.4.i, label %cond_true.i, label %cond_continue.i - -cond_true.i: - br label %cond_continue.i - -cond_continue.i: - %mem_tmp.i.0 = phi int* [ %mem_tmp.1, %cond_true.i ], [ %mem_tmp.0, %entry ] - %tmp.3 = load int* %mem_tmp.i.0 - ret int %tmp.3 -} - diff --git a/llvm/test/Regression/Transforms/ScalarRepl/select_promote.ll b/llvm/test/Regression/Transforms/ScalarRepl/select_promote.ll deleted file mode 100644 index a7a325cdd9c..00000000000 --- a/llvm/test/Regression/Transforms/ScalarRepl/select_promote.ll +++ /dev/null @@ -1,18 +0,0 @@ -; Test promotion of loads that use the result of a select instruction. This -; should be simplified by the instcombine pass. - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -mem2reg | llvm-dis | not grep alloca - -int %main() { - %mem_tmp.0 = alloca int ; <int*> [#uses=3] - %mem_tmp.1 = alloca int ; <int*> [#uses=3] - store int 0, int* %mem_tmp.0 - store int 1, int* %mem_tmp.1 - %tmp.1.i = load int* %mem_tmp.1 ; <int> [#uses=1] - %tmp.3.i = load int* %mem_tmp.0 ; <int> [#uses=1] - %tmp.4.i = setle int %tmp.1.i, %tmp.3.i ; <bool> [#uses=1] - %mem_tmp.i.0 = select bool %tmp.4.i, int* %mem_tmp.1, int* %mem_tmp.0 ; <int*> [#uses=1] - %tmp.3 = load int* %mem_tmp.i.0 ; <int> [#uses=1] - ret int %tmp.3 -} - diff --git a/llvm/test/Regression/Transforms/ScalarRepl/sroa_two.ll b/llvm/test/Regression/Transforms/ScalarRepl/sroa_two.ll deleted file mode 100644 index fa044922e8b..00000000000 --- a/llvm/test/Regression/Transforms/ScalarRepl/sroa_two.ll +++ /dev/null @@ -1,16 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl | llvm-dis - -implementation - -int %test(int %X) { - %Arr = alloca [2 x int] - %tmp.0 = getelementptr [2 x int]* %Arr, int 0, int 0 - store int 1, int* %tmp.0 - %tmp.1 = getelementptr [2 x int]* %Arr, int 0, int 1 - store int 2, int* %tmp.1 - - ;; This should turn into a select instruction. - %tmp.3 = getelementptr [2 x int]* %Arr, int 0, int %X - %tmp.4 = load int* %tmp.3 - ret int %tmp.4 -} diff --git a/llvm/test/Regression/Transforms/ScalarRepl/union-fp-int.ll b/llvm/test/Regression/Transforms/ScalarRepl/union-fp-int.ll deleted file mode 100644 index 681636b07b4..00000000000 --- a/llvm/test/Regression/Transforms/ScalarRepl/union-fp-int.ll +++ /dev/null @@ -1,10 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl | llvm-dis | not grep alloca && -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl | llvm-dis | grep 'bitcast.*float.*i32' - -int %test(float %X) { - %X_addr = alloca float - store float %X, float* %X_addr - %X_addr = bitcast float* %X_addr to int* - %tmp = load int* %X_addr - ret int %tmp -} diff --git a/llvm/test/Regression/Transforms/ScalarRepl/union-packed.ll b/llvm/test/Regression/Transforms/ScalarRepl/union-packed.ll deleted file mode 100644 index 0df6e3957f7..00000000000 --- a/llvm/test/Regression/Transforms/ScalarRepl/union-packed.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl | llvm-dis | not grep alloca && -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl | llvm-dis | grep 'bitcast' - -target endian = little - -<4 x int> %test(<4 x float> %X) { - %X_addr = alloca <4 x float> - store <4 x float> %X, <4 x float>* %X_addr - %X_addr = bitcast <4 x float>* %X_addr to <4 x int>* - %tmp = load <4 x int>* %X_addr - ret <4 x int> %tmp -} diff --git a/llvm/test/Regression/Transforms/ScalarRepl/union-pointer.ll b/llvm/test/Regression/Transforms/ScalarRepl/union-pointer.ll deleted file mode 100644 index be4c4604f9c..00000000000 --- a/llvm/test/Regression/Transforms/ScalarRepl/union-pointer.ll +++ /dev/null @@ -1,46 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl | llvm-dis | not grep alloca && -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl | llvm-dis | grep 'ret i8' - -; PR892 - -target endian = little -target pointersize = 32 -target triple = "i686-apple-darwin8.7.2" - -%struct.Val = type { int*, int } - -implementation ; Functions: - -sbyte* %test(short* %X) { - %X_addr = alloca short* - store short* %X, short** %X_addr - %X_addr = cast short** %X_addr to sbyte** - %tmp = load sbyte** %X_addr - ret sbyte* %tmp -} - -void %test2(long %Op.0) { - %tmp = alloca %struct.Val, align 8 - %tmp1 = alloca %struct.Val, align 8 - %tmp = call ulong %_Z3foov( ) - %tmp1 = cast %struct.Val* %tmp1 to ulong* - store ulong %tmp, ulong* %tmp1 - %tmp = getelementptr %struct.Val* %tmp, int 0, uint 0 - %tmp2 = getelementptr %struct.Val* %tmp1, int 0, uint 0 - %tmp = load int** %tmp2 - store int* %tmp, int** %tmp - %tmp3 = getelementptr %struct.Val* %tmp, int 0, uint 1 - %tmp4 = getelementptr %struct.Val* %tmp1, int 0, uint 1 - %tmp = load int* %tmp4 - store int %tmp, int* %tmp3 - %tmp7 = cast %struct.Val* %tmp to { long }* - %tmp8 = getelementptr { long }* %tmp7, int 0, uint 0 - %tmp9 = load long* %tmp8 - call void %_Z3bar3ValS_( long %Op.0, long %tmp9 ) - ret void -} - -declare ulong %_Z3foov() - -declare void %_Z3bar3ValS_(long, long) - diff --git a/llvm/test/Regression/Transforms/ScalarRepl/vector_promote.ll b/llvm/test/Regression/Transforms/ScalarRepl/vector_promote.ll deleted file mode 100644 index 2e9bce77402..00000000000 --- a/llvm/test/Regression/Transforms/ScalarRepl/vector_promote.ll +++ /dev/null @@ -1,56 +0,0 @@ - -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl | llvm-dis | not grep alloca - -void %test(<4 x float>* %F, float %f) { -entry: - %G = alloca <4 x float>, align 16 ; <<4 x float>*> [#uses=3] - %tmp = load <4 x float>* %F ; <<4 x float>> [#uses=2] - %tmp3 = add <4 x float> %tmp, %tmp ; <<4 x float>> [#uses=1] - store <4 x float> %tmp3, <4 x float>* %G - %G = getelementptr <4 x float>* %G, int 0, int 0 ; <float*> [#uses=1] - store float %f, float* %G - %tmp4 = load <4 x float>* %G ; <<4 x float>> [#uses=2] - %tmp6 = add <4 x float> %tmp4, %tmp4 ; <<4 x float>> [#uses=1] - store <4 x float> %tmp6, <4 x float>* %F - ret void -} - -void %test2(<4 x float>* %F, float %f) { -entry: - %G = alloca <4 x float>, align 16 ; <<4 x float>*> [#uses=3] - %tmp = load <4 x float>* %F ; <<4 x float>> [#uses=2] - %tmp3 = add <4 x float> %tmp, %tmp ; <<4 x float>> [#uses=1] - store <4 x float> %tmp3, <4 x float>* %G - %tmp = getelementptr <4 x float>* %G, int 0, int 2 ; <float*> [#uses=1] - store float %f, float* %tmp - %tmp4 = load <4 x float>* %G ; <<4 x float>> [#uses=2] - %tmp6 = add <4 x float> %tmp4, %tmp4 ; <<4 x float>> [#uses=1] - store <4 x float> %tmp6, <4 x float>* %F - ret void -} - -void %test3(<4 x float>* %F, float* %f) { -entry: - %G = alloca <4 x float>, align 16 ; <<4 x float>*> [#uses=2] - %tmp = load <4 x float>* %F ; <<4 x float>> [#uses=2] - %tmp3 = add <4 x float> %tmp, %tmp ; <<4 x float>> [#uses=1] - store <4 x float> %tmp3, <4 x float>* %G - %tmp = getelementptr <4 x float>* %G, int 0, int 2 ; <float*> [#uses=1] - %tmp = load float* %tmp ; <float> [#uses=1] - store float %tmp, float* %f - ret void -} - -void %test4(<4 x float>* %F, float* %f) { -entry: - %G = alloca <4 x float>, align 16 ; <<4 x float>*> [#uses=2] - %tmp = load <4 x float>* %F ; <<4 x float>> [#uses=2] - %tmp3 = add <4 x float> %tmp, %tmp ; <<4 x float>> [#uses=1] - store <4 x float> %tmp3, <4 x float>* %G - %G = getelementptr <4 x float>* %G, int 0, int 0 ; <float*> [#uses=1] - %tmp = load float* %G ; <float> [#uses=1] - store float %tmp, float* %f - ret void -} - diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/.cvsignore b/llvm/test/Regression/Transforms/SimplifyCFG/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/2002-05-05-EmptyBlockMerge.ll b/llvm/test/Regression/Transforms/SimplifyCFG/2002-05-05-EmptyBlockMerge.ll deleted file mode 100644 index 9d2fe54cbaf..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/2002-05-05-EmptyBlockMerge.ll +++ /dev/null @@ -1,23 +0,0 @@ -; Basic block #2 should not be merged into BB #3! -; -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | grep 'br label' -; -declare void %foo() -implementation - -void "cprop_test12"(int* %data) { -bb0: - %reg108 = load int* %data - %cond218 = setne int %reg108, 5 - br bool %cond218, label %bb3, label %bb2 - -bb2: - call void %foo() - br label %bb3 - -bb3: - %reg117 = phi int [ 110, %bb2 ], [ %reg108, %bb0 ] - store int %reg117, int* %data - ret void -} - diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/2002-05-21-PHIElimination.ll b/llvm/test/Regression/Transforms/SimplifyCFG/2002-05-21-PHIElimination.ll deleted file mode 100644 index 1ef659384c0..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/2002-05-21-PHIElimination.ll +++ /dev/null @@ -1,19 +0,0 @@ -; CFG Simplification is making a loop dead, then changing the add into: -; -; %V1 = add int %V1, 1 -; -; Which is not valid SSA -; -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis - -void "test"() { - br bool true, label %end, label %Loop - -Loop: - %V = phi int [0, %0], [%V1, %Loop] - %V1 = add int %V, 1 - - br label %Loop -end: - ret void -} diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/2002-06-24-PHINode.ll b/llvm/test/Regression/Transforms/SimplifyCFG/2002-06-24-PHINode.ll deleted file mode 100644 index a669a3ffc73..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/2002-06-24-PHINode.ll +++ /dev/null @@ -1,14 +0,0 @@ -; -simplifycfg is not folding blocks if there is a PHI node involved. This -; should be fixed eventually - -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | not grep br - -int %main(int %argc) { - br label %InlinedFunctionReturnNode - -InlinedFunctionReturnNode: ;[#uses=1] - %X = phi int [ 7, %0 ] ; <int> [#uses=1] - %Y = add int %X, %argc ; <int> [#uses=1] - ret int %Y -} - diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/2002-09-24-PHIAssertion.ll b/llvm/test/Regression/Transforms/SimplifyCFG/2002-09-24-PHIAssertion.ll deleted file mode 100644 index f1674b7ffb5..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/2002-09-24-PHIAssertion.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg - -int %test(int %A, int %B, bool %cond) { -J: - %C = add int %A, 12 - br bool %cond, label %L, label %L -L: - %Q = phi int [%C, %J], [%C, %J] ; PHI node is obviously redundant - %D = add int %C, %B - %E = add int %Q, %D - ret int %E -} diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/2003-03-07-DominateProblem.ll b/llvm/test/Regression/Transforms/SimplifyCFG/2003-03-07-DominateProblem.ll deleted file mode 100644 index 312e514cf24..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/2003-03-07-DominateProblem.ll +++ /dev/null @@ -1,22 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -disable-output - -implementation ; Functions: - -void %test(int* %ldo, bool %c, bool %d) { -bb9: - br bool %c, label %bb11, label %bb10 - -bb10: ; preds = %bb9 - br label %bb11 - -bb11: ; preds = %bb10, %bb9 - %reg330 = phi int* [ null, %bb10 ], [ %ldo, %bb9 ] - br label %bb20 - -bb20: ; preds = %bb23, %bb25, %bb27, %bb11 - store int* %reg330, int** null - br bool %d, label %bb20, label %done - -done: - ret void -} diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/2003-08-05-InvokeCrash.ll b/llvm/test/Regression/Transforms/SimplifyCFG/2003-08-05-InvokeCrash.ll deleted file mode 100644 index 811fe50b4c7..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/2003-08-05-InvokeCrash.ll +++ /dev/null @@ -1,11 +0,0 @@ -; Do not remove the invoke! -; -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -disable-output - -int %test() { - %A = invoke int %test() to label %Ret except label %Ret2 -Ret: - ret int %A -Ret2: - ret int undef -} diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/2003-08-05-MishandleInvoke.ll b/llvm/test/Regression/Transforms/SimplifyCFG/2003-08-05-MishandleInvoke.ll deleted file mode 100644 index ff549adbaed..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/2003-08-05-MishandleInvoke.ll +++ /dev/null @@ -1,10 +0,0 @@ -; Do not remove the invoke! -; -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | grep invoke - -int %test() { - invoke int %test() to label %Ret except label %Ret -Ret: - %A = add int 0, 1 - ret int %A -} diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/2003-08-17-BranchFold.ll b/llvm/test/Regression/Transforms/SimplifyCFG/2003-08-17-BranchFold.ll deleted file mode 100644 index 523205b8b93..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/2003-08-17-BranchFold.ll +++ /dev/null @@ -1,20 +0,0 @@ -; This test checks to make sure that 'br X, Dest, Dest' is folded into -; 'br Dest' - -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | not grep 'br bool %c2' - -declare void %noop() - -int %test(bool %c1, bool %c2) { - call void %noop() - br bool %c1, label %A, label %Y -A: - call void %noop() - br bool %c2, label %X, label %X ; Can be converted to unconditional br -X: - call void %noop() - ret int 0 -Y: - call void %noop() - br label %X -} diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/2003-08-17-BranchFoldOrdering.ll b/llvm/test/Regression/Transforms/SimplifyCFG/2003-08-17-BranchFoldOrdering.ll deleted file mode 100644 index 1fafe77ed26..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/2003-08-17-BranchFoldOrdering.ll +++ /dev/null @@ -1,24 +0,0 @@ -; This test checks to make sure that 'br X, Dest, Dest' is folded into -; 'br Dest'. This can only happen after the 'Z' block is eliminated. This is -; due to the fact that the SimplifyCFG function does not use -; the ConstantFoldTerminator function. - -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | not grep 'br bool %c2' - -declare void %noop() - -int %test(bool %c1, bool %c2) { - call void %noop() - br bool %c1, label %A, label %Y -A: - call void %noop() - br bool %c2, label %Z, label %X ; Can be converted to unconditional br -Z: - br label %X -X: - call void %noop() - ret int 0 -Y: - call void %noop() - br label %X -} diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/2003-08-17-FoldSwitch.ll b/llvm/test/Regression/Transforms/SimplifyCFG/2003-08-17-FoldSwitch.ll deleted file mode 100644 index 91cb68b77e3..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/2003-08-17-FoldSwitch.ll +++ /dev/null @@ -1,60 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | not grep switch - -int %test1() { ; Test normal folding - switch uint 5, label %Default [ - uint 0, label %Foo - uint 1, label %Bar - uint 2, label %Baz - uint 5, label %TheDest - ] -Default:ret int -1 -Foo: ret int -2 -Bar: ret int -3 -Baz: ret int -4 -TheDest:ret int 1234 -} - -int %test2() { ; Test folding to default dest - switch uint 3, label %Default [ - uint 0, label %Foo - uint 1, label %Bar - uint 2, label %Baz - uint 5, label %TheDest - ] -Default:ret int 1234 -Foo: ret int -2 -Bar: ret int -5 -Baz: ret int -6 -TheDest:ret int -8 -} - -int %test3(bool %C) { ; Test folding all to same dest - br bool %C, label %Start, label %TheDest -Start: - switch uint 3, label %TheDest [ - uint 0, label %TheDest - uint 1, label %TheDest - uint 2, label %TheDest - uint 5, label %TheDest - ] -TheDest: ret int 1234 -} - -int %test4(uint %C) { ; Test folding switch -> branch - switch uint %C, label %L1 [ - uint 0, label %L2 - ] -L1: ret int 0 -L2: ret int 1 -} - -int %test5(uint %C) { - switch uint %C, label %L1 [ ; Can fold into a cond branch! - uint 0, label %L2 - uint 123, label %L1 - ] -L1: ret int 0 -L2: ret int 1 -} - - diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/2004-12-10-SimplifyCFGCrash.ll b/llvm/test/Regression/Transforms/SimplifyCFG/2004-12-10-SimplifyCFGCrash.ll deleted file mode 100644 index 44c89d67b32..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/2004-12-10-SimplifyCFGCrash.ll +++ /dev/null @@ -1,59 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -disable-output - -implementation ; Functions: - -void %symhash_add() { -entry: - br bool undef, label %then.0, label %UnifiedReturnBlock - -then.0: ; preds = %entry - br bool undef, label %loopentry.2, label %loopentry.1.preheader - -loopentry.1.preheader: ; preds = %then.0 - br label %loopentry.1.outer - -loopentry.1.outer: ; preds = %loopentry.1.preheader, %loopexit.1 - br label %loopentry.1 - -loopentry.1: ; preds = %loopentry.1.outer, %then.1, %then.3, %then.4, %endif.1 - br bool undef, label %loopexit.1, label %no_exit.1 - -no_exit.1: ; preds = %loopentry.1 - br bool undef, label %then.1, label %else.0 - -then.1: ; preds = %no_exit.1 - br label %loopentry.1 - -else.0: ; preds = %no_exit.1 - br bool undef, label %then.2, label %else.1 - -then.2: ; preds = %else.0 - br bool undef, label %then.3, label %endif.1 - -then.3: ; preds = %then.2 - br label %loopentry.1 - -else.1: ; preds = %else.0 - br bool undef, label %endif.1, label %then.4 - -then.4: ; preds = %else.1 - br label %loopentry.1 - -endif.1: ; preds = %then.2, %else.1 - br label %loopentry.1 - -loopexit.1: ; preds = %loopentry.1 - br bool undef, label %loopentry.1.outer, label %loopentry.2 - -loopentry.2: ; preds = %then.0, %loopexit.1, %no_exit.2 - br bool undef, label %loopexit.2, label %no_exit.2 - -no_exit.2: ; preds = %loopentry.2 - br label %loopentry.2 - -loopexit.2: ; preds = %loopentry.2 - ret void - -UnifiedReturnBlock: ; preds = %entry - ret void -} diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/2005-06-16-PHICrash.ll b/llvm/test/Regression/Transforms/SimplifyCFG/2005-06-16-PHICrash.ll deleted file mode 100644 index 6c53029ea65..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/2005-06-16-PHICrash.ll +++ /dev/null @@ -1,125 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -disable-output -; PR584 - -%g_38098584 = external global uint ; <uint*> [#uses=1] -%g_60187400 = external global uint ; <uint*> [#uses=1] -%g_59182229 = external global uint ; <uint*> [#uses=2] - -implementation ; Functions: - -int %_Z13func_26556482h(ubyte %l_88173906) { -entry: - %tmp.1 = cast ubyte %l_88173906 to sbyte ; <sbyte> [#uses=2] - %tmp.3 = seteq ubyte %l_88173906, 0 ; <bool> [#uses=1] - br bool %tmp.3, label %else.0, label %then.0 - -then.0: ; preds = %entry - %tmp.5 = seteq ubyte %l_88173906, 0 ; <bool> [#uses=1] - br bool %tmp.5, label %else.1, label %then.1 - -then.1: ; preds = %then.0 - br label %return - -else.1: ; preds = %then.0 - br label %loopentry.0 - -loopentry.0: ; preds = %no_exit.0, %else.1 - %i.0.1 = phi int [ 0, %else.1 ], [ %inc.0, %no_exit.0 ] ; <int> [#uses=2] - %tmp.9 = setgt int %i.0.1, 99 ; <bool> [#uses=1] - br bool %tmp.9, label %endif.0, label %no_exit.0 - -no_exit.0: ; preds = %loopentry.0 - %inc.0 = add int %i.0.1, 1 ; <int> [#uses=1] - br label %loopentry.0 - -else.0: ; preds = %entry - %tmp.12 = cast sbyte %tmp.1 to int ; <int> [#uses=1] - br label %return - -endif.0: ; preds = %loopentry.0 - %tmp.14 = cast sbyte %tmp.1 to int ; <int> [#uses=1] - %tmp.16 = cast ubyte %l_88173906 to int ; <int> [#uses=1] - %tmp.17 = setgt int %tmp.14, %tmp.16 ; <bool> [#uses=1] - %tmp.19 = load uint* %g_59182229 ; <uint> [#uses=2] - br bool %tmp.17, label %cond_true, label %cond_false - -cond_true: ; preds = %endif.0 - %tmp.20 = setne uint %tmp.19, 1 ; <bool> [#uses=1] - br label %cond_continue - -cond_false: ; preds = %endif.0 - %tmp.22 = setne uint %tmp.19, 0 ; <bool> [#uses=1] - br label %cond_continue - -cond_continue: ; preds = %cond_false, %cond_true - %mem_tmp.0 = phi bool [ %tmp.20, %cond_true ], [ %tmp.22, %cond_false ] ; <bool> [#uses=1] - br bool %mem_tmp.0, label %then.2, label %else.2 - -then.2: ; preds = %cond_continue - %tmp.25 = cast ubyte %l_88173906 to int ; <int> [#uses=1] - br label %return - -else.2: ; preds = %cond_continue - br label %loopentry.1 - -loopentry.1: ; preds = %endif.3, %else.2 - %i.1.1 = phi int [ 0, %else.2 ], [ %inc.3, %endif.3 ] ; <int> [#uses=2] - %i.3.2 = phi int [ undef, %else.2 ], [ %i.3.0, %endif.3 ] ; <int> [#uses=2] - %l_88173906_addr.1 = phi ubyte [ %l_88173906, %else.2 ], [ %l_88173906_addr.0, %endif.3 ] ; <ubyte> [#uses=3] - %tmp.29 = setgt int %i.1.1, 99 ; <bool> [#uses=1] - br bool %tmp.29, label %endif.2, label %no_exit.1 - -no_exit.1: ; preds = %loopentry.1 - %tmp.30 = load uint* %g_38098584 ; <uint> [#uses=1] - %tmp.31 = seteq uint %tmp.30, 0 ; <bool> [#uses=1] - br bool %tmp.31, label %else.3, label %then.3 - -then.3: ; preds = %no_exit.1 - br label %endif.3 - -else.3: ; preds = %no_exit.1 - br bool false, label %else.4, label %then.4 - -then.4: ; preds = %else.3 - br label %endif.3 - -else.4: ; preds = %else.3 - br bool false, label %else.5, label %then.5 - -then.5: ; preds = %else.4 - store uint 3290648471, uint* %g_59182229 - br label %return - -else.5: ; preds = %else.4 - br label %loopentry.3 - -loopentry.3: ; preds = %then.7, %else.5 - %i.3.3 = phi int [ 0, %else.5 ], [ %inc.2, %then.7 ] ; <int> [#uses=3] - %tmp.55 = setgt int %i.3.3, 99 ; <bool> [#uses=1] - br bool %tmp.55, label %endif.3, label %no_exit.3 - -no_exit.3: ; preds = %loopentry.3 - %tmp.57 = seteq ubyte %l_88173906_addr.1, 0 ; <bool> [#uses=1] - br bool %tmp.57, label %else.7, label %then.7 - -then.7: ; preds = %no_exit.3 - store uint 16239, uint* %g_60187400 - %inc.2 = add int %i.3.3, 1 ; <int> [#uses=1] - br label %loopentry.3 - -else.7: ; preds = %no_exit.3 - br label %return - -endif.3: ; preds = %loopentry.3, %then.4, %then.3 - %i.3.0 = phi int [ %i.3.2, %then.3 ], [ %i.3.2, %then.4 ], [ %i.3.3, %loopentry.3 ] ; <int> [#uses=1] - %l_88173906_addr.0 = phi ubyte [ 100, %then.3 ], [ %l_88173906_addr.1, %then.4 ], [ %l_88173906_addr.1, %loopentry.3 ] ; <ubyte> [#uses=1] - %inc.3 = add int %i.1.1, 1 ; <int> [#uses=1] - br label %loopentry.1 - -endif.2: ; preds = %loopentry.1 - br label %return - -return: ; preds = %endif.2, %else.7, %then.5, %then.2, %else.0, %then.1 - %result.0 = phi int [ 1624650671, %then.1 ], [ %tmp.25, %then.2 ], [ 3379, %then.5 ], [ 52410, %else.7 ], [ -1526438411, %endif.2 ], [ %tmp.12, %else.0 ] ; <int> [#uses=1] - ret int %result.0 -} diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/2005-08-01-PHIUpdateFail.ll b/llvm/test/Regression/Transforms/SimplifyCFG/2005-08-01-PHIUpdateFail.ll deleted file mode 100644 index 9271ac209e0..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/2005-08-01-PHIUpdateFail.ll +++ /dev/null @@ -1,96 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -disable-output - -void %main() { -entry: - %tmp.14.i19 = seteq int 0, 2 ; <bool> [#uses=1] - br bool %tmp.14.i19, label %endif.1.i20, label %read_min.exit - -endif.1.i20: ; preds = %entry - %tmp.9.i.i = seteq sbyte* null, null ; <bool> [#uses=1] - br bool %tmp.9.i.i, label %then.i12.i, label %then.i.i - -then.i.i: ; preds = %endif.1.i20 - ret void - -then.i12.i: ; preds = %endif.1.i20 - %tmp.9.i4.i = seteq sbyte* null, null ; <bool> [#uses=1] - br bool %tmp.9.i4.i, label %endif.2.i33, label %then.i5.i - -then.i5.i: ; preds = %then.i12.i - ret void - -endif.2.i33: ; preds = %then.i12.i - br bool false, label %loopexit.0.i40, label %no_exit.0.i35 - -no_exit.0.i35: ; preds = %no_exit.0.i35, %endif.2.i33 - %tmp.130.i = setlt int 0, 0 ; <bool> [#uses=1] - br bool %tmp.130.i, label %loopexit.0.i40.loopexit, label %no_exit.0.i35 - -loopexit.0.i40.loopexit: ; preds = %no_exit.0.i35 - br label %loopexit.0.i40 - -loopexit.0.i40: ; preds = %loopexit.0.i40.loopexit, %endif.2.i33 - %tmp.341.i = seteq int 0, 0 ; <bool> [#uses=1] - br bool %tmp.341.i, label %loopentry.1.i, label %read_min.exit - -loopentry.1.i: ; preds = %loopexit.0.i40 - %tmp.347.i = setgt int 0, 0 ; <bool> [#uses=1] - br bool %tmp.347.i, label %no_exit.1.i41, label %loopexit.2.i44 - -no_exit.1.i41: ; preds = %endif.5.i, %loopentry.1.i - %indvar.i42 = phi uint [ %indvar.next.i, %endif.5.i ], [ 0, %loopentry.1.i ] ; <uint> [#uses=1] - %tmp.355.i = seteq int 0, 3 ; <bool> [#uses=1] - br bool %tmp.355.i, label %endif.5.i, label %read_min.exit - -endif.5.i: ; preds = %no_exit.1.i41 - %tmp.34773.i = setgt int 0, 0 ; <bool> [#uses=1] - %indvar.next.i = add uint %indvar.i42, 1 ; <uint> [#uses=1] - br bool %tmp.34773.i, label %no_exit.1.i41, label %loopexit.1.i.loopexit - -loopexit.1.i.loopexit: ; preds = %endif.5.i - ret void - -loopexit.2.i44: ; preds = %loopentry.1.i - ret void - -read_min.exit: ; preds = %no_exit.1.i41, %loopexit.0.i40, %entry - %tmp.23 = seteq int 0, 0 ; <bool> [#uses=1] - br bool %tmp.23, label %endif.1, label %then.1 - -then.1: ; preds = %read_min.exit - br bool false, label %endif.0.i, label %then.0.i - -then.0.i: ; preds = %then.1 - br bool false, label %endif.1.i, label %then.1.i - -endif.0.i: ; preds = %then.1 - br bool false, label %endif.1.i, label %then.1.i - -then.1.i: ; preds = %endif.0.i, %then.0.i - br bool false, label %getfree.exit, label %then.2.i - -endif.1.i: ; preds = %endif.0.i, %then.0.i - br bool false, label %getfree.exit, label %then.2.i - -then.2.i: ; preds = %endif.1.i, %then.1.i - ret void - -getfree.exit: ; preds = %endif.1.i, %then.1.i - ret void - -endif.1: ; preds = %read_min.exit - %tmp.27.i = getelementptr int* null, int 0 - br bool false, label %loopexit.0.i15, label %no_exit.0.i14 - -no_exit.0.i14: ; preds = %endif.1 - ret void - -loopexit.0.i15: ; preds = %endif.1 - br bool false, label %primal_start_artificial.exit, label %no_exit.1.i16 - -no_exit.1.i16: ; preds = %no_exit.1.i16, %loopexit.0.i15 - br bool false, label %primal_start_artificial.exit, label %no_exit.1.i16 - -primal_start_artificial.exit: ; preds = %no_exit.1.i16, %loopexit.0.i15 - ret void -} diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/2005-08-03-PHIFactorCrash.ll b/llvm/test/Regression/Transforms/SimplifyCFG/2005-08-03-PHIFactorCrash.ll deleted file mode 100644 index 3f3951ac7c5..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/2005-08-03-PHIFactorCrash.ll +++ /dev/null @@ -1,94 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -disable-output - - %arraytype.1.Char = type { int, [0 x sbyte] } - %arraytype.4.Signed = type { int, [0 x int] } - %functiontype.23 = type %structtype.Task* (%structtype.Task*, %structtype.Packet*, %structtype.FailedRun*) - %functiontype.27 = type %structtype.object* () - %functiontype.28 = type bool (%structtype.object*, %structtype.object_vtable*) - %functiontype.39 = type int (%structtype.listiter*) - %opaquetype.RuntimeTypeInfo = type sbyte* (sbyte*) - %structtype.AssertionError_vtable = type { %structtype.FailedRun_vtable } - %structtype.DeviceTask = type { %structtype.Task } - %structtype.FailedRun = type { %structtype.object } - %structtype.FailedRun_vtable = type { %structtype.object_vtable } - %structtype.Packet = type { %structtype.object, %structtype.list.1*, int, int, int, %structtype.Packet* } - %structtype.Task = type { %structtype.TaskState, %structtype.FailedRun*, int, %structtype.Packet*, %structtype.Task*, int } - %structtype.TaskState = type { %structtype.object, bool, bool, bool } - %structtype.list.1 = type { %arraytype.4.Signed* } - %structtype.listiter = type { %structtype.list.1*, int } - %structtype.object = type { %structtype.object_vtable* } - %structtype.object_vtable = type { %structtype.object_vtable*, %opaquetype.RuntimeTypeInfo*, %arraytype.1.Char*, %functiontype.27* } -%structinstance.59 = external global %structtype.AssertionError_vtable ; <%structtype.AssertionError_vtable*> [#uses=0] - -implementation ; Functions: - -declare fastcc bool %ll_isinstance__objectPtr_object_vtablePtr() - -declare fastcc void %ll_listnext__listiterPtr() - -fastcc void %WorkTask.fn() { -block0: - br label %block1 - -block1: ; preds = %block0 - %v2542 = call fastcc bool %ll_isinstance__objectPtr_object_vtablePtr( ) ; <bool> [#uses=1] - br bool %v2542, label %block4, label %block2 - -block2: ; preds = %block1 - br label %block3 - -block3: ; preds = %block2 - unwind - -block4: ; preds = %block1 - br label %block5 - -block5: ; preds = %block4 - %v2565 = seteq %structtype.Packet* null, null ; <bool> [#uses=1] - br bool %v2565, label %block15, label %block6 - -block6: ; preds = %block5 - %self_2575 = phi %structtype.DeviceTask* [ null, %block5 ] ; <%structtype.DeviceTask*> [#uses=1] - br bool false, label %block14, label %block7 - -block7: ; preds = %block14, %block6 - %self_2635 = phi %structtype.DeviceTask* [ %self_2575, %block6 ], [ null, %block14 ] ; <%structtype.DeviceTask*> [#uses=1] - %tmp.124 = getelementptr %structtype.Packet* null, int 0, uint 2 ; <int*> [#uses=0] - br label %block8 - -block8: ; preds = %block10, %block7 - %self_2672 = phi %structtype.DeviceTask* [ %self_2635, %block7 ], [ null, %block10 ] ; <%structtype.DeviceTask*> [#uses=0] - invoke fastcc void %ll_listnext__listiterPtr( ) - to label %block9 unwind label %block8_exception_handling - -block8_exception_handling: ; preds = %block8 - br bool false, label %block8_exception_found_branchto_block12, label %block8_not_exception_structinstance.10 - -block8_not_exception_structinstance.10: ; preds = %block8_exception_handling - unwind - -block8_exception_found_branchto_block12: ; preds = %block8_exception_handling - br label %block12 - -block9: ; preds = %block8 - br bool false, label %block11, label %block10 - -block10: ; preds = %block11, %block9 - br label %block8 - -block11: ; preds = %block9 - br label %block10 - -block12: ; preds = %block8_exception_found_branchto_block12 - br label %block13 - -block13: ; preds = %block15, %block12 - ret void - -block14: ; preds = %block6 - br label %block7 - -block15: ; preds = %block5 - %v2586 = phi %structtype.DeviceTask* [ null, %block5 ] ; <%structtype.DeviceTask*> [#uses=0] - br label %block13 -} diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/2005-10-02-InvokeSimplify.ll b/llvm/test/Regression/Transforms/SimplifyCFG/2005-10-02-InvokeSimplify.ll deleted file mode 100644 index c3b4194e1e7..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/2005-10-02-InvokeSimplify.ll +++ /dev/null @@ -1,13 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -disable-output - -bool %foo() { - %X = invoke bool %foo() to label %N unwind label %F -F: - ret bool false -N: - br bool %X, label %A, label %B -A: - ret bool true -B: - ret bool true -} diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/2005-12-03-IncorrectPHIFold.ll b/llvm/test/Regression/Transforms/SimplifyCFG/2005-12-03-IncorrectPHIFold.ll deleted file mode 100644 index eabedf97937..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/2005-12-03-IncorrectPHIFold.ll +++ /dev/null @@ -1,138 +0,0 @@ -; Make sure this doesn't turn into an infinite loop - -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -constprop -simplifycfg | llvm-dis | grep bb86 - - %struct.anon = type { uint, int, int, int, [1024 x sbyte] } -%_zero_ = external global %struct.anon* ; <%struct.anon**> [#uses=2] -%_one_ = external global %struct.anon* ; <%struct.anon**> [#uses=4] -%str = internal constant [4 x sbyte] c"%d\0A\00" ; <[4 x sbyte]*> [#uses=1] - -implementation ; Functions: - - -declare int %bc_compare(%struct.anon*, %struct.anon*) - -declare void %free_num(%struct.anon**) - -declare %struct.anon* %copy_num(%struct.anon*) - -declare void %init_num(%struct.anon**) - -declare %struct.anon* %new_num(int, int) - -declare void %int2num(%struct.anon**, int) - -declare void %bc_multiply(%struct.anon*, %struct.anon*, %struct.anon**, int) - -declare void %bc_raise(%struct.anon*, %struct.anon*, %struct.anon**, int) - -declare int %bc_divide(%struct.anon*, %struct.anon*, %struct.anon**, int) - -declare void %bc_add(%struct.anon*, %struct.anon*, %struct.anon**) - -declare int %_do_compare(%struct.anon*, %struct.anon*, int, int) - -declare int %printf(sbyte*, ...) - -int %bc_sqrt(%struct.anon** %num, int %scale) { -entry: - %guess = alloca %struct.anon* ; <%struct.anon**> [#uses=15] - %guess1 = alloca %struct.anon* ; <%struct.anon**> [#uses=12] - %point5 = alloca %struct.anon* ; <%struct.anon**> [#uses=4] - %tmp = load %struct.anon** %num ; <%struct.anon*> [#uses=1] - %tmp1 = load %struct.anon** %_zero_ ; <%struct.anon*> [#uses=1] - %tmp = call int %bc_compare( %struct.anon* %tmp, %struct.anon* %tmp1 ) ; <int> [#uses=2] - %tmp = setlt int %tmp, 0 ; <bool> [#uses=1] - br bool %tmp, label %cond_true, label %cond_false - -cond_true: ; preds = %entry - ret int 0 - -cond_false: ; preds = %entry - %tmp5 = seteq int %tmp, 0 ; <bool> [#uses=1] - br bool %tmp5, label %cond_true6, label %cond_next13 - -cond_true6: ; preds = %cond_false - call void %free_num( %struct.anon** %num ) - %tmp8 = load %struct.anon** %_zero_ ; <%struct.anon*> [#uses=1] - %tmp9 = call %struct.anon* %copy_num( %struct.anon* %tmp8 ) ; <%struct.anon*> [#uses=1] - store %struct.anon* %tmp9, %struct.anon** %num - ret int 1 - -cond_next13: ; preds = %cond_false - %tmp15 = load %struct.anon** %num ; <%struct.anon*> [#uses=1] - %tmp16 = load %struct.anon** %_one_ ; <%struct.anon*> [#uses=1] - %tmp17 = call int %bc_compare( %struct.anon* %tmp15, %struct.anon* %tmp16 ) ; <int> [#uses=2] - %tmp19 = seteq int %tmp17, 0 ; <bool> [#uses=1] - br bool %tmp19, label %cond_true20, label %cond_next27 - -cond_true20: ; preds = %cond_next13 - call void %free_num( %struct.anon** %num ) - %tmp22 = load %struct.anon** %_one_ ; <%struct.anon*> [#uses=1] - %tmp23 = call %struct.anon* %copy_num( %struct.anon* %tmp22 ) ; <%struct.anon*> [#uses=1] - store %struct.anon* %tmp23, %struct.anon** %num - ret int 1 - -cond_next27: ; preds = %cond_next13 - %tmp29 = load %struct.anon** %num ; <%struct.anon*> [#uses=1] - %tmp30 = getelementptr %struct.anon* %tmp29, int 0, uint 2 ; <int*> [#uses=1] - %tmp31 = load int* %tmp30 ; <int> [#uses=2] - %tmp33 = setge int %tmp31, %scale ; <bool> [#uses=1] - %max = select bool %tmp33, int %tmp31, int %scale ; <int> [#uses=4] - %tmp35 = add int %max, 2 ; <int> [#uses=2] - call void %init_num( %struct.anon** %guess ) - call void %init_num( %struct.anon** %guess1 ) - %tmp36 = call %struct.anon* %new_num( int 1, int 1 ) ; <%struct.anon*> [#uses=2] - store %struct.anon* %tmp36, %struct.anon** %point5 - %tmp = getelementptr %struct.anon* %tmp36, int 0, uint 4, int 1 ; <sbyte*> [#uses=1] - store sbyte 5, sbyte* %tmp - %tmp39 = setlt int %tmp17, 0 ; <bool> [#uses=1] - br bool %tmp39, label %cond_true40, label %cond_false43 - -cond_true40: ; preds = %cond_next27 - %tmp41 = load %struct.anon** %_one_ ; <%struct.anon*> [#uses=1] - %tmp42 = call %struct.anon* %copy_num( %struct.anon* %tmp41 ) ; <%struct.anon*> [#uses=1] - store %struct.anon* %tmp42, %struct.anon** %guess - br label %bb80.outer - -cond_false43: ; preds = %cond_next27 - call void %int2num( %struct.anon** %guess, int 10 ) - %tmp45 = load %struct.anon** %num ; <%struct.anon*> [#uses=1] - %tmp46 = getelementptr %struct.anon* %tmp45, int 0, uint 1 ; <int*> [#uses=1] - %tmp47 = load int* %tmp46 ; <int> [#uses=1] - call void %int2num( %struct.anon** %guess1, int %tmp47 ) - %tmp48 = load %struct.anon** %guess1 ; <%struct.anon*> [#uses=1] - %tmp49 = load %struct.anon** %point5 ; <%struct.anon*> [#uses=1] - call void %bc_multiply( %struct.anon* %tmp48, %struct.anon* %tmp49, %struct.anon** %guess1, int %max ) - %tmp51 = load %struct.anon** %guess1 ; <%struct.anon*> [#uses=1] - %tmp52 = getelementptr %struct.anon* %tmp51, int 0, uint 2 ; <int*> [#uses=1] - store int 0, int* %tmp52 - %tmp53 = load %struct.anon** %guess ; <%struct.anon*> [#uses=1] - %tmp54 = load %struct.anon** %guess1 ; <%struct.anon*> [#uses=1] - call void %bc_raise( %struct.anon* %tmp53, %struct.anon* %tmp54, %struct.anon** %guess, int %max ) - br label %bb80.outer - -bb80.outer: ; preds = %cond_true77, %cond_next56 - %done.1.ph = phi int [ 1, %cond_true83 ], [0, %cond_true40], [0, %cond_false43] ; <int> [#uses=1] - br label %bb80 - -bb80: ; preds = %bb80.outer, %cond_true83 - %tmp82 = seteq int %done.1.ph, 0 ; <bool> [#uses=1] - br bool %tmp82, label %cond_true83, label %bb86 - -cond_true83: ; preds = %bb80 - %tmp71 = call int %_do_compare( %struct.anon* null, %struct.anon* null, int 0, int 1 ) ; <int> [#uses=2] - %tmp76 = seteq int %tmp71, 0 ; <bool> [#uses=1] - br bool %tmp76, label %bb80.outer, label %bb80 - -bb86: ; preds = %bb80 - call void %free_num( %struct.anon** %num ) - %tmp88 = load %struct.anon** %guess ; <%struct.anon*> [#uses=1] - %tmp89 = load %struct.anon** %_one_ ; <%struct.anon*> [#uses=1] - %tmp92 = call int %bc_divide( %struct.anon* %tmp88, %struct.anon* %tmp89, %struct.anon** %num, int %max ) ; <int> [#uses=0] - call void %free_num( %struct.anon** %guess ) - call void %free_num( %struct.anon** %guess1 ) - call void %free_num( %struct.anon** %point5 ) - ret int 1 -} - diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/2006-02-17-InfiniteUnroll.ll b/llvm/test/Regression/Transforms/SimplifyCFG/2006-02-17-InfiniteUnroll.ll deleted file mode 100644 index 8b443da1c86..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/2006-02-17-InfiniteUnroll.ll +++ /dev/null @@ -1,35 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -disable-output - -void %polnel_() { -entry: - %tmp595 = setlt int 0, 0 ; <bool> [#uses=4] - br bool %tmp595, label %bb148.critedge, label %cond_true40 - -bb36: ; preds = %bb43 - br bool %tmp595, label %bb43, label %cond_true40 - -cond_true40: ; preds = %bb46, %cond_true40, %bb36, %entry - %tmp397 = setgt int 0, 0 ; <bool> [#uses=1] - br bool %tmp397, label %bb43, label %cond_true40 - -bb43: ; preds = %cond_true40, %bb36 - br bool false, label %bb53, label %bb36 - -bb46: ; preds = %bb53 - br bool %tmp595, label %bb53, label %cond_true40 - -bb53: ; preds = %bb46, %bb43 - br bool false, label %bb102, label %bb46 - -bb92.preheader: ; preds = %bb102 - ret void - -bb102: ; preds = %bb53 - br bool %tmp595, label %bb148, label %bb92.preheader - -bb148.critedge: ; preds = %entry - ret void - -bb148: ; preds = %bb102 - ret void -} diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/2006-06-12-InfLoop.ll b/llvm/test/Regression/Transforms/SimplifyCFG/2006-06-12-InfLoop.ll deleted file mode 100644 index c9b1858bd48..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/2006-06-12-InfLoop.ll +++ /dev/null @@ -1,613 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -disable-output - -void %main(int %c) { -entry: - %tmp.9 = seteq int %c, 2 ; <bool> [#uses=1] - br bool %tmp.9, label %endif.0, label %then.0 - -then.0: ; preds = %entry - ret void - -endif.0: ; preds = %entry - br bool false, label %then.1, label %endif.1 - -then.1: ; preds = %endif.0 - ret void - -endif.1: ; preds = %endif.0 - br bool false, label %then.2, label %endif.2 - -then.2: ; preds = %endif.1 - ret void - -endif.2: ; preds = %endif.1 - br bool false, label %then.3, label %loopentry.0 - -then.3: ; preds = %endif.2 - ret void - -loopentry.0: ; preds = %endif.2 - br bool false, label %no_exit.0.preheader, label %loopexit.0 - -no_exit.0.preheader: ; preds = %loopentry.0 - br label %no_exit.0 - -no_exit.0: ; preds = %endif.4, %no_exit.0.preheader - br bool false, label %then.4, label %endif.4 - -then.4: ; preds = %no_exit.0 - ret void - -endif.4: ; preds = %no_exit.0 - br bool false, label %no_exit.0, label %loopexit.0.loopexit - -loopexit.0.loopexit: ; preds = %endif.4 - br label %loopexit.0 - -loopexit.0: ; preds = %loopexit.0.loopexit, %loopentry.0 - br bool false, label %then.5, label %loopentry.1 - -then.5: ; preds = %loopexit.0 - ret void - -loopentry.1: ; preds = %loopexit.0 - %tmp.143 = setgt int 0, 0 ; <bool> [#uses=4] - br bool %tmp.143, label %no_exit.1.preheader, label %loopexit.1 - -no_exit.1.preheader: ; preds = %loopentry.1 - br label %no_exit.1 - -no_exit.1: ; preds = %endif.6, %no_exit.1.preheader - br bool false, label %then.6, label %shortcirc_next.3 - -shortcirc_next.3: ; preds = %no_exit.1 - br bool false, label %then.6, label %shortcirc_next.4 - -shortcirc_next.4: ; preds = %shortcirc_next.3 - br bool false, label %then.6, label %endif.6 - -then.6: ; preds = %shortcirc_next.4, %shortcirc_next.3, %no_exit.1 - ret void - -endif.6: ; preds = %shortcirc_next.4 - br bool false, label %no_exit.1, label %loopexit.1.loopexit - -loopexit.1.loopexit: ; preds = %endif.6 - br label %loopexit.1 - -loopexit.1: ; preds = %loopexit.1.loopexit, %loopentry.1 - br bool false, label %then.i, label %loopentry.0.i - -then.i: ; preds = %loopexit.1 - ret void - -loopentry.0.i: ; preds = %loopexit.1 - br bool %tmp.143, label %no_exit.0.i.preheader, label %readvector.exit - -no_exit.0.i.preheader: ; preds = %loopentry.0.i - br label %no_exit.0.i - -no_exit.0.i: ; preds = %loopexit.1.i, %no_exit.0.i.preheader - br bool false, label %no_exit.1.i.preheader, label %loopexit.1.i - -no_exit.1.i.preheader: ; preds = %no_exit.0.i - br label %no_exit.1.i - -no_exit.1.i: ; preds = %loopexit.2.i, %no_exit.1.i.preheader - br bool false, label %no_exit.2.i.preheader, label %loopexit.2.i - -no_exit.2.i.preheader: ; preds = %no_exit.1.i - br label %no_exit.2.i - -no_exit.2.i: ; preds = %no_exit.2.i, %no_exit.2.i.preheader - br bool false, label %no_exit.2.i, label %loopexit.2.i.loopexit - -loopexit.2.i.loopexit: ; preds = %no_exit.2.i - br label %loopexit.2.i - -loopexit.2.i: ; preds = %loopexit.2.i.loopexit, %no_exit.1.i - br bool false, label %no_exit.1.i, label %loopexit.1.i.loopexit - -loopexit.1.i.loopexit: ; preds = %loopexit.2.i - br label %loopexit.1.i - -loopexit.1.i: ; preds = %loopexit.1.i.loopexit, %no_exit.0.i - br bool false, label %no_exit.0.i, label %readvector.exit.loopexit - -readvector.exit.loopexit: ; preds = %loopexit.1.i - br label %readvector.exit - -readvector.exit: ; preds = %readvector.exit.loopexit, %loopentry.0.i - br bool %tmp.143, label %loopentry.1.preheader.i, label %loopexit.0.i - -loopentry.1.preheader.i: ; preds = %readvector.exit - br label %loopentry.1.outer.i - -loopentry.1.outer.i: ; preds = %loopexit.1.i110, %loopentry.1.preheader.i - br label %loopentry.1.i85 - -loopentry.1.i85.loopexit: ; preds = %hamming.exit16.i - br label %loopentry.1.i85 - -loopentry.1.i85: ; preds = %loopentry.1.i85.loopexit, %loopentry.1.outer.i - br bool false, label %no_exit.1.preheader.i, label %loopexit.1.i110.loopexit1 - -no_exit.1.preheader.i: ; preds = %loopentry.1.i85 - br label %no_exit.1.i87 - -no_exit.1.i87: ; preds = %then.1.i107, %no_exit.1.preheader.i - br bool false, label %no_exit.i.i101.preheader, label %hamming.exit.i104 - -no_exit.i.i101.preheader: ; preds = %no_exit.1.i87 - br label %no_exit.i.i101 - -no_exit.i.i101: ; preds = %no_exit.i.i101, %no_exit.i.i101.preheader - br bool false, label %no_exit.i.i101, label %hamming.exit.i104.loopexit - -hamming.exit.i104.loopexit: ; preds = %no_exit.i.i101 - br label %hamming.exit.i104 - -hamming.exit.i104: ; preds = %hamming.exit.i104.loopexit, %no_exit.1.i87 - br bool false, label %no_exit.i15.i.preheader, label %hamming.exit16.i - -no_exit.i15.i.preheader: ; preds = %hamming.exit.i104 - br label %no_exit.i15.i - -no_exit.i15.i: ; preds = %no_exit.i15.i, %no_exit.i15.i.preheader - br bool false, label %no_exit.i15.i, label %hamming.exit16.i.loopexit - -hamming.exit16.i.loopexit: ; preds = %no_exit.i15.i - br label %hamming.exit16.i - -hamming.exit16.i: ; preds = %hamming.exit16.i.loopexit, %hamming.exit.i104 - br bool false, label %loopentry.1.i85.loopexit, label %then.1.i107 - -then.1.i107: ; preds = %hamming.exit16.i - br bool false, label %no_exit.1.i87, label %loopexit.1.i110.loopexit - -loopexit.1.i110.loopexit: ; preds = %then.1.i107 - br label %loopexit.1.i110 - -loopexit.1.i110.loopexit1: ; preds = %loopentry.1.i85 - br label %loopexit.1.i110 - -loopexit.1.i110: ; preds = %loopexit.1.i110.loopexit1, %loopexit.1.i110.loopexit - br bool false, label %loopentry.1.outer.i, label %loopexit.0.i.loopexit - -loopexit.0.i.loopexit: ; preds = %loopexit.1.i110 - br label %loopexit.0.i - -loopexit.0.i: ; preds = %loopexit.0.i.loopexit, %readvector.exit - br bool false, label %UnifiedReturnBlock.i113, label %then.2.i112 - -then.2.i112: ; preds = %loopexit.0.i - br label %checkham.exit - -UnifiedReturnBlock.i113: ; preds = %loopexit.0.i - br label %checkham.exit - -checkham.exit: ; preds = %UnifiedReturnBlock.i113, %then.2.i112 - br bool false, label %loopentry.1.i14.preheader, label %loopentry.3.i.preheader - -loopentry.1.i14.preheader: ; preds = %checkham.exit - br label %loopentry.1.i14 - -loopentry.1.i14: ; preds = %loopexit.1.i18, %loopentry.1.i14.preheader - br bool false, label %no_exit.1.i16.preheader, label %loopexit.1.i18 - -no_exit.1.i16.preheader: ; preds = %loopentry.1.i14 - br label %no_exit.1.i16 - -no_exit.1.i16: ; preds = %no_exit.1.i16, %no_exit.1.i16.preheader - br bool false, label %no_exit.1.i16, label %loopexit.1.i18.loopexit - -loopexit.1.i18.loopexit: ; preds = %no_exit.1.i16 - br label %loopexit.1.i18 - -loopexit.1.i18: ; preds = %loopexit.1.i18.loopexit, %loopentry.1.i14 - br bool false, label %loopentry.1.i14, label %loopentry.3.i.loopexit - -loopentry.3.i.loopexit: ; preds = %loopexit.1.i18 - br label %loopentry.3.i.preheader - -loopentry.3.i.preheader: ; preds = %loopentry.3.i.loopexit, %checkham.exit - br label %loopentry.3.i - -loopentry.3.i: ; preds = %endif.1.i, %loopentry.3.i.preheader - br bool false, label %loopentry.4.i.preheader, label %endif.1.i - -loopentry.4.i.preheader: ; preds = %loopentry.3.i - br label %loopentry.4.i - -loopentry.4.i: ; preds = %loopexit.4.i, %loopentry.4.i.preheader - br bool false, label %no_exit.4.i.preheader, label %loopexit.4.i - -no_exit.4.i.preheader: ; preds = %loopentry.4.i - br label %no_exit.4.i - -no_exit.4.i: ; preds = %no_exit.4.i.backedge, %no_exit.4.i.preheader - br bool false, label %endif.0.i, label %else.i - -else.i: ; preds = %no_exit.4.i - br bool false, label %no_exit.4.i.backedge, label %loopexit.4.i.loopexit - -no_exit.4.i.backedge: ; preds = %endif.0.i, %else.i - br label %no_exit.4.i - -endif.0.i: ; preds = %no_exit.4.i - br bool false, label %no_exit.4.i.backedge, label %loopexit.4.i.loopexit - -loopexit.4.i.loopexit: ; preds = %endif.0.i, %else.i - br label %loopexit.4.i - -loopexit.4.i: ; preds = %loopexit.4.i.loopexit, %loopentry.4.i - br bool false, label %loopentry.4.i, label %endif.1.i.loopexit - -endif.1.i.loopexit: ; preds = %loopexit.4.i - br label %endif.1.i - -endif.1.i: ; preds = %endif.1.i.loopexit, %loopentry.3.i - %exitcond = seteq uint 0, 10 ; <bool> [#uses=1] - br bool %exitcond, label %generateT.exit, label %loopentry.3.i - -generateT.exit: ; preds = %endif.1.i - br bool false, label %then.0.i, label %loopentry.1.i30.preheader - -then.0.i: ; preds = %generateT.exit - ret void - -loopentry.1.i30.loopexit: ; preds = %loopexit.3.i - br label %loopentry.1.i30.backedge - -loopentry.1.i30.preheader: ; preds = %generateT.exit - br label %loopentry.1.i30 - -loopentry.1.i30: ; preds = %loopentry.1.i30.backedge, %loopentry.1.i30.preheader - br bool %tmp.143, label %no_exit.0.i31.preheader, label %loopentry.1.i30.backedge - -loopentry.1.i30.backedge: ; preds = %loopentry.1.i30, %loopentry.1.i30.loopexit - br label %loopentry.1.i30 - -no_exit.0.i31.preheader: ; preds = %loopentry.1.i30 - br label %no_exit.0.i31 - -no_exit.0.i31: ; preds = %loopexit.3.i, %no_exit.0.i31.preheader - br bool false, label %then.1.i, label %else.0.i - -then.1.i: ; preds = %no_exit.0.i31 - br bool undef, label %then.0.i29, label %loopentry.0.i31 - -then.0.i29: ; preds = %then.1.i - unreachable - -loopentry.0.i31: ; preds = %then.1.i - br bool false, label %no_exit.0.i38.preheader, label %loopentry.1.i.preheader - -no_exit.0.i38.preheader: ; preds = %loopentry.0.i31 - br label %no_exit.0.i38 - -no_exit.0.i38: ; preds = %no_exit.0.i38, %no_exit.0.i38.preheader - br bool undef, label %no_exit.0.i38, label %loopentry.1.i.preheader.loopexit - -loopentry.1.i.preheader.loopexit: ; preds = %no_exit.0.i38 - br label %loopentry.1.i.preheader - -loopentry.1.i.preheader: ; preds = %loopentry.1.i.preheader.loopexit, %loopentry.0.i31 - br label %loopentry.1.i - -loopentry.1.i: ; preds = %endif.2.i, %loopentry.1.i.preheader - br bool undef, label %loopentry.2.i39.preheader, label %loopexit.1.i79.loopexit2 - -loopentry.2.i39.preheader: ; preds = %loopentry.1.i - br label %loopentry.2.i39 - -loopentry.2.i39: ; preds = %loopexit.5.i77, %loopentry.2.i39.preheader - br bool false, label %loopentry.3.i40.preheader, label %hamming.exit.i71 - -loopentry.3.i40.preheader: ; preds = %loopentry.2.i39 - br label %loopentry.3.i40 - -loopentry.3.i40: ; preds = %loopexit.3.i51, %loopentry.3.i40.preheader - br bool false, label %no_exit.3.preheader.i42, label %loopexit.3.i51 - -no_exit.3.preheader.i42: ; preds = %loopentry.3.i40 - br label %no_exit.3.i49 - -no_exit.3.i49: ; preds = %no_exit.3.i49, %no_exit.3.preheader.i42 - br bool undef, label %no_exit.3.i49, label %loopexit.3.i51.loopexit - -loopexit.3.i51.loopexit: ; preds = %no_exit.3.i49 - br label %loopexit.3.i51 - -loopexit.3.i51: ; preds = %loopexit.3.i51.loopexit, %loopentry.3.i40 - br bool undef, label %loopentry.3.i40, label %loopentry.4.i52 - -loopentry.4.i52: ; preds = %loopexit.3.i51 - br bool false, label %no_exit.4.i54.preheader, label %hamming.exit.i71 - -no_exit.4.i54.preheader: ; preds = %loopentry.4.i52 - br label %no_exit.4.i54 - -no_exit.4.i54: ; preds = %no_exit.4.backedge.i, %no_exit.4.i54.preheader - br bool undef, label %then.1.i55, label %endif.1.i56 - -then.1.i55: ; preds = %no_exit.4.i54 - br bool undef, label %no_exit.4.backedge.i, label %loopexit.4.i57 - -no_exit.4.backedge.i: ; preds = %endif.1.i56, %then.1.i55 - br label %no_exit.4.i54 - -endif.1.i56: ; preds = %no_exit.4.i54 - br bool undef, label %no_exit.4.backedge.i, label %loopexit.4.i57 - -loopexit.4.i57: ; preds = %endif.1.i56, %then.1.i55 - br bool false, label %no_exit.i.i69.preheader, label %hamming.exit.i71 - -no_exit.i.i69.preheader: ; preds = %loopexit.4.i57 - br label %no_exit.i.i69 - -no_exit.i.i69: ; preds = %no_exit.i.i69, %no_exit.i.i69.preheader - br bool undef, label %no_exit.i.i69, label %hamming.exit.i71.loopexit - -hamming.exit.i71.loopexit: ; preds = %no_exit.i.i69 - br label %hamming.exit.i71 - -hamming.exit.i71: ; preds = %hamming.exit.i71.loopexit, %loopexit.4.i57, %loopentry.4.i52, %loopentry.2.i39 - br bool undef, label %endif.2.i, label %loopentry.5.i72 - -loopentry.5.i72: ; preds = %hamming.exit.i71 - br bool false, label %shortcirc_next.i74.preheader, label %loopexit.5.i77 - -shortcirc_next.i74.preheader: ; preds = %loopentry.5.i72 - br label %shortcirc_next.i74 - -shortcirc_next.i74: ; preds = %no_exit.5.i76, %shortcirc_next.i74.preheader - br bool undef, label %no_exit.5.i76, label %loopexit.5.i77.loopexit - -no_exit.5.i76: ; preds = %shortcirc_next.i74 - br bool undef, label %shortcirc_next.i74, label %loopexit.5.i77.loopexit - -loopexit.5.i77.loopexit: ; preds = %no_exit.5.i76, %shortcirc_next.i74 - br label %loopexit.5.i77 - -loopexit.5.i77: ; preds = %loopexit.5.i77.loopexit, %loopentry.5.i72 - br bool undef, label %loopentry.2.i39, label %loopexit.1.i79.loopexit - -endif.2.i: ; preds = %hamming.exit.i71 - br label %loopentry.1.i - -loopexit.1.i79.loopexit: ; preds = %loopexit.5.i77 - br label %loopexit.1.i79 - -loopexit.1.i79.loopexit2: ; preds = %loopentry.1.i - br label %loopexit.1.i79 - -loopexit.1.i79: ; preds = %loopexit.1.i79.loopexit2, %loopexit.1.i79.loopexit - br bool undef, label %then.3.i, label %loopentry.6.i80 - -then.3.i: ; preds = %loopexit.1.i79 - br bool false, label %no_exit.6.i82.preheader, label %run.exit - -loopentry.6.i80: ; preds = %loopexit.1.i79 - br bool false, label %no_exit.6.i82.preheader, label %run.exit - -no_exit.6.i82.preheader: ; preds = %loopentry.6.i80, %then.3.i - br label %no_exit.6.i82 - -no_exit.6.i82: ; preds = %no_exit.6.i82, %no_exit.6.i82.preheader - br bool undef, label %no_exit.6.i82, label %run.exit.loopexit - -run.exit.loopexit: ; preds = %no_exit.6.i82 - br label %run.exit - -run.exit: ; preds = %run.exit.loopexit, %loopentry.6.i80, %then.3.i - br bool false, label %no_exit.1.i36.preheader, label %loopentry.3.i37 - -else.0.i: ; preds = %no_exit.0.i31 - br bool false, label %then.0.i4, label %loopentry.0.i6 - -then.0.i4: ; preds = %else.0.i - unreachable - -loopentry.0.i6: ; preds = %else.0.i - br bool false, label %no_exit.0.i8.preheader, label %loopentry.2.i.preheader - -no_exit.0.i8.preheader: ; preds = %loopentry.0.i6 - br label %no_exit.0.i8 - -no_exit.0.i8: ; preds = %no_exit.0.i8, %no_exit.0.i8.preheader - br bool false, label %no_exit.0.i8, label %loopentry.2.i.preheader.loopexit - -loopentry.2.i.preheader.loopexit: ; preds = %no_exit.0.i8 - br label %loopentry.2.i.preheader - -loopentry.2.i.preheader: ; preds = %loopentry.2.i.preheader.loopexit, %loopentry.0.i6 - br label %loopentry.2.i - -loopentry.2.i: ; preds = %endif.3.i19, %loopentry.2.i.preheader - br bool false, label %loopentry.3.i10.preheader, label %loopentry.4.i15 - -loopentry.3.i10.preheader: ; preds = %loopentry.2.i - br label %loopentry.3.i10 - -loopentry.3.i10: ; preds = %loopexit.3.i14, %loopentry.3.i10.preheader - br bool false, label %no_exit.3.preheader.i, label %loopexit.3.i14 - -no_exit.3.preheader.i: ; preds = %loopentry.3.i10 - br label %no_exit.3.i12 - -no_exit.3.i12: ; preds = %no_exit.3.i12, %no_exit.3.preheader.i - br bool false, label %no_exit.3.i12, label %loopexit.3.i14.loopexit - -loopexit.3.i14.loopexit: ; preds = %no_exit.3.i12 - br label %loopexit.3.i14 - -loopexit.3.i14: ; preds = %loopexit.3.i14.loopexit, %loopentry.3.i10 - br bool false, label %loopentry.3.i10, label %loopentry.4.i15.loopexit - -loopentry.4.i15.loopexit: ; preds = %loopexit.3.i14 - br label %loopentry.4.i15 - -loopentry.4.i15: ; preds = %loopentry.4.i15.loopexit, %loopentry.2.i - br bool false, label %loopentry.5.outer.i.preheader, label %loopentry.7.i - -loopentry.5.outer.i.preheader: ; preds = %loopentry.4.i15 - br label %loopentry.5.outer.i - -loopentry.5.outer.i: ; preds = %loopexit.5.i, %loopentry.5.outer.i.preheader - br label %loopentry.5.i - -loopentry.5.i: ; preds = %endif.1.i18, %loopentry.5.outer.i - br bool false, label %no_exit.5.i.preheader, label %loopexit.5.i.loopexit3 - -no_exit.5.i.preheader: ; preds = %loopentry.5.i - br label %no_exit.5.i - -no_exit.5.i: ; preds = %then.2.i, %no_exit.5.i.preheader - br bool false, label %loopentry.6.i, label %endif.1.i18 - -loopentry.6.i: ; preds = %no_exit.5.i - br bool false, label %no_exit.6.preheader.i, label %loopexit.6.i - -no_exit.6.preheader.i: ; preds = %loopentry.6.i - br label %no_exit.6.i - -no_exit.6.i: ; preds = %no_exit.6.i, %no_exit.6.preheader.i - br bool false, label %no_exit.6.i, label %loopexit.6.i.loopexit - -loopexit.6.i.loopexit: ; preds = %no_exit.6.i - br label %loopexit.6.i - -loopexit.6.i: ; preds = %loopexit.6.i.loopexit, %loopentry.6.i - br bool false, label %then.2.i, label %endif.1.i18 - -then.2.i: ; preds = %loopexit.6.i - br bool false, label %no_exit.5.i, label %loopexit.5.i.loopexit - -endif.1.i18: ; preds = %loopexit.6.i, %no_exit.5.i - br label %loopentry.5.i - -loopexit.5.i.loopexit: ; preds = %then.2.i - br label %loopexit.5.i - -loopexit.5.i.loopexit3: ; preds = %loopentry.5.i - br label %loopexit.5.i - -loopexit.5.i: ; preds = %loopexit.5.i.loopexit3, %loopexit.5.i.loopexit - br bool false, label %loopentry.5.outer.i, label %loopentry.7.i.loopexit - -loopentry.7.i.loopexit: ; preds = %loopexit.5.i - br label %loopentry.7.i - -loopentry.7.i: ; preds = %loopentry.7.i.loopexit, %loopentry.4.i15 - br bool false, label %no_exit.7.i.preheader, label %hamming.exit.i - -no_exit.7.i.preheader: ; preds = %loopentry.7.i - br label %no_exit.7.i - -no_exit.7.i: ; preds = %no_exit.7.i, %no_exit.7.i.preheader - br bool false, label %no_exit.7.i, label %loopexit.7.i - -loopexit.7.i: ; preds = %no_exit.7.i - br bool false, label %no_exit.i.i.preheader, label %hamming.exit.i - -no_exit.i.i.preheader: ; preds = %loopexit.7.i - br label %no_exit.i.i - -no_exit.i.i: ; preds = %no_exit.i.i, %no_exit.i.i.preheader - br bool false, label %no_exit.i.i, label %hamming.exit.i.loopexit - -hamming.exit.i.loopexit: ; preds = %no_exit.i.i - br label %hamming.exit.i - -hamming.exit.i: ; preds = %hamming.exit.i.loopexit, %loopexit.7.i, %loopentry.7.i - br bool false, label %endif.3.i19, label %loopentry.8.i - -loopentry.8.i: ; preds = %hamming.exit.i - br bool false, label %shortcirc_next.i.preheader, label %loopexit.8.i - -shortcirc_next.i.preheader: ; preds = %loopentry.8.i - br label %shortcirc_next.i - -shortcirc_next.i: ; preds = %no_exit.8.i, %shortcirc_next.i.preheader - br bool false, label %no_exit.8.i, label %loopexit.8.i.loopexit - -no_exit.8.i: ; preds = %shortcirc_next.i - br bool false, label %shortcirc_next.i, label %loopexit.8.i.loopexit - -loopexit.8.i.loopexit: ; preds = %no_exit.8.i, %shortcirc_next.i - br label %loopexit.8.i - -loopexit.8.i: ; preds = %loopexit.8.i.loopexit, %loopentry.8.i - br bool false, label %no_exit.9.i.preheader, label %endif.3.i19 - -no_exit.9.i.preheader: ; preds = %loopexit.8.i - br label %no_exit.9.i - -no_exit.9.i: ; preds = %no_exit.9.i, %no_exit.9.i.preheader - br bool false, label %no_exit.9.i, label %endif.3.i19.loopexit - -endif.3.i19.loopexit: ; preds = %no_exit.9.i - br label %endif.3.i19 - -endif.3.i19: ; preds = %endif.3.i19.loopexit, %loopexit.8.i, %hamming.exit.i - br bool false, label %loopentry.2.i, label %loopexit.1.i20 - -loopexit.1.i20: ; preds = %endif.3.i19 - br bool false, label %then.4.i, label %UnifiedReturnBlock.i - -then.4.i: ; preds = %loopexit.1.i20 - br label %runcont.exit - -UnifiedReturnBlock.i: ; preds = %loopexit.1.i20 - br label %runcont.exit - -runcont.exit: ; preds = %UnifiedReturnBlock.i, %then.4.i - br bool false, label %no_exit.1.i36.preheader, label %loopentry.3.i37 - -no_exit.1.i36.preheader: ; preds = %runcont.exit, %run.exit - br label %no_exit.1.i36 - -no_exit.1.i36: ; preds = %no_exit.1.i36, %no_exit.1.i36.preheader - br bool false, label %no_exit.1.i36, label %loopentry.3.i37.loopexit - -loopentry.3.i37.loopexit: ; preds = %no_exit.1.i36 - br label %loopentry.3.i37 - -loopentry.3.i37: ; preds = %loopentry.3.i37.loopexit, %runcont.exit, %run.exit - br bool false, label %loopentry.4.i38.preheader, label %loopexit.3.i - -loopentry.4.i38.preheader: ; preds = %loopentry.3.i37 - br label %loopentry.4.i38 - -loopentry.4.i38: ; preds = %loopexit.4.i42, %loopentry.4.i38.preheader - br bool false, label %no_exit.3.i.preheader, label %loopexit.4.i42 - -no_exit.3.i.preheader: ; preds = %loopentry.4.i38 - br label %no_exit.3.i - -no_exit.3.i: ; preds = %no_exit.3.i.backedge, %no_exit.3.i.preheader - br bool false, label %endif.3.i, label %else.1.i - -else.1.i: ; preds = %no_exit.3.i - br bool false, label %no_exit.3.i.backedge, label %loopexit.4.i42.loopexit - -no_exit.3.i.backedge: ; preds = %endif.3.i, %else.1.i - br label %no_exit.3.i - -endif.3.i: ; preds = %no_exit.3.i - br bool false, label %no_exit.3.i.backedge, label %loopexit.4.i42.loopexit - -loopexit.4.i42.loopexit: ; preds = %endif.3.i, %else.1.i - br label %loopexit.4.i42 - -loopexit.4.i42: ; preds = %loopexit.4.i42.loopexit, %loopentry.4.i38 - br bool false, label %loopentry.4.i38, label %loopexit.3.i.loopexit - -loopexit.3.i.loopexit: ; preds = %loopexit.4.i42 - br label %loopexit.3.i - -loopexit.3.i: ; preds = %loopexit.3.i.loopexit, %loopentry.3.i37 - %tmp.13.i155 = setlt int 0, 0 ; <bool> [#uses=1] - br bool %tmp.13.i155, label %no_exit.0.i31, label %loopentry.1.i30.loopexit -} diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/2006-08-03-Crash.ll b/llvm/test/Regression/Transforms/SimplifyCFG/2006-08-03-Crash.ll deleted file mode 100644 index b796dee8034..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/2006-08-03-Crash.ll +++ /dev/null @@ -1,103 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -load-vn -gcse -simplifycfg -disable-output -; PR867 - -target endian = big -target pointersize = 32 -target triple = "powerpc-apple-darwin8" - %struct.CUMULATIVE_ARGS = type { int, int, int, int, int, int, int, int, int, int, int, int } - %struct.eh_status = type opaque - %struct.emit_status = type { int, int, %struct.rtx_def*, %struct.rtx_def*, %struct.sequence_stack*, int, %struct.location_t, int, ubyte*, %struct.rtx_def** } - %struct.expr_status = type { int, int, int, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def* } - %struct.function = type { %struct.eh_status*, %struct.expr_status*, %struct.emit_status*, %struct.varasm_status*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.function*, int, int, int, int, %struct.rtx_def*, %struct.CUMULATIVE_ARGS, %struct.rtx_def*, %struct.rtx_def*, %struct.initial_value_struct*, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def*, ubyte, int, long, %struct.tree_node*, %struct.tree_node*, %struct.rtx_def*, %struct.varray_head_tag*, %struct.temp_slot*, int, %struct.var_refs_queue*, int, int, %struct.rtvec_def*, %struct.tree_node*, int, int, int, %struct.machine_function*, uint, uint, ubyte, ubyte, %struct.language_function*, %struct.rtx_def*, uint, int, int, int, %struct.location_t, %struct.varray_head_tag*, %struct.tree_node*, ubyte, ubyte, ubyte } - %struct.initial_value_struct = type opaque - %struct.lang_decl = type opaque - %struct.lang_type = type opaque - %struct.language_function = type opaque - %struct.location_t = type { sbyte*, int } - %struct.machine_function = type { int, uint, sbyte*, int, int } - %struct.rtunion = type { int } - %struct.rtvec_def = type { int, [1 x %struct.rtx_def*] } - %struct.rtx_def = type { ushort, ubyte, ubyte, %struct.u } - %struct.sequence_stack = type { %struct.rtx_def*, %struct.rtx_def*, %struct.sequence_stack* } - %struct.temp_slot = type opaque - %struct.tree_common = type { %struct.tree_node*, %struct.tree_node*, %union.tree_ann_d*, ubyte, ubyte, ubyte, ubyte, ubyte } - %struct.tree_decl = type { %struct.tree_common, %struct.location_t, uint, %struct.tree_node*, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, uint, %struct.tree_decl_u1, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.rtx_def*, %struct.tree_decl_u2, %struct.tree_node*, %struct.tree_node*, long, %struct.lang_decl* } - %struct.tree_decl_u1 = type { long } - %struct.tree_decl_u2 = type { %struct.function* } - %struct.tree_node = type { %struct.tree_decl } - %struct.tree_type = type { %struct.tree_common, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, uint, ushort, ubyte, ubyte, uint, %struct.tree_node*, %struct.tree_node*, %struct.rtunion, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, long, %struct.lang_type* } - %struct.u = type { [1 x long] } - %struct.var_refs_queue = type { %struct.rtx_def*, uint, int, %struct.var_refs_queue* } - %struct.varasm_status = type opaque - %struct.varray_head_tag = type { uint, uint, uint, sbyte*, %struct.u } - %union.tree_ann_d = type opaque -%mode_class = external global [35 x ubyte] ; <[35 x ubyte]*> [#uses=3] - -implementation ; Functions: - -void %fold_builtin_classify() { -entry: - %tmp63 = load int* null ; <int> [#uses=1] - switch int %tmp63, label %bb276 [ - int 414, label %bb145 - int 417, label %bb - ] - -bb: ; preds = %entry - ret void - -bb145: ; preds = %entry - %tmp146 = load %struct.tree_node** null ; <%struct.tree_node*> [#uses=1] - %tmp148 = getelementptr %struct.tree_node* %tmp146, int 0, uint 0, uint 0, uint 1 ; <%struct.tree_node**> [#uses=1] - %tmp149 = load %struct.tree_node** %tmp148 ; <%struct.tree_node*> [#uses=1] - %tmp150 = cast %struct.tree_node* %tmp149 to %struct.tree_type* ; <%struct.tree_type*> [#uses=1] - %tmp151 = getelementptr %struct.tree_type* %tmp150, int 0, uint 6 ; <ushort*> [#uses=1] - %tmp151 = cast ushort* %tmp151 to uint* ; <uint*> [#uses=1] - %tmp152 = load uint* %tmp151 ; <uint> [#uses=1] - %tmp154 = shr uint %tmp152, ubyte 16 ; <uint> [#uses=1] - %tmp154.mask = and uint %tmp154, 127 ; <uint> [#uses=1] - %tmp155 = getelementptr [35 x ubyte]* %mode_class, int 0, uint %tmp154.mask ; <ubyte*> [#uses=1] - %tmp156 = load ubyte* %tmp155 ; <ubyte> [#uses=1] - %tmp157 = seteq ubyte %tmp156, 4 ; <bool> [#uses=1] - br bool %tmp157, label %cond_next241, label %cond_true158 - -cond_true158: ; preds = %bb145 - %tmp172 = load %struct.tree_node** null ; <%struct.tree_node*> [#uses=1] - %tmp174 = getelementptr %struct.tree_node* %tmp172, int 0, uint 0, uint 0, uint 1 ; <%struct.tree_node**> [#uses=1] - %tmp175 = load %struct.tree_node** %tmp174 ; <%struct.tree_node*> [#uses=1] - %tmp176 = cast %struct.tree_node* %tmp175 to %struct.tree_type* ; <%struct.tree_type*> [#uses=1] - %tmp177 = getelementptr %struct.tree_type* %tmp176, int 0, uint 6 ; <ushort*> [#uses=1] - %tmp177 = cast ushort* %tmp177 to uint* ; <uint*> [#uses=1] - %tmp178 = load uint* %tmp177 ; <uint> [#uses=1] - %tmp180 = shr uint %tmp178, ubyte 16 ; <uint> [#uses=1] - %tmp180.mask = and uint %tmp180, 127 ; <uint> [#uses=1] - %tmp181 = getelementptr [35 x ubyte]* %mode_class, int 0, uint %tmp180.mask ; <ubyte*> [#uses=1] - %tmp182 = load ubyte* %tmp181 ; <ubyte> [#uses=1] - %tmp183 = seteq ubyte %tmp182, 8 ; <bool> [#uses=1] - br bool %tmp183, label %cond_next241, label %cond_true184 - -cond_true184: ; preds = %cond_true158 - %tmp185 = load %struct.tree_node** null ; <%struct.tree_node*> [#uses=1] - %tmp187 = getelementptr %struct.tree_node* %tmp185, int 0, uint 0, uint 0, uint 1 ; <%struct.tree_node**> [#uses=1] - %tmp188 = load %struct.tree_node** %tmp187 ; <%struct.tree_node*> [#uses=1] - %tmp189 = cast %struct.tree_node* %tmp188 to %struct.tree_type* ; <%struct.tree_type*> [#uses=1] - %tmp190 = getelementptr %struct.tree_type* %tmp189, int 0, uint 6 ; <ushort*> [#uses=1] - %tmp190 = cast ushort* %tmp190 to uint* ; <uint*> [#uses=1] - %tmp191 = load uint* %tmp190 ; <uint> [#uses=1] - %tmp193 = shr uint %tmp191, ubyte 16 ; <uint> [#uses=1] - %tmp193.mask = and uint %tmp193, 127 ; <uint> [#uses=1] - %tmp194 = getelementptr [35 x ubyte]* %mode_class, int 0, uint %tmp193.mask ; <ubyte*> [#uses=1] - %tmp195 = load ubyte* %tmp194 ; <ubyte> [#uses=1] - %tmp196 = seteq ubyte %tmp195, 4 ; <bool> [#uses=1] - br bool %tmp196, label %cond_next241, label %cond_true197 - -cond_true197: ; preds = %cond_true184 - ret void - -cond_next241: ; preds = %cond_true184, %cond_true158, %bb145 - %tmp245 = load uint* null ; <uint> [#uses=0] - ret void - -bb276: ; preds = %entry - ret void -} diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/2006-10-19-UncondDiv.ll b/llvm/test/Regression/Transforms/SimplifyCFG/2006-10-19-UncondDiv.ll deleted file mode 100644 index 8e583e880d7..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/2006-10-19-UncondDiv.ll +++ /dev/null @@ -1,35 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | not grep select - -; PR957 - -uint %test(uint %tmp) { -cond_false179: ; preds = %cond_true - %tmp181 = seteq uint %tmp, 0 ; <bool> [#uses=1] - br bool %tmp181, label %cond_true182, label %cond_next185 - -cond_true182: ; preds = %cond_false179 - br label %cond_next185 - -cond_next185: ; preds = %cond_true182, %cond_false179 - %d0.3 = phi uint [ div (uint 1, uint 0), %cond_true182 ], [ %tmp, -%cond_false179 ] ; <uint> [#uses=7] - - ret uint %d0.3 -} - -uint %test2(uint %tmp) { -cond_false179: ; preds = %cond_true - %tmp181 = seteq uint %tmp, 0 ; <bool> [#uses=1] - br bool %tmp181, label %cond_true182, label %cond_next185 - -cond_true182: ; preds = %cond_false179 - br label %cond_next185 - -cond_next185: ; preds = %cond_true182, %cond_false179 - %d0.3 = phi uint [ div (uint 1, uint 0), %cond_true182 ], [ %tmp, -%cond_false179 ] ; <uint> [#uses=7] - call uint %test(uint 4) - ret uint %d0.3 -} - diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/2006-10-29-InvokeCrash.ll b/llvm/test/Regression/Transforms/SimplifyCFG/2006-10-29-InvokeCrash.ll deleted file mode 100644 index d067ac09944..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/2006-10-29-InvokeCrash.ll +++ /dev/null @@ -1,652 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -disable-output - - %struct..4._102 = type { %struct.QVectorData* } - %struct..5._125 = type { %struct.QMapData* } - %struct.QAbstractTextDocumentLayout = type { %struct.QObject } - %struct.QBasicAtomic = type { int } - %struct.QFont = type { %struct.QFontPrivate*, uint } - %struct.QFontMetrics = type { %struct.QFontPrivate* } - %struct.QFontPrivate = type opaque - "struct.QFragmentMap<QTextBlockData>" = type { %struct.QFragmentMapData } - %struct.QFragmentMapData = type { "struct.QFragmentMapData::._154", int } - "struct.QFragmentMapData::._154" = type { "struct.QFragmentMapData::Header"* } - "struct.QFragmentMapData::Header" = type { uint, uint, uint, uint, uint, uint, uint, uint } - "struct.QHash<uint,QHashDummyValue>" = type { "struct.QHash<uint,QHashDummyValue>::._152" } - "struct.QHash<uint,QHashDummyValue>::._152" = type { %struct.QHashData* } - %struct.QHashData = type { "struct.QHashData::Node"*, "struct.QHashData::Node"**, %struct.QBasicAtomic, int, int, short, short, int, ubyte } - "struct.QHashData::Node" = type { "struct.QHashData::Node"*, uint } - "struct.QList<QObject*>::._92" = type { %struct.QListData } - "struct.QList<QPointer<QObject> >" = type { "struct.QList<QObject*>::._92" } - %struct.QListData = type { "struct.QListData::Data"* } - "struct.QListData::Data" = type { %struct.QBasicAtomic, int, int, int, ubyte, [1 x sbyte*] } - "struct.QMap<QUrl,QVariant>" = type { %struct..5._125 } - %struct.QMapData = type { "struct.QMapData::Node"*, [12 x "struct.QMapData::Node"*], %struct.QBasicAtomic, int, int, uint, ubyte } - "struct.QMapData::Node" = type { "struct.QMapData::Node"*, [1 x "struct.QMapData::Node"*] } - %struct.QObject = type { int (...)**, %struct.QObjectData* } - %struct.QObjectData = type { int (...)**, %struct.QObject*, %struct.QObject*, "struct.QList<QPointer<QObject> >", ubyte, [3 x ubyte], int, int } - %struct.QObjectPrivate = type { %struct.QObjectData, int, %struct.QObject*, "struct.QList<QPointer<QObject> >", "struct.QVector<QAbstractTextDocumentLayout::Selection>", %struct.QString } - %struct.QPaintDevice = type { int (...)**, ushort } - %struct.QPainter = type { %struct.QPainterPrivate* } - %struct.QPainterPrivate = type opaque - %struct.QPointF = type { double, double } - %struct.QPrinter = type { %struct.QPaintDevice, %struct.QPrinterPrivate* } - %struct.QPrinterPrivate = type opaque - %struct.QRectF = type { double, double, double, double } - "struct.QSet<uint>" = type { "struct.QHash<uint,QHashDummyValue>" } - "struct.QSharedDataPointer<QTextFormatPrivate>" = type { %struct.QTextFormatPrivate* } - %struct.QString = type { "struct.QString::Data"* } - "struct.QString::Data" = type { %struct.QBasicAtomic, int, int, ushort*, ubyte, ubyte, [1 x ushort] } - %struct.QTextBlockFormat = type { %struct.QTextFormat } - %struct.QTextBlockGroup = type { %struct.QAbstractTextDocumentLayout } - %struct.QTextDocumentConfig = type { %struct.QString } - %struct.QTextDocumentPrivate = type { %struct.QObjectPrivate, %struct.QString, "struct.QVector<QAbstractTextDocumentLayout::Selection>", bool, int, int, bool, int, int, int, int, bool, %struct.QTextFormatCollection, %struct.QTextBlockGroup*, %struct.QAbstractTextDocumentLayout*, "struct.QFragmentMap<QTextBlockData>", "struct.QFragmentMap<QTextBlockData>", int, "struct.QList<QPointer<QObject> >", "struct.QList<QPointer<QObject> >", "struct.QMap<QUrl,QVariant>", "struct.QMap<QUrl,QVariant>", "struct.QMap<QUrl,QVariant>", %struct.QTextDocumentConfig, bool, bool, %struct.QPointF } - %struct.QTextFormat = type { "struct.QSharedDataPointer<QTextFormatPrivate>", int } - %struct.QTextFormatCollection = type { "struct.QVector<QAbstractTextDocumentLayout::Selection>", "struct.QVector<QAbstractTextDocumentLayout::Selection>", "struct.QSet<uint>", %struct.QFont } - %struct.QTextFormatPrivate = type opaque - "struct.QVector<QAbstractTextDocumentLayout::Selection>" = type { %struct..4._102 } - %struct.QVectorData = type { %struct.QBasicAtomic, int, int, ubyte } - -implementation ; Functions: - -void %_ZNK13QTextDocument5printEP8QPrinter(%struct.QAbstractTextDocumentLayout* %this, %struct.QPrinter* %printer) { -entry: - %tmp = alloca %struct.QPointF, align 16 ; <%struct.QPointF*> [#uses=2] - %tmp = alloca %struct.QRectF, align 16 ; <%struct.QRectF*> [#uses=5] - %tmp2 = alloca %struct.QPointF, align 16 ; <%struct.QPointF*> [#uses=3] - %tmp = alloca %struct.QFontMetrics, align 16 ; <%struct.QFontMetrics*> [#uses=4] - %tmp = alloca %struct.QFont, align 16 ; <%struct.QFont*> [#uses=4] - %tmp3 = alloca %struct.QPointF, align 16 ; <%struct.QPointF*> [#uses=2] - %p = alloca %struct.QPainter, align 16 ; <%struct.QPainter*> [#uses=14] - %body = alloca %struct.QRectF, align 16 ; <%struct.QRectF*> [#uses=9] - %pageNumberPos = alloca %struct.QPointF, align 16 ; <%struct.QPointF*> [#uses=4] - %scaledPageSize = alloca %struct.QPointF, align 16 ; <%struct.QPointF*> [#uses=6] - %printerPageSize = alloca %struct.QPointF, align 16 ; <%struct.QPointF*> [#uses=3] - %fmt = alloca %struct.QTextBlockFormat, align 16 ; <%struct.QTextBlockFormat*> [#uses=5] - %font = alloca %struct.QFont, align 16 ; <%struct.QFont*> [#uses=5] - %tmp = call %struct.QTextDocumentPrivate* %_ZNK13QTextDocument6d_funcEv( %struct.QAbstractTextDocumentLayout* %this ) ; <%struct.QTextDocumentPrivate*> [#uses=5] - %tmp = getelementptr %struct.QPrinter* %printer, int 0, uint 0 ; <%struct.QPaintDevice*> [#uses=1] - call void %_ZN8QPainterC1EP12QPaintDevice( %struct.QPainter* %p, %struct.QPaintDevice* %tmp ) - %tmp = invoke bool %_ZNK8QPainter8isActiveEv( %struct.QPainter* %p ) - to label %invcont unwind label %cleanup329 ; <bool> [#uses=1] - -invcont: ; preds = %entry - br bool %tmp, label %cond_next, label %cleanup328 - -cond_next: ; preds = %invcont - %tmp8 = invoke %struct.QAbstractTextDocumentLayout* %_ZNK13QTextDocument14documentLayoutEv( %struct.QAbstractTextDocumentLayout* %this ) - to label %invcont7 unwind label %cleanup329 ; <%struct.QAbstractTextDocumentLayout*> [#uses=0] - -invcont7: ; preds = %cond_next - %tmp10 = getelementptr %struct.QTextDocumentPrivate* %tmp, int 0, uint 26 ; <%struct.QPointF*> [#uses=1] - call void %_ZN7QPointFC1Edd( %struct.QPointF* %tmp, double 0.000000e+00, double 0.000000e+00 ) - call void %_ZN6QRectFC1ERK7QPointFRK6QSizeF( %struct.QRectF* %body, %struct.QPointF* %tmp, %struct.QPointF* %tmp10 ) - call void %_ZN7QPointFC1Ev( %struct.QPointF* %pageNumberPos ) - %tmp12 = getelementptr %struct.QTextDocumentPrivate* %tmp, int 0, uint 26 ; <%struct.QPointF*> [#uses=1] - %tmp13 = call bool %_ZNK6QSizeF7isValidEv( %struct.QPointF* %tmp12 ) ; <bool> [#uses=1] - br bool %tmp13, label %cond_next15, label %bb - -cond_next15: ; preds = %invcont7 - %tmp17 = getelementptr %struct.QTextDocumentPrivate* %tmp, int 0, uint 26 ; <%struct.QPointF*> [#uses=1] - %tmp = call double %_ZNK6QSizeF6heightEv( %struct.QPointF* %tmp17 ) ; <double> [#uses=1] - %tmp18 = seteq double %tmp, 0x41DFFFFFFFC00000 ; <bool> [#uses=1] - br bool %tmp18, label %bb, label %cond_next20 - -cond_next20: ; preds = %cond_next15 - br label %bb21 - -bb: ; preds = %cond_next15, %invcont7 - br label %bb21 - -bb21: ; preds = %bb, %cond_next20 - %iftmp.406.0 = phi bool [ false, %bb ], [ true, %cond_next20 ] ; <bool> [#uses=1] - br bool %iftmp.406.0, label %cond_true24, label %cond_false - -cond_true24: ; preds = %bb21 - %tmp = invoke int %_Z13qt_defaultDpiv( ) - to label %invcont25 unwind label %cleanup329 ; <int> [#uses=1] - -invcont25: ; preds = %cond_true24 - %tmp26 = cast int %tmp to double ; <double> [#uses=2] - %tmp30 = invoke %struct.QAbstractTextDocumentLayout* %_ZNK13QTextDocument14documentLayoutEv( %struct.QAbstractTextDocumentLayout* %this ) - to label %invcont29 unwind label %cleanup329 ; <%struct.QAbstractTextDocumentLayout*> [#uses=1] - -invcont29: ; preds = %invcont25 - %tmp32 = invoke %struct.QPaintDevice* %_ZNK27QAbstractTextDocumentLayout11paintDeviceEv( %struct.QAbstractTextDocumentLayout* %tmp30 ) - to label %invcont31 unwind label %cleanup329 ; <%struct.QPaintDevice*> [#uses=3] - -invcont31: ; preds = %invcont29 - %tmp34 = seteq %struct.QPaintDevice* %tmp32, null ; <bool> [#uses=1] - br bool %tmp34, label %cond_next42, label %cond_true35 - -cond_true35: ; preds = %invcont31 - %tmp38 = invoke int %_ZNK12QPaintDevice11logicalDpiXEv( %struct.QPaintDevice* %tmp32 ) - to label %invcont37 unwind label %cleanup329 ; <int> [#uses=1] - -invcont37: ; preds = %cond_true35 - %tmp38 = cast int %tmp38 to double ; <double> [#uses=1] - %tmp41 = invoke int %_ZNK12QPaintDevice11logicalDpiYEv( %struct.QPaintDevice* %tmp32 ) - to label %invcont40 unwind label %cleanup329 ; <int> [#uses=1] - -invcont40: ; preds = %invcont37 - %tmp41 = cast int %tmp41 to double ; <double> [#uses=1] - br label %cond_next42 - -cond_next42: ; preds = %invcont40, %invcont31 - %sourceDpiY.2 = phi double [ %tmp41, %invcont40 ], [ %tmp26, %invcont31 ] ; <double> [#uses=1] - %sourceDpiX.2 = phi double [ %tmp38, %invcont40 ], [ %tmp26, %invcont31 ] ; <double> [#uses=1] - %tmp44 = getelementptr %struct.QPrinter* %printer, int 0, uint 0 ; <%struct.QPaintDevice*> [#uses=1] - %tmp46 = invoke int %_ZNK12QPaintDevice11logicalDpiXEv( %struct.QPaintDevice* %tmp44 ) - to label %invcont45 unwind label %cleanup329 ; <int> [#uses=1] - -invcont45: ; preds = %cond_next42 - %tmp46 = cast int %tmp46 to double ; <double> [#uses=1] - %tmp48 = fdiv double %tmp46, %sourceDpiX.2 ; <double> [#uses=2] - %tmp50 = getelementptr %struct.QPrinter* %printer, int 0, uint 0 ; <%struct.QPaintDevice*> [#uses=1] - %tmp52 = invoke int %_ZNK12QPaintDevice11logicalDpiYEv( %struct.QPaintDevice* %tmp50 ) - to label %invcont51 unwind label %cleanup329 ; <int> [#uses=1] - -invcont51: ; preds = %invcont45 - %tmp52 = cast int %tmp52 to double ; <double> [#uses=1] - %tmp54 = fdiv double %tmp52, %sourceDpiY.2 ; <double> [#uses=2] - invoke void %_ZN8QPainter5scaleEdd( %struct.QPainter* %p, double %tmp48, double %tmp54 ) - to label %invcont57 unwind label %cleanup329 - -invcont57: ; preds = %invcont51 - %tmp = getelementptr %struct.QPointF* %scaledPageSize, int 0, uint 0 ; <double*> [#uses=1] - %tmp60 = getelementptr %struct.QTextDocumentPrivate* %tmp, int 0, uint 26, uint 0 ; <double*> [#uses=1] - %tmp61 = load double* %tmp60 ; <double> [#uses=1] - store double %tmp61, double* %tmp - %tmp62 = getelementptr %struct.QPointF* %scaledPageSize, int 0, uint 1 ; <double*> [#uses=1] - %tmp63 = getelementptr %struct.QTextDocumentPrivate* %tmp, int 0, uint 26, uint 1 ; <double*> [#uses=1] - %tmp64 = load double* %tmp63 ; <double> [#uses=1] - store double %tmp64, double* %tmp62 - %tmp65 = call double* %_ZN6QSizeF6rwidthEv( %struct.QPointF* %scaledPageSize ) ; <double*> [#uses=2] - %tmp67 = load double* %tmp65 ; <double> [#uses=1] - %tmp69 = mul double %tmp67, %tmp48 ; <double> [#uses=1] - store double %tmp69, double* %tmp65 - %tmp71 = call double* %_ZN6QSizeF7rheightEv( %struct.QPointF* %scaledPageSize ) ; <double*> [#uses=2] - %tmp73 = load double* %tmp71 ; <double> [#uses=1] - %tmp75 = mul double %tmp73, %tmp54 ; <double> [#uses=1] - store double %tmp75, double* %tmp71 - %tmp78 = getelementptr %struct.QPrinter* %printer, int 0, uint 0 ; <%struct.QPaintDevice*> [#uses=1] - %tmp80 = invoke int %_ZNK12QPaintDevice6heightEv( %struct.QPaintDevice* %tmp78 ) - to label %invcont79 unwind label %cleanup329 ; <int> [#uses=1] - -invcont79: ; preds = %invcont57 - %tmp82 = getelementptr %struct.QPrinter* %printer, int 0, uint 0 ; <%struct.QPaintDevice*> [#uses=1] - %tmp84 = invoke int %_ZNK12QPaintDevice5widthEv( %struct.QPaintDevice* %tmp82 ) - to label %invcont83 unwind label %cleanup329 ; <int> [#uses=1] - -invcont83: ; preds = %invcont79 - %tmp80 = cast int %tmp80 to double ; <double> [#uses=1] - %tmp84 = cast int %tmp84 to double ; <double> [#uses=1] - call void %_ZN6QSizeFC1Edd( %struct.QPointF* %printerPageSize, double %tmp84, double %tmp80 ) - %tmp85 = call double %_ZNK6QSizeF6heightEv( %struct.QPointF* %printerPageSize ) ; <double> [#uses=1] - %tmp86 = call double %_ZNK6QSizeF6heightEv( %struct.QPointF* %scaledPageSize ) ; <double> [#uses=1] - %tmp87 = fdiv double %tmp85, %tmp86 ; <double> [#uses=1] - %tmp88 = call double %_ZNK6QSizeF5widthEv( %struct.QPointF* %printerPageSize ) ; <double> [#uses=1] - %tmp89 = call double %_ZNK6QSizeF5widthEv( %struct.QPointF* %scaledPageSize ) ; <double> [#uses=1] - %tmp90 = fdiv double %tmp88, %tmp89 ; <double> [#uses=1] - invoke void %_ZN8QPainter5scaleEdd( %struct.QPainter* %p, double %tmp90, double %tmp87 ) - to label %cond_next194 unwind label %cleanup329 - -cond_false: ; preds = %bb21 - %tmp = getelementptr %struct.QAbstractTextDocumentLayout* %this, int 0, uint 0 ; <%struct.QObject*> [#uses=1] - %tmp95 = invoke %struct.QAbstractTextDocumentLayout* %_ZNK13QTextDocument5cloneEP7QObject( %struct.QAbstractTextDocumentLayout* %this, %struct.QObject* %tmp ) - to label %invcont94 unwind label %cleanup329 ; <%struct.QAbstractTextDocumentLayout*> [#uses=9] - -invcont94: ; preds = %cond_false - %tmp99 = invoke %struct.QAbstractTextDocumentLayout* %_ZNK13QTextDocument14documentLayoutEv( %struct.QAbstractTextDocumentLayout* %tmp95 ) - to label %invcont98 unwind label %cleanup329 ; <%struct.QAbstractTextDocumentLayout*> [#uses=1] - -invcont98: ; preds = %invcont94 - %tmp101 = invoke %struct.QPaintDevice* %_ZNK8QPainter6deviceEv( %struct.QPainter* %p ) - to label %invcont100 unwind label %cleanup329 ; <%struct.QPaintDevice*> [#uses=1] - -invcont100: ; preds = %invcont98 - invoke void %_ZN27QAbstractTextDocumentLayout14setPaintDeviceEP12QPaintDevice( %struct.QAbstractTextDocumentLayout* %tmp99, %struct.QPaintDevice* %tmp101 ) - to label %invcont103 unwind label %cleanup329 - -invcont103: ; preds = %invcont100 - %tmp105 = invoke %struct.QPaintDevice* %_ZNK8QPainter6deviceEv( %struct.QPainter* %p ) - to label %invcont104 unwind label %cleanup329 ; <%struct.QPaintDevice*> [#uses=1] - -invcont104: ; preds = %invcont103 - %tmp107 = invoke int %_ZNK12QPaintDevice11logicalDpiYEv( %struct.QPaintDevice* %tmp105 ) - to label %invcont106 unwind label %cleanup329 ; <int> [#uses=1] - -invcont106: ; preds = %invcont104 - %tmp108 = cast int %tmp107 to double ; <double> [#uses=1] - %tmp109 = mul double %tmp108, 0x3FE93264C993264C ; <double> [#uses=1] - %tmp109 = cast double %tmp109 to int ; <int> [#uses=3] - %tmp = call %struct.QTextBlockGroup* %_ZNK13QTextDocument9rootFrameEv( %struct.QAbstractTextDocumentLayout* %tmp95 ) ; <%struct.QTextBlockGroup*> [#uses=1] - invoke csretcc void %_ZNK10QTextFrame11frameFormatEv( %struct.QTextBlockFormat* %fmt, %struct.QTextBlockGroup* %tmp ) - to label %invcont111 unwind label %cleanup329 - -invcont111: ; preds = %invcont106 - %tmp112 = cast int %tmp109 to double ; <double> [#uses=1] - invoke void %_ZN16QTextFrameFormat9setMarginEd( %struct.QTextBlockFormat* %fmt, double %tmp112 ) - to label %invcont114 unwind label %cleanup192 - -invcont114: ; preds = %invcont111 - %tmp116 = call %struct.QTextBlockGroup* %_ZNK13QTextDocument9rootFrameEv( %struct.QAbstractTextDocumentLayout* %tmp95 ) ; <%struct.QTextBlockGroup*> [#uses=1] - invoke void %_ZN10QTextFrame14setFrameFormatERK16QTextFrameFormat( %struct.QTextBlockGroup* %tmp116, %struct.QTextBlockFormat* %fmt ) - to label %invcont117 unwind label %cleanup192 - -invcont117: ; preds = %invcont114 - %tmp119 = invoke %struct.QPaintDevice* %_ZNK8QPainter6deviceEv( %struct.QPainter* %p ) - to label %invcont118 unwind label %cleanup192 ; <%struct.QPaintDevice*> [#uses=1] - -invcont118: ; preds = %invcont117 - %tmp121 = invoke int %_ZNK12QPaintDevice6heightEv( %struct.QPaintDevice* %tmp119 ) - to label %invcont120 unwind label %cleanup192 ; <int> [#uses=1] - -invcont120: ; preds = %invcont118 - %tmp121 = cast int %tmp121 to double ; <double> [#uses=1] - %tmp123 = invoke %struct.QPaintDevice* %_ZNK8QPainter6deviceEv( %struct.QPainter* %p ) - to label %invcont122 unwind label %cleanup192 ; <%struct.QPaintDevice*> [#uses=1] - -invcont122: ; preds = %invcont120 - %tmp125 = invoke int %_ZNK12QPaintDevice5widthEv( %struct.QPaintDevice* %tmp123 ) - to label %invcont124 unwind label %cleanup192 ; <int> [#uses=1] - -invcont124: ; preds = %invcont122 - %tmp125 = cast int %tmp125 to double ; <double> [#uses=1] - call void %_ZN6QRectFC1Edddd( %struct.QRectF* %tmp, double 0.000000e+00, double 0.000000e+00, double %tmp125, double %tmp121 ) - %tmp126 = getelementptr %struct.QRectF* %body, int 0, uint 0 ; <double*> [#uses=1] - %tmp127 = getelementptr %struct.QRectF* %tmp, int 0, uint 0 ; <double*> [#uses=1] - %tmp128 = load double* %tmp127 ; <double> [#uses=1] - store double %tmp128, double* %tmp126 - %tmp129 = getelementptr %struct.QRectF* %body, int 0, uint 1 ; <double*> [#uses=1] - %tmp130 = getelementptr %struct.QRectF* %tmp, int 0, uint 1 ; <double*> [#uses=1] - %tmp131 = load double* %tmp130 ; <double> [#uses=1] - store double %tmp131, double* %tmp129 - %tmp132 = getelementptr %struct.QRectF* %body, int 0, uint 2 ; <double*> [#uses=1] - %tmp133 = getelementptr %struct.QRectF* %tmp, int 0, uint 2 ; <double*> [#uses=1] - %tmp134 = load double* %tmp133 ; <double> [#uses=1] - store double %tmp134, double* %tmp132 - %tmp135 = getelementptr %struct.QRectF* %body, int 0, uint 3 ; <double*> [#uses=1] - %tmp136 = getelementptr %struct.QRectF* %tmp, int 0, uint 3 ; <double*> [#uses=1] - %tmp137 = load double* %tmp136 ; <double> [#uses=1] - store double %tmp137, double* %tmp135 - %tmp138 = call double %_ZNK6QRectF6heightEv( %struct.QRectF* %body ) ; <double> [#uses=1] - %tmp139 = cast int %tmp109 to double ; <double> [#uses=1] - %tmp140 = sub double %tmp138, %tmp139 ; <double> [#uses=1] - %tmp142 = invoke %struct.QPaintDevice* %_ZNK8QPainter6deviceEv( %struct.QPainter* %p ) - to label %invcont141 unwind label %cleanup192 ; <%struct.QPaintDevice*> [#uses=1] - -invcont141: ; preds = %invcont124 - invoke csretcc void %_ZNK13QTextDocument11defaultFontEv( %struct.QFont* %tmp, %struct.QAbstractTextDocumentLayout* %tmp95 ) - to label %invcont144 unwind label %cleanup192 - -invcont144: ; preds = %invcont141 - invoke void %_ZN12QFontMetricsC1ERK5QFontP12QPaintDevice( %struct.QFontMetrics* %tmp, %struct.QFont* %tmp, %struct.QPaintDevice* %tmp142 ) - to label %invcont146 unwind label %cleanup173 - -invcont146: ; preds = %invcont144 - %tmp149 = invoke int %_ZNK12QFontMetrics6ascentEv( %struct.QFontMetrics* %tmp ) - to label %invcont148 unwind label %cleanup168 ; <int> [#uses=1] - -invcont148: ; preds = %invcont146 - %tmp149 = cast int %tmp149 to double ; <double> [#uses=1] - %tmp150 = add double %tmp140, %tmp149 ; <double> [#uses=1] - %tmp152 = invoke %struct.QPaintDevice* %_ZNK8QPainter6deviceEv( %struct.QPainter* %p ) - to label %invcont151 unwind label %cleanup168 ; <%struct.QPaintDevice*> [#uses=1] - -invcont151: ; preds = %invcont148 - %tmp154 = invoke int %_ZNK12QPaintDevice11logicalDpiYEv( %struct.QPaintDevice* %tmp152 ) - to label %invcont153 unwind label %cleanup168 ; <int> [#uses=1] - -invcont153: ; preds = %invcont151 - %tmp155 = mul int %tmp154, 5 ; <int> [#uses=1] - %tmp156 = sdiv int %tmp155, 72 ; <int> [#uses=1] - %tmp156 = cast int %tmp156 to double ; <double> [#uses=1] - %tmp157 = add double %tmp150, %tmp156 ; <double> [#uses=1] - %tmp158 = call double %_ZNK6QRectF5widthEv( %struct.QRectF* %body ) ; <double> [#uses=1] - %tmp159 = cast int %tmp109 to double ; <double> [#uses=1] - %tmp160 = sub double %tmp158, %tmp159 ; <double> [#uses=1] - call void %_ZN7QPointFC1Edd( %struct.QPointF* %tmp2, double %tmp160, double %tmp157 ) - %tmp161 = getelementptr %struct.QPointF* %pageNumberPos, int 0, uint 0 ; <double*> [#uses=1] - %tmp162 = getelementptr %struct.QPointF* %tmp2, int 0, uint 0 ; <double*> [#uses=1] - %tmp163 = load double* %tmp162 ; <double> [#uses=1] - store double %tmp163, double* %tmp161 - %tmp164 = getelementptr %struct.QPointF* %pageNumberPos, int 0, uint 1 ; <double*> [#uses=1] - %tmp165 = getelementptr %struct.QPointF* %tmp2, int 0, uint 1 ; <double*> [#uses=1] - %tmp166 = load double* %tmp165 ; <double> [#uses=1] - store double %tmp166, double* %tmp164 - invoke void %_ZN12QFontMetricsD1Ev( %struct.QFontMetrics* %tmp ) - to label %cleanup171 unwind label %cleanup173 - -cleanup168: ; preds = %invcont151, %invcont148, %invcont146 - invoke void %_ZN12QFontMetricsD1Ev( %struct.QFontMetrics* %tmp ) - to label %cleanup173 unwind label %cleanup173 - -cleanup171: ; preds = %invcont153 - invoke void %_ZN5QFontD1Ev( %struct.QFont* %tmp ) - to label %finally170 unwind label %cleanup192 - -cleanup173: ; preds = %cleanup168, %cleanup168, %invcont153, %invcont144 - invoke void %_ZN5QFontD1Ev( %struct.QFont* %tmp ) - to label %cleanup192 unwind label %cleanup192 - -finally170: ; preds = %cleanup171 - invoke csretcc void %_ZNK13QTextDocument11defaultFontEv( %struct.QFont* %font, %struct.QAbstractTextDocumentLayout* %tmp95 ) - to label %invcont177 unwind label %cleanup192 - -invcont177: ; preds = %finally170 - invoke void %_ZN5QFont12setPointSizeEi( %struct.QFont* %font, int 10 ) - to label %invcont179 unwind label %cleanup187 - -invcont179: ; preds = %invcont177 - invoke void %_ZN13QTextDocument14setDefaultFontERK5QFont( %struct.QAbstractTextDocumentLayout* %tmp95, %struct.QFont* %font ) - to label %invcont181 unwind label %cleanup187 - -invcont181: ; preds = %invcont179 - call csretcc void %_ZNK6QRectF4sizeEv( %struct.QPointF* %tmp3, %struct.QRectF* %body ) - invoke void %_ZN13QTextDocument11setPageSizeERK6QSizeF( %struct.QAbstractTextDocumentLayout* %tmp95, %struct.QPointF* %tmp3 ) - to label %cleanup185 unwind label %cleanup187 - -cleanup185: ; preds = %invcont181 - invoke void %_ZN5QFontD1Ev( %struct.QFont* %font ) - to label %cleanup190 unwind label %cleanup192 - -cleanup187: ; preds = %invcont181, %invcont179, %invcont177 - invoke void %_ZN5QFontD1Ev( %struct.QFont* %font ) - to label %cleanup192 unwind label %cleanup192 - -cleanup190: ; preds = %cleanup185 - invoke void %_ZN16QTextFrameFormatD1Ev( %struct.QTextBlockFormat* %fmt ) - to label %cond_next194 unwind label %cleanup329 - -cleanup192: ; preds = %cleanup187, %cleanup187, %cleanup185, %finally170, %cleanup173, %cleanup173, %cleanup171, %invcont141, %invcont124, %invcont122, %invcont120, %invcont118, %invcont117, %invcont114, %invcont111 - invoke void %_ZN16QTextFrameFormatD1Ev( %struct.QTextBlockFormat* %fmt ) - to label %cleanup329 unwind label %cleanup329 - -cond_next194: ; preds = %cleanup190, %invcont83 - %clonedDoc.1 = phi %struct.QAbstractTextDocumentLayout* [ null, %invcont83 ], [ %tmp95, %cleanup190 ] ; <%struct.QAbstractTextDocumentLayout*> [#uses=3] - %doc.1 = phi %struct.QAbstractTextDocumentLayout* [ %this, %invcont83 ], [ %tmp95, %cleanup190 ] ; <%struct.QAbstractTextDocumentLayout*> [#uses=2] - %tmp197 = invoke bool %_ZNK8QPrinter13collateCopiesEv( %struct.QPrinter* %printer ) - to label %invcont196 unwind label %cleanup329 ; <bool> [#uses=1] - -invcont196: ; preds = %cond_next194 - br bool %tmp197, label %cond_true200, label %cond_false204 - -cond_true200: ; preds = %invcont196 - %tmp203 = invoke int %_ZNK8QPrinter9numCopiesEv( %struct.QPrinter* %printer ) - to label %invcont202 unwind label %cleanup329 ; <int> [#uses=1] - -invcont202: ; preds = %cond_true200 - br label %cond_next208 - -cond_false204: ; preds = %invcont196 - %tmp207 = invoke int %_ZNK8QPrinter9numCopiesEv( %struct.QPrinter* %printer ) - to label %invcont206 unwind label %cleanup329 ; <int> [#uses=1] - -invcont206: ; preds = %cond_false204 - br label %cond_next208 - -cond_next208: ; preds = %invcont206, %invcont202 - %pageCopies.0 = phi int [ %tmp203, %invcont202 ], [ 1, %invcont206 ] ; <int> [#uses=2] - %docCopies.0 = phi int [ 1, %invcont202 ], [ %tmp207, %invcont206 ] ; <int> [#uses=2] - %tmp211 = invoke int %_ZNK8QPrinter8fromPageEv( %struct.QPrinter* %printer ) - to label %invcont210 unwind label %cleanup329 ; <int> [#uses=3] - -invcont210: ; preds = %cond_next208 - %tmp214 = invoke int %_ZNK8QPrinter6toPageEv( %struct.QPrinter* %printer ) - to label %invcont213 unwind label %cleanup329 ; <int> [#uses=3] - -invcont213: ; preds = %invcont210 - %tmp216 = seteq int %tmp211, 0 ; <bool> [#uses=1] - br bool %tmp216, label %cond_true217, label %cond_next225 - -cond_true217: ; preds = %invcont213 - %tmp219 = seteq int %tmp214, 0 ; <bool> [#uses=1] - br bool %tmp219, label %cond_true220, label %cond_next225 - -cond_true220: ; preds = %cond_true217 - %tmp223 = invoke int %_ZNK13QTextDocument9pageCountEv( %struct.QAbstractTextDocumentLayout* %doc.1 ) - to label %invcont222 unwind label %cleanup329 ; <int> [#uses=1] - -invcont222: ; preds = %cond_true220 - br label %cond_next225 - -cond_next225: ; preds = %invcont222, %cond_true217, %invcont213 - %toPage.1 = phi int [ %tmp223, %invcont222 ], [ %tmp214, %cond_true217 ], [ %tmp214, %invcont213 ] ; <int> [#uses=2] - %fromPage.1 = phi int [ 1, %invcont222 ], [ %tmp211, %cond_true217 ], [ %tmp211, %invcont213 ] ; <int> [#uses=2] - %tmp.page = invoke uint %_ZNK8QPrinter9pageOrderEv( %struct.QPrinter* %printer ) - to label %invcont227 unwind label %cleanup329 ; <uint> [#uses=1] - -invcont227: ; preds = %cond_next225 - %tmp228 = seteq uint %tmp.page, 1 ; <bool> [#uses=1] - br bool %tmp228, label %cond_true230, label %cond_next234 - -cond_true230: ; preds = %invcont227 - br label %cond_next234 - -cond_next234: ; preds = %cond_true230, %invcont227 - %ascending.1 = phi bool [ false, %cond_true230 ], [ true, %invcont227 ] ; <bool> [#uses=1] - %toPage.2 = phi int [ %fromPage.1, %cond_true230 ], [ %toPage.1, %invcont227 ] ; <int> [#uses=1] - %fromPage.2 = phi int [ %toPage.1, %cond_true230 ], [ %fromPage.1, %invcont227 ] ; <int> [#uses=1] - br label %bb309 - -bb237: ; preds = %cond_true313, %cond_next293 - %iftmp.410.4 = phi bool [ %iftmp.410.5, %cond_true313 ], [ %iftmp.410.1, %cond_next293 ] ; <bool> [#uses=1] - %page.4 = phi int [ %fromPage.2, %cond_true313 ], [ %page.3, %cond_next293 ] ; <int> [#uses=4] - br label %bb273 - -invcont240: ; preds = %cond_true277 - %tmp242 = seteq uint %tmp241, 2 ; <bool> [#uses=1] - br bool %tmp242, label %bb252, label %cond_next244 - -cond_next244: ; preds = %invcont240 - %tmp247 = invoke uint %_ZNK8QPrinter12printerStateEv( %struct.QPrinter* %printer ) - to label %invcont246 unwind label %cleanup329 ; <uint> [#uses=1] - -invcont246: ; preds = %cond_next244 - %tmp248 = seteq uint %tmp247, 3 ; <bool> [#uses=1] - br bool %tmp248, label %bb252, label %bb253 - -bb252: ; preds = %invcont246, %invcont240 - br label %bb254 - -bb253: ; preds = %invcont246 - br label %bb254 - -bb254: ; preds = %bb253, %bb252 - %iftmp.410.0 = phi bool [ true, %bb252 ], [ false, %bb253 ] ; <bool> [#uses=2] - br bool %iftmp.410.0, label %UserCanceled, label %cond_next258 - -cond_next258: ; preds = %bb254 - invoke fastcc void %_Z9printPageiP8QPainterPK13QTextDocumentRK6QRectFRK7QPointF( int %page.4, %struct.QPainter* %p, %struct.QAbstractTextDocumentLayout* %doc.1, %struct.QRectF* %body, %struct.QPointF* %pageNumberPos ) - to label %invcont261 unwind label %cleanup329 - -invcont261: ; preds = %cond_next258 - %tmp263 = add int %pageCopies.0, -1 ; <int> [#uses=1] - %tmp265 = setgt int %tmp263, %j.4 ; <bool> [#uses=1] - br bool %tmp265, label %cond_true266, label %cond_next270 - -cond_true266: ; preds = %invcont261 - %tmp269 = invoke bool %_ZN8QPrinter7newPageEv( %struct.QPrinter* %printer ) - to label %cond_next270 unwind label %cleanup329 ; <bool> [#uses=0] - -cond_next270: ; preds = %cond_true266, %invcont261 - %tmp272 = add int %j.4, 1 ; <int> [#uses=1] - br label %bb273 - -bb273: ; preds = %cond_next270, %bb237 - %iftmp.410.1 = phi bool [ %iftmp.410.4, %bb237 ], [ %iftmp.410.0, %cond_next270 ] ; <bool> [#uses=2] - %j.4 = phi int [ 0, %bb237 ], [ %tmp272, %cond_next270 ] ; <int> [#uses=3] - %tmp276 = setlt int %j.4, %pageCopies.0 ; <bool> [#uses=1] - br bool %tmp276, label %cond_true277, label %bb280 - -cond_true277: ; preds = %bb273 - %tmp241 = invoke uint %_ZNK8QPrinter12printerStateEv( %struct.QPrinter* %printer ) - to label %invcont240 unwind label %cleanup329 ; <uint> [#uses=1] - -bb280: ; preds = %bb273 - %tmp283 = seteq int %page.4, %toPage.2 ; <bool> [#uses=1] - br bool %tmp283, label %bb297, label %cond_next285 - -cond_next285: ; preds = %bb280 - br bool %ascending.1, label %cond_true287, label %cond_false290 - -cond_true287: ; preds = %cond_next285 - %tmp289 = add int %page.4, 1 ; <int> [#uses=1] - br label %cond_next293 - -cond_false290: ; preds = %cond_next285 - %tmp292 = add int %page.4, -1 ; <int> [#uses=1] - br label %cond_next293 - -cond_next293: ; preds = %cond_false290, %cond_true287 - %page.3 = phi int [ %tmp289, %cond_true287 ], [ %tmp292, %cond_false290 ] ; <int> [#uses=1] - %tmp296 = invoke bool %_ZN8QPrinter7newPageEv( %struct.QPrinter* %printer ) - to label %bb237 unwind label %cleanup329 ; <bool> [#uses=0] - -bb297: ; preds = %bb280 - %tmp299 = add int %docCopies.0, -1 ; <int> [#uses=1] - %tmp301 = setgt int %tmp299, %i.1 ; <bool> [#uses=1] - br bool %tmp301, label %cond_true302, label %cond_next306 - -cond_true302: ; preds = %bb297 - %tmp305 = invoke bool %_ZN8QPrinter7newPageEv( %struct.QPrinter* %printer ) - to label %cond_next306 unwind label %cleanup329 ; <bool> [#uses=0] - -cond_next306: ; preds = %cond_true302, %bb297 - %tmp308 = add int %i.1, 1 ; <int> [#uses=1] - br label %bb309 - -bb309: ; preds = %cond_next306, %cond_next234 - %iftmp.410.5 = phi bool [ undef, %cond_next234 ], [ %iftmp.410.1, %cond_next306 ] ; <bool> [#uses=1] - %i.1 = phi int [ 0, %cond_next234 ], [ %tmp308, %cond_next306 ] ; <int> [#uses=3] - %tmp312 = setlt int %i.1, %docCopies.0 ; <bool> [#uses=1] - br bool %tmp312, label %cond_true313, label %UserCanceled - -cond_true313: ; preds = %bb309 - br label %bb237 - -UserCanceled: ; preds = %bb309, %bb254 - %tmp318 = seteq %struct.QAbstractTextDocumentLayout* %clonedDoc.1, null ; <bool> [#uses=1] - br bool %tmp318, label %cleanup327, label %cond_true319 - -cond_true319: ; preds = %UserCanceled - %tmp = getelementptr %struct.QAbstractTextDocumentLayout* %clonedDoc.1, int 0, uint 0, uint 0 ; <int (...)***> [#uses=1] - %tmp = load int (...)*** %tmp ; <int (...)**> [#uses=1] - %tmp322 = getelementptr int (...)** %tmp, int 4 ; <int (...)**> [#uses=1] - %tmp = load int (...)** %tmp322 ; <int (...)*> [#uses=1] - %tmp = cast int (...)* %tmp to void (%struct.QAbstractTextDocumentLayout*)* ; <void (%struct.QAbstractTextDocumentLayout*)*> [#uses=1] - invoke void %tmp( %struct.QAbstractTextDocumentLayout* %clonedDoc.1 ) - to label %cleanup327 unwind label %cleanup329 - -cleanup327: ; preds = %cond_true319, %UserCanceled - call void %_ZN8QPainterD1Ev( %struct.QPainter* %p ) - ret void - -cleanup328: ; preds = %invcont - call void %_ZN8QPainterD1Ev( %struct.QPainter* %p ) - ret void - -cleanup329: ; preds = %cond_true319, %cond_true302, %cond_next293, %cond_true277, %cond_true266, %cond_next258, %cond_next244, %cond_next225, %cond_true220, %invcont210, %cond_next208, %cond_false204, %cond_true200, %cond_next194, %cleanup192, %cleanup192, %cleanup190, %invcont106, %invcont104, %invcont103, %invcont100, %invcont98, %invcont94, %cond_false, %invcont83, %invcont79, %invcont57, %invcont51, %invcont45, %cond_next42, %invcont37, %cond_true35, %invcont29, %invcont25, %cond_true24, %cond_next, %entry - call void %_ZN8QPainterD1Ev( %struct.QPainter* %p ) - unwind -} - -declare void %_ZN6QSizeFC1Edd(%struct.QPointF*, double, double) - -declare bool %_ZNK6QSizeF7isValidEv(%struct.QPointF*) - -declare double %_ZNK6QSizeF5widthEv(%struct.QPointF*) - -declare double %_ZNK6QSizeF6heightEv(%struct.QPointF*) - -declare double* %_ZN6QSizeF6rwidthEv(%struct.QPointF*) - -declare double* %_ZN6QSizeF7rheightEv(%struct.QPointF*) - -declare %struct.QTextDocumentPrivate* %_ZNK13QTextDocument6d_funcEv(%struct.QAbstractTextDocumentLayout*) - -declare void %_ZN7QPointFC1Ev(%struct.QPointF*) - -declare void %_ZN7QPointFC1Edd(%struct.QPointF*, double, double) - -declare void %_ZN16QTextFrameFormat9setMarginEd(%struct.QTextBlockFormat*, double) - -declare void %_ZN6QRectFC1Edddd(%struct.QRectF*, double, double, double, double) - -declare void %_ZN6QRectFC1ERK7QPointFRK6QSizeF(%struct.QRectF*, %struct.QPointF*, %struct.QPointF*) - -declare double %_ZNK6QRectF5widthEv(%struct.QRectF*) - -declare double %_ZNK6QRectF6heightEv(%struct.QRectF*) - -declare void %_ZNK6QRectF4sizeEv(%struct.QPointF*, %struct.QRectF*) - -declare void %_ZN16QTextFrameFormatD1Ev(%struct.QTextBlockFormat*) - -declare void %_ZNK10QTextFrame11frameFormatEv(%struct.QTextBlockFormat*, %struct.QTextBlockGroup*) - -declare void %_ZN10QTextFrame14setFrameFormatERK16QTextFrameFormat(%struct.QTextBlockGroup*, %struct.QTextBlockFormat*) - -declare int %_ZNK12QPaintDevice5widthEv(%struct.QPaintDevice*) - -declare int %_ZNK12QPaintDevice6heightEv(%struct.QPaintDevice*) - -declare int %_ZNK12QPaintDevice11logicalDpiXEv(%struct.QPaintDevice*) - -declare int %_ZNK12QPaintDevice11logicalDpiYEv(%struct.QPaintDevice*) - -declare %struct.QAbstractTextDocumentLayout* %_ZNK13QTextDocument5cloneEP7QObject(%struct.QAbstractTextDocumentLayout*, %struct.QObject*) - -declare void %_ZN5QFontD1Ev(%struct.QFont*) - -declare %struct.QAbstractTextDocumentLayout* %_ZNK13QTextDocument14documentLayoutEv(%struct.QAbstractTextDocumentLayout*) - -declare %struct.QTextBlockGroup* %_ZNK13QTextDocument9rootFrameEv(%struct.QAbstractTextDocumentLayout*) - -declare int %_ZNK13QTextDocument9pageCountEv(%struct.QAbstractTextDocumentLayout*) - -declare void %_ZNK13QTextDocument11defaultFontEv(%struct.QFont*, %struct.QAbstractTextDocumentLayout*) - -declare void %_ZN13QTextDocument14setDefaultFontERK5QFont(%struct.QAbstractTextDocumentLayout*, %struct.QFont*) - -declare void %_ZN13QTextDocument11setPageSizeERK6QSizeF(%struct.QAbstractTextDocumentLayout*, %struct.QPointF*) - -declare void %_Z9printPageiP8QPainterPK13QTextDocumentRK6QRectFRK7QPointF(int, %struct.QPainter*, %struct.QAbstractTextDocumentLayout*, %struct.QRectF*, %struct.QPointF*) - -declare void %_ZN12QFontMetricsD1Ev(%struct.QFontMetrics*) - -declare void %_ZN8QPainterC1EP12QPaintDevice(%struct.QPainter*, %struct.QPaintDevice*) - -declare bool %_ZNK8QPainter8isActiveEv(%struct.QPainter*) - -declare int %_Z13qt_defaultDpiv() - -declare %struct.QPaintDevice* %_ZNK27QAbstractTextDocumentLayout11paintDeviceEv(%struct.QAbstractTextDocumentLayout*) - -declare void %_ZN8QPainter5scaleEdd(%struct.QPainter*, double, double) - -declare %struct.QPaintDevice* %_ZNK8QPainter6deviceEv(%struct.QPainter*) - -declare void %_ZN27QAbstractTextDocumentLayout14setPaintDeviceEP12QPaintDevice(%struct.QAbstractTextDocumentLayout*, %struct.QPaintDevice*) - -declare void %_ZN12QFontMetricsC1ERK5QFontP12QPaintDevice(%struct.QFontMetrics*, %struct.QFont*, %struct.QPaintDevice*) - -declare int %_ZNK12QFontMetrics6ascentEv(%struct.QFontMetrics*) - -declare void %_ZN5QFont12setPointSizeEi(%struct.QFont*, int) - -declare bool %_ZNK8QPrinter13collateCopiesEv(%struct.QPrinter*) - -declare int %_ZNK8QPrinter9numCopiesEv(%struct.QPrinter*) - -declare int %_ZNK8QPrinter8fromPageEv(%struct.QPrinter*) - -declare int %_ZNK8QPrinter6toPageEv(%struct.QPrinter*) - -declare uint %_ZNK8QPrinter9pageOrderEv(%struct.QPrinter*) - -declare uint %_ZNK8QPrinter12printerStateEv(%struct.QPrinter*) - -declare bool %_ZN8QPrinter7newPageEv(%struct.QPrinter*) - -declare void %_ZN8QPainterD1Ev(%struct.QPainter*) diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/2006-12-08-Ptr-ICmp-Branch.ll b/llvm/test/Regression/Transforms/SimplifyCFG/2006-12-08-Ptr-ICmp-Branch.ll deleted file mode 100644 index 2063d9f4ae1..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/2006-12-08-Ptr-ICmp-Branch.ll +++ /dev/null @@ -1,144 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis -; ModuleID = 'bugpoint-tooptimize.bc' -target datalayout = "e-p:32:32" -target endian = little -target pointersize = 32 -target triple = "i686-pc-linux-gnu" - %struct.FILE = type { int, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, %struct._IO_marker*, %struct.FILE*, int, int, int, ushort, sbyte, [1 x sbyte], sbyte*, long, sbyte*, sbyte*, sbyte*, sbyte*, uint, int, [40 x sbyte] } - %struct._IO_FILE = type { int, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, %struct._IO_marker*, %struct.FILE*, int, int, int, ushort, sbyte, [1 x sbyte], sbyte*, long, sbyte*, sbyte*, sbyte*, sbyte*, uint, int, [40 x sbyte] } - %struct._IO_marker = type { %struct._IO_marker*, %struct.FILE*, int } - %struct.charsequence = type { sbyte*, uint, uint } - %struct.trie_s = type { [26 x %struct.trie_s*], int } -%str = external global [14 x sbyte] ; <[14 x sbyte]*> [#uses=0] -%str = external global [32 x sbyte] ; <[32 x sbyte]*> [#uses=0] -%str = external global [12 x sbyte] ; <[12 x sbyte]*> [#uses=0] -%C.0.2294 = external global %struct.charsequence ; <%struct.charsequence*> [#uses=3] -%t = external global %struct.trie_s* ; <%struct.trie_s**> [#uses=0] -%str = external global [3 x sbyte] ; <[3 x sbyte]*> [#uses=0] -%str = external global [26 x sbyte] ; <[26 x sbyte]*> [#uses=0] - -implementation ; Functions: - -declare void %charsequence_reset(%struct.charsequence*) -declare void %free(sbyte*) -declare void %charsequence_push(%struct.charsequence*, sbyte) -declare sbyte* %charsequence_val(%struct.charsequence*) -declare int %_IO_getc(%struct.FILE*) -declare int %tolower(int) -declare %struct.trie_s* %trie_insert(%struct.trie_s*, sbyte*) -declare int %feof(%struct.FILE*) - -void %addfile(%struct.trie_s* %t, %struct.FILE* %f) { -entry: - %t_addr = alloca %struct.trie_s* ; <%struct.trie_s**> [#uses=2] - %f_addr = alloca %struct.FILE* ; <%struct.FILE**> [#uses=3] - %c = alloca sbyte, align 1 ; <sbyte*> [#uses=7] - %wstate = alloca int, align 4 ; <int*> [#uses=4] - %cs = alloca %struct.charsequence, align 16 ; <%struct.charsequence*> [#uses=7] - %str = alloca sbyte*, align 4 ; <sbyte**> [#uses=3] - "alloca point" = bitcast int 0 to int ; <int> [#uses=0] - store %struct.trie_s* %t, %struct.trie_s** %t_addr - store %struct.FILE* %f, %struct.FILE** %f_addr - store int 0, int* %wstate - %tmp = getelementptr %struct.charsequence* %cs, uint 0, uint 0 ; <sbyte**> [#uses=1] - %tmp1 = getelementptr %struct.charsequence* %C.0.2294, uint 0, uint 0 ; <sbyte**> [#uses=1] - %tmp = load sbyte** %tmp1 ; <sbyte*> [#uses=1] - store sbyte* %tmp, sbyte** %tmp - %tmp = getelementptr %struct.charsequence* %cs, uint 0, uint 1 ; <uint*> [#uses=1] - %tmp2 = getelementptr %struct.charsequence* %C.0.2294, uint 0, uint 1 ; <uint*> [#uses=1] - %tmp = load uint* %tmp2 ; <uint> [#uses=1] - store uint %tmp, uint* %tmp - %tmp3 = getelementptr %struct.charsequence* %cs, uint 0, uint 2 ; <uint*> [#uses=1] - %tmp4 = getelementptr %struct.charsequence* %C.0.2294, uint 0, uint 2 ; <uint*> [#uses=1] - %tmp5 = load uint* %tmp4 ; <uint> [#uses=1] - store uint %tmp5, uint* %tmp3 - br label %bb33 - -bb: ; preds = %bb33 - %tmp = load %struct.FILE** %f_addr ; <%struct.FILE*> [#uses=1] - %tmp = call int %_IO_getc( %struct.FILE* %tmp ) ; <int> [#uses=1] - %tmp6 = call int %tolower( int %tmp ) ; <int> [#uses=1] - %tmp6 = trunc int %tmp6 to sbyte ; <sbyte> [#uses=1] - store sbyte %tmp6, sbyte* %c - %tmp7 = load int* %wstate ; <int> [#uses=1] - %tmp = icmp ne int %tmp7, 0 ; <bool> [#uses=1] - br bool %tmp, label %cond_true, label %cond_false - -cond_true: ; preds = %bb - %tmp = load sbyte* %c ; <sbyte> [#uses=1] - %tmp8 = icmp sle sbyte %tmp, 96 ; <bool> [#uses=1] - br bool %tmp8, label %cond_true9, label %cond_next - -cond_true9: ; preds = %cond_true - br label %bb16 - -cond_next: ; preds = %cond_true - %tmp10 = load sbyte* %c ; <sbyte> [#uses=1] - %tmp11 = icmp sgt sbyte %tmp10, 122 ; <bool> [#uses=1] - br bool %tmp11, label %cond_true12, label %cond_next13 - -cond_true12: ; preds = %cond_next - br label %bb16 - -cond_next13: ; preds = %cond_next - %tmp14 = load sbyte* %c ; <sbyte> [#uses=1] - %tmp14 = sext sbyte %tmp14 to int ; <int> [#uses=1] - %tmp1415 = trunc int %tmp14 to sbyte ; <sbyte> [#uses=1] - call void %charsequence_push( %struct.charsequence* %cs, sbyte %tmp1415 ) - br label %bb21 - -bb16: ; preds = %cond_true12, %cond_true9 - %tmp17 = call sbyte* %charsequence_val( %struct.charsequence* %cs ) ; <sbyte*> [#uses=1] - store sbyte* %tmp17, sbyte** %str - %tmp = load %struct.trie_s** %t_addr ; <%struct.trie_s*> [#uses=1] - %tmp18 = load sbyte** %str ; <sbyte*> [#uses=1] - %tmp19 = call %struct.trie_s* %trie_insert( %struct.trie_s* %tmp, sbyte* %tmp18 ) ; <%struct.trie_s*> [#uses=0] - %tmp20 = load sbyte** %str ; <sbyte*> [#uses=1] - call void %free( sbyte* %tmp20 ) - store int 0, int* %wstate - br label %bb21 - -bb21: ; preds = %bb16, %cond_next13 - br label %cond_next32 - -cond_false: ; preds = %bb - %tmp22 = load sbyte* %c ; <sbyte> [#uses=1] - %tmp23 = icmp sgt sbyte %tmp22, 96 ; <bool> [#uses=1] - br bool %tmp23, label %cond_true24, label %cond_next31 - -cond_true24: ; preds = %cond_false - %tmp25 = load sbyte* %c ; <sbyte> [#uses=1] - %tmp26 = icmp sle sbyte %tmp25, 122 ; <bool> [#uses=1] - br bool %tmp26, label %cond_true27, label %cond_next30 - -cond_true27: ; preds = %cond_true24 - call void %charsequence_reset( %struct.charsequence* %cs ) - %tmp28 = load sbyte* %c ; <sbyte> [#uses=1] - %tmp28 = sext sbyte %tmp28 to int ; <int> [#uses=1] - %tmp2829 = trunc int %tmp28 to sbyte ; <sbyte> [#uses=1] - call void %charsequence_push( %struct.charsequence* %cs, sbyte %tmp2829 ) - store int 1, int* %wstate - br label %cond_next30 - -cond_next30: ; preds = %cond_true27, %cond_true24 - br label %cond_next31 - -cond_next31: ; preds = %cond_next30, %cond_false - br label %cond_next32 - -cond_next32: ; preds = %cond_next31, %bb21 - br label %bb33 - -bb33: ; preds = %cond_next32, %entry - %tmp34 = load %struct.FILE** %f_addr ; <%struct.FILE*> [#uses=1] - %tmp35 = call int %feof( %struct.FILE* %tmp34 ) ; <int> [#uses=1] - %tmp36 = icmp eq int %tmp35, 0 ; <bool> [#uses=1] - br bool %tmp36, label %bb, label %bb37 - -bb37: ; preds = %bb33 - br label %return - -return: ; preds = %bb37 - ret void -} - diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/BrUnwind.ll b/llvm/test/Regression/Transforms/SimplifyCFG/BrUnwind.ll deleted file mode 100644 index 94008b0d0f3..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/BrUnwind.ll +++ /dev/null @@ -1,12 +0,0 @@ -;RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | not grep 'br label' -void %test(bool %C) { - br bool %C, label %A, label %B -A: - call void %test(bool %C) - br label %X -B: - call void %test(bool %C) - br label %X -X: - unwind -} diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/DeadSetCC.ll b/llvm/test/Regression/Transforms/SimplifyCFG/DeadSetCC.ll deleted file mode 100644 index 96337f7c3ca..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/DeadSetCC.ll +++ /dev/null @@ -1,26 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | not grep 'icmp eq' - -; Check that simplifycfg deletes a dead 'seteq' instruction when it -; folds a conditional branch into a switch instruction. - -declare void %foo() -declare void %bar() - -void %testcfg(uint %V) { - %C = seteq uint %V, 18 - %D = seteq uint %V, 180 - %E = or bool %C, %D - br bool %E, label %L1, label %Sw -Sw: - switch uint %V, label %L1 [ - uint 15, label %L2 - uint 16, label %L2 - ] -L1: - call void %foo() - ret void -L2: - call void %bar() - ret void -} - diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/EqualPHIEdgeBlockMerge.ll b/llvm/test/Regression/Transforms/SimplifyCFG/EqualPHIEdgeBlockMerge.ll deleted file mode 100644 index 4b643c6a175..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/EqualPHIEdgeBlockMerge.ll +++ /dev/null @@ -1,18 +0,0 @@ -; Test merging of blocks with phi nodes. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | not grep 'N:' -; - -int %test(bool %a) { -Q: - br bool %a, label %N, label %M -N: - br label %M -M: - ; It's ok to merge N and M because the incoming values for W are the - ; same for both cases... - %W = phi int [2, %N], [2, %Q] - %R = add int %W, 1 - ret int %R -} - diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/HoistCode.ll b/llvm/test/Regression/Transforms/SimplifyCFG/HoistCode.ll deleted file mode 100644 index b8174771613..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/HoistCode.ll +++ /dev/null @@ -1,11 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | not grep br - -void %foo(bool %C, int* %P) { - br bool %C, label %T, label %F -T: - store int 7, int* %P - ret void -F: - store int 7, int* %P - ret void -} diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/InvokeEliminate.ll b/llvm/test/Regression/Transforms/SimplifyCFG/InvokeEliminate.ll deleted file mode 100644 index cbce416d66f..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/InvokeEliminate.ll +++ /dev/null @@ -1,17 +0,0 @@ -; This testcase checks to see if the simplifycfg pass is converting invoke -; instructions to call instructions if the handler just rethrows the exception. - -; If this test is successful, the function should be reduced to 'call; ret' - -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | not egrep 'invoke|br' - -declare void %bar() - -int %test() { - invoke void %bar() to label %Ok except label %Rethrow -Ok: - ret int 0 -Rethrow: - unwind -} - diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/PhiBlockMerge.ll b/llvm/test/Regression/Transforms/SimplifyCFG/PhiBlockMerge.ll deleted file mode 100644 index 881944fd9d0..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/PhiBlockMerge.ll +++ /dev/null @@ -1,23 +0,0 @@ -; Test merging of blocks that only have PHI nodes in them -; -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | not grep 'N:' -; - -int %test(bool %a, bool %b) { - br bool %a, label %M, label %O - -O: - br bool %b, label %N, label %Q -Q: - br label %N -N: - %Wp = phi int [0, %O], [1, %Q] - ; This block should be foldable into M - br label %M - -M: - %W = phi int [%Wp, %N], [2, %0] - %R = add int %W, 1 - ret int %R -} - diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/PhiBlockMerge2.ll b/llvm/test/Regression/Transforms/SimplifyCFG/PhiBlockMerge2.ll deleted file mode 100644 index 7e80677bc79..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/PhiBlockMerge2.ll +++ /dev/null @@ -1,21 +0,0 @@ -; Test merging of blocks that only have PHI nodes in them. This tests the case -; where the mergedinto block doesn't have any PHI nodes, and is in fact -; dominated by the block-to-be-eliminated -; -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | not grep 'N:' -; - -int %test(bool %a, bool %b) { - br bool %b, label %N, label %Q -Q: - br label %N -N: - %W = phi int [0, %0], [1, %Q] - ; This block should be foldable into M - br label %M - -M: - %R = add int %W, 1 - ret int %R -} - diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/PhiEliminate.ll b/llvm/test/Regression/Transforms/SimplifyCFG/PhiEliminate.ll deleted file mode 100644 index 9411b33f7b3..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/PhiEliminate.ll +++ /dev/null @@ -1,37 +0,0 @@ -; Test a bunch of cases where the cfg simplification code should -; be able to fold PHI nodes into computation in common cases. Folding the PHI -; nodes away allows the branches to be eliminated, performing a simple form of -; 'if conversion'. - -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis > %t.xform -; RUN: not grep phi %t.xform && grep ret %t.xform - -declare void %use(bool) -declare void %use(int) - - -void %test2(bool %c, bool %d, int %V, int %V2) { - br bool %d, label %X, label %F -X: - br bool %c, label %T, label %F -T: - br label %F -F: - %B1 = phi bool [true, %0], [false, %T], [false, %X] - %I7 = phi int [%V, %0], [%V2, %T], [%V2, %X] - call void %use(bool %B1) - call void %use(int %I7) - ret void -} - -void %test(bool %c, int %V, int %V2) { - br bool %c, label %T, label %F -T: - br label %F -F: - %B1 = phi bool [true, %0], [false, %T] - %I6 = phi int [%V, %0], [0, %T] - call void %use(bool %B1) - call void %use(int %I6) - ret void -} diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/PhiEliminate2.ll b/llvm/test/Regression/Transforms/SimplifyCFG/PhiEliminate2.ll deleted file mode 100644 index fb00a1342bd..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/PhiEliminate2.ll +++ /dev/null @@ -1,15 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | not grep br - -int %test(bool %C, int %V1, int %V2) { -entry: - br bool %C, label %then, label %Cont - -then: - %V3 = or int %V2, %V1 - br label %Cont -Cont: - %V4 = phi int [%V1, %entry], [%V3, %then] - call int %test(bool false, int 0, int 0) ;; don't fold into preds - ret int %V1 -} - diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/PhiNoEliminate.ll b/llvm/test/Regression/Transforms/SimplifyCFG/PhiNoEliminate.ll deleted file mode 100644 index 1eb07b32f16..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/PhiNoEliminate.ll +++ /dev/null @@ -1,29 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | not grep select - -;; The PHI node in this example should not be turned into a select, as we are -;; not able to ifcvt the entire block. As such, converting to a select just -;; introduces inefficiency without saving copies. - -int %bar(bool %C) { -entry: - br bool %C, label %then, label %endif - -then: - %tmp.3 = call int %qux() - br label %endif - -endif: - %R = phi int [123, %entry], [12312, %then] - ;; stuff to disable tail duplication - call int %qux() - call int %qux() - call int %qux() - call int %qux() - call int %qux() - call int %qux() - call int %qux() - ret int %R -} - -declare int %qux() - diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/UncondBranchToReturn.ll b/llvm/test/Regression/Transforms/SimplifyCFG/UncondBranchToReturn.ll deleted file mode 100644 index a3ed678c1be..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/UncondBranchToReturn.ll +++ /dev/null @@ -1,32 +0,0 @@ -; The unify-function-exit-nodes pass often makes basic blocks that just contain -; a PHI node and a return. Make sure the simplify cfg can straighten out this -; important case. This is basically the most trivial form of tail-duplication. - -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | not grep 'br label' - -int %test(bool %B, int %A, int %B) { - br bool %B, label %T, label %F -T: - br label %ret -F: - br label %ret -ret: - %X = phi int [%A, %F], [%B, %T] - ret int %X -} - -; Make sure it's willing to move unconditional branches to return instructions -; as well, even if the return block is shared and the source blocks are -; non-empty. -int %test2(bool %B, int %A, int %B) { - br bool %B, label %T, label %F -T: - call int %test(bool true, int 5, int 8) - br label %ret -F: - call int %test(bool true, int 5, int 8) - br label %ret -ret: - ret int %A -} - diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/UnreachableEliminate.ll b/llvm/test/Regression/Transforms/SimplifyCFG/UnreachableEliminate.ll deleted file mode 100644 index 22cd3d4685c..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/UnreachableEliminate.ll +++ /dev/null @@ -1,29 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | not grep unreachable - -void %test1(bool %C, bool* %BP) { - br bool %C, label %T, label %F -T: - store bool %C, bool* %BP ;; dead - unreachable -F: - ret void -} - -void %test2() { - invoke void %test2() to label %N unwind label %U -U: - unreachable -N: - ret void -} - -int %test3(int %v) { - switch int %v, label %default [ int 1, label %U - int 2, label %T] -default: - ret int 1 -U: - unreachable -T: - ret int 2 -} diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/basictest.ll b/llvm/test/Regression/Transforms/SimplifyCFG/basictest.ll deleted file mode 100644 index 18fa8978ca1..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/basictest.ll +++ /dev/null @@ -1,24 +0,0 @@ -; Test CFG simplify removal of branch instructions... -; -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | not grep br - - -void "test1"() { - br label %BB1 -BB1: - ret void -} - -void "test2"() { - ret void -BB1: - ret void -} - -void "test3"(bool %T) { - br bool %T, label %BB1, label %BB1 -BB1: - ret void -} - - diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/branch-cond-merge.ll b/llvm/test/Regression/Transforms/SimplifyCFG/branch-cond-merge.ll deleted file mode 100644 index ca5f3e4ab44..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/branch-cond-merge.ll +++ /dev/null @@ -1,21 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -instcombine -simplifycfg | llvm-dis | not grep call - -declare void %bar() - -void %test(int %X, int %Y) { -entry: - %tmp.2 = setne int %X, %Y - br bool %tmp.2, label %shortcirc_next, label %UnifiedReturnBlock - -shortcirc_next: - %tmp.3 = setne int %X, %Y - br bool %tmp.3, label %UnifiedReturnBlock, label %then - -then: - call void %bar( ) - ret void - -UnifiedReturnBlock: ; preds = %entry, %shortcirc_next - ret void -} - diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/branch-cond-prop.ll b/llvm/test/Regression/Transforms/SimplifyCFG/branch-cond-prop.ll deleted file mode 100644 index 10270c29fc5..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/branch-cond-prop.ll +++ /dev/null @@ -1,20 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | not grep call - -declare void %bar() - -void %test(int %X, int %Y) { -entry: - %tmp.2 = setlt int %X, %Y ; <bool> [#uses=2] - br bool %tmp.2, label %shortcirc_next, label %UnifiedReturnBlock - -shortcirc_next: ; preds = %entry - br bool %tmp.2, label %UnifiedReturnBlock, label %then - -then: ; preds = %shortcirc_next - call void %bar( ) - ret void - -UnifiedReturnBlock: ; preds = %entry, %shortcirc_next - ret void -} - diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/branch-fold-test.ll b/llvm/test/Regression/Transforms/SimplifyCFG/branch-fold-test.ll deleted file mode 100644 index 3bbb101ef47..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/branch-fold-test.ll +++ /dev/null @@ -1,16 +0,0 @@ -; This test ensures that the simplifycfg pass continues to constant fold -; terminator instructions. - -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | not grep br - -int %test(int %A, int %B) { -J: - %C = add int %A, 12 - br bool true, label %L, label %K ; K is dead! -L: - %D = add int %C, %B - ret int %D -K: - %E = add int %C, %B - ret int %E -} diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/branch-fold.ll b/llvm/test/Regression/Transforms/SimplifyCFG/branch-fold.ll deleted file mode 100644 index b22337cfcc1..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/branch-fold.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | grep 'br i1' | wc -l | grep 1 - -void %test(int* %P, int* %Q, bool %A, bool %B) { - br bool %A, label %a, label %b ;; fold the two branches into one -a: - br bool %B, label %b, label %c -b: - store int 123, int* %P - ret void -c: - ret void -} diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/branch-phi-thread.ll b/llvm/test/Regression/Transforms/SimplifyCFG/branch-phi-thread.ll deleted file mode 100644 index 3b8d1885443..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/branch-phi-thread.ll +++ /dev/null @@ -1,63 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -adce | llvm-dis | not grep 'call void %f1' && -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -adce -disable-output -declare void %f1() -declare void %f2() -declare void %f3() -declare void %f4() - -implementation - -int %test1(int %X, bool %D) { -E: - %C = seteq int %X, 0 - br bool %C, label %T, label %F -T: - br bool %C, label %B, label %A -A: - call void %f1() - br bool %D, label %T, label %F -B: - call void %f2() - ret int 345 -F: - call void %f3() - ret int 123 -} - -int %test2(int %X, bool %D) { -E: - %C = seteq int %X, 0 - br bool %C, label %T, label %F -T: - %P = phi bool [true, %E], [%C, %A] - br bool %P, label %B, label %A -A: - call void %f1() - br bool %D, label %T, label %F -B: - call void %f2() - ret int 345 -F: - call void %f3() - ret int 123 -} - -int %test3(int %X, bool %D, int* %AP, int* %BP) { -E: - %C = seteq int %X, 0 - br bool %C, label %T, label %F -T: - call void %f3() ;; Inst in block. - %XX = load int* %AP - store int %XX, int* %BP - br bool %C, label %B, label %A -A: - call void %f1() - br bool %D, label %T, label %F -B: - call void %f2() - ret int 345 -F: - call void %f3() - ret int 123 -} diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/dg.exp b/llvm/test/Regression/Transforms/SimplifyCFG/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/hoist-common-code.ll b/llvm/test/Regression/Transforms/SimplifyCFG/hoist-common-code.ll deleted file mode 100644 index b19eac98d6d..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/hoist-common-code.ll +++ /dev/null @@ -1,17 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | not grep 'br' -declare void %bar(int) - -void %test(bool %P, int* %Q) { - br bool %P, label %T, label %F -T: - store int 1, int* %Q - %A = load int* %Q - call void %bar(int %A) - ret void -F: - store int 1, int* %Q - %B = load int* %Q - call void %bar(int %B) - ret void -} - diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/return-merge.ll b/llvm/test/Regression/Transforms/SimplifyCFG/return-merge.ll deleted file mode 100644 index cbcfddbd944..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/return-merge.ll +++ /dev/null @@ -1,18 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | not grep br - -int %test1(bool %C) { -entry: - br bool %C, label %T, label %F -T: - ret int 1 -F: - ret int 0 -} - -void %test2(bool %C) { - br bool %C, label %T, label %F -T: - ret void -F: - ret void -} diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/switch-simplify-crash.ll b/llvm/test/Regression/Transforms/SimplifyCFG/switch-simplify-crash.ll deleted file mode 100644 index 096f2aeb813..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/switch-simplify-crash.ll +++ /dev/null @@ -1,153 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -disable-output - - -void %NewExtractNames() { -entry: - br bool false, label %endif.0, label %then.0 - -then.0: ; preds = %entry - br bool false, label %shortcirc_next.i, label %shortcirc_done.i - -shortcirc_next.i: ; preds = %then.0 - br label %shortcirc_done.i - -shortcirc_done.i: ; preds = %shortcirc_next.i, %then.0 - br bool false, label %then.0.i, label %else.0.i - -then.0.i: ; preds = %shortcirc_done.i - br label %NewBase.exit - -else.0.i: ; preds = %shortcirc_done.i - br bool false, label %endif.0.i, label %else.1.i - -else.1.i: ; preds = %else.0.i - br bool false, label %endif.0.i, label %else.2.i - -else.2.i: ; preds = %else.1.i - br label %NewBase.exit - -endif.0.i: ; preds = %else.1.i, %else.0.i - br label %NewBase.exit - -NewBase.exit: ; preds = %endif.0.i, %else.2.i, %then.0.i - br label %endif.0 - -endif.0: ; preds = %NewBase.exit, %entry - %tmp.32.mask = and uint 0, 31 ; <uint> [#uses=1] - switch uint %tmp.32.mask, label %label.9 [ - uint 16, label %loopentry.2 - uint 15, label %loopentry.2 - uint 14, label %loopentry.2 - uint 13, label %loopentry.2 - uint 10, label %loopentry.2 - uint 20, label %loopentry.1 - uint 19, label %loopentry.1 - uint 2, label %loopentry.0 - uint 0, label %switchexit - ] - -loopentry.0: ; preds = %endif.1, %endif.0 - br bool false, label %no_exit.0, label %switchexit - -no_exit.0: ; preds = %loopentry.0 - br bool false, label %then.1, label %else.1 - -then.1: ; preds = %no_exit.0 - br label %endif.1 - -else.1: ; preds = %no_exit.0 - br bool false, label %shortcirc_next.0, label %shortcirc_done.0 - -shortcirc_next.0: ; preds = %else.1 - br label %shortcirc_done.0 - -shortcirc_done.0: ; preds = %shortcirc_next.0, %else.1 - br bool false, label %then.2, label %endif.2 - -then.2: ; preds = %shortcirc_done.0 - br label %endif.2 - -endif.2: ; preds = %then.2, %shortcirc_done.0 - br label %endif.1 - -endif.1: ; preds = %endif.2, %then.1 - br label %loopentry.0 - -loopentry.1: ; preds = %endif.3, %endif.0, %endif.0 - br bool false, label %no_exit.1, label %switchexit - -no_exit.1: ; preds = %loopentry.1 - br bool false, label %then.3, label %else.2 - -then.3: ; preds = %no_exit.1 - br label %endif.3 - -else.2: ; preds = %no_exit.1 - br bool false, label %shortcirc_next.1, label %shortcirc_done.1 - -shortcirc_next.1: ; preds = %else.2 - br label %shortcirc_done.1 - -shortcirc_done.1: ; preds = %shortcirc_next.1, %else.2 - br bool false, label %then.4, label %endif.4 - -then.4: ; preds = %shortcirc_done.1 - br label %endif.4 - -endif.4: ; preds = %then.4, %shortcirc_done.1 - br label %endif.3 - -endif.3: ; preds = %endif.4, %then.3 - br label %loopentry.1 - -loopentry.2: ; preds = %endif.5, %endif.0, %endif.0, %endif.0, %endif.0, %endif.0 - %i.3 = phi int [ 0, %endif.5 ], [ 0, %endif.0 ], [ 0, %endif.0 ], [ 0, %endif.0 ], [ 0, %endif.0 ], [ 0, %endif.0 ] ; <int> [#uses=1] - %tmp.158 = setlt int %i.3, 0 ; <bool> [#uses=1] - br bool %tmp.158, label %no_exit.2, label %switchexit - -no_exit.2: ; preds = %loopentry.2 - br bool false, label %shortcirc_next.2, label %shortcirc_done.2 - -shortcirc_next.2: ; preds = %no_exit.2 - br label %shortcirc_done.2 - -shortcirc_done.2: ; preds = %shortcirc_next.2, %no_exit.2 - br bool false, label %then.5, label %endif.5 - -then.5: ; preds = %shortcirc_done.2 - br label %endif.5 - -endif.5: ; preds = %then.5, %shortcirc_done.2 - br label %loopentry.2 - -label.9: ; preds = %endif.0 - br bool false, label %then.6, label %endif.6 - -then.6: ; preds = %label.9 - br label %endif.6 - -endif.6: ; preds = %then.6, %label.9 - store int 0, int* null - br label %switchexit - -switchexit: ; preds = %endif.6, %loopentry.2, %loopentry.1, %loopentry.0, %endif.0 - br bool false, label %endif.7, label %then.7 - -then.7: ; preds = %switchexit - br bool false, label %shortcirc_next.3, label %shortcirc_done.3 - -shortcirc_next.3: ; preds = %then.7 - br label %shortcirc_done.3 - -shortcirc_done.3: ; preds = %shortcirc_next.3, %then.7 - br bool false, label %then.8, label %endif.8 - -then.8: ; preds = %shortcirc_done.3 - br label %endif.8 - -endif.8: ; preds = %then.8, %shortcirc_done.3 - br label %endif.7 - -endif.7: ; preds = %endif.8, %switchexit - ret void -} diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/switch_create.ll b/llvm/test/Regression/Transforms/SimplifyCFG/switch_create.ll deleted file mode 100644 index 2d722918b9d..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/switch_create.ll +++ /dev/null @@ -1,48 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | not grep br - -declare void %foo1() -declare void %foo2() - -void %test1(uint %V) { - %C1 = seteq uint %V, 4 - %C2 = seteq uint %V, 17 - %CN = or bool %C1, %C2 - br bool %CN, label %T, label %F -T: - call void %foo1() - ret void -F: - call void %foo2() - ret void -} - - -void %test2(int %V) { - %C1 = setne int %V, 4 - %C2 = setne int %V, 17 - %CN = and bool %C1, %C2 - br bool %CN, label %T, label %F -T: - call void %foo1() - ret void -F: - call void %foo2() - ret void -} - - -void %test3(int %V) { - %C1 = seteq int %V, 4 - br bool %C1, label %T, label %N -N: - %C2 = seteq int %V, 17 - br bool %C2, label %T, label %F -T: - call void %foo1() - ret void -F: - call void %foo2() - ret void -} - - diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/switch_formation.ll b/llvm/test/Regression/Transforms/SimplifyCFG/switch_formation.ll deleted file mode 100644 index e13f2399e83..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/switch_formation.ll +++ /dev/null @@ -1,36 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | not grep 'br' - -bool %_ZN4llvm11SetCondInst7classofEPKNS_11InstructionE({uint, uint}* %I) { -entry: - %tmp.1.i = getelementptr {uint, uint}* %I, long 0, uint 1 - %tmp.2.i = load uint* %tmp.1.i - %tmp.2 = seteq uint %tmp.2.i, 14 - br bool %tmp.2, label %shortcirc_done.4, label %shortcirc_next.0 - -shortcirc_next.0: ; preds = %entry - %tmp.6 = seteq uint %tmp.2.i, 15 ; <bool> [#uses=1] - br bool %tmp.6, label %shortcirc_done.4, label %shortcirc_next.1 - -shortcirc_next.1: ; preds = %shortcirc_next.0 - %tmp.11 = seteq uint %tmp.2.i, 16 ; <bool> [#uses=1] - br bool %tmp.11, label %shortcirc_done.4, label %shortcirc_next.2 - -shortcirc_next.2: ; preds = %shortcirc_next.1 - %tmp.16 = seteq uint %tmp.2.i, 17 ; <bool> [#uses=1] - br bool %tmp.16, label %shortcirc_done.4, label %shortcirc_next.3 - -shortcirc_next.3: ; preds = %shortcirc_next.2 - %tmp.21 = seteq uint %tmp.2.i, 18 ; <bool> [#uses=1] - br bool %tmp.21, label %shortcirc_done.4, label %shortcirc_next.4 - -shortcirc_next.4: ; preds = %shortcirc_next.3 - %tmp.26 = seteq uint %tmp.2.i, 19 ; <bool> [#uses=1] - br label %UnifiedReturnBlock - -shortcirc_done.4: ; preds = %entry, %shortcirc_next.0, %shortcirc_next.1, %shortcirc_next.2, %shortcirc_next.3 - br label %UnifiedReturnBlock - -UnifiedReturnBlock: ; preds = %shortcirc_next.4, %shortcirc_done.4 - %UnifiedRetVal = phi bool [ %tmp.26, %shortcirc_next.4 ], [ true, %shortcirc_done.4 ] ; <bool> [#uses=1] - ret bool %UnifiedRetVal -} diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/switch_switch_fold.ll b/llvm/test/Regression/Transforms/SimplifyCFG/switch_switch_fold.ll deleted file mode 100644 index 8bc5b8d2e65..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/switch_switch_fold.ll +++ /dev/null @@ -1,46 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | grep switch | wc -l | grep 1 - -; Test that a switch going to a switch on the same value can be merged. All -; three switches in this example can be merged into one big one. - -declare void %foo1() -declare void %foo2() -declare void %foo3() -declare void %foo4() - -void %test1(uint %V) { - switch uint %V, label %F [ - uint 4, label %T - uint 17, label %T - uint 5, label %T - uint 1234, label %F - ] - -T: - switch uint %V, label %F [ - uint 4, label %A - uint 17, label %B - uint 42, label %C - ] -A: - call void %foo1() - ret void - -B: - call void %foo2() - ret void -C: - call void %foo3() - ret void - -F: - switch uint %V, label %F [ - uint 4, label %B - uint 18, label %B - uint 42, label %D - ] -D: - call void %foo4() - ret void -} - diff --git a/llvm/test/Regression/Transforms/SimplifyCFG/switch_thread.ll b/llvm/test/Regression/Transforms/SimplifyCFG/switch_thread.ll deleted file mode 100644 index 60b045ff89a..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyCFG/switch_thread.ll +++ /dev/null @@ -1,78 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | not grep 'call void %DEAD' - -; Test that we can thread a simple known condition through switch statements. - -declare void %foo1() -declare void %foo2() -declare void %DEAD() - -void %test1(uint %V) { - switch uint %V, label %A [ - uint 4, label %T - uint 17, label %Done - uint 1234, label %A - ] - -T: ;; V == 4 if we get here. - call void %foo1() - ;; This switch is always statically determined. - switch uint %V, label %A2 [ - uint 4, label %B - uint 17, label %C - uint 42, label %C - ] -A2: - call void %DEAD() - call void %DEAD() - %cond2 = seteq uint %V, 4 ;; always false - br bool %cond2, label %Done, label %C - -A: - call void %foo1() - %cond = setne uint %V, 4 ;; always true - br bool %cond, label %Done, label %C - - -Done: - ret void - -B: - call void %foo2() - %cond3 = seteq uint %V, 4 ;; always true - br bool %cond3, label %Done, label %C -C: - call void %DEAD() - ret void -} - -void %test2(uint %V) { - switch uint %V, label %A [ - uint 4, label %T - uint 17, label %D - uint 1234, label %E - ] - -A: ;; V != 4, 17, 1234 here. - call void %foo1() - ;; This switch is always statically determined. - switch uint %V, label %E [ - uint 4, label %C - uint 17, label %C - uint 42, label %D - ] -C: - call void %DEAD() ;; unreacahble. - ret void -T: - call void %foo1() - call void %foo1() - ret void - -D: - call void %foo1() - ret void - -E: - ret void -} - diff --git a/llvm/test/Regression/Transforms/SimplifyLibCalls/.cvsignore b/llvm/test/Regression/Transforms/SimplifyLibCalls/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyLibCalls/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/SimplifyLibCalls/2005-05-20-sprintf-crash.ll b/llvm/test/Regression/Transforms/SimplifyLibCalls/2005-05-20-sprintf-crash.ll deleted file mode 100644 index 5b4fde870d5..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyLibCalls/2005-05-20-sprintf-crash.ll +++ /dev/null @@ -1,10 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls -disable-output - -%G = constant [3 x sbyte] c"%s\00" - -declare int %sprintf(sbyte*, sbyte*, ...) - -void %foo(sbyte*%P, int *%X) { - call int(sbyte*,sbyte*, ...)* %sprintf(sbyte* %P, sbyte* getelementptr ([3 x sbyte]* %G, int 0, int 0), int* %X) - ret void -} diff --git a/llvm/test/Regression/Transforms/SimplifyLibCalls/ExitInMain.ll b/llvm/test/Regression/Transforms/SimplifyLibCalls/ExitInMain.ll deleted file mode 100644 index f8af2ecf802..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyLibCalls/ExitInMain.ll +++ /dev/null @@ -1,13 +0,0 @@ -; Test that the ExitInMainOptimization pass works correctly -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | grep -c 'ret i32 3' | grep 1 - -declare void %exit(int) -declare void %exitonly(int) - -implementation ; Functions: - -int %main () { - call void %exitonly ( int 3 ) - call void %exit ( int 3 ) - ret int 0 -} diff --git a/llvm/test/Regression/Transforms/SimplifyLibCalls/FFS.ll b/llvm/test/Regression/Transforms/SimplifyLibCalls/FFS.ll deleted file mode 100644 index 335274ac45d..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyLibCalls/FFS.ll +++ /dev/null @@ -1,28 +0,0 @@ -; Test that the ToAsciiOptimizer works correctly -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | not grep 'call.*%ffs' - -declare int %ffs(int) -declare int %ffsl(int) -declare int %ffsll(long) - -%non_const = external global int - -implementation ; Functions: - -int %main () { - %arg = load int* %non_const - %val0 = call int %ffs(int %arg) - %val1 = call int %ffs(int 1) - %val2 = call int %ffs(int 2048) - %val3 = call int %ffsl(int 65536) - %val4 = call int %ffsll(long 1024) - %val5 = call int %ffsll(long 17179869184) - %val6 = call int %ffsll(long 1152921504606846976) - %rslt1 = add int %val1, %val2 - %rslt2 = add int %val3, %val4 - %rslt3 = add int %val5, %val6 - %rslt4 = add int %rslt1, %rslt2 - %rslt5 = add int %rslt4, %rslt3 - %rslt6 = add int %rslt5, %val0 - ret int %rslt5 -} diff --git a/llvm/test/Regression/Transforms/SimplifyLibCalls/FPrintF.ll b/llvm/test/Regression/Transforms/SimplifyLibCalls/FPrintF.ll deleted file mode 100644 index 040052708e4..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyLibCalls/FPrintF.ll +++ /dev/null @@ -1,28 +0,0 @@ -; Test that the FPrintFOptimizer works correctly -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | not grep 'call.*fprintf' -; - -%struct._IO_FILE = type { int, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, %struct._IO_marker*, %struct._IO_FILE*, int, int, int, ushort, sbyte, [1 x sbyte], sbyte*, long, sbyte*, sbyte*, int, [52 x sbyte] } -%struct._IO_marker = type { %struct._IO_marker*, %struct._IO_FILE*, int } - -%str = constant [3 x sbyte] c"%s\00" -%chr = constant [3 x sbyte] c"%c\00" -%hello = constant [13 x sbyte] c"hello world\0A\00" -%stdout = external global %struct._IO_FILE* - -declare int %fprintf(%struct._IO_FILE*, sbyte*, ...) - -implementation - -int %foo() -{ -entry: - %tmp.1 = load %struct._IO_FILE** %stdout - %tmp.0 = call int (%struct._IO_FILE*, sbyte*, ...)* %fprintf( %struct._IO_FILE* %tmp.1, sbyte* getelementptr ([13 x sbyte]* %hello, int 0, int 0) ) - %tmp.4 = load %struct._IO_FILE** %stdout - %tmp.3 = call int (%struct._IO_FILE*, sbyte*, ...)* %fprintf( %struct._IO_FILE* %tmp.4, sbyte* getelementptr ([3 x sbyte]* %str, int 0, int 0), sbyte* getelementptr ([13 x sbyte]* %hello, int 0, int 0) ) - %tmp.8 = load %struct._IO_FILE** %stdout - %tmp.7 = call int (%struct._IO_FILE*, sbyte*, ...)* %fprintf( %struct._IO_FILE* %tmp.8, sbyte* getelementptr ([3 x sbyte]* %chr, int 0, int 0), int 33 ) - ret int 0 -} - diff --git a/llvm/test/Regression/Transforms/SimplifyLibCalls/IsDigit.ll b/llvm/test/Regression/Transforms/SimplifyLibCalls/IsDigit.ll deleted file mode 100644 index 1386c14eadb..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyLibCalls/IsDigit.ll +++ /dev/null @@ -1,20 +0,0 @@ -; Test that the IsDigitOptimizer works correctly -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | not grep 'call' - -declare int %isdigit(int) -declare int %isascii(int) - -implementation ; Functions: - -int %main () { - %val1 = call int %isdigit(int 47) - %val2 = call int %isdigit(int 48) - %val3 = call int %isdigit(int 57) - %val4 = call int %isdigit(int 58) - %rslt1 = add int %val1, %val2 - %rslt2 = add int %val3, %val4 - %sum = add int %rslt1, %rslt2 - %rslt = call int %isdigit(int %sum) - %tmp = call int %isascii(int %rslt) - ret int %tmp -} diff --git a/llvm/test/Regression/Transforms/SimplifyLibCalls/MemCpy.ll b/llvm/test/Regression/Transforms/SimplifyLibCalls/MemCpy.ll deleted file mode 100644 index 6cc43733a1a..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyLibCalls/MemCpy.ll +++ /dev/null @@ -1,22 +0,0 @@ -; Test that the StrCatOptimizer works correctly -; RUN: llvm-upgrade < %s | llvm-as | opt -constprop -simplify-libcalls -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -constprop -simplify-libcalls | llvm-dis | not grep 'call.*llvm.memcpy.i32' - -declare void %llvm.memcpy.i32(sbyte*,sbyte*,uint,uint) -%h = constant [2 x sbyte] c"h\00" -%hel = constant [4 x sbyte] c"hel\00" -%hello_u = constant [8 x sbyte] c"hello_u\00" - -implementation ; Functions: - -int %main () { - %h_p = getelementptr [2 x sbyte]* %h, int 0, int 0 - %hel_p = getelementptr [4 x sbyte]* %hel, int 0, int 0 - %hello_u_p = getelementptr [8 x sbyte]* %hello_u, int 0, int 0 - %target = alloca [1024 x sbyte] - %target_p = getelementptr [1024 x sbyte]* %target, int 0, int 0 - call void %llvm.memcpy.i32(sbyte* %target_p, sbyte* %h_p, uint 2, uint 2) - call void %llvm.memcpy.i32(sbyte* %target_p, sbyte* %hel_p, uint 4, uint 4) - call void %llvm.memcpy.i32(sbyte* %target_p, sbyte* %hello_u_p, uint 8, uint 8) - ret int 0 -} diff --git a/llvm/test/Regression/Transforms/SimplifyLibCalls/MemMove.ll b/llvm/test/Regression/Transforms/SimplifyLibCalls/MemMove.ll deleted file mode 100644 index 3e6e8bd75b4..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyLibCalls/MemMove.ll +++ /dev/null @@ -1,22 +0,0 @@ -; Test that the StrCatOptimizer works correctly -; RUN: llvm-upgrade < %s | llvm-as | opt -constprop -simplify-libcalls -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -constprop -simplify-libcalls | llvm-dis | not grep 'call.*llvm.memmove.i32' - -declare void %llvm.memmove.i32(sbyte*,sbyte*,uint,uint) -%h = constant [2 x sbyte] c"h\00" -%hel = constant [4 x sbyte] c"hel\00" -%hello_u = constant [8 x sbyte] c"hello_u\00" - -implementation ; Functions: - -int %main () { - %h_p = getelementptr [2 x sbyte]* %h, int 0, int 0 - %hel_p = getelementptr [4 x sbyte]* %hel, int 0, int 0 - %hello_u_p = getelementptr [8 x sbyte]* %hello_u, int 0, int 0 - %target = alloca [1024 x sbyte] - %target_p = getelementptr [1024 x sbyte]* %target, int 0, int 0 - call void %llvm.memmove.i32(sbyte* %target_p, sbyte* %h_p, uint 2, uint 2) - call void %llvm.memmove.i32(sbyte* %target_p, sbyte* %hel_p, uint 4, uint 4) - call void %llvm.memmove.i32(sbyte* %target_p, sbyte* %hello_u_p, uint 8, uint 8) - ret int 0 -} diff --git a/llvm/test/Regression/Transforms/SimplifyLibCalls/MemSet.ll b/llvm/test/Regression/Transforms/SimplifyLibCalls/MemSet.ll deleted file mode 100644 index d31a36ae3c6..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyLibCalls/MemSet.ll +++ /dev/null @@ -1,17 +0,0 @@ -; Test that the LLVMMemSetOptimizer works correctly -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | not grep 'call.*llvm.memset' - -declare void %llvm.memset(sbyte*,ubyte,uint,uint) - -implementation ; Functions: - -int %main () { - %target = alloca [1024 x sbyte] - %target_p = getelementptr [1024 x sbyte]* %target, int 0, int 0 - call void %llvm.memset(sbyte* %target_p, ubyte 1, uint 0, uint 1) - call void %llvm.memset(sbyte* %target_p, ubyte 1, uint 1, uint 1) - call void %llvm.memset(sbyte* %target_p, ubyte 1, uint 2, uint 2) - call void %llvm.memset(sbyte* %target_p, ubyte 1, uint 4, uint 4) - call void %llvm.memset(sbyte* %target_p, ubyte 1, uint 8, uint 8) - ret int 0 -} diff --git a/llvm/test/Regression/Transforms/SimplifyLibCalls/Pow.ll b/llvm/test/Regression/Transforms/SimplifyLibCalls/Pow.ll deleted file mode 100644 index df7d46004af..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyLibCalls/Pow.ll +++ /dev/null @@ -1,23 +0,0 @@ -; Testcase for calls to the standard C "pow" function -; -; Equivalent to: http://gcc.gnu.org/ml/gcc-patches/2003-02/msg01786.html -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | not grep 'call double .pow' - -declare double %pow(double, double) - -double %test1(double %X) { - %Y = call double %pow(double %X, double 0.0) - ret double %Y ; x^0.0 always equals 1.0 -} - -double %test2(double %X) { - %Y = call double %pow(double %X, double -0.0) - ret double %Y ; x^-0.0 always equals 1.0 -} - -double %test3(double %X) { - %Y = call double %pow(double 1.0, double %X) - ret double %Y ; 1.0^x always equals 1.0 -} - diff --git a/llvm/test/Regression/Transforms/SimplifyLibCalls/Puts.ll b/llvm/test/Regression/Transforms/SimplifyLibCalls/Puts.ll deleted file mode 100644 index 4011a82fa9f..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyLibCalls/Puts.ll +++ /dev/null @@ -1,26 +0,0 @@ -; Test that the PutsCatOptimizer works correctly -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | not grep 'call.*fputs' -; -%struct._IO_FILE = type { int, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, %struct._IO_marker*, %struct._IO_FILE*, int, int, int, ushort, sbyte, [1 x sbyte], sbyte*, long, sbyte*, sbyte*, int, [52 x sbyte] } -%struct._IO_marker = type { %struct._IO_marker*, %struct._IO_FILE*, int } -%stdout = external global %struct._IO_FILE* ; <%struct._IO_FILE**> [#uses=1] - -declare int %fputs(sbyte*, %struct._IO_FILE*) - -%empty = constant [1 x sbyte] c"\00" -%len1 = constant [2 x sbyte] c"A\00" -%long = constant [7 x sbyte] c"hello\0A\00" - -implementation ; Functions: - -int %main() { -entry: - %out = load %struct._IO_FILE** %stdout - %s1 = getelementptr [1 x sbyte]* %empty, int 0, int 0 - %s2 = getelementptr [2 x sbyte]* %len1, int 0, int 0 - %s3 = getelementptr [7 x sbyte]* %long, int 0, int 0 - %a = call int %fputs( sbyte* %s1, %struct._IO_FILE* %out ) - %b = call int %fputs( sbyte* %s2, %struct._IO_FILE* %out ) - %c = call int %fputs( sbyte* %s3, %struct._IO_FILE* %out ) - ret int 0 -} diff --git a/llvm/test/Regression/Transforms/SimplifyLibCalls/SPrintF.ll b/llvm/test/Regression/Transforms/SimplifyLibCalls/SPrintF.ll deleted file mode 100644 index 48b76b194ec..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyLibCalls/SPrintF.ll +++ /dev/null @@ -1,36 +0,0 @@ -; Test that the SPrintFOptimizer works correctly -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | not grep 'call.*sprintf' - -declare int %sprintf(sbyte*,sbyte*,...) -declare int %puts(sbyte*) -%hello = constant [6 x sbyte] c"hello\00" -%null = constant [1 x sbyte] c"\00" -%null_hello = constant [7 x sbyte] c"\00hello\00" -%fmt1 = constant [3 x sbyte] c"%s\00" -%fmt2 = constant [3 x sbyte] c"%c\00" - -implementation ; Functions: - -int %foo (sbyte* %p) { - %target = alloca [1024 x sbyte] - %target_p = getelementptr [1024 x sbyte]* %target, int 0, int 0 - %hello_p = getelementptr [6 x sbyte]* %hello, int 0, int 0 - %null_p = getelementptr [1 x sbyte]* %null, int 0, int 0 - %nh_p = getelementptr [7 x sbyte]* %null_hello, int 0, int 0 - %fmt1_p = getelementptr [3 x sbyte]* %fmt1, int 0, int 0 - %fmt2_p = getelementptr [3 x sbyte]* %fmt2, int 0, int 0 - store sbyte 0, sbyte* %target_p - %r1 = call int (sbyte*,sbyte*,...)* %sprintf(sbyte* %target_p, sbyte* %hello_p) - %r2 = call int (sbyte*,sbyte*,...)* %sprintf(sbyte* %target_p, sbyte* %null_p) - %r3 = call int (sbyte*,sbyte*,...)* %sprintf(sbyte* %target_p, sbyte* %nh_p) - %r4 = call int (sbyte*,sbyte*,...)* %sprintf(sbyte* %target_p, sbyte* %fmt1_p, sbyte* %hello_p) - %r4.1 = call int (sbyte*,sbyte*,...)* %sprintf(sbyte* %target_p, sbyte* %fmt1_p, sbyte* %p) - %r5 = call int (sbyte*,sbyte*,...)* %sprintf(sbyte* %target_p, sbyte* %fmt2_p, int 82) - %r6 = add int %r1, %r2 - %r7 = add int %r3, %r6 - %r8 = add int %r5, %r7 - %r9 = add int %r8, %r4 - %r10 = add int %r9, %r4.1 - ret int %r10 -} diff --git a/llvm/test/Regression/Transforms/SimplifyLibCalls/StrCat.ll b/llvm/test/Regression/Transforms/SimplifyLibCalls/StrCat.ll deleted file mode 100644 index 6532a637c19..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyLibCalls/StrCat.ll +++ /dev/null @@ -1,24 +0,0 @@ -; Test that the StrCatOptimizer works correctly -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | not grep 'call.*strcat' - -declare sbyte* %strcat(sbyte*,sbyte*) -declare int %puts(sbyte*) -%hello = constant [6 x sbyte] c"hello\00" -%null = constant [1 x sbyte] c"\00" -%null_hello = constant [7 x sbyte] c"\00hello\00" - -implementation ; Functions: - -int %main () { - %target = alloca [1024 x sbyte] - %arg1 = getelementptr [1024 x sbyte]* %target, int 0, int 0 - store sbyte 0, sbyte* %arg1 - %arg2 = getelementptr [6 x sbyte]* %hello, int 0, int 0 - %rslt1 = call sbyte* %strcat(sbyte* %arg1, sbyte* %arg2) - %arg3 = getelementptr [1 x sbyte]* %null, int 0, int 0 - %rslt2 = call sbyte* %strcat(sbyte* %rslt1, sbyte* %arg3) - %arg4 = getelementptr [7 x sbyte]* %null_hello, int 0, int 0 - %rslt3 = call sbyte* %strcat(sbyte* %rslt2, sbyte* %arg4) - call int %puts(sbyte* %rslt3) - ret int 0 -} diff --git a/llvm/test/Regression/Transforms/SimplifyLibCalls/StrChr.ll b/llvm/test/Regression/Transforms/SimplifyLibCalls/StrChr.ll deleted file mode 100644 index b8e0de27339..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyLibCalls/StrChr.ll +++ /dev/null @@ -1,21 +0,0 @@ -; Test that the StrChrOptimizer works correctly -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | not grep 'call.*%strchr' - -declare sbyte* %strchr(sbyte*,int) -declare int %puts(sbyte*) -%hello = constant [14 x sbyte] c"hello world\n\00" -%null = constant [1 x sbyte] c"\00" - -implementation ; Functions: - -int %main () { - %hello_p = getelementptr [14 x sbyte]* %hello, int 0, int 0 - %null_p = getelementptr [1 x sbyte]* %null, int 0, int 0 - - %world = call sbyte* %strchr(sbyte* %hello_p, int 119 ) - %ignore = call sbyte* %strchr(sbyte* %null_p, int 119 ) - %len = call int %puts(sbyte* %world) - %index = add int %len, 112 - %result = call sbyte* %strchr(sbyte* %hello_p, int %index) - ret int %index -} diff --git a/llvm/test/Regression/Transforms/SimplifyLibCalls/StrCmp.ll b/llvm/test/Regression/Transforms/SimplifyLibCalls/StrCmp.ll deleted file mode 100644 index 1ab075de46b..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyLibCalls/StrCmp.ll +++ /dev/null @@ -1,26 +0,0 @@ -; Test that the StrCmpOptimizer works correctly -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | not grep 'call.*strcmp' - -declare int %strcmp(sbyte*,sbyte*) -declare int %puts(sbyte*) -%hello = constant [6 x sbyte] c"hello\00" -%hell = constant [5 x sbyte] c"hell\00" -%null = constant [1 x sbyte] c"\00" - -implementation ; Functions: - -int %main () { - %hello_p = getelementptr [6 x sbyte]* %hello, int 0, int 0 - %hell_p = getelementptr [5 x sbyte]* %hell, int 0, int 0 - %null_p = getelementptr [1 x sbyte]* %null, int 0, int 0 - %temp1 = call int %strcmp(sbyte* %hello_p, sbyte* %hello_p) - %temp2 = call int %strcmp(sbyte* %null_p, sbyte* %null_p) - %temp3 = call int %strcmp(sbyte* %hello_p, sbyte* %null_p) - %temp4 = call int %strcmp(sbyte* %null_p, sbyte* %hello_p) - %temp5 = call int %strcmp(sbyte* %hell_p, sbyte* %hello_p) - %rslt1 = add int %temp1, %temp2 - %rslt2 = add int %rslt1, %temp3 - %rslt3 = add int %rslt2, %temp4 - %rslt4 = add int %rslt3, %temp5 - ret int %rslt4 -} diff --git a/llvm/test/Regression/Transforms/SimplifyLibCalls/StrCpy.ll b/llvm/test/Regression/Transforms/SimplifyLibCalls/StrCpy.ll deleted file mode 100644 index f75238bad4a..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyLibCalls/StrCpy.ll +++ /dev/null @@ -1,24 +0,0 @@ -; Test that the StrCpyOptimizer works correctly -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | not grep 'call.*strcpy' - -declare sbyte* %strcpy(sbyte*,sbyte*) -declare int %puts(sbyte*) -%hello = constant [6 x sbyte] c"hello\00" -%null = constant [1 x sbyte] c"\00" -%null_hello = constant [7 x sbyte] c"\00hello\00" - -implementation ; Functions: - -int %main () { - %target = alloca [1024 x sbyte] - %arg1 = getelementptr [1024 x sbyte]* %target, int 0, int 0 - store sbyte 0, sbyte* %arg1 - %arg2 = getelementptr [6 x sbyte]* %hello, int 0, int 0 - %rslt1 = call sbyte* %strcpy(sbyte* %arg1, sbyte* %arg2) - %arg3 = getelementptr [1 x sbyte]* %null, int 0, int 0 - %rslt2 = call sbyte* %strcpy(sbyte* %rslt1, sbyte* %arg3) - %arg4 = getelementptr [7 x sbyte]* %null_hello, int 0, int 0 - %rslt3 = call sbyte* %strcpy(sbyte* %rslt2, sbyte* %arg4) - call int %puts(sbyte* %rslt3) - ret int 0 -} diff --git a/llvm/test/Regression/Transforms/SimplifyLibCalls/StrLen.ll b/llvm/test/Regression/Transforms/SimplifyLibCalls/StrLen.ll deleted file mode 100644 index 20aa7a8dca3..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyLibCalls/StrLen.ll +++ /dev/null @@ -1,55 +0,0 @@ -; Test that the StrCatOptimizer works correctly -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | not grep 'call.*strlen' - -declare uint %strlen(sbyte*) -%hello = constant [6 x sbyte] c"hello\00" -%null = constant [1 x sbyte] c"\00" -%null_hello = constant [7 x sbyte] c"\00hello\00" - -implementation ; Functions: - -uint %test1() { - %hello_p = getelementptr [6 x sbyte]* %hello, int 0, int 0 - %hello_l = call uint %strlen(sbyte* %hello_p) - ret uint %hello_l -} - -uint %test2() { - %null_p = getelementptr [1 x sbyte]* %null, int 0, int 0 - %null_l = call uint %strlen(sbyte* %null_p) - ret uint %null_l -} - -uint %test3() { - %null_hello_p = getelementptr [7 x sbyte]* %null_hello, int 0, int 0 - %null_hello_l = call uint %strlen(sbyte* %null_hello_p) - ret uint %null_hello_l -} - -bool %test4() { - %hello_p = getelementptr [6 x sbyte]* %hello, int 0, int 0 - %hello_l = call uint %strlen(sbyte* %hello_p) - %eq_hello = seteq uint %hello_l, 0 - ret bool %eq_hello -} - -bool %test5() { - %null_p = getelementptr [1 x sbyte]* %null, int 0, int 0 - %null_l = call uint %strlen(sbyte* %null_p) - %eq_null = seteq uint %null_l, 0 - ret bool %eq_null -} - -bool %test6() { - %hello_p = getelementptr [6 x sbyte]* %hello, int 0, int 0 - %hello_l = call uint %strlen(sbyte* %hello_p) - %ne_hello = setne uint %hello_l, 0 - ret bool %ne_hello -} - -bool %test7() { - %null_p = getelementptr [1 x sbyte]* %null, int 0, int 0 - %null_l = call uint %strlen(sbyte* %null_p) - %ne_null = setne uint %null_l, 0 - ret bool %ne_null -} diff --git a/llvm/test/Regression/Transforms/SimplifyLibCalls/StrNCmp.ll b/llvm/test/Regression/Transforms/SimplifyLibCalls/StrNCmp.ll deleted file mode 100644 index 278861a9acd..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyLibCalls/StrNCmp.ll +++ /dev/null @@ -1,26 +0,0 @@ -; Test that the StrNCmpOptimizer works correctly -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | not grep 'call.*strncmp' - -declare int %strncmp(sbyte*,sbyte*,int) -declare int %puts(sbyte*) -%hello = constant [6 x sbyte] c"hello\00" -%hell = constant [5 x sbyte] c"hell\00" -%null = constant [1 x sbyte] c"\00" - -implementation ; Functions: - -int %main () { - %hello_p = getelementptr [6 x sbyte]* %hello, int 0, int 0 - %hell_p = getelementptr [5 x sbyte]* %hell, int 0, int 0 - %null_p = getelementptr [1 x sbyte]* %null, int 0, int 0 - %temp1 = call int %strncmp(sbyte* %hello_p, sbyte* %hello_p,int 5) - %temp2 = call int %strncmp(sbyte* %null_p, sbyte* %null_p,int 0) - %temp3 = call int %strncmp(sbyte* %hello_p, sbyte* %null_p,int 0) - %temp4 = call int %strncmp(sbyte* %null_p, sbyte* %hello_p,int 0) - %temp5 = call int %strncmp(sbyte* %hell_p, sbyte* %hello_p,int 4) - %rslt1 = add int %temp1, %temp2 - %rslt2 = add int %rslt1, %temp3 - %rslt3 = add int %rslt2, %temp4 - %rslt4 = add int %rslt3, %temp5 - ret int %rslt4 -} diff --git a/llvm/test/Regression/Transforms/SimplifyLibCalls/ToAscii.ll b/llvm/test/Regression/Transforms/SimplifyLibCalls/ToAscii.ll deleted file mode 100644 index e9580c62541..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyLibCalls/ToAscii.ll +++ /dev/null @@ -1,21 +0,0 @@ -; Test that the ToAsciiOptimizer works correctly -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | not grep 'call.*toascii' - -declare int %toascii(int) - -implementation ; Functions: - -int %main () { - %val1 = call int %toascii(int 1) - %val2 = call int %toascii(int 0) - %val3 = call int %toascii(int 127) - %val4 = call int %toascii(int 128) - %val5 = call int %toascii(int 255) - %val6 = call int %toascii(int 256) - %rslt1 = add int %val1, %val2 - %rslt2 = add int %val3, %val4 - %rslt3 = add int %val5, %val6 - %rslt4 = add int %rslt1, %rslt2 - %rslt5 = add int %rslt4, %rslt3 - ret int %rslt5 -} diff --git a/llvm/test/Regression/Transforms/SimplifyLibCalls/dg.exp b/llvm/test/Regression/Transforms/SimplifyLibCalls/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyLibCalls/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/SimplifyLibCalls/floor.ll b/llvm/test/Regression/Transforms/SimplifyLibCalls/floor.ll deleted file mode 100644 index d1c65488228..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyLibCalls/floor.ll +++ /dev/null @@ -1,33 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | not grep 'call.*floor(' && -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | grep 'call.*floorf(' -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | not grep 'call.*ceil(' && -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | grep 'call.*ceilf(' -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | not grep 'call.*nearbyint(' && -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | grep 'call.*nearbyintf(' -; XFAIL: sparc - -declare double %floor(double) -declare double %ceil(double) -declare double %nearbyint(double) - -float %test_floor(float %C) { - %D = cast float %C to double - %E = call double %floor(double %D) ; --> floorf - %F = cast double %E to float - ret float %F -} - -float %test_ceil(float %C) { - %D = cast float %C to double - %E = call double %ceil(double %D) ; --> ceilf - %F = cast double %E to float - ret float %F -} - -float %test_nearbyint(float %C) { - %D = cast float %C to double - %E = call double %nearbyint(double %D) ; --> floorf - %F = cast double %E to float - ret float %F -} - diff --git a/llvm/test/Regression/Transforms/SimplifyLibCalls/memcmp.ll b/llvm/test/Regression/Transforms/SimplifyLibCalls/memcmp.ll deleted file mode 100644 index 3ccf00265ac..00000000000 --- a/llvm/test/Regression/Transforms/SimplifyLibCalls/memcmp.ll +++ /dev/null @@ -1,23 +0,0 @@ -; Test that the memcmpOptimizer works correctly -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | not grep 'call.*memcmp' && -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls -disable-output - -declare int %memcmp(sbyte*,sbyte*,int) -%h = constant [2 x sbyte] c"h\00" -%hel = constant [4 x sbyte] c"hel\00" -%hello_u = constant [8 x sbyte] c"hello_u\00" - -implementation - -void %test(sbyte *%P, sbyte *%Q, int %N, int* %IP, bool *%BP) { - %A = call int %memcmp(sbyte *%P, sbyte* %P, int %N) - volatile store int %A, int* %IP - %B = call int %memcmp(sbyte *%P, sbyte* %Q, int 0) - volatile store int %B, int* %IP - %C = call int %memcmp(sbyte *%P, sbyte* %Q, int 1) - volatile store int %C, int* %IP - %D = call int %memcmp(sbyte *%P, sbyte* %Q, int 2) - %E = seteq int %D, 0 - volatile store bool %E, bool* %BP - ret void -} diff --git a/llvm/test/Regression/Transforms/TailCallElim/.cvsignore b/llvm/test/Regression/Transforms/TailCallElim/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/TailCallElim/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/TailCallElim/accum_recursion.ll b/llvm/test/Regression/Transforms/TailCallElim/accum_recursion.ll deleted file mode 100644 index d82d963b9d7..00000000000 --- a/llvm/test/Regression/Transforms/TailCallElim/accum_recursion.ll +++ /dev/null @@ -1,17 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -tailcallelim | llvm-dis | not grep call - -int %factorial(int %x) { -entry: - %tmp.1 = setgt int %x, 0 - br bool %tmp.1, label %then, label %else - -then: - %tmp.6 = add int %x, -1 - %tmp.4 = call int %factorial( int %tmp.6 ) - %tmp.7 = mul int %tmp.4, %x - ret int %tmp.7 - -else: - ret int 1 -} - diff --git a/llvm/test/Regression/Transforms/TailCallElim/accum_recursion_constant_arg.ll b/llvm/test/Regression/Transforms/TailCallElim/accum_recursion_constant_arg.ll deleted file mode 100644 index b103d897ea9..00000000000 --- a/llvm/test/Regression/Transforms/TailCallElim/accum_recursion_constant_arg.ll +++ /dev/null @@ -1,22 +0,0 @@ -; This is a more aggressive form of accumulator recursion insertion, which -; requires noticing that X doesn't change as we perform the tailcall. Thanks -; go out to the anonymous users of the demo script for "suggesting" -; optimizations that should be done. :) - -; RUN: llvm-upgrade < %s | llvm-as | opt -tailcallelim | llvm-dis | not grep call - -int %mul(int %x, int %y) { -entry: - %tmp.1 = seteq int %y, 0 - br bool %tmp.1, label %return, label %endif - -endif: - %tmp.8 = add int %y, -1 - %tmp.5 = call int %mul( int %x, int %tmp.8 ) - %tmp.9 = add int %tmp.5, %x - ret int %tmp.9 - -return: - ret int %x -} - diff --git a/llvm/test/Regression/Transforms/TailCallElim/ackermann.ll b/llvm/test/Regression/Transforms/TailCallElim/ackermann.ll deleted file mode 100644 index eed684b946a..00000000000 --- a/llvm/test/Regression/Transforms/TailCallElim/ackermann.ll +++ /dev/null @@ -1,29 +0,0 @@ -; This function contains two tail calls, which should be eliminated -; RUN: llvm-upgrade < %s | llvm-as | opt -tailcallelim -stats -disable-output 2>&1 | grep '2 tailcallelim' - -int %Ack(int %M.1, int %N.1) { -entry: - %tmp.1 = seteq int %M.1, 0 ; <bool> [#uses=1] - br bool %tmp.1, label %then.0, label %endif.0 - -then.0: - %tmp.4 = add int %N.1, 1 ; <int> [#uses=1] - ret int %tmp.4 - -endif.0: - %tmp.6 = seteq int %N.1, 0 ; <bool> [#uses=1] - br bool %tmp.6, label %then.1, label %endif.1 - -then.1: - %tmp.10 = add int %M.1, -1 ; <int> [#uses=1] - %tmp.8 = call int %Ack( int %tmp.10, int 1 ) ; <int> [#uses=1] - ret int %tmp.8 - -endif.1: - %tmp.13 = add int %M.1, -1 ; <int> [#uses=1] - %tmp.17 = add int %N.1, -1 ; <int> [#uses=1] - %tmp.14 = call int %Ack( int %M.1, int %tmp.17 ) ; <int> [#uses=1] - %tmp.11 = call int %Ack( int %tmp.13, int %tmp.14 ) ; <int> [#uses=1] - ret int %tmp.11 -} - diff --git a/llvm/test/Regression/Transforms/TailCallElim/dg.exp b/llvm/test/Regression/Transforms/TailCallElim/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/TailCallElim/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/TailCallElim/dont-tce-tail-marked-call.ll b/llvm/test/Regression/Transforms/TailCallElim/dont-tce-tail-marked-call.ll deleted file mode 100644 index 6ddb1b70848..00000000000 --- a/llvm/test/Regression/Transforms/TailCallElim/dont-tce-tail-marked-call.ll +++ /dev/null @@ -1,11 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -tailcallelim | llvm-dis | grep 'call i32 %foo' - -declare void %bar(int*) -int %foo(uint %N) { - %A = alloca int, uint %N ;; Should stay in entry block because of 'tail' marker - store int 17, int* %A - call void %bar(int* %A) - - %X = tail call int %foo(uint %N) ;; Cannot -tailcallelim this without increasing stack usage! - ret int %X -} diff --git a/llvm/test/Regression/Transforms/TailCallElim/intervening-inst.ll b/llvm/test/Regression/Transforms/TailCallElim/intervening-inst.ll deleted file mode 100644 index a480e3b4dbf..00000000000 --- a/llvm/test/Regression/Transforms/TailCallElim/intervening-inst.ll +++ /dev/null @@ -1,19 +0,0 @@ -; This function contains intervening instructions which should be moved out of the way -; RUN: llvm-upgrade < %s | llvm-as | opt -tailcallelim | llvm-dis | not grep call - -int %Test(int %X) { -entry: - %tmp.1 = seteq int %X, 0 - br bool %tmp.1, label %then.0, label %endif.0 - -then.0: - %tmp.4 = add int %X, 1 - ret int %tmp.4 - -endif.0: - %tmp.10 = add int %X, -1 - %tmp.8 = call int %Test(int %tmp.10) - %DUMMY = add int %X, 1 ;; This should not prevent elimination - ret int %tmp.8 -} - diff --git a/llvm/test/Regression/Transforms/TailCallElim/move_alloca_for_tail_call.ll b/llvm/test/Regression/Transforms/TailCallElim/move_alloca_for_tail_call.ll deleted file mode 100644 index 8125960ec24..00000000000 --- a/llvm/test/Regression/Transforms/TailCallElim/move_alloca_for_tail_call.ll +++ /dev/null @@ -1,11 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -tailcallelim | llvm-dis | %prcontext alloca 1 | grep 'i32 %foo' - -declare void %bar(int*) -int %foo() { - %A = alloca int ;; Should stay in entry block because of 'tail' marker - store int 17, int* %A - call void %bar(int* %A) - - %X = tail call int %foo() - ret int %X -} diff --git a/llvm/test/Regression/Transforms/TailCallElim/return-undef.ll b/llvm/test/Regression/Transforms/TailCallElim/return-undef.ll deleted file mode 100644 index e721447e6f3..00000000000 --- a/llvm/test/Regression/Transforms/TailCallElim/return-undef.ll +++ /dev/null @@ -1,8 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -tailcallelim | llvm-dis | grep sub && -; RUN: llvm-upgrade < %s | llvm-as | opt -tailcallelim | llvm-dis | not grep call - -int %test(int %X) { - %Y = sub int %X, 1 - %Z = call int %test(int %Y) - ret int undef -} diff --git a/llvm/test/Regression/Transforms/TailCallElim/return_constant.ll b/llvm/test/Regression/Transforms/TailCallElim/return_constant.ll deleted file mode 100644 index 58020248cbc..00000000000 --- a/llvm/test/Regression/Transforms/TailCallElim/return_constant.ll +++ /dev/null @@ -1,19 +0,0 @@ -; Though this case seems to be fairly unlikely to occur in the wild, someone -; plunked it into the demo script, so maybe they care about it. -; -; RUN: llvm-upgrade < %s | llvm-as | opt -tailcallelim | llvm-dis | not grep call - -int %aaa(int %c) { -entry: - %tmp.1 = seteq int %c, 0 ; <bool> [#uses=1] - br bool %tmp.1, label %return, label %else - -else: ; preds = %entry - %tmp.5 = add int %c, -1 ; <int> [#uses=1] - %tmp.3 = call int %aaa( int %tmp.5 ) ; <int> [#uses=0] - ret int 0 - -return: ; preds = %entry - ret int 0 -} - diff --git a/llvm/test/Regression/Transforms/TailCallElim/tail_call_with_branch.ll b/llvm/test/Regression/Transforms/TailCallElim/tail_call_with_branch.ll deleted file mode 100644 index b373455eabb..00000000000 --- a/llvm/test/Regression/Transforms/TailCallElim/tail_call_with_branch.ll +++ /dev/null @@ -1,31 +0,0 @@ -; This testcase is due to tail-duplication not wanting to copy the return -; instruction into the terminating blocks because there was other code -; optimized out of the function after the taildup happened. -; XFAIL: * -; RUN: llvm-upgrade < %s | llvm-as | opt -tailcallelim | llvm-dis | not grep call - -int %t4(int %a) { -entry: - %tmp.1 = and int %a, 1 - %tmp.2 = cast int %tmp.1 to bool - br bool %tmp.2, label %then.0, label %else.0 - -then.0: - %tmp.5 = add int %a, -1 - %tmp.3 = call int %t4( int %tmp.5 ) - br label %return - -else.0: - %tmp.7 = setne int %a, 0 - br bool %tmp.7, label %then.1, label %return - -then.1: - %tmp.11 = add int %a, -2 - %tmp.9 = call int %t4( int %tmp.11 ) - br label %return - -return: - %result.0 = phi int [ 0, %else.0 ], [ %tmp.3, %then.0 ], [ %tmp.9, %then.1 ] - ret int %result.0 -} - diff --git a/llvm/test/Regression/Transforms/TailCallElim/trivial_codegen_tailcall.ll b/llvm/test/Regression/Transforms/TailCallElim/trivial_codegen_tailcall.ll deleted file mode 100644 index 6fb574e5618..00000000000 --- a/llvm/test/Regression/Transforms/TailCallElim/trivial_codegen_tailcall.ll +++ /dev/null @@ -1,11 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -tailcallelim | llvm-dis | grep 'tail call void %foo' - -declare void %foo() - - -void %bar() { - call void %foo() - ret void -} - - diff --git a/llvm/test/Regression/Transforms/TailDup/.cvsignore b/llvm/test/Regression/Transforms/TailDup/.cvsignore deleted file mode 100644 index 7f2443f2f31..00000000000 --- a/llvm/test/Regression/Transforms/TailDup/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Output -*.log -*.sum diff --git a/llvm/test/Regression/Transforms/TailDup/2003-06-24-Simpleloop.ll b/llvm/test/Regression/Transforms/TailDup/2003-06-24-Simpleloop.ll deleted file mode 100644 index e2b979cb003..00000000000 --- a/llvm/test/Regression/Transforms/TailDup/2003-06-24-Simpleloop.ll +++ /dev/null @@ -1,18 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -tailduplicate -disable-output - -void %motion_result7() { -entry: - br label %endif - -endif: - %i.1 = phi int [ %inc, %no_exit ], [ 0, %entry ] - %inc = add int %i.1, 1 - br bool false, label %no_exit, label %UnifiedExitNode - -no_exit: - br bool false, label %UnifiedExitNode, label %endif - -UnifiedExitNode: - ret void -} - diff --git a/llvm/test/Regression/Transforms/TailDup/2003-07-22-InfiniteLoop.ll b/llvm/test/Regression/Transforms/TailDup/2003-07-22-InfiniteLoop.ll deleted file mode 100644 index 4d650696baa..00000000000 --- a/llvm/test/Regression/Transforms/TailDup/2003-07-22-InfiniteLoop.ll +++ /dev/null @@ -1,13 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -tailduplicate -disable-output - -implementation - -int %sum() { -entry: - br label %loopentry - -loopentry: - %i.0 = phi int [ 1, %entry ], [ %tmp.3, %loopentry ] - %tmp.3 = add int %i.0, 1 - br label %loopentry -} diff --git a/llvm/test/Regression/Transforms/TailDup/2003-08-23-InvalidatedPointers.ll b/llvm/test/Regression/Transforms/TailDup/2003-08-23-InvalidatedPointers.ll deleted file mode 100644 index 72e03e10c56..00000000000 --- a/llvm/test/Regression/Transforms/TailDup/2003-08-23-InvalidatedPointers.ll +++ /dev/null @@ -1,40 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -tailduplicate -disable-output - -implementation - -int %sell_haggle() { -entry: ; No predecessors! - br bool false, label %then.5, label %UnifiedExitNode - -then.5: ; preds = %entry - br bool false, label %loopentry.1.preheader, label %else.1 - -else.1: ; preds = %then.5 - br label %loopentry.1.preheader - -loopentry.1.preheader: ; preds = %then.5, %else.1 - %final_ask.0 = phi int [ 0, %else.1 ], [ 0, %then.5 ] ; <int> [#uses=2] - br label %loopentry.1 - -loopentry.1: ; preds = %loopentry.1.preheader, %endif.17 - switch uint 0, label %UnifiedExitNode [ - uint 2, label %UnifiedExitNode - uint 1, label %endif.16 - ] - -endif.16: ; preds = %loopentry.1 - br bool false, label %then.17, label %UnifiedExitNode - -then.17: ; preds = %endif.16 - br bool false, label %then.18, label %endif.17 - -then.18: ; preds = %then.17 - br bool false, label %endif.17, label %UnifiedExitNode - -endif.17: ; preds = %then.17, %then.18 - %cur_ask.3 = phi int [ %final_ask.0, %then.17 ], [ %final_ask.0, %then.18 ] ; <int> [#uses=0] - br bool false, label %loopentry.1, label %UnifiedExitNode - -UnifiedExitNode: ; preds = %entry, %endif.17, %then.18, %endif.16, %loopentry.1, %loopentry.1 - ret int 0 -} diff --git a/llvm/test/Regression/Transforms/TailDup/2003-08-31-UnreachableBlocks.ll b/llvm/test/Regression/Transforms/TailDup/2003-08-31-UnreachableBlocks.ll deleted file mode 100644 index 416a5df8085..00000000000 --- a/llvm/test/Regression/Transforms/TailDup/2003-08-31-UnreachableBlocks.ll +++ /dev/null @@ -1,20 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -tailduplicate -disable-output - -int %foo() { -entry: - br label %return.i - -after_ret.i: - br label %return.i - -return.i: - %tmp.3 = cast int* null to int - br label %return.i1 - -after_ret.i1: - br label %return.i1 - -return.i1: - %tmp.8 = sub int %tmp.3, 0 - ret int 0 -} diff --git a/llvm/test/Regression/Transforms/TailDup/2004-04-01-DemoteRegToStack.llx b/llvm/test/Regression/Transforms/TailDup/2004-04-01-DemoteRegToStack.llx deleted file mode 100644 index 4ea84909e5d..00000000000 --- a/llvm/test/Regression/Transforms/TailDup/2004-04-01-DemoteRegToStack.llx +++ /dev/null @@ -1,22 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -tailduplicate -disable-output - -void %interpret() { -entry: - br label %retry - -retry: - %tmp.8 = call int %interp() - switch uint 0, label %endif.4 [ - uint 4294967271, label %return - uint 4294967280, label %return - ] - -endif.4: - br bool false, label %return, label %retry - -return: - %result.0 = phi int [ %tmp.8, %retry ], [%tmp.8, %retry], [ %tmp.8, %endif.4 ] - ret void -} - -declare int %interp() diff --git a/llvm/test/Regression/Transforms/TailDup/MergeTest.ll b/llvm/test/Regression/Transforms/TailDup/MergeTest.ll deleted file mode 100644 index c11d735f1d3..00000000000 --- a/llvm/test/Regression/Transforms/TailDup/MergeTest.ll +++ /dev/null @@ -1,31 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -tailduplicate | llvm-dis | grep add | not grep uses=1 - -int %test1(bool %C, int %A, int* %P) { -entry: - br bool %C, label %L1, label %L2 - -L1: - store int 1, int* %P - br label %L2 - -L2: - %X = add int %A, 17 - ret int %X -} - -int %test2(bool %C, int %A, int* %P) { -entry: - br bool %C, label %L1, label %L2 - -L1: - store int 1, int* %P - br label %L3 - -L2: - store int 7, int* %P - br label %L3 -L3: - %X = add int %A, 17 - ret int %X -} - diff --git a/llvm/test/Regression/Transforms/TailDup/PHIUpdateTest.ll b/llvm/test/Regression/Transforms/TailDup/PHIUpdateTest.ll deleted file mode 100644 index ae591a00be5..00000000000 --- a/llvm/test/Regression/Transforms/TailDup/PHIUpdateTest.ll +++ /dev/null @@ -1,20 +0,0 @@ -; This test checks to make sure phi nodes are updated properly -; -; RUN: llvm-upgrade < %s | llvm-as | opt -tailduplicate -disable-output - - - -int %test(bool %c, int %X, int %Y) { - br label %L - -L: - %A = add int %X, %Y - br bool %c, label %T, label %F - -F: - br bool %c, label %L, label %T - -T: - %V = phi int [%A, %L], [0, %F] - ret int %V -} diff --git a/llvm/test/Regression/Transforms/TailDup/basictest.ll b/llvm/test/Regression/Transforms/TailDup/basictest.ll deleted file mode 100644 index 085acf5577d..00000000000 --- a/llvm/test/Regression/Transforms/TailDup/basictest.ll +++ /dev/null @@ -1,22 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -tailduplicate -disable-output - -declare void %__main() - -int %main() { -entry: ; No predecessors! - call void %__main( ) - br label %loopentry - -loopentry: ; preds = %entry, %no_exit - %i.0 = phi int [ %inc, %no_exit ], [ 0, %entry ] ; <int> [#uses=2] - %tmp.1 = setle int %i.0, 99 ; <bool> [#uses=1] - br bool %tmp.1, label %no_exit, label %return - -no_exit: ; preds = %loopentry - %tmp.51 = call int %main( ) ; <int> [#uses=0] - %inc = add int %i.0, 1 ; <int> [#uses=1] - br label %loopentry - -return: ; preds = %loopentry - ret int %i.0 -} diff --git a/llvm/test/Regression/Transforms/TailDup/basictest2.ll b/llvm/test/Regression/Transforms/TailDup/basictest2.ll deleted file mode 100644 index c67b3d53f0d..00000000000 --- a/llvm/test/Regression/Transforms/TailDup/basictest2.ll +++ /dev/null @@ -1,17 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -tailduplicate -disable-output - -void %ab() { -entry: - br label %loopentry.5 - -loopentry.5: - %poscnt.1 = phi long [ 0, %entry ], [ %tmp.289, %no_exit.5 ] - %tmp.289 = shr long %poscnt.1, ubyte 1 - br bool false, label %no_exit.5, label %loopexit.5 - -no_exit.5: - br label %loopentry.5 - -loopexit.5: - ret void -} diff --git a/llvm/test/Regression/Transforms/TailDup/dg.exp b/llvm/test/Regression/Transforms/TailDup/dg.exp deleted file mode 100644 index 142de8a6c8f..00000000000 --- a/llvm/test/Regression/Transforms/TailDup/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm-dg.exp - -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version diff --git a/llvm/test/Regression/Transforms/TailDup/if-tail-dup.ll b/llvm/test/Regression/Transforms/TailDup/if-tail-dup.ll deleted file mode 100644 index 6a02ac51a37..00000000000 --- a/llvm/test/Regression/Transforms/TailDup/if-tail-dup.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -tailduplicate | llc -march=x86 | grep 'je ' && -; RUN: llvm-upgrade < %s | llvm-as | opt -tailduplicate | llc -march=x86 | not grep jmp -; This should have no unconditional jumps in it. The C source is: - -;void foo(int c, int* P) { -; if (c & 1) P[0] = 1; -; if (c & 2) P[1] = 1; -; if (c & 4) P[2] = 1; -; if (c & 8) P[3] = 1; -;} - -implementation - -void %foo(int %c, int* %P) { -entry: - %tmp1 = and int %c, 1 ; <int> [#uses=1] - %tmp1 = seteq int %tmp1, 0 ; <bool> [#uses=1] - br bool %tmp1, label %cond_next, label %cond_true - -cond_true: ; preds = %entry - store int 1, int* %P - br label %cond_next - -cond_next: ; preds = %entry, %cond_true - %tmp5 = and int %c, 2 ; <int> [#uses=1] - %tmp5 = seteq int %tmp5, 0 ; <bool> [#uses=1] - br bool %tmp5, label %cond_next10, label %cond_true6 - -cond_true6: ; preds = %cond_next - %tmp8 = getelementptr int* %P, int 1 ; <int*> [#uses=1] - store int 1, int* %tmp8 - br label %cond_next10 - -cond_next10: ; preds = %cond_next, %cond_true6 - %tmp13 = and int %c, 4 ; <int> [#uses=1] - %tmp13 = seteq int %tmp13, 0 ; <bool> [#uses=1] - br bool %tmp13, label %cond_next18, label %cond_true14 - -cond_true14: ; preds = %cond_next10 - %tmp16 = getelementptr int* %P, int 2 ; <int*> [#uses=1] - store int 1, int* %tmp16 - br label %cond_next18 - -cond_next18: ; preds = %cond_next10, %cond_true14 - %tmp21 = and int %c, 8 ; <int> [#uses=1] - %tmp21 = seteq int %tmp21, 0 ; <bool> [#uses=1] - br bool %tmp21, label %return, label %cond_true22 - -cond_true22: ; preds = %cond_next18 - %tmp24 = getelementptr int* %P, int 3 ; <int*> [#uses=1] - store int 1, int* %tmp24 - ret void - -return: ; preds = %cond_next18 - ret void -} - - |

