6#ifndef JLM_LLVM_OPT_ALIAS_ANALYSES_AGNOSTICMODREFSUMMARIZER_HPP
7#define JLM_LLVM_OPT_ALIAS_ANALYSES_AGNOSTICMODREFSUMMARIZER_HPP
16class AgnosticModRefSet;
17class AgnosticModRefSummary;
46 std::unique_ptr<ModRefSummary>
61 static std::unique_ptr<ModRefSummary>
75 static std::unique_ptr<ModRefSummary>
144 return GetMeasurementValue<uint64_t>(Label::NumPointsToGraphMemoryNodes);
177 static std::unique_ptr<Statistics>
class returned by the Agnostic ModRefSummarizer
Agnostic mod/ref summarizer statistics.
Statistics(const util::FilePath &sourceFile, const util::StatisticsCollector &statisticsCollector, const PointsToGraph &pointsToGraph)
static std::unique_ptr< Statistics > Create(const util::FilePath &sourceFile, const util::StatisticsCollector &statisticsCollector, const PointsToGraph &pointsToGraph)
static constexpr auto memoryStateDistributionLabel_
void StopCollecting() noexcept
size_t NumPointsToGraphMemoryNodes() const noexcept
size_t GetTime() const noexcept
void addMemoryStateDistribution(const std::vector< MemoryStateSummary > &memoryStateDistribution)
void StartCollecting() noexcept
const util::StatisticsCollector & StatisticsCollector_
Agnostic mod/ref summarizer.
std::unique_ptr< ModRefSummary > SummarizeModRefs(const rvsdg::RvsdgModule &rvsdgModule, const PointsToGraph &pointsToGraph, util::StatisticsCollector &statisticsCollector) override
static std::unique_ptr< ModRefSummary > Create(const rvsdg::RvsdgModule &rvsdgModule, const PointsToGraph &pointsToGraph, util::StatisticsCollector &statisticsCollector)
void AddPointerTargetsToModRefSet(const rvsdg::Output &output, ModRefEffect modRefEffect, AgnosticModRefSet &modRefSet) const
static AgnosticModRefSet GetAllMemoryNodes(const PointsToGraph &pointsToGraph)
AgnosticModRefSummarizer(const AgnosticModRefSummarizer &)=delete
AgnosticModRefSummarizer & operator=(const AgnosticModRefSummarizer &)=delete
AgnosticModRefSummarizer()
void AnnotateRegion(const rvsdg::Region ®ion)
void AnnotateSimpleNode(const rvsdg::SimpleNode &node)
std::unique_ptr< AgnosticModRefSummary > ModRefSummary_
~AgnosticModRefSummarizer() override
size_t numMemoryNodes() const noexcept
Represent acyclic RVSDG subgraphs.
bool IsDemanded(Statistics::Id id) const noexcept
util::Timer & GetTimer(const std::string &name)
util::Timer & AddTimer(std::string name)
void AddMeasurement(std::string name, T value)
std::string toString(const std::vector< MemoryStateSummary > &memoryStateDistribution)
static util::StatisticsCollector statisticsCollector