diff options
author | Robert Lytton <robert@xmos.com> | 2014-01-06 14:20:47 +0000 |
---|---|---|
committer | Robert Lytton <robert@xmos.com> | 2014-01-06 14:20:47 +0000 |
commit | c2508e505aa70a3764199ca97cf4d417a8de91cd (patch) | |
tree | ed1c90049256d67413de2dcab9a073f131a8a3c8 /test/CodeGen/XCore | |
parent | 7d2dd96694fc1fd29120a01a7f180445c7aabede (diff) | |
download | llvm-c2508e505aa70a3764199ca97cf4d417a8de91cd.tar.gz llvm-c2508e505aa70a3764199ca97cf4d417a8de91cd.tar.bz2 llvm-c2508e505aa70a3764199ca97cf4d417a8de91cd.tar.xz |
XCore target: Optimise entsp / retsp selection
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198612 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/XCore')
-rw-r--r-- | test/CodeGen/XCore/epilogue_prologue.ll | 14 | ||||
-rw-r--r-- | test/CodeGen/XCore/scavenging.ll | 5 |
2 files changed, 10 insertions, 9 deletions
diff --git a/test/CodeGen/XCore/epilogue_prologue.ll b/test/CodeGen/XCore/epilogue_prologue.ll index 2898ae5dc8..14f04a3506 100644 --- a/test/CodeGen/XCore/epilogue_prologue.ll +++ b/test/CodeGen/XCore/epilogue_prologue.ll @@ -61,9 +61,11 @@ entry: ; FP + large frame: spill FP+SR = entsp 2 + 100000 ; CHECKFP-LABEL: f4 -; CHECKFP: extsp 65535 +; CHECKFP: entsp 65535 ; CHECKFP-NEXT: .Ltmp{{[0-9]+}} ; CHECKFP-NEXT: .cfi_def_cfa_offset 262140 +; CHECKFP-NEXT: .Ltmp{{[0-9]+}} +; CHECKFP-NEXT: .cfi_offset 15, 0 ; CHECKFP-NEXT: extsp 34467 ; CHECKFP-NEXT: .Ltmp{{[0-9]+}} ; CHECKFP-NEXT: .cfi_def_cfa_offset 400008 @@ -76,20 +78,20 @@ entry: ; CHECKFP-NEXT: set sp, r10 ; CHECKFP-NEXT: ldw r10, sp[1] ; CHECKFP-NEXT: ldaw sp, sp[65535] -; CHECKFP-NEXT: ldaw sp, sp[34467] -; CHECKFP-NEXT: retsp 0 +; CHECKFP-NEXT: retsp 34467 ; ; !FP + large frame: spill SR+SR = entsp 2 + 100000 ; CHECK-LABEL: f4 -; CHECK: extsp 65535 +; CHECK: entsp 65535 ; CHECK-NEXT: .Ltmp{{[0-9]+}} ; CHECK-NEXT: .cfi_def_cfa_offset 262140 +; CHECK-NEXT: .Ltmp{{[0-9]+}} +; CHECK-NEXT: .cfi_offset 15, 0 ; CHECK-NEXT: extsp 34467 ; CHECK-NEXT: .Ltmp{{[0-9]+}} ; CHECK-NEXT: .cfi_def_cfa_offset 400008 ; CHECK-NEXT: ldaw sp, sp[65535] -; CHECK-NEXT: ldaw sp, sp[34467] -; CHECK-NEXT: retsp 0 +; CHECK-NEXT: retsp 34467 define void @f4() { entry: %0 = alloca [100000 x i32] diff --git a/test/CodeGen/XCore/scavenging.ll b/test/CodeGen/XCore/scavenging.ll index f96ecd3fc2..a0c8a2e093 100644 --- a/test/CodeGen/XCore/scavenging.ll +++ b/test/CodeGen/XCore/scavenging.ll @@ -69,7 +69,7 @@ declare void @g(i32*, i32*) ; CHECK: .text ; !FP + large frame: spill SR+SR = entsp 2 + 100000 ; CHECK-LABEL: ScavengeSlots: -; CHECK: extsp 65535 +; CHECK: entsp 65535 ; CHECK: extsp 34467 ; scavenge r11 ; CHECK: ldaw r11, sp[0] @@ -97,10 +97,9 @@ declare void @g(i32*, i32*) ; CHECK: ldw r1, cp{{\[}}[[INDEX4]]{{\]}} ; CHECK: stw r11, r0[r1] ; CHECK: ldaw sp, sp[65535] -; CHECK: ldaw sp, sp[34467] ; CHECK: ldw r4, sp[1] ; CHECK: ldw r5, sp[0] -; CHECK: retsp 0 +; CHECK: retsp 34467 define void @ScavengeSlots(i32 %r0, i32 %r1, i32 %r2, i32 %r3, i32 %r4) nounwind { entry: %Data = alloca [100000 x i32] |