Jlm
Public Member Functions | Protected Attributes | List of all members
jlm::llvm::SCEVNAryExpr Class Reference

#include <ScalarEvolution.hpp>

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

Public Member Functions

 SCEVNAryExpr ()
 
template<typename... Args>
 SCEVNAryExpr (Args &&... operands)
 
template<typename... Args>
void AddOperands (Args &&... operands)
 
void AddOperand (std::unique_ptr< SCEV > scev)
 
void ReplaceOperand (const size_t index, const std::unique_ptr< SCEV > &operand)
 
void RemoveOperand (const size_t index)
 
std::vector< SCEV * > GetOperands () const
 
SCEVGetOperand (const size_t index) const
 
size_t NumOperands () const
 
- Public Member Functions inherited from jlm::llvm::SCEV
virtual ~SCEV () noexcept=default
 
virtual std::string DebugString () const =0
 
virtual std::unique_ptr< SCEVClone () const =0
 

Protected Attributes

std::vector< std::unique_ptr< SCEV > > Operands_
 

Additional Inherited Members

- Static Public Member Functions inherited from jlm::llvm::SCEV
template<typename T >
static std::unique_ptr< T > CloneAs (const SCEV &scev)
 

Detailed Description

Definition at line 284 of file ScalarEvolution.hpp.

Constructor & Destructor Documentation

◆ SCEVNAryExpr() [1/2]

jlm::llvm::SCEVNAryExpr::SCEVNAryExpr ( )
inlineexplicit

Definition at line 287 of file ScalarEvolution.hpp.

◆ SCEVNAryExpr() [2/2]

template<typename... Args>
jlm::llvm::SCEVNAryExpr::SCEVNAryExpr ( Args &&...  operands)
inlineexplicit

Definition at line 292 of file ScalarEvolution.hpp.

Member Function Documentation

◆ AddOperand()

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

Definition at line 306 of file ScalarEvolution.hpp.

◆ AddOperands()

template<typename... Args>
void jlm::llvm::SCEVNAryExpr::AddOperands ( Args &&...  operands)
inline

Definition at line 300 of file ScalarEvolution.hpp.

◆ GetOperand()

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

Definition at line 338 of file ScalarEvolution.hpp.

◆ GetOperands()

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

Definition at line 327 of file ScalarEvolution.hpp.

◆ NumOperands()

size_t jlm::llvm::SCEVNAryExpr::NumOperands ( ) const
inline

Definition at line 344 of file ScalarEvolution.hpp.

◆ RemoveOperand()

void jlm::llvm::SCEVNAryExpr::RemoveOperand ( const size_t  index)
inline

Definition at line 318 of file ScalarEvolution.hpp.

◆ ReplaceOperand()

void jlm::llvm::SCEVNAryExpr::ReplaceOperand ( const size_t  index,
const std::unique_ptr< SCEV > &  operand 
)
inline

Definition at line 312 of file ScalarEvolution.hpp.

Member Data Documentation

◆ Operands_

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

Definition at line 350 of file ScalarEvolution.hpp.


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