Skip to content
  1. Jan 17, 2008
    • Chris Lattner's avatar
      This commit changes: · 1ea55cf8
      Chris Lattner authored
      1. Legalize now always promotes truncstore of i1 to i8. 
      2. Remove patterns and gunk related to truncstore i1 from targets.
      3. Rename the StoreXAction stuff to TruncStoreAction in TLI.
      4. Make the TLI TruncStoreAction table a 2d table to handle from/to conversions.
      5. Mark a wide variety of invalid truncstores as such in various targets, e.g.
         X86 currently doesn't support truncstore of any of its integer types.
      6. Add legalize support for truncstores with invalid value input types.
      7. Add a dag combine transform to turn store(truncate) into truncstore when
         safe.
      
      The later allows us to compile CodeGen/X86/storetrunc-fp.ll to:
      
      _foo:
      	fldt	20(%esp)
      	fldt	4(%esp)
      	faddp	%st(1)
      	movl	36(%esp), %eax
      	fstps	(%eax)
      	ret
      
      instead of:
      
      _foo:
      	subl	$4, %esp
      	fldt	24(%esp)
      	fldt	8(%esp)
      	faddp	%st(1)
      	fstps	(%esp)
      	movl	40(%esp), %eax
      	movss	(%esp), %xmm0
      	movss	%xmm0, (%eax)
      	addl	$4, %esp
      	ret
      
      llvm-svn: 46140
      1ea55cf8
  2. Jan 11, 2008
  3. Jan 07, 2008
  4. Jan 01, 2008
  5. Dec 31, 2007
  6. Dec 30, 2007
  7. Dec 29, 2007
  8. Dec 13, 2007
  9. Dec 05, 2007
  10. Dec 02, 2007
  11. Dec 01, 2007
  12. Nov 13, 2007
  13. Nov 11, 2007
  14. Nov 05, 2007
    • Duncan Sands's avatar
      Eliminate the remaining uses of getTypeSize. This · 283207a7
      Duncan Sands authored
      should only effect x86 when using long double.  Now
      12/16 bytes are output for long double globals (the
      exact amount depends on the alignment).  This brings
      globals in line with the rest of LLVM: the space
      reserved for an object is now always the ABI size.
      One tricky point is that only 10 bytes should be
      output for long double if it is a field in a packed
      struct, which is the reason for the additional
      argument to EmitGlobalConstant.
      
      llvm-svn: 43688
      283207a7
  15. Oct 19, 2007
  16. Oct 18, 2007
  17. Oct 14, 2007
  18. Oct 12, 2007
  19. Oct 10, 2007
  20. Oct 05, 2007
  21. Sep 26, 2007
  22. Sep 25, 2007
  23. Sep 11, 2007
  24. Sep 07, 2007
  25. Aug 30, 2007
  26. Aug 03, 2007
  27. Jul 27, 2007
  28. Jul 25, 2007
  29. Jul 21, 2007
Loading