HAL  v4.5.0-83-g30c8f0afc
The Hardware Analyzer - a comprehensive reverse engineering and manipulation framework for gate-level netlists.
hal::dataflow::processing::Context Struct Reference

#include </home/runner/work/hal/hal/plugins/dataflow_analysis/include/dataflow_analysis/processing/context.h>

Collaboration diagram for hal::dataflow::processing::Context:
Collaboration graph

Public Attributes

bool done = false
 
bool end_reached = false
 
u32 phase = 0
 
u32 pass_counter = 0
 
u32 finished_passes = 0
 
u32 num_iterations = 0
 
std::vector< std::pair< std::shared_ptr< Grouping >, PassConfiguration > > current_passes
 
std::map< std::pair< std::shared_ptr< Grouping >, pass_id >, std::shared_ptr< Grouping > > pass_outcome
 
std::vector< std::tuple< std::shared_ptr< Grouping >, pass_id, std::shared_ptr< Grouping > > > new_unique_groupings
 
std::vector< std::tuple< std::shared_ptr< Grouping >, pass_id, std::shared_ptr< Grouping > > > new_recurring_results
 
std::mutex progress_mutex
 
std::mutex result_mutex
 
processing::Result result
 

Detailed Description

The state that is carried over between the passes of the processing phase of dataflow analysis.

Definition at line 48 of file context.h.

Member Data Documentation

◆ current_passes

std::vector<std::pair<std::shared_ptr<Grouping>, PassConfiguration> > hal::dataflow::processing::Context::current_passes

The passes that are currently being executed, each paired with the grouping it is applied to.

Definition at line 76 of file context.h.

Referenced by hal::dataflow::processing::run().

◆ done

bool hal::dataflow::processing::Context::done = false

Set true once no further pass can be applied, false otherwise.

Definition at line 53 of file context.h.

Referenced by hal::dataflow::processing::run().

◆ end_reached

bool hal::dataflow::processing::Context::end_reached = false

Set true once the configured number of pass layers has been reached, false otherwise.

Definition at line 56 of file context.h.

Referenced by hal::dataflow::processing::run().

◆ finished_passes

u32 hal::dataflow::processing::Context::finished_passes = 0

The number of passes that have completed so far.

Definition at line 65 of file context.h.

Referenced by hal::dataflow::processing::run().

◆ new_recurring_results

std::vector<std::tuple<std::shared_ptr<Grouping>, pass_id, std::shared_ptr<Grouping> > > hal::dataflow::processing::Context::new_recurring_results

The groupings produced in this iteration that had already been seen before.

Definition at line 85 of file context.h.

Referenced by hal::dataflow::processing::run().

◆ new_unique_groupings

std::vector<std::tuple<std::shared_ptr<Grouping>, pass_id, std::shared_ptr<Grouping> > > hal::dataflow::processing::Context::new_unique_groupings

The groupings produced in this iteration that have not been seen before.

Definition at line 82 of file context.h.

Referenced by hal::dataflow::processing::run().

◆ num_iterations

u32 hal::dataflow::processing::Context::num_iterations = 0

The number of iterations that the processing phase has performed.

Definition at line 68 of file context.h.

Referenced by hal::dataflow::processing::run().

◆ pass_counter

u32 hal::dataflow::processing::Context::pass_counter = 0

The number of passes that have been scheduled so far.

Definition at line 62 of file context.h.

Referenced by hal::dataflow::processing::run().

◆ pass_outcome

std::map<std::pair<std::shared_ptr<Grouping>, pass_id>, std::shared_ptr<Grouping> > hal::dataflow::processing::Context::pass_outcome

A map from an input grouping and a pass to the grouping that the pass produced.

Definition at line 79 of file context.h.

Referenced by hal::dataflow::processing::run().

◆ phase

u32 hal::dataflow::processing::Context::phase = 0

The pass layer that is currently being processed.

Definition at line 59 of file context.h.

Referenced by hal::dataflow::processing::run().

◆ progress_mutex

std::mutex hal::dataflow::processing::Context::progress_mutex

Guards the progress output, which is written from several worker threads.

Definition at line 90 of file context.h.

◆ result

processing::Result hal::dataflow::processing::Context::result

The result that has been accumulated so far.

Definition at line 98 of file context.h.

Referenced by hal::dataflow::processing::run().

◆ result_mutex

std::mutex hal::dataflow::processing::Context::result_mutex

Guards result, which is filled by several worker threads.

Definition at line 95 of file context.h.


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