LLVM
8.0.1
|
#include "llvm/Analysis/IndirectCallPromotionAnalysis.h"
Public Member Functions | |
ICallPromotionAnalysis () | |
ArrayRef< InstrProfValueData > | getPromotionCandidatesForInstruction (const Instruction *I, uint32_t &NumVals, uint64_t &TotalCount, uint32_t &NumCandidates) |
Returns reference to array of InstrProfValueData for the given instruction I . More... | |
Definition at line 25 of file IndirectCallPromotionAnalysis.h.
ICallPromotionAnalysis::ICallPromotionAnalysis | ( | ) |
Definition at line 56 of file IndirectCallPromotionAnalysis.cpp.
References assert(), llvm::dbgs(), I, ICPRemainingPercentThreshold, ICPTotalPercentThreshold, LLVM_DEBUG, and MaxNumPromotions.
ArrayRef< InstrProfValueData > ICallPromotionAnalysis::getPromotionCandidatesForInstruction | ( | const Instruction * | I, |
uint32_t & | NumVals, | ||
uint64_t & | TotalCount, | ||
uint32_t & | NumCandidates | ||
) |
Returns reference to array of InstrProfValueData for the given instruction I
.
The NumVals
, TotalCount
and NumCandidates
are set to the number of values in the array, the total profile count of the indirect call I
, and the number of profitable candidates in the given array (which is sorted in reverse order of profitability).
The returned array space is owned by this class, and overwritten on subsequent calls.
Definition at line 95 of file IndirectCallPromotionAnalysis.cpp.
References llvm::getValueProfDataFromInst(), and MaxNumPromotions.
Referenced by computeFunctionSummary(), and llvm::pgo::promoteIndirectCall().