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 171 of file FunctionPropertiesAnalysis.h.
FunctionPropertiesUpdater::FunctionPropertiesUpdater | ( | FunctionPropertiesInfo & | FPI, |
CallBase & | CB | ||
) |
Definition at line 309 of file FunctionPropertiesAnalysis.cpp.
References assert(), llvm::Function::begin(), II, llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::succ_begin(), and llvm::succ_end().
void FunctionPropertiesUpdater::finish | ( | FunctionAnalysisManager & | FAM | ) | const |
Definition at line 359 of file FunctionPropertiesAnalysis.cpp.
References assert(), llvm::Function::begin(), FAM, llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult(), I, llvm::SetVector< T, Vector, Set, N >::insert(), llvm::SetVector< T, Vector, Set, N >::size(), llvm::succ_begin(), llvm::succ_end(), and llvm::successors().
Referenced by finishAndTest().
|
inline |
Definition at line 176 of file FunctionPropertiesAnalysis.h.