summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/SparcV9
Commit message (Collapse)AuthorAgeFilesLines
...
* Make debugging output with -print-machineinstrs more useful: always print outBrian Gaeke2004-05-281-0/+5
| | | | | | the transformed LLVM code which is the input to the instruction selector. llvm-svn: 13879
* Make comment lines stick out less.Brian Gaeke2004-05-271-2/+2
| | | | llvm-svn: 13858
* Add a (not very meaningful) default constructor for AllocInfo objects.Brian Gaeke2004-05-251-4/+8
| | | | llvm-svn: 13773
* Remove use of Type::TypeTy from an assert. It will go away soon.Reid Spencer2004-05-251-1/+0
| | | | llvm-svn: 13748
* Add support for accurate garbage collection to the LLVM code generatorsChris Lattner2004-05-231-0/+6
| | | | llvm-svn: 13696
* Fix a typo in a comment.Brian Gaeke2004-05-231-1/+1
| | | | llvm-svn: 13643
* Fix a bug in outputting branches to constant PCs. Since the PC is supplied asBrian Gaeke2004-05-201-2/+3
| | | | | | | a full 64-bit address, it must be adjusted to fit in the branch instruction's immediate field. (This is only used in the reoptimizer, for now.) llvm-svn: 13608
* Minor simplification: eliminate a dyn_cast.Brian Gaeke2004-05-191-9/+4
| | | | | | Fix a typo in a debug message. llvm-svn: 13607
* Missing piece of fix for Bug 333Brian Gaeke2004-05-041-1/+1
| | | | llvm-svn: 13362
* Correctly mangle function names when they are used as part of aBrian Gaeke2004-05-041-3/+3
| | | | | | | | | constant pool member's name. This is intended to address Bug 333. Also, fix an anachronistic usage of "M" as a parameter of type Function *. llvm-svn: 13357
* Integrate the rest of my random sparcv9 scribblings into this fileBrian Gaeke2004-04-271-2/+3
| | | | llvm-svn: 13204
* Changes to fix up the inst_iterator to pass to boost iterator checks. ThisChris Lattner2004-04-271-4/+4
| | | | | | patch was graciously contributed by Vladimir Prus. llvm-svn: 13185
* Fix file header comments and include guards -- many files have been moved orBrian Gaeke2004-04-2530-54/+67
| | | | | | | renamed since they were last spiffed up, or they just never had proper comments in the first place. llvm-svn: 13148
* Add a getRegisterInfo() accessor just like on the X86 target.Brian Gaeke2004-04-251-0/+3
| | | | llvm-svn: 13147
* Regularize file header comment and include guard.Brian Gaeke2004-04-251-3/+12
| | | | | | | | Include SparcV9RegisterInfo.h. Add a getRegisterInfo() accessor and SparcV9RegisterInfo instance, just like on the X86 target. llvm-svn: 13146
* Add MRegisterInfo subclass for the SparcV9 target (containing only stubBrian Gaeke2004-04-252-0/+420
| | | | | | | | | | | | functions for now). This automatically turns on the printing of machine registers using their own real names, instead of goofy things like %mreg(42), and allows us to migrate code incrementally to the new interface as we see fit. The register file description it uses is hand-written, so that the register numbers will match the ones that the SparcV9 target already uses. Perhaps someday we'll tablegen it. llvm-svn: 13145
* Fix a typo.Brian Gaeke2004-04-231-2/+1
| | | | llvm-svn: 13136
* Merge TargetRegInfo.h into SparcV9RegInfo.h, which is its only subclass.Brian Gaeke2004-04-231-5/+280
| | | | | | | | This prepares us to be able to de-virtualize and de-abstract it, and take the register allocator bits out and move them into the register allocator proper... llvm-svn: 13127
* Include SparcV9RegInfo.h instead of TargetRegInfo.h.Brian Gaeke2004-04-2310-10/+10
| | | | llvm-svn: 13126
* Get rid of the old byte-at-a-time emission code used when the Sparc JIT wasBrian Gaeke2004-04-231-9/+0
| | | | | | being tested on X86, as per Chris's request. llvm-svn: 13124
* Emit SPARC machine code a word at a time instead of a byte at a time.Brian Gaeke2004-04-231-1/+5
| | | | | | Use emitWordAt() to emit forward-branch fixups. llvm-svn: 13119
* Make SparcV9RegInfo::getRegType() return the right answer for registersBrian Gaeke2004-04-211-5/+6
| | | | | | | | | of IntCC, FloatCC, and Special types. Make SparcV9RegInfo::getRegClassIDOfRegType() return the right answer if you ask for the class corresponding to SpecialRegType. llvm-svn: 13095
* Make it legal to ask for the type of a specialregBrian Gaeke2004-04-201-0/+2
| | | | llvm-svn: 13078
* Make it legal to request a load or store of %fsr.Brian Gaeke2004-04-191-0/+2
| | | | llvm-svn: 13073
* Regularize include guards and remove some excess whitespace.Brian Gaeke2004-04-191-4/+2
| | | | llvm-svn: 13071
* Tighten up SparcV9FloatCCRegClass::getRegName()'s assertion - if you ask it forBrian Gaeke2004-04-191-2/+1
| | | | | | | the name of %fsr (as the comment in SparcV9RegClassInfo.h used to suggest) you would walk off the end of the FloatCCRegName array. llvm-svn: 13070
* Regularize include guards, remove some excess whitespace and fix some comments.Brian Gaeke2004-04-191-14/+11
| | | | | | Remove the extra %fsr register from SparcV9FloatCCRegClass. llvm-svn: 13069
* Give SparcV9CodeEmitter a head-of-file comment and a PassName.Brian Gaeke2004-04-151-1/+6
| | | | llvm-svn: 12967
* We don't need to insert TargetData into the PassManager here.Brian Gaeke2004-04-121-5/+0
| | | | llvm-svn: 12874
* Don't include InstrSelectionSupport.h.Brian Gaeke2004-04-072-2/+0
| | | | llvm-svn: 12766
* Move ChooseRegOrImmed() prototype here, from InstrSelectionSupport.h.Brian Gaeke2004-04-071-0/+5
| | | | llvm-svn: 12765
* Don't include InstrSelectionSupport.h.Brian Gaeke2004-04-072-2/+0
| | | | llvm-svn: 12764
* Fix insertion of SelectInsts.Brian Gaeke2004-04-071-1/+1
| | | | llvm-svn: 12760
* In the perhaps not-to-distant future, we might support gep instructions thatChris Lattner2004-04-041-5/+20
| | | | | | | have non-long indices for sequential types. In order to avoid trying to figure out how the v9 backend works, we'll just hack it in the preselection pass. llvm-svn: 12647
* Only strip symbols if emitting bytecode to the assembly file.Brian Gaeke2004-04-021-29/+33
| | | | | | | | | | | | | | Move lowerselect pass to come after preselection. Move machine code construction and stack slots pass to come right before instruction selection. This is to help fix perlbmk. Update comments. Make the sequence of passes in addPassesToJITCompile look more like the sequence of passes in addPassesToEmitAssembly, including support for -print-machineinstrs. llvm-svn: 12614
* Add support for constant select expressions. Clarify the assertion failure msg.Brian Gaeke2004-04-021-3/+17
| | | | llvm-svn: 12613
* MBB::remove should not modify the iterator passed inChris Lattner2004-03-311-1/+1
| | | | llvm-svn: 12572
* Factor out getStaticStackSize from InsertPrologCode(), so that I can moreBrian Gaeke2004-03-311-9/+15
| | | | | | easily steal it for a separate use in the reoptimizer. llvm-svn: 12568
* Add the select lowering pass to get initial support for select instructionsChris Lattner2004-03-301-0/+4
| | | | llvm-svn: 12541
* Don't warn about a null live range if the Value is a ConstantIntegral.Brian Gaeke2004-03-291-1/+1
| | | | | | | Otherwise, if you're in debugging mode, you get warnings for (apparently) every immediate constant in the function during reg. allocation. llvm-svn: 12538
* Fix PR299: [Sparc] Code generator asserts on alloc of zero size typeChris Lattner2004-03-191-1/+7
| | | | llvm-svn: 12504
* Rename the intrinsic enum values for llvm.va_* from Intrinsic::va_* toChris Lattner2004-03-132-9/+6
| | | | | | Intrinsic::va*. This avoid conflicting with macros in the stdlib.h file. llvm-svn: 12356
* Make -print-machineinstrs show us the code both before and after reg. alloc.Brian Gaeke2004-03-121-1/+4
| | | | llvm-svn: 12344
* Get rid of the abort in PhyRegAlloc::finishSavingState().Brian Gaeke2004-03-111-5/+6
| | | | | | | | Make an explicit call to it from runOnFunction() if we know we're supposed to write into the global. This is lame (esp. the const_cast), but it solves the problem. llvm-svn: 12291
* Give pass a nameBrian Gaeke2004-03-111-0/+1
| | | | llvm-svn: 12290
* In PhyRegAlloc::saveState(), dump Arguments' saved-state, and try toBrian Gaeke2004-03-112-10/+31
| | | | | | | | | | | | | make the output more compact. Divorce state-saving from the doFinalization method; for some reason it's not getting called when I want it to, at Reoptimizer time. Put the guts in PhyRegAlloc::finishSavingState(). Put an abort() in it so that I can be really really sure that it's getting called. Update comments. llvm-svn: 12286
* Move all the SaveState options and stuff inton one spot at the top of the file.Brian Gaeke2004-03-101-8/+10
| | | | | | | | De-constify SaveStateToModule; we have to set both it and SaveRegAllocState explicitly in the reoptimizer. Make SaveRegAllocState an 'external location' option. llvm-svn: 12278
* Only call verifySavedState if SaveRegAllocState is set AND debugging flag is on.Brian Gaeke2004-03-101-3/+4
| | | | llvm-svn: 12277
* Change PhyRegAlloc::saveStateForValue()'s arg type to deal withBrian Gaeke2004-03-081-1/+1
| | | | | | AllocInfo.Instruction becoming an int. llvm-svn: 12247
* Save argument list alloc state by recording it as the operands of InstructionBrian Gaeke2004-03-081-2/+10
| | | | | | #-1. Other minor changes to deal with AllocInfo.Instruction becoming an int. llvm-svn: 12246
OpenPOWER on IntegriCloud