#
0ab5e2cd |
| 15-Apr-2011 |
Chris Lattner <sabre@nondot.org> |
Fix a ton of comment typos found by codespell. Patch by Luis Felipe Strano Moraes!
llvm-svn: 129558
|
Revision tags: llvmorg-2.9.0, llvmorg-2.9.0-rc3, llvmorg-2.9.0-rc2, llvmorg-2.9.0-rc1 |
|
#
7e200664 |
| 03-Mar-2011 |
Jim Grosbach <grosbach@apple.com> |
Allow a target to choose whether to prefer the scavenger emergency spill slot be next to the frame pointer or the stack pointer.
llvm-svn: 126956
|
#
2f931281 |
| 10-Jan-2011 |
Anton Korobeynikov <asl@math.spbu.ru> |
Rename TargetFrameInfo into TargetFrameLowering. Also, put couple of FIXMEs and fixes here and there.
llvm-svn: 123170
|
#
6eb516db |
| 07-Jan-2011 |
Evan Cheng <evan.cheng@apple.com> |
Do not model all INLINEASM instructions as having unmodelled side effects. Instead encode llvm IR level property "HasSideEffects" in an operand (shared with IsAlignStack). Added MachineInstrs::hasUnm
Do not model all INLINEASM instructions as having unmodelled side effects. Instead encode llvm IR level property "HasSideEffects" in an operand (shared with IsAlignStack). Added MachineInstrs::hasUnmodeledSideEffects() to check the operand when the instruction is an INLINEASM.
This allows memory instructions to be moved around INLINEASM instructions.
llvm-svn: 123044
show more ...
|
#
7283b8d1 |
| 27-Nov-2010 |
Anton Korobeynikov <asl@math.spbu.ru> |
Move more PEI-related hooks to TFI
llvm-svn: 120229
|
#
d08fbd19 |
| 27-Nov-2010 |
Anton Korobeynikov <asl@math.spbu.ru> |
Move callee-saved regs spills / reloads to TFI
llvm-svn: 120228
|
#
0eecf5d2 |
| 18-Nov-2010 |
Anton Korobeynikov <asl@math.spbu.ru> |
Move hasFP() and few related hooks to TargetFrameInfo.
llvm-svn: 119740
|
#
f7183edb |
| 15-Nov-2010 |
Anton Korobeynikov <asl@math.spbu.ru> |
First step of huge frame-related refactoring: move emit{Prologue,Epilogue} out of TargetRegisterInfo to TargetFrameInfo, which is definitely much better suitable place
llvm-svn: 119097
|
#
e4992c88 |
| 27-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
Formatting.
llvm-svn: 117453
|
#
a3aa17b3 |
| 18-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
Trivial grammar tweak.
llvm-svn: 116710
|
#
8ac477ff |
| 12-Oct-2010 |
Owen Anderson <resistor@mac.com> |
Begin adding static dependence information to passes, which will allow us to perform initialization without static constructors AND without explicit initialization by the client. For the moment, pas
Begin adding static dependence information to passes, which will allow us to perform initialization without static constructors AND without explicit initialization by the client. For the moment, passes are required to initialize both their (potential) dependencies and any passes they preserve. I hope to be able to relax the latter requirement in the future.
llvm-svn: 116334
show more ...
|
#
df7a4f25 |
| 07-Oct-2010 |
Owen Anderson <resistor@mac.com> |
Now with fewer extraneous semicolons!
llvm-svn: 115996
|
Revision tags: llvmorg-2.8.0, llvmorg-2.8.0-rc3, llvmorg-2.8.0-rc2, llvmorg-2.8.0-rc1, llvmorg-2.8.0-rc0 |
|
#
6a770669 |
| 26-Aug-2010 |
Jim Grosbach <grosbach@apple.com> |
Simplify eliminateFrameIndex() interface back down now that PEI doesn't need to try to re-use scavenged frame index reference registers. rdar://8277890
llvm-svn: 112241
|
#
2a1915d0 |
| 26-Aug-2010 |
Jim Grosbach <grosbach@apple.com> |
Remove the now obsolete frame index virtual re-use algorithm from PEI. Pre-RA virtual base registers handle this function, and more. A bit more cleanup to do on the interface to eliminateFrameIndex()
Remove the now obsolete frame index virtual re-use algorithm from PEI. Pre-RA virtual base registers handle this function, and more. A bit more cleanup to do on the interface to eliminateFrameIndex() after this.
llvm-svn: 112237
show more ...
|
#
7c1b421a |
| 25-Aug-2010 |
Jim Grosbach <grosbach@apple.com> |
Add some statistics for PEI register scavenging
llvm-svn: 112084
|
#
b77d67f3 |
| 24-Aug-2010 |
Jim Grosbach <grosbach@apple.com> |
Move enabling the local stack allocation pass into the target where it belongs. For now it's still a command line option, but the interface to the generic code doesn't need to know that.
llvm-svn: 1
Move enabling the local stack allocation pass into the target where it belongs. For now it's still a command line option, but the interface to the generic code doesn't need to know that.
llvm-svn: 111942
show more ...
|
#
616bc356 |
| 23-Aug-2010 |
Jim Grosbach <grosbach@apple.com> |
Remove the MFI storage of the local allocation block size. It's not needed.
llvm-svn: 111847
|
#
754f8e60 |
| 23-Aug-2010 |
Jim Grosbach <grosbach@apple.com> |
Better handling of local offsets for downwards growing stacks. This corrects relative offsets when there are offsets encoded in the instructions and simplifies final allocation in PEI. rdar://8277890
Better handling of local offsets for downwards growing stacks. This corrects relative offsets when there are offsets encoded in the instructions and simplifies final allocation in PEI. rdar://8277890
llvm-svn: 111836
show more ...
|
#
743d7c80 |
| 19-Aug-2010 |
Jim Grosbach <grosbach@apple.com> |
Update local stack block allocation to let PEI do the allocs if no additional base registers were required. This will allow for slightly better packing of the locals when alignment padding is necessa
Update local stack block allocation to let PEI do the allocs if no additional base registers were required. This will allow for slightly better packing of the locals when alignment padding is necessary after callee saved registers.
llvm-svn: 111508
show more ...
|
#
3cf08661 |
| 17-Aug-2010 |
Jim Grosbach <grosbach@apple.com> |
Add materialization of virtual base registers for frame indices allocated into the local block. Resolve references to those indices to a new base register. For simplification and testing purposes, a
Add materialization of virtual base registers for frame indices allocated into the local block. Resolve references to those indices to a new base register. For simplification and testing purposes, a new virtual base register is allocated for each frame index being resolved. The result is truly horrible, but correct, code that's good for exercising the new code paths.
Next up is adding thumb1 support, which should be very simple. Following that will be adding base register re-use and implementing a reasonable ARM heuristic for when a virtual base register should be generated at all.
llvm-svn: 111315
show more ...
|
#
a7c562d6 |
| 16-Aug-2010 |
Jim Grosbach <grosbach@apple.com> |
tidy up. remove unused local.
llvm-svn: 111206
|
#
36d5ec38 |
| 16-Aug-2010 |
Jim Grosbach <grosbach@apple.com> |
Better handle alignment requirements for local objects in pre-regalloc frame mapping. Have the local block track its alignment requirement, and then apply that when the block itself is allocated. Pre
Better handle alignment requirements for local objects in pre-regalloc frame mapping. Have the local block track its alignment requirement, and then apply that when the block itself is allocated. Previously, offsets could get adjusted in PEI to be different, relative to one another, than the block allocation thought they would be, which defeats the point of doing the allocation this way. Continuing rdar://8277890
llvm-svn: 111197
show more ...
|
#
a030fa52 |
| 14-Aug-2010 |
Jim Grosbach <grosbach@apple.com> |
Add a local stack object block allocation pass. This is still an experimental pass that allocates locals relative to one another before register allocation and then assigns them to actual stack slots
Add a local stack object block allocation pass. This is still an experimental pass that allocates locals relative to one another before register allocation and then assigns them to actual stack slots as a block later in PEI. This will eventually allow targets with limited index offset range to allocate additional base registers (not just FP and SP) to more efficiently reference locals, as well as handle situations where locals cannot be referenced via SP or FP at all (dynamic stack realignment together with variable sized objects, for example). It's currently incomplete and almost certainly buggy. Work in progress.
Disabled by default and gated via the -enable-local-stack-alloc command line option.
rdar://8277890
llvm-svn: 111059
show more ...
|
#
da27eb24 |
| 06-Aug-2010 |
Jim Grosbach <grosbach@apple.com> |
Cleanup comment wording
llvm-svn: 110466
|
#
0ff1ef65 |
| 27-Jul-2010 |
Bill Wendling <isanbard@gmail.com> |
It's better to have the arrays, which would trigger the creation of stack protectors, to be near the stack protectors on the stack. Accomplish this by tagging the stack object with a predicate that i
It's better to have the arrays, which would trigger the creation of stack protectors, to be near the stack protectors on the stack. Accomplish this by tagging the stack object with a predicate that indicates that it would trigger this. In the prolog-epilog inserter, assign these objects to the stack after the stack protector but before the other objects.
llvm-svn: 109481
show more ...
|