Jlm
Public Member Functions | Static Public Member Functions | Static Private Attributes | List of all members
jlm::llvm::aa::AliasAnalysisPrecisionEvaluator::PrecisionStatistics Class Referencefinal
Inheritance diagram for jlm::llvm::aa::AliasAnalysisPrecisionEvaluator::PrecisionStatistics:
Inheritance graph
[legend]
Collaboration diagram for jlm::llvm::aa::AliasAnalysisPrecisionEvaluator::PrecisionStatistics:
Collaboration graph
[legend]

Public Member Functions

 ~PrecisionStatistics () override=default
 
 PrecisionStatistics (const util::FilePath &sourceFile)
 
void StartEvaluatingPrecision (const AliasAnalysisPrecisionEvaluator &evaluator, const AliasAnalysis &aliasAnalysis)
 
void StopEvaluatingPrecision ()
 
void AddPerFunctionOutputFile (const util::FilePath &outputFile)
 
void AddAliasingGraphOutputFile (const util::FilePath &outputFile)
 
void AddPrecisionSummaryStatistics (const AggregatedClobberInfos &clobberInfos)
 
- Public Member Functions inherited from jlm::util::Statistics
virtual ~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< PrecisionStatisticsCreate (const util::FilePath &sourceFile)
 

Static Private Attributes

static constexpr auto PairwiseAliasAnalysisType_ = "PairwiseAliasAnalysisType"
 
static constexpr auto LoadsConsideredClobbers_ = "LoadsConsideredClobbers"
 
static constexpr auto DeduplicatingPointers_ = "DeduplicatingPointers"
 
static constexpr auto PerFunctionOutputFile_ = "PerFunctionOutputFile"
 
static constexpr auto AliasingGraphOutputFile_ = "AliasingGraphOutputFile"
 
static constexpr auto ModuleNumClobbers_ = "ModuleNumClobbers"
 
static constexpr auto ClobberAverageNoAlias = "ClobberAverageNoAlias"
 
static constexpr auto ClobberAverageMayAlias = "ClobberAverageMayAlias"
 
static constexpr auto ClobberAverageMustAlias = "ClobberAverageMustAlias"
 
static constexpr auto NumTotalNoAlias_ = "#TotalNoAlias"
 
static constexpr auto NumTotalMayAlias_ = "#TotalMayAlias"
 
static constexpr auto NumTotalMustAlias_ = "#TotalMustAlias"
 
static constexpr auto PrecisionEvaluationTimer_ = "PrecisionEvaluationTimer"
 

Additional Inherited Members

- Public Types inherited from jlm::util::Statistics
enum class  Id {
  FirstEnumValue , Aggregation , AgnosticModRefSummarizer , AliasAnalysisPrecisionEvaluation ,
  AndersenAnalysis , Annotation , CommonNodeElimination , ControlFlowRecovery ,
  DataNodeToDelta , DeadNodeElimination , FunctionInlining , IfConversion ,
  InvariantValueRedirection , JlmToRvsdgConversion , LoopUnrolling , LoopUnswitching ,
  MemoryStateEncoder , PullNodes , PushNodes , ReduceNodes ,
  RegionAwareModRefSummarizer , RvsdgConstruction , RvsdgDestruction , RvsdgOptimization ,
  RvsdgTreePrinter , ScalarEvolution , 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

Definition at line 21 of file AliasAnalysisPrecisionEvaluator.cpp.

Constructor & Destructor Documentation

◆ ~PrecisionStatistics()

jlm::llvm::aa::AliasAnalysisPrecisionEvaluator::PrecisionStatistics::~PrecisionStatistics ( )
overridedefault

◆ PrecisionStatistics()

jlm::llvm::aa::AliasAnalysisPrecisionEvaluator::PrecisionStatistics::PrecisionStatistics ( const util::FilePath sourceFile)
inlineexplicit

Definition at line 50 of file AliasAnalysisPrecisionEvaluator.cpp.

Member Function Documentation

◆ AddAliasingGraphOutputFile()

void jlm::llvm::aa::AliasAnalysisPrecisionEvaluator::PrecisionStatistics::AddAliasingGraphOutputFile ( const util::FilePath outputFile)
inline

Definition at line 80 of file AliasAnalysisPrecisionEvaluator.cpp.

◆ AddPerFunctionOutputFile()

void jlm::llvm::aa::AliasAnalysisPrecisionEvaluator::PrecisionStatistics::AddPerFunctionOutputFile ( const util::FilePath outputFile)
inline

Definition at line 74 of file AliasAnalysisPrecisionEvaluator.cpp.

◆ AddPrecisionSummaryStatistics()

void jlm::llvm::aa::AliasAnalysisPrecisionEvaluator::PrecisionStatistics::AddPrecisionSummaryStatistics ( const AggregatedClobberInfos clobberInfos)
inline

Definition at line 86 of file AliasAnalysisPrecisionEvaluator.cpp.

◆ Create()

static std::unique_ptr<PrecisionStatistics> jlm::llvm::aa::AliasAnalysisPrecisionEvaluator::PrecisionStatistics::Create ( const util::FilePath sourceFile)
inlinestatic

Definition at line 98 of file AliasAnalysisPrecisionEvaluator.cpp.

◆ StartEvaluatingPrecision()

void jlm::llvm::aa::AliasAnalysisPrecisionEvaluator::PrecisionStatistics::StartEvaluatingPrecision ( const AliasAnalysisPrecisionEvaluator evaluator,
const AliasAnalysis aliasAnalysis 
)
inline

Definition at line 55 of file AliasAnalysisPrecisionEvaluator.cpp.

◆ StopEvaluatingPrecision()

void jlm::llvm::aa::AliasAnalysisPrecisionEvaluator::PrecisionStatistics::StopEvaluatingPrecision ( )
inline

Definition at line 68 of file AliasAnalysisPrecisionEvaluator.cpp.

Member Data Documentation

◆ AliasingGraphOutputFile_

constexpr auto jlm::llvm::aa::AliasAnalysisPrecisionEvaluator::PrecisionStatistics::AliasingGraphOutputFile_ = "AliasingGraphOutputFile"
staticconstexprprivate

Definition at line 31 of file AliasAnalysisPrecisionEvaluator.cpp.

◆ ClobberAverageMayAlias

constexpr auto jlm::llvm::aa::AliasAnalysisPrecisionEvaluator::PrecisionStatistics::ClobberAverageMayAlias = "ClobberAverageMayAlias"
staticconstexprprivate

Definition at line 38 of file AliasAnalysisPrecisionEvaluator.cpp.

◆ ClobberAverageMustAlias

constexpr auto jlm::llvm::aa::AliasAnalysisPrecisionEvaluator::PrecisionStatistics::ClobberAverageMustAlias = "ClobberAverageMustAlias"
staticconstexprprivate

Definition at line 39 of file AliasAnalysisPrecisionEvaluator.cpp.

◆ ClobberAverageNoAlias

constexpr auto jlm::llvm::aa::AliasAnalysisPrecisionEvaluator::PrecisionStatistics::ClobberAverageNoAlias = "ClobberAverageNoAlias"
staticconstexprprivate

Definition at line 37 of file AliasAnalysisPrecisionEvaluator.cpp.

◆ DeduplicatingPointers_

constexpr auto jlm::llvm::aa::AliasAnalysisPrecisionEvaluator::PrecisionStatistics::DeduplicatingPointers_ = "DeduplicatingPointers"
staticconstexprprivate

Definition at line 27 of file AliasAnalysisPrecisionEvaluator.cpp.

◆ LoadsConsideredClobbers_

constexpr auto jlm::llvm::aa::AliasAnalysisPrecisionEvaluator::PrecisionStatistics::LoadsConsideredClobbers_ = "LoadsConsideredClobbers"
staticconstexprprivate

Definition at line 26 of file AliasAnalysisPrecisionEvaluator.cpp.

◆ ModuleNumClobbers_

constexpr auto jlm::llvm::aa::AliasAnalysisPrecisionEvaluator::PrecisionStatistics::ModuleNumClobbers_ = "ModuleNumClobbers"
staticconstexprprivate

Definition at line 35 of file AliasAnalysisPrecisionEvaluator.cpp.

◆ NumTotalMayAlias_

constexpr auto jlm::llvm::aa::AliasAnalysisPrecisionEvaluator::PrecisionStatistics::NumTotalMayAlias_ = "#TotalMayAlias"
staticconstexprprivate

Definition at line 42 of file AliasAnalysisPrecisionEvaluator.cpp.

◆ NumTotalMustAlias_

constexpr auto jlm::llvm::aa::AliasAnalysisPrecisionEvaluator::PrecisionStatistics::NumTotalMustAlias_ = "#TotalMustAlias"
staticconstexprprivate

Definition at line 43 of file AliasAnalysisPrecisionEvaluator.cpp.

◆ NumTotalNoAlias_

constexpr auto jlm::llvm::aa::AliasAnalysisPrecisionEvaluator::PrecisionStatistics::NumTotalNoAlias_ = "#TotalNoAlias"
staticconstexprprivate

Definition at line 41 of file AliasAnalysisPrecisionEvaluator.cpp.

◆ PairwiseAliasAnalysisType_

constexpr auto jlm::llvm::aa::AliasAnalysisPrecisionEvaluator::PrecisionStatistics::PairwiseAliasAnalysisType_ = "PairwiseAliasAnalysisType"
staticconstexprprivate

Definition at line 24 of file AliasAnalysisPrecisionEvaluator.cpp.

◆ PerFunctionOutputFile_

constexpr auto jlm::llvm::aa::AliasAnalysisPrecisionEvaluator::PrecisionStatistics::PerFunctionOutputFile_ = "PerFunctionOutputFile"
staticconstexprprivate

Definition at line 29 of file AliasAnalysisPrecisionEvaluator.cpp.

◆ PrecisionEvaluationTimer_

constexpr auto jlm::llvm::aa::AliasAnalysisPrecisionEvaluator::PrecisionStatistics::PrecisionEvaluationTimer_ = "PrecisionEvaluationTimer"
staticconstexprprivate

Definition at line 45 of file AliasAnalysisPrecisionEvaluator.cpp.


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