New testcases
authorChris Lattner <sabre@nondot.org>
Wed, 6 Nov 2002 06:20:53 +0000 (06:20 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 6 Nov 2002 06:20:53 +0000 (06:20 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4563 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/DSAnalysis/badcases.ll [new file with mode: 0644]
test/Transforms/DSAnalysis/goodcases.ll [new file with mode: 0644]

diff --git a/test/Transforms/DSAnalysis/badcases.ll b/test/Transforms/DSAnalysis/badcases.ll
new file mode 100644 (file)
index 0000000..1628452
--- /dev/null
@@ -0,0 +1,20 @@
+; This file contains a list of situations where node folding should happen...
+
+implementation
+
+void %test1({int, int} * %X) {
+       getelementptr {int, int} * %X, long 0
+       %Y = cast {int, int} * %X to sbyte*
+       %Z = getelementptr sbyte* %Y, long 7
+       store sbyte 6, sbyte *%Z
+       ret void
+}
+
+void %test2({int, int} * %X) {
+       getelementptr {int, int} * %X, long 0
+       %Y = cast {int, int} * %X to {sbyte,sbyte,sbyte,sbyte,sbyte,sbyte,sbyte,sbyte} *
+       %Z = getelementptr {sbyte,sbyte,sbyte,sbyte,sbyte,sbyte,sbyte,sbyte}* %Y, long 0, ubyte 7
+       store sbyte 6, sbyte *%Z
+       ret void
+}
+
diff --git a/test/Transforms/DSAnalysis/goodcases.ll b/test/Transforms/DSAnalysis/goodcases.ll
new file mode 100644 (file)
index 0000000..6d1fe62
--- /dev/null
@@ -0,0 +1,21 @@
+; This file contains a list of cases where node folding should NOT happen
+;
+
+implementation
+
+void %test1({int, int}* %X) {
+        getelementptr {int, int} * %X, long 0
+        %Y = cast {int, int}* %X to uint*
+        store uint 5, uint* %Y
+        ret void
+}
+
+; Test that "structural" equality works.  Pointers can land in pointers n 
+; stuff.
+void %test2({int*, int*}* %X) {
+       getelementptr {int*, int*}* %X, long 0
+       %Y = cast {int*, int*}* %X to {uint*, long*}*
+       getelementptr {uint*, long*}* %Y, long 0
+       ret void
+}
+