From 3c86459997955560eaf8eda281bca0712d2bc68c Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Wed, 7 Dec 2011 07:49:49 +0000 Subject: Fix off-by-one error when encoding the stack size for a frameless stack. llvm-svn: 146029 --- llvm/lib/Target/X86/X86FrameLowering.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'llvm/lib/Target/X86/X86FrameLowering.cpp') diff --git a/llvm/lib/Target/X86/X86FrameLowering.cpp b/llvm/lib/Target/X86/X86FrameLowering.cpp index 158acc90c10..c0e86cad642 100644 --- a/llvm/lib/Target/X86/X86FrameLowering.cpp +++ b/llvm/lib/Target/X86/X86FrameLowering.cpp @@ -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; -- cgit v1.2.3