Go to file
Andrew Trick 468eadbbb2 An algorithm for incrementally updating LoopInfo within a
LoopPassManager. The incremental update should be extremely cheap in
most cases and can be used in places where it's not feasible to
regenerate the entire loop forest.

- "Unloop" is a node in the loop tree whose last backedge has been removed.
- Perform reverse dataflow on the block inside Unloop to propagate the
  nearest loop from the block's successors.
- For reducible CFG, each block in unloop is visited exactly
  once. This is because unloop no longer has a backedge and blocks
  within subloops don't change parents.
- Immediate subloops are summarized by the nearest loop reachable from
  their exits or exits within nested subloops.
- At completion the unloop blocks each have a new parent loop, and
  each immediate subloop has a new parent.

llvm-svn: 136844
2011-08-03 23:50:25 +00:00
clang Refactoring of my last patch. 2011-08-03 23:44:01 +00:00
compiler-rt Don't redeclare sr. 2011-07-28 23:15:41 +00:00
debuginfo-tests Testcase for r133065 2011-06-15 17:57:23 +00:00
libcxx Correct misspelling:_LIBCPP_APPLE_STABLE_ABI -> _LIBCPP_STABLE_APPLE_ABI 2011-07-31 17:16:32 +00:00
libcxxabi make cxxabi.h safe for C code to include 2011-08-02 05:15:26 +00:00
lldb Cleaned up the SBType.h file to not include internal headers and reorganized 2011-08-03 22:57:10 +00:00
llvm An algorithm for incrementally updating LoopInfo within a 2011-08-03 23:50:25 +00:00
polly Memaccess: Codegeneration for a simple access function change 2011-08-03 17:02:50 +00:00