aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/SparcV9
Commit message (Collapse)AuthorAgeFilesLines
* We don't need to insert TargetData into the PassManager here.Brian Gaeke2004-04-121-5/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12874 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't include InstrSelectionSupport.h.Brian Gaeke2004-04-072-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12766 91177308-0d34-0410-b5e6-96231b3b80d8
* Move ChooseRegOrImmed() prototype here, from InstrSelectionSupport.h.Brian Gaeke2004-04-071-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12765 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't include InstrSelectionSupport.h.Brian Gaeke2004-04-072-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12764 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix insertion of SelectInsts.Brian Gaeke2004-04-071-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12760 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12647 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12614 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for constant select expressions. Clarify the assertion failure msg.Brian Gaeke2004-04-021-3/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12613 91177308-0d34-0410-b5e6-96231b3b80d8
* MBB::remove should not modify the iterator passed inChris Lattner2004-03-312-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12572 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12568 91177308-0d34-0410-b5e6-96231b3b80d8
* Add the select lowering pass to get initial support for select instructionsChris Lattner2004-03-301-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12541 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12538 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR299: [Sparc] Code generator asserts on alloc of zero size typeChris Lattner2004-03-191-1/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12504 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12356 91177308-0d34-0410-b5e6-96231b3b80d8
* Make -print-machineinstrs show us the code both before and after reg. alloc.Brian Gaeke2004-03-121-1/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12344 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12291 91177308-0d34-0410-b5e6-96231b3b80d8
* Give pass a nameBrian Gaeke2004-03-111-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12290 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12286 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12278 91177308-0d34-0410-b5e6-96231b3b80d8
* Only call verifySavedState if SaveRegAllocState is set AND debugging flag is on.Brian Gaeke2004-03-101-3/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12277 91177308-0d34-0410-b5e6-96231b3b80d8
* Change PhyRegAlloc::saveStateForValue()'s arg type to deal withBrian Gaeke2004-03-081-1/+1
| | | | | | | AllocInfo.Instruction becoming an int. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12247 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12246 91177308-0d34-0410-b5e6-96231b3b80d8
* Make AllocInfo's Instruction an int, so that we can overload it for arguments.Brian Gaeke2004-03-081-4/+4
| | | | | | | (Instruction #-1's operands = argument list). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12245 91177308-0d34-0410-b5e6-96231b3b80d8
* make -print-machineinstrs work for both SparcV9 and X86Brian Gaeke2004-03-041-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12122 91177308-0d34-0410-b5e6-96231b3b80d8
* Add this back, as its absence introduces assertions, and it seems to work nowChris Lattner2004-03-011-4/+1
| | | | | | | that Instructions are annotable again git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12045 91177308-0d34-0410-b5e6-96231b3b80d8
* fix bug in previous checkinTanya Lattner2004-03-011-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12044 91177308-0d34-0410-b5e6-96231b3b80d8
* TargetCacheInfo has been removed; its only uses were to propagate a constantBrian Gaeke2004-03-014-18/+1
| | | | | | | | | | (16) into certain areas of the SPARC V9 back-end. I'm fairly sure the US IIIi's dcache has 32-byte lines, so I'm not sure where the 16 came from. However, in the interest of not breaking things any more than they already are, I'm going to leave the constant alone. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12043 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding new Modulo Scheduling graph files.Tanya Lattner2004-03-013-0/+769
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12031 91177308-0d34-0410-b5e6-96231b3b80d8
* Removing old graph files with new graph files that I wrote. Updated ↵Tanya Lattner2004-03-013-276/+682
| | | | | | ModuloScheduling pass, but still in progress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12030 91177308-0d34-0410-b5e6-96231b3b80d8
* Move the private MachineInstrAnnot.h into a private directory.Chris Lattner2004-02-294-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12003 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not use explicit casts that hide the dependence on Instruction beingChris Lattner2004-02-291-8/+2
| | | | | | | annotable git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12000 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove dead member variables of SparcV9SchedInfo and TargetSchedInfoBrian Gaeke2004-02-291-10/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11994 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust to change in TII ctor argumentsChris Lattner2004-02-291-5/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11987 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate the distinction between "real" and "unreal" instructionsChris Lattner2004-02-291-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11986 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove a TON of flags that noone cares aboutChris Lattner2004-02-291-362/+362
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11983 91177308-0d34-0410-b5e6-96231b3b80d8
* Noone calls these virtual methodsChris Lattner2004-02-291-26/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11982 91177308-0d34-0410-b5e6-96231b3b80d8
* This is the only file in the system that uses this enum. eliminate it.Chris Lattner2004-02-291-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11981 91177308-0d34-0410-b5e6-96231b3b80d8
* Turn off the SparcV9MachineCodeDestructionPass for now, because it's buggyBrian Gaeke2004-02-271-1/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11930 91177308-0d34-0410-b5e6-96231b3b80d8
* Correct DestroyMachineFunction's getPassNameBrian Gaeke2004-02-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11929 91177308-0d34-0410-b5e6-96231b3b80d8
* Great sparc renaming fallout IV: Sparc --> SparcV9.Brian Gaeke2004-02-252-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11844 91177308-0d34-0410-b5e6-96231b3b80d8
* Great renaming part II: Sparc --> SparcV9 (also includes command-line ↵Brian Gaeke2004-02-251-1/+1
| | | | | | options and Makefiles) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11827 91177308-0d34-0410-b5e6-96231b3b80d8
* Great renaming: Sparc --> SparcV9Brian Gaeke2004-02-2534-375/+375
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11826 91177308-0d34-0410-b5e6-96231b3b80d8
* FunctionLiveVarInfo.h moved: include/llvm/CodeGen -> lib/Target/Sparc/LiveVarBrian Gaeke2004-02-246-5/+116
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11804 91177308-0d34-0410-b5e6-96231b3b80d8
* Move MOTy::UseType enum into MachineOperand. This eliminates theAlkis Evlogimenos2004-02-224-56/+64
| | | | | | | | | | switch statements in the constructors and simplifies the implementation of the getUseType() member function. You will have to specify defs using MachineOperand::Def instead of MOTy::Def though (similarly for Use and UseAndDef). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11715 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate operator[] is deprecated warningsChris Lattner2004-02-181-16/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11578 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix deprecated operator[] warningsChris Lattner2004-02-181-15/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11577 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjustments to support the new ConstantAggregateZero classChris Lattner2004-02-151-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11474 91177308-0d34-0410-b5e6-96231b3b80d8
* Use newly added next() and prior() utility functions.Alkis Evlogimenos2004-02-142-6/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11430 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove getAllocatedRegNum(). Use getReg() instead.Alkis Evlogimenos2004-02-139-21/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11393 91177308-0d34-0410-b5e6-96231b3b80d8
* Squish warningChris Lattner2004-02-131-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11375 91177308-0d34-0410-b5e6-96231b3b80d8