Skip to content
  1. Oct 26, 2004
  2. Oct 25, 2004
  3. Oct 22, 2004
  4. Oct 19, 2004
  5. Oct 16, 2004
  6. Oct 15, 2004
    • Chris Lattner's avatar
      Allow machine operands to represent global variables with offsets. This is · 3065220d
      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
      3065220d
    • 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
  7. Oct 13, 2004
  8. Oct 11, 2004
  9. Oct 10, 2004
  10. Oct 08, 2004
  11. Oct 02, 2004
  12. 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
    • Chris Lattner's avatar
      Pretty print a bit nicer :) · f06f4a7c
      Chris Lattner authored
      llvm-svn: 16628
      f06f4a7c
    • Alkis Evlogimenos's avatar
      Document this class a bit :-) · cc37da1b
      Alkis Evlogimenos authored
      llvm-svn: 16626
      cc37da1b
  13. Sep 30, 2004
  14. Sep 28, 2004
  15. Sep 09, 2004
  16. Sep 08, 2004
Loading