Skip to content
  1. Feb 19, 2011
  2. Feb 18, 2011
  3. Jan 02, 2011
  4. Dec 26, 2010
  5. Dec 23, 2010
  6. Dec 11, 2010
  7. Dec 01, 2010
  8. Nov 21, 2010
  9. Sep 02, 2010
  10. Aug 29, 2010
  11. Jul 22, 2010
  12. Jun 03, 2010
  13. Mar 01, 2010
  14. Feb 10, 2010
  15. Jan 14, 2010
  16. Jan 04, 2010
  17. Dec 21, 2009
  18. Oct 27, 2009
  19. Jul 30, 2009
  20. Jun 30, 2009
  21. Jun 16, 2009
  22. Jun 12, 2009
  23. May 25, 2009
  24. Mar 12, 2009
    • Chris Lattner's avatar
      Move 3 "(add (select cc, 0, c), x) -> (select cc, x, (add, x, c))" · 4147f08e
      Chris Lattner authored
      related transformations out of target-specific dag combine into the
      ARM backend.  These were added by Evan in r37685 with no testcases
      and only seems to help ARM (e.g. test/CodeGen/ARM/select_xform.ll).
      
      Add some simple X86-specific (for now) DAG combines that turn things
      like cond ? 8 : 0  -> (zext(cond) << 3).  This happens frequently
      with the recently added cp constant select optimization, but is a
      very general xform.  For example, we now compile the second example
      in const-select.ll to:
      
      _test:
              movsd   LCPI2_0, %xmm0
              ucomisd 8(%esp), %xmm0
              seta    %al
              movzbl  %al, %eax
              movl    4(%esp), %ecx
              movsbl  (%ecx,%eax,4), %eax
              ret
      
      instead of:
      
      _test:
              movl    4(%esp), %eax
              leal    4(%eax), %ecx
              movsd   LCPI2_0, %xmm0
              ucomisd 8(%esp), %xmm0
              cmovbe  %eax, %ecx
              movsbl  (%ecx), %eax
              ret
      
      This passes multisource and dejagnu.
      
      llvm-svn: 66779
      4147f08e
  25. Mar 10, 2009
  26. Mar 08, 2009
  27. Feb 17, 2009
  28. Feb 16, 2009
  29. Feb 08, 2009
Loading