Go to the source code of this file.
|
| namespace | llvm |
| | This is an optimization pass for GlobalISel generic memory operations.
|
|
| | STATISTIC (NumOfPGOICallPromotion, "Number of indirect call promotions.") |
| | STATISTIC (NumOfPGOICallsites, "Number of indirect call candidate sites.") |
| static MDNode * | createBranchWeights (LLVMContext &Context, uint64_t TrueWeight, uint64_t FalseWeight) |
| static void | computeVirtualCallSiteTypeInfoMap (Module &M, ModuleAnalysisManager &MAM, VirtualCallSiteTypeInfoMap &VirtualCSInfo) |
| static bool | promoteIndirectCalls (const InstrumentationOptions &Opts, Module &M, ProfileSummaryInfo *PSI, bool InLTO, bool SamplePGO, ModuleAnalysisManager &MAM) |
◆ DEBUG_TYPE
| #define DEBUG_TYPE "pgo-icall-prom" |
◆ computeVirtualCallSiteTypeInfoMap()
Definition at line 905 of file IndirectCallPromotion.cpp.
References llvm::cast(), llvm::dyn_cast(), F, FAM, llvm::findDevirtualizableCallsForTypeTest(), llvm::Intrinsic::getDeclarationIfExists(), llvm::make_early_inc_range(), MAM, llvm::PGOIndirectCallVisitor::tryGetVTableInstruction(), llvm::Value::use_empty(), and llvm::Value::uses().
Referenced by promoteIndirectCalls().
◆ createBranchWeights()
◆ promoteIndirectCalls()
Definition at line 958 of file IndirectCallPromotion.cpp.
References Changed, computeVirtualCallSiteTypeInfoMap(), llvm::InstrProfSymtab::create(), llvm::dbgs(), E(), llvm::EnableVTableProfileUse, F, FAM, llvm::detail::DenseSetImpl< ValueT, MapTy >::insert_range(), LLVM_DEBUG, MAM, and llvm::toString().
Referenced by llvm::PGOIndirectCallPromotion::run().
◆ STATISTIC() [1/2]
| STATISTIC |
( |
NumOfPGOICallPromotion | , |
|
|
"Number of indirect call promotions." | ) |
◆ STATISTIC() [2/2]
| STATISTIC |
( |
NumOfPGOICallsites | , |
|
|
"Number of indirect call candidate sites." | ) |