diff options
Diffstat (limited to 'test/ExecutionEngine/test-loadstore.ll')
-rw-r--r-- | test/ExecutionEngine/test-loadstore.ll | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/test/ExecutionEngine/test-loadstore.ll b/test/ExecutionEngine/test-loadstore.ll new file mode 100644 index 0000000..8a4b793 --- /dev/null +++ b/test/ExecutionEngine/test-loadstore.ll @@ -0,0 +1,37 @@ +; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc +; RUN: lli %t.bc > /dev/null + + +void %test(sbyte* %P, short* %P, int* %P, long* %P) { + %V = load sbyte* %P + store sbyte %V, sbyte* %P + + %V = load short* %P + store short %V, short* %P + + %V = load int* %P + store int %V, int* %P + + %V = load long* %P + store long %V, long* %P + + ret void +} + +uint %varalloca(uint %Size) { + %X = alloca uint, uint %Size ;; Variable sized alloca + store uint %Size, uint* %X + %Y = load uint* %X + ret uint %Y +} + +int %main() { + %A = alloca sbyte + %B = alloca short + %C = alloca int + %D = alloca long + call void %test(sbyte* %A, short* %B, int* %C, long* %D) + call uint %varalloca(uint 7) + + ret int 0 +} |