summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMFrameInfo.h
Commit message (Collapse)AuthorAgeFilesLines
* Rename TargetFrameInfo into TargetFrameLowering. Also, put couple of FIXMEs ↵Anton Korobeynikov2011-01-101-73/+0
| | | | | | and fixes here and there. llvm-svn: 123170
* ARM stm/ldm instructions require more than one register in the register list.Jim Grosbach2010-12-091-4/+5
| | | | | | | | Otherwise, a plain str/ldr should be used instead. Make sure we account for that in prologue/epilogue code generation. rdar://8745460 llvm-svn: 121391
* Fix a bad prologue / epilogue codegen bug where the compiler would emit illegalEvan Cheng2010-12-071-4/+5
| | | | | | | | | | | vpush instructions to save / restore VFP / NEON registers like this: vpush {d8,d10,d11} vpop {d8,d10,d11} vpush and vpop do not allow gaps in the register list. rdar://8728956 llvm-svn: 121197
* Move more PEI-related hooks to TFIAnton Korobeynikov2010-11-271-0/+3
| | | | llvm-svn: 120229
* Move callee-saved regs spills / reloads to TFIAnton Korobeynikov2010-11-271-0/+17
| | | | llvm-svn: 120228
* Move some more hooks to TargetFrameInfoAnton Korobeynikov2010-11-201-0/+6
| | | | llvm-svn: 119904
* Move hasFP() and few related hooks to TargetFrameInfo.Anton Korobeynikov2010-11-181-0/+4
| | | | llvm-svn: 119740
* First step of huge frame-related refactoring: move emit{Prologue,Epilogue} ↵Anton Korobeynikov2010-11-151-2/+11
| | | | | | out of TargetRegisterInfo to TargetFrameInfo, which is definitely much better suitable place llvm-svn: 119097
* pr4926: ARM requires the stack pointer to be aligned, even for leaf functions.Bob Wilson2009-09-251-1/+1
| | | | | | | | | | | | | | | | | | | | For the AAPCS ABI, SP must always be 4-byte aligned, and at any "public interface" it must be 8-byte aligned. For the older ARM APCS ABI, the stack alignment is just always 4 bytes. For X86, we currently align SP at entry to a function (e.g., to 16 bytes for Darwin), but no stack alignment is needed at other times, such as for a leaf function. After discussing this with Dan, I decided to go with the approach of adding a new "TransientStackAlignment" field to TargetFrameInfo. This value specifies the stack alignment that must be maintained even in between calls. It defaults to 1 except for ARM, where it is 4. (Some other targets may also want to set this if they have similar stack requirements. It's not currently required for PPC because it sets targetHandlesStackFrameRounding and handles the alignment in target-specific code.) The existing StackAlignment value specifies the alignment upon entry to a function, which is how we've been using it anyway. llvm-svn: 82767
* Reorg includes.Evan Cheng2009-07-091-1/+1
| | | | llvm-svn: 75115
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+1
| | | | llvm-svn: 45418
* More explicit keywords.Dan Gohman2007-07-301-1/+1
| | | | llvm-svn: 40589
* ARM backend contribution from Apple.Evan Cheng2007-01-191-6/+4
| | | | llvm-svn: 33353
* use @ for commentsRafael Espindola2006-08-251-8/+0
| | | | | | | store LR in an arbitrary stack slot add support for writing varargs functions llvm-svn: 29876
* Declare the callee saved regsRafael Espindola2006-08-161-0/+43
Remove the hard coded store and load of the link register Implement ARMFrameInfo llvm-svn: 29727
OpenPOWER on IntegriCloud