Skip to content
  1. Aug 15, 2011
  2. Aug 14, 2011
  3. Aug 12, 2011
  4. Aug 11, 2011
  5. Aug 10, 2011
  6. Aug 09, 2011
  7. Aug 06, 2011
    • Andrew Trick's avatar
      Made SCEV's UDiv expressions more canonical. When dividing a · 6d45a01b
      Andrew Trick authored
      recurrence, the initial values low bits can sometimes be ignored.
      
      To take advantage of this, added FoldIVUser to IndVarSimplify to fold
      an IV operand into a udiv/lshr if the operator doesn't affect the
      result.
      
      -indvars -disable-iv-rewrite now transforms
      
      i = phi i4
      i1 = i0 + 1
      idx = i1 >> (2 or more)
      i4 = i + 4
      
      into
      
      i = phi i4
      idx = i0 >> ...
      i4 = i + 4
      
      llvm-svn: 137013
      6d45a01b
  8. Aug 05, 2011
    • Chandler Carruth's avatar
      Temporarily revert r135528 which distinguishes between two copies of one · 81b7e11c
      Chandler Carruth authored
      inlined variable, based on the discussion in PR10542.
      
      This explodes the runtime of several passes down the pipeline due to
      a large number of "copies" remaining live across a large function. This
      only shows up with both debug and opt, but when it does it creates
      a many-minute compile when self-hosting LLVM+Clang. There are several
      other cases that show these types of regressions.
      
      All of this is tracked in PR10542, and progress is being made on fixing
      the issue. Once its addressed, the re-instated, but until then this
      restores the performance for self-hosting and other opt+debug builds.
      
      Devang, let me know if this causes any trouble, or impedes fixing it in
      any way, and thanks for working on this!
      
      llvm-svn: 136953
      81b7e11c
  9. Aug 04, 2011
  10. Aug 03, 2011
    • Andrew Trick's avatar
      SCEV: Use AssertingVH to catch dangling BasicBlock* when passes forget · bf69d033
      Andrew Trick authored
      to notify SCEV of a change. Add forgetLoop in a couple of those places.
      
      llvm-svn: 136797
      bf69d033
    • Andrew Trick's avatar
      whitespace · 9d8c2af2
      Andrew Trick authored
      llvm-svn: 136795
      9d8c2af2
    • Nick Lewycky's avatar
      Small cleanups: · d405b7e2
      Nick Lewycky authored
        - use SmallVectorImpl& for the function argument.
        - ignore the operands on the GEP, even if they aren't constant! Much as we
          pretend the malloc succeeds, we pretend that malloc + whatever-you-GEP'd-by
          is not null. It's magic!
      
      llvm-svn: 136757
      d405b7e2
    • Nick Lewycky's avatar
      Fix logical error when detecting lifetime intrinsics. · 50f4966c
      Nick Lewycky authored
      Don't replace a gep/bitcast with 'undef' because that will form a "free(undef)"
      which in turn means "unreachable". What we wanted was a no-op. Instead, analyze
      the whole tree and look for all the instructions we need to delete first, then
      delete them second, not relying on the use_list to stay consistent.
      
      llvm-svn: 136752
      50f4966c
Loading