Fix off-by-one error when encoding the stack size for a frameless stack.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146029 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bill Wendling 2011-12-07 07:49:49 +00:00
parent 5a96b3dad2
commit c61751373a

View File

@ -561,7 +561,7 @@ uint32_t X86FrameLowering::getCompactUnwindEncoding(MachineFunction &MF) const {
CompactUnwindEncoding |= (StackAdjust & 0xFF) << 16;
CompactUnwindEncoding |= RegEnc & 0x7FFF;
} else {
uint32_t TotalStackSize = StackAdjust + StackSize;
uint32_t TotalStackSize = StackAdjust + StackSize + 1;
if ((TotalStackSize & 0xFF) == TotalStackSize) {
// Frameless stack with a small stack size.
CompactUnwindEncoding |= 0x02000000;