aboutsummaryrefslogtreecommitdiff
path: root/test/Transforms/InstCombine
diff options
context:
space:
mode:
Diffstat (limited to 'test/Transforms/InstCombine')
-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
33 files changed, 0 insertions, 2530 deletions
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 4ebbe2470fa4..000000000000
--- 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 5b127d7b7938..000000000000
--- 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 d6cacece0890..000000000000
--- 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 7daf7cb632bb..000000000000
--- 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 5908205203e8..000000000000
--- 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 d7df5a01fb4c..000000000000
--- 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 6ea3d111203a..000000000000
--- 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 ec67d7178eb7..000000000000
--- 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 84e751037b4d..000000000000
--- 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 bf9252a349ea..000000000000
--- 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 631b43f61f9e..000000000000
--- 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 15f73622d614..000000000000
--- 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 640f6d57504b..000000000000
--- 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 77bae78ccd47..000000000000
--- 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 31ae985a6dd1..000000000000
--- 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 6814e2febce1..000000000000
--- 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 1e136f5eab33..000000000000
--- 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 49e1f0af6794..000000000000
--- 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 f2e5e6745b48..000000000000
--- 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 2e1f7693fc1b..000000000000
--- 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 95a069d60b75..000000000000
--- 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 0a6d720d74f6..000000000000
--- 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 05cec622b2ac..000000000000
--- 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 1d2fcce13d39..000000000000
--- 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 823ff5efde99..000000000000
--- 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 556096516f97..000000000000
--- 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 811c5a959169..000000000000
--- 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 234c40bf6881..000000000000
--- 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 ffef2984f5c9..000000000000
--- 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 df9cecd09c66..000000000000
--- 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 3bd8924903f8..000000000000
--- 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 ae5b8a9c7c42..000000000000
--- 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 a73a84ac1e0d..000000000000
--- 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
-}