Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Expose the LiveInterval interfaces as public headers. | Chris Lattner | 2005-09-21 | 1 | -199/+0 |
| | | | | llvm-svn: 23400 | ||||
* | Teach live intervals to not crash on dead livein regs | Chris Lattner | 2005-09-02 | 1 | -1/+2 |
| | | | | llvm-svn: 23206 | ||||
* | Allow the live interval analysis pass to be a bit more aggressive about | Chris Lattner | 2005-03-09 | 1 | -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 Spencer | 2004-12-07 | 1 | -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 cols | Chris Lattner | 2004-09-30 | 1 | -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 LiveInterval | Alkis Evlogimenos | 2004-09-08 | 1 | -6/+7 |
| | | | | | | analysis running time from 2.7869secs to 2.5226secs on 176.gcc. llvm-svn: 16244 | ||||
* | Use newly added API in MRegisterInfo. | Alkis Evlogimenos | 2004-08-26 | 1 | -0/+2 |
| | | | | llvm-svn: 16060 | ||||
* | Clean up whitespace. | Alkis Evlogimenos | 2004-08-04 | 1 | -1/+1 |
| | | | | llvm-svn: 15490 | ||||
* | Convert indentation to 2 spaces. | Alkis Evlogimenos | 2004-08-04 | 1 | -152/+152 |
| | | | | llvm-svn: 15489 | ||||
* | Change std::map<unsigned, LiveInterval*> into a std::map<unsigned, | Alkis Evlogimenos | 2004-07-24 | 1 | -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_ maintains | Chris Lattner | 2004-07-24 | 1 | -24/+26 |
| | | | | | | ownership of the intervals. llvm-svn: 15155 | ||||
* | Add a new differingRegisterClasses method | Chris Lattner | 2004-07-24 | 1 | -4/+8 |
| | | | | | | | make overlapsAliases take pointers instead of references fix indentation llvm-svn: 15153 | ||||
* | More minor changes: | Chris Lattner | 2004-07-23 | 1 | -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 bit | Chris Lattner | 2004-07-23 | 1 | -2/+3 |
| | | | | llvm-svn: 15137 | ||||
* | Rename LiveIntervals.(cpp|h) -> LiveIntervalAnalysis.(cpp|h) | Chris Lattner | 2004-07-23 | 1 | -0/+159 |
llvm-svn: 15135 |