#
a57b97e7 |
| 21-Jul-2010 |
Owen Anderson <resistor@mac.com> |
Fix batch of converting RegisterPass<> to INTIALIZE_PASS().
llvm-svn: 109045
|
#
c280fc75 |
| 08-Jul-2010 |
Jim Grosbach <grosbach@apple.com> |
Clean up scavengeRegister() a bit to prefer available regs, which allows the simplification of frame index register scavenging to not have to check for available registers directly and instead just l
Clean up scavengeRegister() a bit to prefer available regs, which allows the simplification of frame index register scavenging to not have to check for available registers directly and instead just let scavengeRegister() handle it.
llvm-svn: 107880
show more ...
|
#
6533f243 |
| 08-Jul-2010 |
Jim Grosbach <grosbach@apple.com> |
When processing frame index virtual registers, consider all available registers (if there are any) and use the one which remains available for the longest rather than just using the first one. This s
When processing frame index virtual registers, consider all available registers (if there are any) and use the one which remains available for the longest rather than just using the first one. This should help enable better re-use of the loaded frame index values. rdar://7318760
llvm-svn: 107847
show more ...
|
#
0664a67f |
| 03-Jul-2010 |
Evan Cheng <evan.cheng@apple.com> |
Remove isSS argument from CreateFixedObject. Fixed objects cannot be spill slots so it's always false.
llvm-svn: 107550
|
#
3c432485 |
| 02-Jul-2010 |
Jim Grosbach <grosbach@apple.com> |
Custom inserters (e.g., conditional moves in Thumb1 can introduce new basic blocks, and if used as a function argument, that can cause call frame setup / destroy pairs to be split across a basic bloc
Custom inserters (e.g., conditional moves in Thumb1 can introduce new basic blocks, and if used as a function argument, that can cause call frame setup / destroy pairs to be split across a basic block boundary. That prevents us from doing a simple assertion to check that the pairs match and alloc/ dealloc the same amount of space. Modify the assertion to only check the amount allocated when there are matching pairs in the same basic block.
rdar://8022442
llvm-svn: 107517
show more ...
|
#
4d887f7c |
| 02-Jul-2010 |
Dale Johannesen <dalej@apple.com> |
Propagate the AlignStack bit in InlineAsm's to the PrologEpilog code, and use it to determine whether the asm forces stack alignment or not. gcc consistently does not do this for GCC-style asms; Ap
Propagate the AlignStack bit in InlineAsm's to the PrologEpilog code, and use it to determine whether the asm forces stack alignment or not. gcc consistently does not do this for GCC-style asms; Apple gcc inconsistently sometimes does it for asm blocks. There is no convenient place to put a bit in either the SDNode or the MachineInstr form, so I've added an extra operand to each; unlovely, but it does allow for expansion for more bits, should we need it. PR 5125. Some existing testcases are affected. The operand lists of the SDNode and MachineInstr forms are indexed with awesome mnemonics, like "2"; I may fix this someday, but not now. I'm not making it any worse. If anyone is inspired I think you can find all the right places from this patch.
llvm-svn: 107506
show more ...
|
#
f2dffcef |
| 02-Jun-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove the TargetRegisterClass member from CalleeSavedInfo
llvm-svn: 105344
|
#
c08ecba5 |
| 02-Jun-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove uses of getCalleeSavedRegClasses from outside the backends and removes the virtual declaration. With that out of the way I should be able to cleanup one backend at a time.
llvm-svn: 105321
|
#
168ced94 |
| 22-May-2010 |
Evan Cheng <evan.cheng@apple.com> |
Implement @llvm.returnaddress. rdar://8015977.
llvm-svn: 104421
|
#
95f6ebcb |
| 14-May-2010 |
Bill Wendling <isanbard@gmail.com> |
Rename "HasCalls" in MachineFrameInfo to "AdjustsStack" to better describe what the variable actually tracks.
N.B., several back-ends are using "HasCalls" as being synonymous for something that adju
Rename "HasCalls" in MachineFrameInfo to "AdjustsStack" to better describe what the variable actually tracks.
N.B., several back-ends are using "HasCalls" as being synonymous for something that adjusts the stack. This isn't 100% correct and should be looked into.
llvm-svn: 103802
show more ...
|
#
efb126a6 |
| 06-May-2010 |
Evan Cheng <evan.cheng@apple.com> |
Add argument TargetRegisterInfo to loadRegFromStackSlot and storeRegToStackSlot.
llvm-svn: 103193
|
#
1e679cbf |
| 03-May-2010 |
Eric Christopher <echristo@apple.com> |
Reword a comment slightly.
llvm-svn: 102966
|
#
6feac8a3 |
| 29-Apr-2010 |
Dale Johannesen <dalej@apple.com> |
Make naked functions work on PPC.
llvm-svn: 102657
|
Revision tags: llvmorg-2.7.0 |
|
#
dcacef31 |
| 13-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Rename MachineFrameInfo variables to MFI, for consistency with the rest of CodeGen.
llvm-svn: 101146
|
#
82ff9af0 |
| 05-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
remove the MMI pointer from MachineFrameInfo.
llvm-svn: 100415
|
#
e6201784 |
| 10-Mar-2010 |
Jim Grosbach <grosbach@apple.com> |
Clear up the last (famous last words) frame index value reuse issues for Thumb1.
llvm-svn: 98109
|
#
fae913ad |
| 09-Mar-2010 |
Jim Grosbach <grosbach@apple.com> |
Change the Value argument to eliminateFrameIndex to a type-tagged value. This is preparatory to having PEI's scavenged frame index value reuse logic properly distinguish types of frame values (e.g.,
Change the Value argument to eliminateFrameIndex to a type-tagged value. This is preparatory to having PEI's scavenged frame index value reuse logic properly distinguish types of frame values (e.g., whether the value is stack-pointer relative or frame-pointer relative).
No functionality change.
llvm-svn: 98086
show more ...
|
#
45fceea0 |
| 22-Feb-2010 |
Jim Grosbach <grosbach@apple.com> |
Updated version of r96634 (which was reverted due to failing 176.gcc and 126.gcc nightly tests. These failures uncovered latent bugs that machine DCE could remove one half of a stack adjust down/up p
Updated version of r96634 (which was reverted due to failing 176.gcc and 126.gcc nightly tests. These failures uncovered latent bugs that machine DCE could remove one half of a stack adjust down/up pair, causing PEI to assert. This update fixes that, and the tests now pass.
llvm-svn: 96822
show more ...
|
#
fbc9d8d4 |
| 19-Feb-2010 |
Bob Wilson <bob.wilson@apple.com> |
Revert 96634. It causes assertion failures for 126.gcc and 176.gcc in the armv6 nightly tests.
llvm-svn: 96691
|
#
aa34003f |
| 19-Feb-2010 |
Jim Grosbach <grosbach@apple.com> |
Radar 7636153. In the presence of large call frames, it's not sufficient for ARM to just check if a function has a FP to determine if it's safe to simplify the stack adjustment pseudo ops prior to el
Radar 7636153. In the presence of large call frames, it's not sufficient for ARM to just check if a function has a FP to determine if it's safe to simplify the stack adjustment pseudo ops prior to eliminating frame indices. Allow targets to override the default behavior and does so for ARM and Thumb2.
llvm-svn: 96634
show more ...
|
#
3b065cdb |
| 13-Feb-2010 |
Evan Cheng <evan.cheng@apple.com> |
Teach MachineFrameInfo to track maximum alignment while stack objects are being created. This ensures it's updated at all time. It means targets which perform dynamic stack alignment would know wheth
Teach MachineFrameInfo to track maximum alignment while stack objects are being created. This ensures it's updated at all time. It means targets which perform dynamic stack alignment would know whether it is required and whether frame pointer register cannot be made available register allocation. This is a fix for rdar://7625239. Sorry, I can't create a reasonably sized test case.
llvm-svn: 96069
show more ...
|
#
b06015aa |
| 09-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
move target-independent opcodes out of TargetInstrInfo into TargetOpcodes.h. #include the new TargetOpcodes.h into MachineInstr. Add new inline accessors (like isPHI()) to MachineInstr, and start u
move target-independent opcodes out of TargetInstrInfo into TargetOpcodes.h. #include the new TargetOpcodes.h into MachineInstr. Add new inline accessors (like isPHI()) to MachineInstr, and start using them throughout the codebase.
llvm-svn: 95687
show more ...
|
#
798e1e6f |
| 28-Dec-2009 |
Bill Wendling <isanbard@gmail.com> |
Remove dead store.
llvm-svn: 92187
|
#
fc51282c |
| 11-Dec-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Honour setHasCalls() set from isel. This is used in some weird cases like general dynamic TLS model. This fixes PR5723
llvm-svn: 91144
|
#
a48f44d9 |
| 03-Dec-2009 |
Chris Lattner <sabre@nondot.org> |
improve portability to avoid conflicting with std::next in c++'0x. Patch by Howard Hinnant!
llvm-svn: 90365
|