Jlm
PointsToAnalysis.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 2021 Nico Reißmann <nico.reissmann@gmail.com>
3  * See COPYING for terms of redistribution.
4  */
5 
6 #ifndef JLM_LLVM_OPT_ALIAS_ANALYSES_POINTSTOANALYSIS_HPP
7 #define JLM_LLVM_OPT_ALIAS_ANALYSES_POINTSTOANALYSIS_HPP
8 
9 #include <memory>
10 
11 namespace jlm::rvsdg
12 {
13 class RvsdgModule;
14 }
15 
16 namespace jlm::util
17 {
18 class StatisticsCollector;
19 }
20 
21 namespace jlm::llvm
22 {
23 
24 namespace aa
25 {
26 
27 class PointsToGraph;
28 
33 {
34 public:
35  virtual ~PointsToAnalysis() = default;
36 
45  virtual std::unique_ptr<PointsToGraph>
46  Analyze(const rvsdg::RvsdgModule & module, util::StatisticsCollector & statisticsCollector) = 0;
47 };
48 
49 }
50 }
51 
52 #endif
Points-to Analysis Interface.
virtual std::unique_ptr< PointsToGraph > Analyze(const rvsdg::RvsdgModule &module, util::StatisticsCollector &statisticsCollector)=0
Analyze RVSDG module.
virtual ~PointsToAnalysis()=default
Global memory state passed between functions.