Akira Hatanaka
c27c81aa86
[mips] Add parameter Alignment to MipsFrameLowering's constructor.
...
No functionality changes.
llvm-svn: 178326
2013-03-29 01:51:04 +00:00
Akira Hatanaka
d700462c80
[mips] Rename function and variable names to start with proper case. Fix typos.
...
Delete commented-out code.
llvm-svn: 176844
2013-03-12 00:16:36 +00:00
Akira Hatanaka
6c6c861981
[mips] Add function MipsFrameLowering::estimateStackSize.
...
This function estimates stack size and will be called before
PrologEpilogInserter scans the callee-saved registers.
llvm-svn: 167313
2012-11-02 21:10:22 +00:00
Akira Hatanaka
6b71c77901
Move the code that creates instances of MipsInstrInfo and MipsFrameLowering out
...
of MipsTargetMachine.cpp.
llvm-svn: 161191
2012-08-02 18:21:47 +00:00
Akira Hatanaka
a1ef6b9f53
Set transient stack alignment in constructor of MipsFrameLowering and re-enable
...
test o32_cc_vararg.ll.
llvm-svn: 161189
2012-08-02 18:15:13 +00:00
Akira Hatanaka
87fd9a992a
Add definitions of two subclasses of MipsFrameLowering, Mips16FrameLowering and
...
MipsSEFrameLowering.
Implement MipsSEFrameLowering::hasReservedCallFrame. Call frames will not be
reserved if there is a call with a large call frame or there are variable sized
objects on the stack.
llvm-svn: 161090
2012-07-31 22:50:19 +00:00
Akira Hatanaka
ad80f510bc
Let PEI::calculateFrameObjectOffsets compute the final stack size rather than
...
computing it in MipsFrameLowering::emitPrologue.
llvm-svn: 161078
2012-07-31 21:28:49 +00:00
Akira Hatanaka
96b3eb563a
Make register Mips::RA allocatable if not in mips16 mode.
...
llvm-svn: 159971
2012-07-10 00:19:06 +00:00
Jia Liu
bdcd314be3
remove blanks, and some code format
...
llvm-svn: 151625
2012-02-28 07:46:26 +00:00
Akira Hatanaka
65c0724c19
Mips64 aligns stack on 16-byte boundary.
...
llvm-svn: 140292
2011-09-22 02:53:37 +00:00
Evan Cheng
10c6820ff4
Move getInitialFrameState from TargetFrameInfo to MCAsmInfo (suggestions for
...
better location welcome).
llvm-svn: 135438
2011-07-18 22:29:13 +00:00
Akira Hatanaka
5bfbea9ef2
Add support for C++ exception handling.
...
llvm-svn: 132131
2011-05-26 18:59:03 +00:00
Akira Hatanaka
6ddbe02441
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.
llvm-svn: 131915
2011-05-23 20:16:59 +00:00
Akira Hatanaka
89801a318c
Make $fp and $ra callee-saved registers and let PrologEpilogInserter handle
...
saving and restoring them.
llvm-svn: 131745
2011-05-20 18:39:33 +00:00
Akira Hatanaka
74d45b54f1
Reverse unnecessary changes made in r129606 and r129608. There is no change in functionality.
...
llvm-svn: 129612
2011-04-15 21:51:11 +00:00
Akira Hatanaka
6f900185ed
Fix lines that have incorrect indentation or exceed 80 columns. There is no change in functionality.
...
llvm-svn: 129606
2011-04-15 21:00:26 +00:00
Bruno Cardoso Lopes
5347fd6512
Fix an old copy-n-paste
...
llvm-svn: 127020
2011-03-04 19:20:24 +00:00
Bruno Cardoso Lopes
13cefe452d
Ensure Mips::GP is properly reloaded after a function call. Patch by Sasa Stankovic
...
llvm-svn: 123768
2011-01-18 19:50:18 +00:00
Anton Korobeynikov
cf5967630b
Rename TargetFrameInfo into TargetFrameLowering. Also, put couple of FIXMEs and fixes here and there.
...
llvm-svn: 123170
2011-01-10 12:39:04 +00:00