[C++11] Add 'override' keyword to virtual methods that override their base class.
[oota-llvm.git] / lib / Transforms / Utils / LCSSA.cpp
index 5959324da6c574aea950dca1d6be99a810d65711..18717de6ae2eb1754fca9c19af326302f6df2db4 100644 (file)
 #include "llvm/Transforms/Scalar.h"
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/ADT/Statistic.h"
+#include "llvm/Analysis/AliasAnalysis.h"
 #include "llvm/Analysis/LoopPass.h"
 #include "llvm/Analysis/ScalarEvolution.h"
 #include "llvm/IR/Constants.h"
 #include "llvm/IR/Dominators.h"
 #include "llvm/IR/Function.h"
 #include "llvm/IR/Instructions.h"
+#include "llvm/IR/PredIteratorCache.h"
 #include "llvm/Pass.h"
-#include "llvm/Support/PredIteratorCache.h"
 #include "llvm/Transforms/Utils/LoopUtils.h"
 #include "llvm/Transforms/Utils/SSAUpdater.h"
 using namespace llvm;
@@ -251,24 +252,25 @@ struct LCSSA : public FunctionPass {
   LoopInfo *LI;
   ScalarEvolution *SE;
 
-  virtual bool runOnFunction(Function &F);
+  bool runOnFunction(Function &F) override;
 
   /// This transformation requires natural loop information & requires that
   /// loop preheaders be inserted into the CFG.  It maintains both of these,
   /// as well as the CFG.  It also requires dominator information.
-  virtual void getAnalysisUsage(AnalysisUsage &AU) const {
+  void getAnalysisUsage(AnalysisUsage &AU) const override {
     AU.setPreservesCFG();
 
     AU.addRequired<DominatorTreeWrapperPass>();
     AU.addRequired<LoopInfo>();
     AU.addPreservedID(LoopSimplifyID);
+    AU.addPreserved<AliasAnalysis>();
     AU.addPreserved<ScalarEvolution>();
   }
 
 private:
   bool processLoop(Loop &L);
 
-  virtual void verifyAnalysis() const;
+  void verifyAnalysis() const override;
 };
 }