| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
and fixes here and there.
llvm-svn: 123170
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 120229
|
|
|
|
| |
llvm-svn: 120228
|
|
|
|
| |
llvm-svn: 119904
|
|
|
|
| |
llvm-svn: 119740
|
|
|
|
|
|
| |
out of TargetRegisterInfo to TargetFrameInfo, which is definitely much better suitable place
llvm-svn: 119097
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 75115
|
|
|
|
| |
llvm-svn: 45418
|
|
|
|
| |
llvm-svn: 40589
|
|
|
|
| |
llvm-svn: 33353
|
|
|
|
|
|
|
| |
store LR in an arbitrary stack slot
add support for writing varargs functions
llvm-svn: 29876
|
|
Remove the hard coded store and load of the link register
Implement ARMFrameInfo
llvm-svn: 29727
|