aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2011-12-07 07:49:49 +0000
committerBill Wendling <isanbard@gmail.com>2011-12-07 07:49:49 +0000
commitc61751373ab58f226ec37368c139404e67e847c0 (patch)
treecfc1678ea634c57c0494c7365e591c09d2be07c6
parent5a96b3dad2f634c9081c8b2b6c2575441dc5a2bd (diff)
downloadexternal_llvm-c61751373ab58f226ec37368c139404e67e847c0.zip
external_llvm-c61751373ab58f226ec37368c139404e67e847c0.tar.gz
external_llvm-c61751373ab58f226ec37368c139404e67e847c0.tar.bz2
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
-rw-r--r--lib/Target/X86/X86FrameLowering.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Target/X86/X86FrameLowering.cpp b/lib/Target/X86/X86FrameLowering.cpp
index 158acc9..c0e86ca 100644
--- a/lib/Target/X86/X86FrameLowering.cpp
+++ b/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;