diff options
| author | Vitaly Buka <vitalybuka@google.com> | 2018-04-07 05:36:44 +0000 |
|---|---|---|
| committer | Vitaly Buka <vitalybuka@google.com> | 2018-04-07 05:36:44 +0000 |
| commit | de5f196530b508df3bc8c035ae1db87b56437d88 (patch) | |
| tree | 7f702512cbfb50729ca134d7dadbad1efb364c96 /llvm/test/CodeGen/ARM | |
| parent | d1324fdff005fd267630c004760a544dabad8357 (diff) | |
| download | bcm5719-llvm-de5f196530b508df3bc8c035ae1db87b56437d88.tar.gz bcm5719-llvm-de5f196530b508df3bc8c035ae1db87b56437d88.zip | |
Revert "ARM: Do not spill CSR to stack on entry to noreturn functions"
Breaks ubsan test TestCases/Misc/missing_return.cpp on ARM
This reverts commit r329287
llvm-svn: 329486
Diffstat (limited to 'llvm/test/CodeGen/ARM')
| -rw-r--r-- | llvm/test/CodeGen/ARM/arm-shrink-wrapping.ll | 2 | ||||
| -rw-r--r-- | llvm/test/CodeGen/ARM/noreturn-csr-skip.mir | 51 |
2 files changed, 1 insertions, 52 deletions
diff --git a/llvm/test/CodeGen/ARM/arm-shrink-wrapping.ll b/llvm/test/CodeGen/ARM/arm-shrink-wrapping.ll index c943f60c56d..1985ff9b4a2 100644 --- a/llvm/test/CodeGen/ARM/arm-shrink-wrapping.ll +++ b/llvm/test/CodeGen/ARM/arm-shrink-wrapping.ll @@ -327,7 +327,7 @@ declare void @somethingElse(...) ; DISABLE-NEXT: pop {r4, r7, pc} ; ; ENABLE-NEXT: bx lr -define i32 @loopInfoRestoreOutsideLoop(i32 %cond, i32 %N) "no-frame-pointer-elim"="true" nounwind { +define i32 @loopInfoRestoreOutsideLoop(i32 %cond, i32 %N) "no-frame-pointer-elim"="true" #0 { entry: %tobool = icmp eq i32 %cond, 0 br i1 %tobool, label %if.else, label %if.then diff --git a/llvm/test/CodeGen/ARM/noreturn-csr-skip.mir b/llvm/test/CodeGen/ARM/noreturn-csr-skip.mir deleted file mode 100644 index c3b9718ac9e..00000000000 --- a/llvm/test/CodeGen/ARM/noreturn-csr-skip.mir +++ /dev/null @@ -1,51 +0,0 @@ -# RUN: llc -mtriple thumbv7m-none-eabi -run-pass prologepilog %s -o - | FileCheck %s - ---- | - define void @throw() noreturn { unreachable } - - define void @ret() nounwind { ret void } - - define void @noret() noreturn nounwind { - start: - %p = alloca i32 - store i32 42, i32* %p - unreachable - } -... ---- -# This function may return by exception. Check that $r4 is saved and restored. -# CHECK-LABEL: name: throw -# CHECK: killed $r4 -# CHECK: def $r4 -name: throw -body: | - bb.0: - $r4 = IMPLICIT_DEF - tBX_RET 14, $noreg ---- ---- -# This function may return. Check that $r4 is saved and restored. -# CHECK-LABEL: name: ret -# CHECK: killed $r4 -# CHECK: def $r4 -name: ret -body: | - bb.0: - $r4 = IMPLICIT_DEF - tBX_RET 14, $noreg ---- ---- -# This function does not return. We need not save any CSR, but -# other stack adjustments in the prologue are still necessary. -# CHECK-LABEL: name: noret -# CHECK-NOT: killed $r4 -# CHECK-NOT: def $r4 -# CHECK: $sp = frame-setup -name: noret -stack: - - { id: 0, name: p, offset: 0, size: 4, alignment: 4, local-offset: -4 } -body: | - bb.0: - $r4 = IMPLICIT_DEF - tBX_RET 14, $noreg ---- |

