Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Remove the Alpha backend. | Dan Gohman | 2011-10-27 | 1 | -56/+0 |
| | | | | llvm-svn: 143164 | ||||
* | Sink getDwarfRegNum, getLLVMRegNum, getSEHRegNum from TargetRegisterInfo down | Evan Cheng | 2011-07-18 | 1 | -4/+0 |
| | | | | | | | | | to MCRegisterInfo. Also initialize the mapping at construction time. This patch eliminate TargetRegisterInfo from TargetAsmInfo. It's another step towards fixing the layering violation. llvm-svn: 135424 | ||||
* | Merge XXXGenRegisterDesc.inc XXXGenRegisterNames.inc XXXGenRegisterInfo.h.inc | Evan Cheng | 2011-06-27 | 1 | -1/+3 |
| | | | | | | into XXXGenRegisterInfo.inc. llvm-svn: 133922 | ||||
* | Use the dwarf->llvm mapping to print register names in the cfi | Rafael Espindola | 2011-05-30 | 1 | -0/+1 |
| | | | | | | | | directives. Fixes PR9826. llvm-svn: 132317 | ||||
* | Move hasFP() and few related hooks to TargetFrameInfo. | Anton Korobeynikov | 2010-11-18 | 1 | -2/+0 |
| | | | | llvm-svn: 119740 | ||||
* | First step of huge frame-related refactoring: move emit{Prologue,Epilogue} ↵ | Anton Korobeynikov | 2010-11-15 | 1 | -8/+0 |
| | | | | | | out of TargetRegisterInfo to TargetFrameInfo, which is definitely much better suitable place llvm-svn: 119097 | ||||
* | Simplify eliminateFrameIndex() interface back down now that PEI doesn't need | Jim Grosbach | 2010-08-26 | 1 | -3/+2 |
| | | | | | | to try to re-use scavenged frame index reference registers. rdar://8277890 llvm-svn: 112241 | ||||
* | cleanup | Rafael Espindola | 2010-06-02 | 1 | -3/+0 |
| | | | | llvm-svn: 105322 | ||||
* | Change the Value argument to eliminateFrameIndex to a type-tagged value. This | Jim Grosbach | 2010-03-09 | 1 | -1/+1 |
| | | | | | | | | | | 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 | ||||
* | Make the MachineFunction argument of getFrameRegister const. | David Greene | 2009-11-12 | 1 | -1/+1 |
| | | | | | | This also fixes a build error. llvm-svn: 87027 | ||||
* | Add register-reuse to frame-index register scavenging. When a target uses | Jim Grosbach | 2009-10-07 | 1 | -2/+3 |
| | | | | | | | | | | | | | | | | | | | | a virtual register to eliminate a frame index, it can return that register and the constant stored there to PEI to track. When scavenging to allocate for those registers, PEI then tracks the last-used register and value, and if it is still available and matches the value for the next index, reuses the existing value rather and removes the re-materialization instructions. Fancier tracking and adjustment of scavenger allocations to keep more values live for longer is possible, but not yet implemented and would likely be better done via a different, less special-purpose, approach to the problem. eliminateFrameIndex() is modified so the target implementations can return the registers they wish to be tracked for reuse. ARM Thumb1 implements and utilizes the new mechanism. All other targets are simply modified to adjust for the changed eliminateFrameIndex() prototype. llvm-svn: 83467 | ||||
* | Committed the wrong version in my last commit. | Owen Anderson | 2009-06-26 | 1 | -1/+1 |
| | | | | llvm-svn: 74235 | ||||
* | Privatize a static variable. | Owen Anderson | 2009-06-26 | 1 | -0/+3 |
| | | | | llvm-svn: 74234 | ||||
* | Move reMaterialize() from TargetRegisterInfo to TargetInstrInfo. | Evan Cheng | 2008-03-31 | 1 | -3/+0 |
| | | | | llvm-svn: 48995 | ||||
* | Rename MRegisterInfo to TargetRegisterInfo. | Dan Gohman | 2008-02-10 | 1 | -2/+2 |
| | | | | llvm-svn: 46930 | ||||
* | Move even more functionality from MRegisterInfo into TargetInstrInfo. | Owen Anderson | 2008-01-07 | 1 | -10/+0 |
| | | | | | | Some day I'll get it all moved over... llvm-svn: 45672 | ||||
* | Move some more instruction creation methods from RegisterInfo into InstrInfo. | Owen Anderson | 2008-01-01 | 1 | -25/+0 |
| | | | | llvm-svn: 45484 | ||||
* | Remove attribution from file headers, per discussion on llvmdev. | Chris Lattner | 2007-12-29 | 1 | -2/+2 |
| | | | | llvm-svn: 45418 | ||||
* | Add a argument to storeRegToStackSlot and storeRegToAddr to specify whether | Evan Cheng | 2007-12-05 | 1 | -2/+2 |
| | | | | | | the stored register is killed. llvm-svn: 44600 | ||||
* | Remove redundant foldMemoryOperand variants and other code clean up. | Evan Cheng | 2007-12-02 | 1 | -13/+3 |
| | | | | llvm-svn: 44517 | ||||
* | Allow some reloads to be folded in multi-use cases. Specifically testl r, r ↵ | Evan Cheng | 2007-12-01 | 1 | -0/+12 |
| | | | | | | -> cmpl [mem], 0. llvm-svn: 44479 | ||||
* | Add parameter to getDwarfRegNum to permit targets | Dale Johannesen | 2007-11-13 | 1 | -1/+1 |
| | | | | | | | | to use different mappings for EH and debug info; no functional change yet. Fix warning in X86CodeEmitter. llvm-svn: 44056 | ||||
* | Use TableGen to emit information for dwarf register numbers. | Anton Korobeynikov | 2007-11-11 | 1 | -0/+2 |
| | | | | | | | | This makes DwarfRegNum to accept list of numbers instead. Added three different "flavours", but only slightly tested on x86-32/linux. Please check another subtargets if possible, llvm-svn: 43997 | ||||
* | - Added getOpcodeAfterMemoryUnfold(). It doesn't unfold an instruction, but ↵ | Evan Cheng | 2007-10-18 | 1 | -2/+2 |
| | | | | | | | | only returns the opcode of the instruction post unfolding. - Fix some copy+paste bugs. llvm-svn: 43153 | ||||
* | Use SmallVectorImpl instead of SmallVector with hardcoded size in MRegister ↵ | Evan Cheng | 2007-10-18 | 1 | -4/+4 |
| | | | | | | public interface. llvm-svn: 43150 | ||||
* | - Added a few target hooks to generate load / store instructions from / to any | Evan Cheng | 2007-10-05 | 1 | -0/+10 |
| | | | | | | | | address (not just from / to frameindexes). - Added target hooks to unfold load / store instructions / SDNodes into separate load, data processing, store instructions / SDNodes. llvm-svn: 42621 | ||||
* | Allow copyRegToReg to emit cross register classes copies. | Evan Cheng | 2007-09-26 | 1 | -1/+2 |
| | | | | | | Tested with "make check"! llvm-svn: 42346 | ||||
* | Add a variant of foldMemoryOperand to fold any load / store, not just load / ↵ | Evan Cheng | 2007-08-30 | 1 | -0/+5 |
| | | | | | | store from / to stack slots. llvm-svn: 41597 | ||||
* | Long live the exception handling! | Anton Korobeynikov | 2007-07-14 | 1 | -2/+3 |
| | | | | | | | | | | | | | | | This patch fills the last necessary bits to enable exceptions handling in LLVM. Currently only on x86-32/linux. In fact, this patch adds necessary intrinsics (and their lowering) which represent really weird target-specific gcc builtins used inside unwinder. After corresponding llvm-gcc patch will land (easy) exceptions should be more or less workable. However, exceptions handling support should not be thought as 'finished': I expect many small and not so small glitches everywhere. llvm-svn: 39855 | ||||
* | eliminateFrameIndex() change. | Evan Cheng | 2007-05-01 | 1 | -1/+1 |
| | | | | llvm-svn: 36626 | ||||
* | Added MRegisterInfo hook to re-materialize an instruction. | Evan Cheng | 2007-03-20 | 1 | -0/+3 |
| | | | | llvm-svn: 35205 | ||||
* | PEI now passes a RegScavenger ptr to eliminateFrameIndex. | Evan Cheng | 2007-02-28 | 1 | -1/+2 |
| | | | | llvm-svn: 34707 | ||||
* | Support to provide exception and selector registers. | Jim Laskey | 2007-02-21 | 1 | -0/+4 |
| | | | | llvm-svn: 34482 | ||||
* | Re-apply my liveintervalanalysis changes. Now with PR1207 fixes. | Evan Cheng | 2007-02-19 | 1 | -0/+2 |
| | | | | llvm-svn: 34428 | ||||
* | For PR1207: | Reid Spencer | 2007-02-19 | 1 | -2/+0 |
| | | | | | | | Revert patches that caused the problem. Evan, please investigate and reapply when you've discovered the problem. llvm-svn: 34399 | ||||
* | Added getReservedRegs(). | Evan Cheng | 2007-02-17 | 1 | -0/+2 |
| | | | | llvm-svn: 34376 | ||||
* | hasFP() is now a virtual method of MRegisterInfo. | Evan Cheng | 2007-01-23 | 1 | -0/+2 |
| | | | | llvm-svn: 33455 | ||||
* | Fix naming inconsistency. | Evan Cheng | 2007-01-02 | 1 | -2/+2 |
| | | | | llvm-svn: 32823 | ||||
* | Change MachineInstr ctor's to take a TargetInstrDescriptor reference instead | Evan Cheng | 2006-11-27 | 1 | -0/+1 |
| | | | | | | of opcode and number of operands. llvm-svn: 31947 | ||||
* | Matches MachineInstr changes. | Evan Cheng | 2006-11-13 | 1 | -1/+3 |
| | | | | llvm-svn: 31712 | ||||
* | getCalleeSaveRegs and getCalleeSaveRegClasses are no long TableGen'd. | Evan Cheng | 2006-05-18 | 1 | -0/+4 |
| | | | | llvm-svn: 28378 | ||||
* | Foundation for call frame information. | Jim Laskey | 2006-04-07 | 1 | -1/+2 |
| | | | | llvm-svn: 27491 | ||||
* | Expose base register for DwarfWriter. Refactor code accordingly. | Jim Laskey | 2006-03-28 | 1 | -2/+2 |
| | | | | llvm-svn: 27225 | ||||
* | Add support to locate local variables in frames (early version.) | Jim Laskey | 2006-03-23 | 1 | -0/+3 |
| | | | | llvm-svn: 26994 | ||||
* | Move isLoadFrom/StoreToStackSlot from MRegisterInfo to TargetInstrInfo,a far ↵ | Chris Lattner | 2006-02-02 | 1 | -2/+0 |
| | | | | | | more logical place. Other methods should also be moved if anyoneis interested. :) llvm-svn: 25913 | ||||
* | whatever. Intermediate patch to see what breaks. Seems ok. | Andrew Lenharth | 2005-11-09 | 1 | -0/+3 |
| | | | | llvm-svn: 24260 | ||||
* | This seems useful from the original patch that added the function. If there ↵ | Andrew Lenharth | 2005-10-09 | 1 | -0/+2 |
| | | | | | | is a reason it is not useful on a RISC type target, let me know and I will pull it out llvm-svn: 23676 | ||||
* | Pass extra regclasses into spilling code | Chris Lattner | 2005-09-30 | 1 | -2/+4 |
| | | | | llvm-svn: 23537 | ||||
* | This code has always been dead for alpha | Chris Lattner | 2005-08-19 | 1 | -1/+0 |
| | | | | llvm-svn: 22915 | ||||
* | Remove trailing whitespace | Misha Brukman | 2005-04-21 | 1 | -3/+3 |
| | | | | llvm-svn: 21424 |