|
Jlm
|
Represents the argument of a region. More...
#include <region.hpp>


Public Types | |
| 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 > |
Public Member Functions | |
| ~RegionArgument () noexcept override | |
| RegionArgument (rvsdg::Region *region, StructuralInput *input, std::shared_ptr< const rvsdg::Type > type) | |
| RegionArgument (const RegionArgument &)=delete | |
| RegionArgument (RegionArgument &&)=delete | |
| RegionArgument & | operator= (const RegionArgument &)=delete |
| RegionArgument & | operator= (RegionArgument &&)=delete |
| std::string | debug_string () const override |
| StructuralInput * | input () const noexcept |
| virtual RegionArgument & | Copy (Region ®ion, StructuralInput *input) const |
Public Member Functions inherited from jlm::rvsdg::Output | |
| virtual | ~Output () noexcept |
| Output (const Output &)=delete | |
| Output (Output &&)=delete | |
| Output & | operator= (const Output &)=delete |
| Output & | operator= (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::Input & | SingleUser () noexcept |
| UsersRange | Users () |
| UsersConstRange | Users () const |
| const std::shared_ptr< const rvsdg::Type > & | Type () const noexcept |
| rvsdg::Region * | region () const noexcept |
| std::variant< Node *, Region * > | GetOwner () const noexcept |
Static Public Member Functions | |
| static RegionArgument & | Create (rvsdg::Region ®ion, StructuralInput *input, std::shared_ptr< const rvsdg::Type > type) |
| Creates region entry argument. More... | |
Private Attributes | |
| util::IntrusiveListAnchor< RegionArgument > | structural_input_anchor_ {} |
| StructuralInput * | input_ |
Additional Inherited Members | |
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) | |
Represents the argument of a region.
Region arguments represent the initial values of the region's acyclic graph. These values are mapped to the arguments throughout the execution, and the concrete semantics of this mapping depends on the structural node the region is part of. A region argument is either linked with a StructuralInput or is a standalone argument.
Definition at line 40 of file region.hpp.
| typedef util::IntrusiveListAccessor<RegionArgument, &RegionArgument::structural_input_anchor_> jlm::rvsdg::RegionArgument::structural_input_accessor |
Definition at line 46 of file region.hpp.
|
overridenoexcept |
Definition at line 22 of file region.cpp.
| jlm::rvsdg::RegionArgument::RegionArgument | ( | rvsdg::Region * | region, |
| StructuralInput * | input, | ||
| std::shared_ptr< const rvsdg::Type > | type | ||
| ) |
Definition at line 28 of file region.cpp.
|
delete |
|
delete |
|
virtual |
Creates a copy of the argument in region with the structural_input input.
| region | The region where the copy of the argument is created in. |
| input | The structural_input to the argument, if any. |
Reimplemented in jlm::llvm::LlvmGraphImport, jlm::hls::BackEdgeArgument, jlm::hls::EntryArgument, and jlm::rvsdg::GraphImport.
Definition at line 56 of file region.cpp.
|
static |
Creates region entry argument.
| region | Region to create argument for. |
| input | (optional) input of parent node associated with this argument (deprecated, will be removed soon). |
| type | Result type. |
Creates an argument and registers it with the given region.
Definition at line 62 of file region.cpp.
|
overridevirtual |
Reimplemented from jlm::rvsdg::Output.
Definition at line 50 of file region.cpp.
|
inlinenoexcept |
Definition at line 69 of file region.hpp.
|
delete |
|
delete |
|
private |
Definition at line 107 of file region.hpp.
|
private |
Definition at line 42 of file region.hpp.