Polly 19.0.0git
Public Member Functions | Static Public Attributes | Private Attributes | List of all members
polly::DependenceInfo Class Referencefinal

#include <DependenceInfo.h>

Inheritance diagram for polly::DependenceInfo:
Inheritance graph
[legend]

Public Member Functions

 DependenceInfo ()
 Construct a new DependenceInfo pass.
 
const DependencesgetDependences (Dependences::AnalysisLevel Level)
 Return the dependence information for the current SCoP.
 
const DependencesrecomputeDependences (Dependences::AnalysisLevel Level)
 Recompute dependences from schedule and memory accesses.
 
void abandonDependences ()
 Invalidate the dependence information and recompute it when needed again.
 
bool runOnScop (Scop &S) override
 Compute the dependence information for the SCoP S.
 
void printScop (raw_ostream &OS, Scop &) const override
 Print the dependences for the given SCoP to OS.
 
void releaseMemory () override
 Release the internal memory.
 
void getAnalysisUsage (AnalysisUsage &AU) const override
 Register all analyses and transformation required.
 

Static Public Attributes

static char ID = 0
 

Private Attributes

ScopS
 
std::unique_ptr< DependencesD [Dependences::NumAnalysisLevels]
 Dependences struct for the current SCoP.
 

Additional Inherited Members

- Protected Member Functions inherited from polly::ScopPass
 ScopPass (char &ID)
 
virtual bool runOnScop (Scop &S)=0
 runOnScop - This method must be overloaded to perform the desired Polyhedral transformation or analysis.
 
virtual void printScop (raw_ostream &OS, Scop &S) const
 Print method for SCoPs.
 
void getAnalysisUsage (AnalysisUsage &AU) const override
 getAnalysisUsage - Subclasses that override getAnalysisUsage must call this.
 

Detailed Description

Definition at line 235 of file DependenceInfo.h.

Constructor & Destructor Documentation

◆ DependenceInfo()

polly::DependenceInfo::DependenceInfo ( )
inline

Construct a new DependenceInfo pass.

Definition at line 240 of file DependenceInfo.h.

Member Function Documentation

◆ abandonDependences()

void DependenceInfo::abandonDependences ( )

Invalidate the dependence information and recompute it when needed again.

May be required when the underlaying Scop was changed in a way that would add new dependencies (e.g. between new statement instances insierted into the SCoP) or intentionally breaks existing ones. It is not required when updating the schedule that conforms the existing dependencies.

Definition at line 899 of file DependenceInfo.cpp.

◆ getAnalysisUsage()

void DependenceInfo::getAnalysisUsage ( AnalysisUsage &  AU) const
override

Register all analyses and transformation required.

Definition at line 923 of file DependenceInfo.cpp.

◆ getDependences()

const Dependences & DependenceInfo::getDependences ( Dependences::AnalysisLevel  Level)

Return the dependence information for the current SCoP.

Parameters
LevelThe granularity of dependence analysis result.
Returns
The dependence analysis result

Definition at line 885 of file DependenceInfo.cpp.

◆ printScop()

void polly::DependenceInfo::printScop ( raw_ostream &  OS,
Scop S 
) const
overridevirtual

Print the dependences for the given SCoP to OS.

Reimplemented from polly::ScopPass.

Definition at line 911 of file DependenceInfo.cpp.

References polly::Dependences::calculateDependences(), OptAnalysisLevel(), and polly::Dependences::print().

Referenced by INITIALIZE_PASS_END().

◆ recomputeDependences()

const Dependences & DependenceInfo::recomputeDependences ( Dependences::AnalysisLevel  Level)

Recompute dependences from schedule and memory accesses.

Definition at line 893 of file DependenceInfo.cpp.

References polly::Dependences::calculateDependences().

◆ releaseMemory()

void polly::DependenceInfo::releaseMemory ( )
inlineoverride

Release the internal memory.

Definition at line 267 of file DependenceInfo.h.

References D.

◆ runOnScop()

bool DependenceInfo::runOnScop ( Scop S)
overridevirtual

Compute the dependence information for the SCoP S.

Implements polly::ScopPass.

Definition at line 904 of file DependenceInfo.cpp.

Member Data Documentation

◆ D

std::unique_ptr<Dependences> polly::DependenceInfo::D[Dependences::NumAnalysisLevels]
private

Dependences struct for the current SCoP.

Definition at line 279 of file DependenceInfo.h.

Referenced by releaseMemory().

◆ ID

char DependenceInfo::ID = 0
static

Definition at line 237 of file DependenceInfo.h.

◆ S

Scop* polly::DependenceInfo::S
private

Definition at line 276 of file DependenceInfo.h.


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