Jlm
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
jlm::llvm::ScalarEvolution::Context Class Referencefinal

Public Member Functions

 ~Context ()=default
 
 Context ()=default
 
 Context (const Context &)=delete
 
 Context (Context &&)=delete
 
Contextoperator= (const Context &)=delete
 
Contextoperator= (Context &&)=delete
 
void InsertChrec (const rvsdg::ThetaNode &thetaNode, std::unique_ptr< SCEVChainRecurrence > &chrec)
 
int GetNumOfChrecsWithOrder (const int n) const
 
size_t GetNumOfTotalChrecs () const
 
void AddLoopVar (const rvsdg::Output &var)
 
size_t GetNumTotalLoopVars () const
 

Static Public Member Functions

static std::unique_ptr< ContextCreate ()
 

Private Attributes

std::unordered_map< const rvsdg::ThetaNode *, util::HashSet< std::unique_ptr< SCEVChainRecurrence > > > ChrecMap_
 
std::vector< const rvsdg::Output * > LoopVars_
 

Detailed Description

Definition at line 20 of file ScalarEvolution.cpp.

Constructor & Destructor Documentation

◆ ~Context()

jlm::llvm::ScalarEvolution::Context::~Context ( )
default

◆ Context() [1/3]

jlm::llvm::ScalarEvolution::Context::Context ( )
default

◆ Context() [2/3]

jlm::llvm::ScalarEvolution::Context::Context ( const Context )
delete

◆ Context() [3/3]

jlm::llvm::ScalarEvolution::Context::Context ( Context &&  )
delete

Member Function Documentation

◆ AddLoopVar()

void jlm::llvm::ScalarEvolution::Context::AddLoopVar ( const rvsdg::Output var)
inline

Definition at line 71 of file ScalarEvolution.cpp.

◆ Create()

static std::unique_ptr<Context> jlm::llvm::ScalarEvolution::Context::Create ( )
inlinestatic

Definition at line 83 of file ScalarEvolution.cpp.

◆ GetNumOfChrecsWithOrder()

int jlm::llvm::ScalarEvolution::Context::GetNumOfChrecsWithOrder ( const int  n) const
inline

Definition at line 44 of file ScalarEvolution.cpp.

◆ GetNumOfTotalChrecs()

size_t jlm::llvm::ScalarEvolution::Context::GetNumOfTotalChrecs ( ) const
inline

Definition at line 60 of file ScalarEvolution.cpp.

◆ GetNumTotalLoopVars()

size_t jlm::llvm::ScalarEvolution::Context::GetNumTotalLoopVars ( ) const
inline

Definition at line 77 of file ScalarEvolution.cpp.

◆ InsertChrec()

void jlm::llvm::ScalarEvolution::Context::InsertChrec ( const rvsdg::ThetaNode thetaNode,
std::unique_ptr< SCEVChainRecurrence > &  chrec 
)
inline

Definition at line 38 of file ScalarEvolution.cpp.

◆ operator=() [1/2]

Context& jlm::llvm::ScalarEvolution::Context::operator= ( const Context )
delete

◆ operator=() [2/2]

Context& jlm::llvm::ScalarEvolution::Context::operator= ( Context &&  )
delete

Member Data Documentation

◆ ChrecMap_

std::unordered_map<const rvsdg::ThetaNode *, util::HashSet<std::unique_ptr<SCEVChainRecurrence> > > jlm::llvm::ScalarEvolution::Context::ChrecMap_
private

Definition at line 90 of file ScalarEvolution.cpp.

◆ LoopVars_

std::vector<const rvsdg::Output *> jlm::llvm::ScalarEvolution::Context::LoopVars_
private

Definition at line 91 of file ScalarEvolution.cpp.


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