aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVikram S. Adve <vadve@cs.uiuc.edu>2001-07-21 12:46:12 +0000
committerVikram S. Adve <vadve@cs.uiuc.edu>2001-07-21 12:46:12 +0000
commit71de0cea1d4e80a37f66321a0e5ee6ae9a7a3469 (patch)
treed44e429316d100e290ac08ffd175c64d2dcd6298
parent1677d0d6f1f294ec62cd9157757a7f830d108def (diff)
downloadexternal_llvm-71de0cea1d4e80a37f66321a0e5ee6ae9a7a3469.zip
external_llvm-71de0cea1d4e80a37f66321a0e5ee6ae9a7a3469.tar.gz
external_llvm-71de0cea1d4e80a37f66321a0e5ee6ae9a7a3469.tar.bz2
Version of testmemory to test alloca, load and store.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Feature/testalloca.ll23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/Feature/testalloca.ll b/test/Feature/testalloca.ll
new file mode 100644
index 0000000..cb867c0
--- /dev/null
+++ b/test/Feature/testalloca.ll
@@ -0,0 +1,23 @@
+%inners = type {float, {ubyte } }
+%struct = type { int , {float, {ubyte } } , ulong }
+
+implementation
+
+int "test function"(int %i0, int %j0)
+begin
+ alloca [ubyte], uint 5
+ %ptr = alloca int ; yields {int*}:ptr
+ store int 3, int* %ptr ; yields {void}
+ %val = load int* %ptr ; yields {int}:val = int %3
+
+ %sptr = alloca %struct ; yields {%struct*}:sptr
+ %nsptr = getelementptr %struct * %sptr, ubyte 1 ; yields {inners*}:nsptr
+ %ubsptr = getelementptr %inners * %nsptr, ubyte 1 ; yields {{ubyte}*}:ubsptr
+ store ubyte 4, {ubyte} * %ubsptr, ubyte 0
+
+ %fptr = getelementptr %struct * %sptr, ubyte 1, ubyte 0 ; yields {float*}:fptr
+ store float 4.0, float * %fptr
+
+ ret int 3
+end
+