LLVM 20.0.0git
|
Correctly update FunctionPropertiesInfo post-inlining. More...
#include "llvm/Analysis/FunctionPropertiesAnalysis.h"
Public Member Functions | |
FunctionPropertiesUpdater (FunctionPropertiesInfo &FPI, CallBase &CB) | |
void | finish (FunctionAnalysisManager &FAM) const |
bool | finishAndTest (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 172 of file FunctionPropertiesAnalysis.h.
FunctionPropertiesUpdater::FunctionPropertiesUpdater | ( | FunctionPropertiesInfo & | FPI, |
CallBase & | CB | ||
) |
Definition at line 309 of file FunctionPropertiesAnalysis.cpp.
References assert(), llvm::Function::begin(), llvm::SmallVectorImpl< T >::emplace_back(), II, llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::succ_begin(), llvm::succ_end(), and llvm::successors().
void FunctionPropertiesUpdater::finish | ( | FunctionAnalysisManager & | FAM | ) | const |
Definition at line 406 of file FunctionPropertiesAnalysis.cpp.
References assert(), llvm::Function::begin(), FAM, llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult(), I, llvm::SetVector< T, Vector, Set, N >::insert(), llvm::DominatorTree::isReachableFromEntry(), llvm::SetVector< T, Vector, Set, N >::size(), llvm::succ_begin(), llvm::succ_end(), and llvm::successors().
Referenced by finishAndTest().
|
inline |
Definition at line 177 of file FunctionPropertiesAnalysis.h.