docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
sdfg::analysis::ControlFlowAnalysis Class Reference

#include <sdfg/analysis/control_flow_analysis.h>

Inheritance diagram for sdfg::analysis::ControlFlowAnalysis:
[legend]

Public Member Functions

 ControlFlowAnalysis (StructuredSDFG &sdfg)
std::string name () const override
void run (analysis::AnalysisManager &analysis_manager) override
std::unordered_set< structured_control_flow::ControlFlowNode * > exits () const
const std::unordered_map< structured_control_flow::ControlFlowNode *, structured_control_flow::ControlFlowNode * > & dom_tree () const
const std::unordered_map< structured_control_flow::ControlFlowNode *, structured_control_flow::ControlFlowNode * > & pdom_tree () const
bool dominates (structured_control_flow::ControlFlowNode &a, structured_control_flow::ControlFlowNode &b) const
bool post_dominates (structured_control_flow::ControlFlowNode &a, structured_control_flow::ControlFlowNode &b) const
Public Member Functions inherited from sdfg::analysis::Analysis
 Analysis (StructuredSDFG &sdfg)
 Analysis (StructuredSDFG &sdfg, const Options &options)
virtual ~Analysis ()=default
virtual bool invalidate (structured_control_flow::ControlFlowNode &changed)
 Updates the analysis after a change confined to the subtree of changed.
 Analysis (const Analysis &a)=delete
Analysis & operator= (const Analysis &)=delete

Friends

class AnalysisManager

Additional Inherited Members

Protected Member Functions inherited from sdfg::analysis::Analysis
template<class T>
T option (const OptionKey< T > &key, T fallback=T{}) const
Protected Attributes inherited from sdfg::analysis::Analysis
StructuredSDFG & sdfg_
symbolic::Assumptions additional_assumptions_
const Options * options_ = &Options::empty()

Constructor & Destructor Documentation

◆ ControlFlowAnalysis()

sdfg::analysis::ControlFlowAnalysis::ControlFlowAnalysis ( StructuredSDFG & sdfg)

Member Function Documentation

◆ dom_tree()

const std::unordered_map< structured_control_flow::ControlFlowNode *, structured_control_flow::ControlFlowNode * > & sdfg::analysis::ControlFlowAnalysis::dom_tree ( ) const

◆ dominates()

bool sdfg::analysis::ControlFlowAnalysis::dominates ( structured_control_flow::ControlFlowNode & a,
structured_control_flow::ControlFlowNode & b ) const

◆ exits()

std::unordered_set< structured_control_flow::ControlFlowNode * > sdfg::analysis::ControlFlowAnalysis::exits ( ) const

◆ name()

std::string sdfg::analysis::ControlFlowAnalysis::name ( ) const
inlineoverridevirtual

◆ pdom_tree()

const std::unordered_map< structured_control_flow::ControlFlowNode *, structured_control_flow::ControlFlowNode * > & sdfg::analysis::ControlFlowAnalysis::pdom_tree ( ) const

◆ post_dominates()

bool sdfg::analysis::ControlFlowAnalysis::post_dominates ( structured_control_flow::ControlFlowNode & a,
structured_control_flow::ControlFlowNode & b ) const

◆ run()

void sdfg::analysis::ControlFlowAnalysis::run ( analysis::AnalysisManager & analysis_manager)
overridevirtual

◆ AnalysisManager

friend class AnalysisManager
friend

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