Jlm
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
jlm::llvm::aa::EliminatedModRefSummarizer< TModRefSummarizer, TModRefEliminator > Class Template Referencefinal

Combines a ModeRefSummarizer and a ModRefEliminator. More...

#include <EliminatedModRefSummarizer.hpp>

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

Public Member Functions

 ~EliminatedModRefSummarizer () noexcept override=default
 
 EliminatedModRefSummarizer ()=default
 
 EliminatedModRefSummarizer (const EliminatedModRefSummarizer &)=delete
 
 EliminatedModRefSummarizer (EliminatedModRefSummarizer &&)=delete
 
EliminatedModRefSummarizeroperator= (const EliminatedModRefSummarizer &)=delete
 
EliminatedModRefSummarizeroperator= (EliminatedModRefSummarizer &&)=delete
 
std::unique_ptr< ModRefSummarySummarizeModRefs (const rvsdg::RvsdgModule &rvsdgModule, const PointsToGraph &pointsToGraph, util::StatisticsCollector &statisticsCollector) override
 
- Public Member Functions inherited from jlm::llvm::aa::ModRefSummarizer
virtual ~ModRefSummarizer () noexcept=default
 

Static Public Member Functions

static std::unique_ptr< ModRefSummaryCreate (const rvsdg::RvsdgModule &rvsdgModule, const PointsToGraph &pointsToGraph, util::StatisticsCollector &statisticsCollector)
 

Private Attributes

TModRefSummarizer ModRefSummarizer_
 
TModRefEliminator ModRefEliminator_
 

Detailed Description

template<class TModRefSummarizer, class TModRefEliminator>
class jlm::llvm::aa::EliminatedModRefSummarizer< TModRefSummarizer, TModRefEliminator >

Combines a ModeRefSummarizer and a ModRefEliminator.

Combines a ModRefSummarizer and a ModRefEliminator by applying them sequentially. The Provider is applied to a given RvsdgModule and PointsToGraph, which results in a ModRefSummary. This ModRefSummary is then fed in to the Eliminator, which removes superfluous memory nodes.

Template Parameters
TModRefSummarizerA ModRefSummarizer
TModRefEliminatorA ModRefEliminator

Definition at line 26 of file EliminatedModRefSummarizer.hpp.

Constructor & Destructor Documentation

◆ ~EliminatedModRefSummarizer()

template<class TModRefSummarizer , class TModRefEliminator >
jlm::llvm::aa::EliminatedModRefSummarizer< TModRefSummarizer, TModRefEliminator >::~EliminatedModRefSummarizer ( )
overridedefaultnoexcept

◆ EliminatedModRefSummarizer() [1/3]

template<class TModRefSummarizer , class TModRefEliminator >
jlm::llvm::aa::EliminatedModRefSummarizer< TModRefSummarizer, TModRefEliminator >::EliminatedModRefSummarizer ( )
default

◆ EliminatedModRefSummarizer() [2/3]

template<class TModRefSummarizer , class TModRefEliminator >
jlm::llvm::aa::EliminatedModRefSummarizer< TModRefSummarizer, TModRefEliminator >::EliminatedModRefSummarizer ( const EliminatedModRefSummarizer< TModRefSummarizer, TModRefEliminator > &  )
delete

◆ EliminatedModRefSummarizer() [3/3]

template<class TModRefSummarizer , class TModRefEliminator >
jlm::llvm::aa::EliminatedModRefSummarizer< TModRefSummarizer, TModRefEliminator >::EliminatedModRefSummarizer ( EliminatedModRefSummarizer< TModRefSummarizer, TModRefEliminator > &&  )
delete

Member Function Documentation

◆ Create()

template<class TModRefSummarizer , class TModRefEliminator >
static std::unique_ptr<ModRefSummary> jlm::llvm::aa::EliminatedModRefSummarizer< TModRefSummarizer, TModRefEliminator >::Create ( const rvsdg::RvsdgModule rvsdgModule,
const PointsToGraph pointsToGraph,
util::StatisticsCollector statisticsCollector 
)
inlinestatic

Definition at line 63 of file EliminatedModRefSummarizer.hpp.

◆ operator=() [1/2]

template<class TModRefSummarizer , class TModRefEliminator >
EliminatedModRefSummarizer& jlm::llvm::aa::EliminatedModRefSummarizer< TModRefSummarizer, TModRefEliminator >::operator= ( const EliminatedModRefSummarizer< TModRefSummarizer, TModRefEliminator > &  )
delete

◆ operator=() [2/2]

template<class TModRefSummarizer , class TModRefEliminator >
EliminatedModRefSummarizer& jlm::llvm::aa::EliminatedModRefSummarizer< TModRefSummarizer, TModRefEliminator >::operator= ( EliminatedModRefSummarizer< TModRefSummarizer, TModRefEliminator > &&  )
delete

◆ SummarizeModRefs()

template<class TModRefSummarizer , class TModRefEliminator >
std::unique_ptr<ModRefSummary> jlm::llvm::aa::EliminatedModRefSummarizer< TModRefSummarizer, TModRefEliminator >::SummarizeModRefs ( const rvsdg::RvsdgModule rvsdgModule,
const PointsToGraph pointsToGraph,
util::StatisticsCollector statisticsCollector 
)
inlineoverridevirtual

Computes the memory nodes that are required at the entry and exit of a region, or at the entry/exit of a call node.

Parameters
rvsdgModuleThe RVSDG module for which a ModRefSummary should be computed.
pointsToGraphThe points-to graph corresponding to rvsdgModule.
statisticsCollectorThe statistics collector for collecting pass statistics.
Returns
An instance of ModRefSummary.

Implements jlm::llvm::aa::ModRefSummarizer.

Definition at line 52 of file EliminatedModRefSummarizer.hpp.

Member Data Documentation

◆ ModRefEliminator_

template<class TModRefSummarizer , class TModRefEliminator >
TModRefEliminator jlm::llvm::aa::EliminatedModRefSummarizer< TModRefSummarizer, TModRefEliminator >::ModRefEliminator_
private

Definition at line 74 of file EliminatedModRefSummarizer.hpp.

◆ ModRefSummarizer_

template<class TModRefSummarizer , class TModRefEliminator >
TModRefSummarizer jlm::llvm::aa::EliminatedModRefSummarizer< TModRefSummarizer, TModRefEliminator >::ModRefSummarizer_
private

Definition at line 73 of file EliminatedModRefSummarizer.hpp.


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