]> granicus.if.org Git - llvm/commit
[Mips] Always save RA when disabling frame pointer elimination
authorSimon Atanasyan <simon@atanasyan.com>
Mon, 7 Oct 2019 14:01:37 +0000 (14:01 +0000)
committerSimon Atanasyan <simon@atanasyan.com>
Mon, 7 Oct 2019 14:01:37 +0000 (14:01 +0000)
commit394b2c28173f8cd5d388bf77b6b832f444ef4559
tree11a9ffe90a00d3b06b063bea905287c210eb556b
parentfd90615a7ca02e9b157bb113ad681e6a9806cadd
[Mips] Always save RA when disabling frame pointer elimination

This ensures that frame-based unwinding will continue to work when
calling a noreturn function; there is not much use having the caller's
frame pointer saved if you don't also have the caller's program counter.

Patch by James Clarke.

Differential Revision: https://reviews.llvm.org/D68542

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@373907 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/Mips/MipsSEFrameLowering.cpp
test/CodeGen/Mips/cconv/vector.ll
test/CodeGen/Mips/dynamic-stack-realignment.ll
test/CodeGen/Mips/frame-address.ll
test/CodeGen/Mips/no-frame-pointer-elim.ll [new file with mode: 0644]
test/CodeGen/Mips/tnaked.ll
test/CodeGen/Mips/v2i16tof32.ll