Skip to content
  1. Aug 09, 2011
  2. 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
  3. 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
  4. Aug 04, 2011
  5. Aug 03, 2011
  6. Aug 02, 2011
  7. Jul 31, 2011
  8. Jul 30, 2011
  9. Jul 29, 2011
    • Devang Patel's avatar
      Clear DbgValues in the end. · ce0ceebb
      Devang Patel authored
      llvm-svn: 136503
      ce0ceebb
    • Devang Patel's avatar
      Clean up debug info after reassociation. · 3e02522f
      Devang Patel authored
      llvm-svn: 136480
      3e02522f
    • Eli Friedman's avatar
      Misc optimizer+codegen work for 'cmpxchg' and 'atomicrmw'. They appear to be · adec587d
      Eli Friedman authored
      working on x86 (at least for trivial testcases); other architectures will
      need more work so that they actually emit the appropriate instructions for
      orderings stricter than 'monotonic'. (As far as I can tell, the ARM, PPC,
      Mips, and Alpha backends need such changes.)
      
      llvm-svn: 136457
      adec587d
    • Eli Friedman's avatar
      Make sure to correctly clear the exact/nuw/nsw flags off of shifts when they... · 530341d7
      Eli Friedman authored
      Make sure to correctly clear the exact/nuw/nsw flags off of shifts when they are combined together. <rdar://problem/9859829>
      
      llvm-svn: 136435
      530341d7
    • Chandler Carruth's avatar
      Rewrite the CMake build to use explicit dependencies between libraries, · 9d7feab3
      Chandler Carruth authored
      specified in the same file that the library itself is created. This is
      more idiomatic for CMake builds, and also allows us to correctly specify
      dependencies that are missed due to bugs in the GenLibDeps perl script,
      or change from compiler to compiler. On Linux, this returns CMake to
      a place where it can relably rebuild several targets of LLVM.
      
      I have tried not to change the dependencies from the ones in the current
      auto-generated file. The only places I've really diverged are in places
      where I was seeing link failures, and added a dependency. The goal of
      this patch is not to start changing the dependencies, merely to move
      them into the correct location, and an explicit form that we can control
      and change when necessary.
      
      This also removes a serialization point in the build because we don't
      have to scan all the libraries before we begin building various tools.
      We no longer have a step of the build that regenerates a file inside the
      source tree. A few other associated cleanups fall out of this.
      
      This isn't really finished yet though. After talking to dgregor he urged
      switching to a single CMake macro to construct libraries with both
      sources and dependencies in the arguments. Migrating from the two macros
      to that style will be a follow-up patch.
      
      Also, llvm-config is still generated with GenLibDeps.pl, which means it
      still has slightly buggy dependencies. The internal CMake
      'llvm-config-like' macro uses the correct explicitly specified
      dependencies however. A future patch will switch llvm-config generation
      (when using CMake) to be based on these deps as well.
      
      This may well break Windows. I'm getting a machine set up now to dig
      into any failures there. If anyone can chime in with problems they see
      or ideas of how to solve them for Windows, much appreciated.
      
      llvm-svn: 136433
      9d7feab3
  10. Jul 28, 2011
  11. Jul 27, 2011
  12. Jul 26, 2011
  13. Jul 25, 2011
Loading