Jlm
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
jlm::llvm::aa::AgnosticModRefSummary Class Referencefinal

Mod/Ref summary of agnostic mod/ref summarizer. More...

Inheritance diagram for jlm::llvm::aa::AgnosticModRefSummary:
Inheritance graph
[legend]
Collaboration diagram for jlm::llvm::aa::AgnosticModRefSummary:
Collaboration graph
[legend]

Public Member Functions

 ~AgnosticModRefSummary () noexcept override=default
 
 AgnosticModRefSummary (const AgnosticModRefSummary &)=delete
 
 AgnosticModRefSummary (AgnosticModRefSummary &&)=delete
 
AgnosticModRefSummaryoperator= (const AgnosticModRefSummary &)=delete
 
AgnosticModRefSummaryoperator= (AgnosticModRefSummary &&)=delete
 
const PointsToGraphGetPointsToGraph () const noexcept override
 
void SetSimpleNodeModRef (const rvsdg::SimpleNode &node, AgnosticModRefSet modRefSet)
 
const ModRefSetGetSimpleNodeModRef (const rvsdg::SimpleNode &node) const override
 
const ModRefSetGetGammaEntryModRef (const rvsdg::GammaNode &gamma) const override
 
const ModRefSetGetGammaExitModRef (const rvsdg::GammaNode &gamma) const override
 
const ModRefSetGetThetaModRef (const rvsdg::ThetaNode &theta) const override
 
const ModRefSetGetLambdaEntryModRef (const rvsdg::LambdaNode &lambda) const override
 
const ModRefSetGetLambdaExitModRef (const rvsdg::LambdaNode &lambda) const override
 
- Public Member Functions inherited from jlm::llvm::aa::ModRefSummary
virtual ~ModRefSummary () noexcept=default
 

Static Public Member Functions

static std::unique_ptr< AgnosticModRefSummaryCreate (const PointsToGraph &pointsToGraph, AgnosticModRefSet allMemoryNodes)
 

Private Member Functions

 AgnosticModRefSummary (const PointsToGraph &pointsToGraph, AgnosticModRefSet allMemoryNodes)
 

Private Attributes

const PointsToGraphPointsToGraph_
 
std::unordered_map< const rvsdg::SimpleNode *, AgnosticModRefSetSimpleNodeModRefs_
 
AgnosticModRefSet AllMemoryNodes_
 

Detailed Description

Mod/Ref summary of agnostic mod/ref summarizer.

Definition at line 42 of file AgnosticModRefSummarizer.cpp.

Constructor & Destructor Documentation

◆ ~AgnosticModRefSummary()

jlm::llvm::aa::AgnosticModRefSummary::~AgnosticModRefSummary ( )
overridedefaultnoexcept

◆ AgnosticModRefSummary() [1/3]

jlm::llvm::aa::AgnosticModRefSummary::AgnosticModRefSummary ( const PointsToGraph pointsToGraph,
AgnosticModRefSet  allMemoryNodes 
)
inlineprivate

Definition at line 48 of file AgnosticModRefSummarizer.cpp.

◆ AgnosticModRefSummary() [2/3]

jlm::llvm::aa::AgnosticModRefSummary::AgnosticModRefSummary ( const AgnosticModRefSummary )
delete

◆ AgnosticModRefSummary() [3/3]

jlm::llvm::aa::AgnosticModRefSummary::AgnosticModRefSummary ( AgnosticModRefSummary &&  )
delete

Member Function Documentation

◆ Create()

static std::unique_ptr< AgnosticModRefSummary > jlm::llvm::aa::AgnosticModRefSummary::Create ( const PointsToGraph pointsToGraph,
AgnosticModRefSet  allMemoryNodes 
)
inlinestatic

Definition at line 122 of file AgnosticModRefSummarizer.cpp.

◆ GetGammaEntryModRef()

const ModRefSet & jlm::llvm::aa::AgnosticModRefSummary::GetGammaEntryModRef ( const rvsdg::GammaNode gamma) const
inlineoverridevirtual

Provides the set of memory nodes that should be routed into a given gamma node

Parameters
gammathe gamma node
Returns
the entry Mod/Ref set for the gamma

Implements jlm::llvm::aa::ModRefSummary.

Definition at line 92 of file AgnosticModRefSummarizer.cpp.

◆ GetGammaExitModRef()

const ModRefSet & jlm::llvm::aa::AgnosticModRefSummary::GetGammaExitModRef ( const rvsdg::GammaNode gamma) const
inlineoverridevirtual

Provides the set of memory nodes that should be routed out of a given gamma node

Parameters
gammathe gamma node
Returns
the exit Mod/Ref set for the gamma

Implements jlm::llvm::aa::ModRefSummary.

Definition at line 98 of file AgnosticModRefSummarizer.cpp.

◆ GetLambdaEntryModRef()

const ModRefSet & jlm::llvm::aa::AgnosticModRefSummary::GetLambdaEntryModRef ( const rvsdg::LambdaNode lambda) const
inlineoverridevirtual

Provides the set of memory nodes that are routed in to the given lambda's subregion

Parameters
lambdathe lambda node
Returns
the entry Mod/Ref set for the lambda

Implements jlm::llvm::aa::ModRefSummary.

Definition at line 110 of file AgnosticModRefSummarizer.cpp.

◆ GetLambdaExitModRef()

const ModRefSet & jlm::llvm::aa::AgnosticModRefSummary::GetLambdaExitModRef ( const rvsdg::LambdaNode lambda) const
inlineoverridevirtual

Provides the set of memory nodes that are routed out of the given lambda's subregion

Parameters
lambdathe lambda node
Returns
the exit Mod/Ref set for the lambda

Implements jlm::llvm::aa::ModRefSummary.

Definition at line 116 of file AgnosticModRefSummarizer.cpp.

◆ GetPointsToGraph()

const PointsToGraph & jlm::llvm::aa::AgnosticModRefSummary::GetPointsToGraph ( ) const
inlineoverridevirtualnoexcept

Implements jlm::llvm::aa::ModRefSummary.

Definition at line 65 of file AgnosticModRefSummarizer.cpp.

◆ GetSimpleNodeModRef()

const ModRefSet & jlm::llvm::aa::AgnosticModRefSummary::GetSimpleNodeModRef ( const rvsdg::SimpleNode node) const
inlineoverridevirtual

Provides the ModRefSet containing memory nodes that may be modified or referenced by the given simple node.

The simple node can be any operation that reads from memory, or produces value of memory, e.g.:

Parameters
nodethe node operating on memory
Returns
the Mod/Ref set of the node.

Implements jlm::llvm::aa::ModRefSummary.

Definition at line 78 of file AgnosticModRefSummarizer.cpp.

◆ GetThetaModRef()

const ModRefSet & jlm::llvm::aa::AgnosticModRefSummary::GetThetaModRef ( const rvsdg::ThetaNode theta) const
inlineoverridevirtual

Provides the set of memory nodes that should be routed in and out of a theta node

Parameters
thetathe theta node
Returns
the Mod/Ref set for the theta

Implements jlm::llvm::aa::ModRefSummary.

Definition at line 104 of file AgnosticModRefSummarizer.cpp.

◆ operator=() [1/2]

AgnosticModRefSummary & jlm::llvm::aa::AgnosticModRefSummary::operator= ( AgnosticModRefSummary &&  )
delete

◆ operator=() [2/2]

AgnosticModRefSummary & jlm::llvm::aa::AgnosticModRefSummary::operator= ( const AgnosticModRefSummary )
delete

◆ SetSimpleNodeModRef()

void jlm::llvm::aa::AgnosticModRefSummary::SetSimpleNodeModRef ( const rvsdg::SimpleNode node,
AgnosticModRefSet  modRefSet 
)
inline

Definition at line 71 of file AgnosticModRefSummarizer.cpp.

Member Data Documentation

◆ AllMemoryNodes_

AgnosticModRefSet jlm::llvm::aa::AgnosticModRefSummary::AllMemoryNodes_
private

Definition at line 131 of file AgnosticModRefSummarizer.cpp.

◆ PointsToGraph_

const PointsToGraph& jlm::llvm::aa::AgnosticModRefSummary::PointsToGraph_
private

Definition at line 129 of file AgnosticModRefSummarizer.cpp.

◆ SimpleNodeModRefs_

std::unordered_map<const rvsdg::SimpleNode *, AgnosticModRefSet> jlm::llvm::aa::AgnosticModRefSummary::SimpleNodeModRefs_
private

Definition at line 130 of file AgnosticModRefSummarizer.cpp.


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