diff options
Diffstat (limited to 'llvm/lib/Transforms')
| -rw-r--r-- | llvm/lib/Transforms/Utils/LCSSA.cpp | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Utils/LCSSA.cpp b/llvm/lib/Transforms/Utils/LCSSA.cpp index 5ddb7381a56..29e7c5260f4 100644 --- a/llvm/lib/Transforms/Utils/LCSSA.cpp +++ b/llvm/lib/Transforms/Utils/LCSSA.cpp @@ -34,9 +34,9 @@  #include "llvm/Analysis/BranchProbabilityInfo.h"  #include "llvm/Analysis/GlobalsModRef.h"  #include "llvm/Analysis/LoopPass.h" +#include "llvm/Analysis/MemorySSA.h"  #include "llvm/Analysis/ScalarEvolution.h"  #include "llvm/Analysis/ScalarEvolutionAliasAnalysis.h" -#include "llvm/Transforms/Utils/Local.h"  #include "llvm/IR/Constants.h"  #include "llvm/IR/Dominators.h"  #include "llvm/IR/Function.h" @@ -45,6 +45,7 @@  #include "llvm/IR/PredIteratorCache.h"  #include "llvm/Pass.h"  #include "llvm/Transforms/Utils.h" +#include "llvm/Transforms/Utils/Local.h"  #include "llvm/Transforms/Utils/LoopUtils.h"  #include "llvm/Transforms/Utils/SSAUpdater.h"  using namespace llvm; @@ -444,6 +445,7 @@ struct LCSSAWrapperPass : public FunctionPass {      AU.addPreserved<ScalarEvolutionWrapperPass>();      AU.addPreserved<SCEVAAWrapperPass>();      AU.addPreserved<BranchProbabilityInfoWrapperPass>(); +    AU.addPreserved<MemorySSAWrapperPass>();      // This is needed to perform LCSSA verification inside LPPassManager      AU.addRequired<LCSSAVerificationPass>(); @@ -490,5 +492,6 @@ PreservedAnalyses LCSSAPass::run(Function &F, FunctionAnalysisManager &AM) {    // BPI maps terminators to probabilities, since we don't modify the CFG, no    // updates are needed to preserve it.    PA.preserve<BranchProbabilityAnalysis>(); +  PA.preserve<MemorySSAAnalysis>();    return PA;  }  | 

