15#ifndef LLVM_TRANSFORMS_IPO_FUNCTIONATTRS_H 
   16#define LLVM_TRANSFORMS_IPO_FUNCTIONATTRS_H 
   53      : SkipNonRecursive(SkipNonRecursive) {}
 
 
   63  bool SkipNonRecursive;
 
 
This header provides classes for managing passes over SCCs of the call graph.
 
This header defines various interfaces for pass management in LLVM.
 
Implements a lazy call graph analysis and related passes for the new pass manager.
 
ModuleAnalysisManager MAM
 
Function and variable summary information to aid decisions and implementation of importing.
 
uint64_t GUID
Declare a type to represent a global unique identifier for a global value.
 
An SCC of the call graph.
 
A lazily constructed view of the call graph of a module.
 
Class to hold module path string table and global value map, and encapsulate methods for operating on...
 
A Module instance is used to store all the information related to an LLVM module.
 
Additional 'norecurse' attribute deduction during postlink LTO phase.
 
LLVM_ABI PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM)
 
A set of analyses that are preserved following a run of a transformation pass.
 
A pass to do RPO deduction and propagation of function attributes.
 
LLVM_ABI PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM)
 
StringRef - Represent a constant reference to a string, i.e.
 
An efficient, type-erasing, non-owning reference to a callable.
 
This class implements an extremely fast bulk output stream that can only output to a stream.
 
@ C
The default llvm calling convention, compatible with C.
 
This is an optimization pass for GlobalISel generic memory operations.
 
LLVM_ABI MemoryEffects computeFunctionBodyMemoryAccess(Function &F, AAResults &AAR)
Returns the memory access properties of this copy of the function.
 
MemoryEffectsBase< IRMemLocation > MemoryEffects
Summary of how a function affects memory in the program.
 
LLVM_ABI bool thinLTOPropagateFunctionAttrs(ModuleSummaryIndex &Index, function_ref< bool(GlobalValue::GUID, const GlobalValueSummary *)> isPrevailing)
Propagate function attributes for function summaries along the index's callgraph during thinlink.
 
AnalysisManager< LazyCallGraph::SCC, LazyCallGraph & > CGSCCAnalysisManager
The CGSCC analysis manager.
 
AnalysisManager< Module > ModuleAnalysisManager
Convenience typedef for the Module analysis manager.
 
Support structure for SCC passes to communicate updates the call graph back to the CGSCC pass manager...
 
A CRTP mix-in to automatically provide informational APIs needed for passes.
 
PostOrderFunctionAttrsPass(bool SkipNonRecursive=false)
 
LLVM_ABI PreservedAnalyses run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM, LazyCallGraph &CG, CGSCCUpdateResult &UR)
 
LLVM_ABI void printPipeline(raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName)