CGRAOmp  0.1
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
CGRAOmp::DecoupledAnalysisPass Class Reference

A loop pass to analyze memory access for decoupling. More...

#include <DecoupledAnalysis.hpp>

Inheritance diagram for CGRAOmp::DecoupledAnalysisPass:

Public Types

using Result = DecoupledAnalysis
 

Public Member Functions

Result run (Loop &L, LoopAnalysisManager &AM, LoopStandardAnalysisResults &AR)
 

Private Member Functions

void traversal (SmallVector< LoadInst * > &LL, SmallVector< StoreInst * > &SL)
 
bool isPointerValue (LoadInst *I)
 check whether the instruction load the value of pointer instead of data More...
 

Private Attributes

friend AnalysisInfoMixin< DecoupledAnalysisPass >
 

Static Private Attributes

static AnalysisKey Key
 

Detailed Description

A loop pass to analyze memory access for decoupling.

Member Typedef Documentation

◆ Result

Member Function Documentation

◆ isPointerValue()

bool DecoupledAnalysisPass::isPointerValue ( LoadInst *  I)
private

check whether the instruction load the value of pointer instead of data

Parameters
Ithe load instruction to be checked
Returns
true if it loads the value of some pointer
return: otherwise

◆ run()

DecoupledAnalysisPass::Result DecoupledAnalysisPass::run ( Loop &  L,
LoopAnalysisManager &  AM,
LoopStandardAnalysisResults &  AR 
)

Analyzed Loop L must be perfectly nested, i.e., memory access exist only in the inner most loop.

◆ traversal()

void CGRAOmp::DecoupledAnalysisPass::traversal ( SmallVector< LoadInst * > &  LL,
SmallVector< StoreInst * > &  SL 
)
private

Member Data Documentation

◆ AnalysisInfoMixin< DecoupledAnalysisPass >

friend CGRAOmp::DecoupledAnalysisPass::AnalysisInfoMixin< DecoupledAnalysisPass >
private

◆ Key

AnalysisKey DecoupledAnalysisPass::Key
staticprivate

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