//===----------------------------------------------------------------------===//
-// LLVM 'Analyze' UTILITY
+// The LLVM analyze utility
//
// This utility is designed to print out the results of running various analysis
// passes on a program. This is useful for understanding a program, or for
struct IndVars : public FunctionPass {
void doit(Function *F) {
- cfg::LoopInfo &LI = getAnalysis<cfg::LoopInfo>();
+ LoopInfo &LI = getAnalysis<LoopInfo>();
for (inst_iterator I = inst_begin(F), E = inst_end(F); I != E; ++I)
if (PHINode *PN = dyn_cast<PHINode>(*I)) {
InductionVariable IV(PN, &LI);
}
void getAnalysisUsage(AnalysisUsage &AU) const {
- AU.addRequired(cfg::LoopInfo::ID);
+ AU.addRequired(LoopInfo::ID);
}
};
} AnTable[] = {
// Global analyses
{ print , NewPrintFunction },
- { intervals , New<FunctionPass, cfg::IntervalPartition> },
- { loops , New<FunctionPass, cfg::LoopInfo> },
+ { intervals , New<FunctionPass, IntervalPartition> },
+ { loops , New<FunctionPass, LoopInfo> },
{ instforest , Create<PrinterPass<InstForest> > },
{ indvars , Create<PrinterPass<IndVars> > },
{ exprs , Create<PrinterPass<Exprs> > },
{ unsafepointertypes, New<Pass, FindUnsafePointerTypes> },
// Dominator analyses
- { domset , New<FunctionPass, cfg::DominatorSet> },
- { idom , New<FunctionPass, cfg::ImmediateDominators> },
- { domtree , New<FunctionPass, cfg::DominatorTree> },
- { domfrontier , New<FunctionPass, cfg::DominanceFrontier> },
-
- { postdomset , New<FunctionPass, cfg::DominatorSet, cfg::DominatorSet::PostDomID> },
- { postidom , New<FunctionPass, cfg::ImmediateDominators, cfg::ImmediateDominators::PostDomID> },
- { postdomtree , New<FunctionPass, cfg::DominatorTree, cfg::DominatorTree::PostDomID> },
- { postdomfrontier , New<FunctionPass, cfg::DominanceFrontier, cfg::DominanceFrontier::PostDomID> },
+ { domset , New<FunctionPass, DominatorSet> },
+ { idom , New<FunctionPass, ImmediateDominators> },
+ { domtree , New<FunctionPass, DominatorTree> },
+ { domfrontier , New<FunctionPass, DominanceFrontier> },
+
+ { postdomset , New<FunctionPass, DominatorSet, DominatorSet::PostDomID> },
+ { postidom , New<FunctionPass, ImmediateDominators, ImmediateDominators::PostDomID> },
+ { postdomtree , New<FunctionPass, DominatorTree, DominatorTree::PostDomID> },
+ { postdomfrontier , New<FunctionPass, DominanceFrontier, DominanceFrontier::PostDomID> },
};
int main(int argc, char **argv) {