Skip to content
  1. Sep 02, 2010
  2. Aug 29, 2010
  3. Jul 22, 2010
  4. Jun 03, 2010
  5. Mar 01, 2010
  6. Feb 10, 2010
  7. Jan 14, 2010
  8. Jan 04, 2010
  9. Dec 21, 2009
  10. Oct 27, 2009
  11. Jul 30, 2009
  12. Jun 30, 2009
  13. Jun 16, 2009
  14. Jun 12, 2009
  15. May 25, 2009
  16. 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
  17. Mar 10, 2009
  18. Mar 08, 2009
  19. Feb 17, 2009
  20. Feb 16, 2009
  21. Feb 08, 2009
  22. Dec 06, 2008
  23. Nov 30, 2008
  24. Nov 11, 2008
  25. Oct 24, 2008
  26. Oct 17, 2008
  27. Aug 26, 2008
  28. Jul 17, 2008
  29. Jun 24, 2008
  30. May 06, 2008
  31. Apr 21, 2008
Loading