PandA-2024.02
IR_analysis Directory Reference
Directory dependency graph for IR_analysis:
/workspace/src/frontend_analysis/IR_analysis

Files

file  basic_blocks_cfg_computation.cpp [code]
 Build basic block control flow graph data structure starting from the tree_manager.
 
file  basic_blocks_cfg_computation.hpp [code]
 Build basic block control flow graph data structure starting from the tree_manager.
 
file  bit_lattice.cpp [code]
 
file  bit_lattice.hpp [code]
 
file  Bit_Value.cpp [code]
 Full implementation of Bit Value analysis as described in BitValue Inference: Detecting and Exploiting Narrow Bitwidth Computations Mihai Budiu Seth Copen Goldstein http://www.cs.cmu.edu/~seth/papers/budiu-tr00.pdf This technical report is an extension of the following paper: Mihai Budiu, Majd Sakr, Kip Walker, Seth Copen Goldstein: BitValue Inference: Detecting and Exploiting Narrow Bitwidth Computations.
 
file  Bit_Value.hpp [code]
 Full implementation of Bit Value analysis as described in BitValue Inference: Detecting and Exploiting Narrow Bitwidth Computations Mihai Budiu Seth Copen Goldstein http://www.cs.cmu.edu/~seth/papers/budiu-tr00.pdf.
 
file  Bit_Value_backward.cpp [code]
 
file  Bit_Value_forward.cpp [code]
 
file  Bit_Value_opt.cpp [code]
 
file  Bit_Value_opt.hpp [code]
 Class performing some optimizations on the IR exploiting Bit Value analysis.
 
file  BitValueIPA.cpp [code]
 Created on: June 27, 2016.
 
file  BitValueIPA.hpp [code]
 Created on: June 27, 2016.
 
file  BitValueRange.cpp [code]
 Class performing some optimizations on the IR exploiting Bit Value analysis but executed after Range Analysis.
 
file  BitValueRange.hpp [code]
 Class performing some optimizations on the IR exploiting Bit Value analysis but executed after Range Analysis.
 
file  block_fix.cpp [code]
 Analysis step which modifies the control flow graph of the tree to make it more compliant and simple.
 
file  block_fix.hpp [code]
 Analysis step that modifies the control flow graph of the tree to make it more compliant.
 
file  call_expr_fix.cpp [code]
 Analysis step which fix a non-void list of parameters to function with void as input parameter type.
 
file  call_expr_fix.hpp [code]
 Analysis step which fix a non-void list of parameters to function with void as input parameter type.
 
file  call_graph_builtin_call.cpp [code]
 
file  call_graph_builtin_call.hpp [code]
 This file contains the declaration of the CallGraphBuiltinCall pass that will add function called through a built in to the call graph.
 
file  call_graph_computation.cpp [code]
 Build call_graph data structure starting from the tree_manager.
 
file  call_graph_computation.hpp [code]
 Build call_graph data structure starting from the tree_manager.
 
file  check_system_type.cpp [code]
 analyse srcp of variables and types to detect system ones; the identified one are flagged
 
file  check_system_type.hpp [code]
 analyse srcp of variables and types to detect system ones; the identified one are flagged
 
file  compute_implicit_calls.cpp [code]
 Class to determine the variable to be stored in memory.
 
file  compute_implicit_calls.hpp [code]
 Determine variables to be stored in memory.
 
file  CSE.cpp [code]
 common subexpression elimination step
 
file  CSE.hpp [code]
 CSE analysis.
 
file  dataflow_cg_ext.cpp [code]
 Dataflow call graph extension.
 
file  dataflow_cg_ext.hpp [code]
 Dataflow call graph extension.
 
file  dead_code_elimination.cpp [code]
 Eliminate dead code.
 
file  dead_code_elimination.hpp [code]
 Eliminate dead code.
 
file  dead_code_eliminationIPA.cpp [code]
 
file  dead_code_eliminationIPA.hpp [code]
 
file  determine_memory_accesses.cpp [code]
 Class to determine the variable to be stored in memory.
 
file  determine_memory_accesses.hpp [code]
 Determine variables to be stored in memory.
 
file  eSSA.cpp [code]
 
file  eSSA.hpp [code]
 
file  extract_omp_atomic.cpp [code]
 Analysis step extracting openmp atomic.
 
file  extract_omp_atomic.hpp [code]
 Analysis step extracting openmp atomic.
 
file  extract_omp_for.cpp [code]
 Analysis step extracting openmp for.
 
file  extract_omp_for.hpp [code]
 Analysis step extracting openmp for.
 
file  extract_patterns.cpp [code]
 
file  extract_patterns.hpp [code]
 Class extracting patterns extending the GCC/CLANG IR.
 
file  fanout_opt.cpp [code]
 Fanout optimization step.
 
file  fanout_opt.hpp [code]
 Fanout optimization step.
 
file  FixStructsPassedByValue.cpp [code]
 
file  FixStructsPassedByValue.hpp [code]
 
file  FixVdef.cpp [code]
 Simplifies memory dependency data structure by merging memdeps in virtual dependencies.
 
file  FixVdef.hpp [code]
 merge memory dependencies in virtual dependencies
 
file  FunctionCallOpt.cpp [code]
 
file  FunctionCallOpt.hpp [code]
 
file  FunctionCallTypeCleanup.cpp [code]
 
file  FunctionCallTypeCleanup.hpp [code]
 
file  hdl_function_decl_fix.cpp [code]
 Pre-analysis step fixing names of functions which clash with signal names.
 
file  hdl_function_decl_fix.hpp [code]
 Pre-analysis step fixing names of functions which clash with signal names.
 
file  hdl_var_decl_fix.cpp [code]
 Pre-analysis step fixing var_decl duplication and HDL name conflicts.
 
file  hdl_var_decl_fix.hpp [code]
 Pre-analysis step fixing var_decl duplication and HDL name conflicts.
 
file  hls_div_cg_ext.cpp [code]
 Step that extends the call graph with the soft-float calls where appropriate.
 
file  hls_div_cg_ext.hpp [code]
 Step that extends the call graph with the division and modulus function calls where appropriate.
 
file  HWCallInjection.cpp [code]
 
file  HWCallInjection.hpp [code]
 
file  InterfaceInfer.cpp [code]
 Load parsed protocol interface attributes.
 
file  InterfaceInfer.hpp [code]
 Load parsed protocol interface attributes.
 
file  IR_lowering.cpp [code]
 Decompose some complex gimple statements into a set of simpler operations.
 
file  IR_lowering.hpp [code]
 Decompose some complex gimple statements into set of simple operations.
 
file  IR_lowering_exec.cpp [code]
 
file  loops_analysis_bambu.cpp [code]
 Analysis step performing loops analysis.
 
file  loops_analysis_bambu.hpp [code]
 
file  lut_transformation.cpp [code]
 identify and optimize lut expressions.
 
file  lut_transformation.hpp [code]
 identify and optmize lut expressions.
 
file  multi_way_if.cpp [code]
 Analysis step rebuilding multi-way if.
 
file  multi_way_if.hpp [code]
 Analysis step rebuilding multi-way if.
 
file  multiple_entry_if_reduction.cpp [code]
 This class implements the reduction of blocks with n input and m output These operations can be done if the BB contains only conditional statements and phi First duplicate the block on all the n input and add the respective connections to predecessor and successors (bidirectional) Each duplicate starts as an empty one with only connections Then the new BB is populated by conditional functions derivated from the original statement list.
 
file  multiple_entry_if_reduction.hpp [code]
 Class performing the reduction of n input - m output BB by duplicating the BB over all its predecessors, modifing the statements in order to keep the ssa and moving the phi to all the successor changing their results' ssa name NOTE: this works if the BB is composed only conditions and phi statements.
 
file  NI_SSA_liveness.cpp [code]
 Non-Iterative liveness analysis for SSA based gimple descriptions.
 
file  NI_SSA_liveness.hpp [code]
 Non-Iterative liveness analysis for SSA based gimple descriptions.
 
file  operations_cfg_computation.cpp [code]
 Analysis step creating the control flow graph of the operations.
 
file  operations_cfg_computation.hpp [code]
 Analysis step creating the control flow graph for the operations.
 
file  parm2ssa.cpp [code]
 Pre-analysis step computing the relation between parm_decl and the associated ssa_name.
 
file  parm2ssa.hpp [code]
 Pre-analysis step computing the relation between parm_decl and the associated ssa_name.
 
file  parm_decl_taken_address_fix.cpp [code]
 
file  parm_decl_taken_address_fix.hpp [code]
 
file  phi_opt.cpp [code]
 Analysis step that improves the IR w.r.t.
 
file  phi_opt.hpp [code]
 Analysis step that optimize the phis starting from the IR.
 
file  pragma_analysis.cpp [code]
 Pre-analysis step fixing pragma definitions.
 
file  pragma_analysis.hpp [code]
 Analysis step that recognizes the pragma calls in the specification.
 
file  Range.cpp [code]
 
file  Range.hpp [code]
 
file  Range_Analysis.cpp [code]
 
file  Range_Analysis.hpp [code]
 
file  rebuild_initializations.cpp [code]
 rebuild initialization where it is possible
 
file  rebuild_initializations.hpp [code]
 rebuild initialization where it is possible
 
file  remove_clobber_ga.cpp [code]
 Analysis step that removes clobber gimple_assign introduced by GCC v4.7 and greater.
 
file  remove_clobber_ga.hpp [code]
 Analysis step that removes clobber gimple_assign introduced by GCC v4.7 and greater.
 
file  remove_ending_if.cpp [code]
 Collapse and if and its "then" branch only if it is shorter than one cycle and the else is a BB composed only by return and PHI statements.
 
file  remove_ending_if.hpp [code]
 
file  short_circuit_taf.cpp [code]
 Analysis step rebuilding a short circuit in a single gimple_cond with the condition in three address form.
 
file  short_circuit_taf.hpp [code]
 Analysis step rebuilding a short circuit in a single gimple_cond with the condition in three address form.
 
file  simple_code_motion.cpp [code]
 Analysis step that performs some simple code motions over the IR.
 
file  simple_code_motion.hpp [code]
 Analysis step that performs some simple code motions over the IR.
 
file  soft_float_cg_ext.cpp [code]
 Step that extends the call graph with the soft-float calls where appropriate.
 
file  soft_float_cg_ext.hpp [code]
 Step that extends the call graph with the soft-float calls where appropriate.
 
file  split_return.cpp [code]
 Simple transformations that remove almost empty basic blocks having a single phi and a return statement.
 
file  split_return.hpp [code]
 
 
file  string_cst_fix.cpp [code]
 Pre-analysis step fixing readonly initializations and string_cst references.
 
file  string_cst_fix.hpp [code]
 Pre-analysis step fixing readonly initializations and string_cst references.
 
file  switch_fix.cpp [code]
 Analysis step that modifies the control flow graph to fix switches.
 
file  switch_fix.hpp [code]
 Analysis step that modifies the control flow graph to fix switches.
 
file  update_schedule.cpp [code]
 Analysis step which updates the schedule of all the instructions.
 
file  update_schedule.hpp [code]
 Analysis step which updates the schedule of all the instructions.
 
file  use_counting.cpp [code]
 Analysis step counting how many times a ssa_name is used.
 
file  use_counting.hpp [code]
 Analysis step counting how many time a ssa_name is used.
 
file  var_computation.cpp [code]
 Analyzes operations and creates the sets of read and written variables.
 
file  var_computation.hpp [code]
 Analyzes operations and creates the sets of read and written variables.
 
file  var_decl_fix.cpp [code]
 Pre-analysis step fixing var_decl duplication.
 
file  var_decl_fix.hpp [code]
 Pre-analysis step fixing var_decl duplication.
 
file  vectorize.cpp [code]
 This class contains the methods for vectorize loop or whole function.
 
file  vectorize.hpp [code]
 This class contains the methods for vectorize loop or whole function.
 
file  virtual_phi_nodes_split.cpp [code]
 Insert a temporary assignment for each phi use.
 
file  virtual_phi_nodes_split.hpp [code]
 

Generated on Mon Feb 12 2024 13:04:12 for PandA-2024.02 by doxygen 1.8.13