summaryrefslogtreecommitdiffstats
path: root/llvm/test/Regression/Transforms/DSAnalysis/arraytest.ll
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-10-31 04:48:32 +0000
committerChris Lattner <sabre@nondot.org>2002-10-31 04:48:32 +0000
commitdfe8759e0122ab0399ca1ff5ffb4cf570ded5124 (patch)
tree2cc969465dd8bf546e9354130333bde54660fbd8 /llvm/test/Regression/Transforms/DSAnalysis/arraytest.ll
parentf6cfaedcffe8ec790f5aa75a783158038a10a340 (diff)
downloadbcm5719-llvm-dfe8759e0122ab0399ca1ff5ffb4cf570ded5124.tar.gz
bcm5719-llvm-dfe8759e0122ab0399ca1ff5ffb4cf570ded5124.zip
New testcase for the possible array merging scenarios
llvm-svn: 4462
Diffstat (limited to 'llvm/test/Regression/Transforms/DSAnalysis/arraytest.ll')
-rw-r--r--llvm/test/Regression/Transforms/DSAnalysis/arraytest.ll38
1 files changed, 38 insertions, 0 deletions
diff --git a/llvm/test/Regression/Transforms/DSAnalysis/arraytest.ll b/llvm/test/Regression/Transforms/DSAnalysis/arraytest.ll
new file mode 100644
index 00000000000..164eb744f39
--- /dev/null
+++ b/llvm/test/Regression/Transforms/DSAnalysis/arraytest.ll
@@ -0,0 +1,38 @@
+
+%crazy = type [2 x { [2 x sbyte], short } ]
+
+implementation
+
+sbyte *%test1(%crazy* %P1) { ; No merging, constant indexing
+ %P = getelementptr %crazy* %P1, long 0, long 0, ubyte 0, long 1
+ ret sbyte *%P
+}
+
+sbyte *%test2(%crazy* %P1) { ; No merging, constant indexing
+ %P = getelementptr %crazy* %P1, long 0, long 1, ubyte 0, long 0
+ ret sbyte *%P
+}
+
+sbyte *%test3(%crazy* %P1) { ; No merging, constant indexing, must handle outter index
+ %P = getelementptr %crazy* %P1, long -1, long 0, ubyte 0, long 0
+ ret sbyte *%P
+}
+
+sbyte *%mtest1(%crazy* %P1, long %idx) { ; Merging deepest array
+ %P = getelementptr %crazy* %P1, long 0, long 0, ubyte 0, long %idx
+ ret sbyte *%P
+}
+sbyte *%mtest2(%crazy* %P1, long %idx) { ; Merge top array
+ %P = getelementptr %crazy* %P1, long 0, long %idx, ubyte 0, long 1
+ ret sbyte *%P
+}
+sbyte *%mtest3(%crazy* %P1, long %idx) { ; Merge array %crazy is in
+ %P = getelementptr %crazy* %P1, long %idx, long 0, ubyte 0, long 1
+ ret sbyte *%P
+}
+
+sbyte *%m2test1(%crazy* %P1, long %idx) { ; Merge two arrays
+ %P = getelementptr %crazy* %P1, long 0, long %idx, ubyte 0, long %idx
+ ret sbyte *%P
+}
+
OpenPOWER on IntegriCloud