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