Jlm
ModRefSummarizer.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 2022 Nico Reißmann <nico.reissmann@gmail.com>
3  * See COPYING for terms of redistribution.
4  */
5 
6 #ifndef JLM_LLVM_OPT_ALIAS_ANALYSES_MODREFSUMMARIZER_HPP
7 #define JLM_LLVM_OPT_ALIAS_ANALYSES_MODREFSUMMARIZER_HPP
8 
11 
12 namespace jlm::util
13 {
14 class StatisticsCollector;
15 }
16 
17 namespace jlm::llvm::aa
18 {
19 
21 {
22 public:
23  virtual ~ModRefSummarizer() noexcept = default;
24 
35  virtual std::unique_ptr<ModRefSummary>
37  const rvsdg::RvsdgModule & rvsdgModule,
38  const PointsToGraph & pointsToGraph,
39  util::StatisticsCollector & statisticsCollector) = 0;
40 };
41 
42 }
43 
44 #endif // JLM_LLVM_OPT_ALIAS_ANALYSES_MODREFSUMMARIZER_HPP
virtual ~ModRefSummarizer() noexcept=default
virtual std::unique_ptr< ModRefSummary > SummarizeModRefs(const rvsdg::RvsdgModule &rvsdgModule, const PointsToGraph &pointsToGraph, util::StatisticsCollector &statisticsCollector)=0