Jlm
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
jlm::llvm::NodeHoisting::Context Class Referencefinal
Collaboration diagram for jlm::llvm::NodeHoisting::Context:
Collaboration graph
[legend]

Public Member Functions

 Context (rvsdg::LambdaNode &lambdaNode)
 
rvsdg::RegiongetLambdaSubregion () const noexcept
 
void addRegionDepth (const rvsdg::Region &region, const size_t depth) noexcept
 
size_t getRegionDeph (const rvsdg::Region &region) const noexcept
 
void addTargetRegion (const rvsdg::Node &node, rvsdg::Region &region) noexcept
 
rvsdg::RegiongetTargetRegion (const rvsdg::Node &node) const noexcept
 

Static Public Member Functions

static std::unique_ptr< Contextcreate (rvsdg::LambdaNode &lambdaNode)
 

Private Attributes

rvsdg::RegionLambdaSubregion_
 
std::unordered_map< const rvsdg::Region *, size_t > RegionDepth_ {}
 
std::unordered_map< const rvsdg::Node *, rvsdg::Region * > TargetRegion_ {}
 

Detailed Description

Definition at line 52 of file push.cpp.

Constructor & Destructor Documentation

◆ Context()

jlm::llvm::NodeHoisting::Context::Context ( rvsdg::LambdaNode lambdaNode)
inlineexplicit

Definition at line 55 of file push.cpp.

Member Function Documentation

◆ addRegionDepth()

void jlm::llvm::NodeHoisting::Context::addRegionDepth ( const rvsdg::Region region,
const size_t  depth 
)
inlinenoexcept

Definition at line 66 of file push.cpp.

◆ addTargetRegion()

void jlm::llvm::NodeHoisting::Context::addTargetRegion ( const rvsdg::Node node,
rvsdg::Region region 
)
inlinenoexcept

Definition at line 79 of file push.cpp.

◆ create()

static std::unique_ptr<Context> jlm::llvm::NodeHoisting::Context::create ( rvsdg::LambdaNode lambdaNode)
inlinestatic

Definition at line 92 of file push.cpp.

◆ getLambdaSubregion()

rvsdg::Region& jlm::llvm::NodeHoisting::Context::getLambdaSubregion ( ) const
inlinenoexcept

Definition at line 60 of file push.cpp.

◆ getRegionDeph()

size_t jlm::llvm::NodeHoisting::Context::getRegionDeph ( const rvsdg::Region region) const
inlinenoexcept

Definition at line 73 of file push.cpp.

◆ getTargetRegion()

rvsdg::Region& jlm::llvm::NodeHoisting::Context::getTargetRegion ( const rvsdg::Node node) const
inlinenoexcept

Definition at line 86 of file push.cpp.

Member Data Documentation

◆ LambdaSubregion_

rvsdg::Region* jlm::llvm::NodeHoisting::Context::LambdaSubregion_
private

Definition at line 98 of file push.cpp.

◆ RegionDepth_

std::unordered_map<const rvsdg::Region *, size_t> jlm::llvm::NodeHoisting::Context::RegionDepth_ {}
private

Definition at line 99 of file push.cpp.

◆ TargetRegion_

std::unordered_map<const rvsdg::Node *, rvsdg::Region *> jlm::llvm::NodeHoisting::Context::TargetRegion_ {}
private

Definition at line 100 of file push.cpp.


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