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

#include <unroll.hpp>

Collaboration diagram for jlm::llvm::LoopUnrollInfo:
Collaboration graph
[legend]

Public Member Functions

 ~LoopUnrollInfo () noexcept=default
 
 LoopUnrollInfo (const LoopUnrollInfo &)=delete
 
 LoopUnrollInfo (LoopUnrollInfo &&)=delete
 
LoopUnrollInfooperator= (const LoopUnrollInfo &)=delete
 
LoopUnrollInfooperator= (LoopUnrollInfo &&)=delete
 
rvsdg::ThetaNodetheta () const noexcept
 
bool has_known_init () const noexcept
 
bool has_known_step () const noexcept
 
bool has_known_end () const noexcept
 
bool is_known () const noexcept
 
std::unique_ptr< jlm::rvsdg::BitValueRepresentationniterations () const noexcept
 
rvsdg::SimpleNodecmpnode () const noexcept
 
const rvsdg::SimpleOperationcmpoperation () const noexcept
 
rvsdg::SimpleNodearmnode () const noexcept
 
const rvsdg::SimpleOperationarmoperation () const noexcept
 
rvsdg::Outputidv () const noexcept
 
jlm::rvsdg::Outputinit () const noexcept
 
const jlm::rvsdg::BitValueRepresentationinit_value () const noexcept
 
rvsdg::Outputstep () const noexcept
 
const jlm::rvsdg::BitValueRepresentationstep_value () const noexcept
 
rvsdg::Outputend () const noexcept
 
const jlm::rvsdg::BitValueRepresentationend_value () const noexcept
 
bool is_additive () const noexcept
 
bool is_subtractive () const noexcept
 
size_t nbits () const noexcept
 
jlm::rvsdg::BitValueRepresentation remainder (size_t factor) const noexcept
 

Static Public Member Functions

static std::unique_ptr< LoopUnrollInfocreate (rvsdg::ThetaNode *theta)
 

Private Member Functions

 LoopUnrollInfo (rvsdg::SimpleNode *cmpnode, rvsdg::SimpleNode *armnode, rvsdg::Output *idv, rvsdg::Output *step, rvsdg::Output *end)
 
bool is_known (const rvsdg::Output *output) const noexcept
 
const rvsdg::BitValueRepresentationvalue (const rvsdg::Output *output) const noexcept
 

Private Attributes

rvsdg::Outputend_
 
rvsdg::Outputstep_
 
rvsdg::SimpleNodecmpnode_
 
rvsdg::SimpleNodearmnode_
 
rvsdg::Outputidv_
 

Detailed Description

Definition at line 50 of file unroll.hpp.

Constructor & Destructor Documentation

◆ ~LoopUnrollInfo()

jlm::llvm::LoopUnrollInfo::~LoopUnrollInfo ( )
defaultnoexcept

◆ LoopUnrollInfo() [1/3]

jlm::llvm::LoopUnrollInfo::LoopUnrollInfo ( rvsdg::SimpleNode cmpnode,
rvsdg::SimpleNode armnode,
rvsdg::Output idv,
rvsdg::Output step,
rvsdg::Output end 
)
inlineprivate

Definition at line 56 of file unroll.hpp.

◆ LoopUnrollInfo() [2/3]

jlm::llvm::LoopUnrollInfo::LoopUnrollInfo ( const LoopUnrollInfo )
delete

◆ LoopUnrollInfo() [3/3]

jlm::llvm::LoopUnrollInfo::LoopUnrollInfo ( LoopUnrollInfo &&  )
delete

Member Function Documentation

◆ armnode()

rvsdg::SimpleNode* jlm::llvm::LoopUnrollInfo::armnode ( ) const
inlinenoexcept

Definition at line 127 of file unroll.hpp.

◆ armoperation()

const rvsdg::SimpleOperation& jlm::llvm::LoopUnrollInfo::armoperation ( ) const
inlinenoexcept

Definition at line 133 of file unroll.hpp.

◆ cmpnode()

rvsdg::SimpleNode* jlm::llvm::LoopUnrollInfo::cmpnode ( ) const
inlinenoexcept

Definition at line 115 of file unroll.hpp.

◆ cmpoperation()

const rvsdg::SimpleOperation& jlm::llvm::LoopUnrollInfo::cmpoperation ( ) const
inlinenoexcept

Definition at line 121 of file unroll.hpp.

◆ create()

std::unique_ptr< LoopUnrollInfo > jlm::llvm::LoopUnrollInfo::create ( rvsdg::ThetaNode theta)
static

Definition at line 135 of file unroll.cpp.

◆ end()

rvsdg::Output* jlm::llvm::LoopUnrollInfo::end ( ) const
inlinenoexcept

Definition at line 169 of file unroll.hpp.

◆ end_value()

const jlm::rvsdg::BitValueRepresentation* jlm::llvm::LoopUnrollInfo::end_value ( ) const
inlinenoexcept

Definition at line 175 of file unroll.hpp.

◆ has_known_end()

bool jlm::llvm::LoopUnrollInfo::has_known_end ( ) const
inlinenoexcept

Definition at line 100 of file unroll.hpp.

◆ has_known_init()

bool jlm::llvm::LoopUnrollInfo::has_known_init ( ) const
inlinenoexcept

Definition at line 88 of file unroll.hpp.

◆ has_known_step()

bool jlm::llvm::LoopUnrollInfo::has_known_step ( ) const
inlinenoexcept

Definition at line 94 of file unroll.hpp.

◆ idv()

rvsdg::Output* jlm::llvm::LoopUnrollInfo::idv ( ) const
inlinenoexcept

Definition at line 139 of file unroll.hpp.

◆ init()

jlm::rvsdg::Output* jlm::llvm::LoopUnrollInfo::init ( ) const
inlinenoexcept

Definition at line 145 of file unroll.hpp.

◆ init_value()

const jlm::rvsdg::BitValueRepresentation* jlm::llvm::LoopUnrollInfo::init_value ( ) const
inlinenoexcept

Definition at line 151 of file unroll.hpp.

◆ is_additive()

bool jlm::llvm::LoopUnrollInfo::is_additive ( ) const
inlinenoexcept

Definition at line 181 of file unroll.hpp.

◆ is_known() [1/2]

bool jlm::llvm::LoopUnrollInfo::is_known ( ) const
inlinenoexcept

Definition at line 106 of file unroll.hpp.

◆ is_known() [2/2]

bool jlm::llvm::LoopUnrollInfo::is_known ( const rvsdg::Output output) const
inlineprivatenoexcept

Definition at line 212 of file unroll.hpp.

◆ is_subtractive()

bool jlm::llvm::LoopUnrollInfo::is_subtractive ( ) const
inlinenoexcept

Definition at line 187 of file unroll.hpp.

◆ nbits()

size_t jlm::llvm::LoopUnrollInfo::nbits ( ) const
inlinenoexcept

Definition at line 193 of file unroll.hpp.

◆ niterations()

std::unique_ptr< jlm::rvsdg::BitValueRepresentation > jlm::llvm::LoopUnrollInfo::niterations ( ) const
noexcept

Definition at line 112 of file unroll.cpp.

◆ operator=() [1/2]

LoopUnrollInfo& jlm::llvm::LoopUnrollInfo::operator= ( const LoopUnrollInfo )
delete

◆ operator=() [2/2]

LoopUnrollInfo& jlm::llvm::LoopUnrollInfo::operator= ( LoopUnrollInfo &&  )
delete

◆ remainder()

jlm::rvsdg::BitValueRepresentation jlm::llvm::LoopUnrollInfo::remainder ( size_t  factor) const
inlinenoexcept

Definition at line 202 of file unroll.hpp.

◆ step()

rvsdg::Output* jlm::llvm::LoopUnrollInfo::step ( ) const
inlinenoexcept

Definition at line 157 of file unroll.hpp.

◆ step_value()

const jlm::rvsdg::BitValueRepresentation* jlm::llvm::LoopUnrollInfo::step_value ( ) const
inlinenoexcept

Definition at line 163 of file unroll.hpp.

◆ theta()

rvsdg::ThetaNode* jlm::llvm::LoopUnrollInfo::theta ( ) const
inlinenoexcept

Definition at line 81 of file unroll.hpp.

◆ value()

const rvsdg::BitValueRepresentation* jlm::llvm::LoopUnrollInfo::value ( const rvsdg::Output output) const
inlineprivatenoexcept

Definition at line 221 of file unroll.hpp.

Member Data Documentation

◆ armnode_

rvsdg::SimpleNode* jlm::llvm::LoopUnrollInfo::armnode_
private

Definition at line 235 of file unroll.hpp.

◆ cmpnode_

rvsdg::SimpleNode* jlm::llvm::LoopUnrollInfo::cmpnode_
private

Definition at line 234 of file unroll.hpp.

◆ end_

rvsdg::Output* jlm::llvm::LoopUnrollInfo::end_
private

Definition at line 232 of file unroll.hpp.

◆ idv_

rvsdg::Output* jlm::llvm::LoopUnrollInfo::idv_
private

Definition at line 236 of file unroll.hpp.

◆ step_

rvsdg::Output* jlm::llvm::LoopUnrollInfo::step_
private

Definition at line 233 of file unroll.hpp.


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