struct CalleeInfo

Declaration

struct CalleeInfo { /* full declaration omitted */ };

Description

Class to accumulate and hold information about a callee.

Declared at: llvm/include/llvm/IR/ModuleSummaryIndex.h:54

Member Variables

public uint32_t Hotness
public uint32_t RelBlockFreq
The value stored in RelBlockFreq has to be interpreted as the digits of a scaled number with a scale of \p -ScaleShift.
public static const int32_t ScaleShift = 8
public static const uint64_t MaxRelBlockFreq = (1 << 29) - 1

Method Overview

Methods

CalleeInfo()

Declared at: llvm/include/llvm/IR/ModuleSummaryIndex.h:73

CalleeInfo(llvm::CalleeInfo::HotnessType Hotness,
           uint64_t RelBF)

Declared at: llvm/include/llvm/IR/ModuleSummaryIndex.h:75

Parameters

llvm::CalleeInfo::HotnessType Hotness
uint64_t RelBF

llvm::CalleeInfo::HotnessType getHotness() const

Declared at: llvm/include/llvm/IR/ModuleSummaryIndex.h:82

void updateHotness(
    const llvm::CalleeInfo::HotnessType
        OtherHotness)

Declared at: llvm/include/llvm/IR/ModuleSummaryIndex.h:78

Parameters

const llvm::CalleeInfo::HotnessType OtherHotness

void updateRelBlockFreq(uint64_t BlockFreq,
                        uint64_t EntryFreq)

Description

Update \p RelBlockFreq from \p BlockFreq and \p EntryFreq BlockFreq is divided by EntryFreq and added to RelBlockFreq. To represent fractional values, the result is represented as a fixed point number with scale of -ScaleShift.

Declared at: llvm/include/llvm/IR/ModuleSummaryIndex.h:89

Parameters

uint64_t BlockFreq
uint64_t EntryFreq