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

#include <hls.hpp>

Inheritance diagram for jlm::hls::BackEdgeArgument:
Inheritance graph
[legend]
Collaboration diagram for jlm::hls::BackEdgeArgument:
Collaboration graph
[legend]

Public Member Functions

 ~BackEdgeArgument () noexcept override=default
 
BackEdgeResultresult ()
 
BackEdgeArgumentCopy (rvsdg::Region &region, rvsdg::StructuralInput *input) const override
 
- Public Member Functions inherited from jlm::rvsdg::RegionArgument
 ~RegionArgument () noexcept override
 
 RegionArgument (rvsdg::Region *region, StructuralInput *input, std::shared_ptr< const rvsdg::Type > type)
 
 RegionArgument (const RegionArgument &)=delete
 
 RegionArgument (RegionArgument &&)=delete
 
RegionArgumentoperator= (const RegionArgument &)=delete
 
RegionArgumentoperator= (RegionArgument &&)=delete
 
std::string debug_string () const override
 
StructuralInputinput () const noexcept
 
- Public Member Functions inherited from jlm::rvsdg::Output
virtual ~Output () noexcept
 
 Output (const Output &)=delete
 
 Output (Output &&)=delete
 
Outputoperator= (const Output &)=delete
 
Outputoperator= (Output &&)=delete
 
size_t index () const noexcept
 
size_t nusers () const noexcept
 
bool IsDead () const noexcept
 
void divert_users (jlm::rvsdg::Output *new_origin)
 
template<typename F >
size_t divertUsersWhere (Output &newOrigin, const F &match)
 
rvsdg::InputSingleUser () noexcept
 
UsersRange Users ()
 
UsersConstRange Users () const
 
const std::shared_ptr< const rvsdg::Type > & Type () const noexcept
 
rvsdg::Regionregion () const noexcept
 
std::variant< Node *, Region * > GetOwner () const noexcept
 

Static Public Member Functions

static BackEdgeArgumentcreate (rvsdg::Region *region, std::shared_ptr< const jlm::rvsdg::Type > type)
 
- Static Public Member Functions inherited from jlm::rvsdg::RegionArgument
static RegionArgumentCreate (rvsdg::Region &region, StructuralInput *input, std::shared_ptr< const rvsdg::Type > type)
 Creates region entry argument. More...
 

Public Attributes

BackEdgeResultresult_
 

Private Member Functions

 BackEdgeArgument (rvsdg::Region *region, const std::shared_ptr< const jlm::rvsdg::Type > &type)
 

Private Attributes

friend LoopNode
 
friend BackEdgeResult
 

Additional Inherited Members

- Public Types inherited from jlm::rvsdg::RegionArgument
typedef util::IntrusiveListAccessor< RegionArgument, &RegionArgument::structural_input_anchor_structural_input_accessor
 
- Public Types inherited from jlm::rvsdg::Output
using UsersList = Input::UsersList
 
using UsersRange = jlm::util::IteratorRange< UsersList::Iterator >
 
using UsersConstRange = jlm::util::IteratorRange< UsersList::ConstIterator >
 
- Protected Member Functions inherited from jlm::rvsdg::Output
 Output (Node &owner, std::shared_ptr< const rvsdg::Type > type)
 
 Output (Region *owner, std::shared_ptr< const rvsdg::Type > type)
 

Detailed Description

Definition at line 618 of file hls.hpp.

Constructor & Destructor Documentation

◆ BackEdgeArgument()

jlm::hls::BackEdgeArgument::BackEdgeArgument ( rvsdg::Region region,
const std::shared_ptr< const jlm::rvsdg::Type > &  type 
)
inlineprivate

Definition at line 623 of file hls.hpp.

◆ ~BackEdgeArgument()

jlm::hls::BackEdgeArgument::~BackEdgeArgument ( )
overridedefaultnoexcept

Member Function Documentation

◆ Copy()

BackEdgeArgument & jlm::hls::BackEdgeArgument::Copy ( rvsdg::Region region,
rvsdg::StructuralInput input 
) const
overridevirtual

Creates a copy of the argument in region with the structural_input input.

Parameters
regionThe region where the copy of the argument is created in.
inputThe structural_input to the argument, if any.
Returns
A reference to the copied argument.

Reimplemented from jlm::rvsdg::RegionArgument.

Definition at line 106 of file hls.cpp.

◆ create()

static BackEdgeArgument& jlm::hls::BackEdgeArgument::create ( rvsdg::Region region,
std::shared_ptr< const jlm::rvsdg::Type type 
)
inlinestatic

Definition at line 641 of file hls.hpp.

◆ result()

BackEdgeResult* jlm::hls::BackEdgeArgument::result ( )
inline

Definition at line 632 of file hls.hpp.

Member Data Documentation

◆ BackEdgeResult

friend jlm::hls::BackEdgeArgument::BackEdgeResult
private

Definition at line 621 of file hls.hpp.

◆ LoopNode

friend jlm::hls::BackEdgeArgument::LoopNode
private

Definition at line 620 of file hls.hpp.

◆ result_

BackEdgeResult* jlm::hls::BackEdgeArgument::result_

Definition at line 647 of file hls.hpp.


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