llvm-6502/lib
Dan Gohman b08ba8824e Fix (at least) quadratic worst-case complexity in DominanceFrontier::splitBlock:
don't visit all blocks in the function, and don't iterate over the split blocks'
predecessor lists for each block visited.

Also, remove the special-case test for the entry block. Splitting the entry
block isn't common enough to make this worthwhile.

This fixes a major compile-time bottleneck which is exposed now that
LoopSimplify isn't being redundantly run both before and after
DominanceFrontier.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109408 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-26 17:55:15 +00:00
..
Analysis Use DominatorTree::properlyDominates instead of dominates with an 2010-07-26 17:34:05 +00:00
Archive
AsmParser
Bitcode
CodeGen A block dominates itself, by definition. 2010-07-26 17:38:15 +00:00
CompilerDriver
ExecutionEngine
Linker
MC Fix format-specifier warning 2010-07-26 03:55:44 +00:00
Support
System
Target Remove extraneous semicolon 2010-07-25 17:34:42 +00:00
Transforms Use DominatorTree::properlyDominates instead of dominates with an 2010-07-26 17:37:36 +00:00
VMCore Fix (at least) quadratic worst-case complexity in DominanceFrontier::splitBlock: 2010-07-26 17:55:15 +00:00
Makefile