From 98ea4635ae8409d1d672d3db5e2c4c13dacef711 Mon Sep 17 00:00:00 2001 From: Bruno Cardoso Lopes Date: Sun, 15 Mar 2009 23:28:07 +0000 Subject: [PATCH] This causes incorrect stack frame allocation when the last object is an array allocated on the stack which would lead the compiled program to run over its stack. Thanks to Gil Dogon git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67034 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/Mips/MipsRegisterInfo.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Target/Mips/MipsRegisterInfo.cpp b/lib/Target/Mips/MipsRegisterInfo.cpp index 8a468d1db5c..a33e2c2c563 100644 --- a/lib/Target/Mips/MipsRegisterInfo.cpp +++ b/lib/Target/Mips/MipsRegisterInfo.cpp @@ -267,7 +267,7 @@ void MipsRegisterInfo::adjustMipsStackFrame(MachineFunction &MF) const if (LastOffsetFI >= 0) StackOffset = MFI->getObjectOffset(LastOffsetFI)+ - MFI->getObjectAlignment(LastOffsetFI); + MFI->getObjectSize(LastOffsetFI); StackOffset = ((StackOffset+StackAlign-1)/StackAlign*StackAlign); for (unsigned i = 0, e = CSI.size(); i != e ; ++i) { -- 2.11.0