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


Public Types | |
| typedef util::IntrusiveListAccessor< RegionResult, &RegionResult::structural_output_anchor_ > | structural_output_accessor |
Public Member Functions | |
| ~RegionResult () noexcept override | |
| RegionResult (rvsdg::Region *region, rvsdg::Output *origin, StructuralOutput *output, std::shared_ptr< const rvsdg::Type > type) | |
| RegionResult (const RegionResult &)=delete | |
| RegionResult (RegionResult &&)=delete | |
| RegionResult & | operator= (const RegionResult &)=delete |
| RegionResult & | operator= (RegionResult &&)=delete |
| std::string | debug_string () const override |
| StructuralOutput * | output () const noexcept |
| virtual RegionResult & | Copy (rvsdg::Output &origin, StructuralOutput *output) const |
Public Member Functions inherited from jlm::rvsdg::Input | |
| virtual | ~Input () noexcept |
| Input (const Input &)=delete | |
| Input (Input &&)=delete | |
| Input & | operator= (const Input &)=delete |
| Input & | operator= (Input &&)=delete |
| size_t | index () const noexcept |
| Output * | origin () const noexcept |
| void | divert_to (Output *new_origin) |
| const std::shared_ptr< const rvsdg::Type > & | Type () const noexcept |
| Region * | region () const noexcept |
| std::variant< Node *, Region * > | GetOwner () const noexcept |
Static Public Member Functions | |
| static RegionResult & | Create (rvsdg::Region ®ion, rvsdg::Output &origin, StructuralOutput *output, std::shared_ptr< const rvsdg::Type > type) |
| Create region exit result. More... | |
Private Attributes | |
| util::IntrusiveListAnchor< RegionResult > | structural_output_anchor_ {} |
| StructuralOutput * | output_ |
Additional Inherited Members | |
Protected Member Functions inherited from jlm::rvsdg::Input | |
| Input (Node &owner, Output &origin, std::shared_ptr< const rvsdg::Type > type) | |
| Input (Region &owner, Output &origin, std::shared_ptr< const rvsdg::Type > type) | |
Represents the result of a region.
Region results represent the final values of the region's acyclic graph. The result values can be mapped back to the region arguments or the corresponding structural outputs throughout the execution, but the concrete semantics of this mapping depends on the structural node the region is part of. A region result is either linked with a StructuralOutput or is a standalone result.
Definition at line 119 of file region.hpp.
| typedef util::IntrusiveListAccessor<RegionResult, &RegionResult::structural_output_anchor_> jlm::rvsdg::RegionResult::structural_output_accessor |
Definition at line 125 of file region.hpp.
|
overridenoexcept |
Definition at line 70 of file region.cpp.
| jlm::rvsdg::RegionResult::RegionResult | ( | rvsdg::Region * | region, |
| rvsdg::Output * | origin, | ||
| StructuralOutput * | output, | ||
| std::shared_ptr< const rvsdg::Type > | type | ||
| ) |
Definition at line 76 of file region.cpp.
|
delete |
|
delete |
|
virtual |
Creates a copy of the result with origin and structural_output output. The result is created with the same type as origin and in the same region as origin.
| origin | The origin for the result. |
| output | The structural_output to the result, if any. |
Reimplemented in jlm::hls::ExitResult, jlm::hls::BackEdgeResult, and jlm::rvsdg::GraphExport.
Definition at line 105 of file region.cpp.
|
static |
Create region exit result.
| region | Region to create result for. |
| origin | Assigned result value. |
| output | (optional) output of parent node associated with this result (deprecated, will be removed soon). |
| type | Result type |
Creates a result and registers it with the given region.
Definition at line 111 of file region.cpp.
|
overridevirtual |
Reimplemented from jlm::rvsdg::Input.
Definition at line 99 of file region.cpp.
|
delete |
|
delete |
|
inlinenoexcept |
Definition at line 149 of file region.hpp.
|
private |
Definition at line 195 of file region.hpp.
|
private |
Definition at line 121 of file region.hpp.