6 #ifndef JLM_LLVM_OPT_ALIAS_ANALYSES_AGNOSTICMODREFSUMMARIZER_HPP
7 #define JLM_LLVM_OPT_ALIAS_ANALYSES_AGNOSTICMODREFSUMMARIZER_HPP
16 class AgnosticModRefSummary;
45 std::unique_ptr<ModRefSummary>
60 static std::unique_ptr<ModRefSummary>
74 static std::unique_ptr<ModRefSummary>
166 static std::unique_ptr<Statistics>
172 return std::make_unique<Statistics>(sourceFile, statisticsCollector, pointsToGraph);
Agnostic mod/ref summarizer statistics.
Statistics(const util::FilePath &sourceFile, const util::StatisticsCollector &statisticsCollector, const PointsToGraph &pointsToGraph)
void StopCollecting() noexcept
size_t NumPointsToGraphMemoryNodes() const noexcept
size_t GetTime() const noexcept
void StartCollecting() noexcept
const util::StatisticsCollector & StatisticsCollector_
static std::unique_ptr< Statistics > Create(const util::FilePath &sourceFile, const util::StatisticsCollector &statisticsCollector, const PointsToGraph &pointsToGraph)
Agnostic mod/ref summarizer.
std::unique_ptr< ModRefSummary > SummarizeModRefs(const rvsdg::RvsdgModule &rvsdgModule, const PointsToGraph &pointsToGraph, util::StatisticsCollector &statisticsCollector) override
void AddPointerTargetsToModRefSet(const rvsdg::Output &output, util::HashSet< PointsToGraph::NodeIndex > &modRefSet) const
static std::unique_ptr< ModRefSummary > Create(const rvsdg::RvsdgModule &rvsdgModule, const PointsToGraph &pointsToGraph, util::StatisticsCollector &statisticsCollector)
static util::HashSet< PointsToGraph::NodeIndex > GetAllMemoryNodes(const PointsToGraph &pointsToGraph)
AgnosticModRefSummarizer & operator=(const AgnosticModRefSummarizer &)=delete
AgnosticModRefSummarizer(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)
static const char * NumPointsToGraphMemoryNodes
static const char * Timer