aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2015-01-18 09:21:15 +0000
committerChandler Carruth <chandlerc@gmail.com>2015-01-18 09:21:15 +0000
commitb5797b659f879474b4081c4e1a00e955c38a4dcb (patch)
tree4c93b94e979e68942369e697d83c8bc0574bd966 /llvm/lib/Transforms/Scalar/LoopUnswitch.cpp
parenta0a1a8726f92e4032a8ecafe807f6976d4282cb5 (diff)
downloadllvm-b5797b659f879474b4081c4e1a00e955c38a4dcb.zip
llvm-b5797b659f879474b4081c4e1a00e955c38a4dcb.tar.gz
llvm-b5797b659f879474b4081c4e1a00e955c38a4dcb.tar.bz2
[PM] Pull the analyses used for another utility routine into its API
rather than relying on the pass object. This one is a bit annoying, but will pay off. First, supporting this one will make the next one much easier, and for utilities like LoopSimplify, this is moving them (slowly) closer to not having to pass the pass object around throughout their APIs. llvm-svn: 226396
Diffstat (limited to 'llvm/lib/Transforms/Scalar/LoopUnswitch.cpp')
-rw-r--r--llvm/lib/Transforms/Scalar/LoopUnswitch.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp b/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp
index 0ff6e01..cf80244 100644
--- a/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp
+++ b/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp
@@ -769,7 +769,9 @@ void LoopUnswitch::SplitExitEdges(Loop *L,
// Although SplitBlockPredecessors doesn't preserve loop-simplify in
// general, if we call it on all predecessors of all exits then it does.
if (!ExitBlock->isLandingPad()) {
- SplitBlockPredecessors(ExitBlock, Preds, ".us-lcssa", this);
+ SplitBlockPredecessors(ExitBlock, Preds, ".us-lcssa",
+ /*AliasAnalysis*/ nullptr, DT, LI,
+ /*PreserveLCSSA*/ true);
} else {
SmallVector<BasicBlock*, 2> NewBBs;
SplitLandingPadPredecessors(ExitBlock, Preds, ".us-lcssa", ".us-lcssa",