diff options
author | Eli Friedman <efriedma@quicinc.com> | 2019-07-02 21:35:15 +0000 |
---|---|---|
committer | Eli Friedman <efriedma@quicinc.com> | 2019-07-02 21:35:15 +0000 |
commit | e97aa961d3255d95c32bb884858ccdd3a00dbadc (patch) | |
tree | d7edf22fc10a04223a81ff618de11f67ae651dc1 /llvm/unittests | |
parent | 10ee3ac396f5d3f4251748d7973bf22faf9fbef9 (diff) | |
download | bcm5719-llvm-e97aa961d3255d95c32bb884858ccdd3a00dbadc.tar.gz bcm5719-llvm-e97aa961d3255d95c32bb884858ccdd3a00dbadc.zip |
[ARM] Fix unwind info for Thumb1 functions that save high registers.
There were two issues here: one, some of the relevant instructions were
missing the expected "FrameSetup" flag, and two,
ARMAsmPrinter::EmitUnwindingInstruction wasn't expecting "mov"
instructions in the prologue.
I'm sticking the additional state into ARMFunctionInfo so it's obvious
it only applies to the current function.
I considered a few alternative approaches where we would compute the
correct unwind information as part of the prologue/epilogue lowering,
but it seems like a lot of work to introduce pseudo-instructions, and
the current code seems to be reliable enough.
Fixes https://bugs.llvm.org/show_bug.cgi?id=42408.
Differential Revision: https://reviews.llvm.org/D63964
llvm-svn: 364970
Diffstat (limited to 'llvm/unittests')
0 files changed, 0 insertions, 0 deletions