using std::make_pair;
-AnalysisID IntervalPartition::ID(AnalysisID::create<IntervalPartition>());
+AnalysisID IntervalPartition::ID(AnalysisID::create<IntervalPartition>(), true);
//===----------------------------------------------------------------------===//
// IntervalPartition Implementation
#include "Support/DepthFirstIterator.h"
#include <algorithm>
-AnalysisID LoopInfo::ID(AnalysisID::create<LoopInfo>());
+AnalysisID LoopInfo::ID(AnalysisID::create<LoopInfo>(), true);
//===----------------------------------------------------------------------===//
// Loop implementation
// DominatorSet Implementation
//===----------------------------------------------------------------------===//
-AnalysisID DominatorSet::ID(AnalysisID::create<DominatorSet>());
-AnalysisID DominatorSet::PostDomID(AnalysisID::create<DominatorSet>());
+AnalysisID DominatorSet::ID(AnalysisID::create<DominatorSet>(), true);
+AnalysisID DominatorSet::PostDomID(AnalysisID::create<DominatorSet>(), true);
bool DominatorSet::runOnFunction(Function *F) {
Doms.clear(); // Reset from the last time we were run...
// ImmediateDominators Implementation
//===----------------------------------------------------------------------===//
-AnalysisID ImmediateDominators::ID(AnalysisID::create<ImmediateDominators>());
-AnalysisID ImmediateDominators::PostDomID(AnalysisID::create<ImmediateDominators>());
+AnalysisID ImmediateDominators::ID(AnalysisID::create<ImmediateDominators>(), true);
+AnalysisID ImmediateDominators::PostDomID(AnalysisID::create<ImmediateDominators>(), true);
// calcIDoms - Calculate the immediate dominator mapping, given a set of
// dominators for every basic block.
// DominatorTree Implementation
//===----------------------------------------------------------------------===//
-AnalysisID DominatorTree::ID(AnalysisID::create<DominatorTree>());
-AnalysisID DominatorTree::PostDomID(AnalysisID::create<DominatorTree>());
+AnalysisID DominatorTree::ID(AnalysisID::create<DominatorTree>(), true);
+AnalysisID DominatorTree::PostDomID(AnalysisID::create<DominatorTree>(), true);
// DominatorTree::reset - Free all of the tree node memory.
//
// DominanceFrontier Implementation
//===----------------------------------------------------------------------===//
-AnalysisID DominanceFrontier::ID(AnalysisID::create<DominanceFrontier>());
-AnalysisID DominanceFrontier::PostDomID(AnalysisID::create<DominanceFrontier>());
+AnalysisID DominanceFrontier::ID(AnalysisID::create<DominanceFrontier>(), true);
+AnalysisID DominanceFrontier::PostDomID(AnalysisID::create<DominanceFrontier>(), true);
const DominanceFrontier::DomSetType &
DominanceFrontier::calcDomFrontier(const DominatorTree &DT,
// DominatorSet Implementation
//===----------------------------------------------------------------------===//
-AnalysisID DominatorSet::ID(AnalysisID::create<DominatorSet>());
-AnalysisID DominatorSet::PostDomID(AnalysisID::create<DominatorSet>());
+AnalysisID DominatorSet::ID(AnalysisID::create<DominatorSet>(), true);
+AnalysisID DominatorSet::PostDomID(AnalysisID::create<DominatorSet>(), true);
bool DominatorSet::runOnFunction(Function *F) {
Doms.clear(); // Reset from the last time we were run...
// ImmediateDominators Implementation
//===----------------------------------------------------------------------===//
-AnalysisID ImmediateDominators::ID(AnalysisID::create<ImmediateDominators>());
-AnalysisID ImmediateDominators::PostDomID(AnalysisID::create<ImmediateDominators>());
+AnalysisID ImmediateDominators::ID(AnalysisID::create<ImmediateDominators>(), true);
+AnalysisID ImmediateDominators::PostDomID(AnalysisID::create<ImmediateDominators>(), true);
// calcIDoms - Calculate the immediate dominator mapping, given a set of
// dominators for every basic block.
// DominatorTree Implementation
//===----------------------------------------------------------------------===//
-AnalysisID DominatorTree::ID(AnalysisID::create<DominatorTree>());
-AnalysisID DominatorTree::PostDomID(AnalysisID::create<DominatorTree>());
+AnalysisID DominatorTree::ID(AnalysisID::create<DominatorTree>(), true);
+AnalysisID DominatorTree::PostDomID(AnalysisID::create<DominatorTree>(), true);
// DominatorTree::reset - Free all of the tree node memory.
//
// DominanceFrontier Implementation
//===----------------------------------------------------------------------===//
-AnalysisID DominanceFrontier::ID(AnalysisID::create<DominanceFrontier>());
-AnalysisID DominanceFrontier::PostDomID(AnalysisID::create<DominanceFrontier>());
+AnalysisID DominanceFrontier::ID(AnalysisID::create<DominanceFrontier>(), true);
+AnalysisID DominanceFrontier::PostDomID(AnalysisID::create<DominanceFrontier>(), true);
const DominanceFrontier::DomSetType &
DominanceFrontier::calcDomFrontier(const DominatorTree &DT,