commit 545449cacc53ebe391ba4123158e0a6b9119655d
Author: ether <ethe...@gmail.com>
Date: Sun Apr 3 18:28:34 2011 +0800
RegionSimpify: Add more preserved passes acording to the comment of
SplitBlockPredecessors.
diff --git a/lib/RegionSimplify.cpp b/lib/RegionSimplify.cpp
index 875ecf9..f34f1f4 100644
--- a/lib/RegionSimplify.cpp
+++ b/lib/RegionSimplify.cpp
@@ -16,9 +16,12 @@
#include "llvm/Instructions.h"
#include "llvm/ADT/Statistic.h"
+#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/Analysis/Dominators.h"
+#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Analysis/RegionPass.h"
#include "llvm/Analysis/RegionInfo.h"
+#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
#define DEBUG_TYPE "region-simplify"
@@ -76,7 +79,13 @@ void RegionSimplify::print(raw_ostream &O, const Module *M) const {
}
void RegionSimplify::getAnalysisUsage(AnalysisUsage &AU) const {
+ // Function SplitBlockPredecessors currently updates/preserves AliasAnalysis,
+ /// DominatorTree, LoopInfo, and LCCSA but no other analyses.
+ //AU.addPreserved<AliasAnalysis>(); Break SCEV-AA
AU.addPreserved<DominatorTree> ();
+ AU.addPreserved<LoopInfo>();
+ AU.addPreservedID(LCSSAID);
+
AU.addPreserved<RegionInfo> ();
AU.addRequired<RegionInfo> ();
}