summaryrefslogtreecommitdiff
path: root/test/Transforms
diff options
context:
space:
mode:
Diffstat (limited to 'test/Transforms')
-rw-r--r--test/Transforms/GVNPRE/2007-06-12-NoExit.ll9
-rw-r--r--test/Transforms/GVNPRE/2007-06-12-PhiTranslate.ll19
-rw-r--r--test/Transforms/GVNPRE/2007-06-15-InvokeInst.ll70
-rw-r--r--test/Transforms/GVNPRE/2007-06-15-Looping.ll22
-rw-r--r--test/Transforms/GVNPRE/2007-06-18-ConstantInPhi.ll22
-rw-r--r--test/Transforms/GVNPRE/2007-06-18-EraseNumbering.ll26
-rw-r--r--test/Transforms/GVNPRE/2007-07-03-PhiTranslateGEP.ll14
-rw-r--r--test/Transforms/GVNPRE/2007-07-04-CleanSelect.ll9
-rw-r--r--test/Transforms/GVNPRE/2007-07-04-SelectInst.ll18
-rw-r--r--test/Transforms/GVNPRE/2007-07-05-AvailabilityUpdating.ll54
-rw-r--r--test/Transforms/GVNPRE/2007-07-07-AnticOutUnique.ll14
-rw-r--r--test/Transforms/GVNPRE/basic.ll38
-rw-r--r--test/Transforms/GVNPRE/cast.ll17
-rw-r--r--test/Transforms/GVNPRE/dg.exp3
-rw-r--r--test/Transforms/GVNPRE/extractelement.ll18
-rw-r--r--test/Transforms/GVNPRE/gep.ll17
-rw-r--r--test/Transforms/GVNPRE/insertelement.ll18
-rw-r--r--test/Transforms/GVNPRE/select.ll17
-rw-r--r--test/Transforms/GVNPRE/shufflevector.ll18
-rw-r--r--test/Transforms/InstCombine/2002-05-14-TouchDeletedInst.ll508
-rw-r--r--test/Transforms/InstCombine/2002-09-17-GetElementPtrCrash.ll12
-rw-r--r--test/Transforms/InstCombine/2003-06-22-ConstantExprCrash.ll13
-rw-r--r--test/Transforms/InstCombine/2003-10-23-InstcombineNullFail.ll12
-rw-r--r--test/Transforms/InstCombine/2004-12-08-InstCombineCrash.ll14
-rw-r--r--test/Transforms/InstCombine/2006-02-07-SextZextCrash.ll21
-rw-r--r--test/Transforms/InstCombine/2006-04-01-InfLoop.ll444
-rw-r--r--test/Transforms/InstCombine/2006-05-06-Infloop.ll519
-rw-r--r--test/Transforms/InstCombine/2006-06-28-infloop.ll20
-rw-r--r--test/Transforms/InstCombine/2006-09-11-EmptyStructCrash.ll46
-rw-r--r--test/Transforms/InstCombine/2006-11-27-XorBug.ll12
-rw-r--r--test/Transforms/InstCombine/2006-12-10-ICmp-GEP-GEP.ll162
-rw-r--r--test/Transforms/InstCombine/2007-03-31-InfiniteLoop.ll302
-rw-r--r--test/Transforms/InstCombine/2007-09-05-EqualGEP.ll10
-rw-r--r--test/Transforms/InstCombine/2007-10-28-EmptyField.ll24
-rw-r--r--test/Transforms/InstCombine/2008-02-04-GEPIdxBug.ll33
-rw-r--r--test/Transforms/InstCombine/2009-03-02-VarLengthArrayGEP.ll14
-rw-r--r--test/Transforms/InstCombine/2009-04-06-GEP-Index-Crash.ll24
-rw-r--r--test/Transforms/InstCombine/GEPIdxCanon.ll10
-rw-r--r--test/Transforms/InstCombine/bitcast-gep.ll30
-rw-r--r--test/Transforms/InstCombine/cast-store-gep.ll17
-rw-r--r--test/Transforms/InstCombine/getelementptr-setcc.ll31
-rw-r--r--test/Transforms/InstCombine/getelementptr-seteq.ll13
-rw-r--r--test/Transforms/InstCombine/getelementptr_cast.ll11
-rw-r--r--test/Transforms/InstCombine/getelementptr_const.ll15
-rw-r--r--test/Transforms/InstCombine/getelementptr_index.ll9
-rw-r--r--test/Transforms/InstCombine/getelementptr_promote.ll58
-rw-r--r--test/Transforms/InstCombine/shl-icmp.ll29
-rw-r--r--test/Transforms/InstCombine/shl-trunc.ll9
-rw-r--r--test/Transforms/InstCombine/vec_insert_to_shuffle.ll19
-rw-r--r--test/Transforms/InstCombine/vec_shuffle2.ll19
-rw-r--r--test/Transforms/InstCombine/vector-casts-0.ll55
-rw-r--r--test/Transforms/InstCombine/vector-casts-1.ll15
-rw-r--r--test/Transforms/JumpThreading/2008-04-24-InfLoop.ll142
-rw-r--r--test/Transforms/JumpThreading/2008-05-05-MRV-Crash.ll25
-rw-r--r--test/Transforms/JumpThreading/dup-cond.ll30
-rw-r--r--test/Transforms/JumpThreading/undef.ll12
-rw-r--r--test/Transforms/LICM/2003-08-04-TrappingInstHoist.ll26
-rw-r--r--test/Transforms/LICM/2003-08-04-TrappingInstOkHoist.ll21
-rw-r--r--test/Transforms/LICM/2003-12-13-VolatilePromote.ll16
-rw-r--r--test/Transforms/LICM/call_sink_const_function.ll17
-rw-r--r--test/Transforms/LICM/call_sink_pure_function.ll16
-rw-r--r--test/Transforms/LICM/sink_critical_edge.ll16
-rw-r--r--test/Transforms/LICM/sink_inst.ll20
-rw-r--r--test/Transforms/LICM/sink_load.ll21
-rw-r--r--test/Transforms/LICM/sink_multiple.ll21
-rw-r--r--test/Transforms/LICM/sink_multiple_exits.ll24
-rw-r--r--test/Transforms/LICM/sink_only_some_exits.ll23
-rw-r--r--test/Transforms/LICM/sink_phi_node_use.ll21
-rw-r--r--test/Transforms/LICM/sink_trapping_inst.ll18
-rw-r--r--test/Transforms/MemCpyOpt/2008-06-01-MemCpy-MemMove.ll107
-rw-r--r--test/Transforms/PredicateSimplifier/2006-08-02-Switch.ll19
-rw-r--r--test/Transforms/PredicateSimplifier/2006-08-07-LeaderOffByOne.ll23
-rw-r--r--test/Transforms/PredicateSimplifier/2006-09-20-ResolveCycle.ll24
-rw-r--r--test/Transforms/PredicateSimplifier/2006-09-20-SetCC.ll46
-rw-r--r--test/Transforms/PredicateSimplifier/2006-10-22-IntOr.ll48
-rw-r--r--test/Transforms/PredicateSimplifier/2006-10-25-AddSetCC.ll26
-rw-r--r--test/Transforms/PredicateSimplifier/2006-11-04-ImpossibleGT.ll16
-rw-r--r--test/Transforms/PredicateSimplifier/2006-11-04-ReplacingZeros.ll25
-rw-r--r--test/Transforms/PredicateSimplifier/2006-11-05-CycleGTLT.ll13
-rw-r--r--test/Transforms/PredicateSimplifier/2006-11-11-Squeeze.ll25
-rw-r--r--test/Transforms/PredicateSimplifier/2006-11-12-MergeNodes.ll41
-rw-r--r--test/Transforms/PredicateSimplifier/2007-01-04-SelectSwitch.ll17
-rw-r--r--test/Transforms/PredicateSimplifier/2007-03-17-OpsToDefVRP.ll19
-rw-r--r--test/Transforms/PredicateSimplifier/2007-09-19-Subtract.ll102
-rw-r--r--test/Transforms/PredicateSimplifier/dg.exp3
-rw-r--r--test/Transforms/PredicateSimplifier/predsimplify.ll279
-rw-r--r--test/Transforms/PredicateSimplifier/predsimplify.reg1.ll20
-rw-r--r--test/Transforms/PredicateSimplifier/predsimplify.reg2.ll37
-rw-r--r--test/Transforms/PredicateSimplifier/predsimplify.reg3.ll22
-rw-r--r--test/Transforms/PredicateSimplifier/predsimplify.reg4.ll28
-rw-r--r--test/Transforms/SimplifyCFG/InvokeEliminate.ll18
-rw-r--r--test/Transforms/SimplifyLibCalls/ExitInMain.ll15
92 files changed, 0 insertions, 4395 deletions
diff --git a/test/Transforms/GVNPRE/2007-06-12-NoExit.ll b/test/Transforms/GVNPRE/2007-06-12-NoExit.ll
deleted file mode 100644
index b93a956b2f151..0000000000000
--- a/test/Transforms/GVNPRE/2007-06-12-NoExit.ll
+++ /dev/null
@@ -1,9 +0,0 @@
-; RUN: llvm-as < %s | opt -gvnpre | llvm-dis
-
-define void @_Z4sortI3Lit16LessThan_defaultIS0_EEvPT_iT0_() {
-entry:
- br label %cond_false
-
-cond_false: ; preds = %cond_false, %entry
- br label %cond_false
-}
diff --git a/test/Transforms/GVNPRE/2007-06-12-PhiTranslate.ll b/test/Transforms/GVNPRE/2007-06-12-PhiTranslate.ll
deleted file mode 100644
index 3a6ac679cbc91..0000000000000
--- a/test/Transforms/GVNPRE/2007-06-12-PhiTranslate.ll
+++ /dev/null
@@ -1,19 +0,0 @@
-; RUN: llvm-as < %s | opt -gvnpre | llvm-dis
-
-define void @strength_test5(i32* %data) {
-entry:
- br i1 false, label %cond_next16.preheader, label %cond_true
-
-cond_true: ; preds = %entry
- %tmp12 = icmp sgt i32 0, 0 ; <i1> [#uses=1]
- br i1 %tmp12, label %return, label %cond_next16.preheader
-
-cond_next16.preheader: ; preds = %cond_true, %entry
- %i.01.1.ph = phi i32 [ 1, %entry ], [ 1, %cond_true ] ; <i32> [#uses=1]
- %i.01.1 = add i32 0, %i.01.1.ph ; <i32> [#uses=0]
- %indvar.next = add i32 0, 1 ; <i32> [#uses=0]
- ret void
-
-return: ; preds = %cond_true
- ret void
-}
diff --git a/test/Transforms/GVNPRE/2007-06-15-InvokeInst.ll b/test/Transforms/GVNPRE/2007-06-15-InvokeInst.ll
deleted file mode 100644
index 86187b291b876..0000000000000
--- a/test/Transforms/GVNPRE/2007-06-15-InvokeInst.ll
+++ /dev/null
@@ -1,70 +0,0 @@
-; RUN: llvm-as < %s | opt -gvnpre | llvm-dis
-
-@.str1 = external constant [4 x i8] ; <[4 x i8]*> [#uses=1]
-@.str2 = external constant [5 x i8] ; <[5 x i8]*> [#uses=1]
-
-define i32 @main(i32 %argc, i8** %argv) {
-entry:
- br i1 false, label %cond_next, label %cond_true
-
-cond_true: ; preds = %entry
- ret i32 0
-
-cond_next: ; preds = %entry
- %tmp10 = invoke i16 @_ZN12token_stream4openEPKc( i8* null, i8* null ) signext
- to label %invcont unwind label %cleanup690 ; <i16> [#uses=0]
-
-invcont: ; preds = %cond_next
- %tmp15 = invoke i32 (i8*, ...)* @printf( i8* getelementptr ([4 x i8]* @.str1, i32 0, i32 0) )
- to label %invcont14 unwind label %cleanup685 ; <i32> [#uses=0]
-
-invcont14: ; preds = %invcont
- %tmp17 = invoke i8* @_ZN24lambda_expression_parser10expressionEPP11arglst_node( i8* null, i8** null )
- to label %cond_true22 unwind label %cleanup685
-
-cond_true22: ; preds = %invcont14
- %tmp35 = invoke i32 null( i8* null )
- to label %cond_next56 unwind label %cleanup685 ; <i32> [#uses=0]
-
-cond_next56: ; preds = %cond_true22
- %tmp59 = invoke i32 (i8*, ...)* @printf( i8* getelementptr ([5 x i8]* @.str2, i32 0, i32 0) )
- to label %invcont58 unwind label %cleanup685 ; <i32> [#uses=0]
-
-invcont58: ; preds = %cond_next56
- invoke void null( i8* null, i8* null, i32 0 )
- to label %invcont72 unwind label %cleanup685
-
-invcont72: ; preds = %invcont58
- %tmp143 = invoke i32 null( i8* null )
- to label %invcont142 unwind label %cleanup685 ; <i32> [#uses=0]
-
-invcont142: ; preds = %invcont72
- br i1 false, label %cond_false407, label %cond_true150
-
-cond_true150: ; preds = %invcont142
- ret i32 0
-
-cond_false407: ; preds = %invcont142
- %tmp431 = invoke i8* null( i8* null, i8* null, i32 0, i32* null )
- to label %bb432 unwind label %cleanup685
-
-bb432: ; preds = %bb432, %cond_false407
- %rexp413.7 = phi i8* [ %tmp431, %cond_false407 ], [ %rexp413.7, %bb432 ]
- %tmp434 = icmp eq i8* %rexp413.7, null ; <i1> [#uses=1]
- br i1 %tmp434, label %bb432, label %cond_true437
-
-cond_true437: ; preds = %bb432
- ret i32 0
-
-cleanup685: ; preds = %cond_false407, %invcont72, %invcont58, %cond_next56, %cond_true22, %invcont14, %invcont
- ret i32 0
-
-cleanup690: ; preds = %cond_next
- ret i32 0
-}
-
-declare i16 @_ZN12token_stream4openEPKc(i8*, i8*) signext
-
-declare i32 @printf(i8*, ...)
-
-declare i8* @_ZN24lambda_expression_parser10expressionEPP11arglst_node(i8*, i8**)
diff --git a/test/Transforms/GVNPRE/2007-06-15-Looping.ll b/test/Transforms/GVNPRE/2007-06-15-Looping.ll
deleted file mode 100644
index 92d2288f8969d..0000000000000
--- a/test/Transforms/GVNPRE/2007-06-15-Looping.ll
+++ /dev/null
@@ -1,22 +0,0 @@
-; RUN: llvm-as < %s | opt -gvnpre | llvm-dis
-
-define fastcc void @compute_max_score_1() {
-entry:
- %tmp7 = sub i32 0, 0 ; <i32> [#uses=0]
- br label %bb
-
-bb: ; preds = %bb212, %entry
- %indvar29 = phi i32 [ 0, %entry ], [ %indvar.next30, %bb212 ] ; <i32> [#uses=2]
- %j.01.0 = sub i32 %indvar29, 0 ; <i32> [#uses=0]
- br label %cond_next166
-
-cond_next166: ; preds = %cond_next166, %bb
- br i1 false, label %bb212, label %cond_next166
-
-bb212: ; preds = %cond_next166
- %indvar.next30 = add i32 %indvar29, 1 ; <i32> [#uses=1]
- br i1 false, label %return, label %bb
-
-return: ; preds = %bb212
- ret void
-}
diff --git a/test/Transforms/GVNPRE/2007-06-18-ConstantInPhi.ll b/test/Transforms/GVNPRE/2007-06-18-ConstantInPhi.ll
deleted file mode 100644
index 180105afc9129..0000000000000
--- a/test/Transforms/GVNPRE/2007-06-18-ConstantInPhi.ll
+++ /dev/null
@@ -1,22 +0,0 @@
-; RUN: llvm-as < %s | opt -gvnpre | llvm-dis
-
-define void @vorbis_lsp_to_curve() {
-entry:
- br i1 false, label %bb.nph, label %return
-
-bb.nph: ; preds = %entry
- br label %bb34
-
-bb34: ; preds = %bb34, %bb.nph
- %p.1 = phi float [ 0x3FE6A09E60000000, %bb.nph ], [ %tmp48, %bb34 ] ; <float> [#uses=1]
- %tmp44 = load float* null ; <float> [#uses=1]
- %tmp46 = fsub float %tmp44, 0.000000e+00 ; <float> [#uses=1]
- %tmp48 = fmul float %tmp46, %p.1 ; <float> [#uses=1]
- br i1 false, label %bb57, label %bb34
-
-bb57: ; preds = %bb34
- ret void
-
-return: ; preds = %entry
- ret void
-}
diff --git a/test/Transforms/GVNPRE/2007-06-18-EraseNumbering.ll b/test/Transforms/GVNPRE/2007-06-18-EraseNumbering.ll
deleted file mode 100644
index af51a032cab48..0000000000000
--- a/test/Transforms/GVNPRE/2007-06-18-EraseNumbering.ll
+++ /dev/null
@@ -1,26 +0,0 @@
-; RUN: llvm-as < %s | opt -gvnpre | llvm-dis
-
-define i32 @TreeCCStreamFlush(i8* %stream) {
-entry:
- br i1 false, label %bb55.preheader, label %cond_true
-
-cond_true: ; preds = %entry
- ret i32 0
-
-bb55.preheader: ; preds = %entry
- %tmp57 = icmp eq i8* null, null ; <i1> [#uses=0]
- br i1 false, label %cond_next106, label %bb124
-
-cond_next106: ; preds = %bb55.preheader
- %tmp109 = load i8** null
- br i1 false, label %bb124, label %bb116
-
-bb116: ; preds = %cond_next106
- ret i32 0
-
-bb124: ; preds = %cond_next106, %bb55.preheader
- %buffer.4 = phi i8* [ null, %bb55.preheader ], [ %tmp109, %cond_next106 ]
- %tmp131 = icmp eq i8* %buffer.4, null
- %bothcond = or i1 %tmp131, false
- ret i32 0
-}
diff --git a/test/Transforms/GVNPRE/2007-07-03-PhiTranslateGEP.ll b/test/Transforms/GVNPRE/2007-07-03-PhiTranslateGEP.ll
deleted file mode 100644
index 65d70d95820ec..0000000000000
--- a/test/Transforms/GVNPRE/2007-07-03-PhiTranslateGEP.ll
+++ /dev/null
@@ -1,14 +0,0 @@
-; RUN: llvm-as < %s | opt -gvnpre | llvm-dis
-
-define i64 @foo({ i32, i32 }** %__v) {
-entry:
- br label %bb
-
-bb: ; preds = %bb, %entry
- %__x.066.0 = phi { i32, i32 }* [ null, %entry ], [ null, %bb ]
- %tmp2.i.i63 = getelementptr { i32, i32 }* %__x.066.0, i32 0, i32 1
- br i1 false, label %bb, label %cond_true
-
-cond_true: ; preds = %bb
- ret i64 0
-}
diff --git a/test/Transforms/GVNPRE/2007-07-04-CleanSelect.ll b/test/Transforms/GVNPRE/2007-07-04-CleanSelect.ll
deleted file mode 100644
index d72e2e1eb519f..0000000000000
--- a/test/Transforms/GVNPRE/2007-07-04-CleanSelect.ll
+++ /dev/null
@@ -1,9 +0,0 @@
-; RUN: llvm-as < %s | opt -gvnpre | llvm-dis
-
-define i32* @_ZN6Solver9propagateEv(i32* %this) {
-entry:
- %tmp15.i48 = load i8* null ; <i8> [#uses=2]
- %tmp64.i.i51 = sub i8 0, %tmp15.i48 ; <i8> [#uses=1]
- %tmp231.i52 = select i1 false, i8 %tmp15.i48, i8 %tmp64.i.i51 ; <i8> [#uses=0]
- ret i32* null
-}
diff --git a/test/Transforms/GVNPRE/2007-07-04-SelectInst.ll b/test/Transforms/GVNPRE/2007-07-04-SelectInst.ll
deleted file mode 100644
index 944a700593863..0000000000000
--- a/test/Transforms/GVNPRE/2007-07-04-SelectInst.ll
+++ /dev/null
@@ -1,18 +0,0 @@
-; RUN: llvm-as < %s | opt -gvnpre | llvm-dis
-
-define void @set_depth_values(i32 %level) {
-cond_true90: ; preds = %cond_next84
- br i1 false, label %cond_true105, label %cond_true151
-
-cond_true105: ; preds = %cond_true90
- %tmp132 = add i32 %level, -3 ; <i32> [#uses=2]
- %tmp133 = icmp sgt i32 %tmp132, 0 ; <i1> [#uses=1]
- %max134 = select i1 %tmp133, i32 %tmp132, i32 1 ; <i32> [#uses=0]
- br label %cond_true151
-
-cond_true151: ; preds = %cond_true140, %cond_true105
- %tmp153 = add i32 %level, -3 ; <i32> [#uses=2]
- %tmp154 = icmp sgt i32 %tmp153, 0 ; <i1> [#uses=1]
- %max155 = select i1 %tmp154, i32 %tmp153, i32 1 ; <i32> [#uses=0]
- ret void
-}
diff --git a/test/Transforms/GVNPRE/2007-07-05-AvailabilityUpdating.ll b/test/Transforms/GVNPRE/2007-07-05-AvailabilityUpdating.ll
deleted file mode 100644
index 5510935ebbc44..0000000000000
--- a/test/Transforms/GVNPRE/2007-07-05-AvailabilityUpdating.ll
+++ /dev/null
@@ -1,54 +0,0 @@
-; RUN: llvm-as < %s | opt -gvnpre | llvm-dis | grep tmp114115.gvnpre
-
- %struct.AV = type { %struct.XPVAV*, i32, i32 }
- %struct.CLONE_PARAMS = type { %struct.AV*, i32, %struct.PerlInterpreter* }
- %struct.HE = type { %struct.HE*, %struct.HEK*, %struct.SV* }
- %struct.HEK = type { i32, i32, [1 x i8] }
- %struct.HV = type { %struct.XPVHV*, i32, i32 }
- %struct.MAGIC = type { %struct.MAGIC*, %struct.MGVTBL*, i16, i8, i8, %struct.SV*, i8*, i32 }
- %struct.MGVTBL = type { i32 (%struct.SV*, %struct.MAGIC*)*, i32 (%struct.SV*, %struct.MAGIC*)*, i32 (%struct.SV*, %struct.MAGIC*)*, i32 (%struct.SV*, %struct.MAGIC*)*, i32 (%struct.SV*, %struct.MAGIC*)*, i32 (%struct.SV*, %struct.MAGIC*, %struct.SV*, i8*, i32)*, i32 (%struct.MAGIC*, %struct.CLONE_PARAMS*)* }
- %struct.OP = type { %struct.OP*, %struct.OP*, %struct.OP* ()*, i32, i16, i16, i8, i8 }
- %struct.PMOP = type { %struct.OP*, %struct.OP*, %struct.OP* ()*, i32, i16, i16, i8, i8, %struct.OP*, %struct.OP*, %struct.OP*, %struct.OP*, %struct.PMOP*, %struct.REGEXP*, i32, i32, i8, %struct.HV* }
- %struct.PerlInterpreter = type { i8 }
- %struct.REGEXP = type { i32*, i32*, %struct.regnode*, %struct.reg_substr_data*, i8*, %struct.reg_data*, i8*, i32*, i32, i32, i32, i32, i32, i32, i32, i32, [1 x %struct.regnode] }
- %struct.SV = type { i8*, i32, i32 }
- %struct.XPVAV = type { i8*, i32, i32, i32, double, %struct.MAGIC*, %struct.HV*, %struct.SV**, %struct.SV*, i8 }
- %struct.XPVHV = type { i8*, i32, i32, i32, double, %struct.MAGIC*, %struct.HV*, i32, %struct.HE*, %struct.PMOP*, i8* }
- %struct.reg_data = type { i32, i8*, [1 x i8*] }
- %struct.reg_substr_data = type { [3 x %struct.reg_substr_datum] }
- %struct.reg_substr_datum = type { i32, i32, %struct.SV*, %struct.SV* }
- %struct.regnode = type { i8, i8, i16 }
-
-define void @Perl_op_clear(%struct.OP* %o) {
-entry:
- switch i32 0, label %bb106 [
- i32 13, label %bb106
- i32 31, label %clear_pmop
- i32 32, label %clear_pmop
- i32 33, label %bb101
- ]
-
-bb101: ; preds = %entry
- %tmp102103 = bitcast %struct.OP* %o to %struct.PMOP* ; <%struct.PMOP*> [#uses=1]
- %tmp104 = getelementptr %struct.PMOP* %tmp102103, i32 0, i32 10 ; <%struct.OP**> [#uses=0]
- br i1 false, label %cond_next174, label %cond_true122
-
-bb106: ; preds = %entry, %entry
- %tmp107108 = bitcast %struct.OP* %o to %struct.PMOP* ; <%struct.PMOP*> [#uses=0]
- br label %clear_pmop
-
-clear_pmop: ; preds = %bb106, %entry, %entry
- %tmp114115 = bitcast %struct.OP* %o to %struct.PMOP* ; <%struct.PMOP*> [#uses=0]
- br label %cond_true122
-
-cond_true122: ; preds = %clear_pmop, %bb101
- br i1 false, label %cond_next174, label %cond_true129
-
-cond_true129: ; preds = %cond_true122
- ret void
-
-cond_next174: ; preds = %cond_true122, %bb101
- %tmp175176 = bitcast %struct.OP* %o to %struct.PMOP* ; <%struct.PMOP*> [#uses=1]
- %tmp177 = getelementptr %struct.PMOP* %tmp175176, i32 0, i32 10 ; <%struct.OP**> [#uses=0]
- ret void
-}
diff --git a/test/Transforms/GVNPRE/2007-07-07-AnticOutUnique.ll b/test/Transforms/GVNPRE/2007-07-07-AnticOutUnique.ll
deleted file mode 100644
index 2a7e49c6cd9e8..0000000000000
--- a/test/Transforms/GVNPRE/2007-07-07-AnticOutUnique.ll
+++ /dev/null
@@ -1,14 +0,0 @@
-; RUN: llvm-as < %s | opt -gvnpre | llvm-dis
- %"struct.ObjectArena<char>" = type { i32, i32, %"struct.ResizeArray<char*>", i8*, i8* }
- %"struct.ResizeArray<char*>" = type { i32 (...)**, %"struct.ResizeArrayRaw<char*>"* }
- %"struct.ResizeArrayRaw<char*>" = type { i8**, i8*, i32, i32, i32, float, i32 }
-
-define void @_ZN11ObjectArenaIcED1Ev(%"struct.ObjectArena<char>"* %this) {
-entry:
- br label %cond_true21
-
-cond_true21: ; preds = %cond_true21, %entry
- %tmp215.0 = phi %"struct.ResizeArray<char*>"* [ null, %entry ], [ null, %cond_true21 ] ; <%"struct.ResizeArray<char*>"*> [#uses=1]
- %tmp2.i2 = getelementptr %"struct.ResizeArray<char*>"* %tmp215.0, i32 0, i32 1 ; <%"struct.ResizeArrayRaw<char*>"**> [#uses=0]
- br label %cond_true21
-}
diff --git a/test/Transforms/GVNPRE/basic.ll b/test/Transforms/GVNPRE/basic.ll
deleted file mode 100644
index b74687394ac79..0000000000000
--- a/test/Transforms/GVNPRE/basic.ll
+++ /dev/null
@@ -1,38 +0,0 @@
-; RUN: llvm-as < %s | opt -gvnpre | llvm-dis | not grep {%z3 =}
-; RUN: llvm-as < %s | opt -gvnpre | llvm-dis | not grep {%z9 =}
-
-define i32 @main() {
-block1:
- %z1 = bitcast i32 0 to i32 ; <i32> [#uses=5]
- br label %block2
-
-block2: ; preds = %block6, %block1
- %z2 = phi i32 [ %z1, %block1 ], [ %z3, %block6 ] ; <i32> [#uses=3]
- %z3 = add i32 %z2, 1 ; <i32> [#uses=5]
- br i1 false, label %block3, label %block7
-
-block3: ; preds = %block2
- br i1 true, label %block4, label %block5
-
-block4: ; preds = %block3
- %z4 = add i32 %z2, %z3 ; <i32> [#uses=1]
- %z5 = bitcast i32 %z4 to i32 ; <i32> [#uses=1]
- %z6 = add i32 %z1, %z5 ; <i32> [#uses=0]
- br label %block6
-
-block5: ; preds = %block3
- %z7 = add i32 %z3, 1 ; <i32> [#uses=1]
- br label %block6
-
-block6: ; preds = %block5, %block4
- %z8 = phi i32 [ %z1, %block4 ], [ %z7, %block5 ] ; <i32> [#uses=1]
- %z9 = add i32 %z2, %z3 ; <i32> [#uses=2]
- %z10 = add i32 %z9, %z8 ; <i32> [#uses=0]
- %z11 = bitcast i32 12 to i32 ; <i32> [#uses=1]
- %z12 = add i32 %z9, %z11 ; <i32> [#uses=1]
- %z13 = add i32 %z12, %z3 ; <i32> [#uses=0]
- br label %block2
-
-block7: ; preds = %block2
- ret i32 %z1
-}
diff --git a/test/Transforms/GVNPRE/cast.ll b/test/Transforms/GVNPRE/cast.ll
deleted file mode 100644
index 3536a14571fb8..0000000000000
--- a/test/Transforms/GVNPRE/cast.ll
+++ /dev/null
@@ -1,17 +0,0 @@
-; RUN: llvm-as < %s | opt -gvnpre | llvm-dis | grep b.gvnpre
-
-define i32 @extract() {
-entry: ; preds = %cond_false, %entry
- br i1 true, label %cond_true, label %cond_false
-
-cond_true:
- br label %end
-
-cond_false:
- %a = sext i16 0 to i32
- br label %end
-
-end:
- %b = sext i16 0 to i32
- ret i32 %b
-}
diff --git a/test/Transforms/GVNPRE/dg.exp b/test/Transforms/GVNPRE/dg.exp
deleted file mode 100644
index f2005891a59a8..0000000000000
--- a/test/Transforms/GVNPRE/dg.exp
+++ /dev/null
@@ -1,3 +0,0 @@
-load_lib llvm.exp
-
-RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,c,cpp}]]
diff --git a/test/Transforms/GVNPRE/extractelement.ll b/test/Transforms/GVNPRE/extractelement.ll
deleted file mode 100644
index 7d05c8f1d6f3a..0000000000000
--- a/test/Transforms/GVNPRE/extractelement.ll
+++ /dev/null
@@ -1,18 +0,0 @@
-; RUN: llvm-as < %s | opt -gvnpre | llvm-dis | grep b.gvnpre
-
-define i32 @extract() {
-entry: ; preds = %cond_false, %entry
- %foo = add <2 x i32> < i32 1, i32 1 >, < i32 1, i32 1 >
- br i1 true, label %cond_true, label %cond_false
-
-cond_true:
- br label %end
-
-cond_false:
- %a = extractelement <2 x i32> %foo, i32 0
- br label %end
-
-end:
- %b = extractelement <2 x i32> %foo, i32 0
- ret i32 %b
-}
diff --git a/test/Transforms/GVNPRE/gep.ll b/test/Transforms/GVNPRE/gep.ll
deleted file mode 100644
index 34bc4c79ab12f..0000000000000
--- a/test/Transforms/GVNPRE/gep.ll
+++ /dev/null
@@ -1,17 +0,0 @@
-; RUN: llvm-as < %s | opt -gvnpre | llvm-dis | grep b.gvnpre
-
-define i32 @extract({ i32 }* %P) {
-entry: ; preds = %cond_false, %entry
- br i1 true, label %cond_true, label %cond_false
-
-cond_true:
- br label %end
-
-cond_false:
- %a = getelementptr { i32 }* %P, i32 0, i32 0
- br label %end
-
-end:
- %b = getelementptr { i32 }* %P, i32 0, i32 0
- ret i32 0
-}
diff --git a/test/Transforms/GVNPRE/insertelement.ll b/test/Transforms/GVNPRE/insertelement.ll
deleted file mode 100644
index caf8474bba7de..0000000000000
--- a/test/Transforms/GVNPRE/insertelement.ll
+++ /dev/null
@@ -1,18 +0,0 @@
-; RUN: llvm-as < %s | opt -gvnpre | llvm-dis | grep b.gvnpre
-
-define i32 @extract() {
-entry: ; preds = %cond_false, %entry
- %foo = add <2 x i32> < i32 1, i32 1 >, < i32 1, i32 1 >
- br i1 true, label %cond_true, label %cond_false
-
-cond_true:
- br label %end
-
-cond_false:
- %a = insertelement <2 x i32> %foo, i32 0, i32 3
- br label %end
-
-end:
- %b = insertelement <2 x i32> %foo, i32 0, i32 3
- ret i32 0
-}
diff --git a/test/Transforms/GVNPRE/select.ll b/test/Transforms/GVNPRE/select.ll
deleted file mode 100644
index c73c8579db5d7..0000000000000
--- a/test/Transforms/GVNPRE/select.ll
+++ /dev/null
@@ -1,17 +0,0 @@
-; RUN: llvm-as < %s | opt -gvnpre | llvm-dis | grep b.gvnpre
-
-define i32 @extract() {
-entry: ; preds = %cond_false, %entry
- br i1 true, label %cond_true, label %cond_false
-
-cond_true:
- br label %end
-
-cond_false:
- %a = select i1 true, i32 0, i32 1
- br label %end
-
-end:
- %b = select i1 true, i32 0, i32 1
- ret i32 %b
-}
diff --git a/test/Transforms/GVNPRE/shufflevector.ll b/test/Transforms/GVNPRE/shufflevector.ll
deleted file mode 100644
index 9fc35925322c3..0000000000000
--- a/test/Transforms/GVNPRE/shufflevector.ll
+++ /dev/null
@@ -1,18 +0,0 @@
-; RUN: llvm-as < %s | opt -gvnpre | llvm-dis | grep b.gvnpre
-
-define i32 @extract() {
-entry: ; preds = %cond_false, %entry
- %foo = add <2 x i32> < i32 1, i32 1 >, < i32 1, i32 1 >
- br i1 true, label %cond_true, label %cond_false
-
-cond_true:
- br label %end
-
-cond_false:
- %a = shufflevector <2 x i32> %foo, <2 x i32> undef, <2 x i32> < i32 0, i32 1 >
- br label %end
-
-end:
- %b = shufflevector <2 x i32> %foo, <2 x i32> undef, <2 x i32> < i32 0, i32 1 >
- ret i32 0
-}
diff --git a/test/Transforms/InstCombine/2002-05-14-TouchDeletedInst.ll b/test/Transforms/InstCombine/2002-05-14-TouchDeletedInst.ll
deleted file mode 100644
index 4ebbe2470fa46..0000000000000
--- a/test/Transforms/InstCombine/2002-05-14-TouchDeletedInst.ll
+++ /dev/null
@@ -1,508 +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-as < %s | opt -instcombine
-;
-; END.
-
-@.LC0 = internal global [21 x i8] c"hbMakeCodeLengths(1)\00" ; <[21 x i8]*> [#uses=1]
-@.LC1 = internal global [21 x i8] c"hbMakeCodeLengths(2)\00" ; <[21 x i8]*> [#uses=1]
-
-define void @hbMakeCodeLengths(i8* %len, i32* %freq, i32 %alphaSize, i32 %maxLen) {
-bb0:
- %len.upgrd.1 = alloca i8* ; <i8**> [#uses=2]
- store i8* %len, i8** %len.upgrd.1
- %freq.upgrd.2 = alloca i32* ; <i32**> [#uses=2]
- store i32* %freq, i32** %freq.upgrd.2
- %alphaSize.upgrd.3 = alloca i32 ; <i32*> [#uses=2]
- store i32 %alphaSize, i32* %alphaSize.upgrd.3
- %maxLen.upgrd.4 = alloca i32 ; <i32*> [#uses=2]
- store i32 %maxLen, i32* %maxLen.upgrd.4
- %heap = alloca i32, i32 260 ; <i32*> [#uses=27]
- %weight = alloca i32, i32 516 ; <i32*> [#uses=18]
- %parent = alloca i32, i32 516 ; <i32*> [#uses=7]
- br label %bb1
-
-bb1: ; preds = %bb0
- %reg107 = load i8** %len.upgrd.1 ; <i8*> [#uses=1]
- %reg108 = load i32** %freq.upgrd.2 ; <i32*> [#uses=1]
- %reg109 = load i32* %alphaSize.upgrd.3 ; <i32> [#uses=10]
- %reg110 = load i32* %maxLen.upgrd.4 ; <i32> [#uses=1]
- %cond747 = icmp sge i32 0, %reg109 ; <i1> [#uses=1]
- br i1 %cond747, label %bb6, label %bb2
-
-bb2: ; preds = %bb5, %bb1
- %reg591 = phi i32 [ %reg594, %bb5 ], [ 0, %bb1 ] ; <i32> [#uses=3]
- %reg591-idxcast1 = bitcast i32 %reg591 to i32 ; <i32> [#uses=1]
- %reg591-idxcast1-offset = add i32 %reg591-idxcast1, 1 ; <i32> [#uses=1]
- %reg591-idxcast1-offset.upgrd.5 = zext i32 %reg591-idxcast1-offset to i64 ; <i64> [#uses=1]
- %reg126 = getelementptr i32* %weight, i64 %reg591-idxcast1-offset.upgrd.5 ; <i32*> [#uses=1]
- %reg591-idxcast = sext i32 %reg591 to i64 ; <i64> [#uses=1]
- %reg132 = getelementptr i32* %reg108, i64 %reg591-idxcast ; <i32*> [#uses=1]
- %reg133 = load i32* %reg132 ; <i32> [#uses=2]
- %cond748 = icmp eq i32 %reg133, 0 ; <i1> [#uses=1]
- br i1 %cond748, label %bb4, label %bb3
-
-bb3: ; preds = %bb2
- %reg127 = shl i32 %reg133, 8 ; <i32> [#uses=1]
- br label %bb5
-
-bb4: ; preds = %bb2
- br label %bb5
-
-bb5: ; preds = %bb4, %bb3
- %reg593 = phi i32 [ 256, %bb4 ], [ %reg127, %bb3 ] ; <i32> [#uses=1]
- store i32 %reg593, i32* %reg126
- %reg594 = add i32 %reg591, 1 ; <i32> [#uses=2]
- %cond749 = icmp slt i32 %reg594, %reg109 ; <i1> [#uses=1]
- br i1 %cond749, label %bb2, label %bb6
-
-bb6: ; preds = %bb43, %bb41, %bb5, %bb1
- store i32 0, i32* %heap
- store i32 0, i32* %weight
- store i32 -2, i32* %parent
- %cond750 = icmp sgt i32 1, %reg109 ; <i1> [#uses=1]
- br i1 %cond750, label %bb11, label %bb7
-
-bb7: ; preds = %bb10, %bb6
- %reg597 = phi i32 [ %reg598, %bb10 ], [ 0, %bb6 ] ; <i32> [#uses=5]
- %reg597-casted = bitcast i32 %reg597 to i32 ; <i32> [#uses=1]
- %reg596 = add i32 %reg597-casted, 1 ; <i32> [#uses=3]
- %reg597-offset = add i32 %reg597, 1 ; <i32> [#uses=1]
- %reg597-offset.upgrd.6 = zext i32 %reg597-offset to i64 ; <i64> [#uses=1]
- %reg149 = getelementptr i32* %parent, i64 %reg597-offset.upgrd.6 ; <i32*> [#uses=1]
- store i32 -1, i32* %reg149
- %reg598 = add i32 %reg597, 1 ; <i32> [#uses=3]
- %reg597-offset1 = add i32 %reg597, 1 ; <i32> [#uses=1]
- %reg597-offset1.upgrd.7 = zext i32 %reg597-offset1 to i64 ; <i64> [#uses=1]
- %reg157 = getelementptr i32* %heap, i64 %reg597-offset1.upgrd.7 ; <i32*> [#uses=1]
- store i32 %reg596, i32* %reg157
- br label %bb9
-
-bb8: ; preds = %bb9
- %reg599 = zext i32 %reg599.upgrd.8 to i64 ; <i64> [#uses=1]
- %reg198 = getelementptr i32* %heap, i64 %reg599 ; <i32*> [#uses=1]
- store i32 %reg182, i32* %reg198
- %cast938 = bitcast i32 %reg174 to i32 ; <i32> [#uses=1]
- br label %bb9
-
-bb9: ; preds = %bb8, %bb7
- %reg599.upgrd.8 = phi i32 [ %cast938, %bb8 ], [ %reg598, %bb7 ] ; <i32> [#uses=3]
- %cast807 = bitcast i32 %reg599.upgrd.8 to i32 ; <i32> [#uses=1]
- %reg597-offset2 = add i32 %reg597, 1 ; <i32> [#uses=1]
- %reg597-offset2.upgrd.9 = zext i32 %reg597-offset2 to i64 ; <i64> [#uses=1]
- %reg173 = getelementptr i32* %weight, i64 %reg597-offset2.upgrd.9 ; <i32*> [#uses=1]
- %reg174 = ashr i32 %cast807, 1 ; <i32> [#uses=2]
- %reg174-idxcast = bitcast i32 %reg174 to i32 ; <i32> [#uses=1]
- zext i32 %reg174-idxcast to i64 ; <i64>:0 [#uses=1]
- %reg181 = getelementptr i32* %heap, i64 %0 ; <i32*> [#uses=1]
- %reg182 = load i32* %reg181 ; <i32> [#uses=2]
- %reg182-idxcast = bitcast i32 %reg182 to i32 ; <i32> [#uses=1]
- zext i32 %reg182-idxcast to i64 ; <i64>:1 [#uses=1]
- %reg189 = getelementptr i32* %weight, i64 %1 ; <i32*> [#uses=1]
- %reg190 = load i32* %reg173 ; <i32> [#uses=1]
- %reg191 = load i32* %reg189 ; <i32> [#uses=1]
- %cond751 = icmp slt i32 %reg190, %reg191 ; <i1> [#uses=1]
- br i1 %cond751, label %bb8, label %bb10
-
-bb10: ; preds = %bb9
- zext i32 %reg599.upgrd.8 to i64 ; <i64>:2 [#uses=1]
- %reg214 = getelementptr i32* %heap, i64 %2 ; <i32*> [#uses=1]
- store i32 %reg596, i32* %reg214
- %reg601 = add i32 %reg596, 1 ; <i32> [#uses=1]
- %cond752 = icmp sle i32 %reg601, %reg109 ; <i1> [#uses=1]
- br i1 %cond752, label %bb7, label %bb11
-
-bb11: ; preds = %bb10, %bb6
- %reg602 = phi i32 [ %reg598, %bb10 ], [ 0, %bb6 ] ; <i32> [#uses=3]
- %cast819 = bitcast i32 %reg602 to i32 ; <i32> [#uses=1]
- %cast818 = bitcast i32 %reg602 to i32 ; <i32> [#uses=1]
- %cond753 = icmp sle i32 %cast818, 259 ; <i1> [#uses=1]
- br i1 %cond753, label %bb13, label %bb12
-
-bb12: ; preds = %bb11
- zext i32 0 to i64 ; <i64>:3 [#uses=1]
- zext i32 0 to i64 ; <i64>:4 [#uses=1]
- %cast784 = getelementptr [21 x i8]* @.LC0, i64 %3, i64 %4 ; <i8*> [#uses=1]
- call void @panic( i8* %cast784 )
- br label %bb13
-
-bb13: ; preds = %bb12, %bb11
- %cond754 = icmp sle i32 %cast819, 1 ; <i1> [#uses=1]
- %cast918 = bitcast i32 %reg109 to i32 ; <i32> [#uses=1]
- %cast940 = bitcast i32 %reg602 to i32 ; <i32> [#uses=1]
- %cast942 = bitcast i32 %reg109 to i32 ; <i32> [#uses=1]
- br i1 %cond754, label %bb32, label %bb14
-
-bb14: ; preds = %bb31, %bb13
- %cann-indvar1 = phi i32 [ 0, %bb13 ], [ %add1-indvar1, %bb31 ] ; <i32> [#uses=3]
- %cann-indvar1-casted = bitcast i32 %cann-indvar1 to i32 ; <i32> [#uses=1]
- %reg603-scale = mul i32 %cann-indvar1-casted, -1 ; <i32> [#uses=1]
- %reg603 = add i32 %reg603-scale, %cast940 ; <i32> [#uses=4]
- %reg604 = add i32 %cann-indvar1, %cast942 ; <i32> [#uses=4]
- %add1-indvar1 = add i32 %cann-indvar1, 1 ; <i32> [#uses=1]
- zext i32 1 to i64 ; <i64>:5 [#uses=1]
- %reg7551 = getelementptr i32* %heap, i64 %5 ; <i32*> [#uses=1]
- %reg113 = load i32* %reg7551 ; <i32> [#uses=2]
- %reg603-idxcast = bitcast i32 %reg603 to i32 ; <i32> [#uses=1]
- zext i32 %reg603-idxcast to i64 ; <i64>:6 [#uses=1]
- %reg222 = getelementptr i32* %heap, i64 %6 ; <i32*> [#uses=1]
- %reg223 = load i32* %reg222 ; <i32> [#uses=1]
- zext i32 1 to i64 ; <i64>:7 [#uses=1]
- %reg7561 = getelementptr i32* %heap, i64 %7 ; <i32*> [#uses=1]
- store i32 %reg223, i32* %reg7561
- %reg605 = add i32 %reg603, -1 ; <i32> [#uses=4]
- zext i32 1 to i64 ; <i64>:8 [#uses=1]
- %reg757 = getelementptr i32* %heap, i64 %8 ; <i32*> [#uses=1]
- %reg226 = load i32* %reg757 ; <i32> [#uses=2]
- %cond758 = icmp sgt i32 2, %reg605 ; <i1> [#uses=1]
- br i1 %cond758, label %bb20, label %bb15
-
-bb15: ; preds = %bb19, %bb14
- %reg606 = phi i32 [ %reg611, %bb19 ], [ 2, %bb14 ] ; <i32> [#uses=6]
- %reg607 = phi i32 [ %reg609, %bb19 ], [ 1, %bb14 ] ; <i32> [#uses=2]
- %cond759 = icmp sge i32 %reg606, %reg605 ; <i1> [#uses=1]
- br i1 %cond759, label %bb18, label %bb16
-
-bb16: ; preds = %bb15
- %reg606-idxcast = bitcast i32 %reg606 to i32 ; <i32> [#uses=1]
- %reg606-idxcast-offset = add i32 %reg606-idxcast, 1 ; <i32> [#uses=1]
- zext i32 %reg606-idxcast-offset to i64 ; <i64>:9 [#uses=1]
- %reg241 = getelementptr i32* %heap, i64 %9 ; <i32*> [#uses=1]
- %reg242 = load i32* %reg241 ; <i32> [#uses=1]
- %reg242-idxcast = bitcast i32 %reg242 to i32 ; <i32> [#uses=1]
- zext i32 %reg242-idxcast to i64 ; <i64>:10 [#uses=1]
- %reg249 = getelementptr i32* %weight, i64 %10 ; <i32*> [#uses=1]
- %reg606-idxcast1 = bitcast i32 %reg606 to i32 ; <i32> [#uses=1]
- zext i32 %reg606-idxcast1 to i64 ; <i64>:11 [#uses=1]
- %reg256 = getelementptr i32* %heap, i64 %11 ; <i32*> [#uses=1]
- %reg257 = load i32* %reg256 ; <i32> [#uses=1]
- %reg257-idxcast = bitcast i32 %reg257 to i32 ; <i32> [#uses=1]
- zext i32 %reg257-idxcast to i64 ; <i64>:12 [#uses=1]
- %reg264 = getelementptr i32* %weight, i64 %12 ; <i32*> [#uses=1]
- %reg265 = load i32* %reg249 ; <i32> [#uses=1]
- %reg266 = load i32* %reg264 ; <i32> [#uses=1]
- %cond760 = icmp sge i32 %reg265, %reg266 ; <i1> [#uses=1]
- br i1 %cond760, label %bb18, label %bb17
-
-bb17: ; preds = %bb16
- %reg608 = add i32 %reg606, 1 ; <i32> [#uses=1]
- br label %bb18
-
-bb18: ; preds = %bb17, %bb16, %bb15
- %reg609 = phi i32 [ %reg608, %bb17 ], [ %reg606, %bb16 ], [ %reg606, %bb15 ] ; <i32> [#uses=4]
- %reg226-idxcast = bitcast i32 %reg226 to i32 ; <i32> [#uses=1]
- zext i32 %reg226-idxcast to i64 ; <i64>:13 [#uses=1]
- %reg273 = getelementptr i32* %weight, i64 %13 ; <i32*> [#uses=1]
- %reg609-idxcast = bitcast i32 %reg609 to i32 ; <i32> [#uses=1]
- zext i32 %reg609-idxcast to i64 ; <i64>:14 [#uses=1]
- %reg280 = getelementptr i32* %heap, i64 %14 ; <i32*> [#uses=1]
- %reg281 = load i32* %reg280 ; <i32> [#uses=2]
- %reg281-idxcast = bitcast i32 %reg281 to i32 ; <i32> [#uses=1]
- zext i32 %reg281-idxcast to i64 ; <i64>:15 [#uses=1]
- %reg288 = getelementptr i32* %weight, i64 %15 ; <i32*> [#uses=1]
- %reg289 = load i32* %reg273 ; <i32> [#uses=1]
- %reg290 = load i32* %reg288 ; <i32> [#uses=1]
- %cond761 = icmp slt i32 %reg289, %reg290 ; <i1> [#uses=1]
- br i1 %cond761, label %bb20, label %bb19
-
-bb19: ; preds = %bb18
- %reg607-idxcast = bitcast i32 %reg607 to i32 ; <i32> [#uses=1]
- zext i32 %reg607-idxcast to i64 ; <i64>:16 [#uses=1]
- %reg297 = getelementptr i32* %heap, i64 %16 ; <i32*> [#uses=1]
- store i32 %reg281, i32* %reg297
- %reg611 = shl i32 %reg609, 1 ; <i32> [#uses=2]
- %cond762 = icmp sle i32 %reg611, %reg605 ; <i1> [#uses=1]
- br i1 %cond762, label %bb15, label %bb20
-
-bb20: ; preds = %bb19, %bb18, %bb14
- %reg612 = phi i32 [ %reg609, %bb19 ], [ %reg607, %bb18 ], [ 1, %bb14 ] ; <i32> [#uses=1]
- %reg612-idxcast = bitcast i32 %reg612 to i32 ; <i32> [#uses=1]
- zext i32 %reg612-idxcast to i64 ; <i64>:17 [#uses=1]
- %reg312 = getelementptr i32* %heap, i64 %17 ; <i32*> [#uses=1]
- store i32 %reg226, i32* %reg312
- zext i32 1 to i64 ; <i64>:18 [#uses=1]
- %reg7631 = getelementptr i32* %heap, i64 %18 ; <i32*> [#uses=1]
- %reg114 = load i32* %reg7631 ; <i32> [#uses=2]
- %reg603-idxcast1 = bitcast i32 %reg603 to i32 ; <i32> [#uses=1]
- %reg603-idxcast1-offset = add i32 %reg603-idxcast1, 1073741823 ; <i32> [#uses=1]
- zext i32 %reg603-idxcast1-offset to i64 ; <i64>:19 [#uses=1]
- %reg319 = getelementptr i32* %heap, i64 %19 ; <i32*> [#uses=1]
- %reg320 = load i32* %reg319 ; <i32> [#uses=1]
- zext i32 1 to i64 ; <i64>:20 [#uses=1]
- %reg7641 = getelementptr i32* %heap, i64 %20 ; <i32*> [#uses=1]
- store i32 %reg320, i32* %reg7641
- %reg613 = add i32 %reg605, -1 ; <i32> [#uses=4]
- zext i32 1 to i64 ; <i64>:21 [#uses=1]
- %reg765 = getelementptr i32* %heap, i64 %21 ; <i32*> [#uses=1]
- %reg323 = load i32* %reg765 ; <i32> [#uses=2]
- %cond766 = icmp sgt i32 2, %reg613 ; <i1> [#uses=1]
- br i1 %cond766, label %bb26, label %bb21
-
-bb21: ; preds = %bb25, %bb20
- %reg614 = phi i32 [ %reg619, %bb25 ], [ 2, %bb20 ] ; <i32> [#uses=6]
- %reg615 = phi i32 [ %reg617, %bb25 ], [ 1, %bb20 ] ; <i32> [#uses=2]
- %cond767 = icmp sge i32 %reg614, %reg613 ; <i1> [#uses=1]
- br i1 %cond767, label %bb24, label %bb22
-
-bb22: ; preds = %bb21
- %reg614-idxcast = bitcast i32 %reg614 to i32 ; <i32> [#uses=1]
- %reg614-idxcast-offset = add i32 %reg614-idxcast, 1 ; <i32> [#uses=1]
- zext i32 %reg614-idxcast-offset to i64 ; <i64>:22 [#uses=1]
- %reg338 = getelementptr i32* %heap, i64 %22 ; <i32*> [#uses=1]
- %reg339 = load i32* %reg338 ; <i32> [#uses=1]
- %reg339-idxcast = bitcast i32 %reg339 to i32 ; <i32> [#uses=1]
- zext i32 %reg339-idxcast to i64 ; <i64>:23 [#uses=1]
- %reg346 = getelementptr i32* %weight, i64 %23 ; <i32*> [#uses=1]
- %reg614-idxcast1 = bitcast i32 %reg614 to i32 ; <i32> [#uses=1]
- zext i32 %reg614-idxcast1 to i64 ; <i64>:24 [#uses=1]
- %reg353 = getelementptr i32* %heap, i64 %24 ; <i32*> [#uses=1]
- %reg354 = load i32* %reg353 ; <i32> [#uses=1]
- %reg354-idxcast = bitcast i32 %reg354 to i32 ; <i32> [#uses=1]
- zext i32 %reg354-idxcast to i64 ; <i64>:25 [#uses=1]
- %reg361 = getelementptr i32* %weight, i64 %25 ; <i32*> [#uses=1]
- %reg362 = load i32* %reg346 ; <i32> [#uses=1]
- %reg363 = load i32* %reg361 ; <i32> [#uses=1]
- %cond768 = icmp sge i32 %reg362, %reg363 ; <i1> [#uses=1]
- br i1 %cond768, label %bb24, label %bb23
-
-bb23: ; preds = %bb22
- %reg616 = add i32 %reg614, 1 ; <i32> [#uses=1]
- br label %bb24
-
-bb24: ; preds = %bb23, %bb22, %bb21
- %reg617 = phi i32 [ %reg616, %bb23 ], [ %reg614, %bb22 ], [ %reg614, %bb21 ] ; <i32> [#uses=4]
- %reg323-idxcast = bitcast i32 %reg323 to i32 ; <i32> [#uses=1]
- zext i32 %reg323-idxcast to i64 ; <i64>:26 [#uses=1]
- %reg370 = getelementptr i32* %weight, i64 %26 ; <i32*> [#uses=1]
- %reg617-idxcast = bitcast i32 %reg617 to i32 ; <i32> [#uses=1]
- zext i32 %reg617-idxcast to i64 ; <i64>:27 [#uses=1]
- %reg377 = getelementptr i32* %heap, i64 %27 ; <i32*> [#uses=1]
- %reg378 = load i32* %reg377 ; <i32> [#uses=2]
- %reg378-idxcast = bitcast i32 %reg378 to i32 ; <i32> [#uses=1]
- zext i32 %reg378-idxcast to i64 ; <i64>:28 [#uses=1]
- %reg385 = getelementptr i32* %weight, i64 %28 ; <i32*> [#uses=1]
- %reg386 = load i32* %reg370 ; <i32> [#uses=1]
- %reg387 = load i32* %reg385 ; <i32> [#uses=1]
- %cond769 = icmp slt i32 %reg386, %reg387 ; <i1> [#uses=1]
- br i1 %cond769, label %bb26, label %bb25
-
-bb25: ; preds = %bb24
- %reg615-idxcast = bitcast i32 %reg615 to i32 ; <i32> [#uses=1]
- zext i32 %reg615-idxcast to i64 ; <i64>:29 [#uses=1]
- %reg394 = getelementptr i32* %heap, i64 %29 ; <i32*> [#uses=1]
- store i32 %reg378, i32* %reg394
- %reg619 = shl i32 %reg617, 1 ; <i32> [#uses=2]
- %cond770 = icmp sle i32 %reg619, %reg613 ; <i1> [#uses=1]
- br i1 %cond770, label %bb21, label %bb26
-
-bb26: ; preds = %bb25, %bb24, %bb20
- %reg620 = phi i32 [ %reg617, %bb25 ], [ %reg615, %bb24 ], [ 1, %bb20 ] ; <i32> [#uses=1]
- %reg620-idxcast = bitcast i32 %reg620 to i32 ; <i32> [#uses=1]
- zext i32 %reg620-idxcast to i64 ; <i64>:30 [#uses=1]
- %reg409 = getelementptr i32* %heap, i64 %30 ; <i32*> [#uses=1]
- store i32 %reg323, i32* %reg409
- %reg621 = add i32 %reg604, 1 ; <i32> [#uses=5]
- %reg113-idxcast = bitcast i32 %reg113 to i32 ; <i32> [#uses=1]
- zext i32 %reg113-idxcast to i64 ; <i64>:31 [#uses=1]
- %reg416 = getelementptr i32* %parent, i64 %31 ; <i32*> [#uses=1]
- %reg114-idxcast = bitcast i32 %reg114 to i32 ; <i32> [#uses=1]
- zext i32 %reg114-idxcast to i64 ; <i64>:32 [#uses=1]
- %reg423 = getelementptr i32* %parent, i64 %32 ; <i32*> [#uses=1]
- %cast889 = bitcast i32 %reg621 to i32 ; <i32> [#uses=1]
- store i32 %cast889, i32* %reg423
- %cast890 = bitcast i32 %reg621 to i32 ; <i32> [#uses=1]
- store i32 %cast890, i32* %reg416
- %reg604-offset = add i32 %reg604, 1 ; <i32> [#uses=1]
- zext i32 %reg604-offset to i64 ; <i64>:33 [#uses=1]
- %reg431 = getelementptr i32* %weight, i64 %33 ; <i32*> [#uses=1]
- %reg113-idxcast2 = bitcast i32 %reg113 to i32 ; <i32> [#uses=1]
- zext i32 %reg113-idxcast2 to i64 ; <i64>:34 [#uses=1]
- %reg4381 = getelementptr i32* %weight, i64 %34 ; <i32*> [#uses=1]
- %reg439 = load i32* %reg4381 ; <i32> [#uses=2]
- %reg440 = and i32 %reg439, -256 ; <i32> [#uses=1]
- %reg114-idxcast2 = bitcast i32 %reg114 to i32 ; <i32> [#uses=1]
- zext i32 %reg114-idxcast2 to i64 ; <i64>:35 [#uses=1]
- %reg4471 = getelementptr i32* %weight, i64 %35 ; <i32*> [#uses=1]
- %reg448 = load i32* %reg4471 ; <i32> [#uses=2]
- %reg449 = and i32 %reg448, -256 ; <i32> [#uses=1]
- %reg450 = add i32 %reg440, %reg449 ; <i32> [#uses=1]
- %reg460 = and i32 %reg439, 255 ; <i32> [#uses=2]
- %reg451 = and i32 %reg448, 255 ; <i32> [#uses=2]
- %cond771 = icmp sge i32 %reg451, %reg460 ; <i1> [#uses=1]
- br i1 %cond771, label %bb28, label %bb27
-
-bb27: ; preds = %bb26
- br label %bb28
-
-bb28: ; preds = %bb27, %bb26
- %reg623 = phi i32 [ %reg460, %bb27 ], [ %reg451, %bb26 ] ; <i32> [#uses=1]
- %reg469 = add i32 %reg623, 1 ; <i32> [#uses=1]
- %reg470 = or i32 %reg450, %reg469 ; <i32> [#uses=1]
- store i32 %reg470, i32* %reg431
- %reg604-offset1 = add i32 %reg604, 1 ; <i32> [#uses=1]
- zext i32 %reg604-offset1 to i64 ; <i64>:36 [#uses=1]
- %reg4771 = getelementptr i32* %parent, i64 %36 ; <i32*> [#uses=1]
- store i32 -1, i32* %reg4771
- %reg624 = add i32 %reg613, 1 ; <i32> [#uses=2]
- %reg603-idxcast2 = bitcast i32 %reg603 to i32 ; <i32> [#uses=1]
- %reg603-idxcast2-offset = add i32 %reg603-idxcast2, 1073741823 ; <i32> [#uses=1]
- zext i32 %reg603-idxcast2-offset to i64 ; <i64>:37 [#uses=1]
- %reg485 = getelementptr i32* %heap, i64 %37 ; <i32*> [#uses=1]
- %cast902 = bitcast i32 %reg621 to i32 ; <i32> [#uses=1]
- store i32 %cast902, i32* %reg485
- br label %bb30
-
-bb29: ; preds = %bb30
- %reg625-idxcast = bitcast i32 %reg625 to i32 ; <i32> [#uses=1]
- zext i32 %reg625-idxcast to i64 ; <i64>:38 [#uses=1]
- %reg526 = getelementptr i32* %heap, i64 %38 ; <i32*> [#uses=1]
- store i32 %reg510, i32* %reg526
- br label %bb30
-
-bb30: ; preds = %bb29, %bb28
- %reg625 = phi i32 [ %reg502, %bb29 ], [ %reg624, %bb28 ] ; <i32> [#uses=3]
- %reg604-offset2 = add i32 %reg604, 1 ; <i32> [#uses=1]
- zext i32 %reg604-offset2 to i64 ; <i64>:39 [#uses=1]
- %reg501 = getelementptr i32* %weight, i64 %39 ; <i32*> [#uses=1]
- %reg502 = ashr i32 %reg625, 1 ; <i32> [#uses=2]
- %reg502-idxcast = bitcast i32 %reg502 to i32 ; <i32> [#uses=1]
- zext i32 %reg502-idxcast to i64 ; <i64>:40 [#uses=1]
- %reg509 = getelementptr i32* %heap, i64 %40 ; <i32*> [#uses=1]
- %reg510 = load i32* %reg509 ; <i32> [#uses=2]
- %reg510-idxcast = bitcast i32 %reg510 to i32 ; <i32> [#uses=1]
- zext i32 %reg510-idxcast to i64 ; <i64>:41 [#uses=1]
- %reg517 = getelementptr i32* %weight, i64 %41 ; <i32*> [#uses=1]
- %reg518 = load i32* %reg501 ; <i32> [#uses=1]
- %reg519 = load i32* %reg517 ; <i32> [#uses=1]
- %cond772 = icmp slt i32 %reg518, %reg519 ; <i1> [#uses=1]
- br i1 %cond772, label %bb29, label %bb31
-
-bb31: ; preds = %bb30
- %reg625-idxcast1 = bitcast i32 %reg625 to i32 ; <i32> [#uses=1]
- zext i32 %reg625-idxcast1 to i64 ; <i64>:42 [#uses=1]
- %reg542 = getelementptr i32* %heap, i64 %42 ; <i32*> [#uses=1]
- %cast916 = bitcast i32 %reg621 to i32 ; <i32> [#uses=1]
- store i32 %cast916, i32* %reg542
- %cond773 = icmp sgt i32 %reg624, 1 ; <i1> [#uses=1]
- br i1 %cond773, label %bb14, label %bb32
-
-bb32: ; preds = %bb31, %bb13
- %reg627 = phi i32 [ %reg621, %bb31 ], [ %cast918, %bb13 ] ; <i32> [#uses=1]
- %cast919 = bitcast i32 %reg627 to i32 ; <i32> [#uses=1]
- %cond774 = icmp sle i32 %cast919, 515 ; <i1> [#uses=1]
- br i1 %cond774, label %bb34, label %bb33
-
-bb33: ; preds = %bb32
- zext i32 0 to i64 ; <i64>:43 [#uses=1]
- zext i32 0 to i64 ; <i64>:44 [#uses=1]
- %cast785 = getelementptr [21 x i8]* @.LC1, i64 %43, i64 %44 ; <i8*> [#uses=1]
- call void @panic( i8* %cast785 )
- br label %bb34
-
-bb34: ; preds = %bb33, %bb32
- %cond775 = icmp sgt i32 1, %reg109 ; <i1> [#uses=1]
- br i1 %cond775, label %bb40, label %bb35
-
-bb35: ; preds = %bb39, %bb34
- %reg629 = phi i8 [ %reg639, %bb39 ], [ 0, %bb34 ] ; <i8> [#uses=1]
- %cann-indvar = phi i32 [ 0, %bb34 ], [ %add1-indvar, %bb39 ] ; <i32> [#uses=4]
- %cann-indvar-casted = bitcast i32 %cann-indvar to i32 ; <i32> [#uses=1]
- %reg630 = add i32 %cann-indvar-casted, 1 ; <i32> [#uses=2]
- %add1-indvar = add i32 %cann-indvar, 1 ; <i32> [#uses=1]
- %cann-indvar-offset1 = add i32 %cann-indvar, 1 ; <i32> [#uses=1]
- zext i32 %cann-indvar-offset1 to i64 ; <i64>:45 [#uses=1]
- %reg589 = getelementptr i32* %parent, i64 %45 ; <i32*> [#uses=1]
- %reg590 = load i32* %reg589 ; <i32> [#uses=1]
- %cond776 = icmp slt i32 %reg590, 0 ; <i1> [#uses=1]
- %parent-idxcast = ptrtoint i32* %parent to i32 ; <i32> [#uses=1]
- %cast948 = bitcast i32 %reg630 to i32 ; <i32> [#uses=1]
- br i1 %cond776, label %bb37, label %bb36
-
-bb36: ; preds = %bb36, %bb35
- %reg632 = phi i32 [ %reg634, %bb36 ], [ %cast948, %bb35 ] ; <i32> [#uses=1]
- %reg633 = phi i32 [ %reg635, %bb36 ], [ 0, %bb35 ] ; <i32> [#uses=3]
- %reg633-casted = inttoptr i32 %reg633 to i8* ; <i8*> [#uses=0]
- %reg631-scale = mul i32 %reg633, 0 ; <i32> [#uses=1]
- %reg631-scale.upgrd.10 = inttoptr i32 %reg631-scale to i8* ; <i8*> [#uses=1]
- zext i32 %parent-idxcast to i64 ; <i64>:46 [#uses=1]
- %reg6311 = getelementptr i8* %reg631-scale.upgrd.10, i64 %46 ; <i8*> [#uses=2]
- %reg632-scale = mul i32 %reg632, 4 ; <i32> [#uses=1]
- zext i32 %reg632-scale to i64 ; <i64>:47 [#uses=1]
- %reg5581 = getelementptr i8* %reg6311, i64 %47 ; <i8*> [#uses=1]
- %cast924 = bitcast i8* %reg5581 to i32* ; <i32*> [#uses=1]
- %reg634 = load i32* %cast924 ; <i32> [#uses=2]
- %reg635 = add i32 %reg633, 1 ; <i32> [#uses=2]
- %reg634-scale = mul i32 %reg634, 4 ; <i32> [#uses=1]
- zext i32 %reg634-scale to i64 ; <i64>:48 [#uses=1]
- %reg5501 = getelementptr i8* %reg6311, i64 %48 ; <i8*> [#uses=1]
- %cast925 = bitcast i8* %reg5501 to i32* ; <i32*> [#uses=1]
- %reg551 = load i32* %cast925 ; <i32> [#uses=1]
- %cond777 = icmp sge i32 %reg551, 0 ; <i1> [#uses=1]
- br i1 %cond777, label %bb36, label %bb37
-
-bb37: ; preds = %bb36, %bb35
- %reg637 = phi i32 [ %reg635, %bb36 ], [ 0, %bb35 ] ; <i32> [#uses=2]
- %cast928 = bitcast i32 %reg637 to i32 ; <i32> [#uses=1]
- %cann-indvar-offset = add i32 %cann-indvar, 1 ; <i32> [#uses=1]
- zext i32 %cann-indvar-offset to i64 ; <i64>:49 [#uses=1]
- %reg561 = getelementptr i8* %reg107, i64 %49 ; <i8*> [#uses=1]
- zext i32 -1 to i64 ; <i64>:50 [#uses=1]
- %reg778 = getelementptr i8* %reg561, i64 %50 ; <i8*> [#uses=1]
- %cast788 = trunc i32 %reg637 to i8 ; <i8> [#uses=1]
- store i8 %cast788, i8* %reg778
- %cond779 = icmp sle i32 %cast928, %reg110 ; <i1> [#uses=1]
- br i1 %cond779, label %bb39, label %bb38
-
-bb38: ; preds = %bb37
- br label %bb39
-
-bb39: ; preds = %bb38, %bb37
- %reg639 = phi i8 [ 1, %bb38 ], [ %reg629, %bb37 ] ; <i8> [#uses=2]
- %reg640 = add i32 %reg630, 1 ; <i32> [#uses=1]
- %cond780 = icmp sle i32 %reg640, %reg109 ; <i1> [#uses=1]
- br i1 %cond780, label %bb35, label %bb40
-
-bb40: ; preds = %bb39, %bb34
- %reg641 = phi i8 [ %reg639, %bb39 ], [ 0, %bb34 ] ; <i8> [#uses=1]
- %cond781 = icmp eq i8 %reg641, 0 ; <i1> [#uses=1]
- br i1 %cond781, label %bb44, label %bb41
-
-bb41: ; preds = %bb40
- %cond782 = icmp sge i32 1, %reg109 ; <i1> [#uses=1]
- br i1 %cond782, label %bb6, label %bb42
-
-bb42: ; preds = %bb42, %bb41
- %cann-indvar2 = phi i32 [ 0, %bb41 ], [ %add1-indvar2, %bb42 ] ; <i32> [#uses=3]
- %reg643 = add i32 %cann-indvar2, 1 ; <i32> [#uses=1]
- %add1-indvar2 = add i32 %cann-indvar2, 1 ; <i32> [#uses=1]
- %cann-indvar2-idxcast = bitcast i32 %cann-indvar2 to i32 ; <i32> [#uses=1]
- %cann-indvar2-idxcast-offset = add i32 %cann-indvar2-idxcast, 1 ; <i32> [#uses=1]
- zext i32 %cann-indvar2-idxcast-offset to i64 ; <i64>:51 [#uses=1]
- %reg569 = getelementptr i32* %weight, i64 %51 ; <i32*> [#uses=2]
- %reg570 = load i32* %reg569 ; <i32> [#uses=2]
- %reg644 = ashr i32 %reg570, 8 ; <i32> [#uses=1]
- %reg572 = ashr i32 %reg570, 31 ; <i32> [#uses=1]
- %cast933 = bitcast i32 %reg572 to i32 ; <i32> [#uses=1]
- %reg573 = lshr i32 %cast933, 31 ; <i32> [#uses=1]
- %cast934 = bitcast i32 %reg573 to i32 ; <i32> [#uses=1]
- %reg574 = add i32 %reg644, %cast934 ; <i32> [#uses=1]
- %reg571 = ashr i32 %reg574, 1 ; <i32> [#uses=1]
- %reg645 = add i32 %reg571, 1 ; <i32> [#uses=1]
- %reg582 = shl i32 %reg645, 8 ; <i32> [#uses=1]
- store i32 %reg582, i32* %reg569
- %reg646 = add i32 %reg643, 1 ; <i32> [#uses=1]
- %cond783 = icmp slt i32 %reg646, %reg109 ; <i1> [#uses=1]
- br i1 %cond783, label %bb42, label %bb43
-
-bb43: ; preds = %bb42
- br label %bb6
-
-bb44: ; preds = %bb40
- ret void
-}
-
-declare void @panic(i8*)
diff --git a/test/Transforms/InstCombine/2002-09-17-GetElementPtrCrash.ll b/test/Transforms/InstCombine/2002-09-17-GetElementPtrCrash.ll
deleted file mode 100644
index 5b127d7b79382..0000000000000
--- a/test/Transforms/InstCombine/2002-09-17-GetElementPtrCrash.ll
+++ /dev/null
@@ -1,12 +0,0 @@
-; RUN: llvm-as < %s | opt -instcombine
-
- %bob = type { i32 }
-
-define i32 @alias() {
- %pbob1 = alloca %bob ; <%bob*> [#uses=1]
- %pbob2 = getelementptr %bob* %pbob1 ; <%bob*> [#uses=1]
- %pbobel = getelementptr %bob* %pbob2, i64 0, i32 0 ; <i32*> [#uses=1]
- %rval = load i32* %pbobel ; <i32> [#uses=1]
- ret i32 %rval
-}
-
diff --git a/test/Transforms/InstCombine/2003-06-22-ConstantExprCrash.ll b/test/Transforms/InstCombine/2003-06-22-ConstantExprCrash.ll
deleted file mode 100644
index d6cacece08900..0000000000000
--- a/test/Transforms/InstCombine/2003-06-22-ConstantExprCrash.ll
+++ /dev/null
@@ -1,13 +0,0 @@
-; This is a bug in the VMcode library, not instcombine, it's just convenient
-; to expose it here.
-
-; RUN: llvm-as < %s | opt -instcombine -disable-output
-
-@A = global i32 1 ; <i32*> [#uses=1]
-@B = global i32 2 ; <i32*> [#uses=1]
-
-define i1 @test() {
- %C = icmp ult i32* getelementptr (i32* @A, i64 1), getelementptr (i32* @B, i64 2) ; <i1> [#uses=1]
- ret i1 %C
-}
-
diff --git a/test/Transforms/InstCombine/2003-10-23-InstcombineNullFail.ll b/test/Transforms/InstCombine/2003-10-23-InstcombineNullFail.ll
deleted file mode 100644
index 7daf7cb632bb5..0000000000000
--- a/test/Transforms/InstCombine/2003-10-23-InstcombineNullFail.ll
+++ /dev/null
@@ -1,12 +0,0 @@
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep false
-;
-; This actually looks like a constant propagation bug
-
-%X = type { [10 x i32], float }
-
-define i1 @test() {
- %A = getelementptr %X* null, i64 0, i32 0, i64 0 ; <i32*> [#uses=1]
- %B = icmp ne i32* %A, null ; <i1> [#uses=1]
- ret i1 %B
-}
-
diff --git a/test/Transforms/InstCombine/2004-12-08-InstCombineCrash.ll b/test/Transforms/InstCombine/2004-12-08-InstCombineCrash.ll
deleted file mode 100644
index 5908205203e80..0000000000000
--- a/test/Transforms/InstCombine/2004-12-08-InstCombineCrash.ll
+++ /dev/null
@@ -1,14 +0,0 @@
-; RUN: llvm-as %s -o - | opt -instcombine
-
-
-%"java/lang/Object" = type { %struct.llvm_java_object_base }
-%"java/lang/StringBuffer" = type { %"java/lang/Object", i32, { %"java/lang/Object", i32, [0 x i16] }*, i1 }
-%struct.llvm_java_object_base = type opaque
-
-define void @"java/lang/StringBuffer/append(Ljava/lang/String;)Ljava/lang/StringBuffer;"() {
-bc0:
- %tmp53 = getelementptr %"java/lang/StringBuffer"* null, i32 0, i32 1 ; <i32*> [#uses=1]
- store i32 0, i32* %tmp53
- ret void
-}
-
diff --git a/test/Transforms/InstCombine/2006-02-07-SextZextCrash.ll b/test/Transforms/InstCombine/2006-02-07-SextZextCrash.ll
deleted file mode 100644
index d7df5a01fb4c5..0000000000000
--- a/test/Transforms/InstCombine/2006-02-07-SextZextCrash.ll
+++ /dev/null
@@ -1,21 +0,0 @@
-; RUN: llvm-as < %s | opt -instcombine -disable-output
-
- %struct.rtx_const = type { i32, { %union.real_extract } }
- %struct.rtx_def = type { i32, [1 x %union.rtunion_def] }
- %union.real_extract = type { double }
- %union.rtunion_def = type { i32 }
-
-define fastcc void @decode_rtx_const(%struct.rtx_def* %x, %struct.rtx_const* %value) {
- %tmp.54 = getelementptr %struct.rtx_const* %value, i32 0, i32 0 ; <i32*> [#uses=1]
- %tmp.56 = getelementptr %struct.rtx_def* %x, i32 0, i32 0 ; <i32*> [#uses=1]
- %tmp.57 = load i32* %tmp.56 ; <i32> [#uses=1]
- %tmp.58 = shl i32 %tmp.57, 8 ; <i32> [#uses=1]
- %tmp.59 = ashr i32 %tmp.58, 24 ; <i32> [#uses=1]
- %tmp.60 = trunc i32 %tmp.59 to i16 ; <i16> [#uses=1]
- %tmp.61 = zext i16 %tmp.60 to i32 ; <i32> [#uses=1]
- %tmp.62 = shl i32 %tmp.61, 16 ; <i32> [#uses=1]
- %tmp.65 = or i32 0, %tmp.62 ; <i32> [#uses=1]
- store i32 %tmp.65, i32* %tmp.54
- ret void
-}
-
diff --git a/test/Transforms/InstCombine/2006-04-01-InfLoop.ll b/test/Transforms/InstCombine/2006-04-01-InfLoop.ll
deleted file mode 100644
index 6ea3d111203a7..0000000000000
--- a/test/Transforms/InstCombine/2006-04-01-InfLoop.ll
+++ /dev/null
@@ -1,444 +0,0 @@
-; RUN: llvm-as < %s | opt -instcombine -disable-output
-; END.
- %struct.DecRefPicMarking_s = type { i32, i32, i32, i32, i32, %struct.DecRefPicMarking_s* }
- %struct.datapartition = type { %typedef.Bitstream*, %typedef.DecodingEnvironment, i32 (%struct.syntaxelement*, %struct.img_par*, %struct.inp_par*, %struct.datapartition*)* }
- %struct.img_par = type { i32, i32, i32, i32, i32*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [16 x [16 x i16]], [6 x [32 x i32]], [16 x [16 x i32]], [4 x [12 x [4 x [4 x i32]]]], [16 x i32], i32**, i32*, i32***, i32**, i32, i32, i32, i32, %typedef.Slice*, %struct.macroblock*, i32, i32, i32, i32, i32, i32, i32**, %struct.DecRefPicMarking_s*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [3 x i32], i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32***, i32***, i32****, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, %struct.timeb, %struct.timeb, i32, i32, i32, i32, i32, i32, i32, i32 }
- %struct.inp_par = type { [100 x i8], [100 x i8], [100 x i8], i32, i32, i32, i32, i32, i32, i32 }
- %struct.macroblock = type { i32, i32, i32, %struct.macroblock*, %struct.macroblock*, i32, [2 x [4 x [4 x [2 x i32]]]], i32, i64, i64, i32, i32, [4 x i32], [4 x i32], i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }
- %struct.pix_pos = type { i32, i32, i32, i32, i32, i32 }
- %struct.storable_picture = type { i32, i32, i32, i32, i32, [50 x [6 x [33 x i64]]], [50 x [6 x [33 x i64]]], [50 x [6 x [33 x i64]]], [50 x [6 x [33 x i64]]], i32, i32, i32, i32, i32, i32, i32, i32, i16, i32, i32, i32, i32, i32, i32, i32, i32, i32, i16**, i16***, i8*, i16**, i8***, i64***, i64***, i16****, i8**, i8**, %struct.storable_picture*, %struct.storable_picture*, %struct.storable_picture*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [2 x i32], i32, %struct.DecRefPicMarking_s*, i32 }
- %struct.syntaxelement = type { i32, i32, i32, i32, i32, i32, i32, i32, void (i32, i32, i32*, i32*)*, void (%struct.syntaxelement*, %struct.inp_par*, %struct.img_par*, %typedef.DecodingEnvironment*)* }
- %struct.timeb = type { i32, i16, i16, i16 }
- %typedef.BiContextType = type { i16, i8 }
- %typedef.Bitstream = type { i32, i32, i32, i32, i8*, i32 }
- %typedef.DecodingEnvironment = type { i32, i32, i32, i32, i32, i8*, i32* }
- %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 { i32, i32, i32, i32, i32, i32, i32, i32, i32, %struct.datapartition*, %typedef.MotionInfoContexts*, %typedef.TextureInfoContexts*, i32, i32*, i32*, i32*, i32, i32*, i32*, i32*, i32 (%struct.img_par*, %struct.inp_par*)*, i32, i32, i32, i32 }
- %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 i32 ; <i32*> [#uses=1]
-
-define 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, i32 0, i32 37 ; <%typedef.Slice**> [#uses=1]
- %tmp.2 = load %typedef.Slice** %tmp.1 ; <%typedef.Slice*> [#uses=1]
- %tmp.3 = getelementptr %typedef.Slice* %tmp.2, i32 0, i32 11 ; <%typedef.TextureInfoContexts**> [#uses=1]
- %tmp.4 = load %typedef.TextureInfoContexts** %tmp.3 ; <%typedef.TextureInfoContexts*> [#uses=3]
- %tmp.6 = getelementptr %struct.img_par* %img.1, i32 0, i32 38 ; <%struct.macroblock**> [#uses=1]
- %tmp.7 = load %struct.macroblock** %tmp.6 ; <%struct.macroblock*> [#uses=1]
- %tmp.9 = getelementptr %struct.img_par* %img.1, i32 0, i32 1 ; <i32*> [#uses=1]
- %tmp.10 = load i32* %tmp.9 ; <i32> [#uses=1]
- %tmp.11 = bitcast i32 %tmp.10 to i32 ; <i32> [#uses=1]
- %tmp.12 = getelementptr %struct.macroblock* %tmp.7, i32 %tmp.11 ; <%struct.macroblock*> [#uses=18]
- br label %loopentry.0
-
-loopentry.0: ; preds = %loopexit.1, %entry
- %mask.1 = phi i32 [ undef, %entry ], [ %mask.0, %loopexit.1 ] ; <i32> [#uses=1]
- %cbp_bit.1 = phi i32 [ undef, %entry ], [ %cbp_bit.0, %loopexit.1 ] ; <i32> [#uses=1]
- %cbp.2 = phi i32 [ 0, %entry ], [ %cbp.1, %loopexit.1 ] ; <i32> [#uses=5]
- %curr_cbp_ctx.1 = phi i32 [ undef, %entry ], [ %curr_cbp_ctx.0, %loopexit.1 ] ; <i32> [#uses=1]
- %b.2 = phi i32 [ undef, %entry ], [ %b.1, %loopexit.1 ] ; <i32> [#uses=1]
- %a.2 = phi i32 [ undef, %entry ], [ %a.1, %loopexit.1 ] ; <i32> [#uses=1]
- %mb_y.0 = phi i32 [ 0, %entry ], [ %tmp.152, %loopexit.1 ] ; <i32> [#uses=7]
- %mb_x.0 = phi i32 [ undef, %entry ], [ %mb_x.1, %loopexit.1 ] ; <i32> [#uses=0]
- %tmp.14 = icmp sle i32 %mb_y.0, 3 ; <i1> [#uses=2]
- %tmp.15 = zext i1 %tmp.14 to i32 ; <i32> [#uses=0]
- br i1 %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 i32 [ %mask.1, %no_exit.0 ], [ %tmp.131, %endif.7 ] ; <i32> [#uses=1]
- %cbp_bit.0 = phi i32 [ %cbp_bit.1, %no_exit.0 ], [ %tmp.142, %endif.7 ] ; <i32> [#uses=1]
- %cbp.1 = phi i32 [ %cbp.2, %no_exit.0 ], [ %cbp.0, %endif.7 ] ; <i32> [#uses=5]
- %curr_cbp_ctx.0 = phi i32 [ %curr_cbp_ctx.1, %no_exit.0 ], [ %tmp.125, %endif.7 ] ; <i32> [#uses=1]
- %b.1 = phi i32 [ %b.2, %no_exit.0 ], [ %b.0, %endif.7 ] ; <i32> [#uses=1]
- %a.1 = phi i32 [ %a.2, %no_exit.0 ], [ %a.0, %endif.7 ] ; <i32> [#uses=1]
- %mb_x.1 = phi i32 [ 0, %no_exit.0 ], [ %tmp.150, %endif.7 ] ; <i32> [#uses=9]
- %tmp.17 = icmp sle i32 %mb_x.1, 3 ; <i1> [#uses=2]
- %tmp.18 = zext i1 %tmp.17 to i32 ; <i32> [#uses=0]
- br i1 %tmp.17, label %no_exit.1, label %loopexit.1
-
-no_exit.1: ; preds = %loopentry.1
- %tmp.20 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 12 ; <[4 x i32]*> [#uses=1]
- %tmp.22 = sdiv i32 %mb_x.1, 2 ; <i32> [#uses=1]
- %tmp.24 = add i32 %tmp.22, %mb_y.0 ; <i32> [#uses=1]
- %tmp.25 = getelementptr [4 x i32]* %tmp.20, i32 0, i32 %tmp.24 ; <i32*> [#uses=1]
- %tmp.26 = load i32* %tmp.25 ; <i32> [#uses=1]
- %tmp.27 = icmp eq i32 %tmp.26, 11 ; <i1> [#uses=2]
- %tmp.28 = zext i1 %tmp.27 to i32 ; <i32> [#uses=0]
- br i1 %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 = icmp eq i32 %mb_y.0, 0 ; <i1> [#uses=2]
- %tmp.31 = zext i1 %tmp.30 to i32 ; <i32> [#uses=0]
- br i1 %tmp.30, label %then.1, label %else.1
-
-then.1: ; preds = %endif.0
- %tmp.33 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 3 ; <%struct.macroblock**> [#uses=1]
- %tmp.34 = load %struct.macroblock** %tmp.33 ; <%struct.macroblock*> [#uses=1]
- %tmp.35 = bitcast %struct.macroblock* %tmp.34 to i8* ; <i8*> [#uses=1]
- %tmp.36 = icmp eq i8* %tmp.35, null ; <i1> [#uses=2]
- %tmp.37 = zext i1 %tmp.36 to i32 ; <i32> [#uses=0]
- br i1 %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, i32 0, i32 3 ; <%struct.macroblock**> [#uses=1]
- %tmp.40 = load %struct.macroblock** %tmp.39 ; <%struct.macroblock*> [#uses=1]
- %tmp.41 = getelementptr %struct.macroblock* %tmp.40, i32 0, i32 5 ; <i32*> [#uses=1]
- %tmp.42 = load i32* %tmp.41 ; <i32> [#uses=1]
- %tmp.43 = icmp eq i32 %tmp.42, 14 ; <i1> [#uses=2]
- %tmp.44 = zext i1 %tmp.43 to i32 ; <i32> [#uses=0]
- br i1 %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, i32 0, i32 3 ; <%struct.macroblock**> [#uses=1]
- %tmp.47 = load %struct.macroblock** %tmp.46 ; <%struct.macroblock*> [#uses=1]
- %tmp.48 = getelementptr %struct.macroblock* %tmp.47, i32 0, i32 7 ; <i32*> [#uses=1]
- %tmp.49 = load i32* %tmp.48 ; <i32> [#uses=1]
- %tmp.51 = sdiv i32 %mb_x.1, 2 ; <i32> [#uses=1]
- %tmp.52 = add i32 %tmp.51, 2 ; <i32> [#uses=1]
- %tmp.53 = trunc i32 %tmp.52 to i8 ; <i8> [#uses=1]
- %shift.upgrd.1 = zext i8 %tmp.53 to i32 ; <i32> [#uses=1]
- %tmp.54 = ashr i32 %tmp.49, %shift.upgrd.1 ; <i32> [#uses=1]
- %tmp.55 = bitcast i32 %tmp.54 to i32 ; <i32> [#uses=1]
- %tmp.57 = xor i32 %tmp.55, 1 ; <i32> [#uses=1]
- %tmp.58 = bitcast i32 %tmp.57 to i32 ; <i32> [#uses=1]
- %tmp.59 = and i32 %tmp.58, 1 ; <i32> [#uses=1]
- br label %endif.1
-
-else.1: ; preds = %endif.0
- %tmp.62 = sdiv i32 %mb_x.1, 2 ; <i32> [#uses=1]
- %tmp.63 = trunc i32 %tmp.62 to i8 ; <i8> [#uses=1]
- %shift.upgrd.2 = zext i8 %tmp.63 to i32 ; <i32> [#uses=1]
- %tmp.64 = ashr i32 %cbp.1, %shift.upgrd.2 ; <i32> [#uses=1]
- %tmp.65 = bitcast i32 %tmp.64 to i32 ; <i32> [#uses=1]
- %tmp.67 = xor i32 %tmp.65, 1 ; <i32> [#uses=1]
- %tmp.68 = bitcast i32 %tmp.67 to i32 ; <i32> [#uses=1]
- %tmp.69 = and i32 %tmp.68, 1 ; <i32> [#uses=1]
- br label %endif.1
-
-endif.1: ; preds = %else.1, %else.3, %then.3, %then.2
- %b.0 = phi i32 [ 0, %then.2 ], [ 0, %then.3 ], [ %tmp.59, %else.3 ], [ %tmp.69, %else.1 ] ; <i32> [#uses=2]
- %tmp.71 = icmp eq i32 %mb_x.1, 0 ; <i1> [#uses=2]
- %tmp.72 = zext i1 %tmp.71 to i32 ; <i32> [#uses=0]
- br i1 %tmp.71, label %then.4, label %else.4
-
-then.4: ; preds = %endif.1
- %tmp.74 = getelementptr %struct.img_par* %img.1, i32 0, i32 1 ; <i32*> [#uses=1]
- %tmp.75 = load i32* %tmp.74 ; <i32> [#uses=1]
- %tmp.76 = bitcast i32 %tmp.75 to i32 ; <i32> [#uses=1]
- call void @getLuma4x4Neighbour( i32 %tmp.76, i32 %mb_x.1, i32 %mb_y.0, i32 -1, i32 0, %struct.pix_pos* %block_a )
- %tmp.79 = getelementptr %struct.pix_pos* %block_a, i32 0, i32 0 ; <i32*> [#uses=1]
- %tmp.80 = load i32* %tmp.79 ; <i32> [#uses=1]
- %tmp.81 = icmp ne i32 %tmp.80, 0 ; <i1> [#uses=2]
- %tmp.82 = zext i1 %tmp.81 to i32 ; <i32> [#uses=0]
- br i1 %tmp.81, label %then.5, label %else.5
-
-then.5: ; preds = %then.4
- %tmp.84 = getelementptr %struct.img_par* %img.1, i32 0, i32 38 ; <%struct.macroblock**> [#uses=1]
- %tmp.85 = load %struct.macroblock** %tmp.84 ; <%struct.macroblock*> [#uses=1]
- %tmp.86 = getelementptr %struct.pix_pos* %block_a, i32 0, i32 1 ; <i32*> [#uses=1]
- %tmp.87 = load i32* %tmp.86 ; <i32> [#uses=1]
- %tmp.88 = getelementptr %struct.macroblock* %tmp.85, i32 %tmp.87 ; <%struct.macroblock*> [#uses=1]
- %tmp.89 = getelementptr %struct.macroblock* %tmp.88, i32 0, i32 5 ; <i32*> [#uses=1]
- %tmp.90 = load i32* %tmp.89 ; <i32> [#uses=1]
- %tmp.91 = icmp eq i32 %tmp.90, 14 ; <i1> [#uses=2]
- %tmp.92 = zext i1 %tmp.91 to i32 ; <i32> [#uses=0]
- br i1 %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, i32 0, i32 38 ; <%struct.macroblock**> [#uses=1]
- %tmp.95 = load %struct.macroblock** %tmp.94 ; <%struct.macroblock*> [#uses=1]
- %tmp.96 = getelementptr %struct.pix_pos* %block_a, i32 0, i32 1 ; <i32*> [#uses=1]
- %tmp.97 = load i32* %tmp.96 ; <i32> [#uses=1]
- %tmp.98 = getelementptr %struct.macroblock* %tmp.95, i32 %tmp.97 ; <%struct.macroblock*> [#uses=1]
- %tmp.99 = getelementptr %struct.macroblock* %tmp.98, i32 0, i32 7 ; <i32*> [#uses=1]
- %tmp.100 = load i32* %tmp.99 ; <i32> [#uses=1]
- %tmp.101 = getelementptr %struct.pix_pos* %block_a, i32 0, i32 3 ; <i32*> [#uses=1]
- %tmp.102 = load i32* %tmp.101 ; <i32> [#uses=1]
- %tmp.103 = sdiv i32 %tmp.102, 2 ; <i32> [#uses=1]
- %tmp.104 = mul i32 %tmp.103, 2 ; <i32> [#uses=1]
- %tmp.105 = add i32 %tmp.104, 1 ; <i32> [#uses=1]
- %tmp.106 = trunc i32 %tmp.105 to i8 ; <i8> [#uses=1]
- %shift.upgrd.3 = zext i8 %tmp.106 to i32 ; <i32> [#uses=1]
- %tmp.107 = ashr i32 %tmp.100, %shift.upgrd.3 ; <i32> [#uses=1]
- %tmp.108 = bitcast i32 %tmp.107 to i32 ; <i32> [#uses=1]
- %tmp.110 = xor i32 %tmp.108, 1 ; <i32> [#uses=1]
- %tmp.111 = bitcast i32 %tmp.110 to i32 ; <i32> [#uses=1]
- %tmp.112 = and i32 %tmp.111, 1 ; <i32> [#uses=1]
- br label %endif.4
-
-else.5: ; preds = %then.4
- br label %endif.4
-
-else.4: ; preds = %endif.1
- %tmp.115 = trunc i32 %mb_y.0 to i8 ; <i8> [#uses=1]
- %shift.upgrd.4 = zext i8 %tmp.115 to i32 ; <i32> [#uses=1]
- %tmp.116 = ashr i32 %cbp.1, %shift.upgrd.4 ; <i32> [#uses=1]
- %tmp.117 = bitcast i32 %tmp.116 to i32 ; <i32> [#uses=1]
- %tmp.119 = xor i32 %tmp.117, 1 ; <i32> [#uses=1]
- %tmp.120 = bitcast i32 %tmp.119 to i32 ; <i32> [#uses=1]
- %tmp.121 = and i32 %tmp.120, 1 ; <i32> [#uses=1]
- br label %endif.4
-
-endif.4: ; preds = %else.4, %else.5, %else.6, %then.6
- %a.0 = phi i32 [ 0, %then.6 ], [ %tmp.112, %else.6 ], [ 0, %else.5 ], [ %tmp.121, %else.4 ] ; <i32> [#uses=2]
- %tmp.123 = mul i32 %b.0, 2 ; <i32> [#uses=1]
- %tmp.125 = add i32 %tmp.123, %a.0 ; <i32> [#uses=2]
- %tmp.127 = sdiv i32 %mb_x.1, 2 ; <i32> [#uses=1]
- %tmp.129 = add i32 %tmp.127, %mb_y.0 ; <i32> [#uses=1]
- %tmp.130 = trunc i32 %tmp.129 to i8 ; <i8> [#uses=1]
- %shift.upgrd.5 = zext i8 %tmp.130 to i32 ; <i32> [#uses=1]
- %tmp.131 = shl i32 1, %shift.upgrd.5 ; <i32> [#uses=2]
- %tmp.135 = getelementptr %typedef.TextureInfoContexts* %tmp.4, i32 0, i32 2 ; <[3 x [4 x %typedef.BiContextType]]*> [#uses=1]
- %tmp.136 = getelementptr [3 x [4 x %typedef.BiContextType]]* %tmp.135, i32 0, i32 0 ; <[4 x %typedef.BiContextType]*> [#uses=1]
- %tmp.137 = getelementptr [4 x %typedef.BiContextType]* %tmp.136, i32 0, i32 0 ; <%typedef.BiContextType*> [#uses=1]
- %tmp.139 = bitcast i32 %tmp.125 to i32 ; <i32> [#uses=1]
- %tmp.140 = bitcast i32 %tmp.139 to i32 ; <i32> [#uses=1]
- %tmp.141 = getelementptr %typedef.BiContextType* %tmp.137, i32 %tmp.140 ; <%typedef.BiContextType*> [#uses=1]
- %tmp.132 = call i32 @biari_decode_symbol( %typedef.DecodingEnvironment* %dep_dp, %typedef.BiContextType* %tmp.141 ) ; <i32> [#uses=1]
- %tmp.142 = bitcast i32 %tmp.132 to i32 ; <i32> [#uses=2]
- %tmp.144 = icmp ne i32 %tmp.142, 0 ; <i1> [#uses=2]
- %tmp.145 = zext i1 %tmp.144 to i32 ; <i32> [#uses=0]
- br i1 %tmp.144, label %then.7, label %endif.7
-
-then.7: ; preds = %endif.4
- %tmp.148 = add i32 %cbp.1, %tmp.131 ; <i32> [#uses=1]
- br label %endif.7
-
-endif.7: ; preds = %then.7, %endif.4
- %cbp.0 = phi i32 [ %tmp.148, %then.7 ], [ %cbp.1, %endif.4 ] ; <i32> [#uses=1]
- %tmp.150 = add i32 %mb_x.1, 2 ; <i32> [#uses=1]
- br label %loopentry.1
-
-loopexit.1: ; preds = %loopentry.1
- %tmp.152 = add i32 %mb_y.0, 2 ; <i32> [#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, i32 0, i32 45 ; <i32*> [#uses=1]
- %tmp.155 = load i32* %tmp.154 ; <i32> [#uses=1]
- %tmp.156 = icmp ne i32 %tmp.155, 0 ; <i1> [#uses=2]
- %tmp.157 = zext i1 %tmp.156 to i32 ; <i32> [#uses=0]
- br i1 %tmp.156, label %then.8, label %endif.8
-
-then.8: ; preds = %loopexit.0
- %tmp.159 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 3 ; <%struct.macroblock**> [#uses=1]
- %tmp.160 = load %struct.macroblock** %tmp.159 ; <%struct.macroblock*> [#uses=1]
- %tmp.161 = bitcast %struct.macroblock* %tmp.160 to i8* ; <i8*> [#uses=1]
- %tmp.162 = icmp ne i8* %tmp.161, null ; <i1> [#uses=2]
- %tmp.163 = zext i1 %tmp.162 to i32 ; <i32> [#uses=0]
- br i1 %tmp.162, label %then.9, label %endif.9
-
-then.9: ; preds = %then.8
- %tmp.165 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 3 ; <%struct.macroblock**> [#uses=1]
- %tmp.166 = load %struct.macroblock** %tmp.165 ; <%struct.macroblock*> [#uses=1]
- %tmp.167 = getelementptr %struct.macroblock* %tmp.166, i32 0, i32 5 ; <i32*> [#uses=1]
- %tmp.168 = load i32* %tmp.167 ; <i32> [#uses=1]
- %tmp.169 = icmp eq i32 %tmp.168, 14 ; <i1> [#uses=2]
- %tmp.170 = zext i1 %tmp.169 to i32 ; <i32> [#uses=0]
- br i1 %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, i32 0, i32 3 ; <%struct.macroblock**> [#uses=1]
- %tmp.173 = load %struct.macroblock** %tmp.172 ; <%struct.macroblock*> [#uses=1]
- %tmp.174 = getelementptr %struct.macroblock* %tmp.173, i32 0, i32 7 ; <i32*> [#uses=1]
- %tmp.175 = load i32* %tmp.174 ; <i32> [#uses=1]
- %tmp.176 = icmp sgt i32 %tmp.175, 15 ; <i1> [#uses=1]
- %tmp.177 = zext i1 %tmp.176 to i32 ; <i32> [#uses=1]
- br label %endif.9
-
-endif.9: ; preds = %else.7, %then.10, %then.8
- %b.4 = phi i32 [ 1, %then.10 ], [ %tmp.177, %else.7 ], [ 0, %then.8 ] ; <i32> [#uses=1]
- %tmp.179 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 4 ; <%struct.macroblock**> [#uses=1]
- %tmp.180 = load %struct.macroblock** %tmp.179 ; <%struct.macroblock*> [#uses=1]
- %tmp.181 = bitcast %struct.macroblock* %tmp.180 to i8* ; <i8*> [#uses=1]
- %tmp.182 = icmp ne i8* %tmp.181, null ; <i1> [#uses=2]
- %tmp.183 = zext i1 %tmp.182 to i32 ; <i32> [#uses=0]
- br i1 %tmp.182, label %then.11, label %endif.11
-
-then.11: ; preds = %endif.9
- %tmp.185 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 4 ; <%struct.macroblock**> [#uses=1]
- %tmp.186 = load %struct.macroblock** %tmp.185 ; <%struct.macroblock*> [#uses=1]
- %tmp.187 = getelementptr %struct.macroblock* %tmp.186, i32 0, i32 5 ; <i32*> [#uses=1]
- %tmp.188 = load i32* %tmp.187 ; <i32> [#uses=1]
- %tmp.189 = icmp eq i32 %tmp.188, 14 ; <i1> [#uses=2]
- %tmp.190 = zext i1 %tmp.189 to i32 ; <i32> [#uses=0]
- br i1 %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, i32 0, i32 4 ; <%struct.macroblock**> [#uses=1]
- %tmp.193 = load %struct.macroblock** %tmp.192 ; <%struct.macroblock*> [#uses=1]
- %tmp.194 = getelementptr %struct.macroblock* %tmp.193, i32 0, i32 7 ; <i32*> [#uses=1]
- %tmp.195 = load i32* %tmp.194 ; <i32> [#uses=1]
- %tmp.196 = icmp sgt i32 %tmp.195, 15 ; <i1> [#uses=1]
- %tmp.197 = zext i1 %tmp.196 to i32 ; <i32> [#uses=1]
- br label %endif.11
-
-endif.11: ; preds = %else.8, %then.12, %endif.9
- %a.4 = phi i32 [ 1, %then.12 ], [ %tmp.197, %else.8 ], [ 0, %endif.9 ] ; <i32> [#uses=1]
- %tmp.199 = mul i32 %b.4, 2 ; <i32> [#uses=1]
- %tmp.201 = add i32 %tmp.199, %a.4 ; <i32> [#uses=1]
- %tmp.205 = getelementptr %typedef.TextureInfoContexts* %tmp.4, i32 0, i32 2 ; <[3 x [4 x %typedef.BiContextType]]*> [#uses=1]
- %tmp.206 = getelementptr [3 x [4 x %typedef.BiContextType]]* %tmp.205, i32 0, i32 1 ; <[4 x %typedef.BiContextType]*> [#uses=1]
- %tmp.207 = getelementptr [4 x %typedef.BiContextType]* %tmp.206, i32 0, i32 0 ; <%typedef.BiContextType*> [#uses=1]
- %tmp.209 = bitcast i32 %tmp.201 to i32 ; <i32> [#uses=1]
- %tmp.210 = bitcast i32 %tmp.209 to i32 ; <i32> [#uses=1]
- %tmp.211 = getelementptr %typedef.BiContextType* %tmp.207, i32 %tmp.210 ; <%typedef.BiContextType*> [#uses=1]
- %tmp.202 = call i32 @biari_decode_symbol( %typedef.DecodingEnvironment* %dep_dp, %typedef.BiContextType* %tmp.211 ) ; <i32> [#uses=1]
- %tmp.212 = bitcast i32 %tmp.202 to i32 ; <i32> [#uses=1]
- %tmp.214 = icmp ne i32 %tmp.212, 0 ; <i1> [#uses=2]
- %tmp.215 = zext i1 %tmp.214 to i32 ; <i32> [#uses=0]
- br i1 %tmp.214, label %then.13, label %endif.8
-
-then.13: ; preds = %endif.11
- %tmp.217 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 3 ; <%struct.macroblock**> [#uses=1]
- %tmp.218 = load %struct.macroblock** %tmp.217 ; <%struct.macroblock*> [#uses=1]
- %tmp.219 = bitcast %struct.macroblock* %tmp.218 to i8* ; <i8*> [#uses=1]
- %tmp.220 = icmp ne i8* %tmp.219, null ; <i1> [#uses=2]
- %tmp.221 = zext i1 %tmp.220 to i32 ; <i32> [#uses=0]
- br i1 %tmp.220, label %then.14, label %endif.14
-
-then.14: ; preds = %then.13
- %tmp.223 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 3 ; <%struct.macroblock**> [#uses=1]
- %tmp.224 = load %struct.macroblock** %tmp.223 ; <%struct.macroblock*> [#uses=1]
- %tmp.225 = getelementptr %struct.macroblock* %tmp.224, i32 0, i32 5 ; <i32*> [#uses=1]
- %tmp.226 = load i32* %tmp.225 ; <i32> [#uses=1]
- %tmp.227 = icmp eq i32 %tmp.226, 14 ; <i1> [#uses=2]
- %tmp.228 = zext i1 %tmp.227 to i32 ; <i32> [#uses=0]
- br i1 %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, i32 0, i32 3 ; <%struct.macroblock**> [#uses=1]
- %tmp.231 = load %struct.macroblock** %tmp.230 ; <%struct.macroblock*> [#uses=1]
- %tmp.232 = getelementptr %struct.macroblock* %tmp.231, i32 0, i32 7 ; <i32*> [#uses=1]
- %tmp.233 = load i32* %tmp.232 ; <i32> [#uses=1]
- %tmp.234 = icmp sgt i32 %tmp.233, 15 ; <i1> [#uses=2]
- %tmp.235 = zext i1 %tmp.234 to i32 ; <i32> [#uses=0]
- br i1 %tmp.234, label %then.16, label %endif.14
-
-then.16: ; preds = %else.9
- %tmp.237 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 3 ; <%struct.macroblock**> [#uses=1]
- %tmp.238 = load %struct.macroblock** %tmp.237 ; <%struct.macroblock*> [#uses=1]
- %tmp.239 = getelementptr %struct.macroblock* %tmp.238, i32 0, i32 7 ; <i32*> [#uses=1]
- %tmp.240 = load i32* %tmp.239 ; <i32> [#uses=1]
- %tmp.242 = ashr i32 %tmp.240, 4 ; <i32> [#uses=1]
- %tmp.243 = icmp eq i32 %tmp.242, 2 ; <i1> [#uses=1]
- %tmp.244 = zext i1 %tmp.243 to i32 ; <i32> [#uses=1]
- br label %endif.14
-
-endif.14: ; preds = %then.16, %else.9, %then.15, %then.13
- %b.5 = phi i32 [ 1, %then.15 ], [ %tmp.244, %then.16 ], [ 0, %else.9 ], [ 0, %then.13 ] ; <i32> [#uses=1]
- %tmp.246 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 4 ; <%struct.macroblock**> [#uses=1]
- %tmp.247 = load %struct.macroblock** %tmp.246 ; <%struct.macroblock*> [#uses=1]
- %tmp.248 = bitcast %struct.macroblock* %tmp.247 to i8* ; <i8*> [#uses=1]
- %tmp.249 = icmp ne i8* %tmp.248, null ; <i1> [#uses=2]
- %tmp.250 = zext i1 %tmp.249 to i32 ; <i32> [#uses=0]
- br i1 %tmp.249, label %then.17, label %endif.17
-
-then.17: ; preds = %endif.14
- %tmp.252 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 4 ; <%struct.macroblock**> [#uses=1]
- %tmp.253 = load %struct.macroblock** %tmp.252 ; <%struct.macroblock*> [#uses=1]
- %tmp.254 = getelementptr %struct.macroblock* %tmp.253, i32 0, i32 5 ; <i32*> [#uses=1]
- %tmp.255 = load i32* %tmp.254 ; <i32> [#uses=1]
- %tmp.256 = icmp eq i32 %tmp.255, 14 ; <i1> [#uses=2]
- %tmp.257 = zext i1 %tmp.256 to i32 ; <i32> [#uses=0]
- br i1 %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, i32 0, i32 4 ; <%struct.macroblock**> [#uses=1]
- %tmp.260 = load %struct.macroblock** %tmp.259 ; <%struct.macroblock*> [#uses=1]
- %tmp.261 = getelementptr %struct.macroblock* %tmp.260, i32 0, i32 7 ; <i32*> [#uses=1]
- %tmp.262 = load i32* %tmp.261 ; <i32> [#uses=1]
- %tmp.263 = icmp sgt i32 %tmp.262, 15 ; <i1> [#uses=2]
- %tmp.264 = zext i1 %tmp.263 to i32 ; <i32> [#uses=0]
- br i1 %tmp.263, label %then.19, label %endif.17
-
-then.19: ; preds = %else.10
- %tmp.266 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 4 ; <%struct.macroblock**> [#uses=1]
- %tmp.267 = load %struct.macroblock** %tmp.266 ; <%struct.macroblock*> [#uses=1]
- %tmp.268 = getelementptr %struct.macroblock* %tmp.267, i32 0, i32 7 ; <i32*> [#uses=1]
- %tmp.269 = load i32* %tmp.268 ; <i32> [#uses=1]
- %tmp.271 = ashr i32 %tmp.269, 4 ; <i32> [#uses=1]
- %tmp.272 = icmp eq i32 %tmp.271, 2 ; <i1> [#uses=1]
- %tmp.273 = zext i1 %tmp.272 to i32 ; <i32> [#uses=1]
- br label %endif.17
-
-endif.17: ; preds = %then.19, %else.10, %then.18, %endif.14
- %a.5 = phi i32 [ 1, %then.18 ], [ %tmp.273, %then.19 ], [ 0, %else.10 ], [ 0, %endif.14 ] ; <i32> [#uses=1]
- %tmp.275 = mul i32 %b.5, 2 ; <i32> [#uses=1]
- %tmp.277 = add i32 %tmp.275, %a.5 ; <i32> [#uses=1]
- %tmp.281 = getelementptr %typedef.TextureInfoContexts* %tmp.4, i32 0, i32 2 ; <[3 x [4 x %typedef.BiContextType]]*> [#uses=1]
- %tmp.282 = getelementptr [3 x [4 x %typedef.BiContextType]]* %tmp.281, i32 0, i32 2 ; <[4 x %typedef.BiContextType]*> [#uses=1]
- %tmp.283 = getelementptr [4 x %typedef.BiContextType]* %tmp.282, i32 0, i32 0 ; <%typedef.BiContextType*> [#uses=1]
- %tmp.285 = bitcast i32 %tmp.277 to i32 ; <i32> [#uses=1]
- %tmp.286 = bitcast i32 %tmp.285 to i32 ; <i32> [#uses=1]
- %tmp.287 = getelementptr %typedef.BiContextType* %tmp.283, i32 %tmp.286 ; <%typedef.BiContextType*> [#uses=1]
- %tmp.278 = call i32 @biari_decode_symbol( %typedef.DecodingEnvironment* %dep_dp, %typedef.BiContextType* %tmp.287 ) ; <i32> [#uses=1]
- %tmp.288 = bitcast i32 %tmp.278 to i32 ; <i32> [#uses=1]
- %tmp.290 = icmp eq i32 %tmp.288, 1 ; <i1> [#uses=2]
- %tmp.291 = zext i1 %tmp.290 to i32 ; <i32> [#uses=0]
- br i1 %tmp.290, label %cond_true, label %cond_false
-
-cond_true: ; preds = %endif.17
- %tmp.293 = add i32 %cbp.2, 32 ; <i32> [#uses=1]
- br label %cond_continue
-
-cond_false: ; preds = %endif.17
- %tmp.295 = add i32 %cbp.2, 16 ; <i32> [#uses=1]
- br label %cond_continue
-
-cond_continue: ; preds = %cond_false, %cond_true
- %mem_tmp.0 = phi i32 [ %tmp.293, %cond_true ], [ %tmp.295, %cond_false ] ; <i32> [#uses=1]
- br label %endif.8
-
-endif.8: ; preds = %cond_continue, %endif.11, %loopexit.0
- %cbp.3 = phi i32 [ %mem_tmp.0, %cond_continue ], [ %cbp.2, %endif.11 ], [ %cbp.2, %loopexit.0 ] ; <i32> [#uses=2]
- %tmp.298 = getelementptr %struct.syntaxelement* %se, i32 0, i32 1 ; <i32*> [#uses=1]
- store i32 %cbp.3, i32* %tmp.298
- %tmp.301 = icmp eq i32 %cbp.3, 0 ; <i1> [#uses=2]
- %tmp.302 = zext i1 %tmp.301 to i32 ; <i32> [#uses=0]
- br i1 %tmp.301, label %then.20, label %return
-
-then.20: ; preds = %endif.8
- store i32 0, i32* @last_dquant
- ret void
-
-return: ; preds = %endif.8
- ret void
-}
-
-declare i32 @biari_decode_symbol(%typedef.DecodingEnvironment*, %typedef.BiContextType*)
-
-declare void @getLuma4x4Neighbour(i32, i32, i32, i32, i32, %struct.pix_pos*)
diff --git a/test/Transforms/InstCombine/2006-05-06-Infloop.ll b/test/Transforms/InstCombine/2006-05-06-Infloop.ll
deleted file mode 100644
index ec67d7178eb7f..0000000000000
--- a/test/Transforms/InstCombine/2006-05-06-Infloop.ll
+++ /dev/null
@@ -1,519 +0,0 @@
-; RUN: llvm-as < %s | opt -instcombine -disable-output
-; END.
- %struct.gs_matrix = type { float, i32, float, i32, float, i32, float, i32, float, i32, float, i32 }
- %struct.gx_bitmap = type { i8*, i32, i32, i32 }
- %struct.gx_device = type { i32, %struct.gx_device_procs*, i8*, i32, i32, float, float, i32, i16, i32, i32 }
- %struct.gx_device_memory = type { i32, %struct.gx_device_procs*, i8*, i32, i32, float, float, i32, i16, i32, i32, %struct.gs_matrix, i32, i8*, i8**, i32 (%struct.gx_device_memory*, i32, i32, i32, i32, i32)*, i32, i32, i8* }
- %struct.gx_device_procs = type { i32 (%struct.gx_device*)*, void (%struct.gx_device*, %struct.gs_matrix*)*, i32 (%struct.gx_device*)*, i32 (%struct.gx_device*)*, i32 (%struct.gx_device*)*, i32 (%struct.gx_device*, i16, i16, i16)*, i32 (%struct.gx_device*, i32, i16*)*, i32 (%struct.gx_device*, i32, i32, i32, i32, i32)*, i32 (%struct.gx_device*, %struct.gx_bitmap*, i32, i32, i32, i32, i32, i32)*, i32 (%struct.gx_device*, i8*, i32, i32, i32, i32, i32, i32, i32, i32)*, i32 (%struct.gx_device*, i8*, i32, i32, i32, i32, i32, i32)*, i32 (%struct.gx_device*, i32, i32, i32, i32, i32)*, i32 (%struct.gx_device*, i32, i32, i32, i32, i32, i32, i32)*, i32 (%struct.gx_device*, %struct.gx_bitmap*, i32, i32, i32, i32, i32, i32, i32, i32)* }
-
-define i32 @mem_mono_copy_mono(%struct.gx_device* %dev, i8* %base, i32 %sourcex, i32 %raster, i32 %x, i32 %y, i32 %w, i32 %h, i32 %zero, i32 %one) {
-entry:
- %tmp = icmp eq i32 %one, %zero ; <i1> [#uses=1]
- br i1 %tmp, label %cond_true, label %cond_next
-
-cond_true: ; preds = %entry
- %tmp6 = tail call i32 @mem_mono_fill_rectangle( %struct.gx_device* %dev, i32 %x, i32 %y, i32 %w, i32 %h, i32 %zero ) ; <i32> [#uses=1]
- ret i32 %tmp6
-
-cond_next: ; preds = %entry
- %tmp8 = bitcast %struct.gx_device* %dev to %struct.gx_device_memory* ; <%struct.gx_device_memory*> [#uses=6]
- %tmp.upgrd.1 = getelementptr %struct.gx_device_memory* %tmp8, i32 0, i32 15 ; <i32 (%struct.gx_device_memory*, i32, i32, i32, i32, i32)**> [#uses=1]
- %tmp.upgrd.2 = load i32 (%struct.gx_device_memory*, i32, i32, i32, i32, i32)** %tmp.upgrd.1 ; <i32 (%struct.gx_device_memory*, i32, i32, i32, i32, i32)*> [#uses=2]
- %tmp9 = icmp eq i32 (%struct.gx_device_memory*, i32, i32, i32, i32, i32)* %tmp.upgrd.2, @mem_no_fault_proc ; <i1> [#uses=1]
- br i1 %tmp9, label %cond_next46, label %cond_true10
-
-cond_true10: ; preds = %cond_next
- %tmp16 = add i32 %x, 7 ; <i32> [#uses=1]
- %tmp17 = add i32 %tmp16, %w ; <i32> [#uses=1]
- %tmp18 = ashr i32 %tmp17, 3 ; <i32> [#uses=1]
- %tmp20 = ashr i32 %x, 3 ; <i32> [#uses=2]
- %tmp21 = sub i32 %tmp18, %tmp20 ; <i32> [#uses=1]
- %tmp27 = tail call i32 %tmp.upgrd.2( %struct.gx_device_memory* %tmp8, i32 %tmp20, i32 %y, i32 %tmp21, i32 %h, i32 1 ) ; <i32> [#uses=2]
- %tmp29 = icmp slt i32 %tmp27, 0 ; <i1> [#uses=1]
- br i1 %tmp29, label %cond_true30, label %cond_next46
-
-cond_true30: ; preds = %cond_true10
- %tmp41 = tail call i32 @mem_copy_mono_recover( %struct.gx_device* %dev, i8* %base, i32 %sourcex, i32 %raster, i32 %x, i32 %y, i32 %w, i32 %h, i32 %zero, i32 %one, i32 %tmp27 ) ; <i32> [#uses=1]
- ret i32 %tmp41
-
-cond_next46: ; preds = %cond_true10, %cond_next
- %tmp48 = icmp sgt i32 %w, 0 ; <i1> [#uses=1]
- %tmp53 = icmp sgt i32 %h, 0 ; <i1> [#uses=1]
- %bothcond = and i1 %tmp53, %tmp48 ; <i1> [#uses=1]
- br i1 %bothcond, label %bb58, label %return
-
-bb58: ; preds = %cond_next46
- %tmp60 = icmp slt i32 %x, 0 ; <i1> [#uses=1]
- br i1 %tmp60, label %return, label %cond_next63
-
-cond_next63: ; preds = %bb58
- %tmp65 = getelementptr %struct.gx_device_memory* %tmp8, i32 0, i32 3 ; <i32*> [#uses=1]
- %tmp66 = load i32* %tmp65 ; <i32> [#uses=1]
- %tmp68 = sub i32 %tmp66, %w ; <i32> [#uses=1]
- %tmp70 = icmp slt i32 %tmp68, %x ; <i1> [#uses=1]
- %tmp75 = icmp slt i32 %y, 0 ; <i1> [#uses=1]
- %bothcond1 = or i1 %tmp70, %tmp75 ; <i1> [#uses=1]
- br i1 %bothcond1, label %return, label %cond_next78
-
-cond_next78: ; preds = %cond_next63
- %tmp80 = getelementptr %struct.gx_device_memory* %tmp8, i32 0, i32 4 ; <i32*> [#uses=1]
- %tmp81 = load i32* %tmp80 ; <i32> [#uses=1]
- %tmp83 = sub i32 %tmp81, %h ; <i32> [#uses=1]
- %tmp85 = icmp slt i32 %tmp83, %y ; <i1> [#uses=1]
- br i1 %tmp85, label %return, label %bb91
-
-bb91: ; preds = %cond_next78
- %tmp93 = ashr i32 %x, 3 ; <i32> [#uses=4]
- %tmp.upgrd.3 = getelementptr %struct.gx_device_memory* %tmp8, i32 0, i32 14 ; <i8***> [#uses=1]
- %tmp.upgrd.4 = load i8*** %tmp.upgrd.3 ; <i8**> [#uses=1]
- %tmp96 = getelementptr i8** %tmp.upgrd.4, i32 %y ; <i8**> [#uses=4]
- %tmp98 = load i8** %tmp96 ; <i8*> [#uses=1]
- %tmp100 = getelementptr i8* %tmp98, i32 %tmp93 ; <i8*> [#uses=3]
- %tmp102 = ashr i32 %sourcex, 3 ; <i32> [#uses=3]
- %tmp106 = and i32 %sourcex, 7 ; <i32> [#uses=1]
- %tmp107 = sub i32 8, %tmp106 ; <i32> [#uses=4]
- %tmp109 = and i32 %x, 7 ; <i32> [#uses=3]
- %tmp110 = sub i32 8, %tmp109 ; <i32> [#uses=8]
- %tmp112 = sub i32 8, %tmp110 ; <i32> [#uses=1]
- %tmp112.upgrd.5 = trunc i32 %tmp112 to i8 ; <i8> [#uses=1]
- %shift.upgrd.6 = zext i8 %tmp112.upgrd.5 to i32 ; <i32> [#uses=1]
- %tmp113464 = lshr i32 255, %shift.upgrd.6 ; <i32> [#uses=4]
- %tmp116 = icmp sgt i32 %tmp110, %w ; <i1> [#uses=1]
- %tmp132 = getelementptr %struct.gx_device_memory* %tmp8, i32 0, i32 16 ; <i32*> [#uses=2]
- br i1 %tmp116, label %cond_true117, label %cond_false123
-
-cond_true117: ; preds = %bb91
- %tmp119 = trunc i32 %w to i8 ; <i8> [#uses=1]
- %shift.upgrd.7 = zext i8 %tmp119 to i32 ; <i32> [#uses=1]
- %tmp120 = lshr i32 %tmp113464, %shift.upgrd.7 ; <i32> [#uses=1]
- %tmp122 = sub i32 %tmp113464, %tmp120 ; <i32> [#uses=2]
- %tmp13315 = load i32* %tmp132 ; <i32> [#uses=1]
- %tmp13416 = icmp eq i32 %tmp13315, 0 ; <i1> [#uses=1]
- br i1 %tmp13416, label %cond_next151, label %cond_true135
-
-cond_false123: ; preds = %bb91
- %tmp126 = sub i32 %w, %tmp110 ; <i32> [#uses=1]
- %tmp126.upgrd.8 = trunc i32 %tmp126 to i8 ; <i8> [#uses=1]
- %tmp127 = and i8 %tmp126.upgrd.8, 7 ; <i8> [#uses=1]
- %shift.upgrd.9 = zext i8 %tmp127 to i32 ; <i32> [#uses=1]
- %tmp128 = lshr i32 255, %shift.upgrd.9 ; <i32> [#uses=1]
- %tmp1295 = sub i32 255, %tmp128 ; <i32> [#uses=2]
- %tmp133 = load i32* %tmp132 ; <i32> [#uses=1]
- %tmp134 = icmp eq i32 %tmp133, 0 ; <i1> [#uses=1]
- br i1 %tmp134, label %cond_next151, label %cond_true135
-
-cond_true135: ; preds = %cond_false123, %cond_true117
- %rmask.0.0 = phi i32 [ undef, %cond_true117 ], [ %tmp1295, %cond_false123 ] ; <i32> [#uses=2]
- %mask.1.0 = phi i32 [ %tmp122, %cond_true117 ], [ %tmp113464, %cond_false123 ] ; <i32> [#uses=2]
- %not.tmp137 = icmp ne i32 %zero, -1 ; <i1> [#uses=1]
- %tmp140 = zext i1 %not.tmp137 to i32 ; <i32> [#uses=1]
- %zero_addr.0 = xor i32 %tmp140, %zero ; <i32> [#uses=2]
- %tmp144 = icmp eq i32 %one, -1 ; <i1> [#uses=1]
- br i1 %tmp144, label %cond_next151, label %cond_true145
-
-cond_true145: ; preds = %cond_true135
- %tmp147 = xor i32 %one, 1 ; <i32> [#uses=1]
- br label %cond_next151
-
-cond_next151: ; preds = %cond_true145, %cond_true135, %cond_false123, %cond_true117
- %rmask.0.1 = phi i32 [ %rmask.0.0, %cond_true145 ], [ undef, %cond_true117 ], [ %tmp1295, %cond_false123 ], [ %rmask.0.0, %cond_true135 ] ; <i32> [#uses=4]
- %mask.1.1 = phi i32 [ %mask.1.0, %cond_true145 ], [ %tmp122, %cond_true117 ], [ %tmp113464, %cond_false123 ], [ %mask.1.0, %cond_true135 ] ; <i32> [#uses=4]
- %one_addr.0 = phi i32 [ %tmp147, %cond_true145 ], [ %one, %cond_true117 ], [ %one, %cond_false123 ], [ %one, %cond_true135 ] ; <i32> [#uses=2]
- %zero_addr.1 = phi i32 [ %zero_addr.0, %cond_true145 ], [ %zero, %cond_true117 ], [ %zero, %cond_false123 ], [ %zero_addr.0, %cond_true135 ] ; <i32> [#uses=2]
- %tmp153 = icmp eq i32 %zero_addr.1, 1 ; <i1> [#uses=2]
- %tmp158 = icmp eq i32 %one_addr.0, 0 ; <i1> [#uses=2]
- %bothcond2 = or i1 %tmp153, %tmp158 ; <i1> [#uses=1]
- %iftmp.35.0 = select i1 %bothcond2, i32 -1, i32 0 ; <i32> [#uses=9]
- %tmp167 = icmp eq i32 %zero_addr.1, 0 ; <i1> [#uses=1]
- %bothcond3 = or i1 %tmp167, %tmp158 ; <i1> [#uses=1]
- %iftmp.36.0 = select i1 %bothcond3, i32 0, i32 -1 ; <i32> [#uses=4]
- %tmp186 = icmp eq i32 %one_addr.0, 1 ; <i1> [#uses=1]
- %bothcond4 = or i1 %tmp153, %tmp186 ; <i1> [#uses=1]
- %iftmp.37.0 = select i1 %bothcond4, i32 -1, i32 0 ; <i32> [#uses=6]
- %tmp196 = icmp eq i32 %tmp107, %tmp110 ; <i1> [#uses=1]
- br i1 %tmp196, label %cond_true197, label %cond_false299
-
-cond_true197: ; preds = %cond_next151
- %tmp29222 = add i32 %h, -1 ; <i32> [#uses=3]
- %tmp29424 = icmp slt i32 %tmp29222, 0 ; <i1> [#uses=1]
- br i1 %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 i32 [ 0, %cond_true249.preheader ], [ %indvar.next, %cond_true249 ] ; <i32> [#uses=3]
- %optr.3.2 = phi i8* [ %tmp232.upgrd.12, %cond_true249 ], [ %dest.1.0, %cond_true249.preheader ] ; <i8*> [#uses=1]
- %bptr.3.2 = phi i8* [ %tmp226.upgrd.10, %cond_true249 ], [ %line.1.0, %cond_true249.preheader ] ; <i8*> [#uses=1]
- %tmp. = add i32 %tmp109, %w ; <i32> [#uses=1]
- %tmp.58 = mul i32 %indvar, -8 ; <i32> [#uses=1]
- %tmp.57 = add i32 %tmp., -16 ; <i32> [#uses=1]
- %tmp246.2 = add i32 %tmp.58, %tmp.57 ; <i32> [#uses=1]
- %tmp225 = ptrtoint i8* %bptr.3.2 to i32 ; <i32> [#uses=1]
- %tmp226 = add i32 %tmp225, 1 ; <i32> [#uses=1]
- %tmp226.upgrd.10 = inttoptr i32 %tmp226 to i8* ; <i8*> [#uses=3]
- %tmp228 = load i8* %tmp226.upgrd.10 ; <i8> [#uses=1]
- %tmp228.upgrd.11 = zext i8 %tmp228 to i32 ; <i32> [#uses=1]
- %tmp230 = xor i32 %tmp228.upgrd.11, %iftmp.35.0 ; <i32> [#uses=2]
- %tmp231 = ptrtoint i8* %optr.3.2 to i32 ; <i32> [#uses=1]
- %tmp232 = add i32 %tmp231, 1 ; <i32> [#uses=1]
- %tmp232.upgrd.12 = inttoptr i32 %tmp232 to i8* ; <i8*> [#uses=4]
- %tmp235 = or i32 %tmp230, %iftmp.36.0 ; <i32> [#uses=1]
- %tmp235.upgrd.13 = trunc i32 %tmp235 to i8 ; <i8> [#uses=1]
- %tmp237 = load i8* %tmp232.upgrd.12 ; <i8> [#uses=1]
- %tmp238 = and i8 %tmp235.upgrd.13, %tmp237 ; <i8> [#uses=1]
- %tmp241 = and i32 %tmp230, %iftmp.37.0 ; <i32> [#uses=1]
- %tmp241.upgrd.14 = trunc i32 %tmp241 to i8 ; <i8> [#uses=1]
- %tmp242 = or i8 %tmp238, %tmp241.upgrd.14 ; <i8> [#uses=1]
- store i8 %tmp242, i8* %tmp232.upgrd.12
- %tmp24629 = add i32 %tmp246.2, -8 ; <i32> [#uses=2]
- %tmp24831 = icmp slt i32 %tmp24629, 0 ; <i1> [#uses=1]
- %indvar.next = add i32 %indvar, 1 ; <i32> [#uses=1]
- br i1 %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 i8* [ %dest.1.0, %cond_true295 ], [ %tmp232.upgrd.12, %bb252.loopexit ] ; <i8*> [#uses=1]
- %bptr.3.3 = phi i8* [ %line.1.0, %cond_true295 ], [ %tmp226.upgrd.10, %bb252.loopexit ] ; <i8*> [#uses=1]
- %tmp246.3 = phi i32 [ %tmp246, %cond_true295 ], [ %tmp24629, %bb252.loopexit ] ; <i32> [#uses=1]
- %tmp254 = icmp sgt i32 %tmp246.3, -8 ; <i1> [#uses=1]
- br i1 %tmp254, label %cond_true255, label %cond_next280
-
-cond_true255: ; preds = %bb252
- %tmp256 = ptrtoint i8* %bptr.3.3 to i32 ; <i32> [#uses=1]
- %tmp257 = add i32 %tmp256, 1 ; <i32> [#uses=1]
- %tmp257.upgrd.15 = inttoptr i32 %tmp257 to i8* ; <i8*> [#uses=1]
- %tmp259 = load i8* %tmp257.upgrd.15 ; <i8> [#uses=1]
- %tmp259.upgrd.16 = zext i8 %tmp259 to i32 ; <i32> [#uses=1]
- %tmp261 = xor i32 %tmp259.upgrd.16, %iftmp.35.0 ; <i32> [#uses=2]
- %tmp262 = ptrtoint i8* %optr.3.3 to i32 ; <i32> [#uses=1]
- %tmp263 = add i32 %tmp262, 1 ; <i32> [#uses=1]
- %tmp263.upgrd.17 = inttoptr i32 %tmp263 to i8* ; <i8*> [#uses=2]
- %tmp265 = trunc i32 %tmp261 to i8 ; <i8> [#uses=1]
- %tmp268 = or i8 %tmp266, %tmp265 ; <i8> [#uses=1]
- %tmp270 = load i8* %tmp263.upgrd.17 ; <i8> [#uses=1]
- %tmp271 = and i8 %tmp268, %tmp270 ; <i8> [#uses=1]
- %tmp276 = and i32 %tmp274, %tmp261 ; <i32> [#uses=1]
- %tmp276.upgrd.18 = trunc i32 %tmp276 to i8 ; <i8> [#uses=1]
- %tmp277 = or i8 %tmp271, %tmp276.upgrd.18 ; <i8> [#uses=1]
- store i8 %tmp277, i8* %tmp263.upgrd.17
- br label %cond_next280
-
-cond_next280: ; preds = %cond_true255, %bb252
- %tmp281 = ptrtoint i8** %dest_line.1.0 to i32 ; <i32> [#uses=1]
- %tmp282 = add i32 %tmp281, 4 ; <i32> [#uses=1]
- %tmp282.upgrd.19 = inttoptr i32 %tmp282 to i8** ; <i8**> [#uses=2]
- %tmp284 = load i8** %tmp282.upgrd.19 ; <i8*> [#uses=1]
- %tmp286 = getelementptr i8* %tmp284, i32 %tmp93 ; <i8*> [#uses=1]
- %tmp292 = add i32 %tmp292.0, -1 ; <i32> [#uses=1]
- %tmp294 = icmp slt i32 %tmp292, 0 ; <i1> [#uses=1]
- %indvar.next61 = add i32 %indvar60, 1 ; <i32> [#uses=1]
- br i1 %tmp294, label %return.loopexit, label %cond_true295
-
-cond_true295.preheader: ; preds = %cond_true197
- %tmp200 = sub i32 %w, %tmp110 ; <i32> [#uses=1]
- %tmp209 = trunc i32 %mask.1.1 to i8 ; <i8> [#uses=1]
- %tmp209not = xor i8 %tmp209, -1 ; <i8> [#uses=1]
- %tmp212 = trunc i32 %iftmp.36.0 to i8 ; <i8> [#uses=2]
- %tmp211 = or i8 %tmp212, %tmp209not ; <i8> [#uses=2]
- %tmp219 = and i32 %iftmp.37.0, %mask.1.1 ; <i32> [#uses=2]
- %tmp246 = add i32 %tmp200, -8 ; <i32> [#uses=3]
- %tmp248 = icmp slt i32 %tmp246, 0 ; <i1> [#uses=1]
- %tmp264 = trunc i32 %rmask.0.1 to i8 ; <i8> [#uses=1]
- %tmp264not = xor i8 %tmp264, -1 ; <i8> [#uses=1]
- %tmp266 = or i8 %tmp212, %tmp264not ; <i8> [#uses=2]
- %tmp274 = and i32 %iftmp.37.0, %rmask.0.1 ; <i32> [#uses=2]
- br i1 %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 i32 [ 0, %cond_true295.preheader.split.us ], [ %indvar.next87, %cond_next280.us ] ; <i32> [#uses=3]
- %dest.1.0.us = phi i8* [ %tmp286.us, %cond_next280.us ], [ %tmp100, %cond_true295.preheader.split.us ] ; <i8*> [#uses=3]
- %dest_line.1.0.us = phi i8** [ %tmp282.us.upgrd.21, %cond_next280.us ], [ %tmp96, %cond_true295.preheader.split.us ] ; <i8**> [#uses=1]
- %tmp.89 = sub i32 0, %indvar86 ; <i32> [#uses=2]
- %tmp292.0.us = add i32 %tmp.89, %tmp29222 ; <i32> [#uses=1]
- %tmp.91 = mul i32 %indvar86, %raster ; <i32> [#uses=2]
- %tmp104.sum101 = add i32 %tmp102, %tmp.91 ; <i32> [#uses=1]
- %line.1.0.us = getelementptr i8* %base, i32 %tmp104.sum101 ; <i8*> [#uses=2]
- %tmp.us = load i8* %line.1.0.us ; <i8> [#uses=1]
- %tmp206.us = zext i8 %tmp.us to i32 ; <i32> [#uses=1]
- %tmp208.us = xor i32 %tmp206.us, %iftmp.35.0 ; <i32> [#uses=2]
- %tmp210.us = trunc i32 %tmp208.us to i8 ; <i8> [#uses=1]
- %tmp213.us = or i8 %tmp211, %tmp210.us ; <i8> [#uses=1]
- %tmp215.us = load i8* %dest.1.0.us ; <i8> [#uses=1]
- %tmp216.us = and i8 %tmp213.us, %tmp215.us ; <i8> [#uses=1]
- %tmp221.us = and i32 %tmp219, %tmp208.us ; <i32> [#uses=1]
- %tmp221.us.upgrd.20 = trunc i32 %tmp221.us to i8 ; <i8> [#uses=1]
- %tmp222.us = or i8 %tmp216.us, %tmp221.us.upgrd.20 ; <i8> [#uses=1]
- store i8 %tmp222.us, i8* %dest.1.0.us
- br i1 true, label %bb252.us, label %cond_true249.preheader.us
-
-cond_next280.us: ; preds = %bb252.us, %cond_true255.us
- %tmp281.us = ptrtoint i8** %dest_line.1.0.us to i32 ; <i32> [#uses=1]
- %tmp282.us = add i32 %tmp281.us, 4 ; <i32> [#uses=1]
- %tmp282.us.upgrd.21 = inttoptr i32 %tmp282.us to i8** ; <i8**> [#uses=2]
- %tmp284.us = load i8** %tmp282.us.upgrd.21 ; <i8*> [#uses=1]
- %tmp286.us = getelementptr i8* %tmp284.us, i32 %tmp93 ; <i8*> [#uses=1]
- %tmp292.us = add i32 %tmp292.0.us, -1 ; <i32> [#uses=1]
- %tmp294.us = icmp slt i32 %tmp292.us, 0 ; <i1> [#uses=1]
- %indvar.next87 = add i32 %indvar86, 1 ; <i32> [#uses=1]
- br i1 %tmp294.us, label %return.loopexit.us, label %cond_true295.us
-
-cond_true255.us: ; preds = %bb252.us
- %tmp256.us = ptrtoint i8* %bptr.3.3.us to i32 ; <i32> [#uses=1]
- %tmp257.us = add i32 %tmp256.us, 1 ; <i32> [#uses=1]
- %tmp257.us.upgrd.22 = inttoptr i32 %tmp257.us to i8* ; <i8*> [#uses=1]
- %tmp259.us = load i8* %tmp257.us.upgrd.22 ; <i8> [#uses=1]
- %tmp259.us.upgrd.23 = zext i8 %tmp259.us to i32 ; <i32> [#uses=1]
- %tmp261.us = xor i32 %tmp259.us.upgrd.23, %iftmp.35.0 ; <i32> [#uses=2]
- %tmp262.us = ptrtoint i8* %optr.3.3.us to i32 ; <i32> [#uses=1]
- %tmp263.us = add i32 %tmp262.us, 1 ; <i32> [#uses=1]
- %tmp263.us.upgrd.24 = inttoptr i32 %tmp263.us to i8* ; <i8*> [#uses=2]
- %tmp265.us = trunc i32 %tmp261.us to i8 ; <i8> [#uses=1]
- %tmp268.us = or i8 %tmp266, %tmp265.us ; <i8> [#uses=1]
- %tmp270.us = load i8* %tmp263.us.upgrd.24 ; <i8> [#uses=1]
- %tmp271.us = and i8 %tmp268.us, %tmp270.us ; <i8> [#uses=1]
- %tmp276.us = and i32 %tmp274, %tmp261.us ; <i32> [#uses=1]
- %tmp276.us.upgrd.25 = trunc i32 %tmp276.us to i8 ; <i8> [#uses=1]
- %tmp277.us = or i8 %tmp271.us, %tmp276.us.upgrd.25 ; <i8> [#uses=1]
- store i8 %tmp277.us, i8* %tmp263.us.upgrd.24
- br label %cond_next280.us
-
-bb252.us: ; preds = %bb252.loopexit.us, %cond_true295.us
- %optr.3.3.us = phi i8* [ %dest.1.0.us, %cond_true295.us ], [ undef, %bb252.loopexit.us ] ; <i8*> [#uses=1]
- %bptr.3.3.us = phi i8* [ %line.1.0.us, %cond_true295.us ], [ undef, %bb252.loopexit.us ] ; <i8*> [#uses=1]
- %tmp246.3.us = phi i32 [ %tmp246, %cond_true295.us ], [ undef, %bb252.loopexit.us ] ; <i32> [#uses=1]
- %tmp254.us = icmp sgt i32 %tmp246.3.us, -8 ; <i1> [#uses=1]
- br i1 %tmp254.us, label %cond_true255.us, label %cond_next280.us
-
-cond_true249.us: ; preds = %cond_true249.preheader.us, %cond_true249.us
- br i1 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 i32 [ 0, %cond_true295.preheader.split ], [ %indvar.next61, %cond_next280 ] ; <i32> [#uses=3]
- %dest.1.0 = phi i8* [ %tmp286, %cond_next280 ], [ %tmp100, %cond_true295.preheader.split ] ; <i8*> [#uses=4]
- %dest_line.1.0 = phi i8** [ %tmp282.upgrd.19, %cond_next280 ], [ %tmp96, %cond_true295.preheader.split ] ; <i8**> [#uses=1]
- %tmp.63 = sub i32 0, %indvar60 ; <i32> [#uses=2]
- %tmp292.0 = add i32 %tmp.63, %tmp29222 ; <i32> [#uses=1]
- %tmp.65 = mul i32 %indvar60, %raster ; <i32> [#uses=2]
- %tmp104.sum97 = add i32 %tmp102, %tmp.65 ; <i32> [#uses=1]
- %line.1.0 = getelementptr i8* %base, i32 %tmp104.sum97 ; <i8*> [#uses=3]
- %tmp.upgrd.26 = load i8* %line.1.0 ; <i8> [#uses=1]
- %tmp206 = zext i8 %tmp.upgrd.26 to i32 ; <i32> [#uses=1]
- %tmp208 = xor i32 %tmp206, %iftmp.35.0 ; <i32> [#uses=2]
- %tmp210 = trunc i32 %tmp208 to i8 ; <i8> [#uses=1]
- %tmp213 = or i8 %tmp211, %tmp210 ; <i8> [#uses=1]
- %tmp215 = load i8* %dest.1.0 ; <i8> [#uses=1]
- %tmp216 = and i8 %tmp213, %tmp215 ; <i8> [#uses=1]
- %tmp221 = and i32 %tmp219, %tmp208 ; <i32> [#uses=1]
- %tmp221.upgrd.27 = trunc i32 %tmp221 to i8 ; <i8> [#uses=1]
- %tmp222 = or i8 %tmp216, %tmp221.upgrd.27 ; <i8> [#uses=1]
- store i8 %tmp222, i8* %dest.1.0
- br i1 false, label %bb252, label %cond_true249.preheader
-
-cond_false299: ; preds = %cond_next151
- %tmp302 = sub i32 %tmp107, %tmp110 ; <i32> [#uses=1]
- %tmp303 = and i32 %tmp302, 7 ; <i32> [#uses=3]
- %tmp305 = sub i32 8, %tmp303 ; <i32> [#uses=1]
- %tmp45438 = add i32 %h, -1 ; <i32> [#uses=2]
- %tmp45640 = icmp slt i32 %tmp45438, 0 ; <i1> [#uses=1]
- br i1 %tmp45640, label %return, label %cond_true457.preheader
-
-cond_true316: ; preds = %cond_true457
- %tmp318 = zext i8 %tmp318.upgrd.48 to i32 ; <i32> [#uses=1]
- %shift.upgrd.28 = zext i8 %tmp319 to i32 ; <i32> [#uses=1]
- %tmp320 = lshr i32 %tmp318, %shift.upgrd.28 ; <i32> [#uses=1]
- br label %cond_next340
-
-cond_false321: ; preds = %cond_true457
- %tmp3188 = zext i8 %tmp318.upgrd.48 to i32 ; <i32> [#uses=1]
- %shift.upgrd.29 = zext i8 %tmp324 to i32 ; <i32> [#uses=1]
- %tmp325 = shl i32 %tmp3188, %shift.upgrd.29 ; <i32> [#uses=2]
- %tmp326 = ptrtoint i8* %line.3.0 to i32 ; <i32> [#uses=1]
- %tmp327 = add i32 %tmp326, 1 ; <i32> [#uses=1]
- %tmp327.upgrd.30 = inttoptr i32 %tmp327 to i8* ; <i8*> [#uses=3]
- br i1 %tmp330, label %cond_true331, label %cond_next340
-
-cond_true331: ; preds = %cond_false321
- %tmp333 = load i8* %tmp327.upgrd.30 ; <i8> [#uses=1]
- %tmp333.upgrd.31 = zext i8 %tmp333 to i32 ; <i32> [#uses=1]
- %shift.upgrd.32 = zext i8 %tmp319 to i32 ; <i32> [#uses=1]
- %tmp335 = lshr i32 %tmp333.upgrd.31, %shift.upgrd.32 ; <i32> [#uses=1]
- %tmp337 = add i32 %tmp335, %tmp325 ; <i32> [#uses=1]
- br label %cond_next340
-
-cond_next340: ; preds = %cond_true331, %cond_false321, %cond_true316
- %bits.0 = phi i32 [ %tmp320, %cond_true316 ], [ %tmp337, %cond_true331 ], [ %tmp325, %cond_false321 ] ; <i32> [#uses=1]
- %bptr307.3 = phi i8* [ %line.3.0, %cond_true316 ], [ %tmp327.upgrd.30, %cond_true331 ], [ %tmp327.upgrd.30, %cond_false321 ] ; <i8*> [#uses=2]
- %tmp343 = xor i32 %bits.0, %iftmp.35.0 ; <i32> [#uses=2]
- %tmp345 = trunc i32 %tmp343 to i8 ; <i8> [#uses=1]
- %tmp348 = or i8 %tmp346, %tmp345 ; <i8> [#uses=1]
- %tmp350 = load i8* %dest.3.0 ; <i8> [#uses=1]
- %tmp351 = and i8 %tmp348, %tmp350 ; <i8> [#uses=1]
- %tmp356 = and i32 %tmp354, %tmp343 ; <i32> [#uses=1]
- %tmp356.upgrd.33 = trunc i32 %tmp356 to i8 ; <i8> [#uses=1]
- %tmp357 = or i8 %tmp351, %tmp356.upgrd.33 ; <i8> [#uses=1]
- store i8 %tmp357, i8* %dest.3.0
- %tmp362 = ptrtoint i8* %dest.3.0 to i32 ; <i32> [#uses=1]
- %optr309.3.in51 = add i32 %tmp362, 1 ; <i32> [#uses=2]
- %optr309.353 = inttoptr i32 %optr309.3.in51 to i8* ; <i8*> [#uses=2]
- br i1 %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 i32 [ 0, %cond_true398.preheader ], [ %indvar.next67, %cond_true398 ] ; <i32> [#uses=4]
- %bptr307.4.0 = phi i8* [ %tmp370.upgrd.35, %cond_true398 ], [ %bptr307.3, %cond_true398.preheader ] ; <i8*> [#uses=2]
- %optr309.3.0 = phi i8* [ %optr309.3, %cond_true398 ], [ %optr309.353, %cond_true398.preheader ] ; <i8*> [#uses=2]
- %optr309.3.in.0 = add i32 %indvar66, %optr309.3.in51 ; <i32> [#uses=1]
- %tmp.70 = add i32 %tmp109, %w ; <i32> [#uses=1]
- %tmp.72 = mul i32 %indvar66, -8 ; <i32> [#uses=1]
- %tmp.71 = add i32 %tmp.70, -8 ; <i32> [#uses=1]
- %count308.3.0 = add i32 %tmp.72, %tmp.71 ; <i32> [#uses=1]
- %tmp366 = load i8* %bptr307.4.0 ; <i8> [#uses=1]
- %tmp366.upgrd.34 = zext i8 %tmp366 to i32 ; <i32> [#uses=1]
- %tmp369 = ptrtoint i8* %bptr307.4.0 to i32 ; <i32> [#uses=1]
- %tmp370 = add i32 %tmp369, 1 ; <i32> [#uses=1]
- %tmp370.upgrd.35 = inttoptr i32 %tmp370 to i8* ; <i8*> [#uses=3]
- %tmp372 = load i8* %tmp370.upgrd.35 ; <i8> [#uses=1]
- %tmp372.upgrd.36 = zext i8 %tmp372 to i32 ; <i32> [#uses=1]
- %shift.upgrd.37 = zext i8 %tmp319 to i32 ; <i32> [#uses=1]
- %tmp374463 = lshr i32 %tmp372.upgrd.36, %shift.upgrd.37 ; <i32> [#uses=1]
- %shift.upgrd.38 = zext i8 %tmp324 to i32 ; <i32> [#uses=1]
- %tmp368 = shl i32 %tmp366.upgrd.34, %shift.upgrd.38 ; <i32> [#uses=1]
- %tmp377 = add i32 %tmp374463, %tmp368 ; <i32> [#uses=1]
- %tmp379 = xor i32 %tmp377, %iftmp.35.0 ; <i32> [#uses=2]
- %tmp382 = or i32 %tmp379, %iftmp.36.0 ; <i32> [#uses=1]
- %tmp382.upgrd.39 = trunc i32 %tmp382 to i8 ; <i8> [#uses=1]
- %tmp384 = load i8* %optr309.3.0 ; <i8> [#uses=1]
- %tmp385 = and i8 %tmp382.upgrd.39, %tmp384 ; <i8> [#uses=1]
- %tmp388 = and i32 %tmp379, %iftmp.37.0 ; <i32> [#uses=1]
- %tmp388.upgrd.40 = trunc i32 %tmp388 to i8 ; <i8> [#uses=1]
- %tmp389 = or i8 %tmp385, %tmp388.upgrd.40 ; <i8> [#uses=1]
- store i8 %tmp389, i8* %optr309.3.0
- %tmp392 = add i32 %count308.3.0, -8 ; <i32> [#uses=2]
- %optr309.3.in = add i32 %optr309.3.in.0, 1 ; <i32> [#uses=1]
- %optr309.3 = inttoptr i32 %optr309.3.in to i8* ; <i8*> [#uses=2]
- %tmp397 = icmp sgt i32 %tmp392, 7 ; <i1> [#uses=1]
- %indvar.next67 = add i32 %indvar66, 1 ; <i32> [#uses=1]
- br i1 %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 i32 [ %tmp361, %cond_next340 ], [ %tmp392, %bb401.loopexit ] ; <i32> [#uses=2]
- %bptr307.4.1 = phi i8* [ %bptr307.3, %cond_next340 ], [ %tmp370.upgrd.35, %bb401.loopexit ] ; <i8*> [#uses=2]
- %optr309.3.1 = phi i8* [ %optr309.353, %cond_next340 ], [ %optr309.3, %bb401.loopexit ] ; <i8*> [#uses=2]
- %tmp403 = icmp sgt i32 %count308.3.1, 0 ; <i1> [#uses=1]
- br i1 %tmp403, label %cond_true404, label %cond_next442
-
-cond_true404: ; preds = %bb401
- %tmp406 = load i8* %bptr307.4.1 ; <i8> [#uses=1]
- %tmp406.upgrd.41 = zext i8 %tmp406 to i32 ; <i32> [#uses=1]
- %shift.upgrd.42 = zext i8 %tmp324 to i32 ; <i32> [#uses=1]
- %tmp408 = shl i32 %tmp406.upgrd.41, %shift.upgrd.42 ; <i32> [#uses=2]
- %tmp413 = icmp sgt i32 %count308.3.1, %tmp303 ; <i1> [#uses=1]
- br i1 %tmp413, label %cond_true414, label %cond_next422
-
-cond_true414: ; preds = %cond_true404
- %tmp409 = ptrtoint i8* %bptr307.4.1 to i32 ; <i32> [#uses=1]
- %tmp410 = add i32 %tmp409, 1 ; <i32> [#uses=1]
- %tmp410.upgrd.43 = inttoptr i32 %tmp410 to i8* ; <i8*> [#uses=1]
- %tmp416 = load i8* %tmp410.upgrd.43 ; <i8> [#uses=1]
- %tmp416.upgrd.44 = zext i8 %tmp416 to i32 ; <i32> [#uses=1]
- %shift.upgrd.45 = zext i8 %tmp319 to i32 ; <i32> [#uses=1]
- %tmp418 = lshr i32 %tmp416.upgrd.44, %shift.upgrd.45 ; <i32> [#uses=2]
- %tmp420 = add i32 %tmp418, %tmp408 ; <i32> [#uses=1]
- br label %cond_next422
-
-cond_next422: ; preds = %cond_true414, %cond_true404
- %bits.6 = phi i32 [ %tmp420, %cond_true414 ], [ %tmp408, %cond_true404 ] ; <i32> [#uses=1]
- %tmp425 = xor i32 %bits.6, %iftmp.35.0 ; <i32> [#uses=1]
- %tmp427 = trunc i32 %tmp425 to i8 ; <i8> [#uses=2]
- %tmp430 = or i8 %tmp428, %tmp427 ; <i8> [#uses=1]
- %tmp432 = load i8* %optr309.3.1 ; <i8> [#uses=1]
- %tmp433 = and i8 %tmp430, %tmp432 ; <i8> [#uses=1]
- %tmp438 = and i8 %tmp436.upgrd.47, %tmp427 ; <i8> [#uses=1]
- %tmp439 = or i8 %tmp433, %tmp438 ; <i8> [#uses=1]
- store i8 %tmp439, i8* %optr309.3.1
- br label %cond_next442
-
-cond_next442: ; preds = %cond_next422, %bb401
- %tmp443 = ptrtoint i8** %dest_line.3.0 to i32 ; <i32> [#uses=1]
- %tmp444 = add i32 %tmp443, 4 ; <i32> [#uses=1]
- %tmp444.upgrd.46 = inttoptr i32 %tmp444 to i8** ; <i8**> [#uses=2]
- %tmp446 = load i8** %tmp444.upgrd.46 ; <i8*> [#uses=1]
- %tmp448 = getelementptr i8* %tmp446, i32 %tmp93 ; <i8*> [#uses=1]
- %tmp454 = add i32 %tmp454.0, -1 ; <i32> [#uses=1]
- %tmp456 = icmp slt i32 %tmp454, 0 ; <i1> [#uses=1]
- %indvar.next75 = add i32 %indvar74, 1 ; <i32> [#uses=1]
- br i1 %tmp456, label %return.loopexit56, label %cond_true457
-
-cond_true457.preheader: ; preds = %cond_false299
- %tmp315 = icmp slt i32 %tmp107, %tmp110 ; <i1> [#uses=1]
- %tmp319 = trunc i32 %tmp303 to i8 ; <i8> [#uses=4]
- %tmp324 = trunc i32 %tmp305 to i8 ; <i8> [#uses=3]
- %tmp330 = icmp slt i32 %tmp107, %w ; <i1> [#uses=1]
- %tmp344 = trunc i32 %mask.1.1 to i8 ; <i8> [#uses=1]
- %tmp344not = xor i8 %tmp344, -1 ; <i8> [#uses=1]
- %tmp347 = trunc i32 %iftmp.36.0 to i8 ; <i8> [#uses=2]
- %tmp346 = or i8 %tmp347, %tmp344not ; <i8> [#uses=1]
- %tmp354 = and i32 %iftmp.37.0, %mask.1.1 ; <i32> [#uses=1]
- %tmp361 = sub i32 %w, %tmp110 ; <i32> [#uses=2]
- %tmp39755 = icmp sgt i32 %tmp361, 7 ; <i1> [#uses=1]
- %tmp426 = trunc i32 %rmask.0.1 to i8 ; <i8> [#uses=1]
- %tmp426not = xor i8 %tmp426, -1 ; <i8> [#uses=1]
- %tmp428 = or i8 %tmp347, %tmp426not ; <i8> [#uses=1]
- %tmp436 = and i32 %iftmp.37.0, %rmask.0.1 ; <i32> [#uses=1]
- %tmp436.upgrd.47 = trunc i32 %tmp436 to i8 ; <i8> [#uses=1]
- br label %cond_true457
-
-cond_true457: ; preds = %cond_true457.preheader, %cond_next442
- %indvar74 = phi i32 [ 0, %cond_true457.preheader ], [ %indvar.next75, %cond_next442 ] ; <i32> [#uses=3]
- %dest.3.0 = phi i8* [ %tmp448, %cond_next442 ], [ %tmp100, %cond_true457.preheader ] ; <i8*> [#uses=3]
- %dest_line.3.0 = phi i8** [ %tmp444.upgrd.46, %cond_next442 ], [ %tmp96, %cond_true457.preheader ] ; <i8**> [#uses=1]
- %tmp.77 = sub i32 0, %indvar74 ; <i32> [#uses=2]
- %tmp454.0 = add i32 %tmp.77, %tmp45438 ; <i32> [#uses=1]
- %tmp.79 = mul i32 %indvar74, %raster ; <i32> [#uses=2]
- %tmp104.sum = add i32 %tmp102, %tmp.79 ; <i32> [#uses=1]
- %line.3.0 = getelementptr i8* %base, i32 %tmp104.sum ; <i8*> [#uses=3]
- %tmp318.upgrd.48 = load i8* %line.3.0 ; <i8> [#uses=2]
- br i1 %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 i32 [ 0, %cond_next46 ], [ -1, %bb58 ], [ -1, %cond_next63 ], [ -1, %cond_next78 ], [ 0, %cond_true197 ], [ 0, %cond_false299 ], [ 0, %return.loopexit.split ], [ 0, %return.loopexit56 ] ; <i32> [#uses=1]
- ret i32 %retval.0
-}
-
-declare i32 @mem_no_fault_proc(%struct.gx_device_memory*, i32, i32, i32, i32, i32)
-
-declare i32 @mem_mono_fill_rectangle(%struct.gx_device*, i32, i32, i32, i32, i32)
-
-declare i32 @mem_copy_mono_recover(%struct.gx_device*, i8*, i32, i32, i32, i32, i32, i32, i32, i32, i32)
diff --git a/test/Transforms/InstCombine/2006-06-28-infloop.ll b/test/Transforms/InstCombine/2006-06-28-infloop.ll
deleted file mode 100644
index 84e751037b4d8..0000000000000
--- a/test/Transforms/InstCombine/2006-06-28-infloop.ll
+++ /dev/null
@@ -1,20 +0,0 @@
-; RUN: llvm-as < %s | opt -instcombine -disable-output
-
-target datalayout = "E-p:32:32"
-target triple = "powerpc-apple-darwin8"
-
-define void @test() {
-entry:
- %tmp = getelementptr { i64, i64, i64, i64 }* null, i32 0, i32 3 ; <i64*> [#uses=1]
- %tmp.upgrd.1 = load i64* %tmp ; <i64> [#uses=1]
- %tmp8.ui = load i64* null ; <i64> [#uses=1]
- %tmp8 = bitcast i64 %tmp8.ui to i64 ; <i64> [#uses=1]
- %tmp9 = and i64 %tmp8, %tmp.upgrd.1 ; <i64> [#uses=1]
- %sext = trunc i64 %tmp9 to i32 ; <i32> [#uses=1]
- %tmp27.i = sext i32 %sext to i64 ; <i64> [#uses=1]
- tail call void @foo( i32 0, i64 %tmp27.i )
- unreachable
-}
-
-declare void @foo(i32, i64)
-
diff --git a/test/Transforms/InstCombine/2006-09-11-EmptyStructCrash.ll b/test/Transforms/InstCombine/2006-09-11-EmptyStructCrash.ll
deleted file mode 100644
index bf9252a349ea5..0000000000000
--- a/test/Transforms/InstCombine/2006-09-11-EmptyStructCrash.ll
+++ /dev/null
@@ -1,46 +0,0 @@
-; PR905
-; RUN: llvm-as < %s | opt -instcombine -disable-output
-; END.
-
-%RPYTHON_EXCEPTION = type { %RPYTHON_EXCEPTION_VTABLE* }
-%RPYTHON_EXCEPTION_VTABLE = type { %RPYTHON_EXCEPTION_VTABLE*, i32, i32, %RPyOpaque_RuntimeTypeInfo*, %arraytype_Char*, %functiontype_12* }
-%RPyOpaque_RuntimeTypeInfo = type opaque*
-%arraytype_Char = type { i32, [0 x i8] }
-%fixarray_array1019 = type [1019 x i8*]
-%functiontype_12 = type %RPYTHON_EXCEPTION* ()
-%functiontype_14 = type void (%structtype_pypy.rpython.memory.gc.MarkSweepGC*)
-%structtype_AddressLinkedListChunk = type { %structtype_AddressLinkedListChunk*, i32, %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 { i32, %structtype_header* }
-%structtype_pypy.rpython.memory.gc.MarkSweepGC = type { %structtype_exceptions.Exception, i32, i32, i1, %structtype_gc_pool*, i32, %structtype_header*, %structtype_header*, %structtype_gc_pool_node*, double, double }
-
-define fastcc void @pypy_MarkSweepGC.collect() {
-block0:
- %v1221 = load %structtype_AddressLinkedListChunk** null ; <%structtype_AddressLinkedListChunk*> [#uses=1]
- %v1222 = icmp ne %structtype_AddressLinkedListChunk* %v1221, null ; <i1> [#uses=1]
- br i1 %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 = bitcast %structtype_gc_pool* %v1459 to i8* ; <i8*> [#uses=1]
- %tmp_873 = ptrtoint i8* %v1460 to i32 ; <i32> [#uses=1]
- %tmp_874 = sub i32 %tmp_873, 0 ; <i32> [#uses=1]
- %v1461 = inttoptr i32 %tmp_874 to i8* ; <i8*> [#uses=1]
- %v1462 = bitcast i8* %v1461 to %structtype_header* ; <%structtype_header*> [#uses=1]
- %tmp_876 = getelementptr %structtype_header* %v1462, i32 0, i32 0 ; <i32*> [#uses=1]
- store i32 0, i32* %tmp_876
- ret void
-
-block79: ; preds = %block0
- %v1291 = load %structtype_gc_pool** null ; <%structtype_gc_pool*> [#uses=1]
- %v1292 = icmp ne %structtype_gc_pool* %v1291, null ; <i1> [#uses=1]
- br i1 %v1292, label %block67, label %block22
-}
diff --git a/test/Transforms/InstCombine/2006-11-27-XorBug.ll b/test/Transforms/InstCombine/2006-11-27-XorBug.ll
deleted file mode 100644
index 631b43f61f9e0..0000000000000
--- a/test/Transforms/InstCombine/2006-11-27-XorBug.ll
+++ /dev/null
@@ -1,12 +0,0 @@
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep and.*32
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
-; RUN: not grep or.*153
-; PR1014
-
-define i32 @test(i32 %tmp1) {
- %ovm = and i32 %tmp1, 32 ; <i32> [#uses=1]
- %ov3 = add i32 %ovm, 145 ; <i32> [#uses=1]
- %ov110 = xor i32 %ov3, 153 ; <i32> [#uses=1]
- ret i32 %ov110
-}
-
diff --git a/test/Transforms/InstCombine/2006-12-10-ICmp-GEP-GEP.ll b/test/Transforms/InstCombine/2006-12-10-ICmp-GEP-GEP.ll
deleted file mode 100644
index 15f73622d6148..0000000000000
--- a/test/Transforms/InstCombine/2006-12-10-ICmp-GEP-GEP.ll
+++ /dev/null
@@ -1,162 +0,0 @@
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
-; RUN: grep -v {icmp ult i32}
-; END.
-
-target datalayout = "e-p:32:32"
-target triple = "i686-pc-linux-gnu"
- %struct.edgeBox = type { i16, i16, i16, i16, i16, i16 }
-@qsz = external global i32 ; <i32*> [#uses=12]
-@thresh = external global i32 ; <i32*> [#uses=2]
-@mthresh = external global i32 ; <i32*> [#uses=1]
-
-define i32 @qsorte(i8* %base, i32 %n, i32 %size) {
-entry:
- %tmp = icmp sgt i32 %n, 1 ; <i1> [#uses=1]
- br i1 %tmp, label %cond_next, label %return
-
-cond_next: ; preds = %entry
- store i32 %size, i32* @qsz
- %tmp3 = shl i32 %size, 2 ; <i32> [#uses=1]
- store i32 %tmp3, i32* @thresh
- %tmp4 = load i32* @qsz ; <i32> [#uses=1]
- %tmp5 = mul i32 %tmp4, 6 ; <i32> [#uses=1]
- store i32 %tmp5, i32* @mthresh
- %tmp6 = load i32* @qsz ; <i32> [#uses=1]
- %tmp8 = mul i32 %tmp6, %n ; <i32> [#uses=1]
- %tmp9 = getelementptr i8* %base, i32 %tmp8 ; <i8*> [#uses=3]
- %tmp11 = icmp sgt i32 %n, 3 ; <i1> [#uses=1]
- br i1 %tmp11, label %cond_true12, label %bb30
-
-cond_true12: ; preds = %cond_next
- %tmp156 = call i32 @qste( i8* %base, i8* %tmp9 ) ; <i32> [#uses=0]
- %tmp16 = load i32* @thresh ; <i32> [#uses=1]
- %tmp18 = getelementptr i8* %base, i32 %tmp16 ; <i8*> [#uses=2]
- %tmp3117 = load i32* @qsz ; <i32> [#uses=1]
- %tmp3318 = getelementptr i8* %base, i32 %tmp3117 ; <i8*> [#uses=2]
- %tmp3621 = icmp ult i8* %tmp3318, %tmp18 ; <i1> [#uses=1]
- br i1 %tmp3621, label %bb, label %bb37
-
-bb: ; preds = %bb30, %cond_true12
- %hi.0.0 = phi i8* [ %tmp18, %cond_true12 ], [ %hi.0, %bb30 ] ; <i8*> [#uses=4]
- %j.1.0 = phi i8* [ %base, %cond_true12 ], [ %j.1, %bb30 ] ; <i8*> [#uses=4]
- %tmp33.0 = phi i8* [ %tmp3318, %cond_true12 ], [ %tmp33, %bb30 ] ; <i8*> [#uses=6]
- %tmp3.upgrd.1 = bitcast i8* %j.1.0 to %struct.edgeBox* ; <%struct.edgeBox*> [#uses=1]
- %tmp4.upgrd.2 = bitcast i8* %tmp33.0 to %struct.edgeBox* ; <%struct.edgeBox*> [#uses=1]
- %tmp255 = call i32 @comparee( %struct.edgeBox* %tmp3.upgrd.1, %struct.edgeBox* %tmp4.upgrd.2 ) ; <i32> [#uses=1]
- %tmp26 = icmp sgt i32 %tmp255, 0 ; <i1> [#uses=1]
- br i1 %tmp26, label %cond_true27, label %bb30
-
-cond_true27: ; preds = %bb
- br label %bb30
-
-bb30: ; preds = %cond_true27, %bb, %cond_next
- %hi.0.3 = phi i8* [ %hi.0.0, %cond_true27 ], [ %hi.0.0, %bb ], [ undef, %cond_next ] ; <i8*> [#uses=0]
- %j.1.3 = phi i8* [ %j.1.0, %cond_true27 ], [ %j.1.0, %bb ], [ undef, %cond_next ] ; <i8*> [#uses=0]
- %tmp33.3 = phi i8* [ %tmp33.0, %cond_true27 ], [ %tmp33.0, %bb ], [ undef, %cond_next ] ; <i8*> [#uses=0]
- %hi.0 = phi i8* [ %tmp9, %cond_next ], [ %hi.0.0, %bb ], [ %hi.0.0, %cond_true27 ] ; <i8*> [#uses=2]
- %lo.1 = phi i8* [ %tmp33.0, %cond_true27 ], [ %tmp33.0, %bb ], [ %base, %cond_next ] ; <i8*> [#uses=1]
- %j.1 = phi i8* [ %tmp33.0, %cond_true27 ], [ %j.1.0, %bb ], [ %base, %cond_next ] ; <i8*> [#uses=2]
- %tmp31 = load i32* @qsz ; <i32> [#uses=1]
- %tmp33 = getelementptr i8* %lo.1, i32 %tmp31 ; <i8*> [#uses=2]
- %tmp36 = icmp ult i8* %tmp33, %hi.0 ; <i1> [#uses=1]
- br i1 %tmp36, label %bb, label %bb37
-
-bb37: ; preds = %bb30, %cond_true12
- %j.1.1 = phi i8* [ %j.1, %bb30 ], [ %base, %cond_true12 ] ; <i8*> [#uses=4]
- %tmp40 = icmp eq i8* %j.1.1, %base ; <i1> [#uses=1]
- br i1 %tmp40, label %bb115, label %cond_true41
-
-cond_true41: ; preds = %bb37
- %tmp43 = load i32* @qsz ; <i32> [#uses=1]
- %tmp45 = getelementptr i8* %base, i32 %tmp43 ; <i8*> [#uses=2]
- %tmp6030 = icmp ult i8* %base, %tmp45 ; <i1> [#uses=1]
- br i1 %tmp6030, label %bb46, label %bb115
-
-bb46: ; preds = %bb46, %cond_true41
- %j.2.0 = phi i8* [ %j.1.1, %cond_true41 ], [ %tmp52, %bb46 ] ; <i8*> [#uses=3]
- %i.2.0 = phi i8* [ %base, %cond_true41 ], [ %tmp56, %bb46 ] ; <i8*> [#uses=3]
- %tmp.upgrd.3 = load i8* %j.2.0 ; <i8> [#uses=2]
- %tmp49 = load i8* %i.2.0 ; <i8> [#uses=1]
- store i8 %tmp49, i8* %j.2.0
- %tmp52 = getelementptr i8* %j.2.0, i32 1 ; <i8*> [#uses=2]
- store i8 %tmp.upgrd.3, i8* %i.2.0
- %tmp56 = getelementptr i8* %i.2.0, i32 1 ; <i8*> [#uses=3]
- %tmp60 = icmp ult i8* %tmp56, %tmp45 ; <i1> [#uses=1]
- br i1 %tmp60, label %bb46, label %bb115
-
-bb66: ; preds = %bb115, %bb66
- %hi.3 = phi i8* [ %tmp118, %bb115 ], [ %tmp70, %bb66 ] ; <i8*> [#uses=2]
- %tmp67 = load i32* @qsz ; <i32> [#uses=2]
- %tmp68 = sub i32 0, %tmp67 ; <i32> [#uses=1]
- %tmp70 = getelementptr i8* %hi.3, i32 %tmp68 ; <i8*> [#uses=2]
- %tmp.upgrd.4 = bitcast i8* %tmp70 to %struct.edgeBox* ; <%struct.edgeBox*> [#uses=1]
- %tmp1 = bitcast i8* %tmp118 to %struct.edgeBox* ; <%struct.edgeBox*> [#uses=1]
- %tmp732 = call i32 @comparee( %struct.edgeBox* %tmp.upgrd.4, %struct.edgeBox* %tmp1 ) ; <i32> [#uses=1]
- %tmp74 = icmp sgt i32 %tmp732, 0 ; <i1> [#uses=1]
- br i1 %tmp74, label %bb66, label %bb75
-
-bb75: ; preds = %bb66
- %tmp76 = load i32* @qsz ; <i32> [#uses=1]
- %tmp70.sum = sub i32 %tmp76, %tmp67 ; <i32> [#uses=1]
- %tmp78 = getelementptr i8* %hi.3, i32 %tmp70.sum ; <i8*> [#uses=3]
- %tmp81 = icmp eq i8* %tmp78, %tmp118 ; <i1> [#uses=1]
- br i1 %tmp81, label %bb115, label %cond_true82
-
-cond_true82: ; preds = %bb75
- %tmp83 = load i32* @qsz ; <i32> [#uses=1]
- %tmp118.sum = add i32 %tmp116, %tmp83 ; <i32> [#uses=1]
- %tmp85 = getelementptr i8* %min.1, i32 %tmp118.sum ; <i8*> [#uses=1]
- %tmp10937 = getelementptr i8* %tmp85, i32 -1 ; <i8*> [#uses=3]
- %tmp11239 = icmp ult i8* %tmp10937, %tmp118 ; <i1> [#uses=1]
- br i1 %tmp11239, label %bb115, label %bb86
-
-bb86: ; preds = %bb104, %cond_true82
- %tmp109.0 = phi i8* [ %tmp10937, %cond_true82 ], [ %tmp109, %bb104 ] ; <i8*> [#uses=5]
- %i.5.2 = phi i8* [ %i.5.3, %cond_true82 ], [ %i.5.1, %bb104 ] ; <i8*> [#uses=0]
- %tmp100.2 = phi i8* [ %tmp100.3, %cond_true82 ], [ %tmp100.1, %bb104 ] ; <i8*> [#uses=0]
- %tmp88 = load i8* %tmp109.0 ; <i8> [#uses=2]
- %tmp9746 = load i32* @qsz ; <i32> [#uses=1]
- %tmp9847 = sub i32 0, %tmp9746 ; <i32> [#uses=1]
- %tmp10048 = getelementptr i8* %tmp109.0, i32 %tmp9847 ; <i8*> [#uses=3]
- %tmp10350 = icmp ult i8* %tmp10048, %tmp78 ; <i1> [#uses=1]
- br i1 %tmp10350, label %bb104, label %bb91
-
-bb91: ; preds = %bb91, %bb86
- %i.5.0 = phi i8* [ %tmp109.0, %bb86 ], [ %tmp100.0, %bb91 ] ; <i8*> [#uses=1]
- %tmp100.0 = phi i8* [ %tmp10048, %bb86 ], [ %tmp100, %bb91 ] ; <i8*> [#uses=4]
- %tmp93 = load i8* %tmp100.0 ; <i8> [#uses=1]
- store i8 %tmp93, i8* %i.5.0
- %tmp97 = load i32* @qsz ; <i32> [#uses=1]
- %tmp98 = sub i32 0, %tmp97 ; <i32> [#uses=1]
- %tmp100 = getelementptr i8* %tmp100.0, i32 %tmp98 ; <i8*> [#uses=3]
- %tmp103 = icmp ult i8* %tmp100, %tmp78 ; <i1> [#uses=1]
- br i1 %tmp103, label %bb104, label %bb91
-
-bb104: ; preds = %bb91, %bb86
- %i.5.1 = phi i8* [ %tmp109.0, %bb86 ], [ %tmp100.0, %bb91 ] ; <i8*> [#uses=4]
- %tmp100.1 = phi i8* [ %tmp10048, %bb86 ], [ %tmp100, %bb91 ] ; <i8*> [#uses=3]
- store i8 %tmp88, i8* %i.5.1
- %tmp109 = getelementptr i8* %tmp109.0, i32 -1 ; <i8*> [#uses=3]
- %tmp112 = icmp ult i8* %tmp109, %tmp118 ; <i1> [#uses=1]
- br i1 %tmp112, label %bb115, label %bb86
-
-bb115: ; preds = %bb104, %cond_true82, %bb75, %bb46, %cond_true41, %bb37
- %tmp109.1 = phi i8* [ undef, %bb37 ], [ %tmp109.1, %bb75 ], [ %tmp10937, %cond_true82 ], [ %tmp109, %bb104 ], [ undef, %bb46 ], [ undef, %cond_true41 ] ; <i8*> [#uses=1]
- %i.5.3 = phi i8* [ undef, %bb37 ], [ %i.5.3, %bb75 ], [ %i.5.3, %cond_true82 ], [ %i.5.1, %bb104 ], [ undef, %bb46 ], [ undef, %cond_true41 ] ; <i8*> [#uses=3]
- %tmp100.3 = phi i8* [ undef, %bb37 ], [ %tmp100.3, %bb75 ], [ %tmp100.3, %cond_true82 ], [ %tmp100.1, %bb104 ], [ undef, %bb46 ], [ undef, %cond_true41 ] ; <i8*> [#uses=3]
- %min.1 = phi i8* [ %tmp118, %bb104 ], [ %tmp118, %bb75 ], [ %base, %bb37 ], [ %base, %bb46 ], [ %base, %cond_true41 ], [ %tmp118, %cond_true82 ] ; <i8*> [#uses=2]
- %j.5 = phi i8* [ %tmp100.1, %bb104 ], [ %j.5, %bb75 ], [ %tmp52, %bb46 ], [ %j.1.1, %bb37 ], [ %j.1.1, %cond_true41 ], [ %j.5, %cond_true82 ] ; <i8*> [#uses=2]
- %i.4 = phi i8* [ %i.5.1, %bb104 ], [ %i.4, %bb75 ], [ %tmp56, %bb46 ], [ undef, %bb37 ], [ %base, %cond_true41 ], [ %i.4, %cond_true82 ] ; <i8*> [#uses=2]
- %c.4 = phi i8 [ %tmp88, %bb104 ], [ %c.4, %bb75 ], [ %tmp.upgrd.3, %bb46 ], [ undef, %bb37 ], [ undef, %cond_true41 ], [ %c.4, %cond_true82 ] ; <i8> [#uses=2]
- %tmp116 = load i32* @qsz ; <i32> [#uses=2]
- %tmp118 = getelementptr i8* %min.1, i32 %tmp116 ; <i8*> [#uses=9]
- %tmp122 = icmp ult i8* %tmp118, %tmp9 ; <i1> [#uses=1]
- br i1 %tmp122, label %bb66, label %return
-
-return: ; preds = %bb115, %entry
- ret i32 undef
-}
-
-declare i32 @qste(i8*, i8*)
-
-declare i32 @comparee(%struct.edgeBox*, %struct.edgeBox*)
diff --git a/test/Transforms/InstCombine/2007-03-31-InfiniteLoop.ll b/test/Transforms/InstCombine/2007-03-31-InfiniteLoop.ll
deleted file mode 100644
index 640f6d57504b5..0000000000000
--- a/test/Transforms/InstCombine/2007-03-31-InfiniteLoop.ll
+++ /dev/null
@@ -1,302 +0,0 @@
-; RUN: llvm-as < %s | opt -instcombine -disable-output
-; END.
-
-target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64"
-target triple = "i686-apple-darwin8"
- %struct.ZZIP_FILE = type { %struct.zzip_dir*, i32, i32, i32, i32, i32, i32, i64, i8*, i64, %struct.z_stream, %struct.zzip_plugin_io* }
- %struct.anon = type { %struct.ZZIP_FILE*, i8* }
- %struct.internal_state = type { i32 }
- %struct.z_stream = type { i8*, i32, i32, i8*, i32, i32, i8*, %struct.internal_state*, i8* (i8*, i32, i32)*, void (i8*, i8*)*, i8*, i32, i32, i32 }
- %struct.zzip_dir = type { i32, i32, i32, %struct.anon, %struct.zzip_dir_hdr*, %struct.zzip_dir_hdr*, %struct.ZZIP_FILE*, %struct.zzip_dirent, i8*, i8*, i8**, %struct.zzip_plugin_io* }
- %struct.zzip_dir_hdr = type { i32, i32, i32, i32, i16, i16, i8, i16, [1 x i8] }
- %struct.zzip_dirent = type { i32, i32, i32, i16, i8*, i32, i32 }
- %struct.zzip_plugin_io = type { i32 (i8*, i32, ...)*, i32 (i32)*, i32 (i32, i8*, i32)*, i64 (i32, i64, i32)*, i64 (i32)*, i32 }
-
-define %struct.ZZIP_FILE* @zzip_open_shared_io(%struct.ZZIP_FILE* %stream, i8* %filename, i32 %o_flags, i32 %o_modes, i8** %ext, %struct.zzip_plugin_io* %io) {
-entry:
- %basename = alloca [1024 x i8], align 16 ; <[1024 x i8]*> [#uses=5]
- %e = alloca i32, align 4 ; <i32*> [#uses=4]
- icmp eq %struct.ZZIP_FILE* %stream, null ; <i1>:0 [#uses=1]
- br i1 %0, label %cond_next22, label %cond_true
-
-cond_true: ; preds = %entry
- %tmp3 = getelementptr %struct.ZZIP_FILE* %stream, i32 0, i32 0 ; <%struct.zzip_dir**> [#uses=1]
- %tmp4 = load %struct.zzip_dir** %tmp3 ; <%struct.zzip_dir*> [#uses=1]
- icmp eq %struct.zzip_dir* %tmp4, null ; <i1>:1 [#uses=1]
- br i1 %1, label %cond_next22, label %cond_true5
-
-cond_true5: ; preds = %cond_true
- icmp eq i8** %ext, null ; <i1>:2 [#uses=1]
- br i1 %2, label %cond_true7, label %cond_next
-
-cond_true7: ; preds = %cond_true5
- %tmp9 = getelementptr %struct.ZZIP_FILE* %stream, i32 0, i32 0 ; <%struct.zzip_dir**> [#uses=1]
- %tmp10 = load %struct.zzip_dir** %tmp9 ; <%struct.zzip_dir*> [#uses=1]
- %tmp11 = getelementptr %struct.zzip_dir* %tmp10, i32 0, i32 10 ; <i8***> [#uses=1]
- %tmp12 = load i8*** %tmp11 ; <i8**> [#uses=1]
- br label %cond_next
-
-cond_next: ; preds = %cond_true7, %cond_true5
- %ext_addr.0 = phi i8** [ %ext, %cond_true5 ], [ %tmp12, %cond_true7 ] ; <i8**> [#uses=2]
- icmp eq %struct.zzip_plugin_io* %io, null ; <i1>:3 [#uses=1]
- br i1 %3, label %cond_true14, label %cond_next22
-
-cond_true14: ; preds = %cond_next
- %tmp16 = getelementptr %struct.ZZIP_FILE* %stream, i32 0, i32 0 ; <%struct.zzip_dir**> [#uses=1]
- %tmp17 = load %struct.zzip_dir** %tmp16 ; <%struct.zzip_dir*> [#uses=1]
- %tmp18 = getelementptr %struct.zzip_dir* %tmp17, i32 0, i32 11 ; <%struct.zzip_plugin_io**> [#uses=1]
- %tmp19 = load %struct.zzip_plugin_io** %tmp18 ; <%struct.zzip_plugin_io*> [#uses=1]
- br label %cond_next22
-
-cond_next22: ; preds = %cond_true14, %cond_next, %cond_true, %entry
- %io_addr.0 = phi %struct.zzip_plugin_io* [ %io, %entry ], [ %io, %cond_true ], [ %io, %cond_next ], [ %tmp19, %cond_true14 ] ; <%struct.zzip_plugin_io*> [#uses=2]
- %ext_addr.1 = phi i8** [ %ext, %entry ], [ %ext, %cond_true ], [ %ext_addr.0, %cond_next ], [ %ext_addr.0, %cond_true14 ] ; <i8**> [#uses=2]
- icmp eq %struct.zzip_plugin_io* %io_addr.0, null ; <i1>:4 [#uses=1]
- br i1 %4, label %cond_true24, label %cond_next26
-
-cond_true24: ; preds = %cond_next22
- %tmp25 = call %struct.zzip_plugin_io* @zzip_get_default_io( ) ; <%struct.zzip_plugin_io*> [#uses=1]
- br label %cond_next26
-
-cond_next26: ; preds = %cond_true24, %cond_next22
- %io_addr.1 = phi %struct.zzip_plugin_io* [ %io_addr.0, %cond_next22 ], [ %tmp25, %cond_true24 ] ; <%struct.zzip_plugin_io*> [#uses=4]
- %tmp28 = and i32 %o_modes, 81920 ; <i32> [#uses=1]
- icmp eq i32 %tmp28, 0 ; <i1>:5 [#uses=1]
- br i1 %5, label %try_real, label %try_zzip
-
-try_real: ; preds = %bb223, %cond_next26
- %fd160.2 = phi i32 [ undef, %cond_next26 ], [ %fd160.0, %bb223 ] ; <i32> [#uses=1]
- %len.2 = phi i32 [ undef, %cond_next26 ], [ %len.0, %bb223 ] ; <i32> [#uses=1]
- %o_flags_addr.1 = phi i32 [ %o_flags, %cond_next26 ], [ %o_flags_addr.0, %bb223 ] ; <i32> [#uses=2]
- %tmp33348 = and i32 %o_modes, 262144 ; <i32> [#uses=1]
- icmp eq i32 %tmp33348, 0 ; <i1>:6 [#uses=1]
- br i1 %6, label %cond_next38, label %cond_true35
-
-cond_true35: ; preds = %try_real
- %tmp36 = call %struct.zzip_plugin_io* @zzip_get_default_io( ) ; <%struct.zzip_plugin_io*> [#uses=1]
- br label %cond_next38
-
-cond_next38: ; preds = %cond_true35, %try_real
- %iftmp.21.0 = phi %struct.zzip_plugin_io* [ %tmp36, %cond_true35 ], [ %io_addr.1, %try_real ] ; <%struct.zzip_plugin_io*> [#uses=3]
- %tmp41 = getelementptr %struct.zzip_plugin_io* %iftmp.21.0, i32 0, i32 0 ; <i32 (i8*, i32, ...)**> [#uses=1]
- %tmp42 = load i32 (i8*, i32, ...)** %tmp41 ; <i32 (i8*, i32, ...)*> [#uses=1]
- %tmp45 = call i32 (i8*, i32, ...)* %tmp42( i8* %filename, i32 %o_flags_addr.1 ) ; <i32> [#uses=3]
- icmp eq i32 %tmp45, -1 ; <i1>:7 [#uses=1]
- br i1 %7, label %cond_next67, label %cond_true47
-
-cond_true47: ; preds = %cond_next38
- %tmp48 = call i8* @cli_calloc( i32 1, i32 108 ) ; <i8*> [#uses=2]
- %tmp4849 = bitcast i8* %tmp48 to %struct.ZZIP_FILE* ; <%struct.ZZIP_FILE*> [#uses=3]
- icmp eq i8* %tmp48, null ; <i1>:8 [#uses=1]
- br i1 %8, label %cond_true51, label %cond_next58
-
-cond_true51: ; preds = %cond_true47
- %tmp53 = getelementptr %struct.zzip_plugin_io* %iftmp.21.0, i32 0, i32 1 ; <i32 (i32)**> [#uses=1]
- %tmp54 = load i32 (i32)** %tmp53 ; <i32 (i32)*> [#uses=1]
- %tmp56 = call i32 %tmp54( i32 %tmp45 ) ; <i32> [#uses=0]
- ret %struct.ZZIP_FILE* null
-
-cond_next58: ; preds = %cond_true47
- %tmp60 = getelementptr %struct.ZZIP_FILE* %tmp4849, i32 0, i32 1 ; <i32*> [#uses=1]
- store i32 %tmp45, i32* %tmp60
- %tmp63 = getelementptr %struct.ZZIP_FILE* %tmp4849, i32 0, i32 11 ; <%struct.zzip_plugin_io**> [#uses=1]
- store %struct.zzip_plugin_io* %iftmp.21.0, %struct.zzip_plugin_io** %tmp63
- ret %struct.ZZIP_FILE* %tmp4849
-
-cond_next67: ; preds = %cond_next38
- %tmp70716 = and i32 %o_modes, 16384 ; <i32> [#uses=1]
- icmp eq i32 %tmp70716, 0 ; <i1>:9 [#uses=1]
- br i1 %9, label %try_zzip, label %return
-
-try_zzip: ; preds = %cond_next67, %cond_next26
- %fd160.3 = phi i32 [ %fd160.2, %cond_next67 ], [ undef, %cond_next26 ] ; <i32> [#uses=6]
- %len.3 = phi i32 [ %len.2, %cond_next67 ], [ undef, %cond_next26 ] ; <i32> [#uses=3]
- %o_flags_addr.3 = phi i32 [ %o_flags_addr.1, %cond_next67 ], [ %o_flags, %cond_next26 ] ; <i32> [#uses=4]
- %tmp76 = and i32 %o_flags_addr.3, 513 ; <i32> [#uses=1]
- icmp eq i32 %tmp76, 0 ; <i1>:10 [#uses=1]
- br i1 %10, label %cond_next80, label %cond_true77
-
-cond_true77: ; preds = %try_zzip
- %tmp78 = call i32* @__error( ) ; <i32*> [#uses=1]
- store i32 22, i32* %tmp78
- ret %struct.ZZIP_FILE* null
-
-cond_next80: ; preds = %try_zzip
- %tmp83844 = and i32 %o_flags_addr.3, 2 ; <i32> [#uses=1]
- icmp eq i32 %tmp83844, 0 ; <i1>:11 [#uses=1]
- %tmp87 = xor i32 %o_flags_addr.3, 2 ; <i32> [#uses=1]
- %o_flags_addr.0 = select i1 %11, i32 %o_flags_addr.3, i32 %tmp87 ; <i32> [#uses=2]
- %basename90 = getelementptr [1024 x i8]* %basename, i32 0, i32 0 ; <i8*> [#uses=1]
- %tmp92 = call i8* @strcpy( i8* %basename90, i8* %filename ) ; <i8*> [#uses=0]
- icmp eq %struct.ZZIP_FILE* %stream, null ; <i1>:12 [#uses=1]
- br i1 %12, label %bb219, label %cond_true94
-
-cond_true94: ; preds = %cond_next80
- %tmp96 = getelementptr %struct.ZZIP_FILE* %stream, i32 0, i32 0 ; <%struct.zzip_dir**> [#uses=1]
- %tmp97 = load %struct.zzip_dir** %tmp96 ; <%struct.zzip_dir*> [#uses=1]
- icmp eq %struct.zzip_dir* %tmp97, null ; <i1>:13 [#uses=1]
- br i1 %13, label %bb219, label %cond_true98
-
-cond_true98: ; preds = %cond_true94
- %tmp100 = getelementptr %struct.ZZIP_FILE* %stream, i32 0, i32 0 ; <%struct.zzip_dir**> [#uses=1]
- %tmp101 = load %struct.zzip_dir** %tmp100 ; <%struct.zzip_dir*> [#uses=1]
- %tmp102 = getelementptr %struct.zzip_dir* %tmp101, i32 0, i32 9 ; <i8**> [#uses=1]
- %tmp103 = load i8** %tmp102 ; <i8*> [#uses=1]
- icmp eq i8* %tmp103, null ; <i1>:14 [#uses=1]
- br i1 %14, label %bb219, label %cond_true104
-
-cond_true104: ; preds = %cond_true98
- %tmp106 = getelementptr %struct.ZZIP_FILE* %stream, i32 0, i32 0 ; <%struct.zzip_dir**> [#uses=1]
- %tmp107 = load %struct.zzip_dir** %tmp106 ; <%struct.zzip_dir*> [#uses=1]
- %tmp108 = getelementptr %struct.zzip_dir* %tmp107, i32 0, i32 9 ; <i8**> [#uses=1]
- %tmp109 = load i8** %tmp108 ; <i8*> [#uses=1]
- %tmp110 = call i32 @strlen( i8* %tmp109 ) ; <i32> [#uses=7]
- %tmp112 = getelementptr %struct.ZZIP_FILE* %stream, i32 0, i32 0 ; <%struct.zzip_dir**> [#uses=1]
- %tmp113 = load %struct.zzip_dir** %tmp112 ; <%struct.zzip_dir*> [#uses=1]
- %tmp114 = getelementptr %struct.zzip_dir* %tmp113, i32 0, i32 9 ; <i8**> [#uses=1]
- %tmp115 = load i8** %tmp114 ; <i8*> [#uses=1]
- %tmp118 = call i32 @memcmp( i8* %filename, i8* %tmp115, i32 %tmp110 ) ; <i32> [#uses=1]
- icmp eq i32 %tmp118, 0 ; <i1>:15 [#uses=1]
- br i1 %15, label %cond_true119, label %bb219
-
-cond_true119: ; preds = %cond_true104
- %tmp122 = getelementptr i8* %filename, i32 %tmp110 ; <i8*> [#uses=1]
- %tmp123 = load i8* %tmp122 ; <i8> [#uses=1]
- icmp eq i8 %tmp123, 47 ; <i1>:16 [#uses=1]
- br i1 %16, label %cond_true124, label %bb219
-
-cond_true124: ; preds = %cond_true119
- %tmp126 = add i32 %tmp110, 1 ; <i32> [#uses=1]
- %tmp128 = getelementptr i8* %filename, i32 %tmp126 ; <i8*> [#uses=1]
- %tmp129 = load i8* %tmp128 ; <i8> [#uses=1]
- icmp eq i8 %tmp129, 0 ; <i1>:17 [#uses=1]
- br i1 %17, label %bb219, label %cond_true130
-
-cond_true130: ; preds = %cond_true124
- %tmp134.sum = add i32 %tmp110, 1 ; <i32> [#uses=1]
- %tmp135 = getelementptr i8* %filename, i32 %tmp134.sum ; <i8*> [#uses=1]
- %tmp137 = getelementptr %struct.ZZIP_FILE* %stream, i32 0, i32 0 ; <%struct.zzip_dir**> [#uses=1]
- %tmp138 = load %struct.zzip_dir** %tmp137 ; <%struct.zzip_dir*> [#uses=1]
- %tmp140 = call %struct.ZZIP_FILE* @zzip_file_open( %struct.zzip_dir* %tmp138, i8* %tmp135, i32 %o_modes, i32 -1 ) ; <%struct.ZZIP_FILE*> [#uses=3]
- icmp eq %struct.ZZIP_FILE* %tmp140, null ; <i1>:18 [#uses=1]
- br i1 %18, label %cond_true142, label %return
-
-cond_true142: ; preds = %cond_true130
- %tmp144 = getelementptr %struct.ZZIP_FILE* %stream, i32 0, i32 0 ; <%struct.zzip_dir**> [#uses=1]
- %tmp145 = load %struct.zzip_dir** %tmp144 ; <%struct.zzip_dir*> [#uses=1]
- %tmp146 = getelementptr %struct.zzip_dir* %tmp145, i32 0, i32 1 ; <i32*> [#uses=1]
- %tmp147 = load i32* %tmp146 ; <i32> [#uses=1]
- %tmp148 = call i32 @zzip_errno( i32 %tmp147 ) ; <i32> [#uses=1]
- %tmp149 = call i32* @__error( ) ; <i32*> [#uses=1]
- store i32 %tmp148, i32* %tmp149
- ret %struct.ZZIP_FILE* %tmp140
-
-bb: ; preds = %bb219
- store i32 0, i32* %e
- store i8 0, i8* %tmp221
- %basename162 = getelementptr [1024 x i8]* %basename, i32 0, i32 0 ; <i8*> [#uses=1]
- %tmp166 = call i32 @__zzip_try_open( i8* %basename162, i32 %o_flags_addr.0, i8** %ext_addr.1, %struct.zzip_plugin_io* %io_addr.1 ) ; <i32> [#uses=4]
- icmp eq i32 %tmp166, -1 ; <i1>:19 [#uses=1]
- br i1 %19, label %bb219, label %cond_next169
-
-cond_next169: ; preds = %bb
- %tmp173 = call %struct.zzip_dir* @zzip_dir_fdopen_ext_io( i32 %tmp166, i32* %e, i8** %ext_addr.1, %struct.zzip_plugin_io* %io_addr.1 ) ; <%struct.zzip_dir*> [#uses=7]
- %tmp174 = load i32* %e ; <i32> [#uses=1]
- icmp eq i32 %tmp174, 0 ; <i1>:20 [#uses=1]
- br i1 %20, label %cond_next185, label %cond_true175
-
-cond_true175: ; preds = %cond_next169
- %tmp176 = load i32* %e ; <i32> [#uses=1]
- %tmp177 = call i32 @zzip_errno( i32 %tmp176 ) ; <i32> [#uses=1]
- %tmp178 = call i32* @__error( ) ; <i32*> [#uses=1]
- store i32 %tmp177, i32* %tmp178
- %tmp180 = getelementptr %struct.zzip_plugin_io* %io_addr.1, i32 0, i32 1 ; <i32 (i32)**> [#uses=1]
- %tmp181 = load i32 (i32)** %tmp180 ; <i32 (i32)*> [#uses=1]
- %tmp183 = call i32 %tmp181( i32 %tmp166 ) ; <i32> [#uses=0]
- ret %struct.ZZIP_FILE* null
-
-cond_next185: ; preds = %cond_next169
- %tmp186187 = ptrtoint i8* %tmp221 to i32 ; <i32> [#uses=1]
- %basename188189 = ptrtoint [1024 x i8]* %basename to i32 ; <i32> [#uses=1]
- %tmp190 = sub i32 %tmp186187, %basename188189 ; <i32> [#uses=1]
- %tmp192.sum = add i32 %tmp190, 1 ; <i32> [#uses=1]
- %tmp193 = getelementptr i8* %filename, i32 %tmp192.sum ; <i8*> [#uses=1]
- %tmp196 = call %struct.ZZIP_FILE* @zzip_file_open( %struct.zzip_dir* %tmp173, i8* %tmp193, i32 %o_modes, i32 -1 ) ; <%struct.ZZIP_FILE*> [#uses=4]
- icmp eq %struct.ZZIP_FILE* %tmp196, null ; <i1>:21 [#uses=1]
- br i1 %21, label %cond_true198, label %cond_false204
-
-cond_true198: ; preds = %cond_next185
- %tmp200 = getelementptr %struct.zzip_dir* %tmp173, i32 0, i32 1 ; <i32*> [#uses=1]
- %tmp201 = load i32* %tmp200 ; <i32> [#uses=1]
- %tmp202 = call i32 @zzip_errno( i32 %tmp201 ) ; <i32> [#uses=1]
- %tmp203 = call i32* @__error( ) ; <i32*> [#uses=1]
- store i32 %tmp202, i32* %tmp203
- %tmp2169 = call i32 @zzip_dir_close( %struct.zzip_dir* %tmp173 ) ; <i32> [#uses=0]
- ret %struct.ZZIP_FILE* %tmp196
-
-cond_false204: ; preds = %cond_next185
- %tmp206 = getelementptr %struct.zzip_dir* %tmp173, i32 0, i32 9 ; <i8**> [#uses=1]
- %tmp207 = load i8** %tmp206 ; <i8*> [#uses=1]
- icmp eq i8* %tmp207, null ; <i1>:22 [#uses=1]
- br i1 %22, label %cond_true208, label %cond_next214
-
-cond_true208: ; preds = %cond_false204
- %basename209 = getelementptr [1024 x i8]* %basename, i32 0, i32 0 ; <i8*> [#uses=1]
- %tmp210 = call i8* @strdup( i8* %basename209 ) ; <i8*> [#uses=1]
- %tmp212 = getelementptr %struct.zzip_dir* %tmp173, i32 0, i32 9 ; <i8**> [#uses=1]
- store i8* %tmp210, i8** %tmp212
- %tmp21610 = call i32 @zzip_dir_close( %struct.zzip_dir* %tmp173 ) ; <i32> [#uses=0]
- ret %struct.ZZIP_FILE* %tmp196
-
-cond_next214: ; preds = %cond_false204
- %tmp216 = call i32 @zzip_dir_close( %struct.zzip_dir* %tmp173 ) ; <i32> [#uses=0]
- ret %struct.ZZIP_FILE* %tmp196
-
-bb219: ; preds = %bb, %cond_true124, %cond_true119, %cond_true104, %cond_true98, %cond_true94, %cond_next80
- %fd160.0 = phi i32 [ %fd160.3, %cond_next80 ], [ %tmp166, %bb ], [ %fd160.3, %cond_true94 ], [ %fd160.3, %cond_true98 ], [ %fd160.3, %cond_true104 ], [ %fd160.3, %cond_true119 ], [ %fd160.3, %cond_true124 ] ; <i32> [#uses=1]
- %len.0 = phi i32 [ %len.3, %cond_next80 ], [ %len.0, %bb ], [ %len.3, %cond_true94 ], [ %len.3, %cond_true98 ], [ %tmp110, %cond_true104 ], [ %tmp110, %cond_true119 ], [ %tmp110, %cond_true124 ] ; <i32> [#uses=2]
- %basename220 = getelementptr [1024 x i8]* %basename, i32 0, i32 0 ; <i8*> [#uses=1]
- %tmp221 = call i8* @strrchr( i8* %basename220, i32 47 ) ; <i8*> [#uses=3]
- icmp eq i8* %tmp221, null ; <i1>:23 [#uses=1]
- br i1 %23, label %bb223, label %bb
-
-bb223: ; preds = %bb219
- %tmp2262272 = and i32 %o_modes, 16384 ; <i32> [#uses=1]
- icmp eq i32 %tmp2262272, 0 ; <i1>:24 [#uses=1]
- br i1 %24, label %cond_next229, label %try_real
-
-cond_next229: ; preds = %bb223
- %tmp230 = call i32* @__error( ) ; <i32*> [#uses=1]
- store i32 2, i32* %tmp230
- ret %struct.ZZIP_FILE* null
-
-return: ; preds = %cond_true130, %cond_next67
- %retval.0 = phi %struct.ZZIP_FILE* [ null, %cond_next67 ], [ %tmp140, %cond_true130 ] ; <%struct.ZZIP_FILE*> [#uses=1]
- ret %struct.ZZIP_FILE* %retval.0
-}
-
-declare i32 @zzip_dir_close(%struct.zzip_dir*)
-
-declare i8* @strrchr(i8*, i32)
-
-declare %struct.ZZIP_FILE* @zzip_file_open(%struct.zzip_dir*, i8*, i32, i32)
-
-declare i8* @cli_calloc(i32, i32)
-
-declare i32 @zzip_errno(i32)
-
-declare i32* @__error()
-
-declare %struct.zzip_plugin_io* @zzip_get_default_io()
-
-declare i8* @strcpy(i8*, i8*)
-
-declare i32 @strlen(i8*)
-
-declare i32 @memcmp(i8*, i8*, i32)
-
-declare i32 @__zzip_try_open(i8*, i32, i8**, %struct.zzip_plugin_io*)
-
-declare %struct.zzip_dir* @zzip_dir_fdopen_ext_io(i32, i32*, i8**, %struct.zzip_plugin_io*)
-
-declare i8* @strdup(i8*)
diff --git a/test/Transforms/InstCombine/2007-09-05-EqualGEP.ll b/test/Transforms/InstCombine/2007-09-05-EqualGEP.ll
deleted file mode 100644
index 77bae78ccd471..0000000000000
--- a/test/Transforms/InstCombine/2007-09-05-EqualGEP.ll
+++ /dev/null
@@ -1,10 +0,0 @@
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep {ret i1 true}
-; PR1637
-
-define i1 @f(i8* %arr) {
- %X = getelementptr i8* %arr, i32 1
- %Y = getelementptr i8* %arr, i32 1
- %test = icmp uge i8* %X, %Y
- ret i1 %test
-}
-
diff --git a/test/Transforms/InstCombine/2007-10-28-EmptyField.ll b/test/Transforms/InstCombine/2007-10-28-EmptyField.ll
deleted file mode 100644
index 31ae985a6dd16..0000000000000
--- a/test/Transforms/InstCombine/2007-10-28-EmptyField.ll
+++ /dev/null
@@ -1,24 +0,0 @@
-; RUN: llvm-as < %s | opt -instcombine -disable-output
-; PR1749
-
-target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
-target triple = "x86_64-unknown-linux-gnu"
- %struct.__large_struct = type { [100 x i64] }
- %struct.compat_siginfo = type { i32, i32, i32, { [29 x i32] } }
- %struct.siginfo_t = type { i32, i32, i32, { { i32, i32, [0 x i8], %struct.sigval_t, i32 }, [88 x i8] } }
- %struct.sigval_t = type { i8* }
-
-define i32 @copy_siginfo_to_user32(%struct.compat_siginfo* %to, %struct.siginfo_t* %from) {
-entry:
- %from_addr = alloca %struct.siginfo_t* ; <%struct.siginfo_t**> [#uses=1]
- %tmp344 = load %struct.siginfo_t** %from_addr, align 8 ; <%struct.siginfo_t*> [#uses=1]
- %tmp345 = getelementptr %struct.siginfo_t* %tmp344, i32 0, i32 3 ; <{ { i32, i32, [0 x i8], %struct.sigval_t, i32 }, [88 x i8] }*> [#uses=1]
- %tmp346 = getelementptr { { i32, i32, [0 x i8], %struct.sigval_t, i32 }, [88 x i8] }* %tmp345, i32 0, i32 0 ; <{ i32, i32, [0 x i8], %struct.sigval_t, i32 }*> [#uses=1]
- %tmp346347 = bitcast { i32, i32, [0 x i8], %struct.sigval_t, i32 }* %tmp346 to { i32, i32, %struct.sigval_t }* ; <{ i32, i32, %struct.sigval_t }*> [#uses=1]
- %tmp348 = getelementptr { i32, i32, %struct.sigval_t }* %tmp346347, i32 0, i32 2 ; <%struct.sigval_t*> [#uses=1]
- %tmp349 = getelementptr %struct.sigval_t* %tmp348, i32 0, i32 0 ; <i8**> [#uses=1]
- %tmp349350 = bitcast i8** %tmp349 to i32* ; <i32*> [#uses=1]
- %tmp351 = load i32* %tmp349350, align 8 ; <i32> [#uses=1]
- %tmp360 = call i32 asm sideeffect "1:\09movl ${1:k},$2\0A2:\0A.section .fixup,\22ax\22\0A3:\09mov $3,$0\0A\09jmp 2b\0A.previous\0A.section __ex_table,\22a\22\0A\09.align 8\0A\09.quad 1b,3b\0A.previous", "=r,ir,*m,i,0,~{dirflag},~{fpsr},~{flags}"( i32 %tmp351, %struct.__large_struct* null, i32 -14, i32 0 ) ; <i32> [#uses=0]
- unreachable
-}
diff --git a/test/Transforms/InstCombine/2008-02-04-GEPIdxBug.ll b/test/Transforms/InstCombine/2008-02-04-GEPIdxBug.ll
deleted file mode 100644
index 6814e2febce18..0000000000000
--- a/test/Transforms/InstCombine/2008-02-04-GEPIdxBug.ll
+++ /dev/null
@@ -1,33 +0,0 @@
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep {icmp eq i32 %indvar, 0}
-; PR1978
-target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
-target triple = "i686-apple-darwin8"
- %struct.x = type <{ i8 }>
-@.str = internal constant [6 x i8] c"Main!\00" ; <[6 x i8]*> [#uses=1]
-@.str1 = internal constant [12 x i8] c"destroy %p\0A\00" ; <[12 x i8]*> [#uses=1]
-
-define i32 @main() nounwind {
-entry:
- %orientations = alloca [1 x [1 x %struct.x]] ; <[1 x [1 x %struct.x]]*> [#uses=2]
- %tmp3 = call i32 @puts( i8* getelementptr ([6 x i8]* @.str, i32 0, i32 0) ) nounwind ; <i32> [#uses=0]
- %tmp45 = getelementptr [1 x [1 x %struct.x]]* %orientations, i32 1, i32 0, i32 0 ; <%struct.x*> [#uses=1]
- %orientations62 = getelementptr [1 x [1 x %struct.x]]* %orientations, i32 0, i32 0, i32 0 ; <%struct.x*> [#uses=1]
- br label %bb10
-
-bb10: ; preds = %bb10, %entry
- %indvar = phi i32 [ 0, %entry ], [ %indvar.next, %bb10 ] ; <i32> [#uses=2]
- %tmp.0.reg2mem.0.rec = mul i32 %indvar, -1 ; <i32> [#uses=1]
- %tmp12.rec = add i32 %tmp.0.reg2mem.0.rec, -1 ; <i32> [#uses=1]
- %tmp12 = getelementptr %struct.x* %tmp45, i32 %tmp12.rec ; <%struct.x*> [#uses=2]
- %tmp16 = call i32 (i8*, ...)* @printf( i8* getelementptr ([12 x i8]* @.str1, i32 0, i32 0), %struct.x* %tmp12 ) nounwind ; <i32> [#uses=0]
- %tmp84 = icmp eq %struct.x* %tmp12, %orientations62 ; <i1> [#uses=1]
- %indvar.next = add i32 %indvar, 1 ; <i32> [#uses=1]
- br i1 %tmp84, label %bb17, label %bb10
-
-bb17: ; preds = %bb10
- ret i32 0
-}
-
-declare i32 @puts(i8*)
-
-declare i32 @printf(i8*, ...)
diff --git a/test/Transforms/InstCombine/2009-03-02-VarLengthArrayGEP.ll b/test/Transforms/InstCombine/2009-03-02-VarLengthArrayGEP.ll
deleted file mode 100644
index 1e136f5eab337..0000000000000
--- a/test/Transforms/InstCombine/2009-03-02-VarLengthArrayGEP.ll
+++ /dev/null
@@ -1,14 +0,0 @@
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep {getelementptr i32}
-; PR3694
-
-define i32 @e(i32 %m, i32 %n) nounwind {
-entry:
- %0 = alloca i32, i32 %n, align 4 ; <i32*> [#uses=2]
- %1 = bitcast i32* %0 to [0 x i32]* ; <[0 x i32]*> [#uses=1]
- call void @f(i32* %0) nounwind
- %2 = getelementptr [0 x i32]* %1, i32 0, i32 %m ; <i32*> [#uses=1]
- %3 = load i32* %2, align 4 ; <i32> [#uses=1]
- ret i32 %3
-}
-
-declare void @f(i32*)
diff --git a/test/Transforms/InstCombine/2009-04-06-GEP-Index-Crash.ll b/test/Transforms/InstCombine/2009-04-06-GEP-Index-Crash.ll
deleted file mode 100644
index 49e1f0af67949..0000000000000
--- a/test/Transforms/InstCombine/2009-04-06-GEP-Index-Crash.ll
+++ /dev/null
@@ -1,24 +0,0 @@
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis
-; rdar://6762290
-
-target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
-target triple = "i386-apple-darwin9"
- %T = type <{ i64, i64, i64 }>
-
-define i32 @test(i8* %start, i32 %X) nounwind {
-entry:
- %tmp3 = load i64* null ; <i64> [#uses=1]
- %add.ptr = getelementptr i8* %start, i64 %tmp3 ; <i8*> [#uses=1]
- %tmp158 = load i32* null ; <i32> [#uses=1]
- %add.ptr159 = getelementptr %T* null, i32 %tmp158
- %add.ptr209 = getelementptr i8* %start, i64 0 ; <i8*> [#uses=1]
- %add.ptr212 = getelementptr i8* %add.ptr209, i32 %X ; <i8*> [#uses=1]
- %cmp214 = icmp ugt i8* %add.ptr212, %add.ptr ; <i1> [#uses=1]
- br i1 %cmp214, label %if.then216, label %if.end363
-
-if.then216: ; preds = %for.body162
- ret i32 1
-
-if.end363: ; preds = %for.body162
- ret i32 0
-}
diff --git a/test/Transforms/InstCombine/GEPIdxCanon.ll b/test/Transforms/InstCombine/GEPIdxCanon.ll
deleted file mode 100644
index f2e5e6745b48f..0000000000000
--- a/test/Transforms/InstCombine/GEPIdxCanon.ll
+++ /dev/null
@@ -1,10 +0,0 @@
-; RUN: llvm-as < %s | opt -instcombine -gvn -instcombine | \
-; RUN: llvm-dis | not grep getelementptr
-
-define i1 @test(i32* %A) {
- %B = getelementptr i32* %A, i32 1 ; <i32*> [#uses=1]
- %C = getelementptr i32* %A, i64 1 ; <i32*> [#uses=1]
- %V = icmp eq i32* %B, %C ; <i1> [#uses=1]
- ret i1 %V
-}
-
diff --git a/test/Transforms/InstCombine/bitcast-gep.ll b/test/Transforms/InstCombine/bitcast-gep.ll
deleted file mode 100644
index 2e1f7693fc1bb..0000000000000
--- a/test/Transforms/InstCombine/bitcast-gep.ll
+++ /dev/null
@@ -1,30 +0,0 @@
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep bitcast
-; RUN: llvm-as < %s | opt -instcombine -scalarrepl | llvm-dis | grep {ret i8. %v}
-; PR1345
-
-target datalayout = "E-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64"
-target triple = "powerpc-apple-darwin8.8.0"
-
-define i8* @test(i8* %v) {
- %A = alloca [4 x i8*], align 16 ; <[4 x i8*]*> [#uses=3]
- %B = getelementptr [4 x i8*]* %A, i32 0, i32 0 ; <i8**> [#uses=1]
- store i8* null, i8** %B
- %C = bitcast [4 x i8*]* %A to { [16 x i8] }* ; <{ [16 x i8] }*> [#uses=1]
- %D = getelementptr { [16 x i8] }* %C, i32 0, i32 0, i32 8 ; <i8*> [#uses=1]
- %E = bitcast i8* %D to i8** ; <i8**> [#uses=1]
- store i8* %v, i8** %E
- %F = getelementptr [4 x i8*]* %A, i32 0, i32 2 ; <i8**> [#uses=1]
- %G = load i8** %F ; <i8*> [#uses=1]
- ret i8* %G
-}
-
-; PR3290
-%struct.Key = type { { i32, i32 } }
-%struct.anon = type <{ i8, [3 x i8], i32 }>
-
-define i32 *@test2(%struct.Key *%A) {
- %B = bitcast %struct.Key* %A to %struct.anon*
- %C = getelementptr %struct.anon* %B, i32 0, i32 2
- ret i32 *%C
-}
-
diff --git a/test/Transforms/InstCombine/cast-store-gep.ll b/test/Transforms/InstCombine/cast-store-gep.ll
deleted file mode 100644
index 95a069d60b75e..0000000000000
--- a/test/Transforms/InstCombine/cast-store-gep.ll
+++ /dev/null
@@ -1,17 +0,0 @@
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep inttoptr
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep alloca
-
-target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
-target triple = "x86_64-apple-darwin10.0"
- %T = type { i8*, i8 }
-
-define i8* @test(i8* %Val, i64 %V) nounwind {
-entry:
- %A = alloca %T, align 8
- %mrv_gep = bitcast %T* %A to i64* ; <i64*> [#uses=1]
- %B = getelementptr %T* %A, i64 0, i32 0 ; <i8**> [#uses=1]
-
- store i64 %V, i64* %mrv_gep
- %C = load i8** %B, align 8 ; <i8*> [#uses=1]
- ret i8* %C
-}
diff --git a/test/Transforms/InstCombine/getelementptr-setcc.ll b/test/Transforms/InstCombine/getelementptr-setcc.ll
deleted file mode 100644
index 0a6d720d74f60..0000000000000
--- a/test/Transforms/InstCombine/getelementptr-setcc.ll
+++ /dev/null
@@ -1,31 +0,0 @@
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
-; RUN: not grep getelementptr
-
-define i1 @test1(i16* %P, i32 %I, i32 %J) {
- %X = getelementptr i16* %P, i32 %I ; <i16*> [#uses=1]
- %Y = getelementptr i16* %P, i32 %J ; <i16*> [#uses=1]
- %C = icmp ult i16* %X, %Y ; <i1> [#uses=1]
- ret i1 %C
-}
-
-define i1 @test2(i16* %P, i32 %I) {
- %X = getelementptr i16* %P, i32 %I ; <i16*> [#uses=1]
- %C = icmp ult i16* %X, %P ; <i1> [#uses=1]
- ret i1 %C
-}
-
-define i32 @test3(i32* %P, i32 %A, i32 %B) {
- %tmp.4 = getelementptr i32* %P, i32 %A ; <i32*> [#uses=1]
- %tmp.9 = getelementptr i32* %P, i32 %B ; <i32*> [#uses=1]
- %tmp.10 = icmp eq i32* %tmp.4, %tmp.9 ; <i1> [#uses=1]
- %tmp.11 = zext i1 %tmp.10 to i32 ; <i32> [#uses=1]
- ret i32 %tmp.11
-}
-
-define i32 @test4(i32* %P, i32 %A, i32 %B) {
- %tmp.4 = getelementptr i32* %P, i32 %A ; <i32*> [#uses=1]
- %tmp.6 = icmp eq i32* %tmp.4, %P ; <i1> [#uses=1]
- %tmp.7 = zext i1 %tmp.6 to i32 ; <i32> [#uses=1]
- ret i32 %tmp.7
-}
-
diff --git a/test/Transforms/InstCombine/getelementptr-seteq.ll b/test/Transforms/InstCombine/getelementptr-seteq.ll
deleted file mode 100644
index 05cec622b2ac3..0000000000000
--- a/test/Transforms/InstCombine/getelementptr-seteq.ll
+++ /dev/null
@@ -1,13 +0,0 @@
-; Test folding of constantexpr geps into normal geps.
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep {icmp eq i64 %X, -1}
-; PR2235
-
-%S = type { i32, [ 100 x i32] }
-
-define i1 @test(i64 %X, %S* %P) {
- %A = getelementptr %S* %P, i32 0, i32 1, i64 %X
- %B = getelementptr %S* %P, i32 0, i32 0
- %C = icmp eq i32* %A, %B
- ret i1 %C
-}
-
diff --git a/test/Transforms/InstCombine/getelementptr_cast.ll b/test/Transforms/InstCombine/getelementptr_cast.ll
deleted file mode 100644
index 1d2fcce13d398..0000000000000
--- a/test/Transforms/InstCombine/getelementptr_cast.ll
+++ /dev/null
@@ -1,11 +0,0 @@
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
-; RUN: notcast {} {getelementptr.*}
-
-@G = external global [3 x i8] ; <[3 x i8]*> [#uses=1]
-
-define i8* @foo(i32 %Idx) {
- %gep.upgrd.1 = zext i32 %Idx to i64 ; <i64> [#uses=1]
- %tmp = getelementptr i8* getelementptr ([3 x i8]* @G, i32 0, i32 0), i64 %gep.upgrd.1 ; <i8*> [#uses=1]
- ret i8* %tmp
-}
-
diff --git a/test/Transforms/InstCombine/getelementptr_const.ll b/test/Transforms/InstCombine/getelementptr_const.ll
deleted file mode 100644
index 823ff5efde999..0000000000000
--- a/test/Transforms/InstCombine/getelementptr_const.ll
+++ /dev/null
@@ -1,15 +0,0 @@
-; Test folding of constantexpr geps into normal geps.
-; RUN: llvm-as < %s | opt -instcombine -gvn -instcombine | \
-; RUN: llvm-dis | not grep getelementptr
-
-@Array = external global [40 x i32] ; <[40 x i32]*> [#uses=2]
-
-define i32 @test(i64 %X) {
- %A = getelementptr i32* getelementptr ([40 x i32]* @Array, i64 0, i64 0), i64 %X ; <i32*> [#uses=1]
- %B = getelementptr [40 x i32]* @Array, i64 0, i64 %X ; <i32*> [#uses=1]
- %a = ptrtoint i32* %A to i32 ; <i32> [#uses=1]
- %b = ptrtoint i32* %B to i32 ; <i32> [#uses=1]
- %c = sub i32 %a, %b ; <i32> [#uses=1]
- ret i32 %c
-}
-
diff --git a/test/Transforms/InstCombine/getelementptr_index.ll b/test/Transforms/InstCombine/getelementptr_index.ll
deleted file mode 100644
index 556096516f975..0000000000000
--- a/test/Transforms/InstCombine/getelementptr_index.ll
+++ /dev/null
@@ -1,9 +0,0 @@
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep trunc
-
-target datalayout = "e-p:32:32"
-
-define i32* @test(i32* %X, i64 %Idx) {
- %R = getelementptr i32* %X, i64 %Idx ; <i32*> [#uses=1]
- ret i32* %R
-}
-
diff --git a/test/Transforms/InstCombine/getelementptr_promote.ll b/test/Transforms/InstCombine/getelementptr_promote.ll
deleted file mode 100644
index 811c5a9591696..0000000000000
--- a/test/Transforms/InstCombine/getelementptr_promote.ll
+++ /dev/null
@@ -1,58 +0,0 @@
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep getelementptr | grep {, i64}
-
-; Instcombine should promote the getelementptr index up to the target's
-; pointer size, making the conversion explicit, which helps expose it to
-; other optimizations.
-
-target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
-target triple = "x86_64-apple-darwin8"
-
-define i64 @test(i64* %first, i32 %count) nounwind {
-entry:
- %first_addr = alloca i64* ; <i64**> [#uses=2]
- %count_addr = alloca i32 ; <i32*> [#uses=2]
- %retval = alloca i64 ; <i64*> [#uses=2]
- %n = alloca i32 ; <i32*> [#uses=5]
- %result = alloca i64 ; <i64*> [#uses=4]
- %0 = alloca i64 ; <i64*> [#uses=2]
- %"alloca point" = bitcast i32 0 to i32 ; <i32> [#uses=0]
- store i64* %first, i64** %first_addr
- store i32 %count, i32* %count_addr
- store i64 0, i64* %result, align 8
- store i32 0, i32* %n, align 4
- br label %bb1
-
-bb: ; preds = %bb1
- %1 = load i64** %first_addr, align 8 ; <i64*> [#uses=1]
- %2 = load i32* %n, align 4 ; <i32> [#uses=1]
- %3 = bitcast i32 %2 to i32 ; <i64> [#uses=1]
- %4 = getelementptr i64* %1, i32 %3 ; <i64*> [#uses=1]
- %5 = load i64* %4, align 8 ; <i64> [#uses=1]
- %6 = lshr i64 %5, 4 ; <i64> [#uses=1]
- %7 = load i64* %result, align 8 ; <i64> [#uses=1]
- %8 = add i64 %6, %7 ; <i64> [#uses=1]
- store i64 %8, i64* %result, align 8
- %9 = load i32* %n, align 4 ; <i32> [#uses=1]
- %10 = add i32 %9, 1 ; <i32> [#uses=1]
- store i32 %10, i32* %n, align 4
- br label %bb1
-
-bb1: ; preds = %bb, %entry
- %11 = load i32* %n, align 4 ; <i32> [#uses=1]
- %12 = load i32* %count_addr, align 4 ; <i32> [#uses=1]
- %13 = icmp slt i32 %11, %12 ; <i1> [#uses=1]
- %14 = zext i1 %13 to i8 ; <i8> [#uses=1]
- %toBool = icmp ne i8 %14, 0 ; <i1> [#uses=1]
- br i1 %toBool, label %bb, label %bb2
-
-bb2: ; preds = %bb1
- %15 = load i64* %result, align 8 ; <i64> [#uses=1]
- store i64 %15, i64* %0, align 8
- %16 = load i64* %0, align 8 ; <i64> [#uses=1]
- store i64 %16, i64* %retval, align 8
- br label %return
-
-return: ; preds = %bb2
- %retval3 = load i64* %retval ; <i64> [#uses=1]
- ret i64 %retval3
-}
diff --git a/test/Transforms/InstCombine/shl-icmp.ll b/test/Transforms/InstCombine/shl-icmp.ll
deleted file mode 100644
index 234c40bf68815..0000000000000
--- a/test/Transforms/InstCombine/shl-icmp.ll
+++ /dev/null
@@ -1,29 +0,0 @@
-; RUN: llvm-as < %s | opt -instcombine -stats -disable-output |& \
-; RUN: grep {Number of insts combined} | grep 5
-
-define i8 @t1(i8 zeroext %x, i8 zeroext %y) zeroext nounwind {
-entry:
- %tmp1 = lshr i8 %x, 7
- %cond1 = icmp ne i8 %tmp1, 0
- br i1 %cond1, label %bb1, label %bb2
-
-bb1:
- ret i8 %tmp1
-
-bb2:
- %tmp2 = add i8 %tmp1, %y
- ret i8 %tmp2
-}
-
-define i8 @t2(i8 zeroext %x) zeroext nounwind {
-entry:
- %tmp1 = lshr i8 %x, 7
- %cond1 = icmp ne i8 %tmp1, 0
- br i1 %cond1, label %bb1, label %bb2
-
-bb1:
- ret i8 0
-
-bb2:
- ret i8 1
-}
diff --git a/test/Transforms/InstCombine/shl-trunc.ll b/test/Transforms/InstCombine/shl-trunc.ll
deleted file mode 100644
index ffef2984f5c97..0000000000000
--- a/test/Transforms/InstCombine/shl-trunc.ll
+++ /dev/null
@@ -1,9 +0,0 @@
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep shl
-
-define i1 @test(i32 %X, i8 %A) {
- %shift.upgrd.1 = zext i8 %A to i32 ; <i32> [#uses=1]
- %B = lshr i32 %X, %shift.upgrd.1 ; <i32> [#uses=1]
- %D = trunc i32 %B to i1 ; <i1> [#uses=1]
- ret i1 %D
-}
-
diff --git a/test/Transforms/InstCombine/vec_insert_to_shuffle.ll b/test/Transforms/InstCombine/vec_insert_to_shuffle.ll
deleted file mode 100644
index df9cecd09c66f..0000000000000
--- a/test/Transforms/InstCombine/vec_insert_to_shuffle.ll
+++ /dev/null
@@ -1,19 +0,0 @@
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
-; RUN: grep shufflevec | count 1
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
-; RUN: not grep insertelement
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
-; RUN: not grep extractelement
-; END.
-
-define <4 x float> @test(<4 x float> %tmp, <4 x float> %tmp1) {
- %tmp4 = extractelement <4 x float> %tmp, i32 1 ; <float> [#uses=1]
- %tmp2 = extractelement <4 x float> %tmp, i32 3 ; <float> [#uses=1]
- %tmp1.upgrd.1 = extractelement <4 x float> %tmp1, i32 0 ; <float> [#uses=1]
- %tmp128 = insertelement <4 x float> undef, float %tmp4, i32 0 ; <<4 x float>> [#uses=1]
- %tmp130 = insertelement <4 x float> %tmp128, float undef, i32 1 ; <<4 x float>> [#uses=1]
- %tmp132 = insertelement <4 x float> %tmp130, float %tmp2, i32 2 ; <<4 x float>> [#uses=1]
- %tmp134 = insertelement <4 x float> %tmp132, float %tmp1.upgrd.1, i32 3 ; <<4 x float>> [#uses=1]
- ret <4 x float> %tmp134
-}
-
diff --git a/test/Transforms/InstCombine/vec_shuffle2.ll b/test/Transforms/InstCombine/vec_shuffle2.ll
deleted file mode 100644
index 3bd8924903f8b..0000000000000
--- a/test/Transforms/InstCombine/vec_shuffle2.ll
+++ /dev/null
@@ -1,19 +0,0 @@
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep undef | count 1
-; END.
-
-; Test fold of two shuffles where the first shuffle vectors inputs are a
-; different length then the second.
-
-define void @test_cl(<4 x i8> addrspace(1)* %dest, <16 x i8> addrspace(1)* %old) nounwind {
-entry:
- %arrayidx = getelementptr <4 x i8> addrspace(1)* %dest, i32 0 ; <<4 x i8> addrspace(1)*> [#uses=1]
- %arrayidx5 = getelementptr <16 x i8> addrspace(1)* %old, i32 0 ; <<16 x i8> addrspace(1)*> [#uses=1]
- %tmp6 = load <16 x i8> addrspace(1)* %arrayidx5 ; <<16 x i8>> [#uses=1]
- %tmp7 = shufflevector <16 x i8> %tmp6, <16 x i8> undef, <4 x i32> < i32 13, i32 9, i32 4, i32 13 > ; <<4 x i8>> [#uses=1]
- %tmp9 = shufflevector <4 x i8> %tmp7, <4 x i8> undef, <4 x i32> < i32 3, i32 1, i32 2, i32 0 > ; <<4 x i8>> [#uses=1]
- store <4 x i8> %tmp9, <4 x i8> addrspace(1)* %arrayidx
- ret void
-
-return: ; preds = %entry
- ret void
-} \ No newline at end of file
diff --git a/test/Transforms/InstCombine/vector-casts-0.ll b/test/Transforms/InstCombine/vector-casts-0.ll
deleted file mode 100644
index ae5b8a9c7c42b..0000000000000
--- a/test/Transforms/InstCombine/vector-casts-0.ll
+++ /dev/null
@@ -1,55 +0,0 @@
-; RUN: llvm-as < %s | opt -instcombine
-
-define void @convert(<2 x i32>* %dst.addr, <2 x i64> %src) nounwind {
-entry:
- %val = trunc <2 x i64> %src to <2 x i32> ; <<2 x i32>> [#uses=1]
- %add = add <2 x i32> %val, <i32 1, i32 1> ; <<2 x i32>> [#uses=1]
- store <2 x i32> %add, <2 x i32>* %dst.addr
- ret void
-}
-
-define <2 x i65> @foo(<2 x i64> %t) {
- %a = trunc <2 x i64> %t to <2 x i32>
- %b = zext <2 x i32> %a to <2 x i65>
- ret <2 x i65> %b
-}
-define <2 x i64> @bar(<2 x i65> %t) {
- %a = trunc <2 x i65> %t to <2 x i32>
- %b = zext <2 x i32> %a to <2 x i64>
- ret <2 x i64> %b
-}
-define <2 x i65> @foos(<2 x i64> %t) {
- %a = trunc <2 x i64> %t to <2 x i32>
- %b = sext <2 x i32> %a to <2 x i65>
- ret <2 x i65> %b
-}
-define <2 x i64> @bars(<2 x i65> %t) {
- %a = trunc <2 x i65> %t to <2 x i32>
- %b = sext <2 x i32> %a to <2 x i64>
- ret <2 x i64> %b
-}
-define <2 x i64> @quxs(<2 x i64> %t) {
- %a = trunc <2 x i64> %t to <2 x i32>
- %b = sext <2 x i32> %a to <2 x i64>
- ret <2 x i64> %b
-}
-define <2 x i64> @quxt(<2 x i64> %t) {
- %a = shl <2 x i64> %t, <i64 32, i64 32>
- %b = ashr <2 x i64> %a, <i64 32, i64 32>
- ret <2 x i64> %b
-}
-define <2 x double> @fa(<2 x double> %t) {
- %a = fptrunc <2 x double> %t to <2 x float>
- %b = fpext <2 x float> %a to <2 x double>
- ret <2 x double> %b
-}
-define <2 x double> @fb(<2 x double> %t) {
- %a = fptoui <2 x double> %t to <2 x i64>
- %b = uitofp <2 x i64> %a to <2 x double>
- ret <2 x double> %b
-}
-define <2 x double> @fc(<2 x double> %t) {
- %a = fptosi <2 x double> %t to <2 x i64>
- %b = sitofp <2 x i64> %a to <2 x double>
- ret <2 x double> %b
-}
diff --git a/test/Transforms/InstCombine/vector-casts-1.ll b/test/Transforms/InstCombine/vector-casts-1.ll
deleted file mode 100644
index a73a84ac1e0d5..0000000000000
--- a/test/Transforms/InstCombine/vector-casts-1.ll
+++ /dev/null
@@ -1,15 +0,0 @@
-; RUN: llvm-as < %s | opt -instcombine > %t
-; RUN: not grep trunc %t
-; RUN: not grep ashr %t
-
-; This turns into a&1 != 0
-define <2 x i1> @a(<2 x i64> %a) {
- %t = trunc <2 x i64> %a to <2 x i1>
- ret <2 x i1> %t
-}
-; The ashr turns into an lshr.
-define <2 x i64> @b(<2 x i64> %a) {
- %b = and <2 x i64> %a, <i64 65535, i64 65535>
- %t = ashr <2 x i64> %b, <i64 1, i64 1>
- ret <2 x i64> %t
-}
diff --git a/test/Transforms/JumpThreading/2008-04-24-InfLoop.ll b/test/Transforms/JumpThreading/2008-04-24-InfLoop.ll
deleted file mode 100644
index 3eb2aa1be5b06..0000000000000
--- a/test/Transforms/JumpThreading/2008-04-24-InfLoop.ll
+++ /dev/null
@@ -1,142 +0,0 @@
-; RUN: llvm-as < %s | opt -jump-threading -disable-output
-target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
-target triple = "i386-apple-darwin9"
-@Link = global [1 x i32] [ i32 -1 ] ; <[1 x i32]*> [#uses=2]
-@W = global [1 x i32] [ i32 2 ] ; <[1 x i32]*> [#uses=1]
-
-define i32 @f(i32 %k, i32 %p) nounwind {
-entry:
- br label %bb
-
-bb: ; preds = %bb56, %bb76.loopexit.us, %entry
- %j.2 = phi i32 [ 0, %entry ], [ 1, %bb56 ], [ 1, %bb76.loopexit.us ] ; <i32> [#uses=5]
- %pdest.2 = phi i32 [ 0, %entry ], [ %pdest.8, %bb56 ], [ %pdest.7.us, %bb76.loopexit.us ] ; <i32> [#uses=3]
- %p_addr.0 = phi i32 [ %p, %entry ], [ 0, %bb56 ], [ %p_addr.1.us, %bb76.loopexit.us ] ; <i32> [#uses=3]
- %k_addr.0 = phi i32 [ %k, %entry ], [ %tmp59, %bb56 ], [ %tmp59.us, %bb76.loopexit.us ] ; <i32> [#uses=4]
- %tmp2 = icmp sgt i32 %pdest.2, 2 ; <i1> [#uses=1]
- br i1 %tmp2, label %bb4.preheader, label %bb13
-
-bb4.preheader: ; preds = %bb
- %tmp109 = sub i32 1, %j.2 ; <i32> [#uses=2]
- %tmp110 = icmp slt i32 %tmp109, -2 ; <i1> [#uses=1]
- %smax111 = select i1 %tmp110, i32 -2, i32 %tmp109 ; <i32> [#uses=2]
- %tmp112 = add i32 %j.2, %smax111 ; <i32> [#uses=2]
- br label %bb4
-
-bb4: ; preds = %bb4, %bb4.preheader
- %indvar = phi i32 [ 0, %bb4.preheader ], [ %indvar.next, %bb4 ] ; <i32> [#uses=1]
- %indvar.next = add i32 %indvar, 1 ; <i32> [#uses=2]
- %exitcond = icmp eq i32 %indvar.next, %tmp112 ; <i1> [#uses=1]
- br i1 %exitcond, label %bb13.loopexit, label %bb4
-
-bb13.loopexit: ; preds = %bb4
- %tmp = add i32 %j.2, %pdest.2 ; <i32> [#uses=1]
- %tmp102 = add i32 %tmp, %smax111 ; <i32> [#uses=1]
- %tmp104 = add i32 %tmp112, -1 ; <i32> [#uses=1]
- %tmp106 = sub i32 %j.2, %tmp104 ; <i32> [#uses=1]
- %tmp107 = add i32 %tmp106, -1 ; <i32> [#uses=1]
- br label %bb13
-
-bb13: ; preds = %bb13.loopexit, %bb
- %j.1 = phi i32 [ %tmp107, %bb13.loopexit ], [ %j.2, %bb ] ; <i32> [#uses=4]
- %pdest.1 = phi i32 [ %tmp102, %bb13.loopexit ], [ %pdest.2, %bb ] ; <i32> [#uses=2]
- %tmp15 = icmp eq i32 %j.1, 1 ; <i1> [#uses=1]
- br i1 %tmp15, label %bb82, label %bb27.preheader
-
-bb27.preheader: ; preds = %bb13
- %tmp21 = icmp eq i32 %j.1, %p_addr.0 ; <i1> [#uses=0]
- br label %bb27.outer
-
-bb27.outer: ; preds = %bb27.outer.bb24.split_crit_edge, %bb27.preheader
- %indvar118 = phi i32 [ 0, %bb27.preheader ], [ %indvar.next119, %bb27.outer.bb24.split_crit_edge ] ; <i32> [#uses=2]
- %pdest.3.ph = add i32 %indvar118, %pdest.1 ; <i32> [#uses=2]
- %tmp30 = icmp sgt i32 %pdest.3.ph, %p_addr.0 ; <i1> [#uses=1]
- br i1 %tmp30, label %bb27.outer.bb24.split_crit_edge, label %bb27.outer.split
-
-bb27.outer.bb24.split_crit_edge: ; preds = %bb27.outer
- %indvar.next119 = add i32 %indvar118, 1 ; <i32> [#uses=1]
- br label %bb27.outer
-
-bb27.outer.split: ; preds = %bb27.outer
- %tmp35 = getelementptr [1 x i32]* @W, i32 0, i32 %k_addr.0 ; <i32*> [#uses=3]
- %tmp48 = icmp slt i32 %p_addr.0, 1 ; <i1> [#uses=1]
- %tmp53 = icmp sgt i32 %k_addr.0, 0 ; <i1> [#uses=1]
- br label %bb33
-
-bb33: ; preds = %bb51.split, %bb27.outer.split
- %pdest.5 = phi i32 [ %pdest.3.ph, %bb27.outer.split ], [ %pdest.4, %bb51.split ] ; <i32> [#uses=1]
- %tmp36 = load i32* %tmp35, align 4 ; <i32> [#uses=2]
- br i1 %tmp48, label %bb37.us, label %bb37
-
-bb37.us: ; preds = %bb42.us, %bb37.us, %bb33
- %D1361.1.us = phi i32 [ %tmp36, %bb33 ], [ 0, %bb42.us ], [ %D1361.1.us, %bb37.us ] ; <i32> [#uses=2]
- %tmp39.us = icmp eq i32 %D1361.1.us, 0 ; <i1> [#uses=1]
- br i1 %tmp39.us, label %bb37.us, label %bb42.us
-
-bb42.us: ; preds = %bb37.us
- store i32 0, i32* %tmp35, align 4
- br label %bb37.us
-
-bb37: ; preds = %bb33
- %tmp39 = icmp eq i32 %tmp36, 0 ; <i1> [#uses=1]
- br i1 %tmp39, label %bb51.split, label %bb42
-
-bb42: ; preds = %bb37
- store i32 0, i32* %tmp35, align 4
- br label %bb51.split
-
-bb51.split: ; preds = %bb42, %bb37
- %pdest.4 = phi i32 [ 1, %bb42 ], [ %pdest.5, %bb37 ] ; <i32> [#uses=3]
- br i1 %tmp53, label %bb33, label %bb56.preheader
-
-bb56.preheader: ; preds = %bb51.split
- %tmp7394 = icmp sgt i32 %j.1, 0 ; <i1> [#uses=1]
- br i1 %tmp7394, label %bb56.us, label %bb56
-
-bb56.us: ; preds = %bb76.loopexit.us, %bb56.preheader
- %pdest.8.us = phi i32 [ %pdest.4, %bb56.preheader ], [ %pdest.7.us, %bb76.loopexit.us ] ; <i32> [#uses=1]
- %k_addr.1.us = phi i32 [ %k_addr.0, %bb56.preheader ], [ %tmp59.us, %bb76.loopexit.us ] ; <i32> [#uses=1]
- %tmp58.us = getelementptr [1 x i32]* @Link, i32 0, i32 %k_addr.1.us ; <i32*> [#uses=1]
- %tmp59.us = load i32* %tmp58.us, align 4 ; <i32> [#uses=3]
- %tmp6295.us = icmp ne i32 %tmp59.us, -1 ; <i1> [#uses=2]
- br label %bb60.us
-
-bb60.us: ; preds = %bb60.us, %bb56.us
- %pdest.7.reg2mem.0.us = phi i32 [ %pdest.8.us, %bb56.us ], [ %pdest.7.us, %bb60.us ] ; <i32> [#uses=1]
- %p_addr.1.reg2mem.0.us = phi i32 [ 0, %bb56.us ], [ %p_addr.1.us, %bb60.us ] ; <i32> [#uses=1]
- %tmp67.us = zext i1 %tmp6295.us to i32 ; <i32> [#uses=2]
- %pdest.7.us = add i32 %pdest.7.reg2mem.0.us, %tmp67.us ; <i32> [#uses=3]
- %p_addr.1.us = add i32 %p_addr.1.reg2mem.0.us, %tmp67.us ; <i32> [#uses=3]
- %tmp73.us = icmp slt i32 %p_addr.1.us, %j.1 ; <i1> [#uses=1]
- br i1 %tmp73.us, label %bb60.us, label %bb76.loopexit.us
-
-bb76.loopexit.us: ; preds = %bb60.us
- br i1 %tmp6295.us, label %bb56.us, label %bb
-
-bb56: ; preds = %bb56, %bb56.preheader
- %pdest.8 = phi i32 [ %pdest.4, %bb56.preheader ], [ %pdest.8, %bb56 ] ; <i32> [#uses=2]
- %k_addr.1 = phi i32 [ %k_addr.0, %bb56.preheader ], [ %tmp59, %bb56 ] ; <i32> [#uses=1]
- %tmp58 = getelementptr [1 x i32]* @Link, i32 0, i32 %k_addr.1 ; <i32*> [#uses=1]
- %tmp59 = load i32* %tmp58, align 4 ; <i32> [#uses=3]
- %tmp6295 = icmp ne i32 %tmp59, -1 ; <i1> [#uses=1]
- br i1 %tmp6295, label %bb56, label %bb
-
-bb82: ; preds = %bb13
- ret i32 %pdest.1
-}
-
-define i32 @main() nounwind {
-entry:
- %tmp1 = tail call i32 @f( i32 0, i32 2 ) nounwind ; <i32> [#uses=1]
- %tmp2 = icmp eq i32 %tmp1, 0 ; <i1> [#uses=1]
- br i1 %tmp2, label %bb, label %bb4
-
-bb: ; preds = %entry
- tail call void @abort( ) noreturn nounwind
- unreachable
-
-bb4: ; preds = %entry
- ret i32 0
-}
-
-declare void @abort() noreturn nounwind
diff --git a/test/Transforms/JumpThreading/2008-05-05-MRV-Crash.ll b/test/Transforms/JumpThreading/2008-05-05-MRV-Crash.ll
deleted file mode 100644
index f109109fc3f52..0000000000000
--- a/test/Transforms/JumpThreading/2008-05-05-MRV-Crash.ll
+++ /dev/null
@@ -1,25 +0,0 @@
-; RUN: llvm-as < %s | opt -jump-threading -disable-output
-; PR2285
-target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
-target triple = "x86_64-unknown-linux-gnu"
- %struct.system__secondary_stack__mark_id = type { i64, i64 }
-
-define void @_ada_c35507b() {
-entry:
- br label %bb
-
-bb: ; preds = %bb13, %entry
- %ch.0 = phi i8 [ 0, %entry ], [ 0, %bb13 ] ; <i8> [#uses=1]
- %tmp11 = icmp ugt i8 %ch.0, 31 ; <i1> [#uses=1]
- %tmp120 = call %struct.system__secondary_stack__mark_id @system__secondary_stack__ss_mark( ) ; <%struct.system__secondary_stack__mark_id> [#uses=1]
- br i1 %tmp11, label %bb110, label %bb13
-
-bb13: ; preds = %bb
- br label %bb
-
-bb110: ; preds = %bb
- %mrv_gr124 = getresult %struct.system__secondary_stack__mark_id %tmp120, 1 ; <i64> [#uses=0]
- unreachable
-}
-
-declare %struct.system__secondary_stack__mark_id @system__secondary_stack__ss_mark()
diff --git a/test/Transforms/JumpThreading/dup-cond.ll b/test/Transforms/JumpThreading/dup-cond.ll
deleted file mode 100644
index e20d939316a6a..0000000000000
--- a/test/Transforms/JumpThreading/dup-cond.ll
+++ /dev/null
@@ -1,30 +0,0 @@
-; RUN: llvm-as < %s | opt -jump-threading -die | llvm-dis | grep icmp | count 1
-
-declare void @f1()
-declare void @f2()
-declare void @f3()
-
-define i32 @test(i32 %A) {
- %tmp455 = icmp eq i32 %A, 42
- br i1 %tmp455, label %BB1, label %BB2
-
-BB2:
- call void @f1()
- br label %BB1
-
-
-BB1:
- %tmp459 = icmp eq i32 %A, 42
- br i1 %tmp459, label %BB3, label %BB4
-
-BB3:
- call void @f2()
- ret i32 3
-
-BB4:
- call void @f3()
- ret i32 4
-}
-
-
-
diff --git a/test/Transforms/JumpThreading/undef.ll b/test/Transforms/JumpThreading/undef.ll
deleted file mode 100644
index 497a87a656419..0000000000000
--- a/test/Transforms/JumpThreading/undef.ll
+++ /dev/null
@@ -1,12 +0,0 @@
-; RUN: llvm-as < %s | opt -jump-threading | llvm-dis | not grep {br }
-; RUN: llvm-as < %s | opt -jump-threading | llvm-dis | grep {ret i32} | count 1
-
-define i32 @test(i1 %cond) {
- br i1 undef, label %T1, label %F1
-
-T1:
- ret i32 42
-
-F1:
- ret i32 17
-}
diff --git a/test/Transforms/LICM/2003-08-04-TrappingInstHoist.ll b/test/Transforms/LICM/2003-08-04-TrappingInstHoist.ll
deleted file mode 100644
index a00eb8c7a63ce..0000000000000
--- a/test/Transforms/LICM/2003-08-04-TrappingInstHoist.ll
+++ /dev/null
@@ -1,26 +0,0 @@
-; This testcase tests for a problem where LICM hoists
-; potentially trapping instructions when they are not guaranteed to execute.
-;
-; RUN: llvm-as < %s | opt -licm | llvm-dis | %prcontext "IfUnEqual" 2 | grep div
-
-@X = global i32 0 ; <i32*> [#uses=1]
-
-declare void @foo()
-
-define i32 @test(i1 %c) {
- %A = load i32* @X ; <i32> [#uses=2]
- br label %Loop
-Loop: ; preds = %LoopTail, %0
- call void @foo( )
- br i1 %c, label %LoopTail, label %IfUnEqual
-IfUnEqual: ; preds = %Loop
- %B1 = sdiv i32 4, %A ; <i32> [#uses=1]
- br label %LoopTail
-LoopTail: ; preds = %IfUnEqual, %Loop
- %B = phi i32 [ 0, %Loop ], [ %B1, %IfUnEqual ] ; <i32> [#uses=1]
- br i1 %c, label %Loop, label %Out
-Out: ; preds = %LoopTail
- %C = sub i32 %A, %B ; <i32> [#uses=1]
- ret i32 %C
-}
-
diff --git a/test/Transforms/LICM/2003-08-04-TrappingInstOkHoist.ll b/test/Transforms/LICM/2003-08-04-TrappingInstOkHoist.ll
deleted file mode 100644
index 59cc0d6620714..0000000000000
--- a/test/Transforms/LICM/2003-08-04-TrappingInstOkHoist.ll
+++ /dev/null
@@ -1,21 +0,0 @@
-; This testcase tests to make sure a trapping instruction is hoisted when
-; it is guaranteed to execute.
-;
-; RUN: llvm-as < %s | opt -licm | llvm-dis | %prcontext "test" 2 | grep div
-
-@X = global i32 0 ; <i32*> [#uses=1]
-
-declare void @foo(i32)
-
-define i32 @test(i1 %c) {
- %A = load i32* @X ; <i32> [#uses=2]
- br label %Loop
-Loop: ; preds = %Loop, %0
- ;; Should have hoisted this div!
- %B = sdiv i32 4, %A ; <i32> [#uses=2]
- call void @foo( i32 %B )
- br i1 %c, label %Loop, label %Out
-Out: ; preds = %Loop
- %C = sub i32 %A, %B ; <i32> [#uses=1]
- ret i32 %C
-}
diff --git a/test/Transforms/LICM/2003-12-13-VolatilePromote.ll b/test/Transforms/LICM/2003-12-13-VolatilePromote.ll
deleted file mode 100644
index 85c93c62bf5c5..0000000000000
--- a/test/Transforms/LICM/2003-12-13-VolatilePromote.ll
+++ /dev/null
@@ -1,16 +0,0 @@
-; RUN: llvm-as < %s | opt -licm | llvm-dis | %prcontext volatile 1 | grep Loop
-
-@X = global i32 7 ; <i32*> [#uses=2]
-
-define void @testfunc(i32 %i) {
- br label %Loop
-Loop: ; preds = %Loop, %0
- ; Should not promote this to a register
- %x = volatile load i32* @X ; <i32> [#uses=1]
- %x2 = add i32 %x, 1 ; <i32> [#uses=1]
- store i32 %x2, i32* @X
- br i1 true, label %Out, label %Loop
-Out: ; preds = %Loop
- ret void
-}
-
diff --git a/test/Transforms/LICM/call_sink_const_function.ll b/test/Transforms/LICM/call_sink_const_function.ll
deleted file mode 100644
index f187e27335ba5..0000000000000
--- a/test/Transforms/LICM/call_sink_const_function.ll
+++ /dev/null
@@ -1,17 +0,0 @@
-; RUN: llvm-as < %s | opt -basicaa -licm | llvm-dis | %prcontext sin 1 | grep Out:
-
-declare double @sin(double) readnone
-
-declare void @foo()
-
-define double @test(double %X) {
- br label %Loop
-
-Loop: ; preds = %Loop, %0
- call void @foo( )
- %A = call double @sin( double %X ) readnone ; <double> [#uses=1]
- br i1 true, label %Loop, label %Out
-
-Out: ; preds = %Loop
- ret double %A
-}
diff --git a/test/Transforms/LICM/call_sink_pure_function.ll b/test/Transforms/LICM/call_sink_pure_function.ll
deleted file mode 100644
index c0457a17fc4e6..0000000000000
--- a/test/Transforms/LICM/call_sink_pure_function.ll
+++ /dev/null
@@ -1,16 +0,0 @@
-; RUN: llvm-as < %s | opt -basicaa -licm | llvm-dis | %prcontext strlen 1 | grep Out:
-
-declare i32 @strlen(i8*) readonly
-
-declare void @foo()
-
-define i32 @test(i8* %P) {
- br label %Loop
-
-Loop: ; preds = %Loop, %0
- %A = call i32 @strlen( i8* %P ) readonly ; <i32> [#uses=1]
- br i1 false, label %Loop, label %Out
-
-Out: ; preds = %Loop
- ret i32 %A
-}
diff --git a/test/Transforms/LICM/sink_critical_edge.ll b/test/Transforms/LICM/sink_critical_edge.ll
deleted file mode 100644
index 6998ab1580c35..0000000000000
--- a/test/Transforms/LICM/sink_critical_edge.ll
+++ /dev/null
@@ -1,16 +0,0 @@
-; This testcase checks to make sure the sinker does not cause problems with
-; critical edges.
-
-; RUN: llvm-as < %s | opt -licm | llvm-dis | %prcontext add 1 | grep Exit
-
-define void @test() {
-Entry:
- br i1 false, label %Loop, label %Exit
-Loop: ; preds = %Loop, %Entry
- %X = add i32 0, 1 ; <i32> [#uses=1]
- br i1 false, label %Loop, label %Exit
-Exit: ; preds = %Loop, %Entry
- %Y = phi i32 [ 0, %Entry ], [ %X, %Loop ] ; <i32> [#uses=0]
- ret void
-}
-
diff --git a/test/Transforms/LICM/sink_inst.ll b/test/Transforms/LICM/sink_inst.ll
deleted file mode 100644
index e634c753f3616..0000000000000
--- a/test/Transforms/LICM/sink_inst.ll
+++ /dev/null
@@ -1,20 +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-as < %s | opt -licm | llvm-dis | %prcontext mul 1 | grep Out:
-
-define i32 @test(i32 %N) {
-Entry:
- br label %Loop
-Loop: ; preds = %Loop, %Entry
- %N_addr.0.pn = phi i32 [ %dec, %Loop ], [ %N, %Entry ] ; <i32> [#uses=3]
- %tmp.6 = mul i32 %N, %N_addr.0.pn ; <i32> [#uses=1]
- %tmp.7 = sub i32 %tmp.6, %N ; <i32> [#uses=1]
- %dec = add i32 %N_addr.0.pn, -1 ; <i32> [#uses=1]
- %tmp.1 = icmp ne i32 %N_addr.0.pn, 1 ; <i1> [#uses=1]
- br i1 %tmp.1, label %Loop, label %Out
-Out: ; preds = %Loop
- ret i32 %tmp.7
-}
-
diff --git a/test/Transforms/LICM/sink_load.ll b/test/Transforms/LICM/sink_load.ll
deleted file mode 100644
index 87334840e0548..0000000000000
--- a/test/Transforms/LICM/sink_load.ll
+++ /dev/null
@@ -1,21 +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-as < %s | opt -licm | llvm-dis | %prcontext load 1 | grep Out:
-
-@X = global i32 5 ; <i32*> [#uses=1]
-
-define i32 @test(i32 %N) {
-Entry:
- br label %Loop
-Loop: ; preds = %Loop, %Entry
- %N_addr.0.pn = phi i32 [ %dec, %Loop ], [ %N, %Entry ] ; <i32> [#uses=2]
- %tmp.6 = load i32* @X ; <i32> [#uses=1]
- %dec = add i32 %N_addr.0.pn, -1 ; <i32> [#uses=1]
- %tmp.1 = icmp ne i32 %N_addr.0.pn, 1 ; <i1> [#uses=1]
- br i1 %tmp.1, label %Loop, label %Out
-Out: ; preds = %Loop
- ret i32 %tmp.6
-}
-
diff --git a/test/Transforms/LICM/sink_multiple.ll b/test/Transforms/LICM/sink_multiple.ll
deleted file mode 100644
index c9341704738fc..0000000000000
--- a/test/Transforms/LICM/sink_multiple.ll
+++ /dev/null
@@ -1,21 +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-as < %s | opt -licm | llvm-dis | \
-; RUN: %prcontext getelementptr 1 | grep Out:
-
- %Ty = type { i32, i32 }
-@X = external global %Ty ; <%Ty*> [#uses=1]
-
-define i32 @test() {
- br label %Loop
-Loop: ; preds = %Loop, %0
- %dead = getelementptr %Ty* @X, i64 0, i32 0 ; <i32*> [#uses=1]
- %sunk2 = load i32* %dead ; <i32> [#uses=1]
- br i1 false, label %Loop, label %Out
-Out: ; preds = %Loop
- ret i32 %sunk2
-}
-
diff --git a/test/Transforms/LICM/sink_multiple_exits.ll b/test/Transforms/LICM/sink_multiple_exits.ll
deleted file mode 100644
index 2882fa4b0af7e..0000000000000
--- a/test/Transforms/LICM/sink_multiple_exits.ll
+++ /dev/null
@@ -1,24 +0,0 @@
-; This testcase ensures that we can sink instructions from loops with
-; multiple exits.
-;
-; RUN: llvm-as < %s | opt -licm | llvm-dis | \
-; RUN: %prcontext mul 1 | grep {Out\[12\]:}
-
-define i32 @test(i32 %N, i1 %C) {
-Entry:
- br label %Loop
-Loop: ; preds = %ContLoop, %Entry
- %N_addr.0.pn = phi i32 [ %dec, %ContLoop ], [ %N, %Entry ] ; <i32> [#uses=3]
- %tmp.6 = mul i32 %N, %N_addr.0.pn ; <i32> [#uses=1]
- %tmp.7 = sub i32 %tmp.6, %N ; <i32> [#uses=2]
- %dec = add i32 %N_addr.0.pn, -1 ; <i32> [#uses=1]
- br i1 %C, label %ContLoop, label %Out1
-ContLoop: ; preds = %Loop
- %tmp.1 = icmp ne i32 %N_addr.0.pn, 1 ; <i1> [#uses=1]
- br i1 %tmp.1, label %Loop, label %Out2
-Out1: ; preds = %Loop
- ret i32 %tmp.7
-Out2: ; preds = %ContLoop
- ret i32 %tmp.7
-}
-
diff --git a/test/Transforms/LICM/sink_only_some_exits.ll b/test/Transforms/LICM/sink_only_some_exits.ll
deleted file mode 100644
index 42cfece56c912..0000000000000
--- a/test/Transforms/LICM/sink_only_some_exits.ll
+++ /dev/null
@@ -1,23 +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-as < %s | opt -licm | llvm-dis | \
-; RUN: %prcontext add 1 | grep exit2:
-
-define i32 @test(i1 %C1, i1 %C2, i32* %P, i32* %Q) {
-Entry:
- br label %Loop
-Loop: ; preds = %Cont, %Entry
- br i1 %C1, label %Cont, label %exit1
-Cont: ; preds = %Loop
- %X = load i32* %P ; <i32> [#uses=2]
- store i32 %X, i32* %Q
- %V = add i32 %X, 1 ; <i32> [#uses=1]
- br i1 %C2, label %Loop, label %exit2
-exit1: ; preds = %Loop
- ret i32 0
-exit2: ; preds = %Cont
- ret i32 %V
-}
-
diff --git a/test/Transforms/LICM/sink_phi_node_use.ll b/test/Transforms/LICM/sink_phi_node_use.ll
deleted file mode 100644
index 6e558bb1e4973..0000000000000
--- a/test/Transforms/LICM/sink_phi_node_use.ll
+++ /dev/null
@@ -1,21 +0,0 @@
-; RUN: llvm-as < %s | opt -licm | llvm-dis | %prcontext add 1 | grep preheader.loopexit:
-
-define void @test() {
-loopentry.2.i:
- br i1 false, label %no_exit.1.i.preheader, label %loopentry.3.i.preheader
-no_exit.1.i.preheader: ; preds = %loopentry.2.i
- br label %no_exit.1.i
-no_exit.1.i: ; preds = %endif.8.i, %no_exit.1.i.preheader
- br i1 false, label %return.i, label %endif.8.i
-endif.8.i: ; preds = %no_exit.1.i
- %inc.1.i = add i32 0, 1 ; <i32> [#uses=1]
- br i1 false, label %no_exit.1.i, label %loopentry.3.i.preheader.loopexit
-loopentry.3.i.preheader.loopexit: ; preds = %endif.8.i
- br label %loopentry.3.i.preheader
-loopentry.3.i.preheader: ; preds = %loopentry.3.i.preheader.loopexit, %loopentry.2.i
- %arg_num.0.i.ph13000 = phi i32 [ 0, %loopentry.2.i ], [ %inc.1.i, %loopentry.3.i.preheader.loopexit ] ; <i32> [#uses=0]
- ret void
-return.i: ; preds = %no_exit.1.i
- ret void
-}
-
diff --git a/test/Transforms/LICM/sink_trapping_inst.ll b/test/Transforms/LICM/sink_trapping_inst.ll
deleted file mode 100644
index 8e79039efe4b7..0000000000000
--- a/test/Transforms/LICM/sink_trapping_inst.ll
+++ /dev/null
@@ -1,18 +0,0 @@
-; Potentially trapping instructions may be sunk as long as they are guaranteed
-; to be executed.
-;
-; RUN: llvm-as < %s | opt -licm | llvm-dis | %prcontext div 1 | grep Out:
-
-define i32 @test(i32 %N) {
-Entry:
- br label %Loop
-Loop: ; preds = %Loop, %Entry
- %N_addr.0.pn = phi i32 [ %dec, %Loop ], [ %N, %Entry ] ; <i32> [#uses=3]
- %tmp.6 = sdiv i32 %N, %N_addr.0.pn ; <i32> [#uses=1]
- %dec = add i32 %N_addr.0.pn, -1 ; <i32> [#uses=1]
- %tmp.1 = icmp ne i32 %N_addr.0.pn, 0 ; <i1> [#uses=1]
- br i1 %tmp.1, label %Loop, label %Out
-Out: ; preds = %Loop
- ret i32 %tmp.6
-}
-
diff --git a/test/Transforms/MemCpyOpt/2008-06-01-MemCpy-MemMove.ll b/test/Transforms/MemCpyOpt/2008-06-01-MemCpy-MemMove.ll
deleted file mode 100644
index 16d2df4bacb2a..0000000000000
--- a/test/Transforms/MemCpyOpt/2008-06-01-MemCpy-MemMove.ll
+++ /dev/null
@@ -1,107 +0,0 @@
-; RUN: llvm-as < %s | opt -memcpyopt | llvm-dis | grep {call.*memmove.*arg1.*}
-; PR2401
-
-target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32"
-target triple = "i686-pc-linux-gnu"
- %struct.Info = type <{ i32, i32, i8*, i8*, i8*, [32 x i8*], i32, [32 x i32], i32, i32, i32, [32 x i32] }>
- %struct.S98 = type <{ [31 x double] }>
- %struct._IO_FILE = type <{ i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i32, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i8*, i8*, i32, i32, [40 x i8] }>
- %struct._IO_marker = type <{ %struct._IO_marker*, %struct._IO_FILE*, i32 }>
- %struct.anon = type <{ }>
- %union.anon = type { }
-@info = common global %struct.Info zeroinitializer, align 4 ; <%struct.Info*> [#uses=13]
-@fails = common global i32 0, align 4 ; <i32*> [#uses=37]
-@s98 = common global %struct.S98 zeroinitializer, align 4 ; <%struct.S98*> [#uses=2]
-@a98 = common global [5 x %struct.S98] zeroinitializer, align 4 ; <[5 x %struct.S98]*> [#uses=5]
-@stdout = external global %struct._IO_FILE* ; <%struct._IO_FILE**> [#uses=1]
-
-declare void @llvm.memmove.i32(i8*, i8*, i32, i32) nounwind
-
-define void @test98() nounwind {
-entry:
- %arg = alloca %struct.S98, align 8 ; <%struct.S98*> [#uses=2]
- %tmp13 = alloca %struct.S98 ; <%struct.S98*> [#uses=2]
- %tmp14 = alloca %struct.S98 ; <%struct.S98*> [#uses=2]
- %tmp15 = alloca %struct.S98 ; <%struct.S98*> [#uses=2]
- %tmp17 = alloca %struct.S98 ; <%struct.S98*> [#uses=2]
- %tmp21 = alloca %struct.S98 ; <%struct.S98*> [#uses=0]
- %tmp23 = alloca %struct.S98 ; <%struct.S98*> [#uses=0]
- %tmp25 = alloca %struct.S98 ; <%struct.S98*> [#uses=0]
- %tmp27 = alloca %struct.S98 ; <%struct.S98*> [#uses=0]
- %tmp29 = alloca %struct.S98 ; <%struct.S98*> [#uses=0]
- %tmp31 = alloca %struct.S98 ; <%struct.S98*> [#uses=0]
- %tmp33 = alloca %struct.S98 ; <%struct.S98*> [#uses=0]
- call void @llvm.memset.i32( i8* bitcast (%struct.S98* @s98 to i8*), i8 0, i32 248, i32 4 )
- call void @llvm.memset.i32( i8* bitcast ([5 x %struct.S98]* @a98 to i8*), i8 0, i32 1240, i32 4 )
- call void @llvm.memset.i32( i8* bitcast (%struct.Info* @info to i8*), i8 0, i32 420, i32 4 )
- store i8* bitcast (%struct.S98* @s98 to i8*), i8** getelementptr (%struct.Info* @info, i32 0, i32 2)
- store i8* bitcast ([5 x %struct.S98]* @a98 to i8*), i8** getelementptr (%struct.Info* @info, i32 0, i32 3)
- store i8* bitcast (%struct.S98* getelementptr ([5 x %struct.S98]* @a98, i32 0, i32 3) to i8*), i8** getelementptr (%struct.Info* @info, i32 0, i32 4)
- store i32 248, i32* getelementptr (%struct.Info* @info, i32 0, i32 6)
- store i32 4, i32* getelementptr (%struct.Info* @info, i32 0, i32 8)
- store i32 4, i32* getelementptr (%struct.Info* @info, i32 0, i32 9)
- store i32 4, i32* getelementptr (%struct.Info* @info, i32 0, i32 10)
- %tmp = load i32* getelementptr (%struct.Info* @info, i32 0, i32 8) ; <i32> [#uses=1]
- %sub = add i32 %tmp, -1 ; <i32> [#uses=1]
- %and = and i32 %sub, ptrtoint (%struct.S98* getelementptr ([5 x %struct.S98]* @a98, i32 0, i32 3) to i32) ; <i32> [#uses=1]
- %tobool = icmp eq i32 %and, 0 ; <i1> [#uses=1]
- br i1 %tobool, label %ifend, label %ifthen
-
-ifthen: ; preds = %entry
- %tmp3 = load i32* @fails ; <i32> [#uses=1]
- %inc = add i32 %tmp3, 1 ; <i32> [#uses=1]
- store i32 %inc, i32* @fails
- br label %ifend
-
-ifend: ; preds = %ifthen, %entry
- store i8* bitcast (double* getelementptr (%struct.S98* @s98, i32 0, i32 0, i32 18) to i8*), i8** getelementptr (%struct.Info* @info, i32 0, i32 5, i32 0)
- store i32 8, i32* getelementptr (%struct.Info* @info, i32 0, i32 7, i32 0)
- store i32 4, i32* getelementptr (%struct.Info* @info, i32 0, i32 11, i32 0)
- store double 0xC1075E4620000000, double* getelementptr (%struct.S98* @s98, i32 0, i32 0, i32 18)
- store double 0x410CD219E0000000, double* getelementptr ([5 x %struct.S98]* @a98, i32 0, i32 2, i32 0, i32 18)
- store i32 1, i32* getelementptr (%struct.Info* @info, i32 0, i32 0)
- store i32 0, i32* getelementptr (%struct.Info* @info, i32 0, i32 1)
- %tmp16 = bitcast %struct.S98* %tmp15 to i8* ; <i8*> [#uses=1]
- call void @llvm.memmove.i32( i8* %tmp16, i8* bitcast (%struct.S98* @s98 to i8*), i32 248, i32 4 )
- %tmp18 = bitcast %struct.S98* %tmp17 to i8* ; <i8*> [#uses=1]
- call void @llvm.memmove.i32( i8* %tmp18, i8* bitcast (%struct.S98* getelementptr ([5 x %struct.S98]* @a98, i32 0, i32 2) to i8*), i32 248, i32 4 )
- call void @check98( %struct.S98* sret %tmp14, %struct.S98* byval %tmp15, %struct.S98* getelementptr ([5 x %struct.S98]* @a98, i32 0, i32 1), %struct.S98* byval %tmp17 )
- %tmp19 = bitcast %struct.S98* %tmp13 to i8* ; <i8*> [#uses=1]
- %tmp20 = bitcast %struct.S98* %tmp14 to i8* ; <i8*> [#uses=1]
- call void @llvm.memmove.i32( i8* %tmp19, i8* %tmp20, i32 248, i32 8 )
- %tmp1 = bitcast %struct.S98* %arg to i8* ; <i8*> [#uses=1]
- %tmp2 = bitcast %struct.S98* %tmp13 to i8* ; <i8*> [#uses=1]
- call void @llvm.memcpy.i64( i8* %tmp1, i8* %tmp2, i64 248, i32 8 )
- %arrayidx.i = getelementptr %struct.S98* %arg, i32 0, i32 0, i32 18 ; <double*> [#uses=1]
- %tmp1.i = load double* %arrayidx.i, align 8 ; <double> [#uses=1]
- %tmp2.i = load double* getelementptr (%struct.S98* @s98, i32 0, i32 0, i32 18) ; <double> [#uses=1]
- %cmp.i = fcmp une double %tmp1.i, %tmp2.i ; <i1> [#uses=1]
- br i1 %cmp.i, label %ifthen.i, label %checkx98.exit
-
-ifthen.i: ; preds = %ifend
- %tmp3.i = load i32* @fails ; <i32> [#uses=1]
- %inc.i = add i32 %tmp3.i, 1 ; <i32> [#uses=1]
- store i32 %inc.i, i32* @fails
- br label %checkx98.exit
-
-checkx98.exit: ; preds = %ifthen.i, %ifend
- ret void
-}
-
-declare void @check98(%struct.S98* sret %agg.result, %struct.S98* byval %arg0, %struct.S98* %arg1, %struct.S98* byval %arg2) nounwind
-
-declare void @llvm.va_start(i8*) nounwind
-
-declare void @llvm.va_end(i8*) nounwind
-
-declare i32 @main() noreturn
-
-declare i32 @fflush(%struct._IO_FILE*)
-
-declare void @abort() noreturn nounwind
-
-declare void @exit(i32) noreturn nounwind
-
-declare void @llvm.memset.i32(i8*, i8, i32, i32) nounwind
-
-declare void @llvm.memcpy.i64(i8*, i8*, i64, i32) nounwind
diff --git a/test/Transforms/PredicateSimplifier/2006-08-02-Switch.ll b/test/Transforms/PredicateSimplifier/2006-08-02-Switch.ll
deleted file mode 100644
index fadaaa2ac56a2..0000000000000
--- a/test/Transforms/PredicateSimplifier/2006-08-02-Switch.ll
+++ /dev/null
@@ -1,19 +0,0 @@
-; RUN: llvm-as < %s | opt -predsimplify -disable-output
-
-define fastcc void @_ov_splice(i32 %n1, i32 %n2, i32 %ch2) {
-entry:
- %tmp = icmp sgt i32 %n1, %n2 ; <i1> [#uses=1]
- %n.0 = select i1 %tmp, i32 %n2, i32 %n1 ; <i32> [#uses=1]
- %tmp104 = icmp slt i32 0, %ch2 ; <i1> [#uses=1]
- br i1 %tmp104, label %cond_true105, label %return
-cond_true95: ; preds = %cond_true105
- ret void
-bb98: ; preds = %cond_true105
- ret void
-cond_true105: ; preds = %entry
- %tmp94 = icmp sgt i32 %n.0, 0 ; <i1> [#uses=1]
- br i1 %tmp94, label %cond_true95, label %bb98
-return: ; preds = %entry
- ret void
-}
-
diff --git a/test/Transforms/PredicateSimplifier/2006-08-07-LeaderOffByOne.ll b/test/Transforms/PredicateSimplifier/2006-08-07-LeaderOffByOne.ll
deleted file mode 100644
index c08dbb3a095cd..0000000000000
--- a/test/Transforms/PredicateSimplifier/2006-08-07-LeaderOffByOne.ll
+++ /dev/null
@@ -1,23 +0,0 @@
-; RUN: llvm-as < %s | opt -predsimplify -disable-output
-
-define void @safe_strcpy(i32 %size1) {
-entry:
- %tmp = icmp eq i32 %size1, 0 ; <i1> [#uses=1]
- br i1 %tmp, label %return, label %strlen.exit
-strlen.exit: ; preds = %entry
- %tmp.upgrd.1 = trunc i64 0 to i32 ; <i32> [#uses=2]
- %tmp6 = icmp ult i32 %tmp.upgrd.1, %size1 ; <i1> [#uses=1]
- br i1 %tmp6, label %cond_true7, label %cond_false19
-cond_true7: ; preds = %strlen.exit
- %tmp9 = icmp eq i32 %tmp.upgrd.1, 0 ; <i1> [#uses=1]
- br i1 %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/test/Transforms/PredicateSimplifier/2006-09-20-ResolveCycle.ll b/test/Transforms/PredicateSimplifier/2006-09-20-ResolveCycle.ll
deleted file mode 100644
index f3d58e9102d08..0000000000000
--- a/test/Transforms/PredicateSimplifier/2006-09-20-ResolveCycle.ll
+++ /dev/null
@@ -1,24 +0,0 @@
-; RUN: llvm-as < %s | opt -predsimplify -disable-output
-
-define void @gs_image_next() {
-entry:
- %tmp = load i32* null ; <i32> [#uses=2]
- br i1 false, label %cond_next21, label %UnifiedReturnBlock
-cond_next21: ; preds = %entry
- br i1 false, label %cond_next42, label %UnifiedReturnBlock
-cond_next42: ; preds = %cond_next21
- br label %cond_true158
-cond_next134: ; preds = %cond_true158
- %tmp1571 = icmp eq i32 0, %min ; <i1> [#uses=0]
- ret void
-cond_true158: ; preds = %cond_true158, %cond_next42
- %tmp47 = sub i32 %tmp, 0 ; <i32> [#uses=2]
- %tmp49 = icmp ule i32 %tmp47, 0 ; <i1> [#uses=1]
- %min = select i1 %tmp49, i32 %tmp47, i32 0 ; <i32> [#uses=2]
- %tmp92 = add i32 %min, 0 ; <i32> [#uses=1]
- %tmp101 = icmp eq i32 %tmp92, %tmp ; <i1> [#uses=1]
- br i1 %tmp101, label %cond_next134, label %cond_true158
-UnifiedReturnBlock: ; preds = %cond_next21, %entry
- ret void
-}
-
diff --git a/test/Transforms/PredicateSimplifier/2006-09-20-SetCC.ll b/test/Transforms/PredicateSimplifier/2006-09-20-SetCC.ll
deleted file mode 100644
index 9df0f9d9bef97..0000000000000
--- a/test/Transforms/PredicateSimplifier/2006-09-20-SetCC.ll
+++ /dev/null
@@ -1,46 +0,0 @@
-; RUN: llvm-as < %s | opt -predsimplify | llvm-dis | grep br | grep return.i.bb8_crit_edge | grep false
-@str = external global [4 x i8] ; <[4 x i8]*> [#uses=1]
-
-declare i32 @sprintf(i8*, i8*, ...)
-
-define i32 @main() {
-entry:
- br label %cond_true.outer
-cond_true.outer: ; preds = %cond_true.i, %entry
- %i.0.0.ph = phi i32 [ 0, %entry ], [ %tmp5, %cond_true.i ] ; <i32> [#uses=1]
- %j.0.0.ph = phi i32 [ 0, %entry ], [ %tmp312, %cond_true.i ] ; <i32> [#uses=2]
- br label %cond_true
-cond_true: ; preds = %return.i, %cond_true.outer
- %indvar.ui = phi i32 [ 0, %cond_true.outer ], [ %indvar.next, %return.i ] ; <i32> [#uses=2]
- %indvar = bitcast i32 %indvar.ui to i32 ; <i32> [#uses=1]
- %i.0.0 = add i32 %indvar, %i.0.0.ph ; <i32> [#uses=3]
- %savedstack = call i8* @llvm.stacksave( ) ; <i8*> [#uses=2]
- %tmp.i = icmp eq i32 %i.0.0, 0 ; <i1> [#uses=1]
- %tmp5 = add i32 %i.0.0, 1 ; <i32> [#uses=3]
- br i1 %tmp.i, label %return.i, label %cond_true.i
-cond_true.i: ; preds = %cond_true
- %tmp.i.upgrd.1 = alloca [1000 x i8] ; <[1000 x i8]*> [#uses=1]
- %tmp.sub.i = getelementptr [1000 x i8]* %tmp.i.upgrd.1, i32 0, i32 0 ; <i8*> [#uses=2]
- %tmp4.i = call i32 (i8*, i8*, ...)* @sprintf( i8* %tmp.sub.i, i8* getelementptr ([4 x i8]* @str, i32 0, i64 0), i32 %i.0.0 ) ; <i32> [#uses=0]
- %tmp.i.upgrd.2 = load i8* %tmp.sub.i ; <i8> [#uses=1]
- %tmp7.i = sext i8 %tmp.i.upgrd.2 to i32 ; <i32> [#uses=1]
- call void @llvm.stackrestore( i8* %savedstack )
- %tmp312 = add i32 %tmp7.i, %j.0.0.ph ; <i32> [#uses=2]
- %tmp19 = icmp sgt i32 %tmp5, 9999 ; <i1> [#uses=1]
- br i1 %tmp19, label %bb8, label %cond_true.outer
-return.i: ; preds = %cond_true
- call void @llvm.stackrestore( i8* %savedstack )
- %tmp21 = icmp sgt i32 %tmp5, 9999 ; <i1> [#uses=1]
- %indvar.next = add i32 %indvar.ui, 1 ; <i32> [#uses=1]
- br i1 %tmp21, label %bb8, label %cond_true
-bb8: ; preds = %return.i, %cond_true.i
- %j.0.1 = phi i32 [ %j.0.0.ph, %return.i ], [ %tmp312, %cond_true.i ] ; <i32> [#uses=1]
- %tmp10 = call i32 (i8*, ...)* @printf( i8* getelementptr ([4 x i8]* @str, i32 0, i64 0), i32 %j.0.1 ) ; <i32> [#uses=0]
- ret i32 undef
-}
-
-declare i32 @printf(i8*, ...)
-
-declare i8* @llvm.stacksave()
-
-declare void @llvm.stackrestore(i8*)
diff --git a/test/Transforms/PredicateSimplifier/2006-10-22-IntOr.ll b/test/Transforms/PredicateSimplifier/2006-10-22-IntOr.ll
deleted file mode 100644
index 9146576ef6160..0000000000000
--- a/test/Transforms/PredicateSimplifier/2006-10-22-IntOr.ll
+++ /dev/null
@@ -1,48 +0,0 @@
-; RUN: llvm-as < %s | \
-; RUN: opt -predsimplify -instcombine -simplifycfg | llvm-dis > %t
-; RUN: grep -v declare %t | not grep fail
-; RUN: grep -v declare %t | grep pass | count 3
-
-define i32 @test1(i32 %x, i32 %y) {
-entry:
- %tmp2 = or i32 %x, %y ; <i32> [#uses=1]
- %tmp = icmp eq i32 %tmp2, 0 ; <i1> [#uses=1]
- br i1 %tmp, label %cond_true, label %return
-cond_true: ; preds = %entry
- %tmp4 = icmp eq i32 %x, 0 ; <i1> [#uses=1]
- br i1 %tmp4, label %cond_true5, label %cond_false
-cond_true5: ; preds = %cond_true
- %tmp6 = call i32 @pass( ) ; <i32> [#uses=1]
- ret i32 %tmp6
-cond_false: ; preds = %cond_true
- %tmp8 = call i32 @fail( ) ; <i32> [#uses=1]
- ret i32 %tmp8
-return: ; preds = %entry
- ret i32 0
-}
-
-define i32 @test2(i32 %x, i32 %y) {
-entry:
- %tmp2 = or i32 %x, %y ; <i32> [#uses=1]
- %tmp = icmp ne i32 %tmp2, 0 ; <i1> [#uses=1]
- br i1 %tmp, label %cond_true, label %return
-cond_true: ; preds = %entry
- %tmp4 = icmp eq i32 %x, 0 ; <i1> [#uses=1]
- br i1 %tmp4, label %cond_true5, label %cond_false
-cond_true5: ; preds = %cond_true
- %tmp6 = call i32 @pass1( ) ; <i32> [#uses=1]
- ret i32 %tmp6
-cond_false: ; preds = %cond_true
- %tmp8 = call i32 @pass2( ) ; <i32> [#uses=1]
- ret i32 %tmp8
-return: ; preds = %entry
- ret i32 0
-}
-
-declare i32 @fail()
-
-declare i32 @pass()
-
-declare i32 @pass1()
-
-declare i32 @pass2()
diff --git a/test/Transforms/PredicateSimplifier/2006-10-25-AddSetCC.ll b/test/Transforms/PredicateSimplifier/2006-10-25-AddSetCC.ll
deleted file mode 100644
index cbc54bee21bc6..0000000000000
--- a/test/Transforms/PredicateSimplifier/2006-10-25-AddSetCC.ll
+++ /dev/null
@@ -1,26 +0,0 @@
-; RUN: llvm-as < %s | \
-; RUN: opt -predsimplify -instcombine -simplifycfg | llvm-dis | \
-; RUN: grep -v declare | grep pass | count 2
-
-define i32 @test(i32 %x, i32 %y) {
-entry:
- %tmp2 = icmp slt i32 %x, %y ; <i1> [#uses=1]
- %tmp = icmp ne i1 %tmp2, true ; <i1> [#uses=1]
- br i1 %tmp, label %cond_true, label %return
-cond_true: ; preds = %entry
- %tmp4 = icmp eq i32 %x, %y ; <i1> [#uses=1]
- br i1 %tmp4, label %cond_true5, label %cond_false
-cond_true5: ; preds = %cond_true
- %tmp6 = call i32 @pass1( ) ; <i32> [#uses=1]
- ret i32 %tmp6
-cond_false: ; preds = %cond_true
- %tmp8 = call i32 @pass2( ) ; <i32> [#uses=1]
- ret i32 %tmp8
-return: ; preds = %entry
- ret i32 0
-}
-
-declare i32 @pass1()
-
-declare i32 @pass2()
-
diff --git a/test/Transforms/PredicateSimplifier/2006-11-04-ImpossibleGT.ll b/test/Transforms/PredicateSimplifier/2006-11-04-ImpossibleGT.ll
deleted file mode 100644
index b0b9859462a6d..0000000000000
--- a/test/Transforms/PredicateSimplifier/2006-11-04-ImpossibleGT.ll
+++ /dev/null
@@ -1,16 +0,0 @@
-; RUN: llvm-as < %s | opt -predsimplify -disable-output
-
-define void @readMotionInfoFromNAL() {
-entry:
- br i1 false, label %bb2425, label %cond_next30
-cond_next30: ; preds = %entry
- ret void
-bb2418: ; preds = %bb2425
- ret void
-bb2425: ; preds = %entry
- %tmp2427 = icmp sgt i32 0, 3 ; <i1> [#uses=1]
- br i1 %tmp2427, label %cond_next2429, label %bb2418
-cond_next2429: ; preds = %bb2425
- ret void
-}
-
diff --git a/test/Transforms/PredicateSimplifier/2006-11-04-ReplacingZeros.ll b/test/Transforms/PredicateSimplifier/2006-11-04-ReplacingZeros.ll
deleted file mode 100644
index 906d7c363bf6c..0000000000000
--- a/test/Transforms/PredicateSimplifier/2006-11-04-ReplacingZeros.ll
+++ /dev/null
@@ -1,25 +0,0 @@
-; RUN: llvm-as < %s | opt -predsimplify -disable-output
-
-define i32 @test_wp_B_slice(i32 %select_method) {
-entry:
- br label %bb309
-cond_true114: ; preds = %bb309
- %tmp130 = icmp slt i32 0, 128 ; <i1> [#uses=1]
- %min = select i1 %tmp130, i32 0, i32 127 ; <i32> [#uses=2]
- %tmp143 = load i32* null ; <i32> [#uses=0]
- br i1 false, label %bb303, label %bb314
-cond_true166: ; preds = %bb303
- ret i32 0
-cond_false200: ; preds = %bb303
- %tmp205 = sdiv i32 %min, 2 ; <i32> [#uses=1]
- %iftmp.380.0.p = select i1 false, i32 0, i32 %tmp205 ; <i32> [#uses=0]
- ret i32 0
-bb303: ; preds = %cond_true114
- %tmp165 = icmp eq i32 %min, 0 ; <i1> [#uses=1]
- br i1 %tmp165, label %cond_true166, label %cond_false200
-bb309: ; preds = %entry
- br i1 false, label %cond_true114, label %bb314
-bb314: ; preds = %bb309, %cond_true114
- ret i32 0
-}
-
diff --git a/test/Transforms/PredicateSimplifier/2006-11-05-CycleGTLT.ll b/test/Transforms/PredicateSimplifier/2006-11-05-CycleGTLT.ll
deleted file mode 100644
index 87e0e16b5eead..0000000000000
--- a/test/Transforms/PredicateSimplifier/2006-11-05-CycleGTLT.ll
+++ /dev/null
@@ -1,13 +0,0 @@
-; RUN: llvm-as < %s | opt -predsimplify -disable-output
-
-define void @diff(i32 %N) {
-entry:
- %tmp = icmp sgt i32 %N, 0 ; <i1> [#uses=1]
- br i1 %tmp, label %bb519, label %bb744
-bb519: ; preds = %entry
- %tmp720101 = icmp slt i32 %N, 0 ; <i1> [#uses=1]
- br i1 %tmp720101, label %bb744, label %bb744
-bb744: ; preds = %bb519, %bb519, %entry
- ret void
-}
-
diff --git a/test/Transforms/PredicateSimplifier/2006-11-11-Squeeze.ll b/test/Transforms/PredicateSimplifier/2006-11-11-Squeeze.ll
deleted file mode 100644
index 4f8af01bc3991..0000000000000
--- a/test/Transforms/PredicateSimplifier/2006-11-11-Squeeze.ll
+++ /dev/null
@@ -1,25 +0,0 @@
-; RUN: llvm-as < %s | opt -predsimplify -disable-output
-
- %struct.cube_struct = type { i32, i32, i32, i32*, i32*, i32*, i32*, i32*, i32*, i32*, i32**, i32**, i32*, i32*, i32, i32, i32*, i32, i32 }
-@cube = external global %struct.cube_struct ; <%struct.cube_struct*> [#uses=2]
-
-define fastcc void @cube_setup() {
-entry:
- %tmp = load i32* getelementptr (%struct.cube_struct* @cube, i32 0, i32 2) ; <i32> [#uses=2]
- %tmp.upgrd.1 = icmp slt i32 %tmp, 0 ; <i1> [#uses=1]
- br i1 %tmp.upgrd.1, label %bb, label %cond_next
-cond_next: ; preds = %entry
- %tmp2 = load i32* getelementptr (%struct.cube_struct* @cube, i32 0, i32 1) ; <i32> [#uses=2]
- %tmp5 = icmp slt i32 %tmp2, %tmp ; <i1> [#uses=1]
- br i1 %tmp5, label %bb, label %bb6
-bb: ; preds = %cond_next, %entry
- unreachable
-bb6: ; preds = %cond_next
- %tmp98124 = icmp sgt i32 %tmp2, 0 ; <i1> [#uses=1]
- br i1 %tmp98124, label %bb42, label %bb99
-bb42: ; preds = %bb6
- ret void
-bb99: ; preds = %bb6
- ret void
-}
-
diff --git a/test/Transforms/PredicateSimplifier/2006-11-12-MergeNodes.ll b/test/Transforms/PredicateSimplifier/2006-11-12-MergeNodes.ll
deleted file mode 100644
index 47f912de5e8bd..0000000000000
--- a/test/Transforms/PredicateSimplifier/2006-11-12-MergeNodes.ll
+++ /dev/null
@@ -1,41 +0,0 @@
-; RUN: llvm-as < %s | opt -predsimplify -disable-output
-; END.
-target datalayout = "e-p:32:32"
-target triple = "i686-pc-linux-gnu"
-deplibs = [ "c", "crtend" ]
- %struct.VDIR_ST = type { i32, i32, i32, %struct.acl*, %struct.pfile*, %struct.vlink*, %struct.vlink*, %struct.vlink*, %struct.VDIR_ST*, %struct.VDIR_ST* }
- %struct.acl = type { i32, i8*, i8*, i8*, %struct.restrict*, %struct.acl*, %struct.acl* }
- %struct.avalue = type { i8* }
- %struct.pattrib = type { i8, i8*, i8*, %struct.avalue, %struct.pattrib*, %struct.pattrib* }
- %struct.pfile = type { i32, i32, i32, i32, i32, %struct.vlink*, %struct.vlink*, %struct.pattrib*, %struct.pfile*, %struct.pfile* }
- %struct.restrict = type { %struct.acl*, %struct.acl* }
- %struct.vlink = type { i32, i8*, i8, i32, i8*, %struct.vlink*, %struct.vlink*, i8*, i8*, i8*, i8*, i32, i32, %struct.acl*, i32, i32, i8*, %struct.pattrib*, %struct.pfile*, %struct.vlink*, %struct.vlink* }
-
-define void @vl_insert(%struct.vlink* %vl) {
-entry:
- %tmp91 = call i32 @vl_comp( ) ; <i32> [#uses=2]
- %tmp93 = icmp sgt i32 %tmp91, 0 ; <i1> [#uses=1]
- br i1 %tmp93, label %cond_next84, label %bb94
-cond_next84: ; preds = %entry
- ret void
-bb94: ; preds = %entry
- %tmp96 = icmp eq i32 %tmp91, 0 ; <i1> [#uses=1]
- br i1 %tmp96, label %cond_true97, label %cond_next203
-cond_true97: ; preds = %bb94
- br i1 false, label %cond_next105, label %cond_true102
-cond_true102: ; preds = %cond_true97
- ret void
-cond_next105: ; preds = %cond_true97
- %tmp110 = getelementptr %struct.vlink* %vl, i32 0, i32 12 ; <i32*> [#uses=1]
- %tmp111 = load i32* %tmp110 ; <i32> [#uses=1]
- %tmp129 = icmp eq i32 %tmp111, 0 ; <i1> [#uses=1]
- br i1 %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 i32 @vl_comp()
diff --git a/test/Transforms/PredicateSimplifier/2007-01-04-SelectSwitch.ll b/test/Transforms/PredicateSimplifier/2007-01-04-SelectSwitch.ll
deleted file mode 100644
index 8e45a6602acf9..0000000000000
--- a/test/Transforms/PredicateSimplifier/2007-01-04-SelectSwitch.ll
+++ /dev/null
@@ -1,17 +0,0 @@
-; RUN: llvm-as < %s | opt -predsimplify -disable-output
-
-define void @ercMarkCurrMBConcealed(i32 %comp) {
-entry:
- %tmp5 = icmp slt i32 %comp, 0 ; <i1> [#uses=2]
- %comp_addr.0 = select i1 %tmp5, i32 0, i32 %comp ; <i32> [#uses=1]
- switch i32 %comp_addr.0, label %return [
- i32 0, label %bb
- ]
-bb: ; preds = %entry
- br i1 %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/test/Transforms/PredicateSimplifier/2007-03-17-OpsToDefVRP.ll b/test/Transforms/PredicateSimplifier/2007-03-17-OpsToDefVRP.ll
deleted file mode 100644
index 0a45e7ce36a2d..0000000000000
--- a/test/Transforms/PredicateSimplifier/2007-03-17-OpsToDefVRP.ll
+++ /dev/null
@@ -1,19 +0,0 @@
-; RUN: llvm-as < %s | opt -predsimplify | llvm-dis | grep -v %c
-define void @foo(i8* %X, i8* %Y) {
-entry:
- %A = load i8* %X
- %B = load i8* %Y
- %a = icmp ult i8 %B, 10
- br i1 %a, label %cond_true, label %URB
-cond_true:
- %b = icmp eq i8 %A, %B
- br i1 %b, label %cond_true2, label %URB
-cond_true2:
- %c = icmp ult i8 %A, 11
- call i8 @bar(i1 %c)
- ret void
-URB:
- ret void
-}
-
-declare i8 @bar(i1)
diff --git a/test/Transforms/PredicateSimplifier/2007-09-19-Subtract.ll b/test/Transforms/PredicateSimplifier/2007-09-19-Subtract.ll
deleted file mode 100644
index e12453a76c41c..0000000000000
--- a/test/Transforms/PredicateSimplifier/2007-09-19-Subtract.ll
+++ /dev/null
@@ -1,102 +0,0 @@
-; RUN: llvm-as < %s | opt -predsimplify | llvm-dis | grep unreachable | count 2
-; PR1683
-
-@.str = internal constant [13 x i8] c"c36174a.adb\00\00" ; <[13 x i8]*> [#uses=1]
-
-define void @_ada_c36174a() {
-entry:
- %tmp3 = call i8* @llvm.stacksave( ) ; <i8*> [#uses=1]
- %tmp4 = invoke i32 @report__ident_int( i32 6 )
- to label %invcont unwind label %entry.lpad_crit_edge ; <i32> [#uses=7]
-
-entry.lpad_crit_edge: ; preds = %entry
- br label %lpad
-
-invcont: ; preds = %entry
- %tmp6 = icmp slt i32 %tmp4, 1 ; <i1> [#uses=1]
- br i1 %tmp6, label %bb, label %bb9
-
-bb: ; preds = %invcont
- invoke void @__gnat_rcheck_07( i8* getelementptr ([13 x i8]* @.str, i32 0, i32 0), i32 10 )
- to label %invcont8 unwind label %bb.lpad_crit_edge
-
-bb.lpad_crit_edge: ; preds = %bb
- br label %lpad
-
-invcont8: ; preds = %bb
- unreachable
-
-bb9: ; preds = %invcont
- %tmp51 = add i32 %tmp4, 6 ; <i32> [#uses=2]
- %tmp56 = icmp sgt i32 %tmp4, %tmp51 ; <i1> [#uses=1]
- br i1 %tmp56, label %bb9.bb76_crit_edge, label %bb9.bb61_crit_edge
-
-bb9.bb61_crit_edge: ; preds = %bb9
- br label %bb61
-
-bb9.bb76_crit_edge: ; preds = %bb9
- br label %bb76
-
-bb61: ; preds = %bb73, %bb9.bb61_crit_edge
- %J4b.0 = phi i32 [ %tmp75, %bb73 ], [ %tmp4, %bb9.bb61_crit_edge ] ; <i32> [#uses=2]
- %tmp70 = icmp eq i32 %tmp51, %J4b.0 ; <i1> [#uses=1]
- br i1 %tmp70, label %bb61.bb76_crit_edge, label %bb73
-
-bb61.bb76_crit_edge: ; preds = %bb61
- br label %bb76
-
-bb73: ; preds = %bb61
- %tmp75 = add i32 %J4b.0, 1 ; <i32> [#uses=1]
- br label %bb61
-
-bb76: ; preds = %bb61.bb76_crit_edge, %bb9.bb76_crit_edge
- %tmp78 = icmp ne i32 %tmp4, 6 ; <i1> [#uses=1]
- %tmp81 = add i32 %tmp4, 6 ; <i32> [#uses=1]
- %tmp8182 = sext i32 %tmp81 to i64 ; <i64> [#uses=1]
- %tmp8384 = sext i32 %tmp4 to i64 ; <i64> [#uses=1]
- %tmp85 = sub i64 %tmp8182, %tmp8384 ; <i64> [#uses=1]
- %tmp86 = icmp ne i64 %tmp85, 6 ; <i1> [#uses=1]
- %tmp90 = or i1 %tmp78, %tmp86 ; <i1> [#uses=1]
- br i1 %tmp90, label %bb93, label %bb76.bb99_crit_edge
-
-bb76.bb99_crit_edge: ; preds = %bb76
- br label %bb99
-
-bb93: ; preds = %bb76
- invoke void @abort( )
- to label %bb93.bb99_crit_edge unwind label %bb93.lpad_crit_edge
-
-bb93.lpad_crit_edge: ; preds = %bb93
- br label %lpad
-
-bb93.bb99_crit_edge: ; preds = %bb93
- br label %bb99
-
-bb99: ; preds = %bb93.bb99_crit_edge, %bb76.bb99_crit_edge
- ret void
-
-lpad: ; preds = %bb93.lpad_crit_edge, %bb.lpad_crit_edge, %entry.lpad_crit_edge
- %eh_ptr = call i8* @llvm.eh.exception( ) ; <i8*> [#uses=2]
- %eh_select102 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* %eh_ptr, i8* bitcast (i32 (...)* @__gnat_eh_personality to i8*), i32 0 ) ; <i32> [#uses=0]
- call void @llvm.stackrestore( i8* %tmp3 )
- call i32 (...)* @_Unwind_Resume( i8* %eh_ptr ) ; <i32>:0 [#uses=0]
- unreachable
-}
-
-declare i8* @llvm.stacksave()
-
-declare i32 @report__ident_int(i32)
-
-declare void @__gnat_rcheck_07(i8*, i32)
-
-declare void @abort()
-
-declare i8* @llvm.eh.exception()
-
-declare i32 @llvm.eh.selector.i32(i8*, i8*, ...)
-
-declare i32 @__gnat_eh_personality(...)
-
-declare i32 @_Unwind_Resume(...)
-
-declare void @llvm.stackrestore(i8*)
diff --git a/test/Transforms/PredicateSimplifier/dg.exp b/test/Transforms/PredicateSimplifier/dg.exp
deleted file mode 100644
index f2005891a59a8..0000000000000
--- a/test/Transforms/PredicateSimplifier/dg.exp
+++ /dev/null
@@ -1,3 +0,0 @@
-load_lib llvm.exp
-
-RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,c,cpp}]]
diff --git a/test/Transforms/PredicateSimplifier/predsimplify.ll b/test/Transforms/PredicateSimplifier/predsimplify.ll
deleted file mode 100644
index a6848df69e3de..0000000000000
--- a/test/Transforms/PredicateSimplifier/predsimplify.ll
+++ /dev/null
@@ -1,279 +0,0 @@
-; RUN: llvm-as < %s | \
-; RUN: opt -predsimplify -instcombine -simplifycfg | llvm-dis > %t
-; RUN: grep -v declare %t | not grep fail
-; RUN: grep -v declare %t | grep pass | count 4
-
-
-define void @test1(i32 %x) {
-entry:
- %A = icmp eq i32 %x, 0 ; <i1> [#uses=1]
- br i1 %A, label %then.1, label %else.1
-then.1: ; preds = %entry
- %B = icmp eq i32 %x, 1 ; <i1> [#uses=1]
- br i1 %B, label %then.2, label %else.1
-then.2: ; preds = %then.1
- call void (...)* @fail( )
- ret void
-else.1: ; preds = %then.1, %entry
- ret void
-}
-
-define void @test2(i32 %x) {
-entry:
- %A = icmp eq i32 %x, 0 ; <i1> [#uses=1]
- %B = icmp eq i32 %x, 1 ; <i1> [#uses=1]
- br i1 %A, label %then.1, label %else.1
-then.1: ; preds = %entry
- br i1 %B, label %then.2, label %else.1
-then.2: ; preds = %then.1
- call void (...)* @fail( )
- ret void
-else.1: ; preds = %then.1, %entry
- ret void
-}
-
-define void @test3(i32 %x) {
-entry:
- %A = icmp eq i32 %x, 0 ; <i1> [#uses=1]
- %B = icmp eq i32 %x, 1 ; <i1> [#uses=1]
- br i1 %A, label %then.1, label %else.1
-then.1: ; preds = %entry
- br i1 %B, label %then.2, label %else.1
-then.2: ; preds = %then.1
- call void (...)* @fail( )
- ret void
-else.1: ; preds = %then.1, %entry
- ret void
-}
-
-define void @test4(i32 %x, i32 %y) {
-entry:
- %A = icmp eq i32 %x, 0 ; <i1> [#uses=1]
- %B = icmp eq i32 %y, 0 ; <i1> [#uses=1]
- %C = and i1 %A, %B ; <i1> [#uses=1]
- br i1 %C, label %then.1, label %else.1
-then.1: ; preds = %entry
- %D = icmp eq i32 %x, 0 ; <i1> [#uses=1]
- br i1 %D, label %then.2, label %else.2
-then.2: ; preds = %then.1
- %E = icmp eq i32 %y, 0 ; <i1> [#uses=1]
- br i1 %E, label %else.1, label %else.2
-else.1: ; preds = %then.2, %entry
- ret void
-else.2: ; preds = %then.2, %then.1
- call void (...)* @fail( )
- ret void
-}
-
-define void @test5(i32 %x) {
-entry:
- %A = icmp eq i32 %x, 0 ; <i1> [#uses=1]
- br i1 %A, label %then.1, label %else.1
-then.1: ; preds = %else.1, %entry
- ret void
-then.2: ; preds = %else.1
- call void (...)* @fail( )
- ret void
-else.1: ; preds = %entry
- %B = icmp eq i32 %x, 0 ; <i1> [#uses=1]
- br i1 %B, label %then.2, label %then.1
-}
-
-define void @test6(i32 %x, i32 %y) {
-entry:
- %A = icmp eq i32 %x, 0 ; <i1> [#uses=1]
- %B = icmp eq i32 %y, 0 ; <i1> [#uses=1]
- %C = or i1 %A, %B ; <i1> [#uses=1]
- br i1 %C, label %then.1, label %else.1
-then.1: ; preds = %else.2, %entry
- ret void
-then.2: ; preds = %else.2, %else.1
- call void (...)* @fail( )
- ret void
-else.1: ; preds = %entry
- %D = icmp eq i32 %x, 0 ; <i1> [#uses=1]
- br i1 %D, label %then.2, label %else.2
-else.2: ; preds = %else.1
- %E = icmp ne i32 %y, 0 ; <i1> [#uses=1]
- br i1 %E, label %then.1, label %then.2
-}
-
-define void @test7(i32 %x) {
-entry:
- %A = icmp ne i32 %x, 0 ; <i1> [#uses=1]
- %B = xor i1 %A, true ; <i1> [#uses=1]
- br i1 %B, label %then.1, label %else.1
-then.1: ; preds = %entry
- %C = icmp eq i32 %x, 1 ; <i1> [#uses=1]
- br i1 %C, label %then.2, label %else.1
-then.2: ; preds = %then.1
- call void (...)* @fail( )
- ret void
-else.1: ; preds = %then.1, %entry
- ret void
-}
-
-define void @test8(i32 %x) {
-entry:
- %A = add i32 %x, 1 ; <i32> [#uses=1]
- %B = icmp eq i32 %x, 0 ; <i1> [#uses=1]
- br i1 %B, label %then.1, label %then.2
-then.1: ; preds = %entry
- %C = icmp eq i32 %A, 1 ; <i1> [#uses=1]
- br i1 %C, label %then.2, label %else.2
-then.2: ; preds = %then.1, %entry
- ret void
-else.2: ; preds = %then.1
- call void (...)* @fail( )
- ret void
-}
-
-define void @test9(i32 %y, i32 %z) {
-entry:
- %x = add i32 %y, %z ; <i32> [#uses=1]
- %A = icmp eq i32 %y, 3 ; <i1> [#uses=1]
- %B = icmp eq i32 %z, 5 ; <i1> [#uses=1]
- %C = and i1 %A, %B ; <i1> [#uses=1]
- br i1 %C, label %cond_true, label %return
-cond_true: ; preds = %entry
- %D = icmp eq i32 %x, 8 ; <i1> [#uses=1]
- br i1 %D, label %then, label %oops
-then: ; preds = %cond_true
- call void (...)* @pass( )
- ret void
-oops: ; preds = %cond_true
- call void (...)* @fail( )
- ret void
-return: ; preds = %entry
- ret void
-}
-
-define void @test10() {
-entry:
- %A = alloca i32 ; <i32*> [#uses=1]
- %B = icmp eq i32* %A, null ; <i1> [#uses=1]
- br i1 %B, label %cond_true, label %cond_false
-cond_true: ; preds = %entry
- call void (...)* @fail( )
- ret void
-cond_false: ; preds = %entry
- call void (...)* @pass( )
- ret void
-}
-
-define void @switch1(i32 %x) {
-entry:
- %A = icmp eq i32 %x, 10 ; <i1> [#uses=1]
- br i1 %A, label %return, label %cond_false
-cond_false: ; preds = %entry
- switch i32 %x, label %return [
- i32 9, label %then1
- i32 10, label %then2
- ]
-then1: ; preds = %cond_false
- call void (...)* @pass( )
- ret void
-then2: ; preds = %cond_false
- call void (...)* @fail( )
- ret void
-return: ; preds = %cond_false, %entry
- ret void
-}
-
-define void @switch2(i32 %x) {
-entry:
- %A = icmp eq i32 %x, 10 ; <i1> [#uses=1]
- br i1 %A, label %return, label %cond_false
-cond_false: ; preds = %entry
- switch i32 %x, label %return [
- i32 8, label %then1
- i32 9, label %then1
- i32 10, label %then1
- ]
-then1: ; preds = %cond_false, %cond_false, %cond_false
- %B = icmp ne i32 %x, 8 ; <i1> [#uses=1]
- br i1 %B, label %then2, label %return
-then2: ; preds = %then1
- call void (...)* @pass( )
- ret void
-return: ; preds = %then1, %cond_false, %entry
- ret void
-}
-
-define void @switch3(i32 %x) {
-entry:
- %A = icmp eq i32 %x, 10 ; <i1> [#uses=1]
- br i1 %A, label %return, label %cond_false
-cond_false: ; preds = %entry
- switch i32 %x, label %return [
- i32 9, label %then1
- i32 10, label %then1
- ]
-then1: ; preds = %cond_false, %cond_false
- %B = icmp eq i32 %x, 9 ; <i1> [#uses=1]
- br i1 %B, label %return, label %oops
-oops: ; preds = %then1
- call void (...)* @fail( )
- ret void
-return: ; preds = %then1, %cond_false, %entry
- ret void
-}
-
-define void @switch4(i32 %x) {
-entry:
- %A = icmp eq i32 %x, 10 ; <i1> [#uses=1]
- br i1 %A, label %then1, label %cond_false
-cond_false: ; preds = %entry
- switch i32 %x, label %default [
- i32 9, label %then1
- i32 10, label %then2
- ]
-then1: ; preds = %default, %cond_false, %entry
- ret void
-then2: ; preds = %cond_false
- ret void
-default: ; preds = %cond_false
- %B = icmp eq i32 %x, 9 ; <i1> [#uses=1]
- br i1 %B, label %oops, label %then1
-oops: ; preds = %default
- call void (...)* @fail( )
- ret void
-}
-
-define void @select1(i32 %x) {
-entry:
- %A = icmp eq i32 %x, 10 ; <i1> [#uses=3]
- %B = select i1 %A, i32 1, i32 2 ; <i32> [#uses=1]
- %C = icmp eq i32 %B, 1 ; <i1> [#uses=1]
- br i1 %C, label %then, label %else
-then: ; preds = %entry
- br i1 %A, label %return, label %oops
-else: ; preds = %entry
- br i1 %A, label %oops, label %return
-oops: ; preds = %else, %then
- call void (...)* @fail( )
- ret void
-return: ; preds = %else, %then
- ret void
-}
-
-define void @select2(i32 %x) {
-entry:
- %A = icmp eq i32 %x, 10 ; <i1> [#uses=2]
- %B = select i1 %A, i32 1, i32 2 ; <i32> [#uses=1]
- %C = icmp eq i32 %B, 1 ; <i1> [#uses=2]
- br i1 %A, label %then, label %else
-then: ; preds = %entry
- br i1 %C, label %return, label %oops
-else: ; preds = %entry
- br i1 %C, label %oops, label %return
-oops: ; preds = %else, %then
- call void (...)* @fail( )
- ret void
-return: ; preds = %else, %then
- ret void
-}
-
-declare void @fail(...)
-
-declare void @pass(...)
diff --git a/test/Transforms/PredicateSimplifier/predsimplify.reg1.ll b/test/Transforms/PredicateSimplifier/predsimplify.reg1.ll
deleted file mode 100644
index e98362b5ddda4..0000000000000
--- a/test/Transforms/PredicateSimplifier/predsimplify.reg1.ll
+++ /dev/null
@@ -1,20 +0,0 @@
-; RUN: llvm-as < %s | opt -predsimplify -verify
-
-define void @dgefa() {
-entry:
- br label %cond_true96
-cond_true: ; preds = %cond_true96
- %tmp19 = icmp eq i32 %tmp10, %k.0 ; <i1> [#uses=1]
- br i1 %tmp19, label %cond_next, label %cond_true20
-cond_true20: ; preds = %cond_true
- br label %cond_next
-cond_next: ; preds = %cond_true20, %cond_true
- %tmp84 = icmp sgt i32 %tmp3, 1999 ; <i1> [#uses=0]
- ret void
-cond_true96: ; preds = %cond_true96, %entry
- %k.0 = phi i32 [ 0, %entry ], [ 0, %cond_true96 ] ; <i32> [#uses=3]
- %tmp3 = add i32 %k.0, 1 ; <i32> [#uses=1]
- %tmp10 = add i32 0, %k.0 ; <i32> [#uses=1]
- br i1 false, label %cond_true96, label %cond_true
-}
-
diff --git a/test/Transforms/PredicateSimplifier/predsimplify.reg2.ll b/test/Transforms/PredicateSimplifier/predsimplify.reg2.ll
deleted file mode 100644
index 9c064eebe5841..0000000000000
--- a/test/Transforms/PredicateSimplifier/predsimplify.reg2.ll
+++ /dev/null
@@ -1,37 +0,0 @@
-; RUN: llvm-as < %s | opt -predsimplify -verify
-target datalayout = "e-p:32:32"
-target triple = "i686-pc-linux-gnu"
-deplibs = [ "c", "crtend" ]
- %struct.anon = type { %struct.set_family*, %struct.set_family*, %struct.set_family*, i8*, i32, i32*, %struct.pair_struct*, i8**, %struct.symbolic_t*, %struct.symbolic_t* }
- %struct.pair_struct = type { i32, i32*, i32* }
- %struct.set_family = type { i32, i32, i32, i32, i32, i32*, %struct.set_family* }
- %struct.symbolic_label_t = type { i8*, %struct.symbolic_label_t* }
- %struct.symbolic_list_t = type { i32, i32, %struct.symbolic_list_t* }
- %struct.symbolic_t = type { %struct.symbolic_list_t*, i32, %struct.symbolic_label_t*, i32, %struct.symbolic_t* }
-
-define void @find_pairing_cost(i32 %strategy) {
-entry:
- br i1 false, label %cond_true299, label %bb314
-bb94: ; preds = %cond_true299
- switch i32 %strategy, label %bb246 [
- i32 0, label %bb196
- i32 1, label %bb159
- ]
-cond_next113: ; preds = %cond_true299
- switch i32 %strategy, label %bb246 [
- i32 0, label %bb196
- i32 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 = icmp sgt i32 %strategy, 0 ; <i1> [#uses=1]
- br i1 %tmp55, label %bb94, label %cond_next113
-bb314: ; preds = %bb246, %entry
- ret void
-}
diff --git a/test/Transforms/PredicateSimplifier/predsimplify.reg3.ll b/test/Transforms/PredicateSimplifier/predsimplify.reg3.ll
deleted file mode 100644
index 190cc900689e0..0000000000000
--- a/test/Transforms/PredicateSimplifier/predsimplify.reg3.ll
+++ /dev/null
@@ -1,22 +0,0 @@
-; RUN: llvm-as < %s | opt -predsimplify -simplifycfg | llvm-dis | grep pass
-
-define void @regtest(i32 %x) {
-entry:
- %A = icmp eq i32 %x, 0 ; <i1> [#uses=1]
- br i1 %A, label %middle, label %after
-middle: ; preds = %entry
- br label %after
-after: ; preds = %middle, %entry
- %B = icmp eq i32 %x, 0 ; <i1> [#uses=1]
- br i1 %B, label %then, label %else
-then: ; preds = %after
- br label %end
-else: ; preds = %after
- call void (...)* @pass( )
- br label %end
-end: ; preds = %else, %then
- ret void
-}
-
-declare void @pass(...)
-
diff --git a/test/Transforms/PredicateSimplifier/predsimplify.reg4.ll b/test/Transforms/PredicateSimplifier/predsimplify.reg4.ll
deleted file mode 100644
index 092a49e7a38eb..0000000000000
--- a/test/Transforms/PredicateSimplifier/predsimplify.reg4.ll
+++ /dev/null
@@ -1,28 +0,0 @@
-; RUN: llvm-as < %s | opt -predsimplify -disable-output
-target datalayout = "e-p:32:32"
-target triple = "i686-pc-linux-gnu"
-
-define void @f(i32 %x, i32 %y) {
-entry:
- %tmp = icmp eq i32 %x, 10 ; <i1> [#uses=1]
- %tmp.not = xor i1 %tmp, true ; <i1> [#uses=1]
- %tmp3 = icmp eq i32 %x, %y ; <i1> [#uses=1]
- %bothcond = and i1 %tmp.not, %tmp3 ; <i1> [#uses=1]
- br i1 %bothcond, label %cond_true4, label %return
-cond_true4: ; preds = %entry
- switch i32 %y, label %return [
- i32 9, label %bb
- i32 10, label %bb6
- ]
-bb: ; preds = %cond_true4
- call void @g( i32 9 )
- ret void
-bb6: ; preds = %cond_true4
- call void @g( i32 10 )
- ret void
-return: ; preds = %cond_true4, %entry
- ret void
-}
-
-declare void @g(i32)
-
diff --git a/test/Transforms/SimplifyCFG/InvokeEliminate.ll b/test/Transforms/SimplifyCFG/InvokeEliminate.ll
deleted file mode 100644
index 4f52f6b72e9e6..0000000000000
--- a/test/Transforms/SimplifyCFG/InvokeEliminate.ll
+++ /dev/null
@@ -1,18 +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-as < %s | opt -simplifycfg | llvm-dis | \
-; RUN: not egrep {\\(invoke\\)|\\(br\\)}
-
-declare void @bar()
-
-define i32 @test() {
- invoke void @bar( )
- to label %Ok unwind label %Rethrow
-Ok: ; preds = %0
- ret i32 0
-Rethrow: ; preds = %0
- unwind
-}
diff --git a/test/Transforms/SimplifyLibCalls/ExitInMain.ll b/test/Transforms/SimplifyLibCalls/ExitInMain.ll
deleted file mode 100644
index 8abf3b1cc46ba..0000000000000
--- a/test/Transforms/SimplifyLibCalls/ExitInMain.ll
+++ /dev/null
@@ -1,15 +0,0 @@
-; Test that the ExitInMainOptimization pass works correctly
-; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | \
-; RUN: grep {ret i32 3} | count 1
-; END.
-
-declare void @exit(i32)
-
-declare void @exitonly(i32)
-
-define i32 @main() {
- call void @exitonly( i32 3 )
- call void @exit( i32 3 )
- ret i32 0
-}
-