Change StackDirection from StackGrowsUp to StackGrowsDown.
authorAkira Hatanaka <ahatanak@gmail.com>
Mon, 23 May 2011 20:16:59 +0000 (20:16 +0000)
committerAkira Hatanaka <ahatanak@gmail.com>
Mon, 23 May 2011 20:16:59 +0000 (20:16 +0000)
commit69c19f7316ed8e545c7339421b910543eb8e9eef
tree282eec77dfac7894123fc278ab48a5f3b6206434
parent26ffad8c4943cac86120cf32a3eab0223e268992
Change StackDirection from StackGrowsUp to StackGrowsDown.

The following improvements are accomplished as a result of applying this patch:
- Fixed frame objects' offsets (relative to either the virtual frame pointer or
  the stack pointer) are set before instruction selection is completed. There is
  no need to wait until Prologue/Epilogue Insertion is run to set them.
- Calculation of final offsets of fixed frame objects is straightforward. It is
  no longer necessary to assign negative offsets to fixed objects for incoming
  arguments in order to distinguish them from the others.
- Since a fixed object has its relative offset set during instruction
  selection, there is no need to conservatively set its alignment to 4.
- It is no longer necessary to reorder non-fixed frame objects in
  MipsFrameLowering::adjustMipsStackFrame.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131915 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/Mips/MipsFrameLowering.cpp
lib/Target/Mips/MipsFrameLowering.h
lib/Target/Mips/MipsISelLowering.cpp
lib/Target/Mips/MipsMachineFunction.h
lib/Target/Mips/MipsRegisterInfo.cpp
test/CodeGen/Mips/o32_cc_vararg.ll