Skip to content
  1. Mar 10, 2010
  2. Feb 09, 2010
  3. Jan 31, 2010
  4. Jan 29, 2010
  5. Jan 24, 2010
  6. Jan 23, 2010
  7. Jan 18, 2010
  8. Jan 06, 2010
    • Duncan Sands's avatar
      Fix a README item: have functionattrs look through selects and · c8493da5
      Duncan Sands authored
      phi nodes when deciding which pointers point to local memory.
      I actually checked long ago how useful this is, and it isn't
      very: it hardly ever fires in the testsuite, but since Chris
      wants it here it is!
      
      llvm-svn: 92836
      c8493da5
    • Duncan Sands's avatar
      Partially address a README by having functionattrs consider calls to · 78376ad7
      Duncan Sands authored
      memcpy, memset and other intrinsics that only access their arguments
      to be readnone if the intrinsic's arguments all point to local memory.
      This improves the testcase in the README to readonly, but it could in
      theory be made readnone, however this would involve more sophisticated
      analysis that looks through the memcpy.
      
      llvm-svn: 92829
      78376ad7
  9. Jan 04, 2010
  10. Jan 01, 2010
  11. Dec 13, 2009
  12. Dec 12, 2009
  13. Dec 03, 2009
  14. Nov 29, 2009
  15. Nov 27, 2009
  16. Nov 26, 2009
    • Chris Lattner's avatar
      Teach basicaa that x|c == x+c when the c bits of x are clear. This · 29bc8a91
      Chris Lattner authored
      allows us to compile the example in readme.txt into:
      
      LBB1_1:                                                     ## %bb
      	movl	4(%rdx,%rax), %ecx
      	movl	%ecx, %esi
      	imull	(%rdx,%rax), %esi
      	imull	%esi, %ecx
      	movl	%esi, 8(%rdx,%rax)
      	imull	%ecx, %esi
      	movl	%ecx, 12(%rdx,%rax)
      	movl	%esi, 16(%rdx,%rax)
      	imull	%ecx, %esi
      	movl	%esi, 20(%rdx,%rax)
      	addq	$16, %rax
      	cmpq	$4000, %rax
      	jne	LBB1_1
      
      instead of:
      
      LBB1_1: 
      	movl	(%rdx,%rax), %ecx
      	imull	4(%rdx,%rax), %ecx
      	movl	%ecx, 8(%rdx,%rax)
      	imull	4(%rdx,%rax), %ecx
      	movl	%ecx, 12(%rdx,%rax)
      	imull	8(%rdx,%rax), %ecx
      	movl	%ecx, 16(%rdx,%rax)
      	imull	12(%rdx,%rax), %ecx
      	movl	%ecx, 20(%rdx,%rax)
      	addq	$16, %rax
      	cmpq	$4000, %rax
      	jne	LBB1_1
      
      GCC (4.2) doesn't seem to be able to eliminate the loads in this 
      testcase either, it generates:
      
      L2:
      	movl	(%rdx), %eax
      	imull	4(%rdx), %eax
      	movl	%eax, 8(%rdx)
      	imull	4(%rdx), %eax
      	movl	%eax, 12(%rdx)
      	imull	8(%rdx), %eax
      	movl	%eax, 16(%rdx)
      	imull	12(%rdx), %eax
      	movl	%eax, 20(%rdx)
      	addl	$4, %ecx
      	addq	$16, %rdx
      	cmpl	$1002, %ecx
      	jne	L2
      
      llvm-svn: 89952
      29bc8a91
    • Chris Lattner's avatar
      teach basicaa that A[i] != A[i+1]. · 12dacdd3
      Chris Lattner authored
      llvm-svn: 89951
      12dacdd3
    • Chris Lattner's avatar
      update some notes slightly · 8e09ad6f
      Chris Lattner authored
      llvm-svn: 89913
      8e09ad6f
  17. Nov 15, 2009
  18. Nov 11, 2009
  19. Nov 07, 2009
  20. Nov 05, 2009
  21. Oct 28, 2009
  22. Oct 27, 2009
  23. Oct 25, 2009
  24. Oct 23, 2009
  25. Oct 21, 2009
  26. Sep 21, 2009
Loading