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

#include <sdfg/analysis/assumptions_analysis.h>

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

Public Member Functions

std::string name () const override
 AssumptionsAnalysis (StructuredSDFG &sdfg)
 AssumptionsAnalysis (StructuredSDFG &sdfg, bool with_branch_conditions)
void run (analysis::AnalysisManager &analysis_manager) override
bool invalidate (structured_control_flow::ControlFlowNode &changed) override
 Traverses the subtree of changed again in the scope around it; scopes elsewhere keep their assumptions.
const symbolic::Assumptions & get (structured_control_flow::ControlFlowNode &node, bool include_trivial_bounds=false)
const symbolic::SymbolSet & constant_symbols (structured_control_flow::ControlFlowNode &node, bool include_trivial_bounds=false)
 Symbols whose assumption at node is constant(); equals filtering get(node, ...), without the scan.
const symbolic::SymbolSet & parameters ()
bool is_parameter (const symbolic::Symbol &container)
bool is_parameter (const std::string &container)
Public Member Functions inherited from sdfg::analysis::Analysis
 Analysis (StructuredSDFG &sdfg)
 Analysis (StructuredSDFG &sdfg, const Options &options)
virtual ~Analysis ()=default
 Analysis (const Analysis &a)=delete
Analysis & operator= (const Analysis &)=delete

Static Public Member Functions

static symbolic::SymbolSet per_symbol_refined_symbols (const symbolic::Condition &cond)

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

◆ AssumptionsAnalysis() [1/2]

sdfg::analysis::AssumptionsAnalysis::AssumptionsAnalysis ( StructuredSDFG & sdfg)

◆ AssumptionsAnalysis() [2/2]

sdfg::analysis::AssumptionsAnalysis::AssumptionsAnalysis ( StructuredSDFG & sdfg,
bool with_branch_conditions )

Member Function Documentation

◆ constant_symbols()

const symbolic::SymbolSet & sdfg::analysis::AssumptionsAnalysis::constant_symbols ( structured_control_flow::ControlFlowNode & node,
bool include_trivial_bounds = false )

Symbols whose assumption at node is constant(); equals filtering get(node, ...), without the scan.

◆ get()

const symbolic::Assumptions & sdfg::analysis::AssumptionsAnalysis::get ( structured_control_flow::ControlFlowNode & node,
bool include_trivial_bounds = false )

◆ invalidate()

bool sdfg::analysis::AssumptionsAnalysis::invalidate ( structured_control_flow::ControlFlowNode & changed)
overridevirtual

Traverses the subtree of changed again in the scope around it; scopes elsewhere keep their assumptions.

The parameters stay as they are: no scalar argument is assumed to become written. False for the root.

Reimplemented from sdfg::analysis::Analysis.

◆ is_parameter() [1/2]

bool sdfg::analysis::AssumptionsAnalysis::is_parameter ( const std::string & container)

◆ is_parameter() [2/2]

bool sdfg::analysis::AssumptionsAnalysis::is_parameter ( const symbolic::Symbol & container)

◆ name()

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

◆ parameters()

const symbolic::SymbolSet & sdfg::analysis::AssumptionsAnalysis::parameters ( )

◆ per_symbol_refined_symbols()

symbolic::SymbolSet sdfg::analysis::AssumptionsAnalysis::per_symbol_refined_symbols ( const symbolic::Condition & cond)
static

◆ run()

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

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