Skip to content
  1. Oct 26, 2004
  2. Oct 15, 2004
    • Chris Lattner's avatar
      This patch fixes the nasty bug that caused 175.vpr to fail for X86 last night. · 21522363
      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
      21522363
    • Chris Lattner's avatar
      9af0572a
  3. Oct 02, 2004
  4. Oct 01, 2004
    • Chris Lattner's avatar
      Add a simple little improvement to the local spiller to keep track of stores · 04f52079
      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
      04f52079
    • Chris Lattner's avatar
      Substantially revamp the local spiller, causing it to actually improve the · d3b1f6c7
      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
      d3b1f6c7
  5. Sep 30, 2004
  6. Sep 02, 2004
    • Reid Spencer's avatar
      Changes For Bug 352 · 7c16caa3
      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
      7c16caa3
  7. Aug 16, 2004
  8. Aug 15, 2004
  9. Jul 21, 2004
  10. Jul 16, 2004
  11. Jun 25, 2004
  12. Jun 02, 2004
  13. May 29, 2004
  14. Mar 09, 2004
  15. Mar 07, 2004
  16. Mar 06, 2004
  17. Mar 02, 2004
  18. Mar 01, 2004
  19. Feb 27, 2004
  20. Feb 26, 2004
  21. Feb 25, 2004
  22. Feb 24, 2004
Loading