Jlm
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Static Private Attributes | List of all members
jlm::llvm::StoreValueForwarding::Statistics Class Referencefinal

Store Value Forwarding Statistics class. More...

Inheritance diagram for jlm::llvm::StoreValueForwarding::Statistics:
Inheritance graph
[legend]
Collaboration diagram for jlm::llvm::StoreValueForwarding::Statistics:
Collaboration graph
[legend]

Public Member Functions

 ~Statistics () override=default
 
 Statistics (const util::FilePath &sourceFile)
 
void StartStatistics () noexcept
 
void StopStatistics (const size_t numLoadsWithMemoryState, const size_t numLoadsWithoutMemoryState, const size_t numLoadsTracedtoDeltaNode, const size_t numForwardedLoadsWithMemoryState, const size_t numForwardedLoadsWithoutMemoryState, const AliasQueryResponseCounter &storeAAResponses, const AliasQueryResponseCounter &loadAAResponses) noexcept
 
void startTracing () noexcept
 
void stopTracing () noexcept
 
void startForwarding () noexcept
 
void stopForwarding () noexcept
 
- Public Member Functions inherited from jlm::util::Statistics
 Statistics (const Statistics::Id &statisticsId, util::FilePath sourceFile)
 
Statistics::Id GetId () const noexcept
 
std::string_view GetName () const
 
const util::FilePathGetSourceFile () const
 
std::string Serialize (char fieldSeparator, char nameValueSeparator) const
 
bool HasMeasurement (const std::string &name) const noexcept
 
const MeasurementGetMeasurement (const std::string &name) const
 
template<typename T >
const T & GetMeasurementValue (const std::string &name) const
 
IteratorRange< MeasurementList::const_iterator > GetMeasurements () const
 
bool HasTimer (const std::string &name) const noexcept
 
size_t GetTimerElapsedNanoseconds (const std::string &name) const
 
IteratorRange< TimerList::const_iterator > GetTimers () const
 

Static Public Member Functions

static std::unique_ptr< StatisticsCreate (const util::FilePath &sourceFile)
 

Static Private Attributes

static constexpr auto NumLoadsWithMemoryStateLabel_ = "#LoadsWithMemoryState"
 
static constexpr auto NumLoadsWithoutMemoryStateLabel_ = "#LoadsWithoutMemoryState"
 
static constexpr auto NumLoadsTracedToDeltaNodeLabel_ = "#LoadsTracedToDeltaNode"
 
static constexpr auto NumForwardedLoadsWithMemoryStateLabel_ = "#ForwardedLoadsWithMemoryState"
 
static constexpr auto NumForwardedLoadsWithoutMemoryStateLabel_
 
static constexpr auto numNoAliasStoreLabel_ = "#NoAliasStore"
 
static constexpr auto numMayAliasStoreLabel_ = "#MayAliasStore"
 
static constexpr auto numMustAliasStoreLabel_ = "#MustAliasStore"
 
static constexpr auto numNoAliasLoadLabel_ = "#NoAliasLoad"
 
static constexpr auto numMayAliasLoadLabel_ = "#MayAliasLoad"
 
static constexpr auto numMustAliasLoadLabel_ = "#MustAliasLoad"
 
static constexpr auto TracingLabel_ = "TracingTime"
 
static constexpr auto ForwardingLabel_ = "ForwardingTime"
 

Additional Inherited Members

- Public Types inherited from jlm::util::Statistics
enum class  Id {
  FirstEnumValue , AggregateAllocaSplitting , Aggregation , AgnosticModRefSummarizer ,
  AliasAnalysisPrecisionEvaluation , AndersenAnalysis , Annotation , CommonNodeElimination ,
  ControlFlowRecovery , DataNodeToDelta , DeadNodeElimination , FunctionInlining ,
  IfConversion , InvariantValueRedirection , IOBarrierElimination , JlmToRvsdgConversion ,
  LoopStrengthReduction , LoopUnrolling , LoopUnswitching , MemoryStateEncoder ,
  PullNodes , PushNodes , ReduceNodes , RegionAwareModRefSummarizer ,
  RvsdgConstruction , RvsdgDestruction , RvsdgOptimization , RvsdgTreePrinter ,
  ScalarEvolution , StoreValueForwarding , LastEnumValue
}
 
using Measurement = std::variant< std::string, int64_t, uint64_t, double >
 
using MeasurementList = std::list< std::pair< std::string, Measurement > >
 
using TimerList = std::list< std::pair< std::string, util::Timer > >
 
- Protected Member Functions inherited from jlm::util::Statistics
template<typename T >
void AddMeasurement (std::string name, T value)
 
util::TimerAddTimer (std::string name)
 
util::TimerGetTimer (const std::string &name)
 
const util::TimerGetTimer (const std::string &name) const
 

Detailed Description

Store Value Forwarding Statistics class.

Definition at line 100 of file StoreValueForwarding.cpp.

Constructor & Destructor Documentation

◆ ~Statistics()

jlm::llvm::StoreValueForwarding::Statistics::~Statistics ( )
overridevirtualdefault

Reimplemented from jlm::util::Statistics.

◆ Statistics()

jlm::llvm::StoreValueForwarding::Statistics::Statistics ( const util::FilePath sourceFile)
inlineexplicit

Definition at line 120 of file StoreValueForwarding.cpp.

Member Function Documentation

◆ Create()

static std::unique_ptr< Statistics > jlm::llvm::StoreValueForwarding::Statistics::Create ( const util::FilePath sourceFile)
inlinestatic

Definition at line 182 of file StoreValueForwarding.cpp.

◆ startForwarding()

void jlm::llvm::StoreValueForwarding::Statistics::startForwarding ( )
inlinenoexcept

Definition at line 170 of file StoreValueForwarding.cpp.

◆ StartStatistics()

void jlm::llvm::StoreValueForwarding::Statistics::StartStatistics ( )
inlinenoexcept

Definition at line 128 of file StoreValueForwarding.cpp.

◆ startTracing()

void jlm::llvm::StoreValueForwarding::Statistics::startTracing ( )
inlinenoexcept

Definition at line 158 of file StoreValueForwarding.cpp.

◆ stopForwarding()

void jlm::llvm::StoreValueForwarding::Statistics::stopForwarding ( )
inlinenoexcept

Definition at line 176 of file StoreValueForwarding.cpp.

◆ StopStatistics()

void jlm::llvm::StoreValueForwarding::Statistics::StopStatistics ( const size_t  numLoadsWithMemoryState,
const size_t  numLoadsWithoutMemoryState,
const size_t  numLoadsTracedtoDeltaNode,
const size_t  numForwardedLoadsWithMemoryState,
const size_t  numForwardedLoadsWithoutMemoryState,
const AliasQueryResponseCounter storeAAResponses,
const AliasQueryResponseCounter loadAAResponses 
)
inlinenoexcept

Definition at line 134 of file StoreValueForwarding.cpp.

◆ stopTracing()

void jlm::llvm::StoreValueForwarding::Statistics::stopTracing ( )
inlinenoexcept

Definition at line 164 of file StoreValueForwarding.cpp.

Member Data Documentation

◆ ForwardingLabel_

constexpr auto jlm::llvm::StoreValueForwarding::Statistics::ForwardingLabel_ = "ForwardingTime"
staticconstexprprivate

Definition at line 115 of file StoreValueForwarding.cpp.

◆ NumForwardedLoadsWithMemoryStateLabel_

constexpr auto jlm::llvm::StoreValueForwarding::Statistics::NumForwardedLoadsWithMemoryStateLabel_ = "#ForwardedLoadsWithMemoryState"
staticconstexprprivate

Definition at line 105 of file StoreValueForwarding.cpp.

◆ NumForwardedLoadsWithoutMemoryStateLabel_

constexpr auto jlm::llvm::StoreValueForwarding::Statistics::NumForwardedLoadsWithoutMemoryStateLabel_
staticconstexprprivate
Initial value:
=
"#ForwardedLoadsWithoutMemoryState"

Definition at line 106 of file StoreValueForwarding.cpp.

◆ NumLoadsTracedToDeltaNodeLabel_

constexpr auto jlm::llvm::StoreValueForwarding::Statistics::NumLoadsTracedToDeltaNodeLabel_ = "#LoadsTracedToDeltaNode"
staticconstexprprivate

Definition at line 104 of file StoreValueForwarding.cpp.

◆ NumLoadsWithMemoryStateLabel_

constexpr auto jlm::llvm::StoreValueForwarding::Statistics::NumLoadsWithMemoryStateLabel_ = "#LoadsWithMemoryState"
staticconstexprprivate

Definition at line 102 of file StoreValueForwarding.cpp.

◆ NumLoadsWithoutMemoryStateLabel_

constexpr auto jlm::llvm::StoreValueForwarding::Statistics::NumLoadsWithoutMemoryStateLabel_ = "#LoadsWithoutMemoryState"
staticconstexprprivate

Definition at line 103 of file StoreValueForwarding.cpp.

◆ numMayAliasLoadLabel_

constexpr auto jlm::llvm::StoreValueForwarding::Statistics::numMayAliasLoadLabel_ = "#MayAliasLoad"
staticconstexprprivate

Definition at line 112 of file StoreValueForwarding.cpp.

◆ numMayAliasStoreLabel_

constexpr auto jlm::llvm::StoreValueForwarding::Statistics::numMayAliasStoreLabel_ = "#MayAliasStore"
staticconstexprprivate

Definition at line 109 of file StoreValueForwarding.cpp.

◆ numMustAliasLoadLabel_

constexpr auto jlm::llvm::StoreValueForwarding::Statistics::numMustAliasLoadLabel_ = "#MustAliasLoad"
staticconstexprprivate

Definition at line 113 of file StoreValueForwarding.cpp.

◆ numMustAliasStoreLabel_

constexpr auto jlm::llvm::StoreValueForwarding::Statistics::numMustAliasStoreLabel_ = "#MustAliasStore"
staticconstexprprivate

Definition at line 110 of file StoreValueForwarding.cpp.

◆ numNoAliasLoadLabel_

constexpr auto jlm::llvm::StoreValueForwarding::Statistics::numNoAliasLoadLabel_ = "#NoAliasLoad"
staticconstexprprivate

Definition at line 111 of file StoreValueForwarding.cpp.

◆ numNoAliasStoreLabel_

constexpr auto jlm::llvm::StoreValueForwarding::Statistics::numNoAliasStoreLabel_ = "#NoAliasStore"
staticconstexprprivate

Definition at line 108 of file StoreValueForwarding.cpp.

◆ TracingLabel_

constexpr auto jlm::llvm::StoreValueForwarding::Statistics::TracingLabel_ = "TracingTime"
staticconstexprprivate

Definition at line 114 of file StoreValueForwarding.cpp.


The documentation for this class was generated from the following file: