Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Make debugging output with -print-machineinstrs more useful: always print out | Brian Gaeke | 2004-05-28 | 1 | -0/+5 | |
| | | | | | | the transformed LLVM code which is the input to the instruction selector. llvm-svn: 13879 | |||||
* | Make comment lines stick out less. | Brian Gaeke | 2004-05-27 | 1 | -2/+2 | |
| | | | | llvm-svn: 13858 | |||||
* | Add a (not very meaningful) default constructor for AllocInfo objects. | Brian Gaeke | 2004-05-25 | 1 | -4/+8 | |
| | | | | llvm-svn: 13773 | |||||
* | Remove use of Type::TypeTy from an assert. It will go away soon. | Reid Spencer | 2004-05-25 | 1 | -1/+0 | |
| | | | | llvm-svn: 13748 | |||||
* | Add support for accurate garbage collection to the LLVM code generators | Chris Lattner | 2004-05-23 | 1 | -0/+6 | |
| | | | | llvm-svn: 13696 | |||||
* | Fix a typo in a comment. | Brian Gaeke | 2004-05-23 | 1 | -1/+1 | |
| | | | | llvm-svn: 13643 | |||||
* | Fix a bug in outputting branches to constant PCs. Since the PC is supplied as | Brian Gaeke | 2004-05-20 | 1 | -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 Gaeke | 2004-05-19 | 1 | -9/+4 | |
| | | | | | | Fix a typo in a debug message. llvm-svn: 13607 | |||||
* | Missing piece of fix for Bug 333 | Brian Gaeke | 2004-05-04 | 1 | -1/+1 | |
| | | | | llvm-svn: 13362 | |||||
* | Correctly mangle function names when they are used as part of a | Brian Gaeke | 2004-05-04 | 1 | -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 file | Brian Gaeke | 2004-04-27 | 1 | -2/+3 | |
| | | | | llvm-svn: 13204 | |||||
* | Changes to fix up the inst_iterator to pass to boost iterator checks. This | Chris Lattner | 2004-04-27 | 1 | -4/+4 | |
| | | | | | | patch was graciously contributed by Vladimir Prus. llvm-svn: 13185 | |||||
* | Fix file header comments and include guards -- many files have been moved or | Brian Gaeke | 2004-04-25 | 30 | -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 Gaeke | 2004-04-25 | 1 | -0/+3 | |
| | | | | llvm-svn: 13147 | |||||
* | Regularize file header comment and include guard. | Brian Gaeke | 2004-04-25 | 1 | -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 stub | Brian Gaeke | 2004-04-25 | 2 | -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 Gaeke | 2004-04-23 | 1 | -2/+1 | |
| | | | | llvm-svn: 13136 | |||||
* | Merge TargetRegInfo.h into SparcV9RegInfo.h, which is its only subclass. | Brian Gaeke | 2004-04-23 | 1 | -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 Gaeke | 2004-04-23 | 10 | -10/+10 | |
| | | | | llvm-svn: 13126 | |||||
* | Get rid of the old byte-at-a-time emission code used when the Sparc JIT was | Brian Gaeke | 2004-04-23 | 1 | -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 Gaeke | 2004-04-23 | 1 | -1/+5 | |
| | | | | | | Use emitWordAt() to emit forward-branch fixups. llvm-svn: 13119 | |||||
* | Make SparcV9RegInfo::getRegType() return the right answer for registers | Brian Gaeke | 2004-04-21 | 1 | -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 specialreg | Brian Gaeke | 2004-04-20 | 1 | -0/+2 | |
| | | | | llvm-svn: 13078 | |||||
* | Make it legal to request a load or store of %fsr. | Brian Gaeke | 2004-04-19 | 1 | -0/+2 | |
| | | | | llvm-svn: 13073 | |||||
* | Regularize include guards and remove some excess whitespace. | Brian Gaeke | 2004-04-19 | 1 | -4/+2 | |
| | | | | llvm-svn: 13071 | |||||
* | Tighten up SparcV9FloatCCRegClass::getRegName()'s assertion - if you ask it for | Brian Gaeke | 2004-04-19 | 1 | -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 Gaeke | 2004-04-19 | 1 | -14/+11 | |
| | | | | | | Remove the extra %fsr register from SparcV9FloatCCRegClass. llvm-svn: 13069 | |||||
* | Give SparcV9CodeEmitter a head-of-file comment and a PassName. | Brian Gaeke | 2004-04-15 | 1 | -1/+6 | |
| | | | | llvm-svn: 12967 | |||||
* | We don't need to insert TargetData into the PassManager here. | Brian Gaeke | 2004-04-12 | 1 | -5/+0 | |
| | | | | llvm-svn: 12874 | |||||
* | Don't include InstrSelectionSupport.h. | Brian Gaeke | 2004-04-07 | 2 | -2/+0 | |
| | | | | llvm-svn: 12766 | |||||
* | Move ChooseRegOrImmed() prototype here, from InstrSelectionSupport.h. | Brian Gaeke | 2004-04-07 | 1 | -0/+5 | |
| | | | | llvm-svn: 12765 | |||||
* | Don't include InstrSelectionSupport.h. | Brian Gaeke | 2004-04-07 | 2 | -2/+0 | |
| | | | | llvm-svn: 12764 | |||||
* | Fix insertion of SelectInsts. | Brian Gaeke | 2004-04-07 | 1 | -1/+1 | |
| | | | | llvm-svn: 12760 | |||||
* | In the perhaps not-to-distant future, we might support gep instructions that | Chris Lattner | 2004-04-04 | 1 | -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 Gaeke | 2004-04-02 | 1 | -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 Gaeke | 2004-04-02 | 1 | -3/+17 | |
| | | | | llvm-svn: 12613 | |||||
* | MBB::remove should not modify the iterator passed in | Chris Lattner | 2004-03-31 | 1 | -1/+1 | |
| | | | | llvm-svn: 12572 | |||||
* | Factor out getStaticStackSize from InsertPrologCode(), so that I can more | Brian Gaeke | 2004-03-31 | 1 | -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 instructions | Chris Lattner | 2004-03-30 | 1 | -0/+4 | |
| | | | | llvm-svn: 12541 | |||||
* | Don't warn about a null live range if the Value is a ConstantIntegral. | Brian Gaeke | 2004-03-29 | 1 | -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 type | Chris Lattner | 2004-03-19 | 1 | -1/+7 | |
| | | | | llvm-svn: 12504 | |||||
* | Rename the intrinsic enum values for llvm.va_* from Intrinsic::va_* to | Chris Lattner | 2004-03-13 | 2 | -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 Gaeke | 2004-03-12 | 1 | -1/+4 | |
| | | | | llvm-svn: 12344 | |||||
* | Get rid of the abort in PhyRegAlloc::finishSavingState(). | Brian Gaeke | 2004-03-11 | 1 | -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 name | Brian Gaeke | 2004-03-11 | 1 | -0/+1 | |
| | | | | llvm-svn: 12290 | |||||
* | In PhyRegAlloc::saveState(), dump Arguments' saved-state, and try to | Brian Gaeke | 2004-03-11 | 2 | -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 Gaeke | 2004-03-10 | 1 | -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 Gaeke | 2004-03-10 | 1 | -3/+4 | |
| | | | | llvm-svn: 12277 | |||||
* | Change PhyRegAlloc::saveStateForValue()'s arg type to deal with | Brian Gaeke | 2004-03-08 | 1 | -1/+1 | |
| | | | | | | AllocInfo.Instruction becoming an int. llvm-svn: 12247 | |||||
* | Save argument list alloc state by recording it as the operands of Instruction | Brian Gaeke | 2004-03-08 | 1 | -2/+10 | |
| | | | | | | #-1. Other minor changes to deal with AllocInfo.Instruction becoming an int. llvm-svn: 12246 |