diff options
author | Bill Wendling <isanbard@gmail.com> | 2011-12-07 07:49:49 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2011-12-07 07:49:49 +0000 |
commit | 3c86459997955560eaf8eda281bca0712d2bc68c (patch) | |
tree | 6179ff8b723bb5e51b89f06254ba9441d6f5769a /llvm/lib/Target | |
parent | 2493e925303565c4690870a4907a87ca4bfdf243 (diff) | |
download | bcm5719-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/Target')
-rw-r--r-- | llvm/lib/Target/X86/X86FrameLowering.cpp | 2 |
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; |