summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* improve portability to avoid conflicting with std::next in c++'0x.Chris Lattner2009-12-031-1/+1
| | | | | | Patch by Howard Hinnant! llvm-svn: 90365
* Make the MachineFunction argument of getFrameRegister const.David Greene2009-11-121-1/+2
| | | | | | This also fixes a build error. llvm-svn: 87027
* Add register-reuse to frame-index register scavenging. When a target usesJim Grosbach2009-10-071-2/+5
| | | | | | | | | | | | | | | | | | | | a virtual register to eliminate a frame index, it can return that register and the constant stored there to PEI to track. When scavenging to allocate for those registers, PEI then tracks the last-used register and value, and if it is still available and matches the value for the next index, reuses the existing value rather and removes the re-materialization instructions. Fancier tracking and adjustment of scavenger allocations to keep more values live for longer is possible, but not yet implemented and would likely be better done via a different, less special-purpose, approach to the problem. eliminateFrameIndex() is modified so the target implementations can return the registers they wish to be tracked for reuse. ARM Thumb1 implements and utilizes the new mechanism. All other targets are simply modified to adjust for the changed eliminateFrameIndex() prototype. llvm-svn: 83467
* Remove some unused variables and methods warned about byDuncan Sands2009-09-061-1/+0
| | | | | | icc (#177, partial). Patch by Erick Tryzelaar. llvm-svn: 81106
* Handle long-disp stuff more consistentlyAnton Korobeynikov2009-07-161-6/+22
| | | | llvm-svn: 76059
* Fix incomin arg stack frame offset in case we need to generate stack frameAnton Korobeynikov2009-07-161-1/+1
| | | | llvm-svn: 76049
* Handle FP callee-saved regsAnton Korobeynikov2009-07-161-4/+22
| | | | llvm-svn: 76029
* Add FP regsAnton Korobeynikov2009-07-161-1/+1
| | | | llvm-svn: 76013
* Missed part of prev. patchAnton Korobeynikov2009-07-161-1/+3
| | | | llvm-svn: 76008
* Another attempt to fix prologue emissionAnton Korobeynikov2009-07-161-8/+12
| | | | llvm-svn: 76007
* Properly generate stack frameAnton Korobeynikov2009-07-161-5/+5
| | | | llvm-svn: 75998
* Do not forget to save R15 when we allocate stack frameAnton Korobeynikov2009-07-161-1/+2
| | | | llvm-svn: 75995
* Stupid typoAnton Korobeynikov2009-07-161-1/+1
| | | | llvm-svn: 75992
* Fix fallout from 12-bit stuff landing: decide whether 20 bit displacements ↵Anton Korobeynikov2009-07-161-2/+8
| | | | | | are needed during elimination of frame indexes. llvm-svn: 75989
* We already have reserved call frame regardless whether variable sized frame ↵Anton Korobeynikov2009-07-161-15/+0
| | | | | | objects were present or not llvm-svn: 75987
* Implement dynamic allocasAnton Korobeynikov2009-07-161-1/+7
| | | | llvm-svn: 75985
* Emit callee-saved regs spills / restoresAnton Korobeynikov2009-07-161-18/+50
| | | | llvm-svn: 75943
* Some preliminary call loweringAnton Korobeynikov2009-07-161-5/+31
| | | | llvm-svn: 75941
* Prologue / epilogue emissionAnton Korobeynikov2009-07-161-2/+90
| | | | llvm-svn: 75940
* Add simple frame index eliminationAnton Korobeynikov2009-07-161-1/+39
| | | | llvm-svn: 75939
* Add 32 bit subregsAnton Korobeynikov2009-07-161-5/+5
| | | | llvm-svn: 75923
* Let's start another backend :)Anton Korobeynikov2009-07-161-0/+119
llvm-svn: 75909
OpenPOWER on IntegriCloud