[ARM] Cortex-M4 schedule additions
[llvm-complete.git] / test / ExecutionEngine / OrcMCJIT / test-loadstore.ll
blobd95d61a067ff736d3b7a51312c61ea499c47948b
1 ; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
3 define void @test(i8* %P, i16* %P.upgrd.1, i32* %P.upgrd.2, i64* %P.upgrd.3) {
4         %V = load i8, i8* %P            ; <i8> [#uses=1]
5         store i8 %V, i8* %P
6         %V.upgrd.4 = load i16, i16* %P.upgrd.1          ; <i16> [#uses=1]
7         store i16 %V.upgrd.4, i16* %P.upgrd.1
8         %V.upgrd.5 = load i32, i32* %P.upgrd.2          ; <i32> [#uses=1]
9         store i32 %V.upgrd.5, i32* %P.upgrd.2
10         %V.upgrd.6 = load i64, i64* %P.upgrd.3          ; <i64> [#uses=1]
11         store i64 %V.upgrd.6, i64* %P.upgrd.3
12         ret void
15 define i32 @varalloca(i32 %Size) {
16         ;; Variable sized alloca
17         %X = alloca i32, i32 %Size              ; <i32*> [#uses=2]
18         store i32 %Size, i32* %X
19         %Y = load i32, i32* %X          ; <i32> [#uses=1]
20         ret i32 %Y
23 define i32 @main() {
24         %A = alloca i8          ; <i8*> [#uses=1]
25         %B = alloca i16         ; <i16*> [#uses=1]
26         %C = alloca i32         ; <i32*> [#uses=1]
27         %D = alloca i64         ; <i64*> [#uses=1]
28         call void @test( i8* %A, i16* %B, i32* %C, i64* %D )
29         call i32 @varalloca( i32 7 )            ; <i32>:1 [#uses=0]
30         ret i32 0