Skip to content
  1. Nov 29, 2006
  2. Nov 04, 2006
  3. Oct 30, 2006
  4. Oct 13, 2006
  5. Oct 12, 2006
  6. Oct 11, 2006
  7. Oct 09, 2006
  8. Sep 22, 2006
  9. Sep 11, 2006
  10. Sep 08, 2006
  11. Sep 07, 2006
  12. Aug 11, 2006
  13. Jul 20, 2006
  14. Jul 19, 2006
  15. Jul 11, 2006
  16. Jun 29, 2006
  17. Jun 27, 2006
  18. Jun 15, 2006
  19. Jun 02, 2006
  20. Jun 01, 2006
  21. May 30, 2006
    • Evan Cheng's avatar
      A addressing mode folding enhancement: · 734e1e24
      Evan Cheng authored
      Fold c2 in (x << c1) | c2 where (c2 < c1)
      e.g.
      int test(int x) {
        return (x << 3) + 7;
      }
      
      This can be codegen'd as:
      leal 7(,%eax,8), %eax
      
      llvm-svn: 28550
      734e1e24
  22. May 20, 2006
  23. May 19, 2006
  24. May 17, 2006
  25. May 16, 2006
  26. May 08, 2006
    • Evan Cheng's avatar
      Fixing truncate. Previously we were emitting truncate from r16 to r8 as · 9733bde7
      Evan Cheng authored
      movw. That is we promote the destination operand to r16. So
              %CH = TRUNC_R16_R8 %BP
      is emitted as
              movw %bp, %cx.
      
      This is incorrect. If %cl is live, it would be clobbered.
      Ideally we want to do the opposite, that is emitted it as
              movb ??, %ch
      But this is not possible since %bp does not have a r8 sub-register.
      
      We are now defining a new register class R16_ which is a subclass of R16
      containing only those 16-bit registers that have r8 sub-registers (i.e.
      AX - DX). We isel the truncate to two instructions, a MOV16to16_ to copy the
      value to the R16_ class, followed by a TRUNC_R16_R8.
      
      Due to bug 770, the register colaescer is not going to coalesce between R16 and
      R16_. That will be fixed later so we can eliminate the MOV16to16_. Right now, it
      can only be eliminated if we are lucky that source and destination registers are
      the same.
      
      llvm-svn: 28164
      9733bde7
  27. May 05, 2006
  28. Apr 27, 2006
  29. Apr 23, 2006
  30. Apr 22, 2006
  31. Apr 03, 2006
  32. Mar 25, 2006
  33. Mar 23, 2006
  34. Mar 18, 2006
Loading