Skip to content
  1. Jan 21, 2010
  2. Jan 19, 2010
    • Dan Gohman's avatar
      When doing address-mode sinking, expand the base register first, rather · ca19445d
      Dan Gohman authored
      than the scaled register. This makes it more likely that subsequent
      AddrModeMatcher queries will match the new address the same way as the
      old, instead of accidentally matching what had been the base register
      as the new scaled register, and then failing to match the scaled register.
      This fixes some problems with address-mode sinking multiple muls into a
      block, which will be a lot more common with some upcoming
      LoopStrengthReduction changes.
      
      llvm-svn: 93935
      ca19445d
    • Bob Wilson's avatar
      Fix a crash in scalarrepl for memcpy/memmove where the source and destination · 58d59fe3
      Bob Wilson authored
      are the same.  I had already fixed a similar problem where the source and
      destination were different bitcasts derived from the same alloca, but the
      previous fix still did not handle the case where both operands are exactly
      the same value.  Radar 7552893.
      
      llvm-svn: 93848
      58d59fe3
  3. Jan 17, 2010
  4. Jan 12, 2010
  5. Jan 09, 2010
  6. Jan 08, 2010
  7. Jan 07, 2010
  8. Jan 06, 2010
  9. Jan 05, 2010
  10. Jan 04, 2010
  11. Jan 03, 2010
    • Chris Lattner's avatar
      pull my debug hooks out, I'm done with this xform for now. · 48218e42
      Chris Lattner authored
      llvm-svn: 92446
      48218e42
    • Nick Lewycky's avatar
      Small cleanups, refactor some duplicated code into a single method. No · 475d3d12
      Nick Lewycky authored
      functionality change.
      
      llvm-svn: 92445
      475d3d12
    • Chris Lattner's avatar
      generalize the previous transformation to handle indexing into · fca0c8f9
      Chris Lattner authored
      arrays of structs and other arrays, so long as all the subsequent
      indexes are constants.  This triggers frequently for stuff like:
      
      @divisions = internal constant [29 x [2 x i32]] [[2 x i32] zeroinitializer, [2 x i32] [i32 0, i32 1], [2 x i32] [i32 0, i32 2], [2 x i32] [i32 0, i32 1], [2 x i32] zeroinitializer, [2 x i32] [i32 0, i32 1], [2 x i32] [i32 0, i32 1], [2 x i32] [i32 0, i32 2], [2 x i32] [i32 0, i32 2], [2 x i32] zeroinitializer, [2 x i32] zeroinitializer, [2 x i32] zeroinitializer, [2 x i32] [i32 0, i32 2], [2 x i32] [i32 0, i32 1], [2 x i32] zeroinitializer, [2 x i32] [i32 1, i32 0], [2 x i32] [i32 1, i32 1], [2 x i32] [i32 1, i32 1], [2 x i32] [i32 1, i32 2], [2 x i32] [i32 1, i32 1], [2 x i32] [i32 1, i32 0], [2 x i32] [i32 1, i32 2], [2 x i32] [i32 1, i32 2], [2 x i32] [i32 1, i32 0], [2 x i32] [i32 1, i32 0], [2 x i32] [i32 1, i32 0], [2 x i32] [i32 1, i32 1], [2 x i32] [i32 1, i32 2], [2 x i32] [i32 1, i32 2]], align 32 ; <[29 x [2 x i32]]*> [#uses=50]
      
      	  %623 = getelementptr inbounds [29 x [2 x i32]]* @divisions, i64 0, i64 %619, i64 0 ; <i32*> [#uses=1]
      	   %684 = icmp eq i32 %683, 999 
      
      also for the "my_defs" table in 'gs', etc.
      
      llvm-svn: 92444
      fca0c8f9
    • Nick Lewycky's avatar
      Cleanup. · ff9cd7ac
      Nick Lewycky authored
      llvm-svn: 92436
      ff9cd7ac
Loading