- Nov 18, 2004
-
-
Chris Lattner authored
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
-
Chris Lattner authored
llvm-svn: 17934
-
Chris Lattner authored
* 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
-
Chris Lattner authored
llvm-svn: 17932
-
Chris Lattner authored
llvm-svn: 17931
-
Chris Lattner authored
iterator/begin/end members. llvm-svn: 17930
-
- Nov 16, 2004
-
-
Brian Gaeke authored
llvm-svn: 17887
-
- Nov 05, 2004
-
-
Chris Lattner authored
llvm-svn: 17483
-
- Oct 28, 2004
-
-
Reid Spencer authored
llvm-svn: 17286
-
- Oct 26, 2004
-
-
Chris Lattner authored
llvm-svn: 17253
-
Chris Lattner authored
Patch contributed by Morten Ofstad llvm-svn: 17251
-
Chris Lattner authored
llvm-svn: 17238
-
- Oct 25, 2004
-
-
Chris Lattner authored
contributed by Morten Ofstad llvm-svn: 17217
-
Chris Lattner authored
llvm-svn: 17215
-
- Oct 22, 2004
-
-
Reid Spencer authored
llvm-svn: 17155
-
- Oct 19, 2004
-
-
Reid Spencer authored
llvm-svn: 17136
-
- Oct 16, 2004
-
-
Chris Lattner authored
llvm-svn: 17055
-
- Oct 15, 2004
-
-
Chris Lattner authored
useful when you have a reference like: int A[100]; void foo() { A[10] = 1; } In this case, &A[10] is a single constant and should be treated as such. Only MO_GlobalAddress and MO_ExternalSymbol are allowed to use this field, no other operand type is. This is another fine patch contributed by Jeff Cohen!! llvm-svn: 17007
-
Chris Lattner authored
The problem occurred when trying to reload this instruction: MOV32mr %reg2326, 8, %reg2297, 4, %reg2295 The value of reg2326 was available in EBX, so it was reused from there, instead of reloading it into EDX. The value of reg2297 was available in EDX, so it was reused from there, instead of reloading it into EDI. The value of reg2295 was not available, so we tried reloading it into EBX, its assigned register. However, we checked and saw that we already reloaded something into EBX, so we chose what reg2326 was assigned to (EDX) and reloaded into that register instead. Unfortunately EDX had already been used by reg2297, so reloading into EDX clobbered the value used by the reg2326 operand, breaking the program. The fix for this is to check that the newly picked register is ok. In this case we now find that EDX is already used and try using EDI, which succeeds. llvm-svn: 17006
-
Chris Lattner authored
llvm-svn: 17005
-
- Oct 13, 2004
-
-
Reid Spencer authored
llvm-svn: 16950
-
- Oct 11, 2004
-
-
Misha Brukman authored
llvm-svn: 16906
-
Misha Brukman authored
llvm-svn: 16902
-
Tanya Lattner authored
llvm-svn: 16895
-
- Oct 10, 2004
-
-
Reid Spencer authored
llvm-svn: 16887
-
Reid Spencer authored
llvm-svn: 16886
-
Reid Spencer authored
llvm-svn: 16885
-
- Oct 08, 2004
-
-
Misha Brukman authored
llvm-svn: 16854
-
Misha Brukman authored
llvm-svn: 16850
-
Misha Brukman authored
llvm-svn: 16849
-
Misha Brukman authored
llvm-svn: 16845
-
- Oct 02, 2004
-
-
Chris Lattner authored
llvm-svn: 16633
-
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
and delete them if they turn out to be dead. This is a useful little hack that even speeds up some programs. For example, it speeds up Ptrdist/ks from 17.53s to 15.59s, and 188.ammp from 149s to 146s. This also speeds up llc :) llvm-svn: 16630
-
Chris Lattner authored
generated code over the simple spiller. The new local spiller generates substantially better code than the simple one in some cases, by reusing values that are loaded out of stack slots and kept available in registers. This primarily helps programs that are spilling a lot, and there is still stuff that can be done to improve it. This patch makes the local spiller the default, as it's only a tiny bit slower than the simple spiller (it increases the runtime of llc by < 1%). Here are some numbers with speedups. Program #reuse old(s) new(s) Speedup Povray: 3452, 16.87 -> 15.93 (5.5%) 177.mesa: 2176, 2.77 -> 2.76 (0%) 179.art: 35, 28.43 -> 28.01 (1.5%) 183.equake: 55, 61.44 -> 61.41 (0%) 188.ammp: 869, 174 -> 149 (15%) 164.gzip: 43, 40.73 -> 40.71 (0%) 175.vpr: 351, 18.54 -> 17.34 (6.5%) 176.gcc: 2471, 5.01 -> 4.92 (1.8%) 181.mcf 42, 79.30 -> 75.20 (5.2%) 186.crafty: 484, 29.73 -> 30.04 (-1%) 197.parser: 251, 10.47 -> 10.67 (-1%) 252.eon: 1501, 1.98 -> 1.75 (12%) 253.perlbm: 1183, 14.83 -> 14.42 (2.8%) 254.gap: 825, 7.46 -> 7.29 (2.3%) 255.vortex: 285, 10.51 -> 10.27 (2.3%) 256.bzip2: 63, 55.70 -> 55.20 (0.9%) 300.twolf: 830, 21.63 -> 22.00 (-1%) PtrDist/ks 14, 32.75 -> 17.53 (46.5%) Olden/tsp 46, 8.71 -> 8.24 (5.4%) Free/distray 70, 1.09 -> 0.99 (9.2%) llvm-svn: 16629
-
Chris Lattner authored
llvm-svn: 16628
-
Alkis Evlogimenos authored
llvm-svn: 16626
-
- Sep 30, 2004
-
-
Chris Lattner authored
targets that supported multiple memory operands. llvm-svn: 16614
-
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
-