Jlm
Classes | Namespaces | Functions
region.hpp File Reference
#include <jlm/rvsdg/node.hpp>
#include <jlm/util/common.hpp>
#include <jlm/util/iterator_range.hpp>
Include dependency graph for region.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  jlm::rvsdg::RegionArgument
 Represents the argument of a region. More...
 
class  jlm::rvsdg::RegionResult
 Represents the result of a region. More...
 
class  jlm::rvsdg::Region
 Represent acyclic RVSDG subgraphs. More...
 
class  jlm::rvsdg::RegionObserver
 Proxy object to observe changes to a region. More...
 
class  jlm::rvsdg::RecordingObserver
 

Namespaces

 jlm
 
 jlm::util
 
 jlm::rvsdg
 

Functions

std::unordered_map< const Node *, size_t > jlm::rvsdg::computeDepthMap (const Region &region)
 
static void jlm::rvsdg::remove (Node *node)
 
size_t jlm::rvsdg::nnodes (const jlm::rvsdg::Region *region) noexcept
 
size_t jlm::rvsdg::nstructnodes (const rvsdg::Region *region) noexcept
 
size_t jlm::rvsdg::nsimpnodes (const rvsdg::Region *region) noexcept
 
size_t jlm::rvsdg::ninputs (const rvsdg::Region *region) noexcept
 
template<typename NodeType >
NodeType * jlm::rvsdg::TryGetRegionParentNode (const rvsdg::Input &input) noexcept
 Checks if this is a result of a region inside a node of specified type. More...
 
template<typename NodeType >
NodeType * jlm::rvsdg::TryGetRegionParentNode (const rvsdg::Output &output) noexcept
 Checks if this is an argument of a region inside a node of specified type. More...
 
template<typename NodeType >
NodeType & jlm::rvsdg::AssertGetRegionParentNode (const rvsdg::Input &input)
 Asserts that this is a result of a region inside a node of specified type. More...
 
template<typename NodeType >
NodeType & jlm::rvsdg::AssertGetRegionParentNode (const rvsdg::Output &output)
 Asserts that this is an argument of a region inside a node of specified type. More...