LLVM 17.0.0git
|
Correctly update FunctionPropertiesInfo post-inlining. More...
#include "llvm/Analysis/FunctionPropertiesAnalysis.h"
Public Member Functions | |
FunctionPropertiesUpdater (FunctionPropertiesInfo &FPI, const CallBase &CB) | |
void | finish (FunctionAnalysisManager &FAM) const |
Correctly update FunctionPropertiesInfo post-inlining.
A FunctionPropertiesUpdater keeps the state necessary for tracking the changes llvm::InlineFunction makes. The idea is that inlining will at most modify a few BBs of the Caller (maybe the entry BB and definitely the callsite BB) and potentially affect exception handling BBs in the case of invoke inlining.
Definition at line 110 of file FunctionPropertiesAnalysis.h.
FunctionPropertiesUpdater::FunctionPropertiesUpdater | ( | FunctionPropertiesInfo & | FPI, |
const CallBase & | CB | ||
) |
Definition at line 129 of file FunctionPropertiesAnalysis.cpp.
References assert(), llvm::Function::begin(), llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::succ_begin(), and llvm::succ_end().
void FunctionPropertiesUpdater::finish | ( | FunctionAnalysisManager & | FAM | ) | const |
Definition at line 179 of file FunctionPropertiesAnalysis.cpp.
References assert(), llvm::Function::begin(), FAM, llvm::FunctionPropertiesInfo::getFunctionPropertiesInfo(), llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult(), I, llvm::SetVector< T, Vector, Set >::insert(), llvm::SetVector< T, Vector, Set >::size(), llvm::succ_begin(), llvm::succ_end(), and llvm::successors().