llvm-6502/lib
Andrew Trick 762797d1af 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136844 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-03 23:50:25 +00:00
..
Analysis An algorithm for incrementally updating LoopInfo within a 2011-08-03 23:50:25 +00:00
Archive
AsmParser Remove unused variables. 2011-08-03 19:53:48 +00:00
Bitcode
CodeGen Correctly handle multiple DBG_VALUE instructions at the same SlotIndex. 2011-08-03 23:44:31 +00:00
CompilerDriver
ExecutionEngine
Linker
MC
Object
Support
Target Fix broken encoding of tCBNZ. 2011-08-03 23:21:48 +00:00
Transforms Remove the LowerSetJmp pass. It wasn't used effectively by any of the targets. 2011-08-03 22:18:20 +00:00
VMCore
CMakeLists.txt
Makefile