|
Jlm
|
#include <ScalarEvolution.hpp>


Public Member Functions | |
| SCEVChainRecurrence (rvsdg::ThetaNode &theta, rvsdg::Output &output) | |
| template<typename... Args> | |
| SCEVChainRecurrence (rvsdg::ThetaNode &theta, rvsdg::Output &output, Args &&... operands) | |
| rvsdg::ThetaNode & | GetLoop () const noexcept |
| rvsdg::Output & | GetOutput () const noexcept |
| SCEV * | GetStartValue () const |
| std::optional< std::unique_ptr< SCEV > > | GetStep () const |
| void | AddOperandToFront (const std::unique_ptr< SCEV > &initScev) |
| std::string | DebugString () const override |
| std::unique_ptr< SCEV > | Clone () const override |
Public Member Functions inherited from jlm::llvm::SCEVNAryExpr | |
| 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 |
| SCEV * | GetOperand (const size_t index) const |
| size_t | NumOperands () const |
Public Member Functions inherited from jlm::llvm::SCEV | |
| virtual | ~SCEV () noexcept=default |
Static Public Member Functions | |
| static bool | IsConstant (const SCEVChainRecurrence &chrec) |
| static bool | IsAffine (const SCEVChainRecurrence &chrec) |
| static bool | IsQuadratic (const SCEVChainRecurrence &chrec) |
| static bool | IsInvariantInLoop (const SCEVChainRecurrence &chrec, const rvsdg::ThetaNode &theta) |
| static std::unique_ptr< SCEVChainRecurrence > | Create (rvsdg::ThetaNode &loop, rvsdg::Output &output) |
| template<typename... Args> | |
| static std::unique_ptr< SCEVChainRecurrence > | Create (rvsdg::ThetaNode &loop, rvsdg::Output &output, Args &&... operands) |
Static Public Member Functions inherited from jlm::llvm::SCEV | |
| template<typename T > | |
| static std::unique_ptr< T > | CloneAs (const SCEV &scev) |
Protected Attributes | |
| rvsdg::ThetaNode * | Loop_ |
| rvsdg::Output * | Output_ |
Protected Attributes inherited from jlm::llvm::SCEVNAryExpr | |
| std::vector< std::unique_ptr< SCEV > > | Operands_ |
Definition at line 353 of file ScalarEvolution.hpp.
|
inlineexplicit |
Definition at line 356 of file ScalarEvolution.hpp.
|
inlineexplicit |
Definition at line 363 of file ScalarEvolution.hpp.
|
inline |
Definition at line 430 of file ScalarEvolution.hpp.
|
inlineoverridevirtual |
Implements jlm::llvm::SCEV.
Definition at line 451 of file ScalarEvolution.hpp.
|
inlinestatic |
Definition at line 462 of file ScalarEvolution.hpp.
|
inlinestatic |
Definition at line 469 of file ScalarEvolution.hpp.
|
inlineoverridevirtual |
Implements jlm::llvm::SCEV.
Definition at line 436 of file ScalarEvolution.hpp.
|
inlinenoexcept |
Definition at line 373 of file ScalarEvolution.hpp.
|
inlinenoexcept |
Definition at line 379 of file ScalarEvolution.hpp.
|
inline |
Definition at line 385 of file ScalarEvolution.hpp.
|
inline |
Definition at line 411 of file ScalarEvolution.hpp.
|
inlinestatic |
Definition at line 395 of file ScalarEvolution.hpp.
|
inlinestatic |
Definition at line 390 of file ScalarEvolution.hpp.
|
inlinestatic |
Definition at line 405 of file ScalarEvolution.hpp.
|
inlinestatic |
Definition at line 400 of file ScalarEvolution.hpp.
|
protected |
Definition at line 475 of file ScalarEvolution.hpp.
|
protected |
Definition at line 476 of file ScalarEvolution.hpp.