Fix a problem exposed by the et-forest work. Load-vn needs these passes live
whenever it is live, not just when load-vn is computed initially
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25146 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/LoadValueNumbering.cpp b/lib/Analysis/LoadValueNumbering.cpp
index 16e79a1..7169b3c 100644
--- a/lib/Analysis/LoadValueNumbering.cpp
+++ b/lib/Analysis/LoadValueNumbering.cpp
@@ -95,10 +95,10 @@
///
void LoadVN::getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
- AU.addRequired<AliasAnalysis>();
+ AU.addRequiredTransitive<AliasAnalysis>();
AU.addRequired<ValueNumbering>();
- AU.addRequired<DominatorSet>();
- AU.addRequired<TargetData>();
+ AU.addRequiredTransitive<DominatorSet>();
+ AU.addRequiredTransitive<TargetData>();
}
static bool isPathTransparentTo(BasicBlock *CurBlock, BasicBlock *Dom,