Go to the documentation of this file.
15 #ifndef LLVM_TRANSFORMS_UTILS_CALLGRAPHUPDATER_H
16 #define LLVM_TRANSFORMS_UTILS_CALLGRAPHUPDATER_H
110 #endif // LLVM_TRANSFORMS_UTILS_CALLGRAPHUPDATER_H
Wrapper to unify "old style" CallGraph and "new style" LazyCallGraph.
This is an optimization pass for GlobalISel generic memory operations.
CallGraphUpdater()=default
}
PassT::Result & getResult(IRUnitT &IR, ExtraArgTs... ExtraArgs)
Get the result of an analysis pass for a given IR unit.
bool replaceCallSite(CallBase &OldCS, CallBase &NewCS)
Replace OldCS with the new call site NewCS.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
The basic data container for the call graph of a Module of IR.
FunctionAnalysisManager FAM
SmallPtrSet - This class implements a set which is optimized for holding SmallSize or less elements.
CallGraphSCC - This is a single SCC that a CallGraphSCCPass is run on.
An SCC of the call graph.
void removeCallSite(CallBase &CS)
Remove the call site CS from the call graph.
void registerOutlinedFunction(Function &OriginalFn, Function &NewFn)
If a new function was created by outlining, this method can be called to update the call graph for th...
Support structure for SCC passes to communicate updates the call graph back to the CGSCC pass manager...
void replaceFunctionWith(Function &OldFn, Function &NewFn)
Replace OldFn in the call graph (and SCC) with NewFn.
void removeFunction(Function &Fn)
Remove Fn from the call graph.
void initialize(LazyCallGraph &LCG, LazyCallGraph::SCC &SCC, CGSCCAnalysisManager &AM, CGSCCUpdateResult &UR)
Base class for all callable instructions (InvokeInst and CallInst) Holds everything related to callin...
A container for analyses that lazily runs them and caches their results.
A lazily constructed view of the call graph of a module.
void initialize(CallGraph &CG, CallGraphSCC &SCC)
Initializers for usage outside of a CGSCC pass, inside a CGSCC pass in the old and new pass manager (...
void reanalyzeFunction(Function &Fn)
After an CGSCC pass changes a function in ways that affect the call graph, this method can be called ...
A proxy from a FunctionAnalysisManager to an SCC.