VapourSynth-llvmexpr
Loading...
Searching...
No Matches
analysis::StructurizeCFGResult Struct Reference

#include <llvmexpr/analysis/passes/StructurizeCFGPass.hpp>

Public Member Functions

bool isLoopHeader (int block_idx) const
bool inLoop (int header, int block_idx) const

Public Attributes

bool success = true
bool reducible = true
std::vector< int > ipdom
std::map< int, std::set< int > > loop_body
std::map< int, int > loop_follow
std::vector< int > innermost_loop_header
std::vector< CFGBlockstructured_cfg_blocks
std::vector< int > structured_block_origin
std::vector< int > structured_stack_depth_in

Detailed Description

Definition at line 32 of file StructurizeCFGPass.hpp.

Member Function Documentation

◆ inLoop()

bool analysis::StructurizeCFGResult::inLoop ( int header,
int block_idx ) const
inlinenodiscard

Definition at line 67 of file StructurizeCFGPass.hpp.

67 {
68 auto it = loop_body.find(header);
69 if (it == loop_body.end()) {
70 return false;
71 }
72 return it->second.contains(block_idx);
73 }
std::map< int, std::set< int > > loop_body

References loop_body.

◆ isLoopHeader()

bool analysis::StructurizeCFGResult::isLoopHeader ( int block_idx) const
inlinenodiscard

Definition at line 63 of file StructurizeCFGPass.hpp.

63 {
64 return loop_body.contains(block_idx);
65 }

References loop_body.

Member Data Documentation

◆ innermost_loop_header

std::vector<int> analysis::StructurizeCFGResult::innermost_loop_header

Definition at line 49 of file StructurizeCFGPass.hpp.

◆ ipdom

std::vector<int> analysis::StructurizeCFGResult::ipdom

Definition at line 41 of file StructurizeCFGPass.hpp.

◆ loop_body

std::map<int, std::set<int> > analysis::StructurizeCFGResult::loop_body

Definition at line 45 of file StructurizeCFGPass.hpp.

Referenced by inLoop(), and isLoopHeader().

◆ loop_follow

std::map<int, int> analysis::StructurizeCFGResult::loop_follow

Definition at line 46 of file StructurizeCFGPass.hpp.

◆ reducible

bool analysis::StructurizeCFGResult::reducible = true

Definition at line 37 of file StructurizeCFGPass.hpp.

◆ structured_block_origin

std::vector<int> analysis::StructurizeCFGResult::structured_block_origin

Definition at line 57 of file StructurizeCFGPass.hpp.

◆ structured_cfg_blocks

std::vector<CFGBlock> analysis::StructurizeCFGResult::structured_cfg_blocks

Definition at line 53 of file StructurizeCFGPass.hpp.

◆ structured_stack_depth_in

std::vector<int> analysis::StructurizeCFGResult::structured_stack_depth_in

Definition at line 61 of file StructurizeCFGPass.hpp.

◆ success

bool analysis::StructurizeCFGResult::success = true

Definition at line 34 of file StructurizeCFGPass.hpp.


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