Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Adding scheduling class. | Tanya Lattner | 2004-05-26 | 2 | -0/+246 | |
| | | | | llvm-svn: 13783 | |||||
* | Updating my cvs versions. THis is still in progress and much will be changed. | Tanya Lattner | 2004-05-26 | 4 | -157/+299 | |
| | | | | llvm-svn: 13782 | |||||
* | Moved MachineBasicBlock deconstructor to cpp file and removed it from ↵ | Tanya Lattner | 2004-05-24 | 2 | -5/+11 | |
| | | | | | | LeakDetector to fix memory leak bug. llvm-svn: 13718 | |||||
* | Added MachineFunction parent* to MachineBasicBlock. Customized ilist template | Tanya Lattner | 2004-05-24 | 2 | -14/+34 | |
| | | | | | | to set the parent when a MachineBasicBlock is added to a MachineFunction. llvm-svn: 13716 | |||||
* | Eliminate an explicit use of the LLVM basic block, using getParent instead, | Chris Lattner | 2004-05-24 | 1 | -1/+1 | |
| | | | | | | which simplifies the code llvm-svn: 13707 | |||||
* | Changed clone to be const. | Tanya Lattner | 2004-05-24 | 1 | -1/+7 | |
| | | | | | | Changed copy constructor to set parent, prev, and next pointers to null. llvm-svn: 13706 | |||||
* | Fixed up my changes to add support for cloning Machine Instructions. | Tanya Lattner | 2004-05-23 | 1 | -2/+3 | |
| | | | | llvm-svn: 13665 | |||||
* | Adding support to clone MachineInstr | Tanya Lattner | 2004-05-23 | 1 | -0/+19 | |
| | | | | llvm-svn: 13661 | |||||
* | Fix a really nasty bug from my changes on Monday to PHIElim. These changes | Chris Lattner | 2004-05-12 | 1 | -11/+19 | |
| | | | | | | | | broke obsequi and a lot of other things. It all boiled down to MBB being overloaded in an inner scope and me confusing it with the one in the outer scope. Ugh! llvm-svn: 13517 | |||||
* | Start NextMBBNumber out at zero. | Brian Gaeke | 2004-05-12 | 1 | -1/+1 | |
| | | | | llvm-svn: 13515 | |||||
* | Add non-const MachineBasicBlock::getParent() accessor method. | Brian Gaeke | 2004-05-12 | 1 | -0/+19 | |
| | | | | | | | | MBBs start out as #-1. When a MBB is added to a MachineFunction, it gets the next available unique MBB number. If it is removed from a MachineFunction, it goes back to being #-1. llvm-svn: 13514 | |||||
* | Switch this from using an std::map to using a DenseMap. This speeds up | Chris Lattner | 2004-05-10 | 1 | -6/+5 | |
| | | | | | | phi-elimination from 0.6 to 0.54s on kc++. llvm-svn: 13454 | |||||
* | Use a new VRegPHIUseCount to compute uses of PHI values by other phi values | Chris Lattner | 2004-05-10 | 1 | -14/+21 | |
| | | | | | | | in the basic block being processed. This fixes PhiElimination on kimwitu++ from taking 105s to taking a much more reasonable 0.6s (in a debug build). llvm-svn: 13453 | |||||
* | Now that we use an ilist of machine instructions, iterators are more robust | Chris Lattner | 2004-05-10 | 1 | -5/+8 | |
| | | | | | | | | | than before. Because this is the case, we can compute the first non-phi instruction once when de-phi'ing a block. This shaves ~4s off of phielimination of _Z7yyparsev in kimwitu++ from 109s -> 105s. There are still much more important gains to come. llvm-svn: 13452 | |||||
* | Patch to fix PR337. Make sure to mark all aliased physical registers as used | Chris Lattner | 2004-05-10 | 1 | -3/+8 | |
| | | | | | | | | | | | | | when we see a read of a register. This is important in cases like: AL = ... AH = ... = AX The read of AX must make both the AL and AH defs live until the use. llvm-svn: 13444 | |||||
* | Updating my versions of ModuloScheduling in cvs. Still not complete. | Tanya Lattner | 2004-05-08 | 4 | -303/+860 | |
| | | | | llvm-svn: 13424 | |||||
* | Add required header | Alkis Evlogimenos | 2004-05-08 | 1 | -0/+1 | |
| | | | | llvm-svn: 13417 | |||||
* | Remove unneeded header | Alkis Evlogimenos | 2004-05-08 | 1 | -1/+0 | |
| | | | | llvm-svn: 13416 | |||||
* | numeric_limits::infinity() apparently does not work on all systems. As a | Chris Lattner | 2004-05-06 | 2 | -7/+5 | |
| | | | | | | workaround, use the C HUGE_VAL macro instead. llvm-svn: 13377 | |||||
* | Operate on the Machine CFG instead of on the LLVM CFG | Chris Lattner | 2004-05-01 | 2 | -17/+12 | |
| | | | | llvm-svn: 13302 | |||||
* | Stop LiveVariables from using BasicBlocks as part of the mapping, instead | Chris Lattner | 2004-05-01 | 1 | -29/+20 | |
| | | | | | | | | use MachineBasicBlocks. To do this, we traverse the Machine CFG instead of the LLVM CFG, which is also *MUCH* more efficient by having fewer levels of indirections and mappings. llvm-svn: 13301 | |||||
* | Include SparcV9RegInfo.h instead of TargetRegInfo.h. This serves as a bit of | Brian Gaeke | 2004-04-23 | 1 | -1/+1 | |
| | | | | | | | documentation that this module needs to be made independent of the register file description of the current target. llvm-svn: 13125 | |||||
* | Implement emitWordAt() for the debug emitter and the file printer emitter. (I | Brian Gaeke | 2004-04-23 | 1 | -0/+7 | |
| | | | | | | | am not so sure about the file printer emitter, but the debug emitter change should be harmless.) llvm-svn: 13117 | |||||
* | Fix bug introduced in previous commit. | Alkis Evlogimenos | 2004-04-12 | 1 | -1/+1 | |
| | | | | llvm-svn: 12872 | |||||
* | Correctly compute spill weights | Alkis Evlogimenos | 2004-04-12 | 1 | -18/+19 | |
| | | | | llvm-svn: 12869 | |||||
* | Print def lists a bit more compactly | Alkis Evlogimenos | 2004-04-12 | 1 | -1/+1 | |
| | | | | llvm-svn: 12866 | |||||
* | Add definition list to each live interval. | Alkis Evlogimenos | 2004-04-09 | 2 | -46/+61 | |
| | | | | llvm-svn: 12791 | |||||
* | MBB::remove should not modify the iterator passed in | Chris Lattner | 2004-03-31 | 1 | -1/+2 | |
| | | | | llvm-svn: 12572 | |||||
* | MachineBasicBlock::remove should not modify the iterator passed in | Chris Lattner | 2004-03-31 | 1 | -2/+1 | |
| | | | | llvm-svn: 12571 | |||||
* | Correctly update LiveVariables when an instruction changes | Alkis Evlogimenos | 2004-03-30 | 1 | -3/+3 | |
| | | | | llvm-svn: 12561 | |||||
* | Change how the beginnings and ends of MachineFunctions are printed. Get | Brian Gaeke | 2004-03-29 | 1 | -3/+3 | |
| | | | | | | rid of the funny cast. llvm-svn: 12537 | |||||
* | Make the set of fixed (preallocated) intervals be a fixed superset of | Alkis Evlogimenos | 2004-03-17 | 1 | -29/+10 | |
| | | | | | | | unhandled + handled. So unhandled is now including all fixed intervals and fixed intervals never changes when processing a function. llvm-svn: 12462 | |||||
* | Fix PR294 | Chris Lattner | 2004-03-16 | 1 | -1/+2 | |
| | | | | llvm-svn: 12425 | |||||
* | Change MRegisterInfo::foldMemoryOperand to return the folded | Alkis Evlogimenos | 2004-03-14 | 2 | -11/+12 | |
| | | | | | | instruction to make the API more flexible. llvm-svn: 12386 | |||||
* | Spill explicit physical register defs as well. | Alkis Evlogimenos | 2004-03-09 | 1 | -3/+11 | |
| | | | | llvm-svn: 12260 | |||||
* | As I wrote in the docs, simple is the default spiller :-) | Alkis Evlogimenos | 2004-03-06 | 1 | -2/+1 | |
| | | | | llvm-svn: 12189 | |||||
* | Add simple spiller. | Alkis Evlogimenos | 2004-03-06 | 1 | -9/+72 | |
| | | | | llvm-svn: 12188 | |||||
* | Make MachineOperand's value named 'contents'. Make really, really sure | Brian Gaeke | 2004-03-03 | 1 | -6/+6 | |
| | | | | | | | it is always completely initialized and copied. Also, fix up many comments and asserts. llvm-svn: 12100 | |||||
* | Add a spiller option to llc. A simple spiller will come soon. When we get ↵ | Alkis Evlogimenos | 2004-03-01 | 4 | -46/+74 | |
| | | | | | | CFG in the machine code represenation a global spiller will also be possible. Also document the linear scan register allocator but mark it as experimental for now. llvm-svn: 12062 | |||||
* | Add the long awaited memory operand folding support for linear scan | Alkis Evlogimenos | 2004-03-01 | 5 | -29/+87 | |
| | | | | llvm-svn: 12058 | |||||
* | TargetCacheInfo has been removed; its only uses were to propagate a constant | Brian Gaeke | 2004-03-01 | 1 | -2/+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. llvm-svn: 12043 | |||||
* | Adding new Modulo Scheduling graph files. | Tanya Lattner | 2004-03-01 | 3 | -0/+769 | |
| | | | | llvm-svn: 12031 | |||||
* | Removing old graph files with new graph files that I wrote. Updated ↵ | Tanya Lattner | 2004-03-01 | 3 | -276/+682 | |
| | | | | | | ModuloScheduling pass, but still in progress. llvm-svn: 12030 | |||||
* | Add an assert | Chris Lattner | 2004-02-29 | 1 | -1/+4 | |
| | | | | llvm-svn: 12010 | |||||
* | Add back #include I messed up | Chris Lattner | 2004-02-29 | 1 | -0/+1 | |
| | | | | llvm-svn: 12009 | |||||
* | Urg, forgot to check this in. | Chris Lattner | 2004-02-29 | 1 | -1/+0 | |
| | | | | llvm-svn: 12007 | |||||
* | Move the private MachineInstrAnnot.h into a private directory. | Chris Lattner | 2004-02-29 | 1 | -1/+1 | |
| | | | | llvm-svn: 12003 | |||||
* | Remove use of an ugly header | Chris Lattner | 2004-02-29 | 1 | -1/+0 | |
| | | | | llvm-svn: 12002 | |||||
* | Move methods out of .h file | Chris Lattner | 2004-02-29 | 1 | -0/+9 | |
| | | | | llvm-svn: 12001 | |||||
* | Eliminate the distinction between "real" and "unreal" instructions | Chris Lattner | 2004-02-29 | 1 | -1/+1 | |
| | | | | llvm-svn: 11986 |