Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::Compiler_Dataflow_Function_Analysis Struct Reference

Full dataflow result for one IR function or top-level body. More...

#include <Compiler_Dataflow.H>

Collaboration diagram for Aleph::Compiler_Dataflow_Function_Analysis:
[legend]

Public Attributes

size_t local_slot_count = 0
 Number of tracked local slots.
 
DynArray< bool > reachable_blocks
 Reachability from entry for each block id.
 
DynArray< Compiler_Dataflow_Bit_Set > live_in_slots
 Local slots live at block entry.
 
DynArray< Compiler_Dataflow_Bit_Set > live_out_slots
 Local slots live at block exit.
 
DynArray< Compiler_Dataflow_Bit_Set > assigned_in_slots
 Local slots definitely assigned at block entry.
 
DynArray< Compiler_Dataflow_Bit_Set > assigned_out_slots
 Local slots definitely assigned at block exit.
 
DynArray< DynArray< Compiler_Dataflow_Constant > > constant_in_slots
 Per-block constant state at entry.
 
DynArray< DynArray< Compiler_Dataflow_Constant > > constant_out_slots
 Per-block constant state at exit.
 
DynArray< Compiler_Dataflow_Uninitialized_Read > uninitialized_reads
 Local reads that are not definitely assigned.
 
size_t foldable_branch_count = 0
 Reachable branches whose condition is statically known.
 

Detailed Description

Full dataflow result for one IR function or top-level body.

Definition at line 192 of file Compiler_Dataflow.H.

Member Data Documentation

◆ assigned_in_slots

DynArray<Compiler_Dataflow_Bit_Set> Aleph::Compiler_Dataflow_Function_Analysis::assigned_in_slots

Local slots definitely assigned at block entry.

Definition at line 198 of file Compiler_Dataflow.H.

◆ assigned_out_slots

DynArray<Compiler_Dataflow_Bit_Set> Aleph::Compiler_Dataflow_Function_Analysis::assigned_out_slots

Local slots definitely assigned at block exit.

Definition at line 199 of file Compiler_Dataflow.H.

◆ constant_in_slots

DynArray<DynArray<Compiler_Dataflow_Constant> > Aleph::Compiler_Dataflow_Function_Analysis::constant_in_slots

Per-block constant state at entry.

Definition at line 200 of file Compiler_Dataflow.H.

◆ constant_out_slots

DynArray<DynArray<Compiler_Dataflow_Constant> > Aleph::Compiler_Dataflow_Function_Analysis::constant_out_slots

Per-block constant state at exit.

Definition at line 201 of file Compiler_Dataflow.H.

◆ foldable_branch_count

size_t Aleph::Compiler_Dataflow_Function_Analysis::foldable_branch_count = 0

Reachable branches whose condition is statically known.

Definition at line 203 of file Compiler_Dataflow.H.

◆ live_in_slots

DynArray<Compiler_Dataflow_Bit_Set> Aleph::Compiler_Dataflow_Function_Analysis::live_in_slots

Local slots live at block entry.

Definition at line 196 of file Compiler_Dataflow.H.

◆ live_out_slots

DynArray<Compiler_Dataflow_Bit_Set> Aleph::Compiler_Dataflow_Function_Analysis::live_out_slots

Local slots live at block exit.

Definition at line 197 of file Compiler_Dataflow.H.

◆ local_slot_count

size_t Aleph::Compiler_Dataflow_Function_Analysis::local_slot_count = 0

Number of tracked local slots.

Definition at line 194 of file Compiler_Dataflow.H.

Referenced by Aleph::analyze_dataflow_function().

◆ reachable_blocks

DynArray<bool> Aleph::Compiler_Dataflow_Function_Analysis::reachable_blocks

Reachability from entry for each block id.

Definition at line 195 of file Compiler_Dataflow.H.

◆ uninitialized_reads

DynArray<Compiler_Dataflow_Uninitialized_Read> Aleph::Compiler_Dataflow_Function_Analysis::uninitialized_reads

Local reads that are not definitely assigned.

Definition at line 202 of file Compiler_Dataflow.H.


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