diff options
author | Jason Molenda <jmolenda@apple.com> | 2012-10-17 00:41:14 +0000 |
---|---|---|
committer | Jason Molenda <jmolenda@apple.com> | 2012-10-17 00:41:14 +0000 |
commit | 5c1ac4ea7266fb136f0381e9d4ce47c1e93e6ae7 (patch) | |
tree | 9fe607a3e60b8709fce892ee1fdcd451362832d3 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | 9272407c3977fe51a03fa546eda251da696874f5 (diff) | |
download | bcm5719-llvm-5c1ac4ea7266fb136f0381e9d4ce47c1e93e6ae7.tar.gz bcm5719-llvm-5c1ac4ea7266fb136f0381e9d4ce47c1e93e6ae7.zip |
Add code to UnwindAssemblyInstEmulation::GetNonCallSiteUnwindPlanFromAssembly
to handle an addition class of early-return instructions we find in arm code:
tail-call optimziation returns where we restore the register state from the
function entry and jump directly (not branch & link) to another function --
when that other function returns, it will return to our caller.
Previously this mid-function epilogue sequence was not being correctly detected.
We would not re-instate the prologue setup instructions for the rest of the function
so unwinds would break from that point until the end of the function.
<rdar://problem/12502597>
llvm-svn: 166081
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions