Jlm
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
jlm::llvm::IOBarrierElimination::Statistics Class Referencefinal
Inheritance diagram for jlm::llvm::IOBarrierElimination::Statistics:
Inheritance graph
[legend]
Collaboration diagram for jlm::llvm::IOBarrierElimination::Statistics:
Collaboration graph
[legend]

Public Member Functions

 ~Statistics () override=default
 
 Statistics (const util::FilePath &sourceFile)
 
void startNormalizationStatistics () noexcept
 
void stopNormalizationStatistics () noexcept
 
void startMarkStatistics () noexcept
 
void stopMarkStatistics () noexcept
 
void startPropagateStatistics () noexcept
 
void stopPropagateStatistics () noexcept
 
void startEncodeStatistics () noexcept
 
void stopEncodeStatistics () noexcept
 
void startSweepStatistics () noexcept
 
void stopSweepStatistics () 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::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 Attributes

const char * NormalizationTimerLabel_ = "NormalizationTime"
 
const char * MarkTimerLabel_ = "MarkTime"
 
const char * PropagateTimerLabel_ = "PropagateTime"
 
const char * EncodeTimerLabel_ = "EncodeTime"
 
const char * SweepTimerLabel_ = "SweepTime"
 

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

Definition at line 23 of file IOBarrierElimination.cpp.

Constructor & Destructor Documentation

◆ ~Statistics()

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

Reimplemented from jlm::util::Statistics.

◆ Statistics()

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

Definition at line 34 of file IOBarrierElimination.cpp.

Member Function Documentation

◆ create()

static std::unique_ptr< Statistics > jlm::llvm::IOBarrierElimination::Statistics::create ( const util::FilePath &  sourceFile)
inlinestatic

Definition at line 99 of file IOBarrierElimination.cpp.

◆ startEncodeStatistics()

void jlm::llvm::IOBarrierElimination::Statistics::startEncodeStatistics ( )
inlinenoexcept

Definition at line 75 of file IOBarrierElimination.cpp.

◆ startMarkStatistics()

void jlm::llvm::IOBarrierElimination::Statistics::startMarkStatistics ( )
inlinenoexcept

Definition at line 51 of file IOBarrierElimination.cpp.

◆ startNormalizationStatistics()

void jlm::llvm::IOBarrierElimination::Statistics::startNormalizationStatistics ( )
inlinenoexcept

Definition at line 39 of file IOBarrierElimination.cpp.

◆ startPropagateStatistics()

void jlm::llvm::IOBarrierElimination::Statistics::startPropagateStatistics ( )
inlinenoexcept

Definition at line 63 of file IOBarrierElimination.cpp.

◆ startSweepStatistics()

void jlm::llvm::IOBarrierElimination::Statistics::startSweepStatistics ( )
inlinenoexcept

Definition at line 87 of file IOBarrierElimination.cpp.

◆ stopEncodeStatistics()

void jlm::llvm::IOBarrierElimination::Statistics::stopEncodeStatistics ( )
inlinenoexcept

Definition at line 81 of file IOBarrierElimination.cpp.

◆ stopMarkStatistics()

void jlm::llvm::IOBarrierElimination::Statistics::stopMarkStatistics ( )
inlinenoexcept

Definition at line 57 of file IOBarrierElimination.cpp.

◆ stopNormalizationStatistics()

void jlm::llvm::IOBarrierElimination::Statistics::stopNormalizationStatistics ( )
inlinenoexcept

Definition at line 45 of file IOBarrierElimination.cpp.

◆ stopPropagateStatistics()

void jlm::llvm::IOBarrierElimination::Statistics::stopPropagateStatistics ( )
inlinenoexcept

Definition at line 69 of file IOBarrierElimination.cpp.

◆ stopSweepStatistics()

void jlm::llvm::IOBarrierElimination::Statistics::stopSweepStatistics ( )
inlinenoexcept

Definition at line 93 of file IOBarrierElimination.cpp.

Member Data Documentation

◆ EncodeTimerLabel_

const char* jlm::llvm::IOBarrierElimination::Statistics::EncodeTimerLabel_ = "EncodeTime"
private

Definition at line 28 of file IOBarrierElimination.cpp.

◆ MarkTimerLabel_

const char* jlm::llvm::IOBarrierElimination::Statistics::MarkTimerLabel_ = "MarkTime"
private

Definition at line 26 of file IOBarrierElimination.cpp.

◆ NormalizationTimerLabel_

const char* jlm::llvm::IOBarrierElimination::Statistics::NormalizationTimerLabel_ = "NormalizationTime"
private

Definition at line 25 of file IOBarrierElimination.cpp.

◆ PropagateTimerLabel_

const char* jlm::llvm::IOBarrierElimination::Statistics::PropagateTimerLabel_ = "PropagateTime"
private

Definition at line 27 of file IOBarrierElimination.cpp.

◆ SweepTimerLabel_

const char* jlm::llvm::IOBarrierElimination::Statistics::SweepTimerLabel_ = "SweepTime"
private

Definition at line 29 of file IOBarrierElimination.cpp.


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