aboutsummaryrefslogtreecommitdiff
path: root/test/Transforms/DSAnalysis/arraymerge.ll
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-10-31 05:38:19 +0000
committerChris Lattner <sabre@nondot.org>2002-10-31 05:38:19 +0000
commitdb94ca13b86c89358b19c91a5b1b79d9b24859ca (patch)
tree26c98454dc00707174022b21c0611dc717e01c91 /test/Transforms/DSAnalysis/arraymerge.ll
parentf89e7c90c7846016c4eaf716d700e17fae90ed6e (diff)
New testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4464 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/DSAnalysis/arraymerge.ll')
-rw-r--r--test/Transforms/DSAnalysis/arraymerge.ll18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/Transforms/DSAnalysis/arraymerge.ll b/test/Transforms/DSAnalysis/arraymerge.ll
new file mode 100644
index 0000000000..2d0a577bc4
--- /dev/null
+++ b/test/Transforms/DSAnalysis/arraymerge.ll
@@ -0,0 +1,18 @@
+; This testcase is used to make sure that the outer element of arrays are
+; folded completely away if possible. This is a very common case, so it should
+; be efficient.
+;
+implementation
+
+sbyte* %merge1([100 x sbyte] *%A, long %N) {
+ %P = getelementptr [100 x sbyte] *%A, long 0, long %N
+ ret sbyte* %P
+}
+
+sbyte* %merge2([100 x sbyte] *%A, long %N) {
+ ; The graph for this example should end up exactly the same as for merge1
+ %P1 = getelementptr [100 x sbyte] *%A, long 0, long 0
+ %P2 = getelementptr sbyte* %P1, long %N
+ ret sbyte* %P2
+}
+