Jlm
Public Member Functions | Static Public Member Functions | Static Private Member Functions | List of all members
jlm::hls::MemoryStateSeparation Class Referencefinal

#include <mem-sep.hpp>

Inheritance diagram for jlm::hls::MemoryStateSeparation:
Inheritance graph
[legend]
Collaboration diagram for jlm::hls::MemoryStateSeparation:
Collaboration graph
[legend]

Public Member Functions

 ~MemoryStateSeparation () noexcept override
 
 MemoryStateSeparation ()
 
 MemoryStateSeparation (const MemoryStateSeparation &)=delete
 
 MemoryStateSeparation (MemoryStateSeparation &&)=delete
 
MemoryStateSeparationoperator= (const MemoryStateSeparation &)=delete
 
MemoryStateSeparationoperator= (MemoryStateSeparation &&)=delete
 
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...
 

Static Public Member Functions

static void CreateAndRun (rvsdg::RvsdgModule &rvsdgModule, util::StatisticsCollector &statisticsCollector)
 

Static Private Member Functions

static void separateMemoryStates (const rvsdg::LambdaNode &lambdaNode)
 
static std::vector< rvsdg::Node * > gatherNonDecoupleCalls (rvsdg::Region &region)
 

Detailed Description

Definition at line 18 of file mem-sep.hpp.

Constructor & Destructor Documentation

◆ ~MemoryStateSeparation()

jlm::hls::MemoryStateSeparation::~MemoryStateSeparation ( )
overridedefaultnoexcept

◆ MemoryStateSeparation() [1/3]

jlm::hls::MemoryStateSeparation::MemoryStateSeparation ( )

Definition at line 256 of file mem-sep.cpp.

◆ MemoryStateSeparation() [2/3]

jlm::hls::MemoryStateSeparation::MemoryStateSeparation ( const MemoryStateSeparation )
delete

◆ MemoryStateSeparation() [3/3]

jlm::hls::MemoryStateSeparation::MemoryStateSeparation ( MemoryStateSeparation &&  )
delete

Member Function Documentation

◆ CreateAndRun()

static void jlm::hls::MemoryStateSeparation::CreateAndRun ( rvsdg::RvsdgModule rvsdgModule,
util::StatisticsCollector statisticsCollector 
)
inlinestatic

Definition at line 39 of file mem-sep.hpp.

◆ gatherNonDecoupleCalls()

std::vector< rvsdg::Node * > jlm::hls::MemoryStateSeparation::gatherNonDecoupleCalls ( rvsdg::Region region)
staticprivate

Definition at line 149 of file mem-sep.cpp.

◆ operator=() [1/2]

MemoryStateSeparation& jlm::hls::MemoryStateSeparation::operator= ( const MemoryStateSeparation )
delete

◆ operator=() [2/2]

MemoryStateSeparation& jlm::hls::MemoryStateSeparation::operator= ( MemoryStateSeparation &&  )
delete

◆ Run()

void jlm::hls::MemoryStateSeparation::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 261 of file mem-sep.cpp.

◆ separateMemoryStates()

void jlm::hls::MemoryStateSeparation::separateMemoryStates ( const rvsdg::LambdaNode lambdaNode)
staticprivate

Definition at line 182 of file mem-sep.cpp.


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