From: Bruno Cardoso Lopes Date: Sun, 15 Mar 2009 23:28:07 +0000 (+0000) Subject: This causes incorrect stack frame allocation when the last object is an array allocat... X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=98ea4635ae8409d1d672d3db5e2c4c13dacef711;p=oota-llvm.git 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 --- 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) {