aboutsummaryrefslogtreecommitdiff
path: root/test/Analysis/Dominators
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2006-09-27 02:58:44 +0000
committerDevang Patel <dpatel@apple.com>2006-09-27 02:58:44 +0000
commit6432bf80ce1e266ef7e26b3c38bd5588c9980a7d (patch)
tree89921fd9d488589bd670ee29c314fe8e42a38464 /test/Analysis/Dominators
parent546896661416be9321f22136c73a1656b3fe407b (diff)
Add http://llvm.org/bugs/show_bug.cgi?id=923 test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30622 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Analysis/Dominators')
-rw-r--r--test/Analysis/Dominators/2006-09-26-PostDominanceFrontier.ll100
1 files changed, 100 insertions, 0 deletions
diff --git a/test/Analysis/Dominators/2006-09-26-PostDominanceFrontier.ll b/test/Analysis/Dominators/2006-09-26-PostDominanceFrontier.ll
new file mode 100644
index 0000000000..3ff1184bfa
--- /dev/null
+++ b/test/Analysis/Dominators/2006-09-26-PostDominanceFrontier.ll
@@ -0,0 +1,100 @@
+; RUN: llvm-as < %s | opt -analyze -postdomfrontier -disable-verify
+;
+; ModuleID = '2006-09-26-PostDominanceFrontier.bc'
+target endian = little
+target pointersize = 64
+target triple = "alphaev67-unknown-linux-gnu"
+ %struct.FILE = type { int, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, %struct._IO_marker*, %struct.FILE*, int, int, long, ushort, sbyte, [1 x sbyte], sbyte*, long, sbyte*, sbyte*, int, [44 x sbyte] }
+ %struct._IO_marker = type { %struct._IO_marker*, %struct.FILE*, int }
+%TOP = external global ulong* ; <ulong**> [#uses=1]
+%BOT = external global ulong* ; <ulong**> [#uses=1]
+%str = external global [2 x sbyte] ; <[2 x sbyte]*> [#uses=0]
+
+implementation ; Functions:
+
+declare void %fopen()
+
+void %main(sbyte** %argv) {
+entry:
+ %netSelect.i507 = alloca ulong, align 8 ; <ulong*> [#uses=0]
+ %topStart.i = alloca ulong, align 8 ; <ulong*> [#uses=0]
+ %topEnd.i = alloca ulong, align 8 ; <ulong*> [#uses=0]
+ %botStart.i = alloca ulong, align 8 ; <ulong*> [#uses=0]
+ %botEnd.i = alloca ulong, align 8 ; <ulong*> [#uses=0]
+ %c1.i154 = alloca uint, align 4 ; <uint*> [#uses=0]
+ %b1.i155 = alloca uint, align 4 ; <uint*> [#uses=0]
+ %t1.i156 = alloca uint, align 4 ; <uint*> [#uses=0]
+ %c1.i = alloca uint, align 4 ; <uint*> [#uses=0]
+ %b1.i = alloca uint, align 4 ; <uint*> [#uses=0]
+ %t1.i = alloca uint, align 4 ; <uint*> [#uses=0]
+ %netSelect.i5 = alloca ulong, align 8 ; <ulong*> [#uses=0]
+ %netSelect.i = alloca ulong, align 8 ; <ulong*> [#uses=0]
+ %tmp2.i = getelementptr sbyte** %argv, int 1 ; <sbyte**> [#uses=1]
+ %tmp3.i4 = load sbyte** %tmp2.i ; <sbyte*> [#uses=0]
+ call void %fopen( )
+ br bool false, label %DimensionChannel.exit, label %bb.backedge.i
+
+bb.backedge.i: ; preds = %entry
+ ret void
+
+DimensionChannel.exit: ; preds = %entry
+ %tmp13.i137 = malloc ulong, uint 0 ; <ulong*> [#uses=1]
+ %tmp610.i = malloc ulong, uint 0 ; <ulong*> [#uses=1]
+ br label %cond_true.i143
+
+cond_true.i143: ; preds = %cond_true.i143, %DimensionChannel.exit
+ %tmp9.i140 = getelementptr ulong* %tmp13.i137, ulong 0 ; <ulong*> [#uses=0]
+ %tmp12.i = getelementptr ulong* %tmp610.i, ulong 0 ; <ulong*> [#uses=0]
+ br bool false, label %bb18.i144, label %cond_true.i143
+
+bb18.i144: ; preds = %cond_true.i143
+ call void %fopen( )
+ %tmp76.i105 = malloc ulong, uint 0 ; <ulong*> [#uses=3]
+ %tmp674.i = malloc ulong, uint 0 ; <ulong*> [#uses=2]
+ %tmp1072.i = malloc ulong, uint 0 ; <ulong*> [#uses=2]
+ %tmp1470.i = malloc ulong, uint 0 ; <ulong*> [#uses=1]
+ br label %cond_true.i114
+
+cond_true.i114: ; preds = %cond_true.i114, %bb18.i144
+ %tmp17.i108 = getelementptr ulong* %tmp76.i105, ulong 0 ; <ulong*> [#uses=0]
+ %tmp20.i = getelementptr ulong* %tmp674.i, ulong 0 ; <ulong*> [#uses=0]
+ %tmp23.i111 = getelementptr ulong* %tmp1470.i, ulong 0 ; <ulong*> [#uses=0]
+ br bool false, label %cond_true40.i, label %cond_true.i114
+
+cond_true40.i: ; preds = %cond_true40.i, %cond_true.i114
+ %tmp33.i115 = getelementptr ulong* %tmp1072.i, ulong 0 ; <ulong*> [#uses=0]
+ br bool false, label %bb142.i, label %cond_true40.i
+
+cond_next54.i: ; preds = %cond_true76.i
+ %tmp57.i = getelementptr ulong* %tmp55.i, ulong 0 ; <ulong*> [#uses=0]
+ br bool false, label %bb64.i, label %bb69.i
+
+bb64.i: ; preds = %cond_true76.i, %cond_next54.i
+ %tmp67.i117 = getelementptr ulong* %tmp76.i105, ulong 0 ; <ulong*> [#uses=0]
+ br bool false, label %bb114.i, label %cond_true111.i
+
+bb69.i: ; preds = %cond_next54.i
+ br bool false, label %bb79.i, label %cond_true76.i
+
+cond_true76.i: ; preds = %bb142.i, %bb69.i
+ %tmp48.i = getelementptr ulong* %tmp46.i, ulong 0 ; <ulong*> [#uses=0]
+ br bool false, label %bb64.i, label %cond_next54.i
+
+bb79.i: ; preds = %bb69.i
+ br bool false, label %bb114.i, label %cond_true111.i
+
+cond_true111.i: ; preds = %bb79.i, %bb64.i
+ %tmp84.i127 = getelementptr ulong* %tmp46.i, ulong 0 ; <ulong*> [#uses=0]
+ ret void
+
+bb114.i: ; preds = %bb142.i, %bb79.i, %bb64.i
+ %tmp117.i = getelementptr ulong* %tmp76.i105, ulong 0 ; <ulong*> [#uses=0]
+ %tmp132.i131 = getelementptr ulong* %tmp674.i, ulong 0 ; <ulong*> [#uses=0]
+ %tmp122.i = getelementptr ulong* %tmp1072.i, ulong 0 ; <ulong*> [#uses=0]
+ ret void
+
+bb142.i: ; preds = %cond_true40.i
+ %tmp46.i = load ulong** %BOT ; <ulong*> [#uses=2]
+ %tmp55.i = load ulong** %TOP ; <ulong*> [#uses=1]
+ br bool false, label %bb114.i, label %cond_true76.i
+}