summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/SourceLocation.cpp
diff options
context:
space:
mode:
authorPavel Labath <labath@google.com>2017-06-19 12:39:34 +0000
committerPavel Labath <labath@google.com>2017-06-19 12:39:34 +0000
commit9376007af71753be2ab3e2594fb4159ccd970520 (patch)
treebf0ccfea4f2440e31bc047250822386b58cf0403 /clang/lib/Basic/SourceLocation.cpp
parent319b38398e0d990f88db34dc562c73ce847cf910 (diff)
downloadbcm5719-llvm-9376007af71753be2ab3e2594fb4159ccd970520.tar.gz
bcm5719-llvm-9376007af71753be2ab3e2594fb4159ccd970520.zip
Tweak SysV_arm64 function entry unwind plan
Summary: The motivation for this is to make sure the first row of the plan compares equal to the first row of a generic debug_frame unwind plan. Right now, the code in FuncUnwinders::GetUnwindPlanAtNonCallSite considers them unequal because they specify the return address in a different way (SetReturnAddressRegister(LR) vs. an explicit PC=LR rule). This means that FuncUnwinders would always choose the debug_frame unwind plan, which is not correct, as that one is usually not correct at all locations. Right now this is basically a noop because we don't have parse any debug_frame plans, but it fixes some test failures when merging D33504 in. I have to say I don't understand the full implications of the switch to SetReturnAddressRegister() way of doing things, but given that all of our other unwind plans (eh_frame, instruction profiling) do it this way, it sounds like the right thing to do. Reviewers: tberghammer, jasonmolenda, omjavaid Subscribers: aemerson, javed.absar, kristof.beyls, lldb-commits Differential Revision: https://reviews.llvm.org/D34199 llvm-svn: 305687
Diffstat (limited to 'clang/lib/Basic/SourceLocation.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud