summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Don't save an iterator, just use post-increment.Reid Spencer2004-11-191-4/+2
| | | | llvm-svn: 17981
* Eliminate unsightly ;;Reid Spencer2004-11-191-1/+1
| | | | llvm-svn: 17979
* Make a cast explicit.Reid Spencer2004-11-191-1/+1
| | | | llvm-svn: 17977
* Make findModulesDefiningSymbols modify its symbols argument so we can \Reid Spencer2004-11-191-3/+14
| | | | | | eliminate symbols defined by the archive efficiently llvm-svn: 17976
* Reduce the amount of work in LinkInArchive by not searching the archive forReid Spencer2004-11-191-10/+36
| | | | | | symbols it has already identified as not defining. llvm-svn: 17975
* Generate fewer reg-reg copies for the register allocator to deal with.Nate Begeman2004-11-191-64/+39
| | | | | | This eliminates over 2000 in hbd alone. llvm-svn: 17973
* Delete stoppoints that occur for the same source line.Chris Lattner2004-11-181-1/+11
| | | | llvm-svn: 17970
* Fixed to fit in 80 columns.Tanya Lattner2004-11-181-1/+2
| | | | llvm-svn: 17961
* Adding option to llc for ModuloScheduling. By default it is turned off.Tanya Lattner2004-11-181-2/+13
| | | | llvm-svn: 17959
* These methods are inlinedChris Lattner2004-11-181-30/+0
| | | | llvm-svn: 17958
* Check in hook that I forgotChris Lattner2004-11-181-0/+3
| | | | llvm-svn: 17956
* Rewrite LoadArgumentsToVirtualRegs, making it match almost exactly howBrian Gaeke2004-11-181-70/+90
| | | | | | visitCallInst works. Support cast of byte/short/int to long. llvm-svn: 17949
* Update current expected failures list - expand it to include all ofBrian Gaeke2004-11-181-10/+22
| | | | | | | SingleSource. Update to-do list (open-coding refers to binary operations on longs, not to passing them into functions, which we already support.) llvm-svn: 17948
* Eliminate another common source of moves that the register allocatorNate Begeman2004-11-181-5/+4
| | | | | | | shouldn't be forced to coalesce for us: folded GEP operations. This too fires thousands of times across the testsuite. llvm-svn: 17947
* When accessing the base register for global variables, use the registerNate Begeman2004-11-181-19/+13
| | | | | | | directly rather than making a copy for the register allocator to coalesce. This kills thousands of live intervals across the testsuite. llvm-svn: 17946
* * There is no reason for SpillWeights to be an instance varChris Lattner2004-11-181-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 onlyChris Lattner2004-11-181-1/+3
| | | | | | incrementing i. llvm-svn: 17944
* Moderate head scratching reveals that this conditional is not needed. IfChris Lattner2004-11-181-4/+0
| | | | | | i->start == j->start, then certainly i->end > j->start. llvm-svn: 17943
* Clean up and fix cast codegen by removing cases that are handled elsewhere,Nate Begeman2004-11-181-19/+8
| | | | | | | and properly emitting signed short to unsigned int. This fixes the last regression vs. the CBE, MultiSource/Applications/hbd. llvm-svn: 17942
* Dynamic Library abstraction. This makes the abstraction of a single dynamicReid Spencer2004-11-1810-0/+361
| | | | | | | library (shared library/shared object) whose symbols can be looked up dynamically. Used for plug-ins. llvm-svn: 17940
* Fix a couple of bugs where we considered physregs past their range as possiblyChris Lattner2004-11-181-6/+11
| | | | | | intersecting an interval. llvm-svn: 17939
* Fix typeoChris Lattner2004-11-181-1/+1
| | | | llvm-svn: 17938
* Start using the iterators in the fixed_ intervals to avoid having to binaryChris Lattner2004-11-181-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 Lattner2004-11-181-3/+5
| | | | llvm-svn: 17936
* Add a counter for the number of times linscan has to backtrack. Start usingChris Lattner2004-11-181-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 Lattner2004-11-182-7/+27
| | | | llvm-svn: 17934
* * Improve comments/documentation substantiallyChris Lattner2004-11-181-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 methodChris Lattner2004-11-181-0/+13
| | | | llvm-svn: 17932
* Fix a minor bug in expiredAt. endNumber() is the first number that is not ↵Chris Lattner2004-11-181-1/+1
| | | | | | valid. llvm-svn: 17931
* Rename some methods, use 'begin' instead of 'start', add new LiveIntervalChris Lattner2004-11-183-22/+29
| | | | | | iterator/begin/end members. llvm-svn: 17930
* Allocate fewer registers and tighten up alignment restrictions.Brian Gaeke2004-11-182-5/+12
| | | | llvm-svn: 17929
* Update to-do list.Brian Gaeke2004-11-171-1/+0
| | | | llvm-svn: 17927
* Update list of failing SingleSource BenchmarksBrian Gaeke2004-11-171-1/+1
| | | | llvm-svn: 17926
* We were (somehow) getting the wrong branch opcode for setcc float instrs.Brian Gaeke2004-11-171-2/+2
| | | | llvm-svn: 17925
* Make ReturnInst accept a value of type void as the return value. TheAlkis Evlogimenos2004-11-171-0/+9
| | | | | | | ReturnInst constructed is the same as if NULL was passed instead of the void value. llvm-svn: 17923
* Fix some things for Mac OSX archives:Reid Spencer2004-11-171-5/+14
| | | | | | | | | | | * ensure trailing spaces are eliminated so they don't factor into the length of a member's name. * make sure all the bytes of a name are written even if the name ends in multiple null characters (bug in OSX ar) * make sure we provide the full member name when searching for symbols so the module name is not accidentally duplicated. llvm-svn: 17918
* Make sure we parse bytecode with a module identifier that reflects the fullReid Spencer2004-11-171-3/+9
| | | | | | name of the module: "Archive.a(object.o)" llvm-svn: 17917
* Generalize this code to turn any cast-to-first-element-of into a gep constexprChris Lattner2004-11-171-8/+21
| | | | llvm-svn: 17914
* Simplify conditional and fix LICM/2004-11-17-UndefIndexCrash.llChris Lattner2004-11-171-2/+1
| | | | | | by saying what we mean llvm-svn: 17913
* Adjust long file name writing to match BSD 4.4 and Mac OSX style archives.Reid Spencer2004-11-171-10/+14
| | | | llvm-svn: 17910
* Despite documentation to the contrary, Mac OSX and BSD 4.4 archive formatsReid Spencer2004-11-171-2/+3
| | | | | | | *do* include the length of the long file in the length of the member and they are *not* null terminated. llvm-svn: 17909
* Added my own defMap. Only saving values that are not loop invariant. Fixed a ↵Tanya Lattner2004-11-162-44/+63
| | | | | | couple of assertions that were triggered due to registers not being allocated. These both had to do with PHINodes. llvm-svn: 17907
* Minor cleanup and speedup. This reduces link-time for 252.eon from 35.5sChris Lattner2004-11-161-22/+22
| | | | | | to 34.7s with a profile build. llvm-svn: 17906
* Make this function work with non-abstract types.Chris Lattner2004-11-161-14/+35
| | | | llvm-svn: 17905
* Don't increment a dead iteratorChris Lattner2004-11-161-3/+2
| | | | llvm-svn: 17904
* Fix a major bug in the signed shr code, which apparently only breaks 134.perl!Chris Lattner2004-11-162-2/+3
| | | | llvm-svn: 17902
* * Use low-level unix I/O interface since we're on Unix.Reid Spencer2004-11-161-7/+17
| | | | | | * Don't use variable length arrays (replaced with alloca) llvm-svn: 17901
* Simplify the remapper by only needing one map, since the body of the functionsChris Lattner2004-11-161-43/+31
| | | | | | being linked do not need to be remapped any longer. llvm-svn: 17900
* Do not delete dead invoke instructions!Chris Lattner2004-11-161-2/+1
| | | | llvm-svn: 17897
* Erase non-applicable Unix comment, this is Win32Misha Brukman2004-11-161-1/+0
| | | | llvm-svn: 17896
OpenPOWER on IntegriCloud