Skip to content
  1. Mar 31, 2009
  2. Mar 13, 2009
  3. Mar 11, 2009
  4. Jan 05, 2009
  5. Jun 04, 2008
  6. Apr 11, 2008
  7. Mar 12, 2008
  8. Mar 11, 2008
  9. Feb 27, 2008
  10. Feb 10, 2008
  11. Dec 29, 2007
  12. Dec 05, 2007
  13. Dec 02, 2007
  14. Nov 29, 2007
  15. Nov 28, 2007
  16. Nov 17, 2007
    • Evan Cheng's avatar
      Live interval splitting: · 8e223793
      Evan Cheng authored
      When a live interval is being spilled, rather than creating short, non-spillable
      intervals for every def / use, split the interval at BB boundaries. That is, for
      every BB where the live interval is defined or used, create a new interval that
      covers all the defs and uses in the BB.
      
      This is designed to eliminate one common problem: multiple reloads of the same
      value in a single basic block. Note, it does *not* decrease the number of spills
      since no copies are inserted so the split intervals are *connected* through
      spill and reloads (or rematerialization). The newly created intervals can be
      spilled again, in that case, since it does not span multiple basic blocks, it's
      spilled in the usual manner. However, it can reuse the same stack slot as the
      previously split interval.
      
      This is currently controlled by -split-intervals-at-bb.
      
      llvm-svn: 44198
      8e223793
  17. Oct 13, 2007
    • Evan Cheng's avatar
      Local spiller optimization: · b6307650
      Evan Cheng authored
      Turn this:
      movswl  %ax, %eax
      movl    %eax, -36(%ebp)
      xorl    %edi, -36(%ebp)
      into
      movswl  %ax, %eax
      xorl    %edi, %eax
      movl    %eax, -36(%ebp)
      by unfolding the load / store xorl into an xorl and a store when we know the
      value in the spill slot is available in a register. This doesn't change the
      number of instructions but reduce the number of times memory is accessed.
      
      Also unfold some load folding instructions and reuse the value when similar
      situation presents itself.
      
      llvm-svn: 42947
      b6307650
  18. Aug 14, 2007
  19. Aug 07, 2007
    • David Greene's avatar
      · 99905f16
      David Greene authored
      Add a missing forward declaration.
      
      llvm-svn: 40896
      99905f16
  20. Aug 02, 2007
  21. Apr 04, 2007
  22. Mar 20, 2007
  23. Feb 01, 2007
  24. Dec 17, 2006
  25. Dec 07, 2006
  26. Nov 17, 2006
  27. Sep 05, 2006
    • Chris Lattner's avatar
      Fix a long-standing wart in the code generator: two-address instruction lowering · 13a5dcdd
      Chris Lattner authored
      actually *removes* one of the operands, instead of just assigning both operands
      the same register.  This make reasoning about instructions unnecessarily complex,
      because you need to know if you are before or after register allocation to match
      up operand #'s with the target description file.
      
      Changing this also gets rid of a bunch of hacky code in various places.
      
      This patch also includes changes to fold loads into cmp/test instructions in
      the X86 backend, along with a significant simplification to the X86 spill
      folding code.
      
      llvm-svn: 30108
      13a5dcdd
  28. May 02, 2006
  29. May 01, 2006
  30. Apr 30, 2006
  31. Apr 22, 2005
  32. Oct 02, 2004
  33. Oct 01, 2004
  34. Sep 30, 2004
  35. 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
  36. Jul 20, 2004
Loading