[llvm-commits] [llvm] r67034 - /llvm/trunk/lib/Target/Mips/MipsRegisterInfo.cpp

Bruno Cardoso Lopes bruno.cardoso at gmail.com
Sun Mar 15 16:28:08 PDT 2009


Author: bruno
Date: Sun Mar 15 18:28:07 2009
New Revision: 67034

URL: http://llvm.org/viewvc/llvm-project?rev=67034&view=rev
Log:
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

Modified:
    llvm/trunk/lib/Target/Mips/MipsRegisterInfo.cpp

Modified: llvm/trunk/lib/Target/Mips/MipsRegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsRegisterInfo.cpp?rev=67034&r1=67033&r2=67034&view=diff

==============================================================================
--- llvm/trunk/lib/Target/Mips/MipsRegisterInfo.cpp (original)
+++ llvm/trunk/lib/Target/Mips/MipsRegisterInfo.cpp Sun Mar 15 18:28:07 2009
@@ -267,7 +267,7 @@
 
   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) {





More information about the llvm-commits mailing list