Jlm
Public Member Functions | Protected Attributes | Friends | List of all members
jlm::llvm::SCEVChainRecurrence Class Referencefinal

#include <ScalarEvolution.hpp>

Inheritance diagram for jlm::llvm::SCEVChainRecurrence:
Inheritance graph
[legend]
Collaboration diagram for jlm::llvm::SCEVChainRecurrence:
Collaboration graph
[legend]

Public Member Functions

 SCEVChainRecurrence (const rvsdg::ThetaNode &theta)
 
void AddOperand (std::unique_ptr< SCEV > scev)
 
const rvsdg::ThetaNodeGetLoop () const
 
SCEVGetStartValue () const
 
void AddOperandToFront (const std::unique_ptr< SCEV > &initScev)
 
std::vector< const SCEV * > GetOperands () const
 
SCEVGetOperand (const size_t index) const
 
std::string DebugString () const override
 
std::unique_ptr< SCEVClone () const override
 
- Public Member Functions inherited from jlm::llvm::SCEV
virtual ~SCEV () noexcept=default
 

Protected Attributes

std::vector< std::unique_ptr< SCEV > > Operands_
 
const rvsdg::ThetaNodeLoop_
 

Friends

class ScalarEvolution
 

Detailed Description

Definition at line 200 of file ScalarEvolution.hpp.

Constructor & Destructor Documentation

◆ SCEVChainRecurrence()

jlm::llvm::SCEVChainRecurrence::SCEVChainRecurrence ( const rvsdg::ThetaNode theta)
inlineexplicit

Definition at line 205 of file ScalarEvolution.hpp.

Member Function Documentation

◆ AddOperand()

void jlm::llvm::SCEVChainRecurrence::AddOperand ( std::unique_ptr< SCEV scev)
inline

Definition at line 211 of file ScalarEvolution.hpp.

◆ AddOperandToFront()

void jlm::llvm::SCEVChainRecurrence::AddOperandToFront ( const std::unique_ptr< SCEV > &  initScev)
inline

Definition at line 229 of file ScalarEvolution.hpp.

◆ Clone()

std::unique_ptr<SCEV> jlm::llvm::SCEVChainRecurrence::Clone ( ) const
inlineoverridevirtual

Implements jlm::llvm::SCEV.

Definition at line 267 of file ScalarEvolution.hpp.

◆ DebugString()

std::string jlm::llvm::SCEVChainRecurrence::DebugString ( ) const
inlineoverridevirtual

Implements jlm::llvm::SCEV.

Definition at line 252 of file ScalarEvolution.hpp.

◆ GetLoop()

const rvsdg::ThetaNode* jlm::llvm::SCEVChainRecurrence::GetLoop ( ) const
inline

Definition at line 217 of file ScalarEvolution.hpp.

◆ GetOperand()

SCEV* jlm::llvm::SCEVChainRecurrence::GetOperand ( const size_t  index) const
inline

Definition at line 246 of file ScalarEvolution.hpp.

◆ GetOperands()

std::vector<const SCEV *> jlm::llvm::SCEVChainRecurrence::GetOperands ( ) const
inline

Definition at line 235 of file ScalarEvolution.hpp.

◆ GetStartValue()

SCEV* jlm::llvm::SCEVChainRecurrence::GetStartValue ( ) const
inline

Definition at line 223 of file ScalarEvolution.hpp.

Friends And Related Function Documentation

◆ ScalarEvolution

friend class ScalarEvolution
friend

Definition at line 202 of file ScalarEvolution.hpp.

Member Data Documentation

◆ Loop_

const rvsdg::ThetaNode* jlm::llvm::SCEVChainRecurrence::Loop_
protected

Definition at line 279 of file ScalarEvolution.hpp.

◆ Operands_

std::vector<std::unique_ptr<SCEV> > jlm::llvm::SCEVChainRecurrence::Operands_
protected

Definition at line 278 of file ScalarEvolution.hpp.


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