OSDN Git Service

[CompactUnwind] Fix register encoding logic
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Mon, 8 Dec 2014 18:18:32 +0000 (18:18 +0000)
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Mon, 8 Dec 2014 18:18:32 +0000 (18:18 +0000)
commit43edafcc079397a2b69def3c9c9e2be74d01dcea
treee6e7a118c4970834b1f77d0b453b7de5ba2436c9
parent6efccd025c94f94bd7a32f0e721305a73fb76c84
[CompactUnwind] Fix register encoding logic

Fix a compact unwind encoding logic bug which would try to encode
more callee saved registers than it should, leading to early bail out
in the encoding logic and abusive use of DWARF frame mode unnecessarily.

Also remove no-compact-unwind.ll which was testing the wrong thing
based on this bug and move it to valid 'compact unwind' tests. Added
other few more tests too.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223676 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
test/CodeGen/X86/compact-unwind.ll
test/CodeGen/X86/no-compact-unwind.ll [deleted file]
test/MC/X86/compact-unwind.s [new file with mode: 0644]