Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Move virtual function call out of loop to speed up getFreePhysReg by about | Nate Begeman | 2004-12-07 | 1 | -2/+2 |
| | | | | | | 20%, shaving 0.1s off hbd compile time on my g5. Yay. llvm-svn: 18592 | ||||
* | For PR387:\ | Reid Spencer | 2004-12-07 | 2 | -2/+2 |
| | | | | | | | Make only one print method to avoid overloaded virtual warnings when \ compiled with -Woverloaded-virtual llvm-svn: 18589 | ||||
* | Prevent accessing past the end of the intervals vector, this fixes | Chris Lattner | 2004-12-04 | 1 | -1/+3 |
| | | | | | | Prolang-C/bison in the JIT llvm-svn: 18477 | ||||
* | Fix SingleSource/UnitTests/2004-11-28-GlobalBoolLayout.c, and hopefully | Chris Lattner | 2004-11-28 | 1 | -1/+1 |
| | | | | | | PR449 llvm-svn: 18306 | ||||
* | Fix the FIXME, nuke the JIT specific forceCompilationOf method. | Chris Lattner | 2004-11-22 | 1 | -18/+0 |
| | | | | llvm-svn: 18131 | ||||
* | These methods are obsolete | Chris Lattner | 2004-11-22 | 1 | -8/+0 |
| | | | | llvm-svn: 18129 | ||||
* | Adjust to changed interfaces | Chris Lattner | 2004-11-20 | 1 | -7/+7 |
| | | | | llvm-svn: 18064 | ||||
* | Add getCurrentPCOffset() and addRelocation() methods. | Chris Lattner | 2004-11-20 | 1 | -0/+12 |
| | | | | llvm-svn: 18034 | ||||
* | Match change in MachineCodeEmitter prototype. | Chris Lattner | 2004-11-19 | 1 | -2/+2 |
| | | | | llvm-svn: 18009 | ||||
* | * There is no reason for SpillWeights to be an instance var | Chris Lattner | 2004-11-18 | 1 | -69/+71 |
| | | | | | | | | * Do not put fixed registers into the unhandled set. This means they will never find their way into the inactive, active, or handled sets, so we can simplify a bunch of code. llvm-svn: 17945 | ||||
* | There is no need to check to see if j overflowed in this loop as we're only | Chris Lattner | 2004-11-18 | 1 | -1/+3 |
| | | | | | | incrementing i. llvm-svn: 17944 | ||||
* | Moderate head scratching reveals that this conditional is not needed. If | Chris Lattner | 2004-11-18 | 1 | -4/+0 |
| | | | | | | i->start == j->start, then certainly i->end > j->start. llvm-svn: 17943 | ||||
* | Fix a couple of bugs where we considered physregs past their range as possibly | Chris Lattner | 2004-11-18 | 1 | -6/+11 |
| | | | | | | intersecting an interval. llvm-svn: 17939 | ||||
* | Fix typeo | Chris Lattner | 2004-11-18 | 1 | -1/+1 |
| | | | | llvm-svn: 17938 | ||||
* | Start using the iterators in the fixed_ intervals to avoid having to binary | Chris Lattner | 2004-11-18 | 1 | -5/+12 |
| | | | | | | | search physreg intervals every time we access it. This takes another half second off of linscan. llvm-svn: 17937 | ||||
* | Take another .7 seconds off of linear scan time. | Chris Lattner | 2004-11-18 | 1 | -3/+5 |
| | | | | llvm-svn: 17936 | ||||
* | Add a counter for the number of times linscan has to backtrack. Start using | Chris Lattner | 2004-11-18 | 1 | -22/+36 |
| | | | | | | | the iterator hints we have to speed up overlaps(). This speeds linscan up by about .2s (out of 8.7) on 175.vpr for PPC. llvm-svn: 17935 | ||||
* | Add ability to give hints to the overlaps routines. | Chris Lattner | 2004-11-18 | 2 | -7/+27 |
| | | | | llvm-svn: 17934 | ||||
* | * Improve comments/documentation substantially | Chris Lattner | 2004-11-18 | 1 | -128/+172 |
| | | | | | | | | | | | | | | | | | | * Eliminate the releaseMemory method, this is not an analysis * Change the fixed, active, and inactive lists of intervals to maintain an iterator for the current position in the interval. This allows us to do constant time increments of the iterator instead of having to do a binary search to find our liverange in our liveinterval all of the time, which substantially speeds up cases where LiveIntervals have many LiveRanges - which is very common for physical registers. On targets with many physregs, this can make a noticable difference. With a release build of LLC for PPC, this halves the time in processInactiveIntervals and processActiveIntervals, from 1.5s to .75s. This also lays the ground for more to come. llvm-svn: 17933 | ||||
* | Add new advanceTo method | Chris Lattner | 2004-11-18 | 1 | -0/+13 |
| | | | | llvm-svn: 17932 | ||||
* | Fix a minor bug in expiredAt. endNumber() is the first number that is not ↵ | Chris Lattner | 2004-11-18 | 1 | -1/+1 |
| | | | | | | valid. llvm-svn: 17931 | ||||
* | Rename some methods, use 'begin' instead of 'start', add new LiveInterval | Chris Lattner | 2004-11-18 | 3 | -22/+29 |
| | | | | | | iterator/begin/end members. llvm-svn: 17930 | ||||
* | Give a better message for a common assertion failure. | Brian Gaeke | 2004-11-16 | 1 | -1/+2 |
| | | | | llvm-svn: 17887 | ||||
* | Do not make i have bigger scope that we need | Chris Lattner | 2004-11-05 | 1 | -2/+2 |
| | | | | llvm-svn: 17483 | ||||
* | Change Library Names Not To Conflict With Others When Installed | Reid Spencer | 2004-10-27 | 2 | -2/+2 |
| | | | | llvm-svn: 17286 | ||||
* | Move method bodies that depend on <algorithm> from MBB.h to MBB.cpp | Chris Lattner | 2004-10-26 | 1 | -14/+38 |
| | | | | llvm-svn: 17253 | ||||
* | Clean up the MachineBasicBlock.h file, percolating #includes into this file. | Chris Lattner | 2004-10-26 | 2 | -0/+2 |
| | | | | | | Patch contributed by Morten Ofstad llvm-svn: 17251 | ||||
* | Reduce usage of MRegisterInfo::getRegClass | Chris Lattner | 2004-10-26 | 1 | -5/+6 |
| | | | | llvm-svn: 17238 | ||||
* | Do not use variable sized arrays in C++, they are non-portable. Patch | Chris Lattner | 2004-10-25 | 1 | -5/+5 |
| | | | | | | contributed by Morten Ofstad llvm-svn: 17217 | ||||
* | Patch to support MSVC better, contributed by Morten Ofstad | Chris Lattner | 2004-10-25 | 1 | -1/+1 |
| | | | | llvm-svn: 17215 | ||||
* | We won't use automake | Reid Spencer | 2004-10-22 | 4 | -1520/+0 |
| | | | | llvm-svn: 17155 | ||||
* | Initial automake generated Makefile template | Reid Spencer | 2004-10-18 | 2 | -0/+1466 |
| | | | | llvm-svn: 17136 | ||||
* | Add support for undef | Chris Lattner | 2004-10-16 | 1 | -2/+2 |
| | | | | llvm-svn: 17055 | ||||
* | Allow machine operands to represent global variables with offsets. This is | Chris Lattner | 2004-10-15 | 1 | -5/+9 |
| | | | | | | | | | | | | | | | | | useful when you have a reference like: int A[100]; void foo() { A[10] = 1; } In this case, &A[10] is a single constant and should be treated as such. Only MO_GlobalAddress and MO_ExternalSymbol are allowed to use this field, no other operand type is. This is another fine patch contributed by Jeff Cohen!! llvm-svn: 17007 | ||||
* | This patch fixes the nasty bug that caused 175.vpr to fail for X86 last night. | Chris Lattner | 2004-10-15 | 1 | -1/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | The problem occurred when trying to reload this instruction: MOV32mr %reg2326, 8, %reg2297, 4, %reg2295 The value of reg2326 was available in EBX, so it was reused from there, instead of reloading it into EDX. The value of reg2297 was available in EDX, so it was reused from there, instead of reloading it into EDI. The value of reg2295 was not available, so we tried reloading it into EBX, its assigned register. However, we checked and saw that we already reloaded something into EBX, so we chose what reg2326 was assigned to (EDX) and reloaded into that register instead. Unfortunately EDX had already been used by reg2297, so reloading into EDX clobbered the value used by the reg2326 operand, breaking the program. The fix for this is to check that the newly picked register is ok. In this case we now find that EDX is already used and try using EDI, which succeeds. llvm-svn: 17006 | ||||
* | This patch adds and improves debugging output. No functionality changes. | Chris Lattner | 2004-10-15 | 1 | -3/+7 |
| | | | | llvm-svn: 17005 | ||||
* | Update to reflect changes in Makefile rules. | Reid Spencer | 2004-10-13 | 2 | -8/+9 |
| | | | | llvm-svn: 16950 | ||||
* | ModuloScheduling has moved to lib/Target/SparcV9 | Misha Brukman | 2004-10-10 | 2 | -2/+2 |
| | | | | llvm-svn: 16906 | ||||
* | ModuloScheduling moved to lib/Target/SparcV9 as it is SparcV9-specific | Misha Brukman | 2004-10-10 | 8 | -3120/+0 |
| | | | | llvm-svn: 16902 | ||||
* | Added debug information. Fixed several bugs in the reconstruct loop function. | Tanya Lattner | 2004-10-10 | 5 | -138/+280 |
| | | | | llvm-svn: 16895 | ||||
* | Remove the InstrSched directory (moved to SparcV9) | Reid Spencer | 2004-10-10 | 1 | -1/+1 |
| | | | | llvm-svn: 16887 | ||||
* | Directory no long exists (moved to Targets/SparcV9). | Reid Spencer | 2004-10-10 | 1 | -23/+0 |
| | | | | llvm-svn: 16886 | ||||
* | Initial version of automake Makefile.am file. | Reid Spencer | 2004-10-10 | 4 | -0/+95 |
| | | | | llvm-svn: 16885 | ||||
* | Hyphenate target-(in)dependent for more tasty grammar goodness (tm) | Misha Brukman | 2004-10-08 | 1 | -2/+2 |
| | | | | llvm-svn: 16854 | ||||
* | InstrSched has been moved to lib/Target/SparcV9 | Misha Brukman | 2004-10-08 | 1 | -1/+1 |
| | | | | llvm-svn: 16850 | ||||
* | InstrSched is SparcV9-specific and so has been moved to lib/Target/SparcV9/ | Misha Brukman | 2004-10-08 | 7 | -3197/+0 |
| | | | | llvm-svn: 16849 | ||||
* | Single-space instead of double-spacing in the Makefile | Misha Brukman | 2004-10-08 | 1 | -2/+1 |
| | | | | llvm-svn: 16845 | ||||
* | Do not repeat the map lookup | Chris Lattner | 2004-10-01 | 1 | -1/+1 |
| | | | | llvm-svn: 16633 | ||||
* | When a virtual register is folded into an instruction, keep track of whether | Chris Lattner | 2004-10-01 | 3 | -27/+52 |
| | | | | | | | | it was a use, def, or both. This allows us to be less pessimistic in our analysis of them. In practice, this doesn't make a big difference, but it doesn't hurt either. llvm-svn: 16632 | ||||
* | Add a simple little improvement to the local spiller to keep track of stores | Chris Lattner | 2004-10-01 | 1 | -0/+26 |
| | | | | | | | | | | and delete them if they turn out to be dead. This is a useful little hack that even speeds up some programs. For example, it speeds up Ptrdist/ks from 17.53s to 15.59s, and 188.ammp from 149s to 146s. This also speeds up llc :) llvm-svn: 16630 |