aboutsummaryrefslogtreecommitdiff
path: root/lldb/scripts/Python
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2011-08-10 23:22:57 +0000
committerAndrew Trick <atrick@apple.com>2011-08-10 23:22:57 +0000
commitd3530b91170e08d180ad710f80206f42d313d6fc (patch)
tree3be445633b54fab94c55f14da49927d3a0357cc3 /lldb/scripts/Python
parent119fd6c03bc0918299d5008049bf1262c650f7e4 (diff)
downloadllvm-d3530b91170e08d180ad710f80206f42d313d6fc.zip
llvm-d3530b91170e08d180ad710f80206f42d313d6fc.tar.gz
llvm-d3530b91170e08d180ad710f80206f42d313d6fc.tar.bz2
Reapplying r136844.
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: 137276
Diffstat (limited to 'lldb/scripts/Python')
0 files changed, 0 insertions, 0 deletions