diff options
| author | Dylan McKay <me@dylanmckay.io> | 2017-05-02 01:57:48 +0000 |
|---|---|---|
| committer | Dylan McKay <me@dylanmckay.io> | 2017-05-02 01:57:48 +0000 |
| commit | 28355efdada8c8a4f9829d388d413c4745168874 (patch) | |
| tree | d266ff6cdc92788aec3b34644a7047973dd77efe /llvm/test | |
| parent | b89c27f5150e104b8aed1b866456e2e4dc2296a3 (diff) | |
| download | bcm5719-llvm-28355efdada8c8a4f9829d388d413c4745168874.tar.gz bcm5719-llvm-28355efdada8c8a4f9829d388d413c4745168874.zip | |
[AVR] Save/restore the frame pointer for all functions
A recent commit I made made it so that we only did this for signal or
interrupt handlers. This broke normal functions.
llvm-svn: 301893
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/CodeGen/AVR/calling-conv/c/stack.ll | 8 | ||||
| -rw-r--r-- | llvm/test/CodeGen/AVR/return.ll | 24 | ||||
| -rw-r--r-- | llvm/test/CodeGen/AVR/varargs.ll | 6 |
3 files changed, 19 insertions, 19 deletions
diff --git a/llvm/test/CodeGen/AVR/calling-conv/c/stack.ll b/llvm/test/CodeGen/AVR/calling-conv/c/stack.ll index 00ff7d1acd8..52b6427476a 100644 --- a/llvm/test/CodeGen/AVR/calling-conv/c/stack.ll +++ b/llvm/test/CodeGen/AVR/calling-conv/c/stack.ll @@ -11,15 +11,15 @@ define void @ret_void_args_i64_i64_i32(i64 %a, i64 %b, i32 %c) { ; CHECK-NEXT: in r29, 62 ; Load the top two bytes from the 32-bit int. - ; CHECK-NEXT: ldd r24, Y+7 - ; CHECK-NEXT: ldd r25, Y+8 + ; CHECK-NEXT: ldd r24, Y+5 + ; CHECK-NEXT: ldd r25, Y+6 ; Store the top two bytes of the 32-bit int to memory. ; CHECK-NEXT: sts 7, r25 ; CHECK-NEXT: sts 6, r24 ; Load the bottom two bytes from the 32-bit int. - ; CHECK-NEXT: ldd r24, Y+5 - ; CHECK-NEXT: ldd r25, Y+6 + ; CHECK-NEXT: ldd r24, Y+3 + ; CHECK-NEXT: ldd r25, Y+4 ; Store the bottom two bytes of the 32-bit int to memory. ; CHECK-NEXT: sts 5, r25 ; CHECK-NEXT: sts 4, r24 diff --git a/llvm/test/CodeGen/AVR/return.ll b/llvm/test/CodeGen/AVR/return.ll index d57f435fd11..1f80576af28 100644 --- a/llvm/test/CodeGen/AVR/return.ll +++ b/llvm/test/CodeGen/AVR/return.ll @@ -96,14 +96,14 @@ define i64 @return64_arg2(i64 %x, i64 %y, i64 %z) { ; CHECK-LABEL: return64_arg2: ; CHECK: push r28 ; CHECK: push r29 -; CHECK: ldd r18, Y+5 -; CHECK: ldd r19, Y+6 -; CHECK: ldd r20, Y+7 -; CHECK: ldd r21, Y+8 -; CHECK: ldd r22, Y+9 -; CHECK: ldd r23, Y+10 -; CHECK: ldd r24, Y+11 -; CHECK: ldd r25, Y+12 +; CHECK: ldd r18, Y+3 +; CHECK: ldd r19, Y+4 +; CHECK: ldd r20, Y+5 +; CHECK: ldd r21, Y+6 +; CHECK: ldd r22, Y+7 +; CHECK: ldd r23, Y+8 +; CHECK: ldd r24, Y+9 +; CHECK: ldd r25, Y+10 ; CHECK: pop r29 ; CHECK: pop r28 ret i64 %z @@ -113,10 +113,10 @@ define i32 @return64_trunc(i32 %a, i32 %b, i32 %c, i64 %d) { ; CHECK-LABEL: return64_trunc: ; CHECK: push r28 ; CHECK: push r29 -; CHECK: ldd r22, Y+5 -; CHECK: ldd r23, Y+6 -; CHECK: ldd r24, Y+7 -; CHECK: ldd r25, Y+8 +; CHECK: ldd r22, Y+3 +; CHECK: ldd r23, Y+4 +; CHECK: ldd r24, Y+5 +; CHECK: ldd r25, Y+6 ; CHECK: pop r29 ; CHECK: pop r28 %result = trunc i64 %d to i32 diff --git a/llvm/test/CodeGen/AVR/varargs.ll b/llvm/test/CodeGen/AVR/varargs.ll index 4959f2d880c..6f727cda582 100644 --- a/llvm/test/CodeGen/AVR/varargs.ll +++ b/llvm/test/CodeGen/AVR/varargs.ll @@ -7,12 +7,12 @@ declare void @llvm.va_end(i8*) define i16 @varargs1(i8* nocapture %x, ...) { ; CHECK-LABEL: varargs1: ; CHECK: movw r20, r28 -; CHECK: subi r20, 215 +; CHECK: subi r20, 217 ; CHECK: sbci r21, 255 ; CHECK: movw r24, r28 ; CHECK: adiw r24, 3 -; CHECK: ldd r22, Y+39 -; CHECK: ldd r23, Y+40 +; CHECK: ldd r22, Y+37 +; CHECK: ldd r23, Y+38 ; CHECK: call %buffer = alloca [32 x i8] %ap = alloca i8* |

