summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/MSP430/MSP430RegisterInfo.h
Commit message (Collapse)AuthorAgeFilesLines
* Emit a getMatchingSuperRegClass() implementation for every target.Jakob Stoklund Olesen2011-12-191-7/+0
| | | | | | | | | Use information computed while inferring new register classes to emit accurate, table-driven implementations of getMatchingSuperRegClass(). Delete the old manual, error-prone implementations in the targets. llvm-svn: 146873
* Sink getDwarfRegNum, getLLVMRegNum, getSEHRegNum from TargetRegisterInfo downEvan Cheng2011-07-181-5/+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.incEvan Cheng2011-06-271-1/+3
| | | | | | into XXXGenRegisterInfo.inc. llvm-svn: 133922
* Use the dwarf->llvm mapping to print register names in the cfiRafael Espindola2011-05-301-0/+1
| | | | | | | | directives. Fixes PR9826. llvm-svn: 132317
* Implement MSP430RegisterInfo::getMatchingSuperRegClass to enable cross-classJakob Stoklund Olesen2011-05-041-0/+7
| | | | | | coalescing. llvm-svn: 130814
* Move hasFP() and few related hooks to TargetFrameInfo.Anton Korobeynikov2010-11-181-3/+0
| | | | llvm-svn: 119740
* First step of huge frame-related refactoring: move emit{Prologue,Epilogue} ↵Anton Korobeynikov2010-11-151-3/+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 needJim Grosbach2010-08-261-3/+2
| | | | | | to try to re-use scavenged frame index reference registers. rdar://8277890 llvm-svn: 112241
* Constify some arguments.Eric Christopher2010-07-201-1/+1
| | | | llvm-svn: 108812
* cleanupRafael Espindola2010-06-021-3/+0
| | | | llvm-svn: 105322
* Change the Value argument to eliminateFrameIndex to a type-tagged value. ThisJim Grosbach2010-03-091-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 Greene2009-11-121-1/+1
| | | | | | This also fixes a build error. llvm-svn: 87027
* Add register-reuse to frame-index register scavenging. When a target usesJim Grosbach2009-10-071-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
* Give getPointerRegClass() a "kind" value so that targets can Chris Lattner2009-07-291-1/+1
| | | | | | support multiple different pointer register classes. llvm-svn: 77501
* Add prologue/epilogue emission. Fix frame pointer handling.Anton Korobeynikov2009-05-031-0/+2
| | | | llvm-svn: 70740
* First draft of stack slot loads / stores loweringAnton Korobeynikov2009-05-031-0/+1
| | | | llvm-svn: 70735
* Add call frame setup instruction elimination and lowerid for bunch of ↵Anton Korobeynikov2009-05-031-1/+12
| | | | | | call-related stuff. llvm-svn: 70728
* Dummy MSP430 backendAnton Korobeynikov2009-05-031-0/+56
llvm-svn: 70694
OpenPOWER on IntegriCloud