summaryrefslogtreecommitdiffstats
path: root/llvm/lib
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
commit3c86459997955560eaf8eda281bca0712d2bc68c (patch)
tree6179ff8b723bb5e51b89f06254ba9441d6f5769a /llvm/lib
parent2493e925303565c4690870a4907a87ca4bfdf243 (diff)
downloadbcm5719-llvm-3c86459997955560eaf8eda281bca0712d2bc68c.tar.gz
bcm5719-llvm-3c86459997955560eaf8eda281bca0712d2bc68c.zip
Fix off-by-one error when encoding the stack size for a frameless stack.
llvm-svn: 146029
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/X86/X86FrameLowering.cpp2
1 files changed, 1 insertions, 1 deletions
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;
OpenPOWER on IntegriCloud