- Aug 24, 2005
-
-
Chris Lattner authored
llvm-svn: 22989
-
- Jul 28, 2005
-
-
Chris Lattner authored
llvm-svn: 22529
-
Chris Lattner authored
llvm-svn: 22528
-
- May 14, 2005
-
-
Chris Lattner authored
llvm-svn: 22002
-
- May 13, 2005
-
-
Chris Lattner authored
llvm-svn: 21927
-
- Apr 22, 2005
-
-
Misha Brukman authored
llvm-svn: 21420
-
- Apr 09, 2005
-
-
Chris Lattner authored
removes noop moves. llvm-svn: 21183
-
Chris Lattner authored
llvm-svn: 21182
-
- Mar 10, 2005
-
-
Chris Lattner authored
llvm-svn: 20555
-
Chris Lattner authored
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
-
- Jan 08, 2005
-
-
Chris Lattner authored
llvm-svn: 19386
-
- Dec 07, 2004
-
-
Reid Spencer authored
Make only one print method to avoid overloaded virtual warnings when \ compiled with -Woverloaded-virtual llvm-svn: 18589
-
- Oct 26, 2004
-
-
Chris Lattner authored
llvm-svn: 17238
-
- Oct 25, 2004
-
-
Chris Lattner authored
llvm-svn: 17215
-
- Oct 02, 2004
-
-
Chris Lattner authored
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
-
- Oct 01, 2004
-
-
Chris Lattner authored
llvm-svn: 16628
-
- Sep 30, 2004
-
-
Chris Lattner authored
llvm-svn: 16613
-
Chris Lattner authored
* Add const_iterator stuff * Add a print method, which means that I can now call dump() from the debugger. llvm-svn: 16612
-
- Sep 09, 2004
-
-
Alkis Evlogimenos authored
runs (if coalescing is disabled for example). llvm-svn: 16259
-
- Sep 08, 2004
-
-
Alkis Evlogimenos authored
analysis running time from 2.7869secs to 2.5226secs on 176.gcc. llvm-svn: 16244
-
- Sep 03, 2004
-
-
Misha Brukman authored
llvm-svn: 16153
-
Alkis Evlogimenos authored
Patch contributed by Paolo Invernizzi! llvm-svn: 16152
-
- Sep 02, 2004
-
-
Reid Spencer authored
Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137
-
- Aug 31, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 16123
-
- Aug 27, 2004
-
-
Alkis Evlogimenos authored
runs after the initial run of the live interval analysis. llvm-svn: 16075
-
Alkis Evlogimenos authored
llvm-svn: 16060
-
- Aug 24, 2004
-
-
Chris Lattner authored
Regression.CodeGen.Generic.2004-04-09-SameValueCoalescing.llx and the code size problem. This bug prevented us from doing most register coallesces. llvm-svn: 16031
-
- Aug 16, 2004
-
-
Chris Lattner authored
llvm-svn: 15784
-
- Aug 04, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 15490
-
Alkis Evlogimenos authored
llvm-svn: 15489
-
- Jul 25, 2004
-
-
Chris Lattner authored
llvm-svn: 15196
-
Chris Lattner authored
same as the PHI use. This is not correct as the PHI use value is different depending on which branch is taken. This fixes espresso with aggressive coallescing, and perhaps others. llvm-svn: 15189
-
Chris Lattner authored
llvm-svn: 15187
-
- Jul 24, 2004
-
-
Alkis Evlogimenos authored
LiveInterval>. This saves some space and removes the pointer indirection caused by following the pointer. llvm-svn: 15167
-
Chris Lattner authored
llvm-svn: 15157
-
Chris Lattner authored
ownership of the intervals. llvm-svn: 15155
-
Chris Lattner authored
Interval. This generalizes the isDefinedOnce mechanism that we used before to help us coallesce ranges that overlap. As part of this, every logical range with a different value is assigned a different number in the interval. For example, for code that looks like this: 0 X = ... 4 X += ... ... N = X We now generate a live interval that contains two ranges: [2,6:0),[6,?:1) reflecting the fact that there are two different values in the range at different positions in the code. Currently we are not using this information at all, so this just slows down liveintervals. In the future, this will change. Note that this change also substantially refactors the joinIntervalsInMachineBB method to merge the cases for virt-virt and phys-virt joining into a single case, adds comments, and makes the code a bit easier to follow. llvm-svn: 15154
-
- Jul 23, 2004
-
-
Chris Lattner authored
* Inline some functions * Eliminate some comparisons from the release build This is good for another .3 on gcc. llvm-svn: 15144
-
Chris Lattner authored
llvm-svn: 15135
-
Chris Lattner authored
will soon be renamed) into their own file. The new file should not emit DEBUG output or have other side effects. The LiveInterval class also now doesn't know whether its working on registers or some other thing. In the future we will want to use the LiveInterval class and friends to do stack packing. In addition to a code simplification, this will allow us to do it more easily. llvm-svn: 15134
-