New testcases
authorChris Lattner <sabre@nondot.org>
Thu, 31 Oct 2002 01:25:13 +0000 (01:25 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 31 Oct 2002 01:25:13 +0000 (01:25 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4455 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/DSAnalysis/basictest.ll [new file with mode: 0644]
test/Transforms/DSAnalysis/indcalltest.ll [new file with mode: 0644]
test/Transforms/DSAnalysis/simpletest.ll [new file with mode: 0644]

diff --git a/test/Transforms/DSAnalysis/basictest.ll b/test/Transforms/DSAnalysis/basictest.ll
new file mode 100644 (file)
index 0000000..407d495
--- /dev/null
@@ -0,0 +1,22 @@
+
+; very simple test
+
+implementation
+
+int *%foo(ulong %A, double %B, long %C) {
+       %X = malloc int*
+       %D = cast int** %X to ulong
+       %E = cast ulong %D to int*
+       store int* %E, int** %X
+
+       %F = malloc {int}
+       %G = getelementptr {int}* %F, long 0, ubyte 0
+       store int* %G, int** %X
+
+       %K = malloc int **
+       store int** %X, int***%K
+
+       %H = cast long %C to int*
+       ret int* null ; %H
+} 
+
diff --git a/test/Transforms/DSAnalysis/indcalltest.ll b/test/Transforms/DSAnalysis/indcalltest.ll
new file mode 100644 (file)
index 0000000..a45c3b9
--- /dev/null
@@ -0,0 +1,32 @@
+%G = global int 2              ; <int*> [#uses=1]
+%H = global int* null
+
+%I = global int** null
+%J = global int** null
+
+implementation   ; Functions:
+
+void %foo1() {
+       store int* %G, int** %H
+        store int** %H, int ***%I
+       ret void
+}
+
+void %foo2() {         ; No predecessors!
+       store int 7, int* %G
+       store int** %H, int ***%J
+       ret void
+}
+
+void %test(bool %cond) {
+; <label>:0            ; No predecessors!
+       br bool %cond, label %call, label %F
+
+F:             ; preds = %0
+       br label %call
+
+call:          ; preds = %F, %0
+       %Fn = phi void ()* [ %foo2, %F ], [ %foo1, %0 ]         ; <void ()*> [#uses=1]
+       call void %Fn()
+       ret void
+}
diff --git a/test/Transforms/DSAnalysis/simpletest.ll b/test/Transforms/DSAnalysis/simpletest.ll
new file mode 100644 (file)
index 0000000..f600136
--- /dev/null
@@ -0,0 +1,11 @@
+
+implementation
+
+int *%foo(int *%A, int **%B, int *%C, int **%D, int* %E) {
+       %a = load int* %A
+       %b = load int** %B
+
+       store int* %C, int** %D
+
+       ret int* %E
+}