From 2230b412f73d106a84277f7462cd14380485b63e Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 31 Oct 2002 04:48:32 +0000 Subject: [PATCH] New testcase for the possible array merging scenarios git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4462 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Transforms/DSAnalysis/arraytest.ll | 38 +++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 test/Transforms/DSAnalysis/arraytest.ll diff --git a/test/Transforms/DSAnalysis/arraytest.ll b/test/Transforms/DSAnalysis/arraytest.ll new file mode 100644 index 00000000000..164eb744f39 --- /dev/null +++ b/test/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 +} + -- 2.34.1