Fix a bug where the EmulateInstructionARM64 handling of STP/LDP instructions
authorJason Molenda <jmolenda@apple.com>
Tue, 1 Nov 2016 01:26:54 +0000 (01:26 +0000)
committerJason Molenda <jmolenda@apple.com>
Tue, 1 Nov 2016 01:26:54 +0000 (01:26 +0000)
commite322332a096aa2c1862a1c25239e3ec2dfc9346a
tree683a7832863063bbe60830f2104b40c9b4eb7750
parenta1a77f3a21f8d94300fb6c9df503cb45279a8fb3
Fix a bug where the EmulateInstructionARM64 handling of STP/LDP instructions
for floating point registers was not recording them correctly.  I needed to
change the EmulateInstructionARM64 unwind plans from using the DWARF
register numbering scheme to using the LLDB register numbering scheme
(because dwarf doesn't define register numbers for the 64-bit "d" registers).
Updated the EmulateInstructionARM64 unit tests to work with the LLDB
register numbering scheme and added a unit test to check the floating
point register spills & restores are correctly recorded.

https://reviews.llvm.org/D25864
<rdar://problem/28745483>

llvm-svn: 285662
lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
lldb/unittests/UnwindAssembly/InstEmulation/TestArm64InstEmulation.cpp