Skip to content
  1. May 25, 2009
  2. 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
  3. Mar 10, 2009
  4. Mar 08, 2009
  5. Feb 17, 2009
  6. Feb 16, 2009
  7. Feb 08, 2009
  8. Dec 06, 2008
  9. Nov 30, 2008
  10. Nov 11, 2008
  11. Oct 24, 2008
  12. Oct 17, 2008
  13. Aug 26, 2008
  14. Jul 17, 2008
  15. Jun 24, 2008
  16. May 06, 2008
  17. Apr 21, 2008
  18. Mar 28, 2008
  19. Mar 23, 2008
  20. Mar 19, 2008
  21. Mar 14, 2008
  22. Mar 08, 2008
  23. Mar 06, 2008
  24. Mar 02, 2008
  25. Feb 28, 2008
  26. Feb 27, 2008
  27. Feb 21, 2008
  28. Feb 18, 2008
  29. Feb 17, 2008
  30. Feb 16, 2008
  31. Feb 14, 2008
  32. Jan 11, 2008
    • Chris Lattner's avatar
      add a note, remove a done deed. · ff5998e6
      Chris Lattner authored
      llvm-svn: 45869
      ff5998e6
    • Arnold Schwaighofer's avatar
      Improve tail call optimized call's argument lowering. Before this · 6cf72fbb
      Arnold Schwaighofer authored
      commit all arguments where moved to the stack slot where they would
      reside on a normal function call before the lowering to the tail call
      stack slot. This was done to prevent arguments overwriting each other.
      Now only arguments sourcing from a FORMAL_ARGUMENTS node or a
      CopyFromReg node with virtual register (could also be a caller's
      argument) are lowered indirectly.
      
       --This line, and those below, will be ignored--
      
      M    X86/X86ISelLowering.cpp
      M    X86/README.txt
      
      llvm-svn: 45867
      6cf72fbb
  33. Jan 09, 2008
  34. Jan 07, 2008
  35. Dec 29, 2007
    • Chris Lattner's avatar
      Fold comparisons against a constant nan, and optimize ORD/UNORD · 3b6a8211
      Chris Lattner authored
      comparisons with a constant.  This allows us to compile isnan to:
      
      _foo:
      	fcmpu cr7, f1, f1
      	mfcr r2
      	rlwinm r3, r2, 0, 31, 31
      	blr 
      
      instead of:
      
      LCPI1_0:					;  float
      	.space	4
      _foo:
      	lis r2, ha16(LCPI1_0)
      	lfs f0, lo16(LCPI1_0)(r2)
      	fcmpu cr7, f1, f0
      	mfcr r2
      	rlwinm r3, r2, 0, 31, 31
      	blr 
      
      llvm-svn: 45405
      3b6a8211
Loading