summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Second half of a fix for PR218 & ↵Chris Lattner2004-02-011-4/+43
| | | | | | | | | | test/Regression/Assembler/2004-02-01-NegativeZero.llx. Basically we store floating point values as their integral components, instead of relying on the semantics of floating point < to differentiate between values. This is likely to make the map search be faster anyway. llvm-svn: 11064
* Change weight array into a vector and make it as big as the number ofAlkis Evlogimenos2004-02-011-17/+25
| | | | | | | | | | | registers (not as the max number of registers). Change toSpill from a std::set into a std::vector<bool>. Use the reverse iterator adapter to do a reverse scan of allocatable registers. llvm-svn: 11061
* Use std::map::count() instead of std::map::find() != std::map::end()Alkis Evlogimenos2004-02-011-5/+3
| | | | | | where appropriate. llvm-svn: 11060
* Change string for joined intervals.Alkis Evlogimenos2004-02-011-1/+1
| | | | llvm-svn: 11057
* FpMOV is also a move instruction.Alkis Evlogimenos2004-02-011-1/+2
| | | | llvm-svn: 11055
* Change xor to ^.Alkis Evlogimenos2004-02-011-1/+1
| | | | llvm-svn: 11054
* Disable tail duplication in any "hard" cases, where it might break SSA form.Chris Lattner2004-02-011-1/+27
| | | | llvm-svn: 11052
* Fix a bug in a recent checkinChris Lattner2004-02-011-1/+1
| | | | llvm-svn: 11050
* Fix the count of the number of instructions removedChris Lattner2004-02-011-0/+1
| | | | llvm-svn: 11049
* Missed one silly assert :-)Alkis Evlogimenos2004-02-011-1/+1
| | | | llvm-svn: 11048
* Simplify joinIntervals() code.Alkis Evlogimenos2004-02-011-62/+57
| | | | llvm-svn: 11047
* Remove all of the annoying statistics now that I'm finished (for the nearChris Lattner2004-02-013-89/+0
| | | | | | term) working on bytecode size stuff. llvm-svn: 11046
* Use MRegisterInfo::isPhysicalRegister andAlkis Evlogimenos2004-02-012-33/+33
| | | | | | MRegisterInfo::isVirtualRegister. llvm-svn: 11045
* Fix a crasher bug in my constant folding rewriteChris Lattner2004-02-011-3/+10
| | | | llvm-svn: 11044
* Print an error message if we can't materialize the bytecode fileChris Lattner2004-02-011-5/+11
| | | | llvm-svn: 11043
* Print an error message if there is an error materialize the bc file.Chris Lattner2004-02-011-1/+6
| | | | llvm-svn: 11041
* Apply final part of Chris' patch.Alkis Evlogimenos2004-01-311-11/+9
| | | | llvm-svn: 11040
* Be a little smarter on the way we handle physical register defs.Alkis Evlogimenos2004-01-311-26/+13
| | | | llvm-svn: 11038
* Finegrainify namespacification, use new MRegisterInfo::isVirtualRegisterChris Lattner2004-01-312-9/+7
| | | | | | method llvm-svn: 11037
* Fix, correctly this time, the computation of the return valueChris Lattner2004-01-311-15/+16
| | | | | | | | | Fix a spello Tighten up the assertion checking No functionality changes. llvm-svn: 11036
* * Fix incorrect computation of the runOnMachineFunction return valueChris Lattner2004-01-311-30/+23
| | | | | | * Turn a bunch of instance variables into automatic variables llvm-svn: 11035
* Remove unneeded #includesChris Lattner2004-01-311-12/+10
| | | | | | | | Move Passes.h (which defines the interface to this file) to the top. Move statistics to the top of the file. Add a comment llvm-svn: 11034
* Avoid referencing deleted DSgraphs when merging an SCC into a larger SCC. ThisChris Lattner2004-01-311-9/+11
| | | | | | fixes the crash in 176.gcc. llvm-svn: 11033
* Merge safe parts from last night's buggy commit. These do not breakAlkis Evlogimenos2004-01-311-47/+71
| | | | | | any test cases :-) llvm-svn: 11032
* Optimize liveAt() and overlaps(). We now use a binary search insteadAlkis Evlogimenos2004-01-311-20/+30
| | | | | | | | of a linear search to find the first range for comparisons. This cuts down the linear scan register allocator running time by a factor of 3 in 254.perlbmk and by a factor of 2.2 in 176.gcc. llvm-svn: 11030
* Revert last night's changes as they broke some tests. Will remerge parts of ↵Alkis Evlogimenos2004-01-311-105/+105
| | | | | | the patch. llvm-svn: 11029
* Several performance enhancements and cleanups from Chris.Alkis Evlogimenos2004-01-311-105/+105
| | | | | | | Simplification of LiveIntervals::Interval::overlaps() and addition of examples to overlaps() and liveAt() to make them clearer. llvm-svn: 11028
* Fix thinkoChris Lattner2004-01-301-3/+3
| | | | llvm-svn: 11027
* Add some comments sketching out how this is to work eventually.Chris Lattner2004-01-301-6/+49
| | | | llvm-svn: 11026
* Add a new flag, which is only used for symmetry.Chris Lattner2004-01-301-0/+3
| | | | llvm-svn: 11025
* Forward method request to chained aa implementationChris Lattner2004-01-302-0/+8
| | | | llvm-svn: 11024
* Implement the pointsToConstantMemory() method.Chris Lattner2004-01-301-3/+14
| | | | llvm-svn: 11022
* Improve mod/ref information based on the pointsToConstantMemory method.Chris Lattner2004-01-301-2/+9
| | | | llvm-svn: 11021
* Add (currently disabled) support to the instruction selector to only insertChris Lattner2004-01-301-4/+47
| | | | | | | | | FP_REG_KILL instructions at the end of blocks involved with critical edges. Fix a bug where FP_REG_KILL instructions weren't inserted in fall through unconditional branches. Perhaps this will fix some linscan problems? llvm-svn: 11019
* Finegrainify namespacificationChris Lattner2004-01-301-4/+17
| | | | | | Implement LiveVariables::getIndexMachineBasicBlock llvm-svn: 11018
* Give clients of MachineFunctionPrinter the ability to specify a banner andBrian Gaeke2004-01-301-3/+14
| | | | | | choose an ostream. llvm-svn: 11016
* Order #includes alphabetically, per style guide.Misha Brukman2004-01-301-2/+2
| | | | llvm-svn: 11015
* Fix a bug aflicting 265.gapChris Lattner2004-01-291-4/+18
| | | | llvm-svn: 11006
* Minor bugfixesChris Lattner2004-01-291-8/+12
| | | | llvm-svn: 11005
* Hyphenate `target-dependent'Misha Brukman2004-01-281-1/+1
| | | | llvm-svn: 11003
* Add a new (static inline) std::ostream& << AllocInfo& method. Use it.Brian Gaeke2004-01-282-6/+9
| | | | llvm-svn: 11002
* Rename DSGraph::ScalarMapTy -> DSScalarMapChris Lattner2004-01-282-9/+9
| | | | llvm-svn: 11001
* Fix a bugChris Lattner2004-01-281-1/+1
| | | | llvm-svn: 11000
* Eliminate the call to removeTriviallyDeadNodes from updateFromGlobals graph,Chris Lattner2004-01-281-4/+1
| | | | | | | moving it to the start of removeDeadNodes. This speeds up DSA by 2s on perlbmk from 41s llvm-svn: 10999
* In the TD pass, iterate over globals directly instead of through the whole ↵Chris Lattner2004-01-281-9/+8
| | | | | | | | scalar map. This saves 5s in the TD pass, from 22->17s on perlbmk llvm-svn: 10998
* In the TD pass, don't iterate over the scalar map to find the globals, ↵Chris Lattner2004-01-281-3/+2
| | | | | | | | | iterate over the globals directly. This doesn't save any substantial time, however, because the globals graph only contains globals! llvm-svn: 10997
* In updateFromGlobalsGraph, instead of iterating over all of the scalars in theChris Lattner2004-01-281-8/+7
| | | | | | | | function to find the globals, iterate over all of the globals directly. This speeds the function up from 14s to 6.3s on perlbmk, reducing DSA time from 53->46s. llvm-svn: 10996
* Minor tweaks, eliminate useless integer pruning optimziation, turn onChris Lattner2004-01-281-4/+6
| | | | | | timers by default llvm-svn: 10993
* Further reduce the number of nodes cloned with getClonedNH, using merge instead.Chris Lattner2004-01-281-1/+1
| | | | | | | | This reduces the number of nodes allocated, then immediately merged and DNE'd from 2193852 to 1298049. unfortunately this only speeds DSA up by ~1.5s (of 53s), because it's spending most of its time waddling through the scalar map :( llvm-svn: 10992
* Add a timer, fix a minor bug.Chris Lattner2004-01-281-4/+12
| | | | | | Also, use RC::merge when possible, reducing the number of nodes allocated, then immediately merged away from 2985444 to 2193852 on perlbmk. llvm-svn: 10991
OpenPOWER on IntegriCloud