Skip to content
  1. Apr 26, 2011
    • Chris Lattner's avatar
      Enhance MemDep: When alias analysis returns a partial alias result, · 6f83d06f
      Chris Lattner authored
      return it as a clobber.  This allows GVN to do smart things.
      
      Enhance GVN to be smart about the case when a small load is clobbered
      by a larger overlapping load.  In this case, forward the value.  This
      allows us to compile stuff like this:
      
      int test(void *P) {
        int tmp = *(unsigned int*)P;
        return tmp+*((unsigned char*)P+1);
      }
      
      into:
      
      _test:                                  ## @test
      	movl	(%rdi), %ecx
      	movzbl	%ch, %eax
      	addl	%ecx, %eax
      	ret
      
      which has one load.  We already handled the case where the smaller
      load was from a must-aliased base pointer.
      
      llvm-svn: 130180
      6f83d06f
  2. Apr 23, 2011
  3. Apr 21, 2011
  4. Apr 20, 2011
  5. Apr 19, 2011
  6. Apr 18, 2011
  7. Apr 16, 2011
  8. Apr 15, 2011
  9. Apr 14, 2011
  10. Apr 13, 2011
  11. Apr 12, 2011
  12. Apr 11, 2011
  13. Apr 09, 2011
Loading