Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Make requiresRegisterScavenging determination on a per MachineFunction basis. | Evan Cheng | 2007-02-28 | 1 | -1/+1 | |
| | | | | llvm-svn: 34711 | |||||
* | MRegisterInfo disowns RegScavenger. It's immutable. | Evan Cheng | 2007-02-28 | 1 | -2/+2 | |
| | | | | llvm-svn: 34706 | |||||
* | Let MRegisterInfo now owns RegScavenger. | Evan Cheng | 2007-02-27 | 1 | -3/+3 | |
| | | | | llvm-svn: 34691 | |||||
* | forward() should not increment internal iterator. Its client may insert ↵ | Evan Cheng | 2007-02-27 | 1 | -1/+1 | |
| | | | | | | instruction between now and next forward() call. llvm-svn: 34649 | |||||
* | First potential client of register scavenger. | Evan Cheng | 2007-02-23 | 1 | -4/+13 | |
| | | | | llvm-svn: 34516 | |||||
* | Change the MachineDebugInfo to MachineModuleInfo to better reflect usage | Jim Laskey | 2007-01-26 | 1 | -3/+3 | |
| | | | | | | for debugging and exception handling. llvm-svn: 33550 | |||||
* | Added a MRegisterInfo hook that tells PEI the target is responsible for | Evan Cheng | 2007-01-25 | 1 | -2/+3 | |
| | | | | | | rounding the stack frame to a multiple of stack alignment. llvm-svn: 33504 | |||||
* | PEI is now responsible for adding MaxCallFrameSize to frame size and align ↵ | Evan Cheng | 2007-01-23 | 1 | -1/+16 | |
| | | | | | | the stack. Each target can further adjust the frame size if necessary. llvm-svn: 33460 | |||||
* | Remove an unused variable. | Evan Cheng | 2007-01-20 | 1 | -1/+0 | |
| | | | | llvm-svn: 33396 | |||||
* | We not align the final stack slot but instead let the target do so in ↵ | Evan Cheng | 2007-01-20 | 1 | -7/+0 | |
| | | | | | | emitPrologue(). Each target can make adjustments to the stack frame and re-align the stack as it deem appropriate. Do not align it twice which can end up wasting stack space. llvm-svn: 33387 | |||||
* | - Fixing naming inconsistency: calleesave -> calleesaved. | Evan Cheng | 2007-01-02 | 1 | -24/+30 | |
| | | | | | | - Make use of spillCalleeSavedRegisters() and restoreCalleeSavedRegisters(). llvm-svn: 32822 | |||||
* | Initialize {Min|Max}CSFrameIndex properly. | Evan Cheng | 2006-12-07 | 1 | -2/+4 | |
| | | | | llvm-svn: 32299 | |||||
* | TargetRegisterClass specifies the desired spill alignment. However, it ↵ | Evan Cheng | 2006-09-28 | 1 | -1/+6 | |
| | | | | | | cannot be honored if stack alignment is smaller. llvm-svn: 30648 | |||||
* | PEI now place callee save spills closest to the address pointed to by the | Evan Cheng | 2006-09-28 | 1 | -11/+67 | |
| | | | | | | | incoming stack. This allows X86 backend to use push / pop in epilogue / prologue. llvm-svn: 30636 | |||||
* | Rename function. It's determining which callee-save registers to save. | Evan Cheng | 2006-09-26 | 1 | -7/+7 | |
| | | | | llvm-svn: 30616 | |||||
* | s|llvm/Support/Visibility.h|llvm/Support/Compiler.h| | Chris Lattner | 2006-08-27 | 1 | -1/+1 | |
| | | | | llvm-svn: 29911 | |||||
* | Tidy up. | Jim Laskey | 2006-08-25 | 1 | -2/+4 | |
| | | | | llvm-svn: 29888 | |||||
* | Consolidate callee saved register information so that it can me used by debug | Jim Laskey | 2006-08-25 | 1 | -20/+21 | |
| | | | | | | information and exception handling. llvm-svn: 29881 | |||||
* | Shave another 27K off libllvmgcc.dylib with visibility hidden | Chris Lattner | 2006-06-28 | 1 | -1/+2 | |
| | | | | llvm-svn: 28973 | |||||
* | Remove dead variable | Chris Lattner | 2006-05-12 | 1 | -1/+0 | |
| | | | | llvm-svn: 28253 | |||||
* | Foundation for call frame information. | Jim Laskey | 2006-04-07 | 1 | -0/+6 | |
| | | | | llvm-svn: 27491 | |||||
* | The stack alignment is now computed dynamically, just verify it is correct. | Chris Lattner | 2006-04-03 | 1 | -1/+2 | |
| | | | | llvm-svn: 27380 | |||||
* | Always compute max align. | Chris Lattner | 2005-11-06 | 1 | -6/+5 | |
| | | | | llvm-svn: 24227 | |||||
* | Add the necessary support to the ISel to allow targets to codegen the new | Nate Begeman | 2005-11-06 | 1 | -3/+11 | |
| | | | | | | | | alignment information appropriately. Includes code for PowerPC to support fixed-size allocas with alignment larger than the stack. Support for arbitrarily aligned dynamic allocas coming soon. llvm-svn: 24224 | |||||
* | now that we have a reg class to spill with, get this info from the regclass | Chris Lattner | 2005-09-30 | 1 | -4/+3 | |
| | | | | llvm-svn: 23559 | |||||
* | Now that we have getCalleeSaveRegClasses() info, use it to pass the register | Chris Lattner | 2005-09-30 | 1 | -8/+11 | |
| | | | | | | class into the spill/reload methods. Targets can now rely on that argument. llvm-svn: 23556 | |||||
* | Change this code ot pass register classes into the stack slot spiller/reloader | Chris Lattner | 2005-09-30 | 1 | -2/+4 | |
| | | | | | | | code. PrologEpilogInserter hasn't been updated yet though, so targets cannot use this info. llvm-svn: 23536 | |||||
* | Fix a bug in my previous patch that was using the wrong iterator. This fixes | Chris Lattner | 2005-08-29 | 1 | -1/+1 | |
| | | | | | | Olden/bisort among others. llvm-svn: 23124 | |||||
* | Make this code safe for when loadRegFromStackSlot inserts multiple instructions. | Chris Lattner | 2005-08-26 | 1 | -1/+13 | |
| | | | | llvm-svn: 23108 | |||||
* | When inserting callee-save register reloads, make sure to skip over any | Chris Lattner | 2005-05-15 | 1 | -0/+8 | |
| | | | | | | | terminator instructions before the 'ret' in case the target has a multi-instruction return sequence. llvm-svn: 22041 | |||||
* | Tolerate instrs with extra args | Chris Lattner | 2005-05-13 | 1 | -1/+1 | |
| | | | | llvm-svn: 21982 | |||||
* | Remove trailing whitespace | Misha Brukman | 2005-04-21 | 1 | -12/+12 | |
| | | | | llvm-svn: 21420 | |||||
* | Simplify/speedup the PEI by not having to scan for uses of the callee saved | Chris Lattner | 2005-01-23 | 1 | -19/+5 | |
| | | | | | | | registers. This information is computed directly by the register allocator now. llvm-svn: 19795 | |||||
* | Speed this up a bit by making ModifiedRegs a vector<char> not vector<bool> | Chris Lattner | 2005-01-23 | 1 | -6/+5 | |
| | | | | llvm-svn: 19787 | |||||
* | Implicitly defined registers can clobber callee saved registers too! | Chris Lattner | 2005-01-22 | 1 | -0/+6 | |
| | | | | | | This fixes the return-address-not-being-saved problem in the Alpha backend. llvm-svn: 19741 | |||||
* | Add an assertion that would have made more sense to duraid | Chris Lattner | 2005-01-19 | 1 | -1/+3 | |
| | | | | llvm-svn: 19704 | |||||
* | Put this change back in after testing from Reid proved its innocence. ↵ | Nate Begeman | 2004-08-29 | 1 | -2/+2 | |
| | | | | | | getSpillSize now returns value in bits llvm-svn: 16102 | |||||
* | Back out change to divide getSpillSize by 8 until I figure out why it breaks ↵ | Nate Begeman | 2004-08-27 | 1 | -2/+2 | |
| | | | | | | x86, which has register sizes in bits. llvm-svn: 16073 | |||||
* | Register sizes are in bits, not bytes | Nate Begeman | 2004-08-27 | 1 | -2/+2 | |
| | | | | llvm-svn: 16070 | |||||
* | Register info alignment is in bits, frame object alignment is (currently) in | Chris Lattner | 2004-08-21 | 1 | -1/+1 | |
| | | | | | | bytes. llvm-svn: 15970 | |||||
* | Now that we have per-register spill size/alignment info, remove more uses | Chris Lattner | 2004-08-21 | 1 | -4/+5 | |
| | | | | | | of getRegClass llvm-svn: 15967 | |||||
* | Stop using CreateStackObject(RegClass*) | Chris Lattner | 2004-08-15 | 1 | -1/+1 | |
| | | | | llvm-svn: 15775 | |||||
* | These methods no longer take a TargetRegisterClass* operand. | Chris Lattner | 2004-08-15 | 1 | -6/+3 | |
| | | | | llvm-svn: 15774 | |||||
* | Make this compile on gc 3.4.1 (static_cast to non-const type was not | Alkis Evlogimenos | 2004-08-15 | 1 | -2/+2 | |
| | | | | | | allowed). llvm-svn: 15766 | |||||
* | Elminiate MachineFunction& argument from eliminateFrameIndex | Nate Begeman | 2004-08-14 | 1 | -1/+1 | |
| | | | | llvm-svn: 15736 | |||||
* | Split saveCallerSavedRegisters into two methods for clarity, and add comments. | Chris Lattner | 2004-08-12 | 1 | -9/+52 | |
| | | | | | | | | Add support for targets that must spill certain physregs at certain locations. Patch contributed by Nate Begeman, slightly hacked by me. llvm-svn: 15701 | |||||
* | Ok get rid of the REST of the tabs | Chris Lattner | 2004-08-07 | 1 | -11/+11 | |
| | | | | llvm-svn: 15564 | |||||
* | Death to tabs | Chris Lattner | 2004-08-07 | 1 | -14/+14 | |
| | | | | llvm-svn: 15563 | |||||
* | Fix fallout from getOffsetOfLocalArea() being negated. Debugging dumps were ↵ | Chris Lattner | 2004-06-11 | 1 | -2/+2 | |
| | | | | | | | | | being printed incorrectly, and we were reserving 8 extra bytes of stack space for functions on X86. llvm-svn: 14152 | |||||
* | Fix the prolog epilog code inserter to match the documentation and support | Chris Lattner | 2004-06-10 | 1 | -9/+33 | |
| | | | | | | | | targets whose stack grows up. Patch contributed by Vladimir Prus llvm-svn: 14111 |