Skip to content
  1. Apr 26, 2011
    • Chris Lattner's avatar
      Improve the bail-out predicate to really only kick in when phi · eb045f9c
      Chris Lattner authored
      translation fails.  We were bailing out in some cases that would
      cause us to miss GVN'ing some non-local cases away.
      
      llvm-svn: 130206
      eb045f9c
    • Nick Lewycky's avatar
      Rename everything to follow LLVM style ... I think. · c58d293a
      Nick Lewycky authored
      Add support for switch and indirectbr edges. This works by densely numbering
      all blocks which have such terminators, and then separately numbering the
      possible successors. The predecessors write down a number, the successor knows
      its own number (as a ConstantInt) and sends that and the pointer to the number
      the predecessor wrote down to the runtime, who looks up the counter in a
      per-function table.
      
      Coverage data should now be functional, but I haven't tested it on anything
      other than my 2-file synthetic test program for coverage.
      
      llvm-svn: 130186
      c58d293a
    • 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
Loading