Skip to content
  1. Oct 15, 2008
  2. Oct 05, 2008
  3. Aug 19, 2008
  4. Aug 10, 2008
  5. Jul 14, 2008
  6. May 31, 2008
  7. May 17, 2008
  8. Mar 30, 2008
  9. Mar 20, 2008
  10. Mar 17, 2008
  11. Mar 02, 2008
  12. Feb 28, 2008
  13. Feb 18, 2008
  14. Jan 12, 2008
  15. Jan 11, 2008
  16. Jan 10, 2008
  17. Jan 09, 2008
  18. Jan 07, 2008
  19. Dec 29, 2007
  20. Dec 28, 2007
  21. Dec 18, 2007
  22. Dec 06, 2007
    • Chris Lattner's avatar
      implement a readme entry, compiling the code into: · 7c709a5d
      Chris Lattner authored
      _foo:
      	movl	$12, %eax
      	andl	4(%esp), %eax
      	movl	_array(%eax), %eax
      	ret
      
      instead of:
      
      _foo:
      	movl	4(%esp), %eax
      	shrl	$2, %eax
      	andl	$3, %eax
      	movl	_array(,%eax,4), %eax
      	ret
      
      As it turns out, this triggers all the time, in a wide variety of
      situations, for example, I see diffs like this in various programs:
      
      -       movl    8(%eax), %eax
      -       shll    $2, %eax
      -       andl    $1020, %eax
      -       movl    (%esi,%eax), %eax
      +       movzbl  8(%eax), %eax
      +       movl    (%esi,%eax,4), %eax
      
      
      -       shll    $2, %edx
      -       andl    $1020, %edx
      -       movl    (%edi,%edx), %edx
      +       andl    $255, %edx
      +       movl    (%edi,%edx,4), %edx
      
      Unfortunately, I also see stuff like this, which can be fixed in the
      X86 backend:
      
      -       andl    $85, %ebx
      -       addl    _bit_count(,%ebx,4), %ebp
      +       shll    $2, %ebx
      +       andl    $340, %ebx
      +       addl    _bit_count(%ebx), %ebp
      
      llvm-svn: 44656
      7c709a5d
    • Chris Lattner's avatar
      add a note · 5e224c32
      Chris Lattner authored
      llvm-svn: 44638
      5e224c32
  23. Oct 03, 2007
  24. May 06, 2007
  25. Mar 24, 2007
  26. Mar 18, 2007
Loading