Jlm
Public Member Functions | List of all members
jlm::llvm::aa::PointsToAnalysisStateEncoder< TPointsToAnalysis, TModRefSummarizer > Class Template Referencefinal

#include <PointsToAnalysisStateEncoder.hpp>

Inheritance diagram for jlm::llvm::aa::PointsToAnalysisStateEncoder< TPointsToAnalysis, TModRefSummarizer >:
Inheritance graph
[legend]
Collaboration diagram for jlm::llvm::aa::PointsToAnalysisStateEncoder< TPointsToAnalysis, TModRefSummarizer >:
Collaboration graph
[legend]

Public Member Functions

 ~PointsToAnalysisStateEncoder () noexcept override
 
 PointsToAnalysisStateEncoder ()
 
void Run (rvsdg::RvsdgModule &rvsdgModule, util::StatisticsCollector &statisticsCollector) override
 Perform RVSDG transformation. More...
 
- Public Member Functions inherited from jlm::rvsdg::Transformation
virtual ~Transformation () noexcept
 
 Transformation (std::string_view Name)
 
const std::string_view & GetName () const noexcept
 
void Run (RvsdgModule &module)
 Perform RVSDG transformation. More...
 

Detailed Description

template<typename TPointsToAnalysis, typename TModRefSummarizer>
class jlm::llvm::aa::PointsToAnalysisStateEncoder< TPointsToAnalysis, TModRefSummarizer >

Applies points-to analysis and memory state encoding. Uses the information collected during points-to analysis and the memory nodes provided by the mod/ref summarizer to re-encode memory state edges between the operations touching memory.

The type of points-to analysis and mod/ref summarizer is specified by the template parameters.

Template Parameters
TPointsToAnalysisthe subclass of PointsToAnalysis to use
TModRefSummarizerthe subclass of ModRefSummarizer to use
See also
Andersen
AgnosticModRefSummarizer
RegionAwareModRefSummarizer

Definition at line 34 of file PointsToAnalysisStateEncoder.hpp.

Constructor & Destructor Documentation

◆ ~PointsToAnalysisStateEncoder()

template<typename TPointsToAnalysis , typename TModRefSummarizer >
jlm::llvm::aa::PointsToAnalysisStateEncoder< TPointsToAnalysis, TModRefSummarizer >::~PointsToAnalysisStateEncoder ( )
overridedefaultnoexcept

◆ PointsToAnalysisStateEncoder()

template<typename TPointsToAnalysis , typename TModRefSummarizer >
jlm::llvm::aa::PointsToAnalysisStateEncoder< TPointsToAnalysis, TModRefSummarizer >::PointsToAnalysisStateEncoder ( )
inline

Definition at line 42 of file PointsToAnalysisStateEncoder.hpp.

Member Function Documentation

◆ Run()

template<typename TPointsToAnalysis , typename TModRefSummarizer >
void jlm::llvm::aa::PointsToAnalysisStateEncoder< TPointsToAnalysis, TModRefSummarizer >::Run ( rvsdg::RvsdgModule module,
util::StatisticsCollector statisticsCollector 
)
overridevirtual

Perform RVSDG transformation.

Note
This method is expected to be called multiple times. An implementation is required to reset the objects' internal state to ensure correct behavior after every invocation.
Parameters
moduleRVSDG module the transformation is performed on.
statisticsCollectorStatistics collector for collecting transformation statistics.

Implements jlm::rvsdg::Transformation.

Definition at line 25 of file PointsToAnalysisStateEncoder.cpp.


The documentation for this class was generated from the following files: