summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/LiveIntervalAnalysis.h
Commit message (Collapse)AuthorAgeFilesLines
* Expose the LiveInterval interfaces as public headers.Chris Lattner2005-09-211-199/+0
| | | | llvm-svn: 23400
* Teach live intervals to not crash on dead livein regsChris Lattner2005-09-021-1/+2
| | | | llvm-svn: 23206
* Allow the live interval analysis pass to be a bit more aggressive aboutChris Lattner2005-03-091-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | numbering values in live ranges for physical registers. The alpha backend currently generates code that looks like this: vreg = preg ... preg = vreg use preg ... preg = vreg use preg etc. Because vreg contains the value of preg coming in, each of the copies back into preg contain that initial value as well. In the case of the Alpha, this allows this testcase: void "foo"(int %blah) { store int 5, int *%MyVar store int 12, int* %MyVar2 ret void } to compile to: foo: ldgp $29, 0($27) ldiq $0,5 stl $0,MyVar ldiq $0,12 stl $0,MyVar2 ret $31,($26),1 instead of: foo: ldgp $29, 0($27) bis $29,$29,$0 ldiq $1,5 bis $0,$0,$29 stl $1,MyVar ldiq $1,12 bis $0,$0,$29 stl $1,MyVar2 ret $31,($26),1 This does not seem to have any noticable effect on X86 code. This fixes PR535. llvm-svn: 20536
* For PR387:\Reid Spencer2004-12-071-1/+1
| | | | | | | Make only one print method to avoid overloaded virtual warnings when \ compiled with -Woverloaded-virtual llvm-svn: 18589
* * Wrap some comments to 80 colsChris Lattner2004-09-301-1/+6
| | | | | | | | * Add const_iterator stuff * Add a print method, which means that I can now call dump() from the debugger. llvm-svn: 16612
* Use a DenseMap for mapping reg->reg. This improves the LiveIntervalAlkis Evlogimenos2004-09-081-6/+7
| | | | | | analysis running time from 2.7869secs to 2.5226secs on 176.gcc. llvm-svn: 16244
* Use newly added API in MRegisterInfo.Alkis Evlogimenos2004-08-261-0/+2
| | | | llvm-svn: 16060
* Clean up whitespace.Alkis Evlogimenos2004-08-041-1/+1
| | | | llvm-svn: 15490
* Convert indentation to 2 spaces.Alkis Evlogimenos2004-08-041-152/+152
| | | | llvm-svn: 15489
* Change std::map<unsigned, LiveInterval*> into a std::map<unsigned,Alkis Evlogimenos2004-07-241-17/+21
| | | | | | | LiveInterval>. This saves some space and removes the pointer indirection caused by following the pointer. llvm-svn: 15167
* Completely eliminate the intervals_ list. instead, the r2iMap_ maintainsChris Lattner2004-07-241-24/+26
| | | | | | ownership of the intervals. llvm-svn: 15155
* Add a new differingRegisterClasses methodChris Lattner2004-07-241-4/+8
| | | | | | | make overlapsAliases take pointers instead of references fix indentation llvm-svn: 15153
* More minor changes:Chris Lattner2004-07-231-3/+17
| | | | | | | | | * Inline some functions * Eliminate some comparisons from the release build This is good for another .3 on gcc. llvm-svn: 15144
* Speedup debug builds a bitChris Lattner2004-07-231-2/+3
| | | | llvm-svn: 15137
* Rename LiveIntervals.(cpp|h) -> LiveIntervalAnalysis.(cpp|h)Chris Lattner2004-07-231-0/+159
llvm-svn: 15135
OpenPOWER on IntegriCloud