- Nov 18, 2004
-
-
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
-
Chris Lattner authored
llvm-svn: 16609
-
Chris Lattner authored
two spillers produce perfectly identical code (at least on povray and eon), but the simple spiller is substantially faster than the local spiller. Once the local spiller is improved, we can switch back. Switching cuts 5.2% off of the llc time for povray (about 1.3s). llvm-svn: 16608
-
Chris Lattner authored
use a simple vector. This speeds up -spiller=simple from taking 22s to taking .1s on povray (debug build). This change does not modify the generated code. llvm-svn: 16607
-