コード例 #1
0
void InterProceduralRA::getAnalysisUsage(AnalysisUsage &AU) const {
    AU.addRequired<moduleDepGraph> ();
    AU.addRequired<BranchAnalysis> ();
    if(!RAFilename.empty()) AU.addRequired<ModuleLookup> ();
    AU.setPreservesAll();
}
コード例 #2
0
void MachineFunctionAnalysis::getAnalysisUsage(AnalysisUsage &AU) const {
  AU.setPreservesAll();
  AU.addRequired<MachineModuleInfo>();
}
コード例 #3
0
/// 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);
}
コード例 #4
0
 virtual void getAnalysisUsage(AnalysisUsage &AU) const {
   AU.setPreservesCFG();
 }
コード例 #5
0
void TypeBasedAliasAnalysis::getAnalysisUsage(AnalysisUsage &AU) const {
  AU.setPreservesAll();
  AliasAnalysis::getAnalysisUsage(AU);
}
コード例 #6
0
ファイル: ProcessImplicitDefs.cpp プロジェクト: crabtw/llvm
void ProcessImplicitDefs::getAnalysisUsage(AnalysisUsage &AU) const {
  AU.setPreservesCFG();
  AU.addPreserved<AAResultsWrapperPass>();
  MachineFunctionPass::getAnalysisUsage(AU);
}
コード例 #7
0
void LiveStacks::getAnalysisUsage(AnalysisUsage &AU) const {
  AU.setPreservesAll();
  MachineFunctionPass::getAnalysisUsage(AU);
}
コード例 #8
0
void PatmosSinglePathInfo::getAnalysisUsage(AnalysisUsage &AU) const {
    AU.addRequired<MachineLoopInfo>();
    AU.setPreservesAll();
    MachineFunctionPass::getAnalysisUsage(AU);
}
コード例 #9
0
ファイル: RaceDetector.cpp プロジェクト: EasyHard/vurd
 // 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();
 }
コード例 #10
0
void LiveDebugVariables::getAnalysisUsage(AnalysisUsage &AU) const {
  AU.addRequired<MachineDominatorTree>();
  AU.addRequiredTransitive<LiveIntervals>();
  AU.setPreservesAll();
  MachineFunctionPass::getAnalysisUsage(AU);
}
コード例 #11
0
ファイル: MachineTraceMetrics.cpp プロジェクト: 8l/SPIRV-LLVM
void MachineTraceMetrics::getAnalysisUsage(AnalysisUsage &AU) const {
  AU.setPreservesAll();
  AU.addRequired<MachineBranchProbabilityInfo>();
  AU.addRequired<MachineLoopInfo>();
  MachineFunctionPass::getAnalysisUsage(AU);
}
コード例 #12
0
ファイル: BranchProbabilityInfo.cpp プロジェクト: mikaoP/llvm
void BranchProbabilityInfoWrapperPass::getAnalysisUsage(
    AnalysisUsage &AU) const {
  AU.addRequired<LoopInfoWrapperPass>();
  AU.addRequired<TargetLibraryInfoWrapperPass>();
  AU.setPreservesAll();
}
コード例 #13
0
ファイル: DemandedBits.cpp プロジェクト: CTSRD-SOAAP/llvm
void DemandedBitsWrapperPass::getAnalysisUsage(AnalysisUsage &AU) const {
  AU.setPreservesCFG();
  AU.addRequired<AssumptionCacheTracker>();
  AU.addRequired<DominatorTreeWrapperPass>();
  AU.setPreservesAll();
}
コード例 #14
0
ファイル: PolyhedralInfo.cpp プロジェクト: llvm-project/polly
void PolyhedralInfo::getAnalysisUsage(AnalysisUsage &AU) const {
  AU.addRequiredTransitive<DependenceInfoWrapperPass>();
  AU.addRequired<LoopInfoWrapperPass>();
  AU.addRequiredTransitive<ScopInfoWrapperPass>();
  AU.setPreservesAll();
}
コード例 #15
0
void LoopInfoWrapperPass::getAnalysisUsage(AnalysisUsage &AU) const {
  AU.setPreservesAll();
  AU.addRequired<DominatorTreeWrapperPass>();
}
コード例 #16
0
void RelativeMinMax::getAnalysisUsage(AnalysisUsage &AU) const {
  AU.addRequired<DominatorTree>();
  AU.addRequired<LoopInfoExpr>();
  AU.addRequired<SymPyInterface>();
  AU.setPreservesAll();
}
コード例 #17
0
ファイル: CallGraph.cpp プロジェクト: Aj0Ay/llvm
void CallGraphWrapperPass::getAnalysisUsage(AnalysisUsage &AU) const {
  AU.setPreservesAll();
}
コード例 #18
0
ファイル: InlineCost.cpp プロジェクト: adevress/root-1
void InlineCostAnalysis::getAnalysisUsage(AnalysisUsage &AU) const {
  AU.setPreservesAll();
  AU.addRequired<TargetTransformInfo>();
  CallGraphSCCPass::getAnalysisUsage(AU);
}
コード例 #19
0
ファイル: RegionInfo.cpp プロジェクト: 0x00evil/llvm
void RegionInfoPass::getAnalysisUsage(AnalysisUsage &AU) const {
  AU.setPreservesAll();
  AU.addRequiredTransitive<DominatorTreeWrapperPass>();
  AU.addRequired<PostDominatorTree>();
  AU.addRequired<DominanceFrontier>();
}
コード例 #20
0
ファイル: LazyValueInfo.cpp プロジェクト: hsorby/opencor
void LazyValueInfo::getAnalysisUsage(AnalysisUsage &AU) const {
  AU.setPreservesAll();
  AU.addRequired<AssumptionCacheTracker>();
  AU.addRequired<TargetLibraryInfoWrapperPass>();
}
コード例 #21
0
void BranchProbabilityInfo::getAnalysisUsage(AnalysisUsage &AU) const {
  AU.addRequired<LoopInfo>();
  AU.setPreservesAll();
}
コード例 #22
0
 virtual void getAnalysisUsage(AnalysisUsage &AU) const {
   AU.addRequired<ScalarEvolution>();
   AU.addRequired<PointerTracking>();
   AU.addRequired<DominatorTree>();
   AU.setPreservesAll();
 }
コード例 #23
0
ファイル: RegionPass.cpp プロジェクト: Aj0Ay/llvm
/// Pass Manager itself does not invalidate any analysis info.
void RGPassManager::getAnalysisUsage(AnalysisUsage &Info) const {
  Info.addRequired<RegionInfoPass>();
  Info.setPreservesAll();
}
コード例 #24
0
void LiveVariables::getAnalysisUsage(AnalysisUsage &AU) const {
  AU.addRequiredID(UnreachableMachineBlockElimID);
  AU.setPreservesAll();
  MachineFunctionPass::getAnalysisUsage(AU);
}
コード例 #25
0
ファイル: LiveValues.cpp プロジェクト: colgur/llvm
void LiveValues::getAnalysisUsage(AnalysisUsage &AU) const {
  AU.addRequired<DominatorTree>();
  AU.addRequired<LoopInfo>();
  AU.setPreservesAll();
}
コード例 #26
0
void WinEHStatePass::getAnalysisUsage(AnalysisUsage &AU) const {
  // This pass should only insert a stack allocation, memory accesses, and
  // localrecovers.
  AU.setPreservesCFG();
}
コード例 #27
0
ファイル: BlockFrequencyInfo.cpp プロジェクト: Adamilko/llvm
void BlockFrequencyInfoWrapperPass::getAnalysisUsage(AnalysisUsage &AU) const {
  AU.addRequired<BranchProbabilityInfoWrapperPass>();
  AU.addRequired<LoopInfoWrapperPass>();
  AU.setPreservesAll();
}
コード例 #28
0
ファイル: TypeBasedAliasAnalysis.cpp プロジェクト: UWOS/llvm
void TypeBasedAAWrapperPass::getAnalysisUsage(AnalysisUsage &AU) const {
  AU.setPreservesAll();
  AU.addRequired<TargetLibraryInfoWrapperPass>();
}
コード例 #29
0
ファイル: LoopPass.cpp プロジェクト: adevress/root-1
/// 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();
}
コード例 #30
0
void LibCallAliasAnalysis::getAnalysisUsage(AnalysisUsage &AU) const {
  AliasAnalysis::getAnalysisUsage(AU);
  AU.setPreservesAll();                         // Does not transform code
}