Remove LCSSA's bogus dependence on LoopSimplify and LoopSimplify's bogus
authorDan Gohman <gohman@apple.com>
Mon, 26 Jul 2010 18:11:16 +0000 (18:11 +0000)
committerDan Gohman <gohman@apple.com>
Mon, 26 Jul 2010 18:11:16 +0000 (18:11 +0000)
commit052f0001588a1613f845c84c04b38ced28ad6711
tree58f6b3bd052fe6e2e779eebe5d4e11f4c9619d17
parent572365ec88aeb78908acb7efe381e45ab0b4a50a
Remove LCSSA's bogus dependence on LoopSimplify and LoopSimplify's bogus
dependence on DominanceFrontier. Instead, add an explicit DominanceFrontier
pass in StandardPasses.h to ensure that it gets scheduled at the right
time.

Declare that loop unrolling preserves ScalarEvolution, and shuffle some
getAnalysisUsages.

This eliminates one LoopSimplify and one LCCSA run in the standard
compile opts sequence.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109413 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Support/StandardPasses.h
lib/Transforms/Scalar/LoopDeletion.cpp
lib/Transforms/Scalar/LoopUnrollPass.cpp
lib/Transforms/Utils/LCSSA.cpp
lib/Transforms/Utils/LoopSimplify.cpp