summaryrefslogtreecommitdiff
path: root/test/Transforms/LoopUnswitch
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2009-09-06 02:26:10 +0000
committerEvan Cheng <evan.cheng@apple.com>2009-09-06 02:26:10 +0000
commit8f78a58e14fa754cde827e46ad03f00c7a6ead01 (patch)
tree1d83ef98ecaa3cd9f02b23d398f4b0adbed71ed9 /test/Transforms/LoopUnswitch
parent92a97a9166e359e195d949e63d7e24a4a33284cf (diff)
downloadllvm-8f78a58e14fa754cde827e46ad03f00c7a6ead01.tar.gz
llvm-8f78a58e14fa754cde827e46ad03f00c7a6ead01.tar.bz2
llvm-8f78a58e14fa754cde827e46ad03f00c7a6ead01.tar.xz
Revert r80926. It causes loop unswitch assertion and slow down some JIT tests significantly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81101 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/LoopUnswitch')
-rw-r--r--test/Transforms/LoopUnswitch/2009-09-05-DomAssert.ll52
1 files changed, 52 insertions, 0 deletions
diff --git a/test/Transforms/LoopUnswitch/2009-09-05-DomAssert.ll b/test/Transforms/LoopUnswitch/2009-09-05-DomAssert.ll
new file mode 100644
index 0000000000..02580851ec
--- /dev/null
+++ b/test/Transforms/LoopUnswitch/2009-09-05-DomAssert.ll
@@ -0,0 +1,52 @@
+; RUN: llvm-as < %s | opt -loop-unswitch -disable-output
+; rdar://7197574
+
+target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:32-f32:32:32-f64:32:32-v64:64:64-v128:128:128-a0:0:32"
+target triple = "thumbv7-apple-darwin9"
+ %struct.frame = type { i16*, i16*, i16* }
+
+declare arm_apcscc i32 @ercCollect8PredBlocks(i32* nocapture, i32, i32, i32* nocapture, i32, i32, i32, i8 zeroext) nounwind
+
+define arm_apcscc void @concealBlocks(i32 %lastColumn, i32 %lastRow, i32 %comp, %struct.frame* nocapture %recfr, i32 %picSizeX, i32* nocapture %condition) nounwind {
+entry:
+ br i1 undef, label %bb.nph12, label %return
+
+bb28: ; preds = %bb.nph12
+ unreachable
+
+bb42: ; preds = %bb.nph12
+ br label %bb43
+
+bb43: ; preds = %bb61, %bb42
+ %0 = call arm_apcscc i32 @ercCollect8PredBlocks(i32* undef, i32 undef, i32 0, i32* %condition, i32 %lastRow, i32 %lastColumn, i32 undef, i8 zeroext 1) nounwind ; <i32> [#uses=0]
+ switch i32 %comp, label %bb58 [
+ i32 0, label %bb52
+ i32 1, label %bb54
+ i32 2, label %bb56
+ ]
+
+bb52: ; preds = %bb43
+ br label %bb58
+
+bb54: ; preds = %bb43
+ br label %bb58
+
+bb56: ; preds = %bb43
+ unreachable
+
+bb58: ; preds = %bb54, %bb52, %bb43
+ br i1 %1, label %bb59, label %bb61
+
+bb59: ; preds = %bb58
+ br label %bb61
+
+bb61: ; preds = %bb59, %bb58
+ br label %bb43
+
+bb.nph12: ; preds = %entry
+ %1 = icmp eq i32 %comp, 0 ; <i1> [#uses=1]
+ br i1 undef, label %bb28, label %bb42
+
+return: ; preds = %entry
+ ret void
+}