LoopLoadElimination should preserve GlobalsAA.
authorEli Friedman <efriedma@codeaurora.org>
Fri, 16 Sep 2016 17:58:07 +0000 (17:58 +0000)
committerEli Friedman <efriedma@codeaurora.org>
Fri, 16 Sep 2016 17:58:07 +0000 (17:58 +0000)
Avoids losing GlobalsAA in the standard pass pipeline.

Differential Revision: https://reviews.llvm.org/D24094

llvm-svn: 281757

llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp

index 3582532..c586cb5 100644 (file)
@@ -21,6 +21,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "llvm/ADT/Statistic.h"
+#include "llvm/Analysis/GlobalsModRef.h"
 #include "llvm/Analysis/LoopAccessAnalysis.h"
 #include "llvm/Analysis/LoopInfo.h"
 #include "llvm/Analysis/ScalarEvolutionExpander.h"
@@ -580,6 +581,7 @@ public:
     AU.addRequired<ScalarEvolutionWrapperPass>();
     AU.addRequired<DominatorTreeWrapperPass>();
     AU.addPreserved<DominatorTreeWrapperPass>();
+    AU.addPreserved<GlobalsAAWrapperPass>();
   }
 
   static char ID;