Jlm
jlm
llvm
opt
alias-analyses
PointsToAnalysisStateEncoder.hpp
Go to the documentation of this file.
1
/*
2
* Copyright 2021 Nico Reißmann <nico.reissmann@gmail.com>
3
* Copyright 2023 Håvard Krogstie <krogstie.havard@gmail.com>
4
* See COPYING for terms of redistribution.
5
*/
6
7
#ifndef JLM_LLVM_OPT_ALIAS_ANALYSES_POINTSTOANALYSISSTATEENCODER_HPP
8
#define JLM_LLVM_OPT_ALIAS_ANALYSES_POINTSTOANALYSISSTATEENCODER_HPP
9
10
#include <
jlm/llvm/opt/alias-analyses/ModRefSummarizer.hpp
>
11
#include <
jlm/llvm/opt/alias-analyses/PointsToAnalysis.hpp
>
12
#include <
jlm/rvsdg/Transformation.hpp
>
13
14
#include <type_traits>
15
16
namespace
jlm::llvm::aa
17
{
18
33
template
<
typename
TPo
int
sToAnalysis,
typename
TModRefSummarizer>
34
class
PointsToAnalysisStateEncoder
final :
public
rvsdg::Transformation
35
{
36
static_assert(std::is_base_of_v<PointsToAnalysis, TPointsToAnalysis>);
37
static_assert(std::is_base_of_v<ModRefSummarizer, TModRefSummarizer>);
38
39
public
:
40
~PointsToAnalysisStateEncoder
() noexcept override;
41
42
PointsToAnalysisStateEncoder
()
43
:
Transformation
("
PointsToAnalysisStateEncoder
")
44
{}
45
46
void
47
Run
(
rvsdg::RvsdgModule
& rvsdgModule,
util::StatisticsCollector
& statisticsCollector)
override
;
48
};
49
50
}
51
52
#endif
ModRefSummarizer.hpp
PointsToAnalysis.hpp
Transformation.hpp
jlm::llvm::aa::PointsToAnalysisStateEncoder
Definition:
PointsToAnalysisStateEncoder.hpp:35
jlm::llvm::aa::PointsToAnalysisStateEncoder::Run
void Run(rvsdg::RvsdgModule &rvsdgModule, util::StatisticsCollector &statisticsCollector) override
Perform RVSDG transformation.
Definition:
PointsToAnalysisStateEncoder.cpp:25
jlm::llvm::aa::PointsToAnalysisStateEncoder::~PointsToAnalysisStateEncoder
~PointsToAnalysisStateEncoder() noexcept override
jlm::rvsdg::RvsdgModule
Definition:
RvsdgModule.hpp:20
jlm::rvsdg::Transformation
Represents an RVSDG transformation.
Definition:
Transformation.hpp:21
jlm::rvsdg::Transformation::Transformation
Transformation(std::string_view Name)
Definition:
Transformation.hpp:25
jlm::util::StatisticsCollector
Definition:
Statistics.hpp:432
jlm::llvm::aa
Definition:
AgnosticModRefSummarizer.cpp:12
Generated by
1.9.1