|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Classes | |
| struct | Block_Simulation |
| struct | Block_Use_Def |
|
inlinenoexcept |
Definition at line 387 of file Compiler_Dataflow.H.
Referenced by Aleph::analyze_dataflow_function(), and Aleph::Compiler_SSA_Detail::compute_dominance_info().
|
inline |
Definition at line 426 of file Compiler_Dataflow.H.
References ah_runtime_error_unless, Aleph::and, make_bit_set(), Aleph::Compiler_Dataflow_Bit_Set::size(), and Aleph::Compiler_Dataflow_Bit_Set::test().
Referenced by Aleph::analyze_dataflow_function(), and Aleph::Compiler_SSA_Detail::compute_dominance_info().
|
inline |
Definition at line 439 of file Compiler_Dataflow.H.
References ah_runtime_error_unless, Aleph::and, Aleph::blossom_maximum_cardinality_matching(), make_bit_set(), Aleph::Compiler_Dataflow_Bit_Set::size(), and Aleph::Compiler_Dataflow_Bit_Set::test().
Referenced by Aleph::analyze_dataflow_function().
|
inline |
Definition at line 413 of file Compiler_Dataflow.H.
References ah_runtime_error_unless, Aleph::blossom_maximum_cardinality_matching(), make_bit_set(), Aleph::Compiler_Dataflow_Bit_Set::size(), and Aleph::Compiler_Dataflow_Bit_Set::test().
Referenced by Aleph::analyze_dataflow_function().
|
inline |
Definition at line 251 of file Compiler_Dataflow.H.
References Aleph::blossom_maximum_cardinality_matching(), Aleph::Boolean, Aleph::Compiler_Dataflow_Constant::kind, and value.
Referenced by constant_from_instruction(), evaluate_binary(), and evaluate_unary().
|
inline |
Definition at line 684 of file Compiler_Dataflow.H.
References Aleph::and, Aleph::blossom_maximum_cardinality_matching(), Aleph::compiler_ir_invalid_id(), Aleph::Compiler_SSA_Block::instructions, Aleph::Load, Aleph::Compiler_IR_Function::local_slots, make_bit_set(), Aleph::Store, and Aleph::Compiler_Dataflow_Detail::Block_Use_Def::use.
Referenced by Aleph::analyze_dataflow_function().
|
inline |
Definition at line 890 of file Compiler_Dataflow.H.
References Aleph::DynArray< T >::access(), Aleph::DynArray< T >::append(), and Aleph::Compiler_IR_Function::blocks.
Referenced by Aleph::analyze_dataflow_function().
|
inline |
Definition at line 710 of file Compiler_Dataflow.H.
References Aleph::DynArray< T >::access(), Aleph::and, Aleph::DynArray< T >::append(), Aleph::Compiler_IR_Function::blocks, Aleph::blossom_maximum_cardinality_matching(), Aleph::Compiler_IR_Function::entry_block, Aleph::DynArray< T >::size(), Aleph::Compiler_SSA_Terminator::successors, and Aleph::Compiler_SSA_Block::terminator.
Referenced by Aleph::analyze_dataflow_function(), Aleph::eliminate_dead_code(), and Aleph::validate_dead_code_elimination().
|
inline |
Definition at line 331 of file Compiler_Dataflow.H.
References Aleph::blossom_maximum_cardinality_matching(), boolean_constant(), Aleph::Constant, integer_constant(), parse_integer_constant(), unit_constant(), unknown_constant(), and value.
Referenced by simulate_block().
|
inline |
Definition at line 292 of file Compiler_Dataflow.H.
References Aleph::blossom_maximum_cardinality_matching(), Aleph::Boolean, Aleph::Integer, Aleph::Undefined, Aleph::Unit, and Aleph::Unknown.
Referenced by format_slot_constants().
|
inlinenoexcept |
Definition at line 400 of file Compiler_Dataflow.H.
References Aleph::blossom_maximum_cardinality_matching(), and same_constant().
Referenced by Aleph::analyze_dataflow_function().
|
inline |
Definition at line 908 of file Compiler_Dataflow.H.
References Aleph::Compiler_IR_Function::blocks, and Aleph::blossom_maximum_cardinality_matching().
Referenced by Aleph::eliminate_dead_code().
|
inline |
Definition at line 539 of file Compiler_Dataflow.H.
References Aleph::and, Aleph::AndAnd, Aleph::blossom_maximum_cardinality_matching(), Aleph::Compiler_Dataflow_Constant::bool_value, Aleph::Boolean, boolean_constant(), Aleph::EqEq, Aleph::Greater, Aleph::GreaterEq, Aleph::Integer, integer_constant(), Aleph::Compiler_Dataflow_Constant::integer_value, Aleph::Compiler_Dataflow_Constant::kind, Aleph::Less, Aleph::LessEq, Aleph::Minus, Aleph::NotEq, Aleph::OrOr, Aleph::Percent, Aleph::Plus, Aleph::Slash, Aleph::Star, Aleph::Unit, and unknown_constant().
Referenced by simulate_block().
|
inline |
Definition at line 507 of file Compiler_Dataflow.H.
References Aleph::Bang, Aleph::blossom_maximum_cardinality_matching(), Aleph::Compiler_Dataflow_Constant::bool_value, Aleph::Boolean, boolean_constant(), Aleph::Integer, integer_constant(), Aleph::Compiler_Dataflow_Constant::integer_value, Aleph::Compiler_Dataflow_Constant::kind, Aleph::Minus, Aleph::Plus, and unknown_constant().
Referenced by simulate_block().
|
inline |
Definition at line 859 of file Compiler_Dataflow.H.
References Aleph::DynArray< T >::access(), constant_to_string(), Aleph::DynArray< T >::is_empty(), Aleph::Compiler_IR_Detail::local_slot_name(), Aleph::Compiler_IR_Function::local_slots, out, and Aleph::DynArray< T >::size().
Referenced by Aleph::compiler_dump_dataflow_analysis().
|
inline |
Definition at line 841 of file Compiler_Dataflow.H.
References Aleph::blossom_maximum_cardinality_matching(), Aleph::Compiler_IR_Detail::local_slot_name(), Aleph::Compiler_IR_Function::local_slots, out, Aleph::Compiler_Dataflow_Bit_Set::size(), and Aleph::Compiler_Dataflow_Bit_Set::test().
Referenced by Aleph::compiler_dump_dataflow_analysis().
|
inline |
Definition at line 452 of file Compiler_Dataflow.H.
References Aleph::blossom_maximum_cardinality_matching(), Aleph::Compiler_IR_Function::local_slots, make_bit_set(), and Aleph::Parameter.
Referenced by Aleph::analyze_dataflow_function().
|
inline |
Definition at line 462 of file Compiler_Dataflow.H.
References Aleph::Compiler_IR_Function::local_slots, make_constant_vector(), Aleph::Parameter, undefined_constant(), and unknown_constant().
Referenced by Aleph::analyze_dataflow_function().
|
inlinenoexcept |
Definition at line 917 of file Compiler_Dataflow.H.
References Aleph::and, Aleph::blossom_maximum_cardinality_matching(), Aleph::compiler_ir_invalid_id(), is_pure_instruction(), is_value_used(), and Aleph::Store.
Referenced by Aleph::validate_dead_code_elimination().
|
inline |
Definition at line 241 of file Compiler_Dataflow.H.
References Aleph::blossom_maximum_cardinality_matching(), Aleph::Integer, Aleph::Compiler_Dataflow_Constant::kind, and value.
Referenced by constant_from_instruction(), evaluate_binary(), and evaluate_unary().
|
inlinenoexcept |
Definition at line 497 of file Compiler_Dataflow.H.
References Aleph::Binary, Aleph::blossom_maximum_cardinality_matching(), Aleph::Constant, Aleph::Function_Ref, Aleph::Load, and Aleph::Unary.
Referenced by Aleph::eliminate_dead_code(), and instruction_is_trivially_dead().
|
inlinenoexcept |
Definition at line 490 of file Compiler_Dataflow.H.
References Aleph::and, and Aleph::blossom_maximum_cardinality_matching().
Referenced by Aleph::eliminate_dead_code(), and instruction_is_trivially_dead().
|
inline |
Definition at line 369 of file Compiler_Dataflow.H.
References Aleph::count(), Aleph::Compiler_Dataflow_Bit_Set::resize(), and value.
Referenced by Aleph::analyze_dataflow_function(), bit_set_intersection(), bit_set_subtract(), bit_set_union(), compute_block_use_def(), Aleph::eliminate_dead_code(), and initial_assigned_state().
|
inline |
Definition at line 377 of file Compiler_Dataflow.H.
References Aleph::DynArray< T >::append(), Aleph::count(), and Aleph::fill().
Referenced by Aleph::analyze_dataflow_function(), initial_constant_state(), and simulate_block().
|
inline |
Definition at line 482 of file Compiler_Dataflow.H.
References Aleph::and, and Aleph::blossom_maximum_cardinality_matching().
Referenced by Aleph::eliminate_dead_code(), and Aleph::validate_dead_code_elimination().
|
inline |
Definition at line 351 of file Compiler_Dataflow.H.
References Aleph::blossom_maximum_cardinality_matching(), Aleph::Compiler_Dataflow_Constant::kind, same_constant(), Aleph::Undefined, Aleph::Unknown, and unknown_constant().
Referenced by Aleph::analyze_dataflow_function().
|
inlinenoexcept |
Definition at line 313 of file Compiler_Dataflow.H.
References Aleph::blossom_maximum_cardinality_matching(), and value.
Referenced by constant_from_instruction().
|
inline |
Definition at line 875 of file Compiler_Dataflow.H.
References Aleph::Compiler_IR_Function::blocks.
Referenced by Aleph::eliminate_dead_code().
|
inlinenoexcept |
Definition at line 270 of file Compiler_Dataflow.H.
References Aleph::Boolean, Aleph::Integer, Aleph::Undefined, Aleph::Unit, and Aleph::Unknown.
Referenced by constant_vector_equals(), and meet_constants().
|
inline |
Definition at line 749 of file Compiler_Dataflow.H.
References Aleph::and, Aleph::Compiler_Dataflow_Detail::Block_Simulation::assigned_out, Aleph::Binary, Aleph::blossom_maximum_cardinality_matching(), Aleph::Branch, Aleph::Call, Aleph::compiler_ir_invalid_id(), Aleph::Compiler_SSA_Terminator::condition_value, Aleph::Constant, constant_from_instruction(), evaluate_binary(), evaluate_unary(), Aleph::Function_Ref, Aleph::Compiler_SSA_Block::id, Aleph::Compiler_SSA_Block::instructions, Aleph::Compiler_SSA_Terminator::kind, Aleph::Load, make_constant_vector(), Aleph::Compiler_IR_Function::next_value_id, Aleph::Store, Aleph::Compiler_SSA_Block::terminator, Aleph::Unary, unknown_constant(), and value_constant().
Referenced by Aleph::analyze_dataflow_function(), and Aleph::eliminate_dead_code().
|
inline |
Definition at line 232 of file Compiler_Dataflow.H.
References Aleph::Compiler_Dataflow_Constant::kind, Aleph::Undefined, and value.
Referenced by initial_constant_state().
|
inline |
Definition at line 261 of file Compiler_Dataflow.H.
References Aleph::blossom_maximum_cardinality_matching(), Aleph::Compiler_Dataflow_Constant::kind, and Aleph::Unit.
Referenced by constant_from_instruction().
|
inline |
Definition at line 226 of file Compiler_Dataflow.H.
Referenced by Aleph::analyze_dataflow_function(), constant_from_instruction(), evaluate_binary(), evaluate_unary(), initial_constant_state(), meet_constants(), simulate_block(), and value_constant().
|
inline |
Definition at line 473 of file Compiler_Dataflow.H.
References Aleph::DynArray< T >::access(), Aleph::blossom_maximum_cardinality_matching(), Aleph::DynArray< T >::size(), and unknown_constant().
Referenced by simulate_block().