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

Statistics class for memory state encoder encoding. More...

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

Public Member Functions

 ~Statistics () override=default
 
 Statistics (const util::FilePath &sourceFile)
 
void StartEncoding (const rvsdg::Graph &graph)
 
void StopEncoding (const EncodingCounter &counter)
 
void AddCounters (const MemoryStateTypeCounters &counters)
 
- 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::FilePath & GetSourceFile () const
 
std::string Serialize (char fieldSeparator, char nameValueSeparator) const
 
bool HasMeasurement (const std::string &name) const noexcept
 
const Measurement & GetMeasurement (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< Statistics > Create (const util::FilePath &sourceFile)
 

Private Member Functions

void AddMemoryStateTypeCounter (const std::string &suffix, const MemoryStateTypeCounter &counter)
 

Static Private Attributes

static constexpr auto NumTotalRefOnlyStates_ = "#TotalRefOnlyState"
 
static constexpr auto NumTotalModOnlyStates_ = "#TotalModOnlyState"
 
static constexpr auto NumTotalModRefStates_ = "#TotalModRefState"
 
static constexpr auto NumTotalAllocaState_ = "#TotalAllocaState"
 
static constexpr auto NumTotalMallocState_ = "#TotalMallocState"
 
static constexpr auto NumTotalDeltaState_ = "#TotalDeltaState"
 
static constexpr auto NumTotalImportState_ = "#TotalImportState"
 
static constexpr auto NumTotalLambdaState_ = "#TotalLambdaState"
 
static constexpr auto NumTotalExternalNodeState_ = "#TotalExternalNodeState"
 
static constexpr auto NumTotalNonEscapedState_ = "#TotalNonEscapedState"
 
static constexpr auto NumMaxMemoryState_ = "#MaxMemoryState"
 
static constexpr auto NumMaxNonEscapedMemoryState_ = "#MaxNonEscapedMemoryState"
 
static constexpr auto NumIntraProceduralRegions_ = "#IntraProceduralRegions"
 
static constexpr auto RegionArgumentStateSuffix_ = "Arguments"
 
static constexpr auto NumLoadOperations_ = "#LoadOperations"
 
static constexpr auto LoadStateSuffix_ = "sThroughLoad"
 
static constexpr auto NumStoreOperations_ = "#StoreOperations"
 
static constexpr auto StoreStateSuffix_ = "sThroughStore"
 
static constexpr auto NumCallEntryMergeOperations_ = "#CallEntryMergeOperations"
 
static constexpr auto CallEntryMergeStateSuffix_ = "sIntoCallEntryMerge"
 
static constexpr auto EncodingTimerLabel_ = "EncodingTime"
 
static constexpr auto NumReplacedLoadsLabel_ = "#ReplacedLoads"
 
static constexpr auto NumRedirectedLoadsLabel_ = "#RedirectedLoads"
 
static constexpr auto NumReplacedStoresLabel_ = "#ReplacedStores"
 
static constexpr auto NumRedirectedStoresLabel_ = "#RedirectedStores"
 

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::Timer & AddTimer (std::string name)
 
util::Timer & GetTimer (const std::string &name)
 
const util::Timer & GetTimer (const std::string &name) const
 

Detailed Description

Statistics class for memory state encoder encoding.

Definition at line 200 of file MemoryStateEncoder.cpp.

Constructor & Destructor Documentation

◆ ~Statistics()

jlm::llvm::aa::MemoryStateEncoder::Statistics::~Statistics ( )
overridevirtualdefault

Reimplemented from jlm::util::Statistics.

◆ Statistics()

jlm::llvm::aa::MemoryStateEncoder::Statistics::Statistics ( const util::FilePath &  sourceFile)
inlineexplicit

Definition at line 250 of file MemoryStateEncoder.cpp.

Member Function Documentation

◆ AddCounters()

void jlm::llvm::aa::MemoryStateEncoder::Statistics::AddCounters ( const MemoryStateTypeCounters &  counters)
inline

Definition at line 272 of file MemoryStateEncoder.cpp.

◆ AddMemoryStateTypeCounter()

void jlm::llvm::aa::MemoryStateEncoder::Statistics::AddMemoryStateTypeCounter ( const std::string &  suffix,
const MemoryStateTypeCounter &  counter 
)
inlineprivate

Definition at line 306 of file MemoryStateEncoder.cpp.

◆ Create()

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

Definition at line 299 of file MemoryStateEncoder.cpp.

◆ StartEncoding()

void jlm::llvm::aa::MemoryStateEncoder::Statistics::StartEncoding ( const rvsdg::Graph &  graph)
inline

Definition at line 255 of file MemoryStateEncoder.cpp.

◆ StopEncoding()

void jlm::llvm::aa::MemoryStateEncoder::Statistics::StopEncoding ( const EncodingCounter &  counter)
inline

Definition at line 262 of file MemoryStateEncoder.cpp.

Member Data Documentation

◆ CallEntryMergeStateSuffix_

constexpr auto jlm::llvm::aa::MemoryStateEncoder::Statistics::CallEntryMergeStateSuffix_ = "sIntoCallEntryMerge"
staticconstexprprivate

Definition at line 237 of file MemoryStateEncoder.cpp.

◆ EncodingTimerLabel_

constexpr auto jlm::llvm::aa::MemoryStateEncoder::Statistics::EncodingTimerLabel_ = "EncodingTime"
staticconstexprprivate

Definition at line 239 of file MemoryStateEncoder.cpp.

◆ LoadStateSuffix_

constexpr auto jlm::llvm::aa::MemoryStateEncoder::Statistics::LoadStateSuffix_ = "sThroughLoad"
staticconstexprprivate

Definition at line 227 of file MemoryStateEncoder.cpp.

◆ NumCallEntryMergeOperations_

constexpr auto jlm::llvm::aa::MemoryStateEncoder::Statistics::NumCallEntryMergeOperations_ = "#CallEntryMergeOperations"
staticconstexprprivate

Definition at line 235 of file MemoryStateEncoder.cpp.

◆ NumIntraProceduralRegions_

constexpr auto jlm::llvm::aa::MemoryStateEncoder::Statistics::NumIntraProceduralRegions_ = "#IntraProceduralRegions"
staticconstexprprivate

Definition at line 220 of file MemoryStateEncoder.cpp.

◆ NumLoadOperations_

constexpr auto jlm::llvm::aa::MemoryStateEncoder::Statistics::NumLoadOperations_ = "#LoadOperations"
staticconstexprprivate

Definition at line 225 of file MemoryStateEncoder.cpp.

◆ NumMaxMemoryState_

constexpr auto jlm::llvm::aa::MemoryStateEncoder::Statistics::NumMaxMemoryState_ = "#MaxMemoryState"
staticconstexprprivate

Definition at line 216 of file MemoryStateEncoder.cpp.

◆ NumMaxNonEscapedMemoryState_

constexpr auto jlm::llvm::aa::MemoryStateEncoder::Statistics::NumMaxNonEscapedMemoryState_ = "#MaxNonEscapedMemoryState"
staticconstexprprivate

Definition at line 217 of file MemoryStateEncoder.cpp.

◆ NumRedirectedLoadsLabel_

constexpr auto jlm::llvm::aa::MemoryStateEncoder::Statistics::NumRedirectedLoadsLabel_ = "#RedirectedLoads"
staticconstexprprivate

Definition at line 242 of file MemoryStateEncoder.cpp.

◆ NumRedirectedStoresLabel_

constexpr auto jlm::llvm::aa::MemoryStateEncoder::Statistics::NumRedirectedStoresLabel_ = "#RedirectedStores"
staticconstexprprivate

Definition at line 245 of file MemoryStateEncoder.cpp.

◆ NumReplacedLoadsLabel_

constexpr auto jlm::llvm::aa::MemoryStateEncoder::Statistics::NumReplacedLoadsLabel_ = "#ReplacedLoads"
staticconstexprprivate

Definition at line 241 of file MemoryStateEncoder.cpp.

◆ NumReplacedStoresLabel_

constexpr auto jlm::llvm::aa::MemoryStateEncoder::Statistics::NumReplacedStoresLabel_ = "#ReplacedStores"
staticconstexprprivate

Definition at line 244 of file MemoryStateEncoder.cpp.

◆ NumStoreOperations_

constexpr auto jlm::llvm::aa::MemoryStateEncoder::Statistics::NumStoreOperations_ = "#StoreOperations"
staticconstexprprivate

Definition at line 230 of file MemoryStateEncoder.cpp.

◆ NumTotalAllocaState_

constexpr auto jlm::llvm::aa::MemoryStateEncoder::Statistics::NumTotalAllocaState_ = "#TotalAllocaState"
staticconstexprprivate

Definition at line 207 of file MemoryStateEncoder.cpp.

◆ NumTotalDeltaState_

constexpr auto jlm::llvm::aa::MemoryStateEncoder::Statistics::NumTotalDeltaState_ = "#TotalDeltaState"
staticconstexprprivate

Definition at line 209 of file MemoryStateEncoder.cpp.

◆ NumTotalExternalNodeState_

constexpr auto jlm::llvm::aa::MemoryStateEncoder::Statistics::NumTotalExternalNodeState_ = "#TotalExternalNodeState"
staticconstexprprivate

Definition at line 212 of file MemoryStateEncoder.cpp.

◆ NumTotalImportState_

constexpr auto jlm::llvm::aa::MemoryStateEncoder::Statistics::NumTotalImportState_ = "#TotalImportState"
staticconstexprprivate

Definition at line 210 of file MemoryStateEncoder.cpp.

◆ NumTotalLambdaState_

constexpr auto jlm::llvm::aa::MemoryStateEncoder::Statistics::NumTotalLambdaState_ = "#TotalLambdaState"
staticconstexprprivate

Definition at line 211 of file MemoryStateEncoder.cpp.

◆ NumTotalMallocState_

constexpr auto jlm::llvm::aa::MemoryStateEncoder::Statistics::NumTotalMallocState_ = "#TotalMallocState"
staticconstexprprivate

Definition at line 208 of file MemoryStateEncoder.cpp.

◆ NumTotalModOnlyStates_

constexpr auto jlm::llvm::aa::MemoryStateEncoder::Statistics::NumTotalModOnlyStates_ = "#TotalModOnlyState"
staticconstexprprivate

Definition at line 204 of file MemoryStateEncoder.cpp.

◆ NumTotalModRefStates_

constexpr auto jlm::llvm::aa::MemoryStateEncoder::Statistics::NumTotalModRefStates_ = "#TotalModRefState"
staticconstexprprivate

Definition at line 205 of file MemoryStateEncoder.cpp.

◆ NumTotalNonEscapedState_

constexpr auto jlm::llvm::aa::MemoryStateEncoder::Statistics::NumTotalNonEscapedState_ = "#TotalNonEscapedState"
staticconstexprprivate

Definition at line 214 of file MemoryStateEncoder.cpp.

◆ NumTotalRefOnlyStates_

constexpr auto jlm::llvm::aa::MemoryStateEncoder::Statistics::NumTotalRefOnlyStates_ = "#TotalRefOnlyState"
staticconstexprprivate

Definition at line 203 of file MemoryStateEncoder.cpp.

◆ RegionArgumentStateSuffix_

constexpr auto jlm::llvm::aa::MemoryStateEncoder::Statistics::RegionArgumentStateSuffix_ = "Arguments"
staticconstexprprivate

Definition at line 222 of file MemoryStateEncoder.cpp.

◆ StoreStateSuffix_

constexpr auto jlm::llvm::aa::MemoryStateEncoder::Statistics::StoreStateSuffix_ = "sThroughStore"
staticconstexprprivate

Definition at line 232 of file MemoryStateEncoder.cpp.


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