void InterProceduralRA::getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<moduleDepGraph> (); AU.addRequired<BranchAnalysis> (); if(!RAFilename.empty()) AU.addRequired<ModuleLookup> (); AU.setPreservesAll(); }
void MachineFunctionAnalysis::getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesAll(); AU.addRequired<MachineModuleInfo>(); }
/// Tell the pass manager which passes we depend on and what information we /// preserve. void StackMapLiveness::getAnalysisUsage(AnalysisUsage &AU) const { // We preserve all information. AU.setPreservesAll(); AU.setPreservesCFG(); MachineFunctionPass::getAnalysisUsage(AU); }
virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesCFG(); }
void TypeBasedAliasAnalysis::getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesAll(); AliasAnalysis::getAnalysisUsage(AU); }
void ProcessImplicitDefs::getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesCFG(); AU.addPreserved<AAResultsWrapperPass>(); MachineFunctionPass::getAnalysisUsage(AU); }
void LiveStacks::getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesAll(); MachineFunctionPass::getAnalysisUsage(AU); }
void PatmosSinglePathInfo::getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<MachineLoopInfo>(); AU.setPreservesAll(); MachineFunctionPass::getAnalysisUsage(AU); }
// We don't modify the program, so we preserve all analyses void RaceDetector::getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<FlowtoAnalysis>(); AU.addRequired<ShareAnalysis>(); AU.addRequired<LockDomAnalysis>(); AU.setPreservesAll(); }
void LiveDebugVariables::getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<MachineDominatorTree>(); AU.addRequiredTransitive<LiveIntervals>(); AU.setPreservesAll(); MachineFunctionPass::getAnalysisUsage(AU); }
void MachineTraceMetrics::getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesAll(); AU.addRequired<MachineBranchProbabilityInfo>(); AU.addRequired<MachineLoopInfo>(); MachineFunctionPass::getAnalysisUsage(AU); }
void BranchProbabilityInfoWrapperPass::getAnalysisUsage( AnalysisUsage &AU) const { AU.addRequired<LoopInfoWrapperPass>(); AU.addRequired<TargetLibraryInfoWrapperPass>(); AU.setPreservesAll(); }
void DemandedBitsWrapperPass::getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesCFG(); AU.addRequired<AssumptionCacheTracker>(); AU.addRequired<DominatorTreeWrapperPass>(); AU.setPreservesAll(); }
void PolyhedralInfo::getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequiredTransitive<DependenceInfoWrapperPass>(); AU.addRequired<LoopInfoWrapperPass>(); AU.addRequiredTransitive<ScopInfoWrapperPass>(); AU.setPreservesAll(); }
void LoopInfoWrapperPass::getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesAll(); AU.addRequired<DominatorTreeWrapperPass>(); }
void RelativeMinMax::getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<DominatorTree>(); AU.addRequired<LoopInfoExpr>(); AU.addRequired<SymPyInterface>(); AU.setPreservesAll(); }
void CallGraphWrapperPass::getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesAll(); }
void InlineCostAnalysis::getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesAll(); AU.addRequired<TargetTransformInfo>(); CallGraphSCCPass::getAnalysisUsage(AU); }
void RegionInfoPass::getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesAll(); AU.addRequiredTransitive<DominatorTreeWrapperPass>(); AU.addRequired<PostDominatorTree>(); AU.addRequired<DominanceFrontier>(); }
void LazyValueInfo::getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesAll(); AU.addRequired<AssumptionCacheTracker>(); AU.addRequired<TargetLibraryInfoWrapperPass>(); }
void BranchProbabilityInfo::getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<LoopInfo>(); AU.setPreservesAll(); }
virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<ScalarEvolution>(); AU.addRequired<PointerTracking>(); AU.addRequired<DominatorTree>(); AU.setPreservesAll(); }
/// Pass Manager itself does not invalidate any analysis info. void RGPassManager::getAnalysisUsage(AnalysisUsage &Info) const { Info.addRequired<RegionInfoPass>(); Info.setPreservesAll(); }
void LiveVariables::getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequiredID(UnreachableMachineBlockElimID); AU.setPreservesAll(); MachineFunctionPass::getAnalysisUsage(AU); }
void LiveValues::getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<DominatorTree>(); AU.addRequired<LoopInfo>(); AU.setPreservesAll(); }
void WinEHStatePass::getAnalysisUsage(AnalysisUsage &AU) const { // This pass should only insert a stack allocation, memory accesses, and // localrecovers. AU.setPreservesCFG(); }
void BlockFrequencyInfoWrapperPass::getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<BranchProbabilityInfoWrapperPass>(); AU.addRequired<LoopInfoWrapperPass>(); AU.setPreservesAll(); }
void TypeBasedAAWrapperPass::getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesAll(); AU.addRequired<TargetLibraryInfoWrapperPass>(); }
/// Pass Manager itself does not invalidate any analysis info. void LPPassManager::getAnalysisUsage(AnalysisUsage &Info) const { // LPPassManager needs LoopInfo. In the long term LoopInfo class will // become part of LPPassManager. Info.addRequired<LoopInfo>(); Info.setPreservesAll(); }
void LibCallAliasAnalysis::getAnalysisUsage(AnalysisUsage &AU) const { AliasAnalysis::getAnalysisUsage(AU); AU.setPreservesAll(); // Does not transform code }