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

#include <hls.hpp>

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

Public Member Functions

 ~EntryArgument () noexcept override
 
EntryArgumentCopy (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 EntryArgumentCreate (rvsdg::Region &region, rvsdg::StructuralInput &input, const std::shared_ptr< const 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...
 

Private Member Functions

 EntryArgument (rvsdg::Region &region, rvsdg::StructuralInput &input, const std::shared_ptr< const rvsdg::Type > type)
 

Private Attributes

friend LoopNode
 

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

Represents the entry argument for the HLS loop.

Definition at line 588 of file hls.hpp.

Constructor & Destructor Documentation

◆ EntryArgument()

jlm::hls::EntryArgument::EntryArgument ( rvsdg::Region region,
rvsdg::StructuralInput input,
const std::shared_ptr< const rvsdg::Type type 
)
inlineprivate

Definition at line 592 of file hls.hpp.

◆ ~EntryArgument()

jlm::hls::EntryArgument::~EntryArgument ( )
overridedefaultnoexcept

Member Function Documentation

◆ Copy()

EntryArgument & jlm::hls::EntryArgument::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 100 of file hls.cpp.

◆ Create()

static EntryArgument& jlm::hls::EntryArgument::Create ( rvsdg::Region region,
rvsdg::StructuralInput input,
const std::shared_ptr< const rvsdg::Type type 
)
inlinestatic

Definition at line 608 of file hls.hpp.

Member Data Documentation

◆ LoopNode

friend jlm::hls::EntryArgument::LoopNode
private

Definition at line 590 of file hls.hpp.


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