[PM] Replace the Pass argument to SplitEdge with specific analyses used
authorChandler Carruth <chandlerc@gmail.com>
Mon, 19 Jan 2015 12:36:53 +0000 (12:36 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Mon, 19 Jan 2015 12:36:53 +0000 (12:36 +0000)
commitd450056c781d37a48ebc788af09d2465bafb9f88
tree84a31d8424c228d2dc917975728e43df8a5ac958
parenta2edd9159a991b07d180969dbb08812c679ad5b0
[PM] Replace the Pass argument to SplitEdge with specific analyses used
and updated.

This may appear to remove handling for things like alias analysis when
splitting critical edges here, but in fact no callers of SplitEdge
relied on this. Similarly, all of them wanted to preserve LCSSA if there
was any update of the loop info. That makes the interface much simpler.

With this, all of BasicBlockUtils.h is free of Pass arguments and
prepared for the new pass manager. This is tho majority of utilities
that relied on pass arguments.

llvm-svn: 226459
llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
llvm/lib/Transforms/Scalar/JumpThreading.cpp
llvm/lib/Transforms/Scalar/LoopUnswitch.cpp
llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp